diff --git a/app/controllers/api/v1/dossiers_controller.rb b/app/controllers/api/v1/dossiers_controller.rb index 3c6c432fb..4c95e2370 100644 --- a/app/controllers/api/v1/dossiers_controller.rb +++ b/app/controllers/api/v1/dossiers_controller.rb @@ -3,8 +3,33 @@ class API::V1::DossiersController < APIController swagger_api :index do summary "Récupérer la liste de ses dossiers." - param :path, :procedure_id, :integer, "Procédure ID" - param :query, :token, :integer, "Admin TOKEN" + notes <<-EOS +
+
+{
+ "dossiers": [
+ {
+ "id": 1,
+ "nom_projet": "Dossier un",
+ "updated_at": "2016-02-18T12:49:41.105Z"
+ },
+ {
+ "id": 2,
+ "nom_projet": "Dossier de test",
+ "updated_at": "2016-02-08T18:36:49.394Z"
+ }
+ ],
+ "pagination": {
+ "page": 1,
+ "resultats_par_page": 12,
+ "nombre_de_page": 1
+ }
+}
+
+
+ EOS
+ param :path, :procedure_id, :integer, :required, "Procédure ID"
+ param :query, :token, :integer, :required, "Admin TOKEN"
response :ok, "Success", :Dossier
response :unauthorized
response :not_found
@@ -12,12 +37,58 @@ class API::V1::DossiersController < APIController
swagger_api :show do
summary "Récupérer le détails d'un dossier."
- param :path, :procedure_id, :integer, "Procédure ID"
- param :path, :id, :integer, "Dossier ID"
- param :query, :token, :integer, "Admin TOKEN"
+ notes <<-EOS
+
+
+{
+ "dossier": {
+ "id": 2,
+ "nom_projet": "Projet de test",
+ "description": "Description de test",
+ "created_at": "2016-02-08T18:33:23.779Z",
+ "updated_at": "2016-02-08T18:36:49.394Z",
+ "archived": false,
+ "entreprise": {
+ "siren": "418166096",
+ "capital_social": 459356,
+ "numero_tva_intracommunautaire": "FR16418166096",
+ "forme_juridique": "SA à directoire (s.a.i.)",
+ "forme_juridique_code": "5699",
+ "nom_commercial": "OCTO-TECHNOLOGY",
+ "raison_sociale": "OCTO-TECHNOLOGY",
+ "siret_siege_social": "41816609600051",
+ "code_effectif_entreprise": "31",
+ "date_creation": "1998-03-31T22:00:00.000Z",
+ "nom": null,
+ "prenom": null
+ },
+ "etablissement": {
+ "siret": "41816609600051",
+ "siege_social": true,
+ "naf": "6202A",
+ "libelle_naf": "Conseil en systèmes et logiciels informatiques",
+ "adresse": "OCTO-TECHNOLOGY\\r\\n50 AV DES CHAMPS ELYSEES\\r\\n75008 PARIS 8\\r\\n",
+ "numero_voie": "50",
+ "type_voie": "AV",
+ "nom_voie": "DES CHAMPS ELYSEES",
+ "complement_adresse": null,
+ "code_postal": "75008",
+ "localite": "PARIS 8",
+ "code_insee_localite": "75108"
+ }
+ }
+}
+
+
+ EOS
+ param :path, :procedure_id, :integer, :required, "Procédure ID"
+ param :path, :id, :integer, :required, "Dossier ID"
+ param :query, :token, :integer, :required, "Admin TOKEN"
+ param_list :query, :format, :string, :optional, "Format de retour", [:json, :csv]
response :ok, "Success", :Dossier
response :unauthorized
response :not_found
+ response :not_acceptable
end
def index
@@ -35,6 +106,9 @@ class API::V1::DossiersController < APIController
format.json { render json: dossier, status: 200 }
format.csv { render csv: dossier, status: 200 }
end
+ rescue ActionController::UnknownFormat
+ render json: {}, status: 406
+
rescue ActiveRecord::RecordNotFound => e
render json: {}, status: 404
end
diff --git a/app/controllers/api/v1/procedures_controller.rb b/app/controllers/api/v1/procedures_controller.rb
index 4730ce72b..435027333 100644
--- a/app/controllers/api/v1/procedures_controller.rb
+++ b/app/controllers/api/v1/procedures_controller.rb
@@ -4,8 +4,65 @@ class API::V1::ProceduresController < APIController
swagger_api :show do
summary "Récupérer la liste de ses procédures."
- param :path, :id, :integer, "Procédure ID"
- param :query, :token, :integer, "Admin TOKEN"
+ notes <<-EOS
+
+
+{
+ "procedure": {
+ "label": "zklenkgnjzk",
+ "link": "",
+ "id": 2,
+ "description": "nzgjenjkgzenkn",
+ "organisation": "",
+ "direction": "",
+ "archived": false,
+ "geographic_information": {
+ "use_api_carto": true,
+ "quartiers_prioritaires": false,
+ "cadastre": false
+ },
+ "types_de_champ": [
+ {
+ "id": 1,
+ "libelle": "fzeknfezkz",
+ "type_champ": "text",
+ "order_place": 0,
+ "description": "zgezgze"
+ },
+ {
+ "id": 2,
+ "libelle": "gzzgeez",
+ "type_champ": "text",
+ "order_place": 1,
+ "description": "zgezeg"
+ },
+ {
+ "id": 3,
+ "libelle": "zgezgzeg",
+ "type_champ": "text",
+ "order_place": 2,
+ "description": "gezgzeg"
+ }
+ ],
+ "types_de_piece_justificative": [
+ {
+ "id": 1,
+ "libelle": "gzeezgzg",
+ "description": "gzeegz"
+ },
+ {
+ "id": 2,
+ "libelle": "gzgzeg",
+ "description": "gzeegz"
+ }
+ ]
+ }
+}
+
+
+ EOS
+ param :path, :id, :integer, :required, "Procédure ID"
+ param :query, :token, :integer, :required, "Admin TOKEN"
response :ok, "Success", :Procedure
response :unauthorized
response :not_found
diff --git a/public/api/v1/dossiers.json b/public/api/v1/dossiers.json
index 6dce65d06..d5d60ef40 100644
--- a/public/api/v1/dossiers.json
+++ b/public/api/v1/dossiers.json
@@ -9,20 +9,21 @@
"operations": [
{
"summary": "Récupérer la liste de ses dossiers.",
+ "notes": "\n\n{\n \"dossiers\": [\n {\n \"id\": 1,\n \"nom_projet\": \"Dossier un\",\n \"updated_at\": \"2016-02-18T12:49:41.105Z\"\n },\n {\n \"id\": 2,\n \"nom_projet\": \"Dossier de test\",\n \"updated_at\": \"2016-02-08T18:36:49.394Z\"\n }\n ],\n \"pagination\": {\n \"page\": 1,\n \"resultats_par_page\": 12,\n \"nombre_de_page\": 1\n }\n}\n
\n
\n",
"parameters": [
{
"paramType": "path",
"name": "procedure_id",
"type": "integer",
- "description": null,
- "required": false
+ "description": "Procédure ID",
+ "required": true
},
{
"paramType": "query",
"name": "token",
"type": "integer",
- "description": null,
- "required": false
+ "description": "Admin TOKEN",
+ "required": true
}
],
"responseMessages": [
@@ -52,27 +53,42 @@
"operations": [
{
"summary": "Récupérer le détails d'un dossier.",
+ "notes": "\n\n{\n \"dossier\": {\n \"id\": 2,\n \"nom_projet\": \"Projet de test\",\n \"description\": \"Description de test\",\n \"created_at\": \"2016-02-08T18:33:23.779Z\",\n \"updated_at\": \"2016-02-08T18:36:49.394Z\",\n \"archived\": false,\n \"entreprise\": {\n \"siren\": \"418166096\",\n \"capital_social\": 459356,\n \"numero_tva_intracommunautaire\": \"FR16418166096\",\n \"forme_juridique\": \"SA à directoire (s.a.i.)\",\n \"forme_juridique_code\": \"5699\",\n \"nom_commercial\": \"OCTO-TECHNOLOGY\",\n \"raison_sociale\": \"OCTO-TECHNOLOGY\",\n \"siret_siege_social\": \"41816609600051\",\n \"code_effectif_entreprise\": \"31\",\n \"date_creation\": \"1998-03-31T22:00:00.000Z\",\n \"nom\": null,\n \"prenom\": null\n },\n \"etablissement\": {\n \"siret\": \"41816609600051\",\n \"siege_social\": true,\n \"naf\": \"6202A\",\n \"libelle_naf\": \"Conseil en systèmes et logiciels informatiques\",\n \"adresse\": \"OCTO-TECHNOLOGY\\r\\n50 AV DES CHAMPS ELYSEES\\r\\n75008 PARIS 8\\r\\n\",\n \"numero_voie\": \"50\",\n \"type_voie\": \"AV\",\n \"nom_voie\": \"DES CHAMPS ELYSEES\",\n \"complement_adresse\": null,\n \"code_postal\": \"75008\",\n \"localite\": \"PARIS 8\",\n \"code_insee_localite\": \"75108\"\n }\n }\n}\n
\n
\n",
"parameters": [
{
"paramType": "path",
"name": "procedure_id",
"type": "integer",
- "description": null,
- "required": false
+ "description": "Procédure ID",
+ "required": true
},
{
"paramType": "path",
"name": "id",
"type": "integer",
- "description": null,
- "required": false
+ "description": "Dossier ID",
+ "required": true
},
{
"paramType": "query",
"name": "token",
"type": "integer",
- "description": null,
- "required": false
+ "description": "Admin TOKEN",
+ "required": true
+ },
+ {
+ "paramType": "query",
+ "name": "format",
+ "type": "string",
+ "description": "Format de retour",
+ "required": false,
+ "allowableValues": {
+ "valueType": "LIST",
+ "values": [
+ "json",
+ "csv"
+ ]
+ }
}
],
"responseMessages": [
@@ -90,6 +106,11 @@
"code": 404,
"responseModel": null,
"message": "Not Found"
+ },
+ {
+ "code": 406,
+ "responseModel": null,
+ "message": "Not Acceptable"
}
],
"nickname": "API::V1::Dossiers#show",
diff --git a/public/api/v1/procedures.json b/public/api/v1/procedures.json
index ae4338a59..1c4d79185 100644
--- a/public/api/v1/procedures.json
+++ b/public/api/v1/procedures.json
@@ -9,20 +9,21 @@
"operations": [
{
"summary": "Récupérer la liste de ses procédures.",
+ "notes": "\n \n{\n \"procedure\": {\n \"label\": \"zklenkgnjzk\",\n \"link\": \"\",\n \"id\": 2,\n \"description\": \"nzgjenjkgzenkn\",\n \"organisation\": \"\",\n \"direction\": \"\",\n \"archived\": false,\n \"geographic_information\": {\n \"use_api_carto\": true,\n \"quartiers_prioritaires\": false,\n \"cadastre\": false\n },\n \"types_de_champ\": [\n {\n \"id\": 1,\n \"libelle\": \"fzeknfezkz\",\n \"type_champ\": \"text\",\n \"order_place\": 0,\n \"description\": \"zgezgze\"\n },\n {\n \"id\": 2,\n \"libelle\": \"gzzgeez\",\n \"type_champ\": \"text\",\n \"order_place\": 1,\n \"description\": \"zgezeg\"\n },\n {\n \"id\": 3,\n \"libelle\": \"zgezgzeg\",\n \"type_champ\": \"text\",\n \"order_place\": 2,\n \"description\": \"gezgzeg\"\n }\n ],\n \"types_de_piece_justificative\": [\n {\n \"id\": 1,\n \"libelle\": \"gzeezgzg\",\n \"description\": \"gzeegz\"\n },\n {\n \"id\": 2,\n \"libelle\": \"gzgzeg\",\n \"description\": \"gzeegz\"\n }\n ]\n }\n}\n
\n
\n",
"parameters": [
{
"paramType": "path",
"name": "id",
"type": "integer",
- "description": null,
- "required": false
+ "description": "Procédure ID",
+ "required": true
},
{
"paramType": "query",
"name": "token",
"type": "integer",
- "description": null,
- "required": false
+ "description": "Admin TOKEN",
+ "required": true
}
],
"responseMessages": [