53 lines
1.6 KiB
Python
53 lines
1.6 KiB
Python
from typing import ClassVar
|
|
from modules.database.tools.neontology.basenode import BaseNode
|
|
|
|
class CCBaseNode(BaseNode):
|
|
__primarylabel__: ClassVar[str] = ''
|
|
__primaryproperty__: ClassVar[str] = 'unique_id'
|
|
unique_id: str
|
|
tldraw_snapshot: str
|
|
|
|
def to_dict(self):
|
|
return {
|
|
"__primarylabel__": self.__primarylabel__,
|
|
"unique_id": self.unique_id,
|
|
"tldraw_snapshot": self.tldraw_snapshot,
|
|
}
|
|
|
|
class UserBaseNode(CCBaseNode):
|
|
__primarylabel__: ClassVar[str] = ''
|
|
cc_username: str
|
|
user_email: str
|
|
user_db_name: str
|
|
user_name: str
|
|
user_type: str
|
|
|
|
def to_dict(self):
|
|
return {
|
|
"__primarylabel__": self.__primarylabel__,
|
|
"unique_id": self.unique_id,
|
|
"tldraw_snapshot": self.tldraw_snapshot,
|
|
"cc_username": self.cc_username,
|
|
"user_db_name": self.user_db_name,
|
|
"user_email": self.user_email,
|
|
"user_name": self.user_name,
|
|
"user_type": self.user_type,
|
|
}
|
|
|
|
class WorkerBaseNode(CCBaseNode):
|
|
__primarylabel__: ClassVar[str] = ''
|
|
worker_name: str
|
|
worker_email: str
|
|
worker_db_name: str
|
|
worker_type: str
|
|
def to_dict(self):
|
|
return {
|
|
"__primarylabel__": self.__primarylabel__,
|
|
"unique_id": self.unique_id,
|
|
"tldraw_snapshot": self.tldraw_snapshot,
|
|
"worker_name": self.worker_name,
|
|
"worker_email": self.worker_email,
|
|
"worker_db_name": self.worker_db_name,
|
|
"worker_type": self.worker_type,
|
|
}
|