Пример #1
0
class Feedback(MongoModel):
    agentId = fields.ObjectIdField()
    consumerId = fields.ObjectIdField()
    transactionId = fields.ObjectIdField()
    value = fields.IntegerField()
    message = fields.CharField(blank=True)
    created_at = fields.DateTimeField()
Пример #2
0
class Accommodation(MongoModel):
    _id = fields.ObjectIdField(primary_key=True, default=ObjectId())
    hotel_id = fields.ObjectIdField()
    name = fields.CharField()
    description = fields.CharField()
    max_guests = fields.IntegerField()
    image_url = fields.CharField(default='')
    created_at = fields.DateTimeField()
    updated_at = fields.DateTimeField(default=datetime.utcnow())
Пример #3
0
class Transactions(MongoModel):
    agentId = fields.ObjectIdField(required=True)
    consumerId = fields.ObjectIdField(required=True)
    consumeragentId = fields.ObjectIdField(required=True)
    offerId = fields.ObjectIdField(blank=True)
    bill = fields.IntegerField(blank=True)
    isFirst = fields.BooleanField(blank=True)
    redeem_points = fields.IntegerField(blank=True)
    created_at = fields.DateTimeField(required=True)
class PromotionsScheduler(MongoModel):
    offerId = fields.ObjectIdField()
    scheduler_at = fields.DateTimeField()
    agentId = fields.ObjectIdField()


# asd= rest.objects.raw({'location': {'$near': SON([('$geometry', SON([('type', 'Point'), ('coordinates', [-122.406417,37.785834])])), ('$maxDistance', 500)])}})
# asd = rest.objects.raw({"location":{"$near": {"$geometry": {"type":"Point","coordinates":[-122.406417,37.785834]},"$maxDistance":500}}})
# for i in asd:
#     print i._data
Пример #5
0
class User(MongoModel):
    _id = fields.ObjectIdField(primary_key=True, default=ObjectId())
    first_name = fields.CharField()
    last_name = fields.CharField()
    email = fields.CharField()
    password = fields.CharField()
    role = fields.ObjectIdField()
    superuser = fields.BooleanField()
    created_at = fields.DateTimeField()
    updated_at = fields.DateTimeField(default=datetime.utcnow())

    @staticmethod
    def find_user(email, password):
        return User.objects.get({'email': email, 'password': password})
Пример #6
0
class RoomInventory(MongoModel):
    _id = fields.ObjectIdField(primary_key=True, default=ObjectId())
    accommodation_id = fields.ObjectIdField()
    name = fields.CharField()
    description = fields.CharField(default='')
    daily_rates = fields.EmbeddedDocumentListField(DailyRate, default=[])
    sell_start_date = fields.DateTimeField()
    sell_end_date = fields.DateTimeField()
    created_at = fields.DateTimeField()
    updated_at = fields.DateTimeField(default=datetime.utcnow())

    @staticmethod
    def find_room_inventory(id):
        return RoomInventory.objects.get({'_id': ObjectId(id)})
Пример #7
0
class Role(MongoModel):
    _id = fields.ObjectIdField(primary_key=True, default=ObjectId())
    name = fields.CharField()
    permissions = fields.ListField(fields.ObjectIdField(), default=[])
    created_at = fields.DateTimeField()
    updated_at = fields.DateTimeField(default=datetime.utcnow())

    def find_permissions(self):
        '''Find permissions belonging to this role'''
        permissions = Permission.objects.raw(
            {'_id': {
                '$in': self.permissions
            }})
        return [p.name for p in list(permissions) if permissions]
Пример #8
0
 def test_add_field(self):
     options = MongoOptions()
     # Add new Fields.
     options.add_field(fields.CharField(mongo_name='fname'))
     options.add_field(fields.UUIDField(mongo_name='id'))
     self.assertEqual(['fname', 'id'],
                      [field.mongo_name for field in options.get_fields()])
     # Replace a Field.
     options.add_field(fields.ObjectIdField(mongo_name='id'))
     self.assertIsInstance(options.get_fields()[-1], fields.ObjectIdField)
     # Replace a field with a different mongo_name, but same attname.
     new_field = fields.ObjectIdField(mongo_name='newid')
     new_field.attname = 'id'
     options.add_field(new_field)
     self.assertEqual(len(options.get_fields()), 2)
Пример #9
0
class Tasks(MongoModel):
    task_id = fields.CharField()
    task_description = fields.CharField()
    attempt_count = fields.IntegerField()
    required_points = fields.FloatField()
    criteria_pack_id = fields.CharField()
    presentation_id = fields.ObjectIdField(blank=True)
Пример #10
0
class MDBHyperpipe(MongoModel):
    class Meta:
        final = True
        connection_alias = 'photon_core'

    name = fields.CharField()
    version = fields.CharField()
    output_folder = fields.CharField(blank=True)

    permutation_id = fields.CharField(blank=True)
    permutation_failed = fields.CharField(blank=True)
    permutation_test = fields.EmbeddedDocumentField(MDBPermutationResults, blank=True)

    computation_completed = fields.BooleanField(default=False)
    computation_start_time = fields.DateTimeField(blank=True)
    computation_end_time = fields.DateTimeField(blank=True)

    outer_folds = fields.EmbeddedDocumentListField(MDBOuterFold, default=[], blank=True)
    best_config = fields.EmbeddedDocumentField(MDBConfig, blank=True)
    best_config_feature_importances = fields.ListField(blank=True)
    metrics_train = fields.EmbeddedDocumentListField(MDBFoldMetric, default=[], blank=True)
    metrics_test = fields.EmbeddedDocumentListField(MDBFoldMetric, default=[], blank=True)

    hyperpipe_info = fields.EmbeddedDocumentField(MDBHyperpipeInfo)

    # dummy estimator
    dummy_estimator = fields.EmbeddedDocumentField(MDBDummyResults, blank=True)

    # stuff for wizard connection
    user_id = fields.CharField(blank=True)
    wizard_object_id = fields.ObjectIdField(blank=True)
    wizard_system_name = fields.CharField(blank=True)
Пример #11
0
class Promotions(MongoModel):
    '''
    if offer_type == rewardpoint:
        offer_data = {"reward_name":"spend 100 and get coke free","reward_points":100,"reward_Info":"coke"}
    '''
    agentId = fields.ObjectIdField(required=True)
    consumerId = fields.ObjectIdField(blank=True)
    offerId = fields.ObjectIdField(blank=True)
    valid_from = fields.DateTimeField(required=True)
    valid_to = fields.DateTimeField(required=True)


# asd= rest.objects.raw({'location': {'$near': SON([('$geometry', SON([('type', 'Point'), ('coordinates', [-122.406417,37.785834])])), ('$maxDistance', 500)])}})
# asd = rest.objects.raw({"location":{"$near": {"$geometry": {"type":"Point","coordinates":[-122.406417,37.785834]},"$maxDistance":500}}})
# for i in asd:
#     print i._data
Пример #12
0
class Response(BaseMongoModel):
    id = fields.ObjectIdField(primary_key=True)
    form = fields.ReferenceField(Form, on_delete=fields.ReferenceField.CASCADE)
    user = fields.ReferenceField(User,
                                 on_delete=fields.ReferenceField.CASCADE,
                                 blank=True)
    # paymentInfo = fields.EmbeddedDocumentField(PaymentInfo)
    paymentInfo = fields.DictField()
    payment_status_detail = fields.EmbeddedDocumentListField(
        PaymentStatusDetailItem, blank=True, default=list)
    paid = fields.BooleanField(default=False)
    amount_paid = fields.CharField(default="0")
    payment_trail = fields.EmbeddedDocumentListField(PaymentTrailItem,
                                                     blank=True,
                                                     default=list)
    update_trail = fields.EmbeddedDocumentListField(UpdateTrailItem,
                                                    blank=True,
                                                    default=list)
    email_trail = fields.EmbeddedDocumentListField(EmailTrailItem,
                                                   blank=True,
                                                   default=list)
    value = fields.DictField()
    date_created = fields.DateTimeField(required=True)
    date_modified = fields.DateTimeField(required=True)
    pending_update = fields.DictField(blank=True)
    admin_info = fields.DictField()
    modify_link = fields.CharField(blank=True)
    predicate = fields.DictField()
    counter = fields.IntegerField(blank=True)
Пример #13
0
class Offers(MongoModel):
    '''
    if offer_type == rewardpoint:
        offer_data = {"reward_name":"spend 100 and get coke free","reward_points":100,"reward_Info":"coke"}
    '''
    agentId = fields.ObjectIdField(required=True)
    name = fields.CharField(required=True)
    offer_type = fields.CharField(required=True)
    offer_data = fields.DictField(blank=True)
    promotion_data = fields.DictField(blank=True)
    scheduled_at = fields.DateTimeField(blank=True)
    valid_from = fields.DateTimeField(required=True)
    valid_to = fields.DateTimeField(required=True)

    class Meta:
        indexes = [
            pymongo.IndexModel([('agentId', pymongo.ALL)],
                               name="OffersagentIdIndexField"),
            pymongo.IndexModel([('valid_from', pymongo.ALL)],
                               name="OffersvalidFromIndexField"),
            pymongo.IndexModel([('valid_to', pymongo.ALL)],
                               name="OffersvalidToIndexField")
        ]  # indexes


# asd= rest.objects.raw({'location': {'$near': SON([('$geometry', SON([('type', 'Point'), ('coordinates', [-122.406417,37.785834])])), ('$maxDistance', 500)])}})
# asd = rest.objects.raw({"location":{"$near": {"$geometry": {"type":"Point","coordinates":[-122.406417,37.785834]},"$maxDistance":500}}})
# for i in asd:
#     print i._data
Пример #14
0
class Item(MongoModel):
    _id = fields.ObjectIdField(primary_key=True, default=ObjectId)
    name = fields.CharField(required=True)
    category = fields.CharField(required=True)
    price = fields.FloatField(required=True)
    availability = fields.IntegerField(default=0)
    updated_on = fields.DateTimeField(required=True)
Пример #15
0
class Language(MongoModel):
    alias = fields.CharField(required=True)
    label = fields.CharField(required=True)
    parent = fields.ObjectIdField(blank=True, default=None)

    @classmethod
    def get_all(cls):
        """
        Get list of all language aliases
        :return: ['en_us', ...]
        :rtype: list
        """
        return [lang.alias for lang in cls.objects.all()]

    @classmethod
    def get_by_alias(cls, alias):
        """
        Get Language by alias
        :param alias: alias, like 'en_us' and s.o.
        :type: string
        :return: Language instance
        :rtype: Language
        """
        if not alias:
            return None

        try:
            return cls.objects.get({'alias': alias})
        except cls.DoesNotExist:
            return None

    class Meta:
        final = True
        indexes = [IndexModel('alias', unique=True)]
Пример #16
0
class Delivery(MongoModel):
	_id 			= fields.ObjectIdField(primary_key=True, default=ObjectId)
	creation_date 	= fields.DateTimeField(default=datetime.now)
	delivery_date 	= fields.DateTimeField(default=lambda: datetime.now() + timedelta(days=7))
	status			= fields.CharField(default='processing')
	current_location= fields.CharField(default='Depot')
	destination		= fields.CharField(required=True)
	order_id		= fields.CharField(required=True)
class Order(MongoModel):
    _id = fields.ObjectIdField(primary_key=True, default=ObjectId)
    name = fields.CharField()
    items = fields.ListField(field=fields.CharField())
    bill = fields.FloatField()
    creation_date = fields.DateTimeField()
    destination = fields.CharField()
    delivery_id = fields.CharField()
Пример #18
0
class Sample(MongoModel):
    _id = fields.ObjectIdField(primary_key=True)
    data = fields.EmbeddedDocumentField(Data)

    class Meta:
        connection_alias = 'smsinfo'
        collection_name = 'sample'
        final = True
Пример #19
0
class Transcriptions(MongoModel):
    _id = fields.ObjectIdField(primary_key=True, default=ObjectId)
    transcription = fields.CharField()
    createdAt = fields.DateTimeField()

    class Meta:
        write_concern = WriteConcern(j=True)
        connection_alias = 'FirstSource'
Пример #20
0
class User(MongoModel):
    _id=fields.ObjectIdField(primary_key=True)
    text=fields.CharField()

    class Meta:
        connection_alias='user'
        collection_name='user'
        final=True
Пример #21
0
class NetworkObject(MongoModel):
    name = fields.CharField(max_length=MAX_LENGTH_CHAR)
    properties = fields.DictField()
    variables = fields.ListField(fields.ReferenceField(Variable))
    connection_points = fields.ListField(fields.ReferenceField(Variable))
    children = fields.ListField(fields.ObjectIdField())
    interfaces = fields.ListField(
        fields.ReferenceField(NetworkInterfaceObject))
Пример #22
0
class NetworkObject(MongoModel):
    name = fields.CharField(primary_key=True, required=True)
    driver = fields.CharField(required=True)
    object_type = cusfields.EnumField(enums.ObjectType, required=True)
    management_ip = fields.CharField()
    children = fields.ListField(fields.ObjectIdField())
    software = fields.EmbeddedDocumentField(SoftwareDataModel)

    class Meta:
        indexes = [IndexModel('children')]
Пример #23
0
class User(MongoModel):
    '''
    if offer_type == rewardpoint:
        offer_data = {"reward_name":"spend 100 and get coke free","reward_points":100,"reward_Info":"coke"}
    '''
    agentId    = fields.ObjectIdField(required=True)
    email      = fields.EmailField(required=True)
    password   = fields.CharField(required=True)
    created_at = fields.DateTimeField(required=True)
    updated_at = fields.DateTimeField(required=True)
Пример #24
0
 def test_add_field(self):
     options = MongoOptions()
     # Add new Fields.
     options.add_field(fields.CharField(mongo_name='fname'))
     options.add_field(fields.UUIDField(mongo_name='id'))
     self.assertEqual(['fname', 'id'],
                      [field.mongo_name for field in options.get_fields()])
     # Replace a Field.
     options.add_field(fields.ObjectIdField(mongo_name='id'))
     self.assertIsInstance(options.get_fields()[-1], fields.ObjectIdField)
Пример #25
0
class Reservation(MongoModel):
    _id = fields.ObjectIdField(primary_key=True, default=ObjectId())
    check_in = fields.DateTimeField()
    check_out = fields.DateTimeField()
    adults = fields.IntegerField()
    children = fields.IntegerField()
    room_inventory_id = fields.ObjectIdField()
    first_name = fields.CharField()
    last_name = fields.CharField()
    email = fields.CharField()
    phone = fields.CharField()
    message = fields.CharField()
    conf_number = fields.CharField(default='undefined')
    status = fields.CharField(choices=('pending', 'confirmed', 'cancelled'), default='pending')
    created_at = fields.DateTimeField()
    updated_at = fields.DateTimeField(default=datetime.utcnow())

    @staticmethod
    def find_reservation(id):
        return Reservation.objects.get({"_id": ObjectId(id)})
Пример #26
0
class Session(MongoModel):
  """
    A session is the object representing the connection of a user to the API.
  """

  token = fields.CharField()
  creator_id = fields.ObjectIdField()

  class Meta:
    collection_name = 'arkaan_authentication_sessions'
    final = True
    ignore_unknown_fields = True
Пример #27
0
class SmsInfo(MongoModel):
    _id = fields.ObjectIdField(primary_key=True)
    message = fields.EmbeddedDocumentField(Message)
    status = fields.EmbeddedDocumentField(Status)
    transaction = fields.EmbeddedDocumentField(Transaction)

    objects = SmsInfoManager()

    class Meta:
        connection_alias = 'smsinfo'
        collection_name = 'transactions'
        final = True
Пример #28
0
class Form(BaseMongoModel):
    name = fields.CharField(required=True)
    id = fields.ObjectIdField(primary_key=True)
    schema = fields.DictField(required=True)
    uiSchema = fields.DictField(required=True)
    formOptions = fields.EmbeddedDocumentField(FormOptions, required=True)
    couponCodes_used = fields.DictField(required=False)
    cff_permissions = fields.DictField(required=True)
    center = fields.CharField()
    date_modified = fields.DateTimeField(required=True)
    date_created = fields.DateTimeField(required=True)
    formType = fields.CharField()
    version = fields.IntegerField()
Пример #29
0
class Login(MongoModel):
    token = fields.CharField()
    fcmId = fields.CharField(blank=True)
    tokenId = fields.ObjectIdField()

    class Meta:
        indexes = [
            pymongo.IndexModel([('tokenId', pymongo.ALL)],
                               name="LogintokenDIndexField")
        ]  # indexes


# asd= rest.objects.raw({'location': {'$near': SON([('$geometry', SON([('type', 'Point'), ('coordinates', [-122.406417,37.785834])])), ('$maxDistance', 500)])}})
# asd = rest.objects.raw({"location":{"$near": {"$geometry": {"type":"Point","coordinates":[-122.406417,37.785834]},"$maxDistance":500}}})
# for i in asd:
#     print i._data
Пример #30
0
class Device(EmbeddedMongoModel):
    ID_FIELD = 'id'
    NAME_FIELD = 'name'
    STATUS_FIELD = 'status'
    CREATED_DATE_FIELD = 'created_date'

    DEFAULT_DEVICE_NAME = 'Device'
    MIN_DEVICE_NAME_LENGTH = 2
    MAX_DEVICE_NAME_LENGTH = 32

    class Status(IntEnum):
        NOT_ACTIVE = 0
        ACTIVE = 1
        BANNED = 2

        @classmethod
        def choices(cls):
            return [(choice, choice.name) for choice in cls]

        @classmethod
        def coerce(cls, item):
            return cls(int(item)) if not isinstance(item, cls) else item

        def __str__(self):
            return str(self.value)

    id = fields.ObjectIdField(required=True,
                              default=ObjectId,
                              primary_key=True)
    created_date = fields.DateTimeField(default=datetime.now)
    status = fields.IntegerField(default=Status.NOT_ACTIVE)
    name = fields.CharField(default=DEFAULT_DEVICE_NAME,
                            min_length=MIN_DEVICE_NAME_LENGTH,
                            max_length=MAX_DEVICE_NAME_LENGTH,
                            required=True)

    def get_id(self) -> str:
        return str(self.id)

    def to_dict(self) -> dict:
        return {
            Device.ID_FIELD: self.get_id(),
            Device.NAME_FIELD: self.name,
            Device.STATUS_FIELD: self.status,
            Device.CREATED_DATE_FIELD: date_to_utc_msec(self.created_date)
        }