class TokenModel(sql.ModelBase, sql.DictBase): __tablename__ = 'token' attributes = ['id', 'expires'] id = sql.Column(sql.String(64), primary_key=True) expires = sql.Column(sql.DateTime(), default=None) extra = sql.Column(sql.JsonBlob()) valid = sql.Column(sql.Boolean(), default=True)
class Role(sql.ModelBase, sql.ModelDictMixin): __tablename__ = 'role_fiware' __table_args__ = (sql.UniqueConstraint('name', 'application_id'), {'extend_existing': True}) attributes = ['id', 'name', 'is_internal', 'application_id'] id = sql.Column(sql.String(64), primary_key=True, nullable=False) name = sql.Column(sql.String(64), nullable=False) is_internal = sql.Column(sql.Boolean(), default=False, nullable=False) application_id = sql.Column(sql.String(64), sql.ForeignKey('consumer_oauth2.id'), nullable=False, index=True)
class TokenModel(sql.ModelBase, sql.DictBase): __tablename__ = 'token' attributes = ['id', 'expires', 'user_id', 'trust_id'] id = sql.Column(sql.String(64), primary_key=True) expires = sql.Column(sql.DateTime(), default=None) extra = sql.Column(sql.JsonBlob()) valid = sql.Column(sql.Boolean(), default=True, nullable=False) user_id = sql.Column(sql.String(64)) trust_id = sql.Column(sql.String(64)) __table_args__ = (sql.Index('ix_token_expires', 'expires'), sql.Index('ix_token_expires_valid', 'expires', 'valid'))
class SPasswordModel(sql.ModelBase, sql.ModelDictMixinWithExtras): __tablename__ = 'spassword' attributes = [ 'user_id', 'user_name', 'domain_id', 'creation_time', 'login_attempts', 'last_login_attempt_time', 'sndfa', 'sndfa_last', 'sndfa_code', 'sndfa_time_code', 'sndfa_email', 'sndfa_email_code' ] user_id = sql.Column(sql.String(64), primary_key=True) user_name = sql.Column(sql.String(255), default=None) domain_id = sql.Column(sql.String(64), default=None) creation_time = sql.Column(sql.DateTime(), default=None) login_attempts = sql.Column(sql.Integer, default=0) last_login_attempt_time = sql.Column(sql.DateTime(), default=None) # bad_attempts extra = sql.Column(sql.JsonBlob()) # sndfa sndfa = sql.Column(sql.Boolean(), default=False) sndfa_last = sql.Column(sql.DateTime(), default=None) sndfa_code = sql.Column(sql.String(32), default=None) sndfa_time_code = sql.Column(sql.DateTime(), default=None) sndfa_email = sql.Column(sql.Boolean(), default=False) sndfa_email_code = sql.Column(sql.String(32), default=None)
class AuthorizationCode(sql.ModelBase, sql.DictBase): __tablename__ = 'authorization_code_oauth2' attributes = ['code', 'consumer_id', 'authorizing_user_id', 'expires_at', 'scopes', 'state', 'redirect_uri', 'valid', 'extra'] code = sql.Column(sql.String(64), primary_key=True, nullable=False) consumer_id = sql.Column(sql.String(64), sql.ForeignKey('consumer_oauth2.id'), nullable=False, index=True) authorizing_user_id = sql.Column(sql.String(64), nullable=False) # TODO(garcianavalon) datetime type or similar? expires_at = sql.Column(sql.String(64), nullable=False) scopes = sql.Column(sql.JsonBlob(), nullable=True) state = sql.Column(sql.String(256), nullable=True) redirect_uri = sql.Column(sql.String(256), nullable=False) valid = sql.Column(sql.Boolean(), default=True, nullable=False) extra = sql.Column(sql.JsonBlob(), nullable=True)
class AccessToken(sql.ModelBase, sql.DictBase): __tablename__ = 'access_token_oauth2' attributes = ['id', 'consumer_id', 'authorizing_user_id', 'expires_at', 'scopes', 'refresh_token', 'valid', 'extra'] id = sql.Column(sql.String(64), primary_key=True, nullable=False) consumer_id = sql.Column(sql.String(64), sql.ForeignKey('consumer_oauth2.id'), nullable=False, index=True) # NOTE(garcianavalon) if the consumers uses the client credentials grant # there is no authorizing user, so it should be nullable. authorizing_user_id = sql.Column(sql.String(64), nullable=True) # TODO(garcianavalon) datetime type or similar? expires_at = sql.Column(sql.String(64), nullable=False) scopes = sql.Column(sql.JsonBlob(), nullable=True) refresh_token = sql.Column(sql.String(64), nullable=True) valid = sql.Column(sql.Boolean(), default=True, nullable=False) extra = sql.Column(sql.JsonBlob(), nullable=True)
class TokenModel(sql.ModelBase, sql.DictBase): __tablename__ = 'token' id = sql.Column(sql.String(64), primary_key=True) expires = sql.Column(sql.DateTime(), default=None) extra = sql.Column(sql.JsonBlob()) valid = sql.Column(sql.Boolean(), default=True) @classmethod def from_dict(cls, token_dict): # shove any non-indexed properties into extra extra = copy.deepcopy(token_dict) data = {} for k in ('id', 'expires'): data[k] = extra.pop(k, None) data['extra'] = extra return cls(**data) def to_dict(self): out = copy.deepcopy(self.extra) out['id'] = self.id out['expires'] = self.expires return out