@escapenavigator/types 2.1.30 → 2.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (32) hide show
  1. package/dist/admin/admin.ro.d.ts +2 -0
  2. package/dist/admin/create-admin.dto.d.ts +2 -0
  3. package/dist/admin/create-admin.dto.js +19 -0
  4. package/dist/profile/profile.ro.d.ts +2 -0
  5. package/dist/profile/profile.ro.js +4 -0
  6. package/dist/role/create-role.dto.d.ts +6 -0
  7. package/dist/role/create-role.dto.js +8 -0
  8. package/dist/role/employee-access.d.ts +27 -0
  9. package/dist/role/employee-access.dto.d.ts +33 -0
  10. package/dist/role/employee-access.dto.js +119 -0
  11. package/dist/role/employee-access.js +9 -0
  12. package/dist/role/role.ro.d.ts +5 -0
  13. package/dist/role/role.ro.js +4 -0
  14. package/dist/salary/index.d.ts +1 -0
  15. package/dist/salary/index.js +1 -0
  16. package/dist/salary/salary-debt.ro.d.ts +6 -0
  17. package/dist/salary/salary-debt.ro.js +2 -0
  18. package/dist/salary/salary-my.ro.d.ts +2 -0
  19. package/dist/salary/salary-preview.ro.d.ts +1 -0
  20. package/dist/salary/salary-summary.ro.d.ts +5 -0
  21. package/dist/support/create-support-message.dto.d.ts +8 -0
  22. package/dist/support/create-support-message.dto.js +31 -0
  23. package/dist/support/create-support-ticket.dto.d.ts +17 -0
  24. package/dist/support/create-support-ticket.dto.js +122 -0
  25. package/dist/support/support-ticket.d.ts +96 -0
  26. package/dist/support/support-ticket.js +42 -0
  27. package/dist/support/update-support-ticket.dto.d.ts +7 -0
  28. package/dist/support/update-support-ticket.dto.js +45 -0
  29. package/dist/tsconfig.build.tsbuildinfo +1 -1
  30. package/dist/user/current/update-current-user-dashboard.dto.d.ts +2 -1
  31. package/dist/user/current/update-current-user-dashboard.dto.js +1 -0
  32. package/package.json +2 -2
@@ -6,6 +6,7 @@ export type AdminRO = ResponseObject & {
6
6
  name: string;
7
7
  phone: string;
8
8
  novofonEmployeeId?: number | null;
9
+ novofonWebrtcToken?: string | null;
9
10
  password?: string;
10
11
  totalAccess: boolean;
11
12
  nowEscape: boolean;
@@ -21,6 +22,7 @@ export type AdminRO = ResponseObject & {
21
22
  canUseBilling?: boolean;
22
23
  canUseMarketing?: boolean;
23
24
  canUseEmailService?: boolean;
25
+ canUseSupportDesk?: boolean;
24
26
  canUseAnnouncements?: boolean;
25
27
  canUseAcademy?: boolean;
26
28
  canUseWidgetFunnel?: boolean;
@@ -5,6 +5,7 @@ export declare class CreateAdminDto {
5
5
  name: string;
6
6
  phone: string;
7
7
  novofonEmployeeId?: number | null;
8
+ novofonWebrtcToken?: string | null;
8
9
  email: string;
9
10
  totalAccess: boolean;
10
11
  nowEscape: boolean;
@@ -20,6 +21,7 @@ export declare class CreateAdminDto {
20
21
  canUseBilling: boolean;
21
22
  canUseMarketing: boolean;
22
23
  canUseEmailService: boolean;
24
+ canUseSupportDesk: boolean;
23
25
  canUseAnnouncements: boolean;
24
26
  canUseAcademy: boolean;
25
27
  canUseWidgetFunnel: boolean;
@@ -42,6 +42,19 @@ __decorate([
42
42
  }),
43
43
  __metadata("design:type", Number)
44
44
  ], CreateAdminDto.prototype, "novofonEmployeeId", void 0);
45
+ __decorate([
46
+ (0, class_transformer_1.Expose)(),
47
+ (0, class_validator_1.IsOptional)(),
48
+ (0, class_validator_1.IsString)(),
49
+ (0, class_validator_1.MaxLength)(255),
50
+ (0, class_transformer_1.Transform)(({ value }) => {
51
+ if (typeof value !== 'string')
52
+ return null;
53
+ const token = value.trim();
54
+ return token || null;
55
+ }),
56
+ __metadata("design:type", String)
57
+ ], CreateAdminDto.prototype, "novofonWebrtcToken", void 0);
45
58
  __decorate([
46
59
  (0, class_validator_1.IsEmail)(),
47
60
  (0, class_transformer_1.Expose)(),
@@ -132,6 +145,12 @@ __decorate([
132
145
  (0, class_transformer_1.Transform)(({ value }) => (typeof value === 'boolean' ? value : false)),
133
146
  __metadata("design:type", Boolean)
134
147
  ], CreateAdminDto.prototype, "canUseEmailService", void 0);
148
+ __decorate([
149
+ (0, class_validator_1.IsBoolean)(),
150
+ (0, class_transformer_1.Expose)(),
151
+ (0, class_transformer_1.Transform)(({ value }) => (typeof value === 'boolean' ? value : false)),
152
+ __metadata("design:type", Boolean)
153
+ ], CreateAdminDto.prototype, "canUseSupportDesk", void 0);
135
154
  __decorate([
136
155
  (0, class_validator_1.IsBoolean)(),
137
156
  (0, class_transformer_1.Expose)(),
@@ -60,6 +60,8 @@ export declare class ProfileRO {
60
60
  slug: string;
61
61
  language: Languages;
62
62
  availableLanguages: Languages[];
63
+ /** IANA time zone used for company-local calendar periods. */
64
+ timeZone?: string;
63
65
  nowEscape: boolean;
64
66
  morty: boolean;
65
67
  refundsValidTo: number;
@@ -192,6 +192,10 @@ __decorate([
192
192
  (0, class_transformer_1.Expose)(),
193
193
  __metadata("design:type", Array)
194
194
  ], ProfileRO.prototype, "availableLanguages", void 0);
195
+ __decorate([
196
+ (0, class_transformer_1.Expose)(),
197
+ __metadata("design:type", String)
198
+ ], ProfileRO.prototype, "timeZone", void 0);
195
199
  __decorate([
196
200
  (0, class_transformer_1.Expose)(),
197
201
  __metadata("design:type", Boolean)
@@ -1,3 +1,4 @@
1
+ import { EmployeeAccessDto } from './employee-access.dto';
1
2
  export declare class CreateRoleDto {
2
3
  title: string;
3
4
  totalAccess: boolean;
@@ -35,4 +36,9 @@ export declare class CreateRoleDto {
35
36
  canDeleteClients: boolean;
36
37
  canDeletePayments: boolean;
37
38
  canSeeEmployeeReport: boolean;
39
+ /**
40
+ * Granular access to employee sections. `undefined`/`null` deliberately
41
+ * keeps the legacy flags effective for roles created by older clients.
42
+ */
43
+ employeeAccess?: EmployeeAccessDto | null;
38
44
  }
@@ -13,6 +13,7 @@ exports.CreateRoleDto = void 0;
13
13
  const class_transformer_1 = require("class-transformer");
14
14
  const class_validator_1 = require("class-validator");
15
15
  const is_not_blank_1 = require("../shared/is-not-blank");
16
+ const employee_access_dto_1 = require("./employee-access.dto");
16
17
  class CreateRoleDto {
17
18
  }
18
19
  exports.CreateRoleDto = CreateRoleDto;
@@ -207,3 +208,10 @@ __decorate([
207
208
  (0, class_transformer_1.Expose)(),
208
209
  __metadata("design:type", Boolean)
209
210
  ], CreateRoleDto.prototype, "canSeeEmployeeReport", void 0);
211
+ __decorate([
212
+ (0, class_validator_1.IsOptional)(),
213
+ (0, class_validator_1.ValidateNested)(),
214
+ (0, class_transformer_1.Type)(() => employee_access_dto_1.EmployeeAccessDto),
215
+ (0, class_transformer_1.Expose)(),
216
+ __metadata("design:type", employee_access_dto_1.EmployeeAccessDto)
217
+ ], CreateRoleDto.prototype, "employeeAccess", void 0);
@@ -0,0 +1,27 @@
1
+ export declare enum EmployeeAccessScope {
2
+ SELF = "self",
3
+ ASSIGNED_LOCATIONS = "assignedLocations",
4
+ ALL = "all"
5
+ }
6
+ export type EmployeeCrudAccess = {
7
+ view: boolean;
8
+ create: boolean;
9
+ edit: boolean;
10
+ delete: boolean;
11
+ };
12
+ export type EmployeeScopedCrudAccess = EmployeeCrudAccess & {
13
+ scope: EmployeeAccessScope;
14
+ };
15
+ export type EmployeesAccess = EmployeeCrudAccess & {
16
+ manageAccess: boolean;
17
+ };
18
+ export type EmployeeAccess = {
19
+ employees: EmployeesAccess;
20
+ shifts: EmployeeScopedCrudAccess;
21
+ bonuses: EmployeeScopedCrudAccess;
22
+ fines: EmployeeScopedCrudAccess;
23
+ roles: EmployeeCrudAccess;
24
+ positions: EmployeeCrudAccess;
25
+ reports: EmployeeCrudAccess;
26
+ payroll: EmployeeScopedCrudAccess;
27
+ };
@@ -0,0 +1,33 @@
1
+ import { EmployeeAccess, EmployeeAccessScope, EmployeeCrudAccess, EmployeeScopedCrudAccess, EmployeesAccess } from './employee-access';
2
+ export declare class EmployeeCrudAccessDto implements EmployeeCrudAccess {
3
+ view: boolean;
4
+ create: boolean;
5
+ edit: boolean;
6
+ delete: boolean;
7
+ }
8
+ export declare class EmployeeScopedCrudAccessDto extends EmployeeCrudAccessDto implements EmployeeScopedCrudAccess {
9
+ scope: EmployeeAccessScope;
10
+ }
11
+ export declare class EmployeesAccessDto extends EmployeeCrudAccessDto implements EmployeesAccess {
12
+ /**
13
+ * Allows changing role, CRM access and assigned questrooms.
14
+ * Kept separate from editing ordinary employee fields.
15
+ */
16
+ manageAccess: boolean;
17
+ }
18
+ /**
19
+ * `@Expose` на каждом поле обязателен: модалка роли собирает форму через
20
+ * `serializeRecord` (`excludeExtraneousValues`). Без декоратора вложенный
21
+ * `employeeAccess` превращается в `{}`, и чекбокс «Просмотр» падает на
22
+ * `permissions.view`.
23
+ */
24
+ export declare class EmployeeAccessDto implements EmployeeAccess {
25
+ employees: EmployeesAccessDto;
26
+ shifts: EmployeeScopedCrudAccessDto;
27
+ bonuses: EmployeeScopedCrudAccessDto;
28
+ fines: EmployeeScopedCrudAccessDto;
29
+ roles: EmployeeCrudAccessDto;
30
+ positions: EmployeeCrudAccessDto;
31
+ reports: EmployeeCrudAccessDto;
32
+ payroll: EmployeeScopedCrudAccessDto;
33
+ }
@@ -0,0 +1,119 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.EmployeeAccessDto = exports.EmployeesAccessDto = exports.EmployeeScopedCrudAccessDto = exports.EmployeeCrudAccessDto = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const class_validator_1 = require("class-validator");
15
+ const employee_access_1 = require("./employee-access");
16
+ class EmployeeCrudAccessDto {
17
+ }
18
+ exports.EmployeeCrudAccessDto = EmployeeCrudAccessDto;
19
+ __decorate([
20
+ (0, class_validator_1.IsBoolean)(),
21
+ (0, class_transformer_1.Expose)(),
22
+ __metadata("design:type", Boolean)
23
+ ], EmployeeCrudAccessDto.prototype, "view", void 0);
24
+ __decorate([
25
+ (0, class_validator_1.IsBoolean)(),
26
+ (0, class_transformer_1.Expose)(),
27
+ __metadata("design:type", Boolean)
28
+ ], EmployeeCrudAccessDto.prototype, "create", void 0);
29
+ __decorate([
30
+ (0, class_validator_1.IsBoolean)(),
31
+ (0, class_transformer_1.Expose)(),
32
+ __metadata("design:type", Boolean)
33
+ ], EmployeeCrudAccessDto.prototype, "edit", void 0);
34
+ __decorate([
35
+ (0, class_validator_1.IsBoolean)(),
36
+ (0, class_transformer_1.Expose)(),
37
+ __metadata("design:type", Boolean)
38
+ ], EmployeeCrudAccessDto.prototype, "delete", void 0);
39
+ class EmployeeScopedCrudAccessDto extends EmployeeCrudAccessDto {
40
+ }
41
+ exports.EmployeeScopedCrudAccessDto = EmployeeScopedCrudAccessDto;
42
+ __decorate([
43
+ (0, class_validator_1.IsEnum)(employee_access_1.EmployeeAccessScope),
44
+ (0, class_transformer_1.Expose)(),
45
+ __metadata("design:type", String)
46
+ ], EmployeeScopedCrudAccessDto.prototype, "scope", void 0);
47
+ class EmployeesAccessDto extends EmployeeCrudAccessDto {
48
+ }
49
+ exports.EmployeesAccessDto = EmployeesAccessDto;
50
+ __decorate([
51
+ (0, class_validator_1.IsBoolean)(),
52
+ (0, class_transformer_1.Expose)(),
53
+ __metadata("design:type", Boolean)
54
+ ], EmployeesAccessDto.prototype, "manageAccess", void 0);
55
+ /**
56
+ * `@Expose` на каждом поле обязателен: модалка роли собирает форму через
57
+ * `serializeRecord` (`excludeExtraneousValues`). Без декоратора вложенный
58
+ * `employeeAccess` превращается в `{}`, и чекбокс «Просмотр» падает на
59
+ * `permissions.view`.
60
+ */
61
+ class EmployeeAccessDto {
62
+ }
63
+ exports.EmployeeAccessDto = EmployeeAccessDto;
64
+ __decorate([
65
+ (0, class_validator_1.IsDefined)(),
66
+ (0, class_validator_1.ValidateNested)(),
67
+ (0, class_transformer_1.Type)(() => EmployeesAccessDto),
68
+ (0, class_transformer_1.Expose)(),
69
+ __metadata("design:type", EmployeesAccessDto)
70
+ ], EmployeeAccessDto.prototype, "employees", void 0);
71
+ __decorate([
72
+ (0, class_validator_1.IsDefined)(),
73
+ (0, class_validator_1.ValidateNested)(),
74
+ (0, class_transformer_1.Type)(() => EmployeeScopedCrudAccessDto),
75
+ (0, class_transformer_1.Expose)(),
76
+ __metadata("design:type", EmployeeScopedCrudAccessDto)
77
+ ], EmployeeAccessDto.prototype, "shifts", void 0);
78
+ __decorate([
79
+ (0, class_validator_1.IsDefined)(),
80
+ (0, class_validator_1.ValidateNested)(),
81
+ (0, class_transformer_1.Type)(() => EmployeeScopedCrudAccessDto),
82
+ (0, class_transformer_1.Expose)(),
83
+ __metadata("design:type", EmployeeScopedCrudAccessDto)
84
+ ], EmployeeAccessDto.prototype, "bonuses", void 0);
85
+ __decorate([
86
+ (0, class_validator_1.IsDefined)(),
87
+ (0, class_validator_1.ValidateNested)(),
88
+ (0, class_transformer_1.Type)(() => EmployeeScopedCrudAccessDto),
89
+ (0, class_transformer_1.Expose)(),
90
+ __metadata("design:type", EmployeeScopedCrudAccessDto)
91
+ ], EmployeeAccessDto.prototype, "fines", void 0);
92
+ __decorate([
93
+ (0, class_validator_1.IsDefined)(),
94
+ (0, class_validator_1.ValidateNested)(),
95
+ (0, class_transformer_1.Type)(() => EmployeeCrudAccessDto),
96
+ (0, class_transformer_1.Expose)(),
97
+ __metadata("design:type", EmployeeCrudAccessDto)
98
+ ], EmployeeAccessDto.prototype, "roles", void 0);
99
+ __decorate([
100
+ (0, class_validator_1.IsDefined)(),
101
+ (0, class_validator_1.ValidateNested)(),
102
+ (0, class_transformer_1.Type)(() => EmployeeCrudAccessDto),
103
+ (0, class_transformer_1.Expose)(),
104
+ __metadata("design:type", EmployeeCrudAccessDto)
105
+ ], EmployeeAccessDto.prototype, "positions", void 0);
106
+ __decorate([
107
+ (0, class_validator_1.IsDefined)(),
108
+ (0, class_validator_1.ValidateNested)(),
109
+ (0, class_transformer_1.Type)(() => EmployeeCrudAccessDto),
110
+ (0, class_transformer_1.Expose)(),
111
+ __metadata("design:type", EmployeeCrudAccessDto)
112
+ ], EmployeeAccessDto.prototype, "reports", void 0);
113
+ __decorate([
114
+ (0, class_validator_1.IsDefined)(),
115
+ (0, class_validator_1.ValidateNested)(),
116
+ (0, class_transformer_1.Type)(() => EmployeeScopedCrudAccessDto),
117
+ (0, class_transformer_1.Expose)(),
118
+ __metadata("design:type", EmployeeScopedCrudAccessDto)
119
+ ], EmployeeAccessDto.prototype, "payroll", void 0);
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.EmployeeAccessScope = void 0;
4
+ var EmployeeAccessScope;
5
+ (function (EmployeeAccessScope) {
6
+ EmployeeAccessScope["SELF"] = "self";
7
+ EmployeeAccessScope["ASSIGNED_LOCATIONS"] = "assignedLocations";
8
+ EmployeeAccessScope["ALL"] = "all";
9
+ })(EmployeeAccessScope || (exports.EmployeeAccessScope = EmployeeAccessScope = {}));
@@ -1,3 +1,4 @@
1
+ import { EmployeeAccess } from './employee-access';
1
2
  import { RoleLightRO } from './role-light.ro';
2
3
  export declare class RoleRO extends RoleLightRO {
3
4
  canEditUsersAccessAndTime: boolean;
@@ -38,4 +39,8 @@ export declare class RoleRO extends RoleLightRO {
38
39
  canDeleteClients: boolean;
39
40
  canDeletePayments: boolean;
40
41
  canSeeEmployeeReport: boolean;
42
+ /**
43
+ * Null means that permissions are resolved from legacy role flags.
44
+ */
45
+ employeeAccess?: EmployeeAccess | null;
41
46
  }
@@ -135,3 +135,7 @@ __decorate([
135
135
  (0, class_transformer_1.Expose)(),
136
136
  __metadata("design:type", Boolean)
137
137
  ], RoleRO.prototype, "canSeeEmployeeReport", void 0);
138
+ __decorate([
139
+ (0, class_transformer_1.Expose)(),
140
+ __metadata("design:type", Object)
141
+ ], RoleRO.prototype, "employeeAccess", void 0);
@@ -6,6 +6,7 @@ export * from './enum/salary-accrual-type.enum';
6
6
  export * from './query-salary-period.dto';
7
7
  export * from './run-salary-accruals.dto';
8
8
  export * from './salary-accrual.ro';
9
+ export * from './salary-debt.ro';
9
10
  export * from './salary-my.ro';
10
11
  export * from './salary-payout.ro';
11
12
  export * from './salary-preview.ro';
@@ -22,6 +22,7 @@ __exportStar(require("./enum/salary-accrual-type.enum"), exports);
22
22
  __exportStar(require("./query-salary-period.dto"), exports);
23
23
  __exportStar(require("./run-salary-accruals.dto"), exports);
24
24
  __exportStar(require("./salary-accrual.ro"), exports);
25
+ __exportStar(require("./salary-debt.ro"), exports);
25
26
  __exportStar(require("./salary-my.ro"), exports);
26
27
  __exportStar(require("./salary-payout.ro"), exports);
27
28
  __exportStar(require("./salary-preview.ro"), exports);
@@ -0,0 +1,6 @@
1
+ export type SalaryDebtRO = {
2
+ /** Recorded accruals and adjustments minus all salary payouts. */
3
+ totalDebt: number;
4
+ /** Positive part of totalDebt: the amount still payable to the employee. */
5
+ payable: number;
6
+ };
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -7,6 +7,8 @@ export type SalaryMyRO = {
7
7
  accrued: number;
8
8
  paid: number;
9
9
  balance: number;
10
+ /** All recorded accruals and payouts, independent of the selected period. */
11
+ totalDebt: number;
10
12
  accruals: SalaryAccrualRO[];
11
13
  payouts: SalaryPayoutRO[];
12
14
  };
@@ -27,5 +27,6 @@ export type SalaryPreviewRO = {
27
27
  balance: number;
28
28
  workMinutes: number;
29
29
  workDays: number;
30
+ shiftCount: number;
30
31
  whatIf: boolean;
31
32
  };
@@ -4,11 +4,15 @@ export type SalarySummaryRowRO = {
4
4
  schemeId: number | null;
5
5
  schemeTitle: string | null;
6
6
  calculated: number;
7
+ adjustments: number;
7
8
  accrued: number;
8
9
  paid: number;
9
10
  balance: number;
11
+ /** All recorded accruals and payouts, independent of the selected period. */
12
+ totalDebt: number;
10
13
  workMinutes: number;
11
14
  workDays: number;
15
+ shiftCount: number;
12
16
  };
13
17
  export type SalarySummaryRO = {
14
18
  from: string;
@@ -24,6 +28,7 @@ export type SalarySummaryRO = {
24
28
  accrued: number;
25
29
  paid: number;
26
30
  balance: number;
31
+ totalDebt: number;
27
32
  };
28
33
  };
29
34
  export type SalaryAccrualsRunRO = {
@@ -0,0 +1,8 @@
1
+ export declare class CreateSupportMessageDto {
2
+ body: string;
3
+ /**
4
+ * Разрешается только в admin/internal контроллерах. Клиентский
5
+ * контроллер всегда принудительно пишет публичное сообщение.
6
+ */
7
+ internal?: boolean;
8
+ }
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.CreateSupportMessageDto = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const class_validator_1 = require("class-validator");
15
+ class CreateSupportMessageDto {
16
+ }
17
+ exports.CreateSupportMessageDto = CreateSupportMessageDto;
18
+ __decorate([
19
+ (0, class_transformer_1.Expose)(),
20
+ (0, class_validator_1.IsString)(),
21
+ (0, class_validator_1.IsNotEmpty)(),
22
+ (0, class_validator_1.MaxLength)(10000),
23
+ (0, class_transformer_1.Transform)(({ value }) => (typeof value === 'string' ? value.trim() : value)),
24
+ __metadata("design:type", String)
25
+ ], CreateSupportMessageDto.prototype, "body", void 0);
26
+ __decorate([
27
+ (0, class_transformer_1.Expose)(),
28
+ (0, class_validator_1.IsOptional)(),
29
+ (0, class_validator_1.IsBoolean)(),
30
+ __metadata("design:type", Boolean)
31
+ ], CreateSupportMessageDto.prototype, "internal", void 0);
@@ -0,0 +1,17 @@
1
+ import { SupportContactMethod, SupportTicketType } from './support-ticket';
2
+ export declare class CreateSupportTicketDto {
3
+ type: SupportTicketType;
4
+ subject: string;
5
+ description: string;
6
+ reproductionSteps?: string;
7
+ expectedResult?: string;
8
+ actualResult?: string;
9
+ impact?: string;
10
+ proposal?: string;
11
+ benefit?: string;
12
+ errorDetails?: string;
13
+ contactMethod: SupportContactMethod;
14
+ contactValue: string;
15
+ pageUrl?: string;
16
+ userAgent?: string;
17
+ }
@@ -0,0 +1,122 @@
1
+ "use strict";
2
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
3
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
4
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
5
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
6
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
7
+ };
8
+ var __metadata = (this && this.__metadata) || function (k, v) {
9
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.CreateSupportTicketDto = void 0;
13
+ const class_transformer_1 = require("class-transformer");
14
+ const class_validator_1 = require("class-validator");
15
+ const is_not_blank_1 = require("../shared/is-not-blank");
16
+ const support_ticket_1 = require("./support-ticket");
17
+ const trim = ({ value }) => typeof value === 'string' ? value.trim() : value;
18
+ class CreateSupportTicketDto {
19
+ }
20
+ exports.CreateSupportTicketDto = CreateSupportTicketDto;
21
+ __decorate([
22
+ (0, class_transformer_1.Expose)(),
23
+ (0, class_validator_1.IsEnum)(support_ticket_1.SupportTicketType),
24
+ __metadata("design:type", String)
25
+ ], CreateSupportTicketDto.prototype, "type", void 0);
26
+ __decorate([
27
+ (0, class_transformer_1.Expose)(),
28
+ (0, is_not_blank_1.IsNotBlank)(),
29
+ (0, class_validator_1.MaxLength)(160),
30
+ (0, class_transformer_1.Transform)(trim),
31
+ __metadata("design:type", String)
32
+ ], CreateSupportTicketDto.prototype, "subject", void 0);
33
+ __decorate([
34
+ (0, class_transformer_1.Expose)(),
35
+ (0, is_not_blank_1.IsNotBlank)(),
36
+ (0, class_validator_1.MinLength)(10),
37
+ (0, class_validator_1.MaxLength)(10000),
38
+ (0, class_transformer_1.Transform)(trim),
39
+ __metadata("design:type", String)
40
+ ], CreateSupportTicketDto.prototype, "description", void 0);
41
+ __decorate([
42
+ (0, class_transformer_1.Expose)(),
43
+ (0, class_validator_1.ValidateIf)((dto) => dto.type === support_ticket_1.SupportTicketType.BUG),
44
+ (0, is_not_blank_1.IsNotBlank)(),
45
+ (0, class_validator_1.MaxLength)(10000),
46
+ (0, class_transformer_1.Transform)(trim),
47
+ __metadata("design:type", String)
48
+ ], CreateSupportTicketDto.prototype, "reproductionSteps", void 0);
49
+ __decorate([
50
+ (0, class_transformer_1.Expose)(),
51
+ (0, class_validator_1.ValidateIf)((dto) => dto.type === support_ticket_1.SupportTicketType.BUG),
52
+ (0, is_not_blank_1.IsNotBlank)(),
53
+ (0, class_validator_1.MaxLength)(5000),
54
+ (0, class_transformer_1.Transform)(trim),
55
+ __metadata("design:type", String)
56
+ ], CreateSupportTicketDto.prototype, "expectedResult", void 0);
57
+ __decorate([
58
+ (0, class_transformer_1.Expose)(),
59
+ (0, class_validator_1.ValidateIf)((dto) => dto.type === support_ticket_1.SupportTicketType.BUG),
60
+ (0, is_not_blank_1.IsNotBlank)(),
61
+ (0, class_validator_1.MaxLength)(5000),
62
+ (0, class_transformer_1.Transform)(trim),
63
+ __metadata("design:type", String)
64
+ ], CreateSupportTicketDto.prototype, "actualResult", void 0);
65
+ __decorate([
66
+ (0, class_transformer_1.Expose)(),
67
+ (0, class_validator_1.IsOptional)(),
68
+ (0, class_validator_1.IsString)(),
69
+ (0, class_validator_1.MaxLength)(2000),
70
+ (0, class_transformer_1.Transform)(trim),
71
+ __metadata("design:type", String)
72
+ ], CreateSupportTicketDto.prototype, "impact", void 0);
73
+ __decorate([
74
+ (0, class_transformer_1.Expose)(),
75
+ (0, class_validator_1.ValidateIf)((dto) => dto.type === support_ticket_1.SupportTicketType.FEATURE),
76
+ (0, is_not_blank_1.IsNotBlank)(),
77
+ (0, class_validator_1.MaxLength)(10000),
78
+ (0, class_transformer_1.Transform)(trim),
79
+ __metadata("design:type", String)
80
+ ], CreateSupportTicketDto.prototype, "proposal", void 0);
81
+ __decorate([
82
+ (0, class_transformer_1.Expose)(),
83
+ (0, class_validator_1.IsOptional)(),
84
+ (0, class_validator_1.IsString)(),
85
+ (0, class_validator_1.MaxLength)(5000),
86
+ (0, class_transformer_1.Transform)(trim),
87
+ __metadata("design:type", String)
88
+ ], CreateSupportTicketDto.prototype, "benefit", void 0);
89
+ __decorate([
90
+ (0, class_transformer_1.Expose)(),
91
+ (0, class_validator_1.IsOptional)(),
92
+ (0, class_validator_1.IsString)(),
93
+ (0, class_validator_1.MaxLength)(20000),
94
+ (0, class_transformer_1.Transform)(trim),
95
+ __metadata("design:type", String)
96
+ ], CreateSupportTicketDto.prototype, "errorDetails", void 0);
97
+ __decorate([
98
+ (0, class_transformer_1.Expose)(),
99
+ (0, class_validator_1.IsEnum)(support_ticket_1.SupportContactMethod),
100
+ __metadata("design:type", String)
101
+ ], CreateSupportTicketDto.prototype, "contactMethod", void 0);
102
+ __decorate([
103
+ (0, class_transformer_1.Expose)(),
104
+ (0, is_not_blank_1.IsNotBlank)(),
105
+ (0, class_validator_1.MaxLength)(255),
106
+ (0, class_transformer_1.Transform)(trim),
107
+ __metadata("design:type", String)
108
+ ], CreateSupportTicketDto.prototype, "contactValue", void 0);
109
+ __decorate([
110
+ (0, class_transformer_1.Expose)(),
111
+ (0, class_validator_1.IsOptional)(),
112
+ (0, class_validator_1.IsUrl)({ require_tld: false }),
113
+ (0, class_validator_1.MaxLength)(2000),
114
+ __metadata("design:type", String)
115
+ ], CreateSupportTicketDto.prototype, "pageUrl", void 0);
116
+ __decorate([
117
+ (0, class_transformer_1.Expose)(),
118
+ (0, class_validator_1.IsOptional)(),
119
+ (0, class_validator_1.IsString)(),
120
+ (0, class_validator_1.MaxLength)(1000),
121
+ __metadata("design:type", String)
122
+ ], CreateSupportTicketDto.prototype, "userAgent", void 0);