diff --git a/application.py b/application.py index 92f120626..6648ee2a0 100644 --- a/application.py +++ b/application.py @@ -1,12 +1,9 @@ #!/usr/bin/env python from __future__ import print_function - import os - from flask.ext.script import Manager, Server from flask.ext.migrate import Migrate, MigrateCommand - from app import create_app, db application = create_app(os.getenv('NOTIFY_API_ENVIRONMENT') or 'development') @@ -24,5 +21,30 @@ def list_routes(): for rule in sorted(application.url_map.iter_rules(), key=lambda r: r.rule): print("{:10} {}".format(", ".join(rule.methods - set(['OPTIONS', 'HEAD'])), rule.rule)) + +@manager.command +def create_admin_user_service(): + """ + Convience method to create a admin user and service + :return: API token for admin service + """ + from app.models import User, Service, Token + from app.dao import tokens_dao, users_dao, services_dao + from flask import current_app + + user = User(**{'email_address': current_app.config['ADMIN_USER_EMAIL_ADDRESS']}) + users_dao.save_model_user(user) + + service = Service(**{'name': 'Notify Service Admin', + 'users': [user], + 'limit': 1000, + 'active': True, + 'restricted': True}) + services_dao.save_model_service(service) + token = Token(**{'service_id': service.id}) + tokens_dao.save_model_token(token) + print('Token: {}'.format(tokens_dao.get_unsigned_token(service.id))) + + if __name__ == '__main__': manager.run() diff --git a/config.py b/config.py index 0efe7286c..256f55c8f 100644 --- a/config.py +++ b/config.py @@ -12,6 +12,7 @@ class Development(Config): DEBUG = True SECRET_KEY = 'secret-key' DANGEROUS_SALT = 'dangerous-salt' + ADMIN_USER_EMAIL_ADDRESS = 'dev-notify-admin@digital.cabinet-office.gov.uk' class Test(Config):