35 lines
806 B
Python
Raw Permalink Normal View History

import json
from typing import List, Union
from pydantic import BaseModel
from datahub.api.entities.corpgroup.corpgroup import CorpGroup
from datahub.api.entities.corpuser.corpuser import CorpUser
"""
A handy script to generate schemas for the CorpUser and CorpGroup file formats
"""
class CorpUserList(BaseModel):
__root__: List[CorpUser]
class CorpGroupList(BaseModel):
__root__: List[CorpGroup]
class CorpUserFile(BaseModel):
__root__: Union[CorpUser, CorpUserList]
class CorpGroupFile(BaseModel):
__root__: Union[CorpGroup, CorpGroupList]
with open("user/user.dhub.yaml_schema.json", "w") as fp:
fp.write(json.dumps(CorpUserFile.schema(), indent=4))
with open("group/group.dhub.yaml_schema.json", "w") as fp:
fp.write(json.dumps(CorpGroupFile.schema(), indent=4))