Moves first versions of the the models to migrations
This commit is contained in:
parent
8ddd7769de
commit
7271b06282
@ -26,9 +26,7 @@ from sqlalchemy.sql import and_
|
|||||||
from migrate.changeset.constraint import UniqueConstraint
|
from migrate.changeset.constraint import UniqueConstraint
|
||||||
|
|
||||||
from mediagoblin.db.migration_tools import RegisterMigration, inspect_table
|
from mediagoblin.db.migration_tools import RegisterMigration, inspect_table
|
||||||
from mediagoblin.db.models import (MediaEntry, Collection, User, MediaComment,
|
from mediagoblin.db.models import MediaEntry, Collection, User, MediaComment
|
||||||
Client, RequestToken, AccessToken,
|
|
||||||
NonceTimestamp)
|
|
||||||
|
|
||||||
MIGRATIONS = {}
|
MIGRATIONS = {}
|
||||||
|
|
||||||
@ -383,13 +381,80 @@ def pw_hash_nullable(db):
|
|||||||
db.commit()
|
db.commit()
|
||||||
|
|
||||||
|
|
||||||
|
# oauth1 migrations
|
||||||
|
class Client_v0(Base):
|
||||||
|
"""
|
||||||
|
Model representing a client - Used for API Auth
|
||||||
|
"""
|
||||||
|
__tablename__ = "core__clients"
|
||||||
|
|
||||||
|
id = Column(Unicode, nullable=True, primary_key=True)
|
||||||
|
secret = Column(Unicode, nullable=False)
|
||||||
|
expirey = Column(DateTime, nullable=True)
|
||||||
|
application_type = Column(Unicode, nullable=False)
|
||||||
|
created = Column(DateTime, nullable=False, default=datetime.datetime.now)
|
||||||
|
updated = Column(DateTime, nullable=False, default=datetime.datetime.now)
|
||||||
|
|
||||||
|
# optional stuff
|
||||||
|
redirect_uri = Column(JSONEncoded, nullable=True)
|
||||||
|
logo_url = Column(Unicode, nullable=True)
|
||||||
|
application_name = Column(Unicode, nullable=True)
|
||||||
|
contacts = Column(JSONEncoded, nullable=True)
|
||||||
|
|
||||||
|
def __repr__(self):
|
||||||
|
if self.application_name:
|
||||||
|
return "<Client {0} - {1}>".format(self.application_name, self.id)
|
||||||
|
else:
|
||||||
|
return "<Client {0}>".format(self.id)
|
||||||
|
|
||||||
|
class RequestToken_v0(Base):
|
||||||
|
"""
|
||||||
|
Model for representing the request tokens
|
||||||
|
"""
|
||||||
|
__tablename__ = "core__request_tokens"
|
||||||
|
|
||||||
|
token = Column(Unicode, primary_key=True)
|
||||||
|
secret = Column(Unicode, nullable=False)
|
||||||
|
client = Column(Unicode, ForeignKey(Client.id))
|
||||||
|
user = Column(Integer, ForeignKey(User.id), nullable=True)
|
||||||
|
used = Column(Boolean, default=False)
|
||||||
|
authenticated = Column(Boolean, default=False)
|
||||||
|
verifier = Column(Unicode, nullable=True)
|
||||||
|
callback = Column(Unicode, nullable=False, default=u"oob")
|
||||||
|
created = Column(DateTime, nullable=False, default=datetime.datetime.now)
|
||||||
|
updated = Column(DateTime, nullable=False, default=datetime.datetime.now)
|
||||||
|
|
||||||
|
class AccessToken_v0(Base):
|
||||||
|
"""
|
||||||
|
Model for representing the access tokens
|
||||||
|
"""
|
||||||
|
__tablename__ = "core__access_tokens"
|
||||||
|
|
||||||
|
token = Column(Unicode, nullable=False, primary_key=True)
|
||||||
|
secret = Column(Unicode, nullable=False)
|
||||||
|
user = Column(Integer, ForeignKey(User.id))
|
||||||
|
request_token = Column(Unicode, ForeignKey(RequestToken.token))
|
||||||
|
created = Column(DateTime, nullable=False, default=datetime.datetime.now)
|
||||||
|
updated = Column(DateTime, nullable=False, default=datetime.datetime.now)
|
||||||
|
|
||||||
|
|
||||||
|
class NonceTimestamp_v0(Base):
|
||||||
|
"""
|
||||||
|
A place the timestamp and nonce can be stored - this is for OAuth1
|
||||||
|
"""
|
||||||
|
__tablename__ = "core__nonce_timestamps"
|
||||||
|
|
||||||
|
nonce = Column(Unicode, nullable=False, primary_key=True)
|
||||||
|
timestamp = Column(DateTime, nullable=False, primary_key=True)
|
||||||
|
|
||||||
|
|
||||||
@RegisterMigration(14, MIGRATIONS)
|
@RegisterMigration(14, MIGRATIONS)
|
||||||
def create_oauth1_tables(db):
|
def create_oauth1_tables(db):
|
||||||
""" Creates the OAuth1 tables """
|
""" Creates the OAuth1 tables """
|
||||||
|
|
||||||
Client.__table__.create(db.bind)
|
Client_v0.__table__.create(db.bind)
|
||||||
RequestToken.__table__.create(db.bind)
|
RequestToken_v0.__table__.create(db.bind)
|
||||||
AccessToken.__table__.create(db.bind)
|
AccessToken_v0.__table__.create(db.bind)
|
||||||
NonceTimestamp.__table__.create(db.bind)
|
NonceTimestamp_v0.__table__.create(db.bind)
|
||||||
|
|
||||||
db.commit()
|
db.commit()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user