init
This commit is contained in:
92
src/docs/components.yml
Normal file
92
src/docs/components.yml
Normal file
@@ -0,0 +1,92 @@
|
||||
components:
|
||||
schemas:
|
||||
User:
|
||||
type: object
|
||||
properties:
|
||||
id:
|
||||
type: string
|
||||
email:
|
||||
type: string
|
||||
format: email
|
||||
name:
|
||||
type: string
|
||||
role:
|
||||
type: string
|
||||
enum: [user, admin]
|
||||
example:
|
||||
id: 5ebac534954b54139806c112
|
||||
email: fake@example.com
|
||||
name: fake name
|
||||
role: user
|
||||
|
||||
Token:
|
||||
type: object
|
||||
properties:
|
||||
token:
|
||||
type: string
|
||||
expires:
|
||||
type: string
|
||||
format: date-time
|
||||
example:
|
||||
token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiI1ZWJhYzUzNDk1NGI1NDEzOTgwNmMxMTIiLCJpYXQiOjE1ODkyOTg0ODQsImV4cCI6MTU4OTMwMDI4NH0.m1U63blB0MLej_WfB7yC2FTMnCziif9X8yzwDEfJXAg
|
||||
expires: 2020-05-12T16:18:04.793Z
|
||||
|
||||
AuthTokens:
|
||||
type: object
|
||||
properties:
|
||||
access:
|
||||
$ref: '#/components/schemas/Token'
|
||||
refresh:
|
||||
$ref: '#/components/schemas/Token'
|
||||
|
||||
Error:
|
||||
type: object
|
||||
properties:
|
||||
code:
|
||||
type: number
|
||||
message:
|
||||
type: string
|
||||
|
||||
responses:
|
||||
DuplicateEmail:
|
||||
description: Email already taken
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/Error'
|
||||
example:
|
||||
code: 400
|
||||
message: Email already taken
|
||||
Unauthorized:
|
||||
description: Unauthorized
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/Error'
|
||||
example:
|
||||
code: 401
|
||||
message: Please authenticate
|
||||
Forbidden:
|
||||
description: Forbidden
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/Error'
|
||||
example:
|
||||
code: 403
|
||||
message: Forbidden
|
||||
NotFound:
|
||||
description: Not found
|
||||
content:
|
||||
application/json:
|
||||
schema:
|
||||
$ref: '#/components/schemas/Error'
|
||||
example:
|
||||
code: 404
|
||||
message: Not found
|
||||
|
||||
securitySchemes:
|
||||
bearerAuth:
|
||||
type: http
|
||||
scheme: bearer
|
||||
bearerFormat: JWT
|
||||
21
src/docs/swaggerDef.js
Normal file
21
src/docs/swaggerDef.js
Normal file
@@ -0,0 +1,21 @@
|
||||
const { version } = require('../../package.json');
|
||||
const config = require('../config/config');
|
||||
|
||||
const swaggerDef = {
|
||||
openapi: '3.0.0',
|
||||
info: {
|
||||
title: 'node-express-boilerplate API documentation',
|
||||
version,
|
||||
license: {
|
||||
name: 'MIT',
|
||||
url: 'https://github.com/hagopj13/node-express-boilerplate/blob/master/LICENSE',
|
||||
},
|
||||
},
|
||||
servers: [
|
||||
{
|
||||
url: `http://localhost:${config.port}/v1`,
|
||||
},
|
||||
],
|
||||
};
|
||||
|
||||
module.exports = swaggerDef;
|
||||
Reference in New Issue
Block a user