def post(self, organisation_id): """ """ schema = NamespaceSchema() namespace_data = request.get_json() validated_namespace_data, errors = schema.load(namespace_data) if errors: return dict(status='fail', message=errors), 400 organisation = Organisation.get_by_id(organisation_id) if not organisation: return dict( status='fail', message=f'Organisation with id {organisation_id} not found' ), 404 name = validated_namespace_data.get('name') namespace = Namespace(name, organisation_id) saved = namespace.save() if not saved: return dict(status='fail', message='Internal Server Error'), 500 new_namespace_data, errors = schema.dumps(namespace) return dict(status='success', data=dict(namespace=json.loads(new_namespace_data))), 201
def delete(self, organisation_id): """ """ org_admin_schema = OrgAdminSchema() org_admin_data = request.get_json() validated_org_admin_data, errors =\ org_admin_schema.load(org_admin_data) if errors: return dict(status='fail', message=errors), 400 # Get User user = User.get_by_id(validated_org_admin_data.get('user_id', None)) if not user: return dict(status='fail', message='User not found'), 404 # Get organisation organisation = Organisation.get_by_id(organisation_id) if not organisation: return dict(status='fail', message='Organisation not found'), 404 # removing user from organisation admins try: organisation.admins.remove(user) except Exception: return dict(status='fail', message='Organisation Admin not found'), 404 saved_org_admins = organisation.save() if not saved_org_admins: return dict(status='fail', message='Internal Server Error'), 500 org_schema = OrganisationSchema() new_org_admin_data, errors = org_schema.dumps(organisation) return dict( status='success', data=dict(organisation_admins=json.loads(new_org_admin_data))), 200
def post(self, organisation_id): """ """ org_member_schema = OrgMemberSchema() org_member_data = request.get_json() validated_org_member_data, errors = org_member_schema.load( org_member_data) if errors: return dict(status='fail', message=errors), 400 # Get User user = User.get_by_id(validated_org_member_data.get('user_id', None)) if not user: return dict(status='fail', message='User not found'), 404 # Get organisation organisation = Organisation.get_by_id(organisation_id) if not organisation: return dict(status='fail', message='Organisation not found'), 404 if user in organisation.members: return dict(status='fail', message='Member already exist'), 409 # adding user to organisation members organisation.members.append(user) saved_org_member = organisation.save() user_schema = UserSchema() if not saved_org_member: return dict(status='fail', message='Internal Server Error'), 500 new_org_member_data, errors = user_schema.dumps(user) return dict( status='success', data=dict( organisation_member=json.loads(new_org_member_data))), 201
def get(self, organisation_id): """ """ org_schema = OrganisationSchema(many=True) organisation = Organisation.get_by_id(organisation_id) if not organisation: return dict(status='fail', message='Organisation not found'), 404 org_admins = organisation.admins org_admin_data, errors = org_schema.dumps(org_admins) if errors: return dict(status="fail", message="Internal Server Error"), 500 return dict( status="success", data=dict(organisation_admins=json.loads(org_admin_data))), 200
def get(self, organisation_id): """ """ schema = NamespaceSchema(many=True) organisation = Organisation.get_by_id(organisation_id) if not organisation: return dict( status='fail', message=f'Organisation with id {organisation_id} not found' ), 404 namespaces = Namespace.query.filter_by(organisation_id=organisation.id) namespace_data, errors = schema.dumps(namespaces) if errors: return dict(status='fail', message=errors), 500 return dict(status='success', data=dict(namespaces=json.loads(namespace_data))), 200