Commit graph

18 commits

Author SHA1 Message Date
82132fc446
feat: Chat request implementation
All checks were successful
Write changelog / write-changelog (push) Successful in 4s
Rust CI / Rust CI (push) Successful in 4m13s
In this patch, I have implemented the chat request and response from OTMP
protocol. The changes include:
- New `in_chat_request` and `out_chat_request` database tables
- New `users_status` table to store user status (whitelisted or blacklisted)
- New server events:
    - `ChatRequest` To send chat request comes from some user
    - `ChatRequestResponse` To send chat request response to some user
- New client events:
    - `ChatRequest` To send chat request to some user
    - `ChatRequestResponse` To send chat request response to some user
- `ws_errors` macro to create websocket errors
- `/user/whitelist` and `/user/blacklist` API to list whitelisted and
blacklisted users

Fixes: #2
Reviewed-on: #14
Reviewed-by: Amjad Alsharafi <me@amjad.alsharafi.dev>
Helped-by: Amjad Alsharafi <me@amjad.alsharafi.dev>
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-18 15:21:05 +03:00
2e0342e820
change: Use Scalar as default openapi UI
All checks were successful
Write changelog / write-changelog (push) Successful in 4s
Rust CI / Rust CI (push) Successful in 4m2s
Fixes: #19
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-18 12:46:31 +03:00
d442e73ed7
change: Remove the nonce cache limit
Don't pass the nonce cache limit everywhere, we allocate the hashmap capacity
with it, so we can use the hashmap capacity directly.

Also refactor the `NonceCache` type, make it better without extension trait.

Suggested-by: Amjad Alsharafi <me@amjad.alsharafi.dev>
Reviewed-by: Amjad Alsharafi <me@amjad.alsharafi.dev>
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-06 14:07:48 +03:00
c0d5efe0c3
feat: Initialize server websocket
Related-to: #2
Reviewed-by: Amjad Alsharafi <me@amjad.alsharafi.dev>
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-06 14:07:30 +03:00
cd2a9ea03e
feat: New extension trait for websocket online users
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-05 02:17:10 +03:00
6f43e44745
chore: Add new dependencies for websocket
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-05 02:16:10 +03:00
2471cff83e
chore: Remove sign and verify function logs`
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-04 17:38:42 +03:00
f69fa7f370
docs: Fix typos
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-04 16:42:09 +03:00
062e441d8a
feat: Create signature data if there is no request body
The signature data is `Method+uri path` if there is no request body

Signed-off-by: Awiteb <a@4rs.nl>
2024-07-04 16:11:23 +03:00
77858ac8f4
feat: Create verify instance function for the Signature
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-04 16:08:11 +03:00
f4b2514e75
feat: Derive Hash in PublicKey and Signature
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-03 13:12:20 +03:00
e15c693421
chore: Returns nonce cache as Arc
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-03 13:11:16 +03:00
f47bc82b19
feat: Derive Eq and PartialEq to Signature
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-02 18:18:41 +03:00
39337f8d90
feat: Add sign_with_shared_secret function to K256Secret
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-02 18:17:44 +03:00
aeac22250e
chore: Add TwoDifferentKeys error message
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-02 18:15:00 +03:00
b8e00c244a
chore: Use rustls instead of native-tls
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-01 11:30:57 +03:00
d7f149f436
chore: Remove whitespace
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-01 11:29:29 +03:00
7e3558d776
chore: Initialize the project
Signed-off-by: Awiteb <a@4rs.nl>
2024-06-26 23:05:17 +03:00