Пример #1
0
class GivePost(me.EmbeddedDocument):
    _id = me.ObjectIdField(required=True)
    postID = me.ObjectIdField(required=True)
    #asking = me.BooleanField(required=True)
    item = me.StringField(required=True)
    created = me.DateTimeField(required=True)
    explanation = me.StringField(required=True)
    radius = me.IntField(required=True)
Пример #2
0
class LawDivision(moe.Document):
    law_code = moe.StringField()
    parent_id = moe.ObjectIdField()
    version = moe.StringField()
    division = moe.StringField()
    title = moe.StringField()
    source = moe.ObjectIdField()
    leaf = moe.BooleanField()
Пример #3
0
class Booking(mongoengine.EmbeddedDocument):
    guest_user_id = mongoengine.ObjectIdField()
    guest_bird_id = mongoengine.ObjectIdField()
    booked_date = mongoengine.DateTimeField()
    checked_in = mongoengine.DateTimeField(required=True)
    checked_out = mongoengine.DateTimeField(required=True)

    ratings = mongoengine.IntField(default=0)
    reviews = mongoengine.StringField()
Пример #4
0
class Reservation(mongoengine.Document):
    therapist_id = mongoengine.ObjectIdField()
    member_id = mongoengine.ObjectIdField()
    total_price = mongoengine.IntField()
    start_time = mongoengine.DateTimeField()
    end_time = mongoengine.DateTimeField()
    buffer_start = mongoengine.IntField(default=15)
    buffer_end = mongoengine.IntField(default=15)
    services_id = mongoengine.ListField()
    address = mongoengine.DictField()
Пример #5
0
class Booking(mongoengine.EmbeddedDocument):
    guest_owner_id = mongoengine.ObjectIdField(default=None, null=True)
    guest_snake_id = mongoengine.ObjectIdField(default=None, null=True)

    booked_date = mongoengine.DateTimeField()
    check_in_date = mongoengine.DateTimeField(required=True)
    check_out_date = mongoengine.DateTimeField(required=True)

    review = mongoengine.StringField()
    rating = mongoengine.IntField(default=0)
Пример #6
0
class Comment(gj.Document):
    meta = {'queryset_class': fm.BaseQuerySet}
    user = db.ReferenceField(User,
                             required=True,
                             reverse_delete_rule=db.CASCADE)
    comment = db.StringField()
    sub_comments = db.ListField(db.ReferenceField('self'),
                                reverse_delete_rule=db.CASCADE)
    created_at = db.LongField(required=True)
    thumb_up_user_ids = db.ListField(db.ObjectIdField())
    thumb_down_user_ids = db.ListField(db.ObjectIdField())
class Booking(m.EmbeddedDocument):
	registered_date=m.DateTimeField(default=datetime.datetime.now)
	oid=m.ObjectIdField(required=True, default=lambda: ObjectId())
	beds=m.IntField(required=True, choices=bed_options)
	hotel=m.StringField(required=True)

	customerid=m.ObjectIdField()
	check_in_date=m.DateTimeField(required=True)
	check_out_date=m.DateTimeField(required=True)

	cost=m.FloatField()
Пример #8
0
class ProductVariant(mongoengine.Document, SearchableMixin):
    __tablename__ = 'variant_mongo'
    __searchable__ = ['price']
    price = mongoengine.StringField(max_length=60, required=True)
    product_id = mongoengine.ObjectIdField(required=True)
    store_id = mongoengine.ObjectIdField(required=True)
    color_id = mongoengine.ObjectIdField(required=True)
    meta = {'allow_inheritance': True}

    def __repr__(self):
        return '<ProductVariant %r>' % (self.price)
Пример #9
0
class Booking(mongoengine.EmbeddedDocument):
    guest_owner_id = mongoengine.ObjectIdField()
    guest_id = mongoengine.ObjectIdField()
    booked_date = mongoengine.DateTimeField()
    check_in_date = mongoengine.DateTimeField(required=True)
    check_out_date = mongoengine.DateTimeField(required=True)
    review = mongoengine.StringField()
    rating = mongoengine.FloatField(min=0.0)

    @property
    def duration_in_days(self):
        return (self.check_out_date - self.check_in_date).days
Пример #10
0
class Availability(mongoengine.EmbeddedDocument):
    guest_owner_id = mongoengine.ObjectIdField()
    guest_snake_id = mongoengine.ObjectIdField()

    added_date = mongoengine.DateTimeField()
    from_date = mongoengine.DateTimeField(required=True)
    to_date = mongoengine.DateTimeField(required=True)

    @property
    def duration_in_days(self):
        dt = self.from_date - self.to_date
        return dt.days
Пример #11
0
class Booking(
        mongoengine.EmbeddedDocument
):  # here EmbeddedDocument because Booking belongs to another document
    guest_owner_id = mongoengine.ObjectIdField(
    )  # this is a reference hece, the ObjectIdField
    guest_snake_id = mongoengine.ObjectIdField()

    booked_date = mongoengine.DateTimeField()
    check_in_date = mongoengine.DateTimeField(required=True)
    check_out_date = mongoengine.DateTimeField(required=True)

    review = mongoengine.StringField()
    rating = mongoengine.IntField(default=0)
Пример #12
0
class EmbeddedMessage(db.EmbeddedDocument):
    meta = {
        'strict': False,
        'queryset_class': fm.BaseQuerySet,
    }
    # Document: _id, Embedded document: id.
    id = db.ObjectIdField(required=True, default=lambda: ObjectId())
    conversation_id = db.ObjectIdField()
    category = db.StringField(choices=["MESSAGE", "VOICE", "IMAGE", "VIDEO", "SYSTEM"], default="MESSAGE")
    url = db.StringField()
    user_id = db.ObjectIdField()
    message = db.StringField()
    created_at = db.LongField(required=True)
Пример #13
0
class User(me.Document):
    _id = me.ObjectIdField(required=True)
    userID = me.ObjectIdField(required=True)
    email = me.EmailField(required=True)
    password = me.StringField(required=True)
    username = me.StringField(required=True)
    firstName = me.StringField(required=True)
    lastName = me.StringField(requried=True)
    phone = me.StringField(required=True)
    created = me.DateTimeField(required=True)
    location = me.EmbeddedDocumentField(Location)
    rating = me.LongField()
    askPosts = me.EmbeddedDocumentListField(AskPost)
    givePosts = me.EmbeddedDocumentListField(GivePost)
Пример #14
0
class Booking(mongoengine.EmbeddedDocument):
    guest_owner_id = mongoengine.ObjectIdField()
    guest_snake_id = mongoengine.ObjectIdField()

    booked_date = mongoengine.DateTimeField()
    check_in_date = mongoengine.DateTimeField(required=True)
    check_out_date = mongoengine.DateTimeField(required=False)

    review = mongoengine.StringField()
    rating = mongoengine.IntField(default=0)

    @property
    def duration_in_days(self) -> int:
        date = self.check_out_date - self.check_in_date
        return date.days
Пример #15
0
class Booking(
        mongoengine.EmbeddedDocument
):  # This class on the other hand is a subclass of an embedded document
    # This is so we can embed it into our cages class.
    # It means that this class is a not a top level item in mongodb basically,
    # It's just put into a top level class (a document! :))
    guest_owner_id = mongoengine.ObjectIdField()
    guest_snake_id = mongoengine.ObjectIdField()

    booked_date = mongoengine.DateTimeField()
    check_in_date = mongoengine.DateTimeField(required=True)
    check_out_date = mongoengine.DateTimeField(required=True)

    review = mongoengine.StringField()
    rating = mongoengine.IntField(default=0)
class Booking(mongoengine.EmbeddedDocument):
    guest_booker_id = mongoengine.ObjectIdField()
    guest_bitch_id = mongoengine.ObjectIdField()

    booked_night = mongoengine.DateTimeField()
    check_in_date = mongoengine.DateTimeField(required=True)
    check_out_date = mongoengine.DateTimeField(required=True)

    review = mongoengine.StringField()
    rating = mongoengine.IntField(default=0)

    @property
    def duration_in_days(self):
        dt = self.check_out_date - self.check_in_date
        return dt.days
Пример #17
0
class Booking(mongoengine.EmbeddedDocument):
    guest_owner_id = mongoengine.ObjectIdField()
    guest_snake_id = mongoengine.ObjectIdField()

    booked_date = mongoengine.DateTimeField()
    check_in_date = mongoengine.DateTimeField(required=True)
    check_out_date = mongoengine.DateTimeField(required=True)

    review = mongoengine.StringField()
    rating = mongoengine.IntField(default=0)

    @property
    def duration_in_days(self):
        dt = self.check_out_date - self.check_in_date + datetime.timedelta(seconds=1)
        return dt.days
class Tweet(mongoengine.Document):
    """ this is the Tweet object that contains
     #date of creation / tweet id / author info / hastags / symbols / urls / retweet / text
        *args:
                space: space
                tweet_id: str
                tweet_date: DateTime
                author_info: {}
                hashtag: []
                symbols: []
                user_mensions: []
                urls: []
                retweet: Int 
                text: str
                text: {columnId : column}
                hashtag_nodes: List[Node_id]
    """
    space_id = mongoengine.ObjectIdField()
    tweet_id = mongoengine.StringField(required=True)

    registered_date = mongoengine.DateTimeField(default=datetime.datetime.now)
    tweet_date = mongoengine.DateTimeField()
    author_info = mongoengine.DictField()
    hashtag = mongoengine.ListField()
    symbols = mongoengine.ListField()
    user_mensions = mongoengine.ListField()
    urls = mongoengine.ListField()
    retweet = mongoengine.IntField()
    text = mongoengine.StringField()

    hashtag_nodes = mongoengine.ListField()

    meta = {'db_alias': 'core', 'collection': 'tweet'}
Пример #19
0
 class Ref3(gj.Document):
     ref = gj.FollowReferenceField(Ref2)
     refs = db.ListField(gj.FollowReferenceField(Ref2))
     emb = db.EmbeddedDocumentField(Ref25)
     embs = db.EmbeddedDocumentListField(Ref25)
     oids = db.ListField(db.ObjectIdField(),
                         default=[ObjectId for ignore in range(3)])
Пример #20
0
class Book(models.Document):
    _id = models.ObjectIdField()
    name = models.StringField(required=True, max_length=255)
    content = models.StringField(required=True)

    category = models.ReferenceField(Category)
    dimention = models.EmbeddedDocumentField(Dimention)
    addresses = models.EmbeddedDocumentListField(Address)
    tags = models.ListField(models.ReferenceField(Tag))

    meta = {'queryset_class': BaseQuerySet}

    def __str__(self):
        return self.name

    def setByForm(self, form, addressForm):
        self.name = form.name.data
        self.content = form.content.data
        self.category = form.category.data

        #self.dimention = form.dimention.data
        self.dimention = Dimention(x=form.dimention.x.data,
                                   y=form.dimention.y.data,
                                   z=form.dimention.z.data)
        print(form.tags.data)
        self.addresses.append(
            Address(country=addressForm.country.data,
                    direction=addressForm.direction.data))
        self.tags = form.tags.data
Пример #21
0
class Quote(mongoengine.Document):
    quote = mongoengine.StringField(required=True)
    author = mongoengine.StringField(required=True)
    source = mongoengine.StringField()
    ratings = mongoengine.EmbeddedDocumentListField(QuoteRating)
    ratings_avg = mongoengine.FloatField(default=0.0)
    added_by = mongoengine.ObjectIdField(required=True)
    created_at = mongoengine.DateTimeField(default=datetime.utcnow)
    processed_quote = mongoengine.StringField()
    last_updated_at = mongoengine.DateTimeField(default=datetime.utcnow)
    is_recommended = mongoengine.BooleanField()

    meta = {'db_alias': 'core'}

    def save(self, *args, **kwargs):
        processed_quote = process_quote(self.quote)
        self.processed_quote = processed_quote
        self.ratings_avg = self.ratings_avg or 0
        self.is_recommended = self.ratings_avg > 3
        super(Quote, self).save(*args, **kwargs)

    def delele(self, *args, **kwargs):
        quotes_rated = QuotesRatedByUser.objects().filter(
            user_id=self.added_by).first()
        if quotes_rated:
            quotes_rated.quotes = [
                quote for quote in quotes_rated.quotes
                if str(quote.id) != str(self.id)
            ]
            quotes_rated.save()
        super(Quote, self).delete(*args, **kwargs)
Пример #22
0
class Caretakers(mongoengine.Document):
    created = mongoengine.DateTimeField(default=datetime.datetime.now)
    caretaker_id = mongoengine.ObjectIdField(required=True)
    name = mongoengine.StringField(required=True)
    address = mongoengine.StringField()
    phone = mongoengine.StringField()

    patients = mongoengine.EmbeddedDocumentListField(Patients)

    doctors = mongoengine.ListField()

    meta = {
        'db_alias':
        'core',
        'collection':
        'caretakers',
        'indexes': [
            'created',
            'caretaker_id',
            'name',
            'address',
            'phone',
            'patients',
            'doctors',
        ],
        'ordering': ['name']
    }
Пример #23
0
class User(UserMixin, db.Document):
	meta = {'collection': 'users'}
	email = db.EmailField(unique=True)
	confirmed = db.BooleanField(default=False)
	username = db.StringField(max_length=100, required=True, unique=True)
	pwhash = db.StringField(max_length=128, required=True)
	role_id = db.ObjectIdField()

	def set_password(self, password):
		self.pwhash = generate_password_hash(password)

	def verify_password(self, password):
		return check_password_hash(self.pwhash, password)

	def generate_confirmation_token(self, expiration=3600):
		s = Serializer(current_app.config['SECRET_KEY'], expiration)
		return s.dumps({'confirm': self.get_id()}).decode('utf-8')

	def confirm(self, token):
		s = Serializer(current_app['SECRET_KEY'])
		try:
			data = s.loads(token.encode('utf-8'))
		except:
			return False
		if data.get('confirm') != self.get_id():
			return False
		self.confirmed = True
		self.save()
		return True
Пример #24
0
class Package(mongoengine.Document):
    id = mongoengine.StringField(primary_key=True)
    created_date = mongoengine.DateTimeField(default=datetime.datetime.now)
    summary = mongoengine.StringField()
    description = mongoengine.StringField()

    home_page = mongoengine.StringField()
    docs_url = mongoengine.StringField()
    package_url = mongoengine.StringField()

    author = mongoengine.StringField()
    author_email = mongoengine.StringField()
    license = mongoengine.StringField()

    maintainers = mongoengine.ListField(mongoengine.ObjectIdField())

    meta = {
        'db_alias': 'core',
        'collection': 'packages',
        'indexes': [
            'created_date',
            'author_email',
            'license',
        ]
    }

    def __repr__(self):
        return '<Package {}>'.format(self.id)
Пример #25
0
class StudentUser(mongoengine.Document, UserMixin):
    meta = {'collection': 'students'}

    userID = mongoengine.StringField(required=True)

    # profile information -- server/users/students/forms.py
    #                     -- server/users/students/routes.py (createProfile)
    username = mongoengine.StringField(required=True)
    password = mongoengine.StringField(required=True)
    imageFile = mongoengine.ImageField()

    # contact information -- server/users/parents/forms.py
    #                     -- server/users/parents/routes.py (register)
    firstName = mongoengine.StringField(required=True)
    lastName = mongoengine.StringField(required=True)
    email = mongoengine.EmailField()

    # acquired from parents collection
    parent = mongoengine.ObjectIdField()

    def getResetToken(self, expiresSec=1800):
        s = Serializer(current_app.config['SECRET_KEY'], expiresSec)
        return s.dumps({'userID': self.userID}).decode('utf-8')

    @staticmethod
    def verifyResetToken(token):
        s = Serializer(current_app.config['SECRET_KEY'])
        try:
            userID = s.loads(token)['userID']
        except:
            return None
        return db.students.find_one({"userID": userID})

    def __repr__(self):
        return f"User('{self.username}', '{self.email}', '{self.imageFile}')"
Пример #26
0
class ConsumedItem(mongoengine.EmbeddedDocument):
    calories = mongoengine.IntField()
    img_url = mongoengine.StringField()
    name = mongoengine.StringField()
    date = mongoengine.DateTimeField()
    quantity = mongoengine.StringField()
    item_type = mongoengine.StringField(choices=['food', 'exercise'])
    id = mongoengine.ObjectIdField()

    def as_dict(self):
        return {
            'calories': self.calories,
            'img_url': self.img_url,
            'name': self.name,
            'date': self.format_date(),
            'quantity': self.quantity,
            'item_type': self.item_type,
            'id': str(self.id),
        }

    def format_date(self):
        if isinstance(self.date, basestring):
            return self.date
        else:
            return time.mktime(self.date.timetuple()) * 1000
Пример #27
0
class Comment(me.EmbeddedDocument):
    id = me.ObjectIdField(required=True, default=bson.ObjectId)
    message = me.StringField(required=True)
    replies = me.ListField(me.EmbeddedDocumentField("Comment"))

    created_date = me.DateTimeField(required=True,
                                    default=datetime.datetime.now)
    updated_date = me.DateTimeField(required=True,
                                    default=datetime.datetime.now)
    published_date = me.DateTimeField(required=True,
                                      default=datetime.datetime.now)
    status = me.StringField(required=True,
                            default='draft',
                            choices=TOPIC_STATUS)
    """ status: draft, publish, delete """

    ip_address = me.StringField(max_length=100,
                                required=True,
                                default='0.0.0.0')

    author = me.ReferenceField("User", dbref=True)

    def get_topic(self):
        topic = Topic.objects(comments__id=self.id).first()
        if topic is None:
            topic = Topic.objects(comments__replies__id=self.id).first()
        if topic is None:
            topic = Topic.objects(
                comments__replies__replies__id=self.id).first()
        return topic
Пример #28
0
class OrganizationDTO(mongo.Document):
    """A DTO wrapper for Organization documents."""

    name = mongo.StringField(db_field='n')
    address = mongo.StringField(db_field='a')
    latlng = mongo.ListField(db_field='l')
    types = mongo.ListField(mongo.IntField(), db_field='ts')
    phone_numbers = mongo.ListField(db_field='ns')
    email_key = mongo.EmailField(db_field='ek')
    emails = mongo.ListField(db_field='es')
    contacts = mongo.ListField(mongo.ReferenceField(ContactDTO), db_field='cs')
    user_contacts = mongo.ListField(mongo.ReferenceField('UserDTO'),
                                    db_field='us')
    organization_url = mongo.StringField(db_field='u')
    partners = mongo.ListField(mongo.ReferenceField('self'), db_field='ps')
    facebook = mongo.URLField(db_field='f')
    twitter = mongo.URLField(db_field='t')
    keywords = mongo.StringField(db_field='ks')
    valid = mongo.BooleanField(db_field='v', default=True)
    last_updated = mongo.DateTimeField(db_field='lu')
    updated_by = mongo.ObjectIdField(db_field='ub')
    page_rank_info = mongo.EmbeddedDocumentField(document_type=PageRankInfoDTO,
                                                 db_field='r')
    page_rank = mongo.LongField(min_value=0, db_field='pr')
    page_rank_weight = mongo.FloatField(min_value=0.0,
                                        max_value=1.0,
                                        db_field='w')
    content_weight = mongo.FloatField(min_value=0.0, db_field='c')
    combined_weight = mongo.FloatField(min_value=0.0, db_field='cw')
Пример #29
0
class Fan(mclient.DynamicDocument):
    _id = mclient.ObjectIdField()
    user = mclient.StringField(max_length=255)
    currentPosition = mclient.PointField()
    friends = mclient.ListField(mclient.StringField(max_length=100))
    posts = mclient.EmbeddedDocumentListField(document_type=Post)
    meta = {'collection': 'Fans'}
Пример #30
0
class StormFoundationDB(me.Document):
    """
    Base abstraction for a model entity. This foundation class should only be directly
    inherited from the application domain models.
    """

    # ObjectIdField should be not have any constraints like required,
    # unique etc for it to be auto-generated.
    # TODO: Work out how we can mark this as a unique primary key.
    id = me.ObjectIdField()

    # see http://docs.mongoengine.org/guide/defining-documents.html#abstract-classes
    meta = {'abstract': True}

    def __str__(self):
        attrs = list()
        for k in sorted(self._fields.keys()):
            v = getattr(self, k)
            v = '"%s"' % str(v) if type(v) in [
                str, unicode, datetime.datetime
            ] else str(v)
            attrs.append('%s=%s' % (k, v))
        return '%s(%s)' % (self.__class__.__name__, ', '.join(attrs))

    def to_serializable_dict(self):
        serializable_dict = {}
        for k in sorted(six.iterkeys(self._fields)):
            v = getattr(self, k)
            v = str(v) if isinstance(v, JSON_UNFRIENDLY_TYPES) else v
            serializable_dict[k] = v
        return serializable_dict