コード例 #1
0
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'
        )
コード例 #2
0
ファイル: api.py プロジェクト: Trondheim-kommune/Bookingbasen
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