ItemsController.ts 1.1 KB

123456789101112131415161718192021222324252627
  1. import { Request, Response } from 'express'
  2. import { inject } from 'inversify'
  3. import { BaseHttpController, controller, httpGet, httpPost } from 'inversify-express-utils'
  4. import TYPES from '../../Bootstrap/Types'
  5. import { HttpServiceInterface } from '../../Service/Http/HttpServiceInterface'
  6. @controller('/v1/items', TYPES.AuthMiddleware)
  7. export class ItemsController extends BaseHttpController {
  8. constructor(@inject(TYPES.HTTPService) private httpService: HttpServiceInterface) {
  9. super()
  10. }
  11. @httpPost('/')
  12. async sync(request: Request, response: Response): Promise<void> {
  13. await this.httpService.callSyncingServer(request, response, 'items/sync', request.body)
  14. }
  15. @httpPost('/check-integrity')
  16. async checkIntegrity(request: Request, response: Response): Promise<void> {
  17. await this.httpService.callSyncingServer(request, response, 'items/check-integrity', request.body)
  18. }
  19. @httpGet('/:uuid')
  20. async getItem(request: Request, response: Response): Promise<void> {
  21. await this.httpService.callSyncingServer(request, response, `items/${request.params.uuid}`, request.body)
  22. }
  23. }