from mongoengine import Document
from mongoengine.fields import (
    FloatField,
    StringField,
    ListField,
    URLField,
    ObjectIdField,
)


class Shop(Document):
    meta = {"collection": "shop"}
    ID = ObjectIdField()
    name = StringField()
    address = StringField()
    website = URLField()


class Bike(Document):
    meta = {"collection": "bike"}
    ID = ObjectIdField()
    name = StringField()
    brand = StringField()
    year = StringField()
    size = ListField(StringField())
    wheel_size = FloatField()
    type = StringField()

[((13, 9, 13, 24), 'mongoengine.fields.ObjectIdField', 'ObjectIdField', ({}, {}), '()', False, 'from mongoengine.fields import FloatField, StringField, ListField, URLField, ObjectIdField\n'), ((14, 11, 14, 24), 'mongoengine.fields.StringField', 'StringField', ({}, {}), '()', False, 'from mongoengine.fields import FloatField, StringField, ListField, URLField, ObjectIdField\n'), ((15, 14, 15, 27), 'mongoengine.fields.StringField', 'StringField', ({}, {}), '()', False, 'from mongoengine.fields import FloatField, StringField, ListField, URLField, ObjectIdField\n'), ((16, 14, 16, 24), 'mongoengine.fields.URLField', 'URLField', ({}, {}), '()', False, 'from mongoengine.fields import FloatField, StringField, ListField, URLField, ObjectIdField\n'), ((21, 9, 21, 24), 'mongoengine.fields.ObjectIdField', 'ObjectIdField', ({}, {}), '()', False, 'from mongoengine.fields import FloatField, StringField, ListField, URLField, ObjectIdField\n'), ((22, 11, 22, 24), 'mongoengine.fields.StringField', 'StringField', ({}, {}), '()', False, 'from mongoengine.fields import FloatField, StringField, ListField, URLField, ObjectIdField\n'), ((23, 12, 23, 25), 'mongoengine.fields.StringField', 'StringField', ({}, {}), '()', False, 'from mongoengine.fields import FloatField, StringField, ListField, URLField, ObjectIdField\n'), ((24, 11, 24, 24), 'mongoengine.fields.StringField', 'StringField', ({}, {}), '()', False, 'from mongoengine.fields import FloatField, StringField, ListField, URLField, ObjectIdField\n'), ((26, 17, 26, 29), 'mongoengine.fields.FloatField', 'FloatField', ({}, {}), '()', False, 'from mongoengine.fields import FloatField, StringField, ListField, URLField, ObjectIdField\n'), ((27, 11, 27, 24), 'mongoengine.fields.StringField', 'StringField', ({}, {}), '()', False, 'from mongoengine.fields import FloatField, StringField, ListField, URLField, ObjectIdField\n'), ((25, 21, 25, 34), 'mongoengine.fields.StringField', 'StringField', ({}, {}), '()', False, 'from mongoengine.fields import FloatField, StringField, ListField, URLField, ObjectIdField\n')]