bitfl0wer
c1bcd169f1
add users to mod.rs
2023-05-07 00:18:14 +02:00
bitfl0wer
621b05570a
remove nesting layer
2023-05-07 00:18:06 +02:00
bitfl0wer
222a552017
Add users to mod.rs
2023-05-07 00:17:54 +02:00
bitfl0wer
46a5f08b33
add pronouns
2023-05-06 22:47:31 +02:00
bitfl0wer
eb131be83b
add mod.rs
2023-05-06 22:47:26 +02:00
bitfl0wer
0e5a9caa44
Implement message sending (without attachments)
2023-05-06 22:24:23 +02:00
bitfl0wer
f067826889
change visibilities
2023-05-06 22:23:48 +02:00
bitfl0wer
c3cab53804
impl SendMessageSchema
2023-05-06 22:23:34 +02:00
bitfl0wer
b1b684e3b5
rename user rate_limits to limits for consistency
2023-05-06 18:52:24 +02:00
bitfl0wer
40bb3c38e9
Construct new message send method basics
2023-05-06 18:52:09 +02:00
bitfl0wer
b041433865
change message to messagesendschema
2023-05-06 18:34:38 +02:00
kozabrada123
4cfcf859a3
Add a debug to heartbeat thread
2023-05-06 11:14:38 +02:00
kozabrada123
4dd44efa38
Pub mod everything so it can be used as a library
2023-05-06 11:13:07 +02:00
kozabrada123
45a2dc0b2b
Update Websocket to fix premature closing w 1006
2023-05-06 10:39:58 +02:00
kozabrada123
1f8a38545b
Update types to fix deserialization errors
2023-05-06 10:39:16 +02:00
kozabrada123
d4be173854
Slight code cleanup
2023-05-06 08:39:41 +02:00
kozabrada123
8414bbb1c2
Fixed instance lifetime parameter
2023-05-05 22:46:00 +02:00
kozabrada123
bc3e93ce5a
Readd gateway to instance
2023-05-05 22:04:57 +02:00
bitfl0wer
fa0d74e9dd
remove redundant code
2023-05-05 22:00:37 +02:00
bitfl0wer
bae45254fe
start re-doing send()
2023-05-05 21:53:23 +02:00
bitfl0wer
1076c23403
Add DiscordFileAttachment, change visibilities
2023-05-05 21:53:00 +02:00
bitfl0wer
7a8eedd4c0
Add MessageSendSchema
2023-05-05 21:52:27 +02:00
kozabrada123
18590ff075
Fix encoding wrong
2023-05-05 20:58:00 +02:00
kozabrada123
867da4fd31
Remove the dumb test stuff I left in
2023-05-05 20:28:47 +02:00
kozabrada123
f612345484
Give websocket a send and receive channel
2023-05-05 20:26:51 +02:00
kozabrada123
ae062dfc17
Add temp debug, remove unused token
2023-05-05 19:42:31 +02:00
kozabrada123
9015538af5
Experimental sending to gateway
2023-05-05 19:23:57 +02:00
kozabrada123
50c4c1a542
Experimental heartbeats
2023-05-05 18:38:04 +02:00
kozabrada123
4446aef8e1
Update integers on some types
2023-05-05 18:37:52 +02:00
kozabrada123
c57122a94b
Add gateway Ready event
2023-05-05 16:08:12 +02:00
kozabrada123
07e500d063
Update data for existing events
2023-05-05 15:46:45 +02:00
kozabrada123
0f4e623acd
No need to serialize this
2023-05-05 15:39:11 +02:00
bitfl0wer
cdc3836177
handle attachment-messages seperately
2023-05-05 14:38:37 +02:00
bitfl0wer
e749251529
change name type from String to i16
2023-05-05 14:38:22 +02:00
bitfl0wer
2940b50f1b
Fix counter not being incremented
2023-05-05 14:19:38 +02:00
bitfl0wer
164bd627b0
Change HashMap to Map
...
Filenames can be non-unique, which could not be accurately represented using a HashMap.
2023-05-05 14:18:59 +02:00
bitfl0wer
5bf09a997c
Add new() DiscordFileAttachment
2023-05-05 14:16:09 +02:00
bitfl0wer
fb6e0a21ec
Rename File to DiscordFileAttachment, work on that
2023-05-04 23:00:48 +02:00
kozabrada123
f3f0619d3f
Add basic event receiving
2023-05-04 20:57:45 +02:00
kozabrada123
f5502a8121
Add WebSocketConnection to Gateway
2023-05-04 20:05:33 +02:00
bitfl0wer
dcee25a2a2
Add bearer auth for message sending
2023-05-03 23:13:12 +02:00
bitfl0wer
ab17d864ba
Add start of attachments implementation
2023-05-03 23:04:32 +02:00
bitfl0wer
c2801acfdb
Remove unused imports
2023-05-03 21:06:01 +02:00
bitfl0wer
fc5a053888
fix build fail by commenting out unused stuff
2023-05-03 21:05:09 +02:00
bitfl0wer
66ab87db30
Merge remote-tracking branch 'origin/feature/sending-messages'
2023-05-03 17:39:57 +02:00
bitfl0wer
809702bc1d
change reference to be mutable
2023-05-03 17:29:32 +02:00
bitfl0wer
98bf70ec5e
add send_message to user
2023-05-03 17:29:20 +02:00
bitfl0wer
5e399dba26
Add get_as_mut to Limits
2023-05-03 17:12:32 +02:00
bitfl0wer
94fa84cabe
Remove blank line
2023-05-03 17:12:23 +02:00
bitfl0wer
d216ef6179
change visibilities to pub
2023-05-03 17:11:48 +02:00
bitfl0wer
685fe3ff1a
cargo clippy --fix
2023-05-03 16:38:42 +02:00
bitfl0wer
7445f1efc7
Add lifetime to Instance
2023-05-03 16:37:10 +02:00
bitfl0wer
13815e73a1
Add Message send()
2023-05-03 16:27:04 +02:00
bitfl0wer
375ea3e035
Start working on message send body
2023-05-03 15:55:01 +02:00
bitfl0wer
f1aef5df02
Add message.rs
2023-05-03 15:45:07 +02:00
Flori
dc57ef7fc5
Merge pull request #25 from polyphony-chat/feature/sending-messages
...
Bring main up to date
2023-05-02 22:51:49 +02:00
bitfl0wer
6015afd49b
Add messages.rs to implement messages features
2023-05-02 22:46:41 +02:00
bitfl0wer
eb98f1374c
add GatewayPayload
2023-04-30 21:54:15 +02:00
bitfl0wer
c6e6f34be3
add example threaded websocketconnection
2023-04-30 14:45:15 +02:00
bitfl0wer
76c4981cf8
Get GatewayHello from Stream
2023-04-30 12:17:35 +02:00
bitfl0wer
19a3e3af20
Add TLS support to WS connection
2023-04-30 11:56:14 +02:00
bitfl0wer
85913ce66d
Add types for Heartbeat and Hello (Gateway)
2023-04-30 11:48:53 +02:00
bitfl0wer
4956e44c0a
implement Gateway::new()
2023-04-28 23:21:55 +02:00
bitfl0wer
8cded33eda
Make GatewatIdentifyPayload pub
2023-04-28 20:30:03 +02:00
bitfl0wer
37ad29f698
Working on Gateway impl
2023-04-28 20:29:40 +02:00
bitfl0wer
82f1b3dcc1
Add Default derives to types
2023-04-28 18:18:32 +02:00
bitfl0wer
530c0deb36
Add documentation comments
2023-04-28 13:40:29 +02:00
bitfl0wer
29a7dba439
renamed mod to example
2023-04-28 12:39:58 +02:00
bitfl0wer
50b6029f54
Implement Observer for WebSocketEvents
2023-04-28 12:31:59 +02:00
bitfl0wer
8f97b48a09
Add error type for Observers
2023-04-27 22:38:57 +02:00
bitfl0wer
656acad356
Indicate that method call can fail
2023-04-27 22:38:41 +02:00
bitfl0wer
77ff7d6510
Update observer implementation
2023-04-27 22:29:07 +02:00
bitfl0wer
155a27d49d
start implementing ovserver
2023-04-27 17:57:10 +02:00
bitfl0wer
8a7d61804f
add GatewayResume
2023-04-25 23:06:16 +02:00
bitfl0wer
534d32b1bc
add more types
2023-04-25 22:34:43 +02:00
bitfl0wer
dee8c0bb4e
add typing start event
2023-04-25 22:08:09 +02:00
bitfl0wer
b8cc81d8c1
Add more Types
2023-04-25 22:03:25 +02:00
bitfl0wer
48add97e79
metric ton of types for message deserialization
2023-04-25 21:42:46 +02:00
bitfl0wer
c7afd81d80
Fix error due to deletion of impl::Display
2023-04-25 21:42:11 +02:00
bitfl0wer
36b6be5788
Merge remote-tracking branch 'origin/main' into feature/gateway-observer
2023-04-25 18:00:44 +02:00
bitfl0wer
7cb77bae0f
Improve readability
2023-04-25 17:41:14 +02:00
bitfl0wer
9dad307b71
Improve readability
2023-04-25 17:33:35 +02:00
bitfl0wer
e52a646054
Split up schemas.rs
2023-04-25 17:32:30 +02:00
bitfl0wer
87d9d14047
Add dependencies
2023-04-25 17:21:27 +02:00
bitfl0wer
792a06f408
separate User and Instance limits.
2023-04-24 20:58:45 +02:00
bitfl0wer
d9857180e9
Give each user their own rate limits
2023-04-24 19:51:35 +02:00
bitfl0wer
c9d5bb8b6e
Merge remote-tracking branch 'origin/main' into improvement/update-rate-limiter-implementation
2023-04-24 19:50:36 +02:00
bitfl0wer
17eab8169e
Change HashMap<> to Limits
2023-04-24 19:49:26 +02:00
bitfl0wer
3e9aebf7ee
Implement Limits::new() and more logic
2023-04-24 19:38:42 +02:00
bitfl0wer
eea118b623
Create internal User and API UserObject
2023-04-23 21:32:48 +02:00
bitfl0wer
2880097cb2
comment out test until spacebar pr is merged
2023-04-23 20:21:36 +02:00
bitfl0wer
f3f70ba131
Implement Login
2023-04-23 20:11:14 +02:00
bitfl0wer
fc4a0a4533
make compiler happy
2023-04-23 14:01:02 +02:00
bitfl0wer
d9c82d5bfa
start working on login
2023-04-23 14:00:27 +02:00
bitfl0wer
cfed349c03
Make send_request return Result
2023-04-23 13:58:17 +02:00
bitfl0wer
82bfec0612
Made test pass
2023-04-23 13:45:52 +02:00
bitfl0wer
d1d8b6f237
Add documentation
2023-04-23 12:06:51 +02:00
bitfl0wer
1e00296dc9
Made AuthEmail, Password and Username reusable
2023-04-23 11:58:45 +02:00
bitfl0wer
2e52fb71d4
Register function with good errors!
2023-04-22 22:12:56 +02:00
bitfl0wer
fbfa4fda94
push progress
2023-04-22 11:32:44 +02:00
bitfl0wer
d67cedc847
Remove boilerplate errors
2023-04-21 23:20:23 +02:00
bitfl0wer
b18e38a5fc
impl register
2023-04-21 18:20:57 +02:00
bitfl0wer
1418b67921
add error
2023-04-21 18:20:49 +02:00
bitfl0wer
f96bcb87f6
Move custom errros to central file
2023-04-21 16:18:20 +02:00
bitfl0wer
552b43f80b
Replace Custom Error boilerplate with macro
2023-04-21 15:04:58 +02:00
bitfl0wer
fff71f0529
create errors.rs
2023-04-21 14:30:10 +02:00
bitfl0wer
950eba2ae7
Add TODO
2023-04-21 14:30:03 +02:00
bitfl0wer
ff6874abcb
Fix bad build
2023-04-21 14:27:56 +02:00
bitfl0wer
4f745c958c
Have AuthRegister and AbsoluteRegister cancel each other out
2023-04-20 20:11:12 +02:00
bitfl0wer
897df7adce
Change comment
2023-04-20 19:47:20 +02:00
bitfl0wer
e43b3934e4
Improve limit check
2023-04-20 19:47:08 +02:00
bitfl0wer
27c111fd99
begin working on register
2023-04-20 00:14:11 +02:00
bitfl0wer
8666aa34e5
add users hashmap
2023-04-19 23:32:02 +02:00
bitfl0wer
9e10ce05a9
add await to fix test error
2023-04-19 20:58:14 +02:00
bitfl0wer
bc3083bcf6
add additional documentation and TODO
2023-04-19 20:42:28 +02:00
bitfl0wer
33b5d6d57c
create new() method
2023-04-19 20:42:11 +02:00
bitfl0wer
1d25fdffcb
Include new file
2023-04-19 20:41:52 +02:00
bitfl0wer
32f1365a54
make progress on instance object creation
2023-04-19 20:41:33 +02:00
bitfl0wer
f45193fc40
implement getting InstancePoliciesSchema
...
Co-authored-by: sky <skyrina@users.noreply.github.com>
2023-04-19 20:41:15 +02:00
bitfl0wer
7528a8eccd
remove token check, add username impl
2023-04-17 22:38:21 +02:00
bitfl0wer
38e3ee3afa
add Token struct and impl
2023-04-17 21:31:15 +02:00
bitfl0wer
0f424a9c53
start working on register
2023-04-16 23:03:24 +02:00
bitfl0wer
5e3fb77911
add gateway object
2023-04-16 23:03:12 +02:00
bitfl0wer
52c2bce5d3
use camel case
2023-04-16 22:50:51 +02:00
bitfl0wer
32ef8ee5b1
remove impl LoginSchema, add InstancePolicies
2023-04-16 22:18:51 +02:00
bitfl0wer
d4bf540203
Add PartialEq and Eq derives
2023-04-16 22:16:39 +02:00
bitfl0wer
4b129ee6a3
Rename client to instance
2023-04-16 22:16:22 +02:00
bitfl0wer
4d10710f4f
add auth module
2023-04-16 15:07:15 +02:00
bitfl0wer
157b351db9
reformat file
2023-04-16 14:55:13 +02:00
bitfl0wer
e919e71819
Added email regex validation and tests
2023-04-16 14:09:23 +02:00
bitfl0wer
76dd665e91
Implement LoginSchema
2023-04-16 13:41:26 +02:00
bitfl0wer
d6ae03b656
add comment
2023-04-16 12:33:57 +02:00
bitfl0wer
746299c029
Write test to check consent validation
2023-04-16 12:32:49 +02:00
bitfl0wer
4e9854d46e
write tests to check username validation
2023-04-16 12:30:30 +02:00
bitfl0wer
062faf8c07
add tests to confirm password validation
2023-04-16 12:26:12 +02:00
bitfl0wer
40425fc282
add "new" method for RegSchema with custom errors
2023-04-15 22:06:18 +02:00
bitfl0wer
28d03b9c9f
Add TotpSchema
2023-04-15 21:20:32 +02:00
bitfl0wer
3957d23c53
Update RegisterSchema, add LoginSchema
2023-04-15 21:16:47 +02:00
bitfl0wer
c5a4a56022
create RegisterSchema
2023-04-15 21:12:33 +02:00
bitfl0wer
ca988d93aa
create schemas.rs
2023-04-15 20:16:18 +02:00
bitfl0wer
673ddd5c8d
add test_send_request
2023-04-15 18:16:26 +02:00
bitfl0wer
e4ba507ace
add limit updates for Error, Global, Ip
...
Despite Error, Global and Ip technically being handled seperately, we still need to update their "reset" and "limit" values to match what the API tells us.
2023-04-15 17:12:33 +02:00
bitfl0wer
77d5349231
remove unneccessary variable
2023-04-15 17:09:42 +02:00
bitfl0wer
992b803548
add add_remaining
...
add_remaining() adds an i64 to the interal "remaining: u64" with underflow protection.
2023-04-15 17:08:19 +02:00
bitfl0wer
427ce0541e
update internal values through mut ref
2023-04-15 17:07:46 +02:00
bitfl0wer
1a398fecd7
add fallback if no rate limit header received
2023-04-15 14:55:50 +02:00
bitfl0wer
384d42e877
Derive PartialEq and Eq to use assertEq in tests
2023-04-15 13:54:57 +02:00
bitfl0wer
a8a4da36c7
add test which checks instance rate limits working
2023-04-15 13:54:33 +02:00
bitfl0wer
5130846c7f
rename tests
2023-04-15 13:27:43 +02:00
bitfl0wer
84258ec8da
Fix incorrect url formatting, add more tests
2023-04-15 13:27:34 +02:00
bitfl0wer
d60711a5d1
Fixed goofy ahh way to remove a slash from the end of the url
2023-04-15 13:03:51 +02:00
bitfl0wer
9855efe15e
Derive Debug, start debugging
2023-04-14 23:38:36 +02:00
bitfl0wer
965308e746
add documentation
2023-04-14 23:01:48 +02:00
bitfl0wer
88987e6bfb
make send_request return Option<Response>
2023-04-14 22:40:13 +02:00
bitfl0wer
ce21a8539d
add send_request method
2023-04-14 22:22:23 +02:00
bitfl0wer
112f44e224
Derive copy trait
2023-04-14 22:22:11 +02:00
bitfl0wer
d8dd2010a3
add new struct, send_request and can_send_request
2023-04-14 18:29:20 +02:00
bitfl0wer
1b71c63b1c
reduce code complexity& duplication, fix oversight
2023-04-14 17:11:13 +02:00
bitfl0wer
2e964145bd
reduce code duplication
2023-04-14 17:09:50 +02:00
bitfl0wer
04d03e1d3c
handle resetting rate limits
2023-04-14 16:56:54 +02:00
bitfl0wer
db61974e26
implement update limits
2023-04-12 22:59:08 +02:00
bitfl0wer
e7756ede4f
change return type from Limits to HashMap
2023-04-12 22:18:20 +02:00
bitfl0wer
bceff7dbe5
make code compile
2023-04-12 18:34:20 +02:00
bitfl0wer
8622849ef8
add update_limits (TODO) and add_to_queue
2023-04-12 18:33:16 +02:00
bitfl0wer
252697144f
impl display for limittype, add limittype
2023-04-12 18:32:49 +02:00
bitfl0wer
58c5025afe
add .iter() to Limits
2023-04-12 18:18:55 +02:00
bitfl0wer
ccff2b73c6
Optimize imports, allow dead code where needed
2023-04-12 17:10:12 +02:00
bitfl0wer
bb9575211a
refactor limit.rs, moved some logic
2023-04-12 16:49:18 +02:00
bitfl0wer
5e408bf4d2
me when i write bad code
2023-04-12 15:49:12 +02:00
bitfl0wer
484a6fb24e
Add todo
2023-04-11 21:27:37 +02:00
bitfl0wer
36ead61f09
fix can_send_request
2023-04-11 21:27:06 +02:00
bitfl0wer
ecb1fb0e53
add TODO comment
2023-04-10 21:02:29 +02:00
bitfl0wer
f44bba82a5
add can_send_request, update_limits and send_requests
2023-04-10 20:58:07 +02:00
bitfl0wer
be5546e809
Add docstring, rename var
2023-04-10 17:35:04 +02:00
bitfl0wer
4b4860590b
remove tests, reformat limit display, rename limit
2023-04-10 17:30:02 +02:00
bitfl0wer
dee5fd4631
add: impl display for limit, check_limits
2023-04-10 17:20:02 +02:00
bitfl0wer
78856a2fcd
create new folder structure to map api routes
2023-04-10 14:19:31 +02:00
bitfl0wer
6ec87fc913
create test to... test
2023-04-10 14:18:48 +02:00
bitfl0wer
2829f2e2e0
Remove http
2023-04-10 14:18:33 +02:00
bitfl0wer
2011024771
clean match and replace it with .unwrap_or_else
2023-04-08 23:56:53 +02:00
bitfl0wer
f3ee9b2dd6
get response body string out of result
2023-04-08 23:31:28 +02:00
bitfl0wer
d7ce80ee62
add notes on what needs to be done.
2023-04-08 14:51:36 +02:00
bitfl0wer
bfb63ddb2d
Use Vec<Limit> instead of Limit because there are multiple limits
2023-04-08 14:37:20 +02:00
bitfl0wer
3e84976256
add bucket identifiers, add check_limits stub
2023-04-07 23:22:44 +02:00
bitfl0wer
79cdc6e315
update use statement to match new name
2023-04-07 21:52:09 +02:00
bitfl0wer
bddce47896
replace Box<> with VecDeque<>
2023-04-07 21:51:50 +02:00
bitfl0wer
ea11db8460
start concepting/implementing RateLimiter
2023-04-07 21:01:48 +02:00
bitfl0wer
f6930d3a38
Indicate that code block is of type Rust
2023-04-05 22:19:15 +02:00
bitfl0wer
abcfb8801c
Create files
2023-04-05 21:55:27 +02:00
bitfl0wer
af13830d99
Add url parser and tests
2023-04-05 21:54:27 +02:00
bitfl0wer
5e000afdc6
main -> lib
2023-04-04 17:37:11 +02:00
bitfl0wer
19ebda2887
cargo init
2023-04-04 16:42:20 +02:00