[core] Add sessions.deprecated.dto
This commit is contained in:
1 parent
24bf22a31f
commit
0f41e79e98
5 files changed
+61
-58
No files matched your search
@@ -15,6 +15,11 @@ import {
|
||||
SessionParam,
|
||||
} from '@waha/nestjs/params/SessionApiParam';
|
||||
import { WAHAValidationPipe } from '@waha/nestjs/pipes/WAHAValidationPipe';
|
||||
import {
|
||||
SessionLogoutDeprecatedRequest,
|
||||
SessionStartDeprecatedRequest,
|
||||
SessionStopDeprecatedRequest,
|
||||
} from '@waha/structures/sessions.deprecated.dto';
|
||||
|
||||
import { SessionManager } from '../core/abc/manager.abc';
|
||||
import { WhatsappSession } from '../core/abc/session.abc';
|
||||
@@ -23,9 +28,6 @@ import {
|
||||
MeInfo,
|
||||
SessionDTO,
|
||||
SessionInfo,
|
||||
SessionLogoutRequest,
|
||||
SessionStartRequest,
|
||||
SessionStopRequest,
|
||||
} from '../structures/sessions.dto';
|
||||
|
||||
@ApiSecurity('api_key')
|
||||
@@ -75,7 +77,9 @@ class SessionsDeprecatedController {
|
||||
deprecated: true,
|
||||
})
|
||||
@UsePipes(new WAHAValidationPipe())
|
||||
async start(@Body() request: SessionStartRequest): Promise<SessionDTO> {
|
||||
async start(
|
||||
@Body() request: SessionStartDeprecatedRequest,
|
||||
): Promise<SessionDTO> {
|
||||
const name = request.name;
|
||||
if (this.manager.isRunning(name)) {
|
||||
const msg = `Session '${name}' is already started.`;
|
||||
@@ -96,7 +100,7 @@ class SessionsDeprecatedController {
|
||||
deprecated: true,
|
||||
})
|
||||
@UsePipes(new WAHAValidationPipe())
|
||||
async stop(@Body() request: SessionStopRequest): Promise<void> {
|
||||
async stop(@Body() request: SessionStopDeprecatedRequest): Promise<void> {
|
||||
const name = request.name;
|
||||
if (request.logout) {
|
||||
// Old API did remove the session complete
|
||||
@@ -116,7 +120,7 @@ class SessionsDeprecatedController {
|
||||
deprecated: true,
|
||||
})
|
||||
@UsePipes(new WAHAValidationPipe())
|
||||
async logout(@Body() request: SessionLogoutRequest): Promise<void> {
|
||||
async logout(@Body() request: SessionLogoutDeprecatedRequest): Promise<void> {
|
||||
const name = request.name;
|
||||
await this.manager.stop(name, true);
|
||||
await this.manager.logout(name);
|
||||
|
||||
@@ -1,20 +1,13 @@
|
||||
import {
|
||||
BeforeApplicationShutdown,
|
||||
OnApplicationShutdown,
|
||||
} from '@nestjs/common';
|
||||
import { BeforeApplicationShutdown } from '@nestjs/common';
|
||||
import { WAHAWebhook } from '@waha/structures/webhooks.dto';
|
||||
import { VERSION } from '@waha/version';
|
||||
import { EventEmitter } from 'events';
|
||||
|
||||
import { WAHAEngine, WAHAEvents } from '../../structures/enums.dto';
|
||||
import {
|
||||
MeInfo,
|
||||
SessionConfig,
|
||||
SessionDTO,
|
||||
SessionInfo,
|
||||
SessionLogoutRequest,
|
||||
SessionStartRequest,
|
||||
SessionStopRequest,
|
||||
} from '../../structures/sessions.dto';
|
||||
import { ISessionAuthRepository } from '../storage/ISessionAuthRepository';
|
||||
import { ISessionConfigRepository } from '../storage/ISessionConfigRepository';
|
||||
|
||||
@@ -21,9 +21,6 @@ import {
|
||||
SessionConfig,
|
||||
SessionDTO,
|
||||
SessionInfo,
|
||||
SessionLogoutRequest,
|
||||
SessionStartRequest,
|
||||
SessionStopRequest,
|
||||
} from '../structures/sessions.dto';
|
||||
import { WebhookConfig } from '../structures/webhooks.config.dto';
|
||||
import { SessionManager } from './abc/manager.abc';
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
import { ApiProperty } from '@nestjs/swagger';
|
||||
import { SessionConfig } from '@waha/structures/sessions.dto';
|
||||
import { Type } from 'class-transformer';
|
||||
import {
|
||||
IsBoolean,
|
||||
IsOptional,
|
||||
IsString,
|
||||
ValidateNested,
|
||||
} from 'class-validator';
|
||||
|
||||
export class SessionStartDeprecatedRequest {
|
||||
@ApiProperty({
|
||||
example: 'default',
|
||||
description: 'Session name (aka id)',
|
||||
})
|
||||
@IsString()
|
||||
name: string;
|
||||
|
||||
@ValidateNested()
|
||||
@Type(() => SessionConfig)
|
||||
@IsOptional()
|
||||
config?: SessionConfig;
|
||||
}
|
||||
|
||||
export class SessionStopDeprecatedRequest {
|
||||
@ApiProperty({
|
||||
example: 'default',
|
||||
description: 'Session name (aka id)',
|
||||
})
|
||||
@IsString()
|
||||
name: string;
|
||||
|
||||
@ApiProperty({
|
||||
example: false,
|
||||
required: false,
|
||||
description: 'Stop and logout from the session.',
|
||||
})
|
||||
@IsBoolean()
|
||||
@IsOptional()
|
||||
logout: boolean | undefined = false;
|
||||
}
|
||||
|
||||
export class SessionLogoutDeprecatedRequest {
|
||||
@ApiProperty({
|
||||
example: 'default',
|
||||
description: 'Session name (aka id)',
|
||||
})
|
||||
@IsString()
|
||||
name: string;
|
||||
}
|
||||
@@ -112,47 +112,6 @@ export class SessionConfig {
|
||||
noweb?: NowebConfig;
|
||||
}
|
||||
|
||||
export class SessionStartRequest {
|
||||
@ApiProperty({
|
||||
example: 'default',
|
||||
description: 'Session name (aka id)',
|
||||
})
|
||||
@IsString()
|
||||
name: string;
|
||||
|
||||
@ValidateNested()
|
||||
@Type(() => SessionConfig)
|
||||
@IsOptional()
|
||||
config?: SessionConfig;
|
||||
}
|
||||
|
||||
export class SessionStopRequest {
|
||||
@ApiProperty({
|
||||
example: 'default',
|
||||
description: 'Session name (aka id)',
|
||||
})
|
||||
@IsString()
|
||||
name: string;
|
||||
|
||||
@ApiProperty({
|
||||
example: false,
|
||||
required: false,
|
||||
description: 'Stop and logout from the session.',
|
||||
})
|
||||
@IsBoolean()
|
||||
@IsOptional()
|
||||
logout: boolean | undefined = false;
|
||||
}
|
||||
|
||||
export class SessionLogoutRequest {
|
||||
@ApiProperty({
|
||||
example: 'default',
|
||||
description: 'Session name (aka id)',
|
||||
})
|
||||
@IsString()
|
||||
name: string;
|
||||
}
|
||||
|
||||
export class SessionDTO {
|
||||
@ApiProperty({
|
||||
example: 'default',
|
||||
|
||||
Reference in new issue
Block a user