class TTY(db.Document): template = db.StringField(required=True) username = db.StringField(required=True) uri = db.DictField(required=True) readme = db.StringField(required=True) created = db.DateTimeField(default=datetime.now) destroyed = db.DateTimeField() ttl = db.IntField(default=604800) #7 days active = db.BooleanField(default=True) dry_run = db.BooleanField(default=False)
class Result(db.EmbeddedDocument): total_indents = 0 created_at = db.DateTimeField(default=datetime.datetime.now, required=True) passed = db.BooleanField(required=True) message = db.StringField(required=True) exception = db.StringField(max_length=255, required=False) step_results = db.ListField(db.EmbeddedDocumentField('self')) failed_state = db.ReferenceField('State', required=False) actual_state = db.ReferenceField('State', required=False) html = db.StringField(required=False) screenshot = db.StringField(required=False) def __str__(self): Result.total_indents += 1 message = "Executable Passed=%s %s \r\n" % (self.passed, self.message) for result in self.step_results: for indent in range(0, Result.total_indents): message += " " message += str(result) Result.total_indents -= 1 return message def __repr__(self): return "Result(%s,%s)" % (self.passed, self.message)
class Orders(db.Document): # contact info order_number = db.IntField() name = db.StringField(maxlength=255) phone_number = db.StringField(maxlength=10) # cake info cake_info = db.ListField() cake_size = db.StringField(maxlength=255) price = db.IntField() flavor_1 = db.StringField(maxlength=255) flavor_2 = db.StringField(maxlength=255) filling = db.StringField(maxlength=255) sales_category = db.StringField(maxlength=255, default="cake") # delivery info date_time = db.DateTimeField(default=datetime.utcnow()) # decoration info decoration = db.StringField(maxlength=255) print_out = db.BooleanField(default=False) celebrated_name = db.StringField(maxlength=255) celebrated_age = db.IntField() celebrated_text = db.StringField(maxlength=255) def __repr__(self): return "<MongoEngine Document: Orders :: New Cake Order>"
class Coupon(db.Document): coupon_id = db.IntField(unique=True) coupon_code = db.StringField(max_length=30, unique=True) amount = db.StringField(max_length=100) is_valid = db.BooleanField() QR_CODE_DATA = db.StringField(max_length=200) created_on = db.DateTimeField() modified_on = db.DateTimeField() def __unicode__(self): return str(self.coupon_id) def get_dict(self): return { 'coupon_id': self.coupon_id, 'coupon_code': self.coupon_code, 'amount': self.amount, 'is_valid': self.is_valid, 'QR_CODE_DATA': self.QR_CODE_DATA } def __repr__(self): return 'coupon_code ' + str(self.coupon_code) def save(self, *args, **kwargs): if self.coupon_id == None: try: self.coupon_id = self.__class__.objects.order_by( '-coupon_id')[0].coupon_id + 1 except IndexError: self.coupon_id = Coupon.objects.count() + 1 if not self.created_on: self.created_on = datetime.now() self.modified_on = datetime.now() super(Coupon, self).save(*args, **kwargs)
class User(db.Document, UserMixin): email = db.StringField(max_length=255) password = db.StringField(max_length=500) active = db.BooleanField(default=True) confirmed_at = db.DateTimeField() roles = db.ListField(db.ReferenceField(Role), default=[]) def save(self, *args, **kwargs): self.password = encrypt_password(self.password) self.confirmed_at = datetime.now() super(User, self).save(*args, **kwargs)
class Transaction(db.Document): cost = db.ReferenceField(Cost, dbref=False) pid = db.IntField() QR_CODE_DATA = db.StringField() total_cost = db.IntField() entry_time_stamp = db.DateTimeField() exit_time_stamp = db.DateTimeField() active = db.BooleanField(default=False) def __str__(self): return "total_cost: {}, cost: {}, entry: {}, exit: {}".format( self.total_cost, self.cost, self.entry_time_stamp, self.exit_time_stamp) def get_dict(self): return { 'total_cost': self.total_cost, 'entry_time_stamp': self.entry_time_stamp, 'exit_time_stamp': self.exit_time_stamp, 'pid': self.pid }