Commit Graph

402 Commits

Author SHA1 Message Date
kozabrada123 a3969e8cb6 Small changes for merging 2023-05-13 16:43:29 +02:00
bitfl0wer 3c6a549db7 Fix tests 2023-05-13 16:42:24 +02:00
bitfl0wer 092eed6957 update file to one that always exists, fix test 2023-05-13 16:40:34 +02:00
bitfl0wer c74e40e5f9 comment out view_nsfw_guilds to fix tests 2023-05-13 16:36:28 +02:00
kozabrada123 41b75be2fb Add a few more gateway events 2023-05-13 16:24:34 +02:00
kozabrada123 11d371eee2 Add rest of send events 2023-05-13 15:59:46 +02:00
kozabrada123 cef8fe9fdb Deserialization error.. 2023-05-13 09:05:20 +02:00
kozabrada123 28e956e969 Merge branch 'polyphony-chat:main' into main 2023-05-13 06:11:07 +00:00
bitfl0wer 4abe3d87ec Change visibility of attachments 2023-05-12 19:18:51 +02:00
bitfl0wer ec37e89cc4 add set_id() to FileAttachment
This is so that the id of the Attachment to be sent can just be overwritten by the send() method.
2023-05-12 19:18:40 +02:00
bitfl0wer 1d2ebdd3cd Make attachment sending work! 2023-05-12 19:18:00 +02:00
kozabrada123 94fabbffb0 Merge branch 'polyphony-chat:main' into main 2023-05-12 11:41:53 +00:00
bitfl0wer 32f337015a cargo fix 2023-05-12 12:35:06 +02:00
bitfl0wer 56be2c9a17 Change send to no longer take static refs 2023-05-12 12:34:27 +02:00
bitfl0wer 9fd3f733f7 Mark unused var as unused 2023-05-12 12:34:00 +02:00
bitfl0wer 6732640f96 impl PartialDiscordFileAttachment
Now contains move_$ methods, which can move individual values out of the PartialDiscordFileAttachment while preserving the rest of the object.
2023-05-12 12:33:39 +02:00
bitfl0wer c544bd409d work on implementing message attachment sending 2023-05-11 23:35:36 +02:00
kozabrada123 6dfaa6e91f Attempted reimpl 2023-05-11 22:47:31 +02:00
bitfl0wer ce46452a2f change message send impl 2023-05-11 22:36:35 +02:00
bitfl0wer a2819c13f0 add a todo so i dont forget to not eat all ram 2023-05-11 00:07:45 +02:00
bitfl0wer fe63d11055 cool i have written a memory hog 2023-05-11 00:06:13 +02:00
bitfl0wer 7387053998 Change imports 2023-05-10 18:44:17 +02:00
bitfl0wer 5a7d5e0a4c Change register test 2023-05-10 18:44:10 +02:00
kozabrada123 6ce7396275 Merge branch 'feature/gateway-observer' into main 2023-05-09 18:35:53 +00:00
bitfl0wer 3011b1164f Change test_registration 2023-05-09 19:30:52 +02:00
bitfl0wer 1bc8081655 Make register and login return UserObject 2023-05-09 17:19:41 +02:00
bitfl0wer e6291bf384 Extend UserObject to match with Spacebars' User 2023-05-09 17:19:23 +02:00
bitfl0wer aaf454ffa7 remove println 2023-05-09 17:19:04 +02:00
bitfl0wer a7514a28c6 impl get_settings() 2023-05-09 14:05:36 +02:00
bitfl0wer f06b43a8fe Make register and login return User 2023-05-09 14:05:03 +02:00
bitfl0wer f59f705ec0 make token pub 2023-05-09 13:10:07 +02:00
bitfl0wer 40b7064541 Remove logged_in from User 2023-05-07 12:42:52 +02:00
bitfl0wer 31407c1bf1 Run clippy 2023-05-07 12:41:14 +02:00
bitfl0wer 6a94d34bb5 Remove unneccessary imports 2023-05-07 12:39:56 +02:00
bitfl0wer 240882ffdf Remove lifetime from Instance (see below)
Originally, it was planned, that the Instance object would store Users. I have identified, that this was not needed, as it goes beyond the scope of a library; Users of this library are expected to keep track of users themselves. The removal of this user storage also prevented further overcomplications.
2023-05-07 12:39:04 +02:00
kozabrada123 e67acfab49 Was still a merge conflict there 2023-05-07 12:05:58 +02:00
kozabrada123 0fd7be51a8 Fix merge conflict 2023-05-07 12:04:46 +02:00
bitfl0wer 7904b3d9f8 add docs, add instance.get_user() 2023-05-07 11:54:49 +02:00
kozabrada123 fc93762cf7 Fix deserialization error 2023-05-07 11:47:12 +02:00
bitfl0wer 3cd19ed15e Remove display impl, add default trait 2023-05-07 11:32:25 +02:00
bitfl0wer fafc864dfe Impl user::get() function 2023-05-07 11:32:11 +02:00
bitfl0wer df850b33d5 add test fn 2023-05-07 00:18:21 +02:00
bitfl0wer 3e6e8b7812 add users to mod.rs 2023-05-07 00:18:14 +02:00
bitfl0wer 45d5505e2c remove nesting layer 2023-05-07 00:18:06 +02:00
bitfl0wer 70a426c754 Add users to mod.rs 2023-05-07 00:17:54 +02:00
bitfl0wer 7211ff5eb3 add pronouns 2023-05-06 22:47:31 +02:00
bitfl0wer aa89168928 add mod.rs 2023-05-06 22:47:26 +02:00
bitfl0wer 7920dc62e6 Implement message sending (without attachments) 2023-05-06 22:24:23 +02:00
bitfl0wer 9855465fe4 change visibilities 2023-05-06 22:23:48 +02:00
bitfl0wer 4aaaee3e1e impl SendMessageSchema 2023-05-06 22:23:34 +02:00
bitfl0wer f943f57f03 rename user rate_limits to limits for consistency 2023-05-06 18:52:24 +02:00
bitfl0wer 0efdc8bfc2 Construct new message send method basics 2023-05-06 18:52:09 +02:00
bitfl0wer 63ece12636 change message to messagesendschema 2023-05-06 18:34:38 +02:00
kozabrada123 6fdff97722 Update types to fix deserialization errors 2023-05-06 10:39:16 +02:00
kozabrada123 a4fdf18106 Fixed instance lifetime parameter 2023-05-05 22:46:00 +02:00
kozabrada123 22bfe1be07 Readd gateway to instance 2023-05-05 22:04:57 +02:00
bitfl0wer 00aa998ad0 remove redundant code 2023-05-05 22:00:37 +02:00
bitfl0wer e41563b101 start re-doing send() 2023-05-05 21:53:23 +02:00
bitfl0wer 9b5caf6392 Add DiscordFileAttachment, change visibilities 2023-05-05 21:53:00 +02:00
bitfl0wer abd555dfac Add MessageSendSchema 2023-05-05 21:52:27 +02:00
kozabrada123 7ac4da8482 Fix encoding wrong 2023-05-05 20:58:00 +02:00
kozabrada123 23472d01d9 Update integers on some types 2023-05-05 18:37:52 +02:00
kozabrada123 ec2030794d Add gateway Ready event 2023-05-05 16:08:12 +02:00
bitfl0wer a706341e36 handle attachment-messages seperately 2023-05-05 14:38:37 +02:00
bitfl0wer e4be9d49c2 change name type from String to i16 2023-05-05 14:38:22 +02:00
bitfl0wer 65480d51e6 Fix counter not being incremented 2023-05-05 14:19:38 +02:00
bitfl0wer 12c6efc72e 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 c90e8b62e8 Add new() DiscordFileAttachment 2023-05-05 14:16:09 +02:00
bitfl0wer d1f44aace3 Rename File to DiscordFileAttachment, work on that 2023-05-04 23:00:48 +02:00
bitfl0wer 28778f578f Add bearer auth for message sending 2023-05-03 23:13:12 +02:00
bitfl0wer 8903f494ac Add start of attachments implementation 2023-05-03 23:04:32 +02:00
bitfl0wer 7369bdd59f Merge remote-tracking branch 'origin/feature/sending-messages' 2023-05-03 17:39:57 +02:00
bitfl0wer c4b15b5bf0 change reference to be mutable 2023-05-03 17:29:32 +02:00
bitfl0wer 7560361bf5 add send_message to user 2023-05-03 17:29:20 +02:00
bitfl0wer 5d545d7fc9 Add get_as_mut to Limits 2023-05-03 17:12:32 +02:00
bitfl0wer a0df444f87 Remove blank line 2023-05-03 17:12:23 +02:00
bitfl0wer fc9032c038 change visibilities to pub 2023-05-03 17:11:48 +02:00
bitfl0wer efb68a607a cargo clippy --fix 2023-05-03 16:38:42 +02:00
bitfl0wer 5edc92524c Add lifetime to Instance 2023-05-03 16:37:10 +02:00
bitfl0wer 6858b1eb0d Add Message send() 2023-05-03 16:27:04 +02:00
bitfl0wer 7938addf67 Start working on message send body 2023-05-03 15:55:01 +02:00
bitfl0wer 514ae0e441 Add message.rs 2023-05-03 15:45:07 +02:00
Flori b6789420a2 Merge pull request #25 from polyphony-chat/feature/sending-messages
Bring main up to date
2023-05-02 22:51:49 +02:00
bitfl0wer 18e4803089 Add messages.rs to implement messages features 2023-05-02 22:46:41 +02:00
bitfl0wer a8e3ad0950 add GatewayPayload 2023-04-30 21:54:15 +02:00
bitfl0wer 9f76679a35 Add types for Heartbeat and Hello (Gateway) 2023-04-30 11:48:53 +02:00
bitfl0wer 909e8d39ed Make GatewatIdentifyPayload pub 2023-04-28 20:30:03 +02:00
bitfl0wer 728ff0b551 Add Default derives to types 2023-04-28 18:18:32 +02:00
bitfl0wer 3099a0165b Implement Observer for WebSocketEvents 2023-04-28 12:31:59 +02:00
bitfl0wer 2569fafbbb add GatewayResume 2023-04-25 23:06:16 +02:00
bitfl0wer 67eb1e087d add more types 2023-04-25 22:34:43 +02:00
bitfl0wer bea7efd8a9 add typing start event 2023-04-25 22:08:09 +02:00
bitfl0wer f465ad7cc3 Add more Types 2023-04-25 22:03:25 +02:00
bitfl0wer b976eadd70 metric ton of types for message deserialization 2023-04-25 21:42:46 +02:00
bitfl0wer 0f66081b4d Fix error due to deletion of impl::Display 2023-04-25 21:42:11 +02:00
bitfl0wer 3b8891b2dd Improve readability 2023-04-25 17:41:14 +02:00
bitfl0wer c67c23f6b4 Improve readability 2023-04-25 17:33:35 +02:00
bitfl0wer 6f2dac6695 Split up schemas.rs 2023-04-25 17:32:30 +02:00
bitfl0wer a5943197d4 separate User and Instance limits. 2023-04-24 20:58:45 +02:00
bitfl0wer aba42a6869 Give each user their own rate limits 2023-04-24 19:51:35 +02:00
bitfl0wer 88b715ee6c Merge remote-tracking branch 'origin/main' into improvement/update-rate-limiter-implementation 2023-04-24 19:50:36 +02:00
bitfl0wer 30742380b9 Change HashMap<> to Limits 2023-04-24 19:49:26 +02:00
bitfl0wer 21c7bdcf8b Implement Limits::new() and more logic 2023-04-24 19:38:42 +02:00
bitfl0wer 82770c0400 Create internal User and API UserObject 2023-04-23 21:32:48 +02:00
bitfl0wer c11ae79fe2 comment out test until spacebar pr is merged 2023-04-23 20:21:36 +02:00
bitfl0wer fe3c582d09 Implement Login 2023-04-23 20:11:14 +02:00
bitfl0wer 242eddd5c8 make compiler happy 2023-04-23 14:01:02 +02:00
bitfl0wer 22adda7aa6 start working on login 2023-04-23 14:00:27 +02:00
bitfl0wer 48333cf854 Make send_request return Result 2023-04-23 13:58:17 +02:00
bitfl0wer 8b40b4c3b2 Made test pass 2023-04-23 13:45:52 +02:00
bitfl0wer b374fdee7d Add documentation 2023-04-23 12:06:51 +02:00
bitfl0wer 83ebd482e5 Made AuthEmail, Password and Username reusable 2023-04-23 11:58:45 +02:00
bitfl0wer 1bdf202745 Register function with good errors! 2023-04-22 22:12:56 +02:00
bitfl0wer c6ded56510 push progress 2023-04-22 11:32:44 +02:00
bitfl0wer 752c885c10 Remove boilerplate errors 2023-04-21 23:20:23 +02:00
bitfl0wer aacba2d2a2 impl register 2023-04-21 18:20:57 +02:00
bitfl0wer 06bc2955a3 Move custom errros to central file 2023-04-21 16:18:20 +02:00
bitfl0wer 1c2a60613b Replace Custom Error boilerplate with macro 2023-04-21 15:04:58 +02:00
bitfl0wer dd97341886 Add TODO 2023-04-21 14:30:03 +02:00
bitfl0wer d98316b3ee Fix bad build 2023-04-21 14:27:56 +02:00
bitfl0wer 5baed11d4e Change comment 2023-04-20 19:47:20 +02:00
bitfl0wer fec52f506d begin working on register 2023-04-20 00:14:11 +02:00
bitfl0wer 45b13e4865 add await to fix test error 2023-04-19 20:58:14 +02:00
bitfl0wer e1d004afae add additional documentation and TODO 2023-04-19 20:42:28 +02:00
bitfl0wer db177fdaad create new() method 2023-04-19 20:42:11 +02:00
bitfl0wer d6bd7c4710 Include new file 2023-04-19 20:41:52 +02:00
bitfl0wer c5b9e0efee implement getting InstancePoliciesSchema
Co-authored-by: sky <skyrina@users.noreply.github.com>
2023-04-19 20:41:15 +02:00
bitfl0wer dc5cd09091 start working on register 2023-04-16 23:03:24 +02:00
bitfl0wer 1319ca1736 use camel case 2023-04-16 22:50:51 +02:00
bitfl0wer fde38bc358 remove impl LoginSchema, add InstancePolicies 2023-04-16 22:18:51 +02:00
bitfl0wer 7dc25dd4c6 add auth module 2023-04-16 15:07:15 +02:00
bitfl0wer fc397672f5 reformat file 2023-04-16 14:55:13 +02:00
bitfl0wer 6cba2f93e1 Added email regex validation and tests 2023-04-16 14:09:23 +02:00
bitfl0wer f4b500eadb Implement LoginSchema 2023-04-16 13:41:26 +02:00
bitfl0wer 0ec8e3371b add comment 2023-04-16 12:33:57 +02:00
bitfl0wer 98551dc2a2 Write test to check consent validation 2023-04-16 12:32:49 +02:00
bitfl0wer b8038f52bf write tests to check username validation 2023-04-16 12:30:30 +02:00
bitfl0wer 30610aacfd add tests to confirm password validation 2023-04-16 12:26:12 +02:00
bitfl0wer 1b9ccf3154 add "new" method for RegSchema with custom errors 2023-04-15 22:06:18 +02:00
bitfl0wer db45e493ec Add TotpSchema 2023-04-15 21:20:32 +02:00
bitfl0wer e1003ac2b6 Update RegisterSchema, add LoginSchema 2023-04-15 21:16:47 +02:00
bitfl0wer ff60853d0b create RegisterSchema 2023-04-15 21:12:33 +02:00
bitfl0wer 4f922e163f create schemas.rs 2023-04-15 20:16:18 +02:00
bitfl0wer d30343df38 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 ce075524c8 Derive PartialEq and Eq to use assertEq in tests 2023-04-15 13:54:57 +02:00
bitfl0wer ead320f145 Derive Debug, start debugging 2023-04-14 23:38:36 +02:00
bitfl0wer eb67dda8b0 Derive copy trait 2023-04-14 22:22:11 +02:00
bitfl0wer 5cbbddf945 change return type from Limits to HashMap 2023-04-12 22:18:20 +02:00
bitfl0wer ff9424f7ee impl display for limittype, add limittype 2023-04-12 18:32:49 +02:00
bitfl0wer 910313d0ca add .iter() to Limits 2023-04-12 18:18:55 +02:00
bitfl0wer 317c8e801e refactor limit.rs, moved some logic 2023-04-12 16:49:18 +02:00
bitfl0wer 90020d0137 create new folder structure to map api routes 2023-04-10 14:19:31 +02:00