Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
76 changes: 65 additions & 11 deletions src/routes/rfids.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
import * as RfidsController from '../controllers/rfids-controller.js';
import tokensMiddleware, { TIPOS_USUARIOS } from '../middlewares/tokens-middleware';

/**
* @swagger
Expand All @@ -7,6 +8,7 @@ import * as RfidsController from '../controllers/rfids-controller.js';
* description: Operações de integração com RFID
*/
export default app => {
const somenteCurador = tokensMiddleware([TIPOS_USUARIOS.CURADOR]);

/**
* @swagger
Expand All @@ -25,17 +27,21 @@ export default app => {
* type: integer
* required:
* - tombo_foto_id
* example:
* tombo_foto_id: 15
* example:
* tombo_foto_id: 15
* responses:
* '201':
* description: Registro criado com status PENDENTE e EPC gerado.
* '401':
* $ref: '#/components/responses/Unauthorized'
* '403':
* $ref: '#/components/responses/Forbidden'
* '404':
* $ref: '#/components/responses/NotFound'
* '500':
* $ref: '#/components/responses/InternalServerError'
*/
app.route('/rfids/iniciar-gravacao').post(RfidsController.iniciarGravacao);
app.route('/rfids/iniciar-gravacao').post(somenteCurador, RfidsController.iniciarGravacao);

/**
* @swagger
Expand All @@ -62,18 +68,22 @@ export default app => {
* enum: [CONCLUIDO, FALHA]
* tid:
* type: string
* example:
* status: "CONCLUIDO"
* tid: "E200001B4413"
* example:
* status: CONCLUIDO
* tid: E200001B4413
* responses:
* '200':
* description: RFID atualizado com sucesso.
* '401':
* $ref: '#/components/responses/Unauthorized'
* '403':
* $ref: '#/components/responses/Forbidden'
* '404':
* $ref: '#/components/responses/NotFound'
* '500':
* $ref: '#/components/responses/InternalServerError'
*/
app.route('/rfids/finalizar-gravacao/:id').put(RfidsController.finalizarGravacao);
app.route('/rfids/finalizar-gravacao/:id').put(somenteCurador, RfidsController.finalizarGravacao);

/**
* @swagger
Expand All @@ -95,13 +105,57 @@ export default app => {
* responses:
* '200':
* description: Lista retornada com sucesso
* '401':
* $ref: '#/components/responses/Unauthorized'
* '403':
* $ref: '#/components/responses/Forbidden'
* '500':
* $ref: '#/components/responses/InternalServerError'
*/
app.route('/rfids').get(RfidsController.listagem);
app.route('/rfids').get(somenteCurador, RfidsController.listagem);

app.route('/rfids/tombos-pendentes').get(RfidsController.listarPendentesRfid);

app.route('/rfids/validar-tid/:tid').get(RfidsController.validarTid);
/**
* @swagger
* /rfids/tombos-pendentes:
* get:
* summary: Lista tombos pendentes de gravação RFID
* tags: [RFIDs]
* responses:
* '200':
* description: Lista paginada de tombos/fotos pendentes.
* '401':
* $ref: '#/components/responses/Unauthorized'
* '403':
* $ref: '#/components/responses/Forbidden'
* '500':
* $ref: '#/components/responses/InternalServerError'
*/
app.route('/rfids/tombos-pendentes').get(somenteCurador, RfidsController.listarPendentesRfid);

/**
* @swagger
* /rfids/validar-tid/{tid}:
* get:
* summary: Valida uma tag RFID pelo TID
* tags: [RFIDs]
* parameters:
* - in: path
* name: tid
* required: true
* schema:
* type: string
* description: TID lido da tag física
* responses:
* '200':
* description: TID validado com sucesso.
* '401':
* $ref: '#/components/responses/Unauthorized'
* '403':
* $ref: '#/components/responses/Forbidden'
* '404':
* $ref: '#/components/responses/NotFound'
* '500':
* $ref: '#/components/responses/InternalServerError'
*/
app.route('/rfids/validar-tid/:tid').get(somenteCurador, RfidsController.validarTid);
};
Loading