Esempio n. 1
0
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)
Esempio n. 2
0
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)
Esempio n. 3
0
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'))
Esempio n. 4
0
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)
Esempio n. 5
0
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)
Esempio n. 6
0
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)
Esempio n. 7
0
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