class Currency(Document): _created_date = DateTimeField(default=datetime.datetime.utcnow) _key_created_user = ObjectIdField() _last_modified_date = DateTimeField(default=datetime.datetime.utcnow) _key_last_modified_user = ObjectIdField() _key_owner_user = ObjectIdField() code = StringField(required=True) name = StringField(required=True)
class Patient(Document): _id = ObjectIdField(default=ObjectId) name = StringField(max_length=20, required=True) email = EmailField(required=True, unique=True) password = StringField(required=True) healthOfficials = ListField(ObjectIdField()) notifs = ListField(EmbeddedDocumentField(PatientNotifications)) records = ListField(EmbeddedDocumentField(Record)) meta = {"collection": "patient"}
class Task(Document): name = StringField(required=True, max_length=30) requester_id = ObjectIdField(required=True) data_collection_id = ObjectIdField() questions = EmbeddedDocumentListField(Question) time_indication = FloatField(required=True) reward = FloatField(required=True) active = BooleanField(default=False) date_modified = DateTimeField(default=datetime.datetime.now) coordinates = PointField()
class Table(Document): name = StringField() dataset = ObjectIdField() project = ObjectIdField() num_bytes = IntField() num_records = IntField() schema = ListField() created = DateTimeField() modified = DateTimeField() partitioning = StringField()
class Trigger(Document): drip_campaign_id = ObjectIdField() node_from = ObjectIdField() node_to = ObjectIdField() opened = BooleanField() clicked = StringField() default = BooleanField() created_at = DateTimeField() updated_at = DateTimeField()
class HealthOfficial(Document): _id = ObjectIdField(default=ObjectId) name = StringField(max_length=20, required=True) email = EmailField(required=True, unique=True) password = StringField(required=True) patients = ListField(ObjectIdField()) consultationRequests = EmbeddedDocumentListField(ConsultationRequest) records = StringField() meta = {"collection": "healthOfficial"}
class Session(Document): task_id = ObjectIdField(required=True) task_data_id = ObjectIdField() worker_id = ObjectIdField(required=True) type = StringField(default='TASK', choices=SESSION_TYPES) state = IntField(default=0) answers = EmbeddedDocumentListField(Answer) validated = BooleanField(default=False) status = StringField(default='ACTIVE', choices=SESSION_STATUS) cache = DictField()
class PFSettings(DynamicEmbeddedDocument): TYPE_REPO = ( ('file', 'File'), ('data', 'Data repository'), ) repository_type = StringField( choices=TYPE_REPO, default='file', required=True, help_text=_("Type of repository where Vulture will store PF logs")) data_repository = ObjectIdField() syslog_repository = ObjectIdField() pf_rules = ListField(EmbeddedDocumentField(PfRules)) pf_limit_states = IntField(required=True, default=100000, help_text=_( 'Maximum number of entries in the memory ' 'pool used for state table entries (keep ' 'state).')) pf_limit_frags = IntField(required=True, default=25000, help_text=_( 'Maximum number of entries in the memory ' 'pool used for packet reassembly (scrub ' 'rules).')) pf_limit_src = IntField(required=True, default=50000, help_text=_( 'Maximum number of entries in the memory ' 'pool used for tracking source IP addresses')) pf_blacklist = StringField(required=False, default="") pf_whitelist = StringField(required=False, default="") pf_rules_text = StringField(required=False, default=""" #Never remove this line {{rule}} """) def to_template(self): return self.to_mongo() @property def repository(self): """ Property used to map repository field to Repository Object :return: """ if self.repository_type == 'data': return BaseAbstractRepository.search_repository( self.data_repository) return self.repository_type
class EngineSpeed(Document): _created_date = DateTimeField(default=datetime.datetime.utcnow) _key_created_user = ObjectIdField() _last_modified_date = DateTimeField(default=datetime.datetime.utcnow) _key_last_modified_user = ObjectIdField() _key_owner_user = ObjectIdField() _key_organization = ReferenceField(Organization, required=True, reverse_delete_rule=2) engine_speed = IntField(required=True)
class Challange(Document): name = StringField(max_length=200) created_date = DateTimeField() created_user = ObjectIdField() category_name = ObjectIdField() challange_type = ObjectIdField() type_of_submission = ObjectIdField() hours_to_complete = IntField(default=0) number_of_reports = IntField(default=0) age_restricted = BooleanField(default=False) discription = StringField(max_length=1000)
class community(Document): name = StringField(max_length=200) discription = StringField(max_length=200) no_of_participants = IntField(default=0) Heads = ListField(ObjectIdField()) participants = ListField(ObjectIdField()) group_challanges = ListField(ObjectIdField()) messages = ListField(ObjectIdField()) community_blog = ListField(ObjectIdField()) photo = FileField() createdAt = DateTimeField(default=datetime.now())
class Volume(Document): _created_date = DateTimeField(default=datetime.datetime.utcnow) _key_created_user = ObjectIdField() _last_modified_date = DateTimeField(default=datetime.datetime.utcnow) _key_last_modified_user = ObjectIdField() _key_owner_user = ObjectIdField() _key_organization = ReferenceField(Organization, required=True, reverse_delete_rule=2) volume = StringField(required=True)
class PursantajOranlari(Document): _created_date = DateTimeField(default=datetime.datetime.utcnow) _key_created_user = ObjectIdField() _last_modified_date = DateTimeField(default=datetime.datetime.utcnow) _key_last_modified_user = ObjectIdField() _key_owner_user = ObjectIdField() _key_organization = ReferenceField(Organization, required=True) pursantaj_tipi = StringField(required=True) orani = DecimalField(required=True)
class Column(Document): board_id = ObjectIdField(required=True) cards = ListField(ReferenceField(Card, reverse_delete_rule=PULL)) created = DateTimeField(required=True, default=datetime.utcnow) created_by = ObjectIdField(required=True) # TODO add last updated field # pylint: disable=fixme name = StringField(required=True, min_length=1, max_length=256) def delete(self, signal_kwargs=None, **write_concern): safely_delete_documents(self.cards) super().delete(signal_kwargs, **write_concern)
class HealthOfficial(Document): _id = ObjectIdField(default=ObjectId) name = StringField(max_length=20, required=True) email = EmailField(required=True, unique=True) password = StringField(required=True) patients = ListField(ObjectIdField()) # outgoingRequests = ListField( # ReferenceField(Notifications, reverse_delete_rule=NULLIFY) # ) records = StringField() meta = {"collection": "healthOfficial"}
class Node(Document): drip_campaign_id = ObjectIdField() title = StringField() description = StringField() done = BooleanField() start_time = DateTimeField() content = EmbeddedDocumentField(Content) initial = BooleanField() segment_oid = ObjectIdField() campaign_id = StringField() created_at = DateTimeField() updated_at = DateTimeField()
class Group(Document): group_name = StringField(unique=True, required=True) group_type = StringField(required=True) users = ListField(ObjectIdField(), default=[]) posts = ListField(ObjectIdField(), default=[]) meta = {"collection": "groups"} def to_dict(self) -> dict: return self.to_mongo().to_dict() def __str__(self): return str(self.to_dict())
class EmploymentAnalysis(Document): _created_date = DateTimeField(default=datetime.datetime.utcnow) _key_created_user = ObjectIdField() _last_modified_date = DateTimeField(default=datetime.datetime.utcnow) _key_last_modified_user = ObjectIdField() _key_owner_user = ObjectIdField() analysis_date = StringField(required=True) _key_organization = ReferenceField(Organization, required=True) _key_kat_hesap_tipi = ReferenceField(KatHesapTipleri, required=True) _key_pursantaj_orani = ReferenceField(PursantajOranlari, required=True) birim_fiyat = DecimalField(required=True)
class Event(Document): """ Event class. Inherits from :class:`mongoengine.Document` Index: issue_id, #external_id, (issue_id, -created_at) ShardKey: external_id, issue_id :property external_id: (:class:`~mongoengine.fields.StringField`) id that was assigned from the issue system to this event :property issue_id: (:class:`~mongoengine.fields.ObjectIdField`) id of the :class:`~pycoshark.mongomodels.Issue` to which this event belongs :property created_at: (:class:`~mongoengine.fields.DateTimeField`) date when the event was created :property status: (:class:`~mongoengine.fields.StringField`) shows, what part of the issue was changed :property author_id: (:class:`~mongoengine.fields.ObjectIdField`) id of the :class:`~pycoshark.mongomodels.People` document that created the event :property old_value: (:class:`~mongoengine.fields.DynamicField`) value before the event happened :property new_value: (:class:`~mongoengine.fields.DynamicField`) value after the event happened """ meta = { 'indexes': [ 'issue_id', ], 'shard_key': ('external_id', 'issue_id'), } # PK: external_id, issue_id # Shard Key: external_id, issue_id external_id = StringField(unique_with=['issue_id']) issue_id = ObjectIdField() created_at = DateTimeField() status = StringField(max_length=50) author_id = ObjectIdField() commit_id = ObjectIdField() old_value = DynamicField() new_value = DynamicField() def __str__(self): return "external_id: %s, issue_id: %s, created_at: %s, status: %s, author_id: %s, " \ "old_value: %s, new_value: %s, commit_id: %s" % ( self.external_id, self.issue_id, self.created_at, self.status, self.author_id, self.old_value, self.new_value, self.commit_id )
class Edge(Document): meta = {"allow_inheritance": True} # SCHEMA src_node_id = ObjectIdField(required=True) dst_node_id = ObjectIdField(required=True) scans = ListField(DynamicField(), default=[]) exploits = ListField(DynamicField(), default=[]) tunnel = BooleanField(default=False) exploited = BooleanField(default=False) src_label = StringField() dst_label = StringField() group = StringField() domain_name = StringField() ip_address = StringField()
class SearchResult(Document): """ @summary: 记录各个平台的搜索结果信息 """ feed_id = ObjectIdField() # 该订阅在pinbot的id search_time = DateTimeField() # 该订阅搜索时间 resume_urls = ListField() # 对应于的平台的url列表 resume_id_list = ListField(ObjectIdField()) # 对应于pinbot平台的id列表 plantform = StringField() # 对应于的平台 keywords_str = StringField() # 提交的关键词字符串 related_num = IntField() # 对应的搜索结果总量 new_count = IntField() # 对应于Pinbot平台的简历新增数量 area_list = ListField(StringField())
class Model(self.me.Document): meta = {'collection': 'model'} float_mapping = MapField(FloatField()) string_mapping = MapField(StringField()) object_id_mapping = MapField(ObjectIdField()) reference_mapping = MapField(EmbeddedDocumentField(ReferenceModel))
class Dashboard(CriptsDocument, CriptsSchemaDocument, DynamicDocument): """ dashboard class """ meta = { "collection": "dashboard", "cripts_type": "dashboard", "latest_schema_version": 1, "schema_doc": {} } name = StringField(required=True) analystId = ObjectIdField(required=False) theme = StringField(required=True, default="default") isPublic = BooleanField(required=True, default=False) parent = ObjectIdField(required=False) hasParentChanged = BooleanField(required=True, default=False)
class Posts(Document): title = StringField() url = StringField() content = StringField() metatag = DictField(EmbeddedDocumentField(PostMetatag)) categorys = ListField(EmbeddedDocumentField(PostCategory)) authors = ListField(ObjectIdField()) status = StringField(choices=POST_STATUS) updated_at = DateTimeField() created_at = DateTimeField() meta = { 'auto_create_index': True, 'index_background': True, 'indexes': [{ 'name': 'status', 'fields': ( 'status', 'created_at', ) }, { 'name': 'url', 'fields': ('url', ), 'unique': True }] }
class Auth(Base): """ 权限表 """ group_id = ObjectIdField() # 所属权限组id auth = StringField() # 权限字段 module = StringField # 权限的模块
class SnuggleIndex(CritsDocument, Document): """Snugglefish Index Document Object""" meta = { "collection": 'snugglefish_indexes', "crits_type": 'snugglefish_index', "latest_schema_version": 1, "schema_doc": { 'name': "Name of this index", 'name': "Directory where this index lives", 'query': "Query for this index", 'created': "Date this index was created", 'last_update': "Date this index was last updated", 'last_id': "Last object ID fetched for this index", 'total': "Total number of objects available for this index", 'count': "Total number of objects fetched for this index" }, } name = StringField(required=True) directory = StringField(required=True) query = StringField(required=True) created = CritsDateTimeField(required=True) last_update = CritsDateTimeField() last_id = ObjectIdField() total = IntField(default=0) count = IntField(default=0) def migrate(self): pass
class OrderModel(Document): _id = ObjectIdField(primary_key=True, default=ObjectId) user = ReferenceField(UserModel) sketch = ReferenceField(SketchModel) date = DateTimeField(default=datetime.utcnow) status = StringField(default="Standby", choices=("Standby", "Printing", "Finished"), required=True) meta = {"collection": "orders", "ordering": ["-date"]} @classmethod def create_order(cls, user, sketch) -> None: OrderModel(user=user, sketch=sketch).save() @classmethod def get_orders_by_user(cls, user: "******") -> "List[OrderModel]": orders = OrderModel.objects(user=user) return orders @classmethod def get_all_orders(cls) -> "List[OrderModel]": orders = OrderModel.objects().exclude('user') return orders @classmethod def change_status(cls): pass
class UserModel(Document): _id = ObjectIdField(primary_key=True, default=ObjectId) first_name = StringField(max_length=20) last_name = StringField(max_length=20) username = StringField(required=True, unique=True) password = StringField(required=True) email = EmailField(required=True, unique=True) meta = {"collection": "users"} @classmethod def register_user(cls, **kwargs) -> None: UserModel(**kwargs).save() @classmethod def get_user_by_id(cls, _id: str) -> "UserModel": for user in UserModel.objects(_id=_id): return user @classmethod def get_user_by_username(cls, username: str) -> "UserModel": for user in UserModel.objects(username=username): return user @classmethod def get_user_by_email(cls, email: str) -> "UserModel": for user in UserModel.objects(email=email): return user
class EmbeddedSubscription(EmbeddedDocument, CritsDocumentFormatter): """ Embedded Subscription """ _id = ObjectIdField(required=True, db_field="id") date = DateTimeField(default=datetime.datetime.now)
class DatasetModel(EmbeddedDocument): id = ObjectIdField(required=True, default=lambda: ObjectId()) status: str = StringField(choices=STATUS, default="not started") model_config: dict = DictField(validation=_validate_model_config, default=dict) analysis: ModelAnalysis = EmbeddedDocumentField( ModelAnalysis, default=lambda: ModelAnalysis()) pickled_model_path: str = StringField() exported_model_path: str = StringField() log_path: str = StringField() confusion_matrix_path: str = StringField() shap_model_path: str = StringField() def to_json(self): return { "id": str(self.id), "status": self.status, "model_config": self.model_config, "analysis": self.analysis.to_json() } def delete_data(self): if self.pickled_model_path: shutil.rmtree(Path(self.pickled_model_path).parent, ignore_errors=True)