Skip to content

Commit

Permalink
CTD-1861 modify schemas
Browse files Browse the repository at this point in the history
  • Loading branch information
Dasha Syvyuk authored and Dasha Syvyuk committed Apr 6, 2022
1 parent 8f1b6c8 commit 80b01b1
Show file tree
Hide file tree
Showing 3 changed files with 41 additions and 10 deletions.
3 changes: 2 additions & 1 deletion livestyled/models/__init__.py
Expand Up @@ -54,7 +54,7 @@
from livestyled.models.ticket import Ticket
from livestyled.models.ticket_auth import TicketAuth
from livestyled.models.ticket_integration import TicketIntegration
from livestyled.models.user import User, UserAlias, UserEmail, UserInfo, UserSSO
from livestyled.models.user import User, UserAlias, UserAliasType, UserEmail, UserInfo, UserSSO
from livestyled.models.venue import Venue
from livestyled.models.widget import Widget, WidgetVariation

Expand Down Expand Up @@ -117,6 +117,7 @@
TicketAuth,
TicketIntegration,
UserAlias,
UserAliasType,
UserEmail,
UserInfo,
User,
Expand Down
31 changes: 28 additions & 3 deletions livestyled/models/user.py
Expand Up @@ -265,16 +265,39 @@ def user(self):
return self._user


class UserAliasType:
def __init__(
self,
id: int,
user_alias_type: str
):
self.id = id
self.user_alias_type = user_alias_type

@classmethod
def placeholder(
cls,
id
):
return cls(
id=id
)


class UserAlias:
def __init__(
self,
user_alias_type,
user,
value
value,
updated_at: datetime,
created_at: datetime
):
self.user_alias_type = user_alias_type
self.user_alias_type = User.placeholder(int(user_alias_type))
self.user = User.placeholder(int(user))
self.value = value
self.created_at = created_at
self.updated_at = updated_at

@classmethod
def create_new(
Expand All @@ -286,7 +309,9 @@ def create_new(
user_alias = UserAlias(
user=user,
user_alias_type=user_alias_type,
value=value
value=value,
updated_at=None,
created_at=None
)
return user_alias

Expand Down
17 changes: 11 additions & 6 deletions livestyled/schemas/user.py
@@ -1,6 +1,6 @@
from marshmallow import EXCLUDE, fields, Schema

from livestyled.models.user import User, UserAlias, UserConsent, UserEmail, UserInfo, UserSSO
from livestyled.models.user import User, UserAlias, UserAliasType, UserConsent, UserEmail, UserInfo, UserSSO
from livestyled.schemas.cohort import CohortSchema
from livestyled.schemas.device import DeviceSchema
from livestyled.schemas.fields import RelatedResourceField, RelatedResourceLinkField
Expand Down Expand Up @@ -61,20 +61,25 @@ class Meta:
class UserAliasTypeSchema(Schema):
class Meta:
unknown = EXCLUDE
model = UserAlias
api_type = 'user_alias_types'
url = 'user_management/user_alias_types'
model = UserAliasType

user_alias_type = fields.String(data_key='userAliasType', missing=None, allow_none=True)


class UserAliasSchema(Schema):
class Meta:
unknown = EXCLUDE
api_type = 'user_alias'
api_type = 'user_aliases'
url = 'user_management/user_aliases'
model = UserAlias

value = fields.String(data_key='value', missing=None, allow_none=True)
user_alias_type = RelatedResourceLinkField(schema=UserAliasTypeSchema, data_key='userAliasType')
id = fields.Int()
user_alias_type = RelatedResourceLinkField(data_key='userAliasType', schema=UserAliasTypeSchema, microservice_aware=True)
value = fields.String(missing=None)
updated_at = fields.AwareDateTime(data_key='updatedAt', allow_none=True, missing=None)
created_at = fields.AwareDateTime(data_key='createdAt', allow_none=True, missing=None)


class UserSchema(Schema):
Expand All @@ -99,7 +104,7 @@ class Meta:
user_emails = RelatedResourceField(schema=UserEmailSchema, data_key='userEmails', many=True)
user_consent = RelatedResourceField(schema=UserConsentSchema, data_key='userConsent')
token = fields.String(missing=None)
user_aliases = RelatedResourceLinkField(schema=UserAliasSchema, many=True)
user_aliases = RelatedResourceLinkField(schema=UserAliasSchema, data_key='userAliases', many=True)


class UserSSOSchema(Schema):
Expand Down

0 comments on commit 80b01b1

Please sign in to comment.