Commit graph

31 commits

Author SHA1 Message Date
35a7354de1
refactor: Use and_then instead of map
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-23 11:49:55 +03:00
79ef0d2448
refactor: Update public key column type from String to PublicKey
All checks were successful
DCO checker / DCO checker (pull_request) Successful in 8s
Rust CI / Rust CI (pull_request) Successful in 5m48s
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-23 02:56:01 +03:00
62cfc1bd07
chore: Use oxidetalis_core in oxidetalis_entities
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-23 02:56:01 +03:00
f5c4caeb6b
feat: Add sea-orm feature to use PublicKey as entity column
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-23 02:56:00 +03:00
672d7a2d3c
chore: Docker improvments
All checks were successful
Write changelog / write-changelog (push) Successful in 3s
Update Contributors / Update Contributors (push) Successful in 4s
Rust CI / Rust CI (push) Successful in 5m33s
Replace `as` with `AS`
- Remove `version` from `docker-compose.yml`
- Add database configration to oxidetalis environment
- Add `healthcheck` for the database

Signed-off-by: Awiteb <a@4rs.nl>
2024-07-23 02:53:26 +03:00
daef92207e
feat: Use url::Host instead of IpOrUrl
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-23 01:30:19 +03:00
1c273d746b
chore: Add url to oxidetalis_config dependencies
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-23 00:18:39 +03:00
3e4141f30e
docs: Add detailed descriptions to files header
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-23 00:18:39 +03:00
0e26557128
remove: Remove user registration body
Fixes: #15
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-23 00:18:39 +03:00
f0d1b78946
change: Add serde & openapi features to the core
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-23 00:18:38 +03:00
9ff5548601
change: Change the default port
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-23 00:18:38 +03:00
abbc083371
fix: Change the CLI settings
Fixes: #10
Reported-by: Awiteb <a@4rs.nl>
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-23 00:18:38 +03:00
d3597863e6
chore: Update the copyright
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-23 00:18:37 +03:00
8888bf2d60
feat: Chat request implementation
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-23 00:18:36 +03:00
221a47cfd0
change: Use Scalar as default openapi UI
Fixes: #19
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-23 00:18:36 +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