{ "name": "bml-gen-test-application", "apidoc": { "version": "0.14.68" }, "imports": [ { "uri": "http://api.apibuilder.io/bml/validation/0.0.1/service.json" }, { "uri": "http://api.apibuilder.io/bml/annotation/0.0.1/service.json" } ], "enums": { "test_enumeration": { "description": "Test Enumeration provides a useful test for enumeration based code generation.", "values": [ { "name": "foo", "description": "A foo enumeration entry." }, { "name": "bar", "description": "A bar enumeration entry." } ] } }, "models": { "healthcheck": { "description": "A response model for the standard health check resource.", "fields": [ { "name": "status", "type": "string", "description": "A general status string.", "example": "healthy", "maximum": "1024", "minimum": "1" } ] }, "account_form": { "description": "A form used for creating an Account resource.", "fields": [ { "name": "name", "description": "A unique human readable string name.", "type": "string", "minimum": 1, "maximum": 255, "example": "Universal Remonster Ltd." }, { "name": "enabled", "type": "boolean", "description": "Adds the ability to enable / disable this resource." } ] }, "client": { "description": "A model client for testing generation.", "fields": [ { "name": "accounts", "type": "[account]", "maximum": 3, "description": "test field to make sure non empty lists are non empty in generated mock factories." } ] }, "account": { "description": "This is the top level in the system. It represents a specific client.", "attributes": [ { "name": "hibernate", "value": { "use": true } }, { "name": "unique", "value": { "indices": [ [ "name" ] ] } }, { "name": "findby", "value": { "indices": [ [ "awsAccount" ] ] } }, { "name": "persistence", "value": { "persist": true } } ], "fields": [ { "name": "id", "type": "uuid", "description": "The Universally Unique Identifier. See RFC 4122.", "required": true }, { "name": "awsAccount", "type": "string", "description": "Test param for a pattern restricted string.", "minimum": 1, "maximum": 255, "required": true, "attributes": [ { "name": "pattern", "value": { "regexp": "[0-9]{12,12}" } } ] }, { "name": "name", "type": "string", "description": "A unique human readable string name.", "minimum": 1, "maximum": 255, "example": "Universal Remonster Ltd" }, { "name": "enabled", "type": "boolean", "description": "Adds the ability to enable / disable this resource." } ] } }, "resources": { "account": { "operations": [ { "method": "POST", "body": { "type": "account_form", "description": "The account form for creating a new account resource.", "required": true }, "parameters": [ { "location": "header", "name": "Authorization", "type": "string", "required": true, "description": "Standard Auth header pass a JWT token." }, { "location": "query", "name": "test", "type": "boolean", "required": false, "description": "is this call a test" }, { "location": "query", "name": "testDefault", "type": "boolean", "default": "false", "required": true, "description": "is this call a test" } ], "responses": { "201": { "description": "Created.", "type": "account" }, "409": { "description": "Conflict Already Exists.", "type": "unit" }, "400": { "description": "Bad Request.", "type": "org.bml.validation.v0.models.fieldValidationResponse" }, "401": { "description": "Unauthorized.", "type": "unit" } } }, { "method": "GET", "path": "/:id", "parameters": [ { "location": "path", "name": "id", "type": "uuid", "required": true, "description": "The Universally Unique Identifier for an existing account resource. See RFC 4122" }, { "location": "header", "name": "Authorization", "type": "string", "required": true, "description": "Standard Auth header pass a JWT token." } ], "responses": { "200": { "description": "Success.", "type": "account" }, "400": { "description": "Bad Request.", "type": "org.bml.validation.v0.models.fieldValidationResponse" }, "401": { "description": "Unauthorized.", "type": "unit" }, "404": { "description": "Not Found.", "type": "unit" } } }, { "method": "GET", "path": "/:id/foo", "description": "A mock to test returning a raw array. This is not a practical method to implement in a production environment. In production you would return a page object but here we want to test to ensure generators are handling raw array return value.", "parameters": [ { "location": "header", "name": "Authorization", "type": "string", "required": true, "description": "Standard Auth header pass a JWT token." }, { "location": "path", "name": "id", "type": "uuid", "required": true, "description": "The Universally Unique Identifier for an existing account resource. See RFC 4122" }, { "location": "query", "name": "name", "type": "string", "required": false, "description": "An optional test query parameter." }, { "location": "query", "name": "page", "type": "integer", "default": 0, "description": "An optional test query parameter." }, { "location": "query", "name": "count", "type": "integer", "default": 100, "description": "An optional test query parameter." } ], "responses": { "200": { "description": "Success.", "type": "[account]" }, "400": { "description": "Bad Request.", "type": "org.bml.validation.v0.models.fieldValidationResponse" }, "401": { "description": "Unauthorized.", "type": "unit" }, "404": { "description": "Not Found.", "type": "unit" } } }, { "method": "GET", "description": "A mock to test returning a raw array. This is not a practical method to implement in a production environment. In production you would return a page object but here we want to test to ensure generators are handling raw array return value.", "parameters": [ { "location": "header", "name": "Authorization", "type": "string", "required": true, "description": "Standard Auth header pass a JWT token." }, { "location": "query", "name": "name", "type": "string", "required": false, "description": "An optional test query parameter." }, { "location": "query", "name": "page", "type": "integer", "default": 0, "description": "An optional test query parameter." }, { "location": "query", "name": "count", "type": "integer", "default": 100, "description": "An optional test query parameter." } ], "responses": { "200": { "description": "Success.", "type": "[account]" }, "400": { "description": "Bad Request.", "type": "org.bml.validation.v0.models.fieldValidationResponse" }, "401": { "description": "Unauthorized.", "type": "unit" }, "404": { "description": "Not Found.", "type": "unit" } } }, { "method": "DELETE", "path": "/:id", "description": "Delete an Account resource by id.", "parameters": [ { "location": "path", "name": "id", "type": "uuid", "required": true, "description": "The Universally Unique Identifier for an existing account resource. See RFC 4122" }, { "location": "header", "name": "Authorization", "type": "string", "required": true, "description": "Standard Auth header pass a JWT token." } ], "responses": { "200": { "description": "Success.", "type": "account" }, "400": { "description": "Bad Request.", "type": "org.bml.validation.v0.models.fieldValidationResponse" }, "401": { "description": "Unauthorized.", "type": "unit" }, "404": { "description": "Not Found.", "type": "unit" } } } ] } } }