67 lines
1.8 KiB
Python
67 lines
1.8 KiB
Python
from lima import fields, Schema
|
|
|
|
|
|
class DomainSchema(Schema):
|
|
id = fields.Integer()
|
|
name = fields.String()
|
|
|
|
|
|
class RoleSchema(Schema):
|
|
id = fields.Integer()
|
|
name = fields.String()
|
|
|
|
|
|
class AccountSummarySchema(Schema):
|
|
id = fields.Integer()
|
|
name = fields.String()
|
|
domains = fields.Embed(schema=DomainSchema, many=True)
|
|
|
|
class ApiKeySummarySchema(Schema):
|
|
id = fields.Integer()
|
|
description = fields.String()
|
|
|
|
|
|
class ApiKeySchema(Schema):
|
|
id = fields.Integer()
|
|
role = fields.Embed(schema=RoleSchema)
|
|
domains = fields.Embed(schema=DomainSchema, many=True)
|
|
accounts = fields.Embed(schema=AccountSummarySchema, many=True)
|
|
description = fields.String()
|
|
key = fields.String()
|
|
|
|
|
|
class ApiPlainKeySchema(Schema):
|
|
id = fields.Integer()
|
|
role = fields.Embed(schema=RoleSchema)
|
|
domains = fields.Embed(schema=DomainSchema, many=True)
|
|
accounts = fields.Embed(schema=AccountSummarySchema, many=True)
|
|
description = fields.String()
|
|
plain_key = fields.String()
|
|
|
|
|
|
class UserSchema(Schema):
|
|
id = fields.Integer()
|
|
username = fields.String()
|
|
firstname = fields.String()
|
|
lastname = fields.String()
|
|
email = fields.String()
|
|
role = fields.Embed(schema=RoleSchema)
|
|
|
|
class UserDetailedSchema(Schema):
|
|
id = fields.Integer()
|
|
username = fields.String()
|
|
firstname = fields.String()
|
|
lastname = fields.String()
|
|
email = fields.String()
|
|
role = fields.Embed(schema=RoleSchema)
|
|
accounts = fields.Embed(schema=AccountSummarySchema, many=True)
|
|
|
|
class AccountSchema(Schema):
|
|
id = fields.Integer()
|
|
name = fields.String()
|
|
description = fields.String()
|
|
contact = fields.String()
|
|
mail = fields.String()
|
|
domains = fields.Embed(schema=DomainSchema, many=True)
|
|
apikeys = fields.Embed(schema=ApiKeySummarySchema, many=True)
|