Create a relationship between services and tokens

This commit is contained in:
Rebecca Law
2016-01-13 17:08:57 +00:00
parent 255dddaa27
commit 4a692d555e
4 changed files with 8 additions and 6 deletions

View File

@@ -7,6 +7,7 @@ from app.models import (Service, User)
def save_model_service(service, update_dict=None):
print(update_dict)
users_list = update_dict.get('users', []) if update_dict else getattr(service, 'users', [])
if not users_list:
error_msg = {'users': ['Missing data for required attribute']}

View File

@@ -65,8 +65,9 @@ class Token(db.Model):
__tablename__ = 'tokens'
id = db.Column(db.Integer, primary_key=True)
token = db.Column(db.String, unique=True, nullable=False)
token = db.Column(db.String(255), unique=True, nullable=False)
service_id = db.Column(db.Integer, db.ForeignKey('services.id'), index=True, nullable=False)
service = db.relationship('Service', backref=db.backref('tokens', lazy='dynamic'))
expiry_date = db.Column(db.DateTime)

View File

@@ -19,7 +19,7 @@ class UserSchema(ma.ModelSchema):
class ServiceSchema(ma.ModelSchema):
class Meta:
model = models.Service
exclude = ("updated_at", "created_at", "templates")
exclude = ("updated_at", "created_at", "tokens", "templates")
class TemplateSchema(ma.ModelSchema):

View File

@@ -1,13 +1,13 @@
"""empty message
Revision ID: 0002_create_api_token
Revision ID: 0003_create_tokens
Revises: 0001_initialise_data
Create Date: 2016-01-13 10:21:14.651691
Create Date: 2016-01-13 17:07:49.061776
"""
# revision identifiers, used by Alembic.
revision = '0002_create_api_token'
revision = '0003_create_tokens'
down_revision = '0001_initialise_data'
from alembic import op
@@ -18,7 +18,7 @@ def upgrade():
### commands auto generated by Alembic - please adjust! ###
op.create_table('tokens',
sa.Column('id', sa.Integer(), nullable=False),
sa.Column('token', sa.String(), nullable=False),
sa.Column('token', sa.String(length=255), nullable=False),
sa.Column('service_id', sa.Integer(), nullable=False),
sa.Column('expiry_date', sa.DateTime(), nullable=True),
sa.ForeignKeyConstraint(['service_id'], ['services.id'], ),