Exemplo n.º 1
0
class ChargeStation(Document):
    meta = {
        "indexes": [
            'network',
            'locationId',
        ]
    }
    id = fields.IntField(required=True, primary_key=True)
    network = fields.ReferenceField(Network)
    locationId = fields.IntField(required=True)
    name = fields.StringField(required=True, max_length=200)

    #0 = Unknown
    #1 = Free
    #2 = Fee
    cost = fields.IntField()
    cost_description = fields.StringField(max_length=1000)
    address = fields.StringField(max_length=300)
    available = fields.IntField(required=True)
    hours = fields.StringField(max_length=400)
    geoLocation = fields.PointField(auto_index=True)
    score = fields.FloatField(min_value=0, max_value=10.0, required=True)
    images = fields.ListField(fields.URLField())
    chargePoints = fields.ListField(fields.ReferenceField(ChargePoint))
    created_at = fields.DateTimeField()
    modified_at = fields.DateTimeField(default=datetime.datetime.utcnow())
Exemplo n.º 2
0
class GeoModel(Document):
    geo_point_field = fields.PointField()
    geo_line_field = fields.LineStringField()
    geo_polygon_field = fields.PolygonField()
    geo_multi_point_field = fields.MultiPointField()
    geo_multi_line_field = fields.MultiLineStringField()
    geo_multi_poly_field = fields.MultiPolygonField()
Exemplo n.º 3
0
class GeoDoc(Document):
    geo_point_field = fields.GeoPointField()
    point_field = fields.PointField()
    line_field = fields.LineStringField()
    poly_field = fields.PolygonField()
    multi_point_field = fields.MultiPointField()
    multi_line_field = fields.MultiLineStringField()
    multi_poly_field = fields.MultiPolygonField()
Exemplo n.º 4
0
class FavoriteShop(Document):
    user = fields.ReferenceField(User, reverse_delete_rule=mongoengine.CASCADE)
    shop = fields.ReferenceField(Shop, reverse_delete_rule=mongoengine.CASCADE)
    created_at = fields.DateTimeField(auto_now = True, default=timezone.now)
    location = fields.PointField()
    
    def __str__(self):
        return self.shop
Exemplo n.º 5
0
class Shop(Document):
    name = fields.StringField()
    picture = fields.URLField()
    email = fields.EmailField()
    city = fields.StringField()
    location = fields.PointField()
    
    def __str__(self):
        return self.name
Exemplo n.º 6
0
class Shops(Document):
    meta = {'db_alias': 'shops', 'collection': 'shops'}

    name = fields.StringField()
    picture = fields.URLField()
    email = fields.EmailField()
    city = fields.StringField()
    location = fields.PointField()

    def __str__(self):
        return self.name
Exemplo n.º 7
0
class Advert(Category):
    parent = fields.ReferenceField('Category', reverse_delete_rule=CASCADE)
    title = fields.StringField(required=True, max_length=300)

    loc = fields.PointField(required=True, default=[0.0, 0.0])
    country = fields.StringField(max_length=30)
    region = fields.StringField(max_length=30)
    city = fields.StringField(max_length=30)
    street = fields.StringField(max_length=100)

    rooms = fields.IntField(required=True, default=0)
    square_gen = fields.IntField(required=True, default=0)
    square_live = fields.IntField(required=True, default=0)
    room_height = fields.IntField(required=True, default=0)
    floors = fields.IntField(required=True, default=0)
    floor = fields.IntField(required=True, default=0)
    wall_type = fields.IntField(choices=WALL_TYPES,
                                required=True,
                                default=WALL_TYPES[0][0])
    build_type = fields.IntField(choices=BUILD_TYPES,
                                 required=True,
                                 default=BUILD_TYPES[0][0])
    price = fields.DecimalField()
    finished = fields.DateTimeField()

    #language field is needed for full text search.
    language = fields.StringField(default='english')
    text = fields.StringField(max_length=5000)

    meta = {
        'indexes': [('kind', 'path', 'loc', 'parent'),
                    ('kind', 'path', 'loc', 'parent', 'finished')]
    }

    @queryset_manager
    def nodes(cls, queryset, uid, gids):
        return search_nodes(queryset, cls.get_kind(), uid, gids).filter(
            Q(finished__exists=False)
            | Q(finished__gt=datetime.datetime.now()))

    @queryset_manager
    def nearest(cls, queryset, uid, gids, lat, lon, parent=None):
        try:
            lon, lat = float(lon), float(lat)
        except (TypeError, ValueError):
            lon, lat = 0.0, 0.0
        return search_children(
            queryset, cls.get_kind(), uid, gids, pid=parent,
            direct=False).filter(loc__near=[lon, lat]).filter(
                Q(finished__exists=False)
                | Q(finished__gt=datetime.datetime.now()))
Exemplo n.º 8
0
class Place(Document):
    id = fields.StringField(primary_key=True)
    name = fields.StringField()
    rating = fields.DynamicField()
    loc = fields.PointField()
    lat = fields.FloatField()
    lng = fields.FloatField()
    vicinity = fields.StringField()
    opening_hours = fields.DynamicField(null=True)

    types = fields.DynamicField(null=True)
    photo_reference = fields.StringField()
    user_rating = fields.StringField()
    twitter_rating = fields.StringField()
Exemplo n.º 9
0
class Request(Document):
    category_id = fields.StringField(required=True)
    mobile = fields.StringField(max_length=11)
    # todo keep a check
    radius = fields.IntField(required=True)
    location = fields.PointField(required=True)
    comment = fields.StringField(max_length=1000)
    created_at = fields.DateTimeField(required=True)
    user_id = fields.StringField(max_length=300)
    isCompleted = fields.BooleanField(default=False)
    isPaid = fields.BooleanField(default=False)
    isExpired = fields.BooleanField(default=False)
    provider_id = fields.StringField(max_length=300)
    complaints = fields.ListField(fields.StringField())

    meta = {"db_alias": "default"}
Exemplo n.º 10
0
class Trip(Document):
    start = fields.EmbeddedDocumentField(DateInput)
    end = fields.EmbeddedDocumentField(DateInput)
    country = fields.EmbeddedDocumentField(CountryInput)
    city = fields.EmbeddedDocumentField(CityInput)
    passenger = fields.EmbeddedDocumentField(PersonInput, required=True)
    driver = fields.EmbeddedDocumentField(PersonInput, required=True)
    car = fields.EmbeddedDocumentField(CarInput, required=True)
    status = fields.StringField(choices = ['onWay','near','started'])
    check_code = fields.StringField()
    createdAt = fields.DateTimeField(required=True)
    updatedAt = fields.DateTimeField(required=True)
    price = fields.FloatField()
    driver_location = fields.PointField()

    meta = {'collection': 'trips'}
Exemplo n.º 11
0
class CovidPersonalUser(Document):

    user = fields.LongField(required=True)
    date_birth = fields.DateField(required=True)
    last_send_geo = fields.DateTimeField()
    last_update_status = fields.DateTimeField(default=datetime.now)
    created_at = fields.DateTimeField(default=datetime.now)
    status = fields.StringField(required=True)
    observation = fields.StringField()
    coordinates = fields.PointField()

    class Meta:
        verbose_name = 'CovidPersonalUser'
        verbose_name_plural = 'CovidPersonalUsers'

    def __str__(self):
        return User.objects.get(pk=self.user).name
Exemplo n.º 12
0
class Foo(Document):
    string = fields.StringField()
    required = fields.StringField(required=True)
    choices = fields.StringField(choices=('foo', 'bar', 'baz'))
    regex = fields.StringField(regex=r'^[a-z]*$')
    length = fields.StringField(min_length=1, max_length=3)
    strings = fields.ListField(fields.StringField())
    sorted_strings = fields.SortedListField(fields.StringField())
    integer = fields.IntField()
    bounded_int = fields.IntField(min_value=0, max_value=10)
    longeger = fields.LongField()
    bounded_long = fields.LongField(min_value=0, max_value=10)
    floating = fields.FloatField()
    bounded_float = fields.FloatField(min_value=0.0, max_value=1.0)
    boolean = fields.BooleanField()
    datetime = fields.DateTimeField()
    complex_datetime = fields.ComplexDateTimeField()
    binary = fields.BinaryField()
    bounded_binary = fields.BinaryField(max_bytes=8)
    mapping = fields.MapField(fields.StringField())
    uuid = fields.UUIDField()

    old_geopoint = fields.GeoPointField()

    point = fields.PointField()
    line = fields.LineStringField()
    polygon = fields.PolygonField()

    points = fields.MultiPointField()
    lines = fields.MultiLineStringField()
    polygons = fields.MultiPolygonField()

    even_length_string = fields.StringField(
        validation=lambda s: len(s) % 2 == 0)

    @fields.EmbeddedDocumentField
    class embedded_bar(EmbeddedDocument):
        bar = fields.StringField()

    @fields.EmbeddedDocumentListField
    class embedded_baz(EmbeddedDocument):
        baz = fields.StringField()
Exemplo n.º 13
0
class Location(Document):
    meta = {"indexes": []}

    id = fields.IntField(required=True, primary_key=True)
    address = fields.StringField(required=True, max_length=300)
    name = fields.StringField(required=True, max_length=200)
    description = fields.StringField(max_length=8192)
    phone = fields.StringField(max_length=20)
    poi_name = fields.StringField(max_length=30)
    parking_type_name = fields.StringField(max_length=20)
    cost_description = fields.StringField(max_length=1024)
    open247 = fields.BooleanField()
    amenities = fields.ListField(fields.StringField())
    stations = fields.ListField(fields.ReferenceField(ChargeStation))
    hours = fields.StringField(max_length=2048)
    score = fields.FloatField(min_value=0.0, max_value=10.0)
    photos = fields.ListField(fields.URLField())
    geoLocation = fields.PointField(auto_index=True)
    created_at = fields.DateTimeField()
    modified_at = fields.DateTimeField(default=datetime.datetime.utcnow())
Exemplo n.º 14
0
class GeoDoc(Document):
    location = fields.PointField()
Exemplo n.º 15
0
class DateInput(EmbeddedDocument):
    date = fields.DateTimeField(null=True)
    pickup_address = fields.StringField()
    pickup_location = fields.PointField()
Exemplo n.º 16
0
class Shop(Document):
    name = fields.StringField()
    email = fields.StringField()
    picture = fields.StringField()
    city = fields.StringField()
    location = fields.PointField()