diff --git a/app/datalake/utils.py b/app/datalake/utils.py index b869875..e745565 100644 --- a/app/datalake/utils.py +++ b/app/datalake/utils.py @@ -1,9 +1,9 @@ # -*- coding: utf-8 -*- +import json import pandas as pd from typing import Callable from loguru import logger - REGISTERED_FORMATTERS = {} @@ -77,9 +77,9 @@ def flatten( for key, value in flattened.items(): updated_record[f"{field}__{key}"] = value else: - updated_record[field] = str(content) + updated_record[field] = json.dumps(content) elif isinstance(content, list) and depth >= list_max_depth: - updated_record[field] = str(content) + updated_record[field] = json.dumps(content) else: updated_record[field] = content diff --git a/app/models.py b/app/models.py index fe67875..a20713f 100644 --- a/app/models.py +++ b/app/models.py @@ -267,6 +267,7 @@ class Meta: class User(Model): id = fields.IntField(pk=True) username = fields.CharField(max_length=255, unique=True) + role = fields.CharField(max_length=255, null=True) name = fields.CharField(max_length=255, null=True) cpf = fields.CharField(max_length=11, unique=True, null=True, validators=[CPFValidator()]) email = fields.CharField(max_length=255, unique=True) diff --git a/app/routers/frontend.py b/app/routers/frontend.py index 388515c..52646d7 100644 --- a/app/routers/frontend.py +++ b/app/routers/frontend.py @@ -31,6 +31,7 @@ async def get_user_info( return { "name": user.name, + "role": user.role, "email": user.email, "username": user.username, "cpf": cpf, diff --git a/app/types/frontend.py b/app/types/frontend.py index fb3e502..24b6bc5 100644 --- a/app/types/frontend.py +++ b/app/types/frontend.py @@ -48,6 +48,7 @@ class UserInfo(BaseModel): cpf: Optional[str] username: Optional[str] email: Optional[str] + role: Optional[str] class Professional(BaseModel): name: str diff --git a/migrations/app/25_20240816161616_update.py b/migrations/app/25_20240816161616_update.py new file mode 100644 index 0000000..44743ba --- /dev/null +++ b/migrations/app/25_20240816161616_update.py @@ -0,0 +1,12 @@ +# -*- coding: utf-8 -*- +from tortoise import BaseDBAsyncClient + + +async def upgrade(db: BaseDBAsyncClient) -> str: + return """ + ALTER TABLE "user" ADD "role" VARCHAR(255);""" + + +async def downgrade(db: BaseDBAsyncClient) -> str: + return """ + ALTER TABLE "user" DROP COLUMN "role";"""