Skip to content

Commit

Permalink
Merge pull request #27 from ral-facilities/15_generate_swagger
Browse files Browse the repository at this point in the history
Generation of openapi.yaml
  • Loading branch information
keiranjprice101 authored Aug 8, 2019
2 parents 251d2bd + 735eda4 commit 22bfd1e
Show file tree
Hide file tree
Showing 43 changed files with 5,949 additions and 8 deletions.
5 changes: 5 additions & 0 deletions common/config.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,5 +27,10 @@ def is_debug_mode(self):
except:
sys.exit("Missing config value, debug_mode")

def is_generate_swagger(self):
try:
return self.config["generate_swagger"]
except:
sys.exit("Missing config value, generate_swagger")

config = Config()
3 changes: 2 additions & 1 deletion config.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
{
"DB_URL": "mysql+pymysql://root:rootpw@localhost:13306/icatdb",
"log_level": "WARN",
"debug_mode": false
"debug_mode": false,
"generate_swagger": false
}


Expand Down
3 changes: 2 additions & 1 deletion config.json.example
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
{
"DB_URL": "mysql+pymysql://root:rootpw@localhost:13306/icatdb",
"log_level": "WARN",
"debug_mode": false
"debug_mode": false,
"generate_swagger": false
}


Expand Down
12 changes: 6 additions & 6 deletions src/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@

from common.config import config
from common.logger_setup import setup_logger
from src.resources.entities.dataset_type_endpoints import *
from src.resources.entities.applications_endpoints import *
from src.resources.entities.datacollection_datafiles_endpoints import *
from src.resources.entities.datacollection_datasets_endpoints import *
Expand All @@ -12,6 +11,7 @@
from src.resources.entities.datafile_formats_endpoints import *
from src.resources.entities.datafile_parameters_endpoints import *
from src.resources.entities.datafiles_endpoints import *
from src.resources.entities.dataset_type_endpoints import *
from src.resources.entities.datasets_endpoints import *
from src.resources.entities.facilities_endpoints import *
from src.resources.entities.facility_cycles_endpoints import *
Expand All @@ -35,18 +35,19 @@
from src.resources.entities.sample_parameters_endpoints import *
from src.resources.entities.sample_types_endpoints import *
from src.resources.entities.samples_endpoints import *
from src.resources.non_entities.sessions_endpoints import *
from src.resources.entities.shifts_endpoints import *
from src.resources.entities.studies_endpoints import *
from src.resources.entities.study_investigations_endpoints import *
from src.resources.entities.user_groups_endpoints import *
from src.resources.entities.users_endpoints import *
from src.resources.non_entities.sessions_endpoints import *
from src.swagger.swagger_generator import swagger_gen

swagger_gen.write_swagger_spec()

app = Flask(__name__)
api = Api(app)


setup_logger()

api.add_resource(Applications, "/applications")
Expand All @@ -69,7 +70,7 @@
api.add_resource(DataCollectionParametersWithID, "/datacollectionparameters/<string:id>")
api.add_resource(DataCollectionParametersCount, "/datacollectionparameters/count")
api.add_resource(DataCollectionParametersFindOne, "/datacollectionparameters/findOne")
api.add_resource(Datafiles,"/datafiles")
api.add_resource(Datafiles, "/datafiles")
api.add_resource(DatafilesWithID, "/datafiles/<string:id>")
api.add_resource(DatafilesFindOne, "/datafiles/findOne")
api.add_resource(DatafilesCount, "/datafiles/count")
Expand Down Expand Up @@ -199,6 +200,5 @@
api.add_resource(UserGroupsCount, "/usergroups/count")
api.add_resource(UserGroupsFindOne, "/usergroups/findOne")


if __name__ == "__main__":
app.run(debug=config.is_debug_mode())
app.run(debug=config.is_debug_mode())
2 changes: 2 additions & 0 deletions src/resources/entities/applications_endpoints.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@
from common.database_helpers import get_row_by_id, delete_row_by_id, update_row_from_id, get_rows_by_filter, \
get_filtered_row_count, get_first_filtered_row, create_row_from_json, patch_entities
from common.helpers import requires_session_id, queries_records, get_filters_from_query_string
from src.swagger.swagger_generator import swagger_gen


@swagger_gen.resource_wrapper()
class Applications(Resource):
@requires_session_id
@queries_records
Expand Down
2 changes: 2 additions & 0 deletions src/resources/entities/datacollection_datafiles_endpoints.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@
get_filtered_row_count, get_first_filtered_row, create_row_from_json, patch_entities
from common.helpers import requires_session_id, queries_records, get_filters_from_query_string
from common.models.db_models import DATACOLLECTIONDATAFILE
from src.swagger.swagger_generator import swagger_gen


@swagger_gen.resource_wrapper()
class DataCollectionDatafiles(Resource):
@requires_session_id
@queries_records
Expand Down
2 changes: 2 additions & 0 deletions src/resources/entities/datacollection_datasets_endpoints.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@
get_filtered_row_count, get_first_filtered_row, create_row_from_json, patch_entities
from common.helpers import requires_session_id, queries_records, get_filters_from_query_string
from common.models.db_models import DATACOLLECTIONDATASET
from src.swagger.swagger_generator import swagger_gen


@swagger_gen.resource_wrapper()
class DataCollectionDatasets(Resource):
@requires_session_id
@queries_records
Expand Down
2 changes: 2 additions & 0 deletions src/resources/entities/datacollection_parameters_endpoints.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@
get_filtered_row_count, get_first_filtered_row, create_row_from_json, patch_entities
from common.helpers import requires_session_id, queries_records, get_filters_from_query_string
from common.models.db_models import DATACOLLECTIONPARAMETER
from src.swagger.swagger_generator import swagger_gen


@swagger_gen.resource_wrapper()
class DataCollectionParameters(Resource):
@requires_session_id
@queries_records
Expand Down
2 changes: 2 additions & 0 deletions src/resources/entities/datacollections_endpoints.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@
get_filtered_row_count, get_first_filtered_row, create_row_from_json, patch_entities
from common.helpers import requires_session_id, queries_records, get_filters_from_query_string
from common.models.db_models import DATACOLLECTION
from src.swagger.swagger_generator import swagger_gen


@swagger_gen.resource_wrapper()
class DataCollections(Resource):
@requires_session_id
@queries_records
Expand Down
2 changes: 2 additions & 0 deletions src/resources/entities/datafile_formats_endpoints.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@
get_filtered_row_count, get_first_filtered_row, create_row_from_json, patch_entities
from common.helpers import requires_session_id, queries_records, get_filters_from_query_string
from common.models.db_models import DATAFILEFORMAT
from src.swagger.swagger_generator import swagger_gen


@swagger_gen.resource_wrapper()
class DatafileFormats(Resource):
@requires_session_id
@queries_records
Expand Down
2 changes: 2 additions & 0 deletions src/resources/entities/datafile_parameters_endpoints.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@
get_filtered_row_count, get_first_filtered_row, create_row_from_json, patch_entities
from common.helpers import requires_session_id, queries_records, get_filters_from_query_string
from common.models.db_models import DATAFILEPARAMETER
from src.swagger.swagger_generator import swagger_gen


@swagger_gen.resource_wrapper()
class DatafileParameters(Resource):
@requires_session_id
@queries_records
Expand Down
2 changes: 2 additions & 0 deletions src/resources/entities/datafiles_endpoints.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@
get_filtered_row_count, get_first_filtered_row, create_row_from_json, patch_entities
from common.helpers import requires_session_id, queries_records, get_filters_from_query_string
from common.models.db_models import DATAFILE
from src.swagger.swagger_generator import swagger_gen


@swagger_gen.resource_wrapper()
class Datafiles(Resource):
@requires_session_id
@queries_records
Expand Down
2 changes: 2 additions & 0 deletions src/resources/entities/dataset_type_endpoints.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@
get_filtered_row_count, get_first_filtered_row, create_row_from_json, patch_entities
from common.helpers import requires_session_id, queries_records, get_filters_from_query_string
from common.models.db_models import DATASETTYPE
from src.swagger.swagger_generator import swagger_gen


@swagger_gen.resource_wrapper()
class DatasetTypes(Resource):
@requires_session_id
@queries_records
Expand Down
2 changes: 2 additions & 0 deletions src/resources/entities/datasets_endpoints.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@
get_filtered_row_count, get_first_filtered_row, create_row_from_json, patch_entities
from common.helpers import requires_session_id, queries_records, get_filters_from_query_string
from common.models.db_models import DATASET
from src.swagger.swagger_generator import swagger_gen


@swagger_gen.resource_wrapper()
class Datasets(Resource):
@requires_session_id
@queries_records
Expand Down
2 changes: 2 additions & 0 deletions src/resources/entities/facilities_endpoints.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@
get_filtered_row_count, get_first_filtered_row, create_row_from_json, patch_entities
from common.helpers import requires_session_id, queries_records, get_filters_from_query_string
from common.models.db_models import FACILITY
from src.swagger.swagger_generator import swagger_gen


@swagger_gen.resource_wrapper()
class Facilities(Resource):
@requires_session_id
@queries_records
Expand Down
2 changes: 2 additions & 0 deletions src/resources/entities/facility_cycles_endpoints.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@
get_filtered_row_count, get_first_filtered_row, create_row_from_json, patch_entities
from common.helpers import requires_session_id, queries_records, get_filters_from_query_string
from common.models.db_models import FACILITYCYCLE
from src.swagger.swagger_generator import swagger_gen


@swagger_gen.resource_wrapper()
class FacilityCycles(Resource):
@requires_session_id
@queries_records
Expand Down
2 changes: 2 additions & 0 deletions src/resources/entities/groupings_endpoints.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@
get_filtered_row_count, get_first_filtered_row, create_row_from_json, patch_entities
from common.helpers import requires_session_id, queries_records, get_filters_from_query_string
from common.models.db_models import GROUPING
from src.swagger.swagger_generator import swagger_gen


@swagger_gen.resource_wrapper()
class Groupings(Resource):
@requires_session_id
@queries_records
Expand Down
2 changes: 2 additions & 0 deletions src/resources/entities/instrument_scientists_endpoints.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@
get_filtered_row_count, get_first_filtered_row, create_row_from_json, patch_entities
from common.helpers import requires_session_id, queries_records, get_filters_from_query_string
from common.models.db_models import INSTRUMENTSCIENTIST
from src.swagger.swagger_generator import swagger_gen


@swagger_gen.resource_wrapper()
class InstrumentScientists(Resource):
@requires_session_id
@queries_records
Expand Down
2 changes: 2 additions & 0 deletions src/resources/entities/instruments_endpoints.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@
get_filtered_row_count, get_first_filtered_row, create_row_from_json, patch_entities
from common.helpers import requires_session_id, queries_records, get_filters_from_query_string
from common.models.db_models import INSTRUMENT
from src.swagger.swagger_generator import swagger_gen


@swagger_gen.resource_wrapper()
class Instruments(Resource):
@requires_session_id
@queries_records
Expand Down
2 changes: 2 additions & 0 deletions src/resources/entities/investigation_groups_endpoints.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@
get_filtered_row_count, get_first_filtered_row, create_row_from_json, patch_entities
from common.helpers import requires_session_id, queries_records, get_filters_from_query_string
from common.models.db_models import INVESTIGATIONGROUP
from src.swagger.swagger_generator import swagger_gen


@swagger_gen.resource_wrapper()
class InvestigationGroups(Resource):
@requires_session_id
@queries_records
Expand Down
2 changes: 2 additions & 0 deletions src/resources/entities/investigation_instruments_endpoints.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@
get_filtered_row_count, get_first_filtered_row, create_row_from_json, patch_entities
from common.helpers import requires_session_id, queries_records, get_filters_from_query_string
from common.models.db_models import INVESTIGATIONINSTRUMENT
from src.swagger.swagger_generator import swagger_gen


@swagger_gen.resource_wrapper()
class InvestigationInstruments(Resource):
@requires_session_id
@queries_records
Expand Down
2 changes: 2 additions & 0 deletions src/resources/entities/investigation_parameters_endpoints.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@
get_filtered_row_count, get_first_filtered_row, create_row_from_json, patch_entities
from common.helpers import requires_session_id, queries_records, get_filters_from_query_string
from common.models.db_models import INVESTIGATIONPARAMETER
from src.swagger.swagger_generator import swagger_gen


@swagger_gen.resource_wrapper()
class InvestigationParameters(Resource):
@requires_session_id
@queries_records
Expand Down
2 changes: 2 additions & 0 deletions src/resources/entities/investigation_types_endpoints.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@
get_filtered_row_count, get_first_filtered_row, create_row_from_json, patch_entities
from common.helpers import requires_session_id, queries_records, get_filters_from_query_string
from common.models.db_models import INVESTIGATIONTYPE
from src.swagger.swagger_generator import swagger_gen


@swagger_gen.resource_wrapper()
class InvestigationTypes(Resource):
@requires_session_id
@queries_records
Expand Down
2 changes: 2 additions & 0 deletions src/resources/entities/investigation_users_endpoints.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@
get_filtered_row_count, get_first_filtered_row, create_row_from_json, patch_entities
from common.helpers import requires_session_id, queries_records, get_filters_from_query_string
from common.models.db_models import INVESTIGATIONUSER
from src.swagger.swagger_generator import swagger_gen


@swagger_gen.resource_wrapper()
class InvestigationUsers(Resource):
@requires_session_id
@queries_records
Expand Down
2 changes: 2 additions & 0 deletions src/resources/entities/investigations_endpoints.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@
get_filtered_row_count, get_first_filtered_row, create_row_from_json, patch_entities
from common.helpers import requires_session_id, queries_records, get_filters_from_query_string
from common.models.db_models import INVESTIGATION
from src.swagger.swagger_generator import swagger_gen


@swagger_gen.resource_wrapper()
class Investigations(Resource):
@requires_session_id
@queries_records
Expand Down
2 changes: 2 additions & 0 deletions src/resources/entities/jobs_endpoints.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@
get_filtered_row_count, get_first_filtered_row, create_row_from_json, patch_entities
from common.helpers import requires_session_id, queries_records, get_filters_from_query_string
from common.models.db_models import JOB
from src.swagger.swagger_generator import swagger_gen


@swagger_gen.resource_wrapper()
class Jobs(Resource):
@requires_session_id
@queries_records
Expand Down
2 changes: 2 additions & 0 deletions src/resources/entities/keywords_endpoints.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@
get_filtered_row_count, get_first_filtered_row, create_row_from_json, patch_entities
from common.helpers import requires_session_id, queries_records, get_filters_from_query_string
from common.models.db_models import KEYWORD
from src.swagger.swagger_generator import swagger_gen


@swagger_gen.resource_wrapper()
class Keywords(Resource):
@requires_session_id
@queries_records
Expand Down
2 changes: 2 additions & 0 deletions src/resources/entities/parameter_types_endpoints.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@
get_filtered_row_count, get_first_filtered_row, create_row_from_json, patch_entities
from common.helpers import requires_session_id, queries_records, get_filters_from_query_string
from common.models.db_models import PARAMETERTYPE
from src.swagger.swagger_generator import swagger_gen


@swagger_gen.resource_wrapper()
class ParameterTypes(Resource):
@requires_session_id
@queries_records
Expand Down
2 changes: 2 additions & 0 deletions src/resources/entities/permissible_string_values_endpoints.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@
get_filtered_row_count, get_first_filtered_row, create_row_from_json, patch_entities
from common.helpers import requires_session_id, queries_records, get_filters_from_query_string
from common.models.db_models import PERMISSIBLESTRINGVALUE
from src.swagger.swagger_generator import swagger_gen


@swagger_gen.resource_wrapper()
class PermissibleStringValues(Resource):
@requires_session_id
@queries_records
Expand Down
2 changes: 2 additions & 0 deletions src/resources/entities/public_steps_endpoints.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@
get_filtered_row_count, get_first_filtered_row, create_row_from_json, patch_entities
from common.helpers import requires_session_id, queries_records, get_filters_from_query_string
from common.models.db_models import PUBLICSTEP
from src.swagger.swagger_generator import swagger_gen


@swagger_gen.resource_wrapper()
class PublicSteps(Resource):
@requires_session_id
@queries_records
Expand Down
2 changes: 2 additions & 0 deletions src/resources/entities/publications_endpoints.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@
get_filtered_row_count, get_first_filtered_row, create_row_from_json, patch_entities
from common.helpers import requires_session_id, queries_records, get_filters_from_query_string
from common.models.db_models import PUBLICATION
from src.swagger.swagger_generator import swagger_gen


@swagger_gen.resource_wrapper()
class Publications(Resource):
@requires_session_id
@queries_records
Expand Down
2 changes: 2 additions & 0 deletions src/resources/entities/related_datafiles_endpoints.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,10 @@
get_filtered_row_count, get_first_filtered_row, create_row_from_json, patch_entities
from common.helpers import requires_session_id, queries_records, get_filters_from_query_string
from common.models.db_models import RELATEDDATAFILE
from src.swagger.swagger_generator import swagger_gen


@swagger_gen.resource_wrapper()
class RelatedDatafiles(Resource):
@requires_session_id
@queries_records
Expand Down
Loading

0 comments on commit 22bfd1e

Please sign in to comment.