post_verify_code_schema = { '$schema': 'http://json-schema.org/draft-07/schema#', 'description': 'POST schema for verifying a 2fa code', 'type': 'object', 'properties': { 'code': {'type': 'string'}, 'code_type': {'type': 'string'}, }, 'required': ['code', 'code_type'], 'additionalProperties': False } post_verify_webauthn_schema = { '$schema': 'http://json-schema.org/draft-07/schema#', 'description': 'POST schema for verifying a webauthn login attempt', 'type': 'object', 'properties': { 'successful': {'type': 'boolean'} }, 'required': ['successful'], 'additionalProperties': False } post_send_user_email_code_schema = { '$schema': 'http://json-schema.org/draft-07/schema#', 'description': ( 'POST schema for generating a 2fa email - "to" is required for legacy purposes. ' '"next" is an optional url to redirect to on sign in' ), 'type': 'object', 'properties': { # doesn't need 'to' as we'll just grab user.email_address. but lets keep it # as allowed to keep admin code cleaner, but only as null to prevent confusion 'to': {'type': 'null'}, 'email_auth_link_host': {'type': ['string', 'null']}, 'next': {'type': ['string', 'null']}, }, 'required': [], 'additionalProperties': False } post_send_user_sms_code_schema = { '$schema': 'http://json-schema.org/draft-07/schema#', 'description': 'POST schema for generating a 2fa sms', 'type': 'object', 'properties': { 'to': {'type': ['string', 'null']}, }, 'required': [], 'additionalProperties': False } post_set_permissions_schema = { "$schema": "http://json-schema.org/draft-07/schema#", "description": "POST schema for setting user permissions", "type": "object", "properties": { "permissions": {"type": "array", "items": {"type": "object"}}, "folder_permissions": {"type": "array", "items": {"type": "string"}} }, "required": ["permissions"], "additionalProperties": False }