Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- {
- "type": "object",
- "title": "User schema",
- "$schema": "http://json-schema.org/draft-04/schema",
- "_event_handlers": {
- "before_create": ["check_school"]
- },
- "required": ["id", "email", "type", "first_name", "last_name"],
- "_nested_relationships": ["authproviders"],
- "_nesting_depth": 2,
- "properties": {
- "id": {
- "type": ["integer", "null"],
- "_db_settings": {
- "type": "id_field",
- "required": true,
- "primary_key": true
- }
- },
- "first_name": {
- "type": "string",
- "_db_settings": {
- "type": "string",
- "required": true
- }
- },
- "last_name": {
- "type": "string",
- "_db_settings": {
- "type": "string",
- "required": true
- }
- },
- "email": {
- "type": "string",
- "_db_settings": {
- "type": "string",
- "required": true,
- "unique": true
- },
- "_processors": ["validate_email"]
- },
- "type": {
- "type": "choice",
- "_db_settings": {
- "type": "choice",
- "choices": ["student", "teacher", "admin"],
- "required": true
- }
- },
- "study_topics": {
- "type": "list",
- "_db_settings": {
- "type": "list",
- "item_type": "string",
- "required": false
- }
- },
- "authproviders": {
- "_db_settings": {
- "type": "relationship",
- "document": "Authprovider",
- "backref_name": "user",
- "required": true
- }
- },
- "created_at": {
- "type": ["string", "null"],
- "format": "date-time",
- "_db_settings": {
- "type": "datetime",
- "default": "{{datetime.datetime.utcnow}}"
- }
- },
- "updated_at": {
- "type": ["string", "null"],
- "format": "date-time",
- "_db_settings": {
- "type": "datetime",
- "onupdate": "{{datetime.datetime.utcnow}}"
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement