def create_api(app, api_version): api = FlodApi(app) ## ## Actually setup the Api resource routing here ## api.add_resource(PersonsResource, '/api/%s/persons/' % api_version) api.add_resource( PersonResource, '/api/%s/persons/' % api_version, '/api/%s/persons/<int:person_id>' % api_version ) api.add_resource( PersonOrganisationsResource, '/api/%s/persons/<int:person_id>/organisations/' % api_version ) api.add_resource( OrganisationResource, '/api/%s/organisations/<int:org_id>' % api_version, '/api/%s/organisations/' % api_version ) api.add_resource( ExportOgranisationsResource, '/api/%s/export/organisations/' % api_version ) api.add_resource( OrganisationPersonsResource, '/api/%s/organisations/<int:org_id>/persons/' % api_version, '/api/%s/organisations/<int:org_id>/persons/<int:person_id>' % api_version ) api.add_resource( UmbrellaOrganisationResource, '/api/%s/umbrella_organisations/<int:umb_org_id>' % api_version, '/api/%s/umbrella_organisations/<string:umb_org_name>' % api_version, '/api/%s/umbrella_organisations/' % api_version ) api.add_resource( UmbrellaOrganisationPersonsResource, '/api/%s/umbrella_organisations/<int:umb_org_id>/persons/' % api_version, '/api/%s/umbrella_organisations/<int:umb_org_id>/persons/<int:person_id>' % api_version ) api.add_resource( UmbrellaOrgMemberOrgAssociationsResource, '/api/%s/umbrella_organisations/<int:umbrella_organisation_id>/organisations/' % api_version, '/api/%s/umbrella_organisations/<int:umbrella_organisation_id>/organisations/<int:association_id>' % api_version ) api.add_resource( BrregActivityCodeResource, '/api/%s/brreg_activity_codes/' % api_version ) api.add_resource( FlodActivityTypeResource, '/api/%s/flod_activity_types/' % api_version ) api.add_resource( DistrictResource, '/api/%s/districts/' % api_version ) api.add_resource( OrganisationInternalNotesResource, '/api/%s/organisations/<int:organisation_id>/notes/' % api_version, '/api/%s/organisations/<int:organisation_id>/notes/<int:note_id>' % api_version ) @app.route('/api/%s/brreg/enhet' % api_version) def lookup_basic_brreg_data(): """ Lookup unit information in Brreg. :param orgnr: Organisation number :statuscode 401: Unauthorized """ if not verify_auth_token(request.cookies.get('auth_token')): abort(401) if not brreg_client: abort(404) org_number = request.args['orgnr'] try: response = brreg_client.get_brreg_enhet_basis_data_full(org_number) except OrgNrNotFoundException, e: return Response( json.dumps({"__error__": [e.message]}), mimetype='application/json', status=404 ) try: flod_org = current_app.db_session.query(Organisation).filter( Organisation.org_number == org_number ).one() response['id'] = flod_org.id is_registered = not flod_org.is_deleted except NoResultFound: is_registered = False response['is_registered'] = is_registered marshalled = marshal(response, brreg_org_fields) return Response( json.dumps(marshalled), mimetype='application/json' )
def create_api(app, api_version): api = FlodApi(app) # # Actually setup the Api resource routing here # api.add_resource(FacilityResource, '/api/%s/facilities/' % API_VERSION) api.add_resource(SingleFacilityResource, '/api/%s/facilities/<int:facility_id>' % API_VERSION) api.add_resource(FacilityTypeResource, '/api/%s/facility_types/' % API_VERSION) api.add_resource(UnitTypeResource, '/api/%s/unit_types/' % API_VERSION) api.add_resource(FacilityImageResource, '/api/{0}/images/<int:image_id>'.format(API_VERSION)) api.add_resource(FacilityImageListResource, '/api/{0}/images/'.format(API_VERSION)) api.add_resource(FacilityDocumentResource, '/api/{0}/documents/<int:document_id>'.format( API_VERSION)), api.add_resource(FacilityDocumentListResource, '/api/{0}/documents/'.format(API_VERSION)) api.add_resource(DistrictResource, '/api/%s/districts/' % API_VERSION) api.add_resource(FacilityInternalNotesResource, '/api/%s/facilities/<int:facility_id>/notes/<int:note_id>' % api_version, '/api/%s/facilities/<int:facility_id>/notes/' % api_version) app.add_url_rule('/media/facilities/documents/<filename>', 'documents', documents) app.add_url_rule('/media/facilities/documents/<path:filename>', 'documents', documents) app.add_url_rule('/media/facilities/images/<path:filename>', 'images', images) return app