class Connection(db.Document): user_id = db.ObjectIdField() provider_id = db.StringField(max_length=255) provider_user_id = db.StringField(max_length=255) access_token = db.StringField(max_length=255) secret = db.StringField(max_length=255) display_name = db.StringField(max_length=255) full_name = db.StringField(max_length=255) profile_url = db.StringField(max_length=512) image_url = db.StringField(max_length=512) rank = db.IntField(default=1) @property def user(self): return User.objects(id=self.user_id).first()
class UserProfile(db.DynamicDocument): username = db.StringField(max_length=255, unique=True, required=True) user_id = db.ObjectIdField() email = db.StringField(max_length=255, unique=True) @classmethod def create_profile(cls, user): create_args = dict( username=user.username, user_id=user.id, ) if user.email is not None: create_args.update(email=user.email) return cls.objects.create(**create_args) @property def user(self): return User.objects(id=self.user_id).first()
class Connection(db.Document): user_id = db.ObjectIdField(verbose_name=_l('Connection')) provider_id = db.StringField(max_length=255, verbose_name=_l('Provider ID')) provider_user_id = db.StringField(max_length=255, verbose_name=_l('Provider User ID')) access_token = db.StringField(max_length=255, verbose_name=_l('Access Token')) secret = db.StringField(max_length=255, verbose_name=_l('Secret')) display_name = db.StringField(max_length=255, verbose_name=_l('Display Name')) full_name = db.StringField(max_length=255, verbose_name=_l('Full Name')) profile_url = db.StringField(max_length=512, verbose_name=_l('Profile URL')) image_url = db.StringField(max_length=512, verbose_name=_l('Image URL')) rank = db.IntField(default=1, verbose_name=_l('Rank')) @property def user(self): return User.objects(id=self.user_id).first()