def create_default_user_tenant_and_roles(admin_username, admin_password, amqp_manager, authorization_file_path): """ Create the bootstrap admin, the default tenant and the security roles, as well as a RabbitMQ vhost and user corresponding to the default tenant :return: The default tenant """ admin_role = _create_roles(authorization_file_path) default_tenant = _create_default_tenant() amqp_manager.create_tenant_vhost_and_user(tenant=default_tenant) admin_user = user_datastore.create_user( id=constants.BOOTSTRAP_ADMIN_ID, username=admin_username, password=encrypt_password(admin_password), roles=[admin_role]) # User role assigned to admin user as a member of default tenant # This is the default role when adding a user is added to a tenant. # Anyway, `sys_admin` will be the effective role since is the system role. user_role = user_datastore.find_role(constants.DEFAULT_TENANT_ROLE) user_tenant_association = UserTenantAssoc( user=admin_user, tenant=default_tenant, role=user_role, ) admin_user.tenant_associations.append(user_tenant_association) user_datastore.commit() return default_tenant
def create_default_user_tenant_and_roles(admin_username, admin_password, amqp_manager, authorization_file_path): """ Create the bootstrap admin, the default tenant and the security roles, as well as a RabbitMQ vhost and user corresponding to the default tenant :return: The default tenant """ admin_role = _create_roles(authorization_file_path) default_tenant = _create_default_tenant() amqp_manager.create_tenant_vhost_and_user(tenant=default_tenant) admin_user = user_datastore.create_user( id=constants.BOOTSTRAP_ADMIN_ID, username=admin_username, password=hash_password(admin_password), roles=[admin_role] ) # User role assigned to admin user as a member of default tenant # This is the default role when adding a user is added to a tenant. # Anyway, `sys_admin` will be the effective role since is the system role. user_role = user_datastore.find_role(constants.DEFAULT_TENANT_ROLE) user_tenant_association = UserTenantAssoc( user=admin_user, tenant=default_tenant, role=user_role, ) admin_user.tenant_associations.append(user_tenant_association) user_datastore.commit() return default_tenant
def add_users_to_db(user_list): default_tenant = Tenant.query.get(DEFAULT_TENANT_ID) for user in user_list: role = user_datastore.find_role(user['role']) user_obj = user_datastore.create_user(username=user['username'], password=encrypt_password( user['password']), roles=[role]) user_obj.active = user.get('active', True) user_obj.tenants.append(default_tenant) user_datastore.commit()
def create_default_user_tenant_and_roles(admin_username, admin_password): """Create the bootstrap admin, the default tenant and the security roles :return: The default tenant """ admin_role = _create_roles() default_tenant = _create_default_tenant() admin_user = user_datastore.create_user( id=constants.BOOTSTRAP_ADMIN_ID, username=admin_username, password=encrypt_password(admin_password), roles=[admin_role]) admin_user.tenants.append(default_tenant) user_datastore.commit() return default_tenant
def add_users_to_db(user_list): default_tenant = Tenant.query.get(DEFAULT_TENANT_ID) for user in user_list: role = user_datastore.find_role(user['role']) user_obj = user_datastore.create_user(username=user['username'], password=hash_password( user['password']), roles=[role]) default_tenant_role = user_datastore.find_role(DEFAULT_TENANT_ROLE) user_obj.active = user.get('active', True) user_tenant_association = UserTenantAssoc( user=user_obj, tenant=default_tenant, role=default_tenant_role, ) user_obj.tenant_associations.append(user_tenant_association) user_datastore.commit()
def create_default_user_tenant_and_roles(admin_username, admin_password, amqp_manager): """ Create the bootstrap admin, the default tenant and the security roles, as well as a RabbitMQ vhost and user corresponding to the default tenant :return: The default tenant """ admin_role = _create_roles() default_tenant = _create_default_tenant() amqp_manager.create_tenant_vhost_and_user(tenant=default_tenant) admin_user = user_datastore.create_user( id=constants.BOOTSTRAP_ADMIN_ID, username=admin_username, password=encrypt_password(admin_password), roles=[admin_role] ) admin_user.tenants.append(default_tenant) user_datastore.commit() return default_tenant
def create_status_reporter_user_and_assign_role(username, password, role, user_id): """Creates a user and assigns its given role. """ user = user_datastore.create_user(username=username, password=hash_password(password), roles=[role], id=user_id) default_tenant = Tenant.query.filter_by( id=constants.DEFAULT_TENANT_ID).first() reporter_role = user_datastore.find_role(role) if not reporter_role: raise NotFoundError("The username \"{0}\" cannot have the role \"{1}\"" " as the role doesn't exist" "".format(username, role)) user_tenant_association = UserTenantAssoc( user=user, tenant=default_tenant, role=reporter_role, ) user.tenant_associations.append(user_tenant_association) user_datastore.commit() return user