1 import { HttpStatusCode } from '@shared/core-utils'
2 import { makePostBodyRequest } from '../requests/requests'
3 import { ServerInfo } from '../server/servers'
5 export interface CommonCommandOptions {
7 expectedStatus?: number
10 abstract class AbstractCommand {
12 private expectedStatus = HttpStatusCode.OK_200
15 protected server: ServerInfo
20 setServer (server: ServerInfo) {
24 setExpectedStatus (status: HttpStatusCode) {
25 this.expectedStatus = status
28 protected postBodyRequest (options: CommonCommandOptions & {
30 defaultExpectedStatus: number
31 fields?: { [ fieldName: string ]: any }
33 const { token, fields, expectedStatus, defaultExpectedStatus, path } = options
35 return makePostBodyRequest({
38 token: token ?? this.server.accessToken,
40 statusCodeExpected: expectedStatus ?? this.expectedStatus ?? defaultExpectedStatus