868ec66b68
feat: Create unique index for UserId
and Target
...
DCO checker / DCO checker (pull_request) Successful in 4s
Rust CI / Rust CI (pull_request) Successful in 4m32s
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-17 23:28:17 +03:00
9c1ba97791
feat: Create unique index for SenderId
and Recipient
...
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-17 23:28:08 +03:00
9039ee66f0
feat: Create unique index for RecipientId
and Sender
...
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-17 23:27:59 +03:00
02a0ac09cc
chore: Private use of sea_orm_migration
prelude
...
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-17 22:27:30 +03:00
6268b5fe48
refactor: Reorder code blocks for better readability
...
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-17 21:57:47 +03:00
92492288c0
fix: Bug when requester already has recipient in whitelist
...
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-17 21:45:15 +03:00
8f791acd5d
remove: Remove ServerEvent::Message
event
...
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-17 21:17:54 +03:00
09f90b060f
chore: Returns Option
of ServerEvent
in chat request handlers
...
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-17 21:16:36 +03:00
c517fea6fd
chore: Add new websocket errors
...
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-17 21:15:05 +03:00
c13d0fc59b
fix: Sort ServerEventType::ChatRequestResponse
event alphabetically
...
DCO checker / DCO checker (pull_request) Successful in 7s
Rust CI / Rust CI (pull_request) Successful in 4m43s
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-17 19:38:13 +03:00
48acab2519
chore: Use HashMap::get
instead of Iter::find
...
DCO checker / DCO checker (pull_request) Successful in 3s
Rust CI / Rust CI (pull_request) Has been cancelled
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-17 19:35:37 +03:00
05167042be
chore: Fix typos
...
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-17 19:25:49 +03:00
7ef02d05d0
feat: Use TableCreateStatement::foreign_key
for foreign keys
...
DCO checker / DCO checker (pull_request) Successful in 16s
Rust CI / Rust CI (pull_request) Successful in 5m3s
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-17 19:15:05 +03:00
3d086e511c
feat: Replace whitelist
& blacklist
tables with users_status
table
...
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-17 18:38:23 +03:00
a894089b19
chore: Make the Users
enum public
...
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-17 18:33:34 +03:00
727b985847
chore: Fix typo in the AlreadyOnTheBlacklist
error name
...
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-17 18:30:55 +03:00
1857365aac
fix: Remove user from whitelist table before add it to blacklist one
...
DCO checker / DCO checker (pull_request) Successful in 2s
Rust CI / Rust CI (pull_request) Successful in 4m22s
Same thing with blacklist table
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-16 17:27:25 +03:00
747e27c4af
feat: Endpoint to returns user blacklisted users
...
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-16 17:27:25 +03:00
411f7e37f0
feat: Endpoint to returns user whitelisted users
...
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-16 17:27:25 +03:00
d065d7ea95
feat: Module for parameters
...
This module comes with `Pagination` parameter
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-16 17:27:25 +03:00
43778a62fe
feat: New API errors, Querys
and NotRegisteredUser
...
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-16 17:27:24 +03:00
d7a63ea092
feat: Whitelist extension to return user whitelisted users
...
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-16 17:27:24 +03:00
b02e2d8b4d
feat: Create WhiteListedUser
schema
...
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-16 17:27:24 +03:00
89b3c09181
chore: Add EntityOrSelect
to entities prelude
...
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-16 17:27:24 +03:00
558ceac74f
chore: Fix typos
...
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-16 17:27:24 +03:00
24e038f482
feat: ChatRequestResponse event
...
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-16 17:27:23 +03:00
2bfff6c05d
refactor: Refactor server errors
...
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-16 17:27:23 +03:00
abbdec49e7
change: Rename DuplicatedUser
error to AlreadyRegistered
...
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-16 17:27:23 +03:00
927a345802
feat: Handle ChatRequest
event
...
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-16 17:27:23 +03:00
8cc6aef67b
feat: ChatRequest event handler
...
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-16 17:27:23 +03:00
9dca968b30
feat: Message and ChatRequest events
...
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-16 17:27:22 +03:00
ff37501b74
feat: New event called ChatRequest
...
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-16 17:27:22 +03:00
8333a6ba9a
chore: New errors
...
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-16 17:27:22 +03:00
90cd947e71
feat: New tables utils
...
The tables is:
- `blacklist`
- `incoming_chat_requests`
- `whitelist`
- `outgoing_chat_requests`
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-16 17:27:22 +03:00
4de83b02cd
chore: Functions to send an event to user & check if it is online
...
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-16 17:27:22 +03:00
b72fb8e7f6
feat: Macro to try the websocket error
...
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-16 17:27:21 +03:00
226df1961b
chore: Use sea_orm::ModelTrait
in entities prelude
...
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-16 17:27:21 +03:00
65d6b147d9
chore: Returns database connection as Arc
...
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-16 17:27:21 +03:00
b4b3b537fd
feat: Websocket error macro
...
`ws_errors` macro to make adding new errors easy
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-16 17:27:21 +03:00
033a21f733
chore: Function to return user by its public key
...
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-16 17:27:21 +03:00
33b44cb256
chore: Impl AsRef
for ServerEvent
...
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-16 17:27:20 +03:00
2bac5be8c8
chore: Use entities prelude
...
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-16 17:27:20 +03:00
b712f96f59
change: Change the user id from integer
to bigint
...
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-16 17:27:20 +03:00
b899dd6ac5
feat: Whitelist table
...
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-16 17:27:20 +03:00
9215d836de
feat: Blacklist table
...
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-16 17:27:20 +03:00
844adbf699
feat: Incoming chat request table
...
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-16 17:27:19 +03:00
71ae2f9145
feat: Outgoing chat request table
...
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-16 17:27:19 +03:00
e0a9997d79
chore: Add chrono
to oxidetalis_entitys
dependencies
...
Signed-off-by: Awiteb <a@4rs.nl>
2024-07-16 17:27:19 +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