@4geit/swg-message-model
message model and its endpoints
Installation
- A recommended way to install @4geit/swg-message-model is through npm package manager using the following command:
npm i @4geit/swg-message-model --save
Or use yarn
using the following command:
yarn add @4geit/swg-message-model
- In your swagger file, you need to add a reference to the
SwgMessageModel
definition under thedefinitions
property (e.g./api/swagger/swagger.yaml
) as below:
swagger: "2.0"
# ...
definitions:
SwgMessageModel:
$ref: ../../node_modules/@4geit/swg-message-model/swagger.yaml#/definitions/SwgMessageModel
# ...
- SwgMessageModel also comes along with some endpoints you can expose to the API, to do so you will need to add a reference to the
SwgMessageModel
definition under thepaths
property (e.g./api/swagger/swagger.yaml
) as below:
swagger: "2.0"
# ...
paths:
/message:
$ref: ../../node_modules/@4geit/swg-message-model/swagger.yaml#/definitions/MessageListPath
/message/{id}:
$ref: ../../node_modules/@4geit/swg-message-model/swagger.yaml#/definitions/MessageItemPath
/message/populate:
$ref: ../../node_modules/@4geit/swg-message-model/swagger.yaml#/definitions/PopulatePath
# ...
And you will also need to add the path to the controllers
folder of the swg-message-model
package so that swagger-node will find the relevant controller to use. Edit the file /config/default.yaml
and add two new paths to the properties mockControllersDirs
and controllersDirs
as illustrated below:
swagger:
# ...
bagpipes:
_router:
# ...
mockControllersDirs:
# ...
- node_modules/@4geit/swg-message-model/mocks
# ...
controllersDirs:
# ...
- node_modules/@4geit/swg-message-model/controllers
# ...