@@ -3,9 +3,9 @@ import { RequestHandler, Router } from 'express';
33import { Auth , ConfigService , Database } from '../../config/env.config' ;
44import { Logger } from '../../config/logger.config' ;
55import { dbserver } from '../../libs/db.connect' ;
6- import { instanceNameSchema , oldTokenSchema } from '../../validate/validate.schema' ;
6+ import { instanceNameSchema , oldTokenSchema , presenceOnlySchema } from '../../validate/validate.schema' ;
77import { RouterBroker } from '../abstract/abstract.router' ;
8- import { InstanceDto } from '../dto/instance.dto' ;
8+ import { InstanceDto , SetPresenceDto } from '../dto/instance.dto' ;
99import { OldToken } from '../services/auth.service' ;
1010import { instanceController } from '../whatsapp.module' ;
1111import { HttpStatus } from './index.router' ;
@@ -98,6 +98,22 @@ export class InstanceRouter extends RouterBroker {
9898
9999 return res . status ( HttpStatus . OK ) . json ( response ) ;
100100 } )
101+ . post ( this . routerPath ( 'setPresence' ) , ...guards , async ( req , res ) => {
102+ logger . verbose ( 'request received in setPresence' ) ;
103+ logger . verbose ( 'request body: ' ) ;
104+ logger . verbose ( req . body ) ;
105+
106+ logger . verbose ( 'request query: ' ) ;
107+ logger . verbose ( req . query ) ;
108+ const response = await this . dataValidate < null > ( {
109+ request : req ,
110+ schema : presenceOnlySchema ,
111+ ClassRef : SetPresenceDto ,
112+ execute : ( instance , data ) => instanceController . setPresence ( instance , data ) ,
113+ } ) ;
114+
115+ return res . status ( HttpStatus . CREATED ) . json ( response ) ;
116+ } )
101117 . delete ( this . routerPath ( 'logout' ) , ...guards , async ( req , res ) => {
102118 logger . verbose ( 'request received in logoutInstances' ) ;
103119 logger . verbose ( 'request body: ' ) ;
0 commit comments