Commit Graph

620 Commits

Author SHA1 Message Date
Flori Weber bcc4069cea
Create relationships.rs 2023-06-13 14:04:58 +02:00
Flori Weber c6dcfff6a8
Create relationships.rs 2023-06-13 14:04:39 +02:00
bitfl0wer 8de2d3b5c3
run cargo fix 2023-06-12 18:59:06 +02:00
bitfl0wer 550d6d9265
run cargo fix 2023-06-12 18:58:53 +02:00
bitfl0wer 1aad39ded1
Remove unneccessary variable 2023-06-12 18:55:27 +02:00
bitfl0wer 98a043ab30
Refactor limited requester
The requester does not need to be instantiated anymore, which makes things easier to read imo.
2023-06-12 18:51:54 +02:00
Flori Weber 1910649ac4
Refactor users.rs to use api::common 2023-06-11 21:40:03 +02:00
Flori Weber 43e62359ae
Refactor roles.rs to use api::common 2023-06-11 20:04:40 +02:00
Flori Weber c03c3357fa
Refactor member.rs to use api::common 2023-06-11 19:30:15 +02:00
Flori Weber 3f8724535e
Refactor guilds.rs to use api:common 2023-06-11 19:26:34 +02:00
Flori Weber f6da3dcacf
Use handle_request_as_option instead 2023-06-11 19:22:28 +02:00
Flori Weber 3a8b6c8629
Introduce handle_request_as_option 2023-06-11 19:22:10 +02:00
Flori Weber fac9937bdd
Refactor reactions to use api::options 2023-06-11 19:13:38 +02:00
Flori Weber c479db36fb
Refactor permissions.rs to use api::common 2023-06-11 17:56:29 +02:00
Flori Weber 90ad75ae30
Remove import 2023-06-11 17:51:26 +02:00
Flori Weber ce004b3863
Refactor Message::send() 2023-06-11 17:49:42 +02:00
Flori Weber 583031e64f
Make some fields Option enum 2023-06-11 17:49:30 +02:00
Flori Weber 59d512cdce
Refactor to use api common, return Message instead 2023-06-11 17:40:44 +02:00
Flori Weber bf005c44a4
Refactor channels.rs to use api::common 2023-06-11 17:36:04 +02:00
Flori Weber 5d039c3e9b
Add argument to specify which LimitType to use 2023-06-11 17:35:47 +02:00
Flori Weber 9449c4cd4d
Move common request code into common.rs 2023-06-11 17:21:09 +02:00
Flori Weber ebe8a054e0
Merge branch 'main' into feature/permissions-and-roles 2023-06-11 15:34:43 +02:00
Flori Weber 3f7bf0c912
create common.rs 2023-06-11 15:34:05 +02:00
kozabrada123 dc5e91a784 Reformat and cargo fix 2023-06-11 14:32:37 +02:00
Flori Weber 8b8ea03513
Cargo fix 2023-06-11 13:55:00 +02:00
Flori Weber 41135d037f
Cargo fix 2023-06-11 13:54:54 +02:00
Flori Weber f585e0ddae
Reformat entire project, optimize imports 2023-06-11 13:52:53 +02:00
Flori Weber f4e0d520b1
Reformat entire project, optimize imports 2023-06-11 13:52:31 +02:00
kozabrada123 f5bbd3d737 Merge branch 'main' into perpetual/gateway-dev 2023-06-11 09:10:03 +02:00
bitfl0wer 6952f9977f
Implement delete_permission 2023-06-10 22:16:53 +02:00
bitfl0wer 87e70181fb
impl Channel::edit_permissions() 2023-06-10 22:09:53 +02:00
bitfl0wer 48a063838b
Create permissions.rs 2023-06-10 21:51:45 +02:00
Flori Weber e5aff12f94
"Normalize" RolePositionUpdateSchema 2023-06-10 19:35:57 +02:00
Flori Weber 5b66464ce9
Better error handling in get methods. 2023-06-10 18:50:49 +02:00
Flori Weber a9b02bad78
Implement RoleObject::get() 2023-06-10 18:48:37 +02:00
Flori Weber 9a6ac33a40
Add RoleObject::update() 2023-06-10 18:42:37 +02:00
kozabrada123 94ec90b924 Implement display for UserStatus 2023-06-10 16:56:50 +02:00
kozabrada123 330a4347d3 turns out UpdatePresence and PresenceUpdate are different events 2023-06-10 16:32:42 +02:00
kozabrada123 57d2d93420 Change observer update ref to &mut from & 2023-06-10 15:37:02 +02:00
Flori Weber d5e38d954f
Implement GuildMember::get() 2023-06-10 15:16:45 +02:00
kozabrada123 a148cf576e Refactor, better deserialization error handling 2023-06-10 12:43:07 +02:00
kozabrada123 0b06f914e3 Merge branch 'main' into perpetual/gateway-dev 2023-06-10 10:30:54 +02:00
bitfl0wer a18eab1884
Change UserMeta: User instead of Option<User>
I do not know why I have made it optional in the first place. hm
2023-06-10 00:35:51 +02:00
bitfl0wer 30db9e9553
implement GuildMember::remove_role() 2023-06-10 00:10:12 +02:00
bitfl0wer 3d98b45413
Implement GuildMember::add_role() 2023-06-10 00:03:31 +02:00
bitfl0wer daf30ddde6
create member.rs 2023-06-09 23:41:40 +02:00
bitfl0wer 7aa948647a
Add from_vec()
Calculates a PermissionFlags Stirng from a Vec<PermissionFlags>.
2023-06-09 21:34:54 +02:00
bitfl0wer 7a0a9baa45
Remove unused import 2023-06-09 20:49:02 +02:00
bitfl0wer 486e210062
Move role schemas to own file 2023-06-09 20:47:45 +02:00
kozabrada123 5231656c68 Docs + unneeded &mut 2023-06-09 20:22:59 +02:00
kozabrada123 28877f8355 Discord.com sends premissions as an integer 2023-06-09 18:38:36 +02:00
kozabrada123 182cd45a15 Rebase 2023-06-09 18:14:20 +02:00
bitfl0wer d475584fea
Implement RoleObject::position_update() 2023-06-09 16:50:03 +02:00
bitfl0wer 9bf968c7e0
Change Role to have String over PermissionFlags
PermissionFlags implementation needs to be figured out a bit better before we can use it here.
2023-06-09 12:04:49 +02:00
bitfl0wer fc66036674
Add documentation 2023-06-08 22:39:06 +02:00
bitfl0wer 30cfb3b744
Implement RoleObject::create() 2023-06-08 22:26:24 +02:00
bitfl0wer 1c5be5693e
Add FormCreationError 2023-06-08 22:26:08 +02:00
bitfl0wer 9f21c06492
Change InstanceServerError to ChorusLibError
The name InstanceServerError was chosen without thinking about it too much, very early in development. The new name suits this custom Error type way better, in my opinion.
2023-06-08 22:16:23 +02:00
bitfl0wer bac097fb2e
Add RolePositionUpdateSchema 2023-06-08 20:45:56 +02:00
bitfl0wer 4993b7bac8
Change struct name
This schema is being used as a RoleModifySchema AND as a RoleCreationSchema.
2023-06-08 20:43:29 +02:00
bitfl0wer a1a4532b57
Add misssing attribute 2023-06-08 20:42:40 +02:00
bitfl0wer c31d2aa76d
Add RoleCreateSchema 2023-06-08 20:40:36 +02:00
kozabrada123 e6af81d694 Basic tests 2023-06-08 19:51:32 +02:00
kozabrada123 cae038af8f Refactor 2023-06-08 18:24:11 +02:00
kozabrada123 0f4eef2fb9 Merge branch 'main' into perpetual/gateway-dev 2023-06-08 17:35:17 +02:00
kozabrada123 f4f17f7454 Gateway basic error handling 2023-06-08 17:34:52 +02:00
bitfl0wer 429db9332b
cargo fix 2023-06-07 23:06:52 +02:00
bitfl0wer 0097809049
Remove unnecessary imports 2023-06-07 23:03:37 +02:00
bitfl0wer 32503078d7
Implement RoleObject::get_all() 2023-06-07 23:03:24 +02:00
bitfl0wer afe9663ded
Create roles.rs 2023-06-07 23:03:07 +02:00
bitfl0wer 97ca0c17eb
Try making permissions to PermissionFlags 2023-06-07 22:44:16 +02:00
bitfl0wer 6c0d21867c
Sort fields on Guild alphabetically 2023-06-07 22:40:48 +02:00
bitfl0wer 5b7bfa4a5d
Make enum into bitflags struct 2023-06-07 10:39:05 +02:00
bitfl0wer 7a1021031e
Fix enum, add has_permission() for RoleObject 2023-06-06 21:38:28 +02:00
bitfl0wer e2c80fc1f8
Make enum pub 2023-06-06 20:10:50 +02:00
bitfl0wer 6d2db3d808
Add PermissionFlags 2023-06-06 20:05:34 +02:00
bitfl0wer 7a3f485580
Add reference to docs 2023-06-04 14:41:24 +02:00
bitfl0wer 471abc88a6
Add method to remove own reaction 2023-06-04 14:39:22 +02:00
bitfl0wer fd2b9e670f
improve existing documentation 2023-06-04 14:32:57 +02:00
bitfl0wer 213220c8e0
Add delete_user method 2023-06-04 14:29:43 +02:00
bitfl0wer 47d1c52014
Change file structure 2023-06-04 14:20:06 +02:00
kozabrada123 7d17a1c976 Implement Clone for all events 2023-06-04 13:49:35 +02:00
kozabrada123 ca9f7f6c11 Merge branch 'main' into perpetual/gateway-dev 2023-06-04 10:18:16 +02:00
bitfl0wer 6b8d458eb4
Move some pieces of documentation to where they make the most sense 2023-06-03 22:34:03 +02:00
bitfl0wer f2de0f8813
Make reference links clickable in cargo doc 2023-06-03 22:15:03 +02:00
bitfl0wer 5967858e81
Add references 2023-06-03 22:08:56 +02:00
bitfl0wer 3722536de2
Add create reaction with documentation 2023-06-03 22:07:37 +02:00
bitfl0wer 5b579c551a
Add delete_emoji method with documentation 2023-06-03 20:17:21 +02:00
bitfl0wer 02db71055c
Add documentation 2023-06-03 18:59:13 +02:00
bitfl0wer 4f91f26a28
Add reactions: get 2023-06-03 18:53:53 +02:00
bitfl0wer fab9bc1c62
Implement reactions: delete all 2023-06-03 18:46:36 +02:00
bitfl0wer addfb01075
Add ReactionMeta struct 2023-06-03 15:21:49 +02:00
kozabrada123 63ae7feb8a Features is not always sent 2023-06-02 11:00:34 +02:00
kozabrada123 a49bdd8456 Merge branch 'perpetual/gateway-dev' of https://github.com/polyphony-chat/chorus into perpetual/gateway-dev 2023-06-02 10:58:22 +02:00
kozabrada123 e846b2b423 fmt 2023-06-02 10:58:04 +02:00
kozabrada123 611ee800ba Handle Heartbeat ACKs 2023-06-02 10:57:47 +02:00
kozabrada123 28a92212b6 Handle Heartbeat requests 2023-06-02 10:42:19 +02:00
bitfl0wer e4a185dce5
Create reactions.rs 2023-06-01 21:14:11 +02:00
bitfl0wer 4bdecb0a6c
Remove mod 2023-06-01 21:14:02 +02:00
Flori b87ac84f61
Merge pull request #83 from polyphony-chat/refactor/less-boilerplate
Refactor/less boilerplate
2023-05-30 23:11:47 +02:00
bitfl0wer dc40c69ebe
Refactored users() as much as possible 2023-05-30 23:04:22 +02:00
Zertex 5a9a156846 make the tests pass 2023-05-30 10:57:34 -04:00
Zert3x 25a0544822
Merge branch 'main' into refactor/rename-apierror 2023-05-29 22:25:02 -04:00
bitfl0wer b1dbc53049
Refactor channels() 2023-05-29 23:59:13 +02:00
bitfl0wer 3cebafecf6
Refactor create 2023-05-29 23:57:23 +02:00
bitfl0wer d8d3bf5be6
Refactor delete() 2023-05-29 23:51:12 +02:00
bitfl0wer 96ace34137
Refactor create() and get() 2023-05-29 23:46:43 +02:00
bitfl0wer e03c51658d
Remove unnecessary lifetime 2023-05-29 23:46:17 +02:00
bitfl0wer eaf45274a6
Refactor Guild create 2023-05-29 23:16:43 +02:00
bitfl0wer 1e79a1a7ab
Refactor message::send() 2023-05-29 23:15:05 +02:00
bitfl0wer a12573fe1c
Refactor modify() to take less boilerplate args 2023-05-29 23:11:12 +02:00
bitfl0wer 808224d4fb
Refactor delete() to take less boilerplate args 2023-05-29 23:08:52 +02:00
bitfl0wer 001dc9f80c
Refactor get() to take less boilerplate args 2023-05-29 23:01:17 +02:00
bitfl0wer f18d3d7707
Add clone, default derives 2023-05-29 18:50:19 +02:00
bitfl0wer a7fd29c7f1
Make all attributes pub 2023-05-29 18:34:08 +02:00
bitfl0wer 05bc4a4647
Add modify() 2023-05-29 18:27:30 +02:00
bitfl0wer 0048e548f5
Add ChannelModifySchema 2023-05-29 18:27:15 +02:00
Flori 9c258067e8
Merge pull request #81 from polyphony-chat/feature/channel/delete
Feature/channel/delete
2023-05-29 17:56:13 +02:00
bitfl0wer 5a40da1cd6
Implement User methods on User instead of UserMeta 2023-05-29 17:25:34 +02:00
kozabrada123 b83dd916e8 Fix typo 2023-05-29 17:18:52 +02:00
kozabrada123 90ebc823ba Fix some errors caused by the observer return fix 2023-05-29 17:11:08 +02:00
bitfl0wer 7f8abceab5
Made Guild::create return Guild instead of String.
This makes way more sense, I think.
2023-05-29 16:50:10 +02:00
bitfl0wer fee0aa966a
Changed some apparently incorrect attributes
Some attributes are not necessarily returned by the GET route for a guild. Also, some integers were too small. One example is max_video_channel_users, which was a u8, but could theoretically be a value much higher than u8::MAX.
2023-05-29 16:49:36 +02:00
bitfl0wer b2b5930db0
Remove print statement 2023-05-28 23:08:13 +02:00
bitfl0wer 135782da9f
Remove print statement 2023-05-28 23:08:05 +02:00
bitfl0wer 7b7dbb9b5e
Create channels() for Guild
This method retrieves all channels from a guild
2023-05-28 23:04:35 +02:00
bitfl0wer 897c269e98
Make delete use self 2023-05-28 23:04:13 +02:00
bitfl0wer 5db5a2562f
Add InvalidResponseError 2023-05-28 23:04:02 +02:00
bitfl0wer 2ba1e1ac84
Add documentation 2023-05-28 22:40:37 +02:00
bitfl0wer 69b6efe200
Make channel delete take ownership of a Channel 2023-05-28 22:39:38 +02:00
bitfl0wer 268da9525c
Add channel delete method 2023-05-28 22:39:25 +02:00
kozabrada123 c4a6b85e1e Fix weird observer subscribe return 2023-05-28 17:37:05 +02:00
kozabrada123 982e85af9e u16 is too small for flags apparently 2023-05-28 17:36:30 +02:00
kozabrada123 61a54678cb Members is optional 2023-05-28 17:36:12 +02:00
kozabrada123 a1a0c94e2d agjbg??! 2023-05-28 14:52:48 +02:00
kozabrada123 dfa047a9c5 71 conflicts due to fmt?!?!?!?! 2023-05-28 14:52:08 +02:00
kozabrada123 b6061b7bf5 Gateway opcode constants and small refactor 2023-05-28 14:39:41 +02:00
kozabrada123 304ff014e3 More stability 2023-05-28 08:43:22 +02:00
Zertex de10ccbed7 Hijack this to make User::flags pub 2023-05-28 02:42:35 -04:00
Zertex bab1f0ed52 Add custom implementation to allow simple-array behaviour for GuildFeatures 2023-05-28 02:42:09 -04:00
Zertex 73790fbf2a Change integer datatypes to be 'i32' as required by sqlx 2023-05-28 02:39:24 -04:00
kozabrada123 504d74a715 Stability, new event 2023-05-28 08:18:50 +02:00
Zertex c300f1918c merge main 2023-05-27 19:54:43 -04:00
bitfl0wer 77ae3f10b6
run cargo fmt && cargo fix 2023-05-28 00:50:52 +02:00
bitfl0wer 503edf2fac
Move test to tests-dir 2023-05-27 22:51:43 +02:00
bitfl0wer 1e844445fc
Remove empty test 2023-05-27 22:47:46 +02:00
bitfl0wer 8ea0cc3f3f
Make password optional 2023-05-27 22:46:43 +02:00
bitfl0wer 927109e9b6
Move tests to tests/-dir 2023-05-27 22:46:27 +02:00
bitfl0wer a7d092fc3a
Fix build 2023-05-27 20:54:43 +02:00
bitfl0wer 0504f0a9d2
Merge branch 'refactor/application-default' 2023-05-27 20:46:19 +02:00