mirror of
https://github.com/fluxerapp/fluxer
synced 2026-10-19 05:55:34 +09:00
refactor: simplify account standing and verification levels (#3130)
This commit is contained in:
1 parent
1abde06824
commit
1ec8f31253
488 files changed
+10390
-47117
No files matched your search
@@ -55,14 +55,13 @@ A body with none of those fields resolves to no ACL at all and applies no change
|
||||
[Queue bulk job](/admin-api/bulk-jobs/#queue-bulk-job) maps its `task` discriminator to one ACL and requires that one.
|
||||
|
||||
- `update_user_flags` maps to `bulk:update:user_flags`.
|
||||
- `update_suspicious_activity_flags` maps to `bulk:update:suspicious_activity`.
|
||||
- `update_guild_features` maps to `bulk:update:guild_features`.
|
||||
- `add_guild_members` maps to `bulk:add:guild_members`.
|
||||
- `schedule_user_deletion` maps to `bulk:delete:users`.
|
||||
|
||||
Fluxer checks each ACL an Admin grants against the ACLs that Admin holds. [Set user ACLs](/admin-api/users/#set-user-acls) and [Create Admin API key](/admin-api/api-keys/#create-admin-api-key) both refuse to write an ACL the acting Admin does not itself hold, with 403 `MISSING_ACL`. A wildcard holder is exempt. Set user ACLs also refuses the acting Admin's own account with 403 `ACCESS_DENIED`, and it looks up the target account before it checks the granted ACLs, so an unknown ID fails first with 404 `UNKNOWN_USER`.
|
||||
|
||||
[Set user ACLs](/admin-api/users/#set-user-acls), [Create Admin API key](/admin-api/api-keys/#create-admin-api-key), and [Update Admin API key](/admin-api/api-keys/#update-admin-api-key) each accept at most 111 ACLs and validate every entry against the registry, so a value outside it returns 400 `INVALID_FORM_BODY`.
|
||||
[Set user ACLs](/admin-api/users/#set-user-acls), [Create Admin API key](/admin-api/api-keys/#create-admin-api-key), and [Update Admin API key](/admin-api/api-keys/#update-admin-api-key) each accept at most 107 ACLs and validate every entry against the registry, so a value outside it returns 400 `INVALID_FORM_BODY`.
|
||||
|
||||
:::caution[`*` satisfies every present and future ACL]
|
||||
A key whose owning account holds `*` skips the owner check. An Admin holding `*` can grant any ACL.
|
||||
@@ -330,7 +329,6 @@ An entry with any other action has `access` set to `write`.
|
||||
| bulk_delete_user_messages | A queued bulk message deletion job was applied |
|
||||
| bulk_schedule_deletion | A bulk account deletion schedule was queued or applied |
|
||||
| bulk_update_guild_features | A bulk guild feature change was queued or applied |
|
||||
| bulk_update_suspicious_activity_flags | A bulk suspicious activity flag change was queued or applied |
|
||||
| bulk_update_user_flags | A bulk account flag change was queued or applied |
|
||||
| cancel_bulk_message_deletion | A bulk message deletion an account scheduled for itself was cancelled |
|
||||
| cancel_deletion | A scheduled account deletion was cancelled |
|
||||
@@ -351,7 +349,6 @@ An entry with any other action has `access` set to `write`.
|
||||
| delete_voice_server | A registered voice server was deleted |
|
||||
| delete_webauthn_credential | A WebAuthn credential was removed from an account |
|
||||
| disable_mfa | Multi-factor authentication was disabled on an account |
|
||||
| disable_suspicious_activity | An account flagged for suspicious activity was disabled |
|
||||
| force_add_to_guild | An account was added to a guild while bypassing the ban check |
|
||||
| generate_gift_codes | Gift codes were generated |
|
||||
| kick_member | A member was removed from a guild |
|
||||
@@ -402,13 +399,11 @@ An entry with any other action has `access` set to `write`.
|
||||
| update_features | Guild features were added or removed |
|
||||
| update_guild | A guild update with no field group was sent |
|
||||
| update_flags | Account flags were changed |
|
||||
| update_has_verified_phone | Verified phone state was changed |
|
||||
| update_instance_config | The instance configuration was updated |
|
||||
| update_limit_config | The limit configuration was replaced |
|
||||
| update_name | A guild name was changed |
|
||||
| update_premium_flags | Premium flags were changed |
|
||||
| update_settings | General guild settings were changed |
|
||||
| update_suspicious_activity_flags | Suspicious activity flags were replaced |
|
||||
| update_vanity | A guild custom invite code was changed |
|
||||
| update_voice_region | A voice region was updated |
|
||||
| update_voice_server | A registered voice server was updated |
|
||||
@@ -481,7 +476,7 @@ Returns every Admin permission string the instance recognises, in [ACL registry]
|
||||
|
||||
| Field | Type | Description |
|
||||
| --- | --- | --- |
|
||||
| acls<sup>1</sup> | array[string] | The permission strings the Admin API recognises (at most 111 entries) |
|
||||
| acls<sup>1</sup> | array[string] | The permission strings the Admin API recognises (at most 107 entries) |
|
||||
|
||||
<sup>1</sup> The response is the registry itself and does not vary with the caller's own ACL set
|
||||
|
||||
@@ -548,7 +543,6 @@ The registry is returned in this order by [List ACLs](#list-acls). A value outsi
|
||||
| bulk:delete:users | Queues the bulk account deletion task |
|
||||
| bulk:delete:user_messages | Queues the bulk message deletion task |
|
||||
| bulk:update:guild_features | Queues the bulk guild feature task |
|
||||
| bulk:update:suspicious_activity | Queues the bulk suspicious activity flag task |
|
||||
| bulk:update:user_flags | Queues the bulk account flag task |
|
||||
| csam:submit_ncmec | Submits an attachment through the NCMEC reporting integration |
|
||||
| discovery:remove | Removes a guild from [discovery](/admin-api/discovery/) |
|
||||
@@ -584,7 +578,6 @@ The registry is returned in this order by [List ACLs](#list-acls). A value outsi
|
||||
| system_dm:send | Sends an official direct message from the instance to one or many accounts |
|
||||
| user:cancel:bulk_message_deletion | Cancels the bulk message deletion an account scheduled for itself |
|
||||
| user:delete | Schedules or cancels account deletion |
|
||||
| user:disable:suspicious | Disables a user for suspicious activity |
|
||||
| user:list:dm_channels | Reads a user's direct message and group direct message channels |
|
||||
| user:list:guilds | Reads a user's guild memberships |
|
||||
| user:list:relationships | Reads a user's relationships |
|
||||
@@ -601,9 +594,7 @@ The registry is returned in this order by [List ACLs](#list-acls). A value outsi
|
||||
| user:update:email | Updates the email address, marks the address verified, resends verification, and sends a password reset |
|
||||
| user:update:flags | Updates account flags and premium flags, refreshes in-app purchases, and ends every login session of an account |
|
||||
| user:update:mfa | Reads and removes a user's WebAuthn credentials, and removes MFA state |
|
||||
| user:update:phone | Updates verified phone state |
|
||||
| user:update:profile | Clears profile fields |
|
||||
| user:update:suspicious_activity | Replaces suspicious activity flags |
|
||||
| user:update:traits | Replaces account traits |
|
||||
| user:update:username | Updates usernames and discriminators |
|
||||
| voice:region:create | Creates [voice](/admin-api/voice/) regions |
|
||||
|
||||
Reference in new issue
Block a user