class MessageDocument(Document): text = fields.StringField(required=False) images = fields.ListField( fields.ImageField(collection_name='message_images'), required=False) document = fields.FileField(collection_name='message_documents', required=False) session = fields.ReferenceField(document_type=SessionDocument, required=True) room = fields.ReferenceField(document_type=ChatRoomDocument, required=True) seen_by = fields.ListField( fields.ReferenceField(document_type=SessionDocument), required=False) created_at = fields.DateTimeField(required=False) meta = {'collection': 'messages', 'ordering': ['-created_at']} @classmethod def set_timings(cls, sender, document, **kwargs): """ Set Created and expiration at on Save :param sender: :param document: :param kwargs: :return: """ document.created_at = datetime.utcnow()
class Image(Node): parent = fields.ReferenceField('Node', reverse_delete_rule=CASCADE) title = fields.StringField(required=True, max_length=300) # image/png, application/pdf etc content_type = fields.StringField(required=True, max_length=100) # image, video etc. asset_type = fields.StringField(required=True, max_length=100) content = fields.ImageField(thumbnail_size=(100, 100, True))
class Blog(Document): title = fields.StringField(max_length=50) image = fields.ImageField(thumbnail_size=(150, 150, False)) content = fields.StringField(max_length=None) author = fields.StringField() ddate_modified = fields.DateTimeField(default=datetime.datetime.utcnow) status = fields.IntField(choices=STATUS, default=1) # meta = {'allow_inheritance': True} class Meta: ordering = ['-created_on']
class Problem(Document): _id = fields.ObjectIdField() name = fields.StringField() types = fields.StringField() description = fields.ListField(fields.StringField()) images = fields.ListField(fields.ImageField()) formula = fields.ListField(fields.StringField()) sub = fields.ListField(fields.ReferenceField('Problem')) book = fields.ReferenceField('Book') chapter = fields.ReferenceField('Chapter') tags = fields.ListField(fields.ReferenceField('Tag')) solutions = fields.ListField(fields.ReferenceField('Solution'))
class user(Document): meta={"collection":"voters"} img=fields.ImageField(thumbnail_size=(150,150,False)) phoneno=fields.StringField(required=True) date=fields.StringField(required=True) month=fields.StringField(required=True) year=fields.StringField(required=True) voterno=fields.StringField(required=True) gender=fields.StringField(required=True) name=fields.StringField(required=True) addr=fields.StringField(required=True) district=fields.StringField(required=True) state=fields.StringField(required=True) pincode=fields.StringField(required=True) ac_no=fields.StringField(required=True)
class Template(db.Document): name = fields.StringField(required=True, unique=True) desc_image = fields.ImageField() providers = fields.ListField( fields.ReferenceField(Provider, reverse_delete_rule=DENY)) resources = fields.StringField(required=True) outputs = fields.StringField() variables = fields.StringField() user_variables = fields.EmbeddedDocumentListField(UserVariable) datasources = fields.StringField() def get_desc_image(self): bin_data = self.desc_image.read() if bin_data: return 'data:image/png;base64,' + b64encode(bin_data).decode() return None def to_dict(self): return dict(id=str(self.id), name=self.name, desc_image=self.get_desc_image(), providers=[{ 'id': str(_.id), 'name': _.name } for _ in self.providers], resources=self.resources, outputs=self.outputs, variables=self.variables, datasources=self.datasources, user_variables=[_.to_dict() for _ in self.user_variables]) def validate_syntax(self): with tempfile.TemporaryDirectory() as tempdir: generate_plan_files(tempdir, self.providers, self.resources, self.outputs, self.variables, self.datasources) fake_init = ' '.join(get_terraform_service().init()) delegator.run(f'{fake_init}', cwd=tempdir) validate_cmd = ' '.join( get_terraform_service().validate('-no-color')) cmd = delegator.run(f'{validate_cmd}', cwd=tempdir) if cmd.err: return False, cmd.err return True, None
class Item(Document): vendor_name = StringField(required=True) item_name = StringField(required=True) category = StringField(required=True) description = StringField(required=False) item_count = IntField(required=True) item_price = IntField(required=True) date_time = DateTimeField(default=datetime.datetime.now) item_image = fields.ImageField(thumbnail_size=(150, 150, False)) def to_json(self, *args, **kwargs): return dict(vendor_name=self.vendor_name, item_name=self.item_name, category=self.category, description=self.description, item_count=self.item_count, item_price=self.item_price, item_image=self.item_image, id=self.pk)
class User(Document): meta = {"colection": "my_test"} username = fields.StringField(required=True) profile_image = fields.ImageField(thumbnail_size=(150, 150, False))
class FileDoc(Document): f = fields.FileField(collection_name='files') i = fields.ImageField(collection_name='images')
class FileDoc(Document): image = fields.ImageField(collection_name='images')
class Image(Post): image = fields.ImageField(required=True)
class UserUploadImage(Document): data = fields.ImageField(required=True, size=(1024, 1024), thumbnail_size=(640, 200)) feature = fields.BinaryField() identity = fields.StringField()
class User_Map(Document): meta = {"collection": "container"} # db 밑에 컬렉션 생성 username = fields.StringField(required=True) profile_image = fields.ImageField(thumbnail_size=(150,150,False))
class User_OTP_P(Document): username = fields.StringField(required=True) meta = {"collection": "otp_intruder"} # db 밑에 컬렉션 생성 profile_image = fields.ImageField(thumbnail_size=(150,150,False))
class News(Document): timestamp = fields.DateTimeField(require=True, default=datetime.datetime.utcnow) news = fields.StringField() info = fields.DictField() img = fields.ImageField()
class User(Document): meta = {'collection':'my_users'} username = fields.StringField(required=True) profile_image = fields.ImageField(thumbnail_size=(150,150,False))
class Photo(Document): description = fields.StringField() image = fields.ImageField() poster = fields.ReferenceField(Poster, reverse_delete_rule=CASCADE)
class Solution(Document): _id = fields.ObjectIdField() description = fields.ListField(fields.StringField()) images = fields.ListField(fields.ImageField()) formula = fields.ListField(fields.StringField())