@silexpert/core 2.0.41 → 2.0.42-zendesk
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.
- package/dist/api/resources/Payment.d.ts +1 -0
- package/dist/api/resources/Payment.d.ts.map +1 -1
- package/dist/api/resources/Payment.js +3 -0
- package/dist/api/resources/Payment.js.map +1 -1
- package/dist/api/resources/zendesk/Ticket.d.ts +11 -0
- package/dist/api/resources/zendesk/Ticket.d.ts.map +1 -0
- package/dist/api/resources/zendesk/Ticket.js +22 -0
- package/dist/api/resources/zendesk/Ticket.js.map +1 -0
- package/dist/api/resources.d.ts +2 -0
- package/dist/api/resources.d.ts.map +1 -1
- package/dist/api/resources.js +2 -0
- package/dist/api/resources.js.map +1 -1
- package/dist/types/Enum/BalanceSheet.js +1 -1
- package/dist/types/Enum/BalanceSheet.js.map +1 -1
- package/dist/types/Enum/ReasonTerminationType.js +1 -1
- package/dist/types/Enum/ReasonTerminationType.js.map +1 -1
- package/dist/types/Enum/RoleDetail.d.ts +2 -0
- package/dist/types/Enum/RoleDetail.d.ts.map +1 -1
- package/dist/types/Enum/RoleDetail.js +2 -0
- package/dist/types/Enum/RoleDetail.js.map +1 -1
- package/dist/types/Enum/Zendesk.d.ts +40 -0
- package/dist/types/Enum/Zendesk.d.ts.map +1 -0
- package/dist/types/Enum/Zendesk.js +40 -0
- package/dist/types/Enum/Zendesk.js.map +1 -0
- package/dist/types/Interface/api/zendesk/QueryTicket.d.ts +35 -0
- package/dist/types/Interface/api/zendesk/QueryTicket.d.ts.map +1 -0
- package/dist/types/Interface/api/zendesk/QueryTicket.js +215 -0
- package/dist/types/Interface/api/zendesk/QueryTicket.js.map +1 -0
- package/dist/types/Interface/api/zendesk/ReadTicket.d.ts +76 -0
- package/dist/types/Interface/api/zendesk/ReadTicket.d.ts.map +1 -0
- package/dist/types/Interface/api/zendesk/ReadTicket.js +2 -0
- package/dist/types/Interface/api/zendesk/ReadTicket.js.map +1 -0
- package/dist/types/index.d.ts +3 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +3 -0
- package/dist/types/index.js.map +1 -1
- package/dist/utils/phone.d.ts.map +1 -1
- package/dist/utils/phone.js +3 -0
- package/dist/utils/phone.js.map +1 -1
- package/package.json +1 -1
- package/ts/api/resources/Payment.ts +8 -0
- package/ts/api/resources/zendesk/Ticket.ts +36 -0
- package/ts/api/resources.ts +2 -0
- package/ts/types/Enum/BalanceSheet.ts +1 -1
- package/ts/types/Enum/ReasonTerminationType.ts +1 -1
- package/ts/types/Enum/RoleDetail.ts +2 -0
- package/ts/types/Enum/Zendesk.ts +56 -0
- package/ts/types/Interface/api/zendesk/QueryTicket.ts +171 -0
- package/ts/types/Interface/api/zendesk/ReadTicket.ts +85 -0
- package/ts/types/index.ts +3 -0
- package/ts/utils/phone.ts +4 -0
package/dist/utils/phone.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"phone.js","sourceRoot":"","sources":["../../ts/utils/phone.ts"],"names":[],"mappings":"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","sourcesContent":["import { count } from 'sms-length';\nimport { PhonePrefix } from '../types/Enum/Phone.js';\nimport { Role } from '../types/Enum/Role.js';\nimport { RoleDetail } from '../types/Enum/RoleDetail.js';\n\nexport function formatPhoneNumberToE164(phoneNumber: string | null, prefix = '+33'): string | null {\n if (!phoneNumber) return null;\n if (phoneNumber.charAt(0) !== '+') {\n const numberInt = phoneNumber.replace(/\\D/g, '');\n if (prefix) {\n if (numberInt.length === 10 && numberInt.charAt(0) === '0') {\n return `${prefix}${numberInt.substring(1)}`;\n }\n return `${prefix}${numberInt}`;\n }\n if (numberInt.charAt(0) === '0' && numberInt.length === 10) return `+33${numberInt.substring(1)}`;\n return numberInt;\n }\n return phoneNumber;\n}\n\nexport function getPhoneNumberWithoutPrefix(phoneNumber: string): string {\n let number = phoneNumber;\n // @ts-ignore\n Object.keys(PhonePrefix)\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n .map((index) => PhonePrefix[index].prefix)\n .forEach((prefix) => {\n number = number.replace(prefix, '');\n });\n return number;\n}\n\nexport function countSegmentsFromMessage(message: string): number {\n return count(message).messages;\n}\n\nexport function getPhoneNumberFromRoles(\n roles: number[],\n attribute: 'phoneNumber' | 'phoneNumberPourcentage' | 'phoneNumberStatutsExpress' = 'phoneNumber',\n): string | null {\n if (roles.some((role) => [Role.FRONT_OFFICE, Role.EXPERT_ACCOUNTANT].includes(role))) {\n return RoleDetail.FRONT_OFFICE[attribute];\n }\n\n if (roles.some((role) => [Role.FRONT_OFFICE_EXPRESS].includes(role))) {\n return RoleDetail.FRONT_OFFICE_EXPRESS[attribute];\n }\n\n if (roles.some((role) => [Role.COMMERCIAL].includes(role))) {\n return RoleDetail.COMMERCIAL[attribute];\n }\n\n if (roles.some((role) => [Role.FACTURATION].includes(role))) {\n return RoleDetail.FACTURATION[attribute];\n }\n\n if (roles.some((role) => [Role.CUSTOMER_SUCCESS].includes(role))) {\n return RoleDetail.CUSTOMER_SUCCESS[attribute];\n }\n\n if (roles.some((role) => [Role.JURIDIC, Role.JURIDICAL_SUPPORT].includes(role))) {\n return RoleDetail.JURIDIC[attribute];\n }\n\n if (roles.some((role) => [Role.SOCIAL].includes(role))) {\n return RoleDetail.SOCIAL[attribute];\n }\n\n return null;\n}\n\nexport function formatPhoneNumberToNational(phoneNumber: string): string {\n const phoneWithoutSpace = phoneNumber.replace(/[. ]/g, '');\n\n if (phoneWithoutSpace?.startsWith('+33')) {\n return phoneWithoutSpace.replace('+33', '0');\n }\n\n // Fonction à mettre à jour en fonction des cas de notre bdd\n return phoneWithoutSpace;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"phone.js","sourceRoot":"","sources":["../../ts/utils/phone.ts"],"names":[],"mappings":"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","sourcesContent":["import { count } from 'sms-length';\nimport { PhonePrefix } from '../types/Enum/Phone.js';\nimport { Role } from '../types/Enum/Role.js';\nimport { RoleDetail } from '../types/Enum/RoleDetail.js';\n\nexport function formatPhoneNumberToE164(phoneNumber: string | null, prefix = '+33'): string | null {\n if (!phoneNumber) return null;\n if (phoneNumber.charAt(0) !== '+') {\n const numberInt = phoneNumber.replace(/\\D/g, '');\n if (prefix) {\n if (numberInt.length === 10 && numberInt.charAt(0) === '0') {\n return `${prefix}${numberInt.substring(1)}`;\n }\n return `${prefix}${numberInt}`;\n }\n if (numberInt.charAt(0) === '0' && numberInt.length === 10) return `+33${numberInt.substring(1)}`;\n return numberInt;\n }\n return phoneNumber;\n}\n\nexport function getPhoneNumberWithoutPrefix(phoneNumber: string): string {\n let number = phoneNumber;\n // @ts-ignore\n Object.keys(PhonePrefix)\n // @ts-ignore\n // eslint-disable-next-line @typescript-eslint/no-unsafe-return\n .map((index) => PhonePrefix[index].prefix)\n .forEach((prefix) => {\n number = number.replace(prefix, '');\n });\n return number;\n}\n\nexport function countSegmentsFromMessage(message: string): number {\n return count(message).messages;\n}\n\nexport function getPhoneNumberFromRoles(\n roles: number[],\n attribute: 'phoneNumber' | 'phoneNumberPourcentage' | 'phoneNumberStatutsExpress' = 'phoneNumber',\n): string | null {\n if (roles.some((role) => [Role.FRONT_OFFICE, Role.EXPERT_ACCOUNTANT].includes(role))) {\n return RoleDetail.FRONT_OFFICE[attribute];\n }\n\n if (roles.some((role) => [Role.FRONT_OFFICE_EXPRESS].includes(role))) {\n return RoleDetail.FRONT_OFFICE_EXPRESS[attribute];\n }\n\n if (roles.some((role) => [Role.COMMERCIAL].includes(role))) {\n return RoleDetail.COMMERCIAL[attribute];\n }\n\n if (roles.some((role) => [Role.SDR].includes(role))) {\n return RoleDetail.SDR[attribute];\n }\n\n if (roles.some((role) => [Role.FACTURATION].includes(role))) {\n return RoleDetail.FACTURATION[attribute];\n }\n\n if (roles.some((role) => [Role.CUSTOMER_SUCCESS].includes(role))) {\n return RoleDetail.CUSTOMER_SUCCESS[attribute];\n }\n\n if (roles.some((role) => [Role.JURIDIC, Role.JURIDICAL_SUPPORT].includes(role))) {\n return RoleDetail.JURIDIC[attribute];\n }\n\n if (roles.some((role) => [Role.SOCIAL].includes(role))) {\n return RoleDetail.SOCIAL[attribute];\n }\n\n return null;\n}\n\nexport function formatPhoneNumberToNational(phoneNumber: string): string {\n const phoneWithoutSpace = phoneNumber.replace(/[. ]/g, '');\n\n if (phoneWithoutSpace?.startsWith('+33')) {\n return phoneWithoutSpace.replace('+33', '0');\n }\n\n // Fonction à mettre à jour en fonction des cas de notre bdd\n return phoneWithoutSpace;\n}\n"]}
|
package/package.json
CHANGED
|
@@ -158,6 +158,14 @@ export class Payment extends Resource {
|
|
|
158
158
|
return this.axios.$post(`/payments-recovery/${idPaymentRecovery}/contact`, payload);
|
|
159
159
|
}
|
|
160
160
|
|
|
161
|
+
getInternalPaginatedRecovery(
|
|
162
|
+
idSociety: number,
|
|
163
|
+
query: QueryPaymentRecoveryPaginated,
|
|
164
|
+
signal: AbortSignal,
|
|
165
|
+
): Promise<BasePaginate<ReadPaymentRecovery>> {
|
|
166
|
+
return this.axios.$get(`/internal/${idSociety}/payments-recovery`, { params: query, signal });
|
|
167
|
+
}
|
|
168
|
+
|
|
161
169
|
getAll(query: QueryPayments, signal: AbortSignal): Promise<IPayment[]> {
|
|
162
170
|
return this.axios.$get('/payments', { params: query, signal });
|
|
163
171
|
}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import {
|
|
2
|
+
CreateZendeskTicket,
|
|
3
|
+
UpdateZendeskTicket,
|
|
4
|
+
ListZendeskTickets,
|
|
5
|
+
TicketZendeskResponse,
|
|
6
|
+
SearchZendeskResponse,
|
|
7
|
+
TicketFormEnriched,
|
|
8
|
+
TicketZendesk,
|
|
9
|
+
} from '../../../index.js';
|
|
10
|
+
import { Resource } from '../../Resource.js';
|
|
11
|
+
|
|
12
|
+
export class ZendeskTicket extends Resource {
|
|
13
|
+
getPaginate(query: ListZendeskTickets): Promise<TicketZendeskResponse | SearchZendeskResponse> {
|
|
14
|
+
return this.axios.$get('connectors/zendesk/tickets', { params: query });
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
getForms(): Promise<TicketFormEnriched[]> {
|
|
18
|
+
return this.axios.$get('connectors/zendesk/tickets/forms');
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
get(id: number): Promise<TicketZendesk> {
|
|
22
|
+
return this.axios.$get(`connectors/zendesk/tickets/${id}`);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
create(data: CreateZendeskTicket): Promise<TicketZendesk> {
|
|
26
|
+
return this.axios.$post('connectors/zendesk/tickets', data);
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
update(id: number, data: UpdateZendeskTicket): Promise<TicketZendesk> {
|
|
30
|
+
return this.axios.$put(`connectors/zendesk/tickets/${id}`, data);
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
delete(id: number): Promise<void> {
|
|
34
|
+
return this.axios.$delete(`connectors/zendesk/tickets/${id}`);
|
|
35
|
+
}
|
|
36
|
+
}
|
package/ts/api/resources.ts
CHANGED
|
@@ -190,6 +190,7 @@ import { Acd } from './resources/Acd.js';
|
|
|
190
190
|
import { UsersHistory } from './resources/UsersHistory.js';
|
|
191
191
|
import { Zendesk } from './resources/zendesk/Zendesk.js';
|
|
192
192
|
import { Formalism } from './resources/Formalism.js';
|
|
193
|
+
import { ZendeskTicket } from './resources/zendesk/Ticket.js';
|
|
193
194
|
|
|
194
195
|
export const resources = {
|
|
195
196
|
budgetInsight: BudgetInsight,
|
|
@@ -384,4 +385,5 @@ export const resources = {
|
|
|
384
385
|
acd: Acd,
|
|
385
386
|
zendesk: Zendesk,
|
|
386
387
|
formalism: Formalism,
|
|
388
|
+
zendeskTicket: ZendeskTicket,
|
|
387
389
|
};
|
|
@@ -928,7 +928,7 @@ export const BALANCE_SHEET_LIST_PASSIVE: BalanceSheetList = [
|
|
|
928
928
|
{
|
|
929
929
|
name: BalanceSheetPassiveLabel.EMPRUNTS_ET_DETTES_AUPRES_ETABLISSEMENTS,
|
|
930
930
|
key: 'loansCredits',
|
|
931
|
-
accounts: ['511', '168', '512', '514', '517', '5186', '519', '53', '58'], // Ben.P. 10/12/24 suppression 16884 car déjà pris en dessous
|
|
931
|
+
accounts: ['511', '168', '512', '514', '517', '5181', '5186', '519', '53', '58'], // Ben.P. 10/12/24 suppression 16884 car déjà pris en dessous
|
|
932
932
|
accountsWithoutType: ['164'],
|
|
933
933
|
isSubcategory: true,
|
|
934
934
|
total: 0,
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
export type ZendeskTicketStatus = 'new' | 'open' | 'pending' | 'hold' | 'solved' | 'closed';
|
|
2
|
+
export type ZendeskTicketPriority = 'urgent' | 'high' | 'normal' | 'low';
|
|
3
|
+
export type ZendeskTicketType = 'problem' | 'incident' | 'question' | 'task';
|
|
4
|
+
export type ZendeskTicketChannel =
|
|
5
|
+
| 'api'
|
|
6
|
+
| 'chat'
|
|
7
|
+
| 'email'
|
|
8
|
+
| 'facebook'
|
|
9
|
+
| 'mobile'
|
|
10
|
+
| 'native_messaging'
|
|
11
|
+
| 'sample_ticket'
|
|
12
|
+
| 'sms'
|
|
13
|
+
| 'twitter'
|
|
14
|
+
| 'voice'
|
|
15
|
+
| 'web'
|
|
16
|
+
| 'web_service'
|
|
17
|
+
| 'whatsapp';
|
|
18
|
+
|
|
19
|
+
export enum ZendeskTicketStatusEnum {
|
|
20
|
+
NEW = 'new',
|
|
21
|
+
OPEN = 'open',
|
|
22
|
+
PENDING = 'pending',
|
|
23
|
+
HOLD = 'hold',
|
|
24
|
+
SOLVED = 'solved',
|
|
25
|
+
CLOSED = 'closed',
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
export enum ZendeskTicketPriorityEnum {
|
|
29
|
+
URGENT = 'urgent',
|
|
30
|
+
HIGH = 'high',
|
|
31
|
+
NORMAL = 'normal',
|
|
32
|
+
LOW = 'low',
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
export enum ZendeskTicketTypeEnum {
|
|
36
|
+
PROBLEM = 'problem',
|
|
37
|
+
INCIDENT = 'incident',
|
|
38
|
+
QUESTION = 'question',
|
|
39
|
+
TASK = 'task',
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
export enum ZendeskTicketChannelEnum {
|
|
43
|
+
API = 'api',
|
|
44
|
+
CHAT = 'chat',
|
|
45
|
+
EMAIL = 'email',
|
|
46
|
+
FACEBOOK = 'facebook',
|
|
47
|
+
MOBILE = 'mobile',
|
|
48
|
+
NATIVE_MESSAGING = 'native_messaging',
|
|
49
|
+
SAMPLE_TICKET = 'sample_ticket',
|
|
50
|
+
SMS = 'sms',
|
|
51
|
+
TWITTER = 'twitter',
|
|
52
|
+
VOICE = 'voice',
|
|
53
|
+
WEB = 'web',
|
|
54
|
+
WEB_SERVICE = 'web_service',
|
|
55
|
+
WHATSAPP = 'whatsapp',
|
|
56
|
+
}
|
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
import {
|
|
2
|
+
IsString,
|
|
3
|
+
IsNotEmpty,
|
|
4
|
+
IsOptional,
|
|
5
|
+
IsEnum,
|
|
6
|
+
IsArray,
|
|
7
|
+
IsNumber,
|
|
8
|
+
MinLength,
|
|
9
|
+
IsInt,
|
|
10
|
+
Min,
|
|
11
|
+
Max,
|
|
12
|
+
} from 'class-validator';
|
|
13
|
+
import { ApiProperty, ApiPropertyOptional } from '@nestjs/swagger';
|
|
14
|
+
import {
|
|
15
|
+
ZendeskTicketChannel,
|
|
16
|
+
ZendeskTicketChannelEnum,
|
|
17
|
+
ZendeskTicketPriority,
|
|
18
|
+
ZendeskTicketPriorityEnum,
|
|
19
|
+
ZendeskTicketStatus,
|
|
20
|
+
ZendeskTicketStatusEnum,
|
|
21
|
+
ZendeskTicketType,
|
|
22
|
+
ZendeskTicketTypeEnum,
|
|
23
|
+
} from '../../../../types/Enum/Zendesk.js';
|
|
24
|
+
|
|
25
|
+
export class CreateZendeskTicket {
|
|
26
|
+
@ApiProperty()
|
|
27
|
+
@IsString()
|
|
28
|
+
@IsNotEmpty()
|
|
29
|
+
@MinLength(3)
|
|
30
|
+
subject: string;
|
|
31
|
+
|
|
32
|
+
@ApiProperty()
|
|
33
|
+
@IsString()
|
|
34
|
+
@IsNotEmpty()
|
|
35
|
+
body: string;
|
|
36
|
+
|
|
37
|
+
@ApiPropertyOptional()
|
|
38
|
+
@IsOptional()
|
|
39
|
+
@IsArray()
|
|
40
|
+
@IsString({ each: true })
|
|
41
|
+
attachments?: string[];
|
|
42
|
+
|
|
43
|
+
@ApiPropertyOptional()
|
|
44
|
+
@IsOptional()
|
|
45
|
+
@IsEnum(ZendeskTicketStatusEnum)
|
|
46
|
+
status?: ZendeskTicketStatus;
|
|
47
|
+
|
|
48
|
+
@ApiPropertyOptional()
|
|
49
|
+
@IsOptional()
|
|
50
|
+
@IsEnum(ZendeskTicketPriorityEnum)
|
|
51
|
+
priority?: ZendeskTicketPriority;
|
|
52
|
+
|
|
53
|
+
@ApiPropertyOptional()
|
|
54
|
+
@IsOptional()
|
|
55
|
+
@IsEnum(ZendeskTicketTypeEnum)
|
|
56
|
+
type?: ZendeskTicketType;
|
|
57
|
+
|
|
58
|
+
@ApiPropertyOptional()
|
|
59
|
+
@IsOptional()
|
|
60
|
+
@IsArray()
|
|
61
|
+
@IsString({ each: true })
|
|
62
|
+
tags?: string[];
|
|
63
|
+
|
|
64
|
+
@ApiPropertyOptional()
|
|
65
|
+
@IsOptional()
|
|
66
|
+
@IsNumber()
|
|
67
|
+
requesterId?: number;
|
|
68
|
+
|
|
69
|
+
@ApiPropertyOptional()
|
|
70
|
+
@IsOptional()
|
|
71
|
+
@IsNumber()
|
|
72
|
+
assigneeId?: number;
|
|
73
|
+
|
|
74
|
+
@ApiPropertyOptional()
|
|
75
|
+
@IsOptional()
|
|
76
|
+
@IsNumber()
|
|
77
|
+
groupId?: number;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
export class UpdateZendeskTicket {
|
|
81
|
+
@ApiPropertyOptional()
|
|
82
|
+
@IsOptional()
|
|
83
|
+
@IsString()
|
|
84
|
+
@MinLength(3)
|
|
85
|
+
subject?: string;
|
|
86
|
+
|
|
87
|
+
@ApiPropertyOptional()
|
|
88
|
+
@IsOptional()
|
|
89
|
+
@IsString()
|
|
90
|
+
comment?: string;
|
|
91
|
+
|
|
92
|
+
@ApiPropertyOptional()
|
|
93
|
+
@IsOptional()
|
|
94
|
+
@IsEnum(ZendeskTicketStatusEnum)
|
|
95
|
+
status?: ZendeskTicketStatus;
|
|
96
|
+
|
|
97
|
+
@ApiPropertyOptional()
|
|
98
|
+
@IsOptional()
|
|
99
|
+
@IsEnum(ZendeskTicketPriorityEnum)
|
|
100
|
+
priority?: ZendeskTicketPriority;
|
|
101
|
+
|
|
102
|
+
@ApiPropertyOptional()
|
|
103
|
+
@IsOptional()
|
|
104
|
+
@IsEnum(ZendeskTicketTypeEnum)
|
|
105
|
+
type?: ZendeskTicketType;
|
|
106
|
+
|
|
107
|
+
@ApiPropertyOptional()
|
|
108
|
+
@IsOptional()
|
|
109
|
+
@IsArray()
|
|
110
|
+
@IsString({ each: true })
|
|
111
|
+
tags?: string[];
|
|
112
|
+
|
|
113
|
+
@ApiPropertyOptional()
|
|
114
|
+
@IsOptional()
|
|
115
|
+
@IsNumber()
|
|
116
|
+
assigneeId?: number;
|
|
117
|
+
|
|
118
|
+
@ApiPropertyOptional()
|
|
119
|
+
@IsOptional()
|
|
120
|
+
@IsNumber()
|
|
121
|
+
groupId?: number;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
export class ListZendeskTickets {
|
|
125
|
+
@ApiProperty()
|
|
126
|
+
@IsEnum(ZendeskTicketChannelEnum)
|
|
127
|
+
channel: ZendeskTicketChannel;
|
|
128
|
+
|
|
129
|
+
@ApiPropertyOptional()
|
|
130
|
+
@IsOptional()
|
|
131
|
+
@IsEnum(ZendeskTicketStatusEnum)
|
|
132
|
+
status?: ZendeskTicketStatus;
|
|
133
|
+
|
|
134
|
+
@ApiPropertyOptional()
|
|
135
|
+
@IsOptional()
|
|
136
|
+
@IsInt()
|
|
137
|
+
@Min(1)
|
|
138
|
+
page?: number = 1;
|
|
139
|
+
|
|
140
|
+
@ApiPropertyOptional()
|
|
141
|
+
@IsOptional()
|
|
142
|
+
@IsInt()
|
|
143
|
+
@Min(1)
|
|
144
|
+
@Max(100)
|
|
145
|
+
limit?: number = 25;
|
|
146
|
+
|
|
147
|
+
@ApiPropertyOptional()
|
|
148
|
+
@IsOptional()
|
|
149
|
+
@IsString()
|
|
150
|
+
search?: string;
|
|
151
|
+
|
|
152
|
+
@ApiPropertyOptional()
|
|
153
|
+
@IsOptional()
|
|
154
|
+
@IsString()
|
|
155
|
+
startDate?: string;
|
|
156
|
+
|
|
157
|
+
@ApiPropertyOptional()
|
|
158
|
+
@IsOptional()
|
|
159
|
+
@IsString()
|
|
160
|
+
endDate?: string;
|
|
161
|
+
|
|
162
|
+
@ApiPropertyOptional()
|
|
163
|
+
@IsOptional()
|
|
164
|
+
@IsString()
|
|
165
|
+
sortBy?: string;
|
|
166
|
+
|
|
167
|
+
@ApiPropertyOptional()
|
|
168
|
+
@IsOptional()
|
|
169
|
+
@IsEnum(['asc', 'desc'])
|
|
170
|
+
sortOrder?: 'asc' | 'desc';
|
|
171
|
+
}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import {
|
|
2
|
+
ZendeskTicketChannel,
|
|
3
|
+
ZendeskTicketPriority,
|
|
4
|
+
ZendeskTicketStatus,
|
|
5
|
+
ZendeskTicketType,
|
|
6
|
+
} from '#types/Enum/Zendesk.js';
|
|
7
|
+
|
|
8
|
+
export interface TicketZendesk {
|
|
9
|
+
id: number;
|
|
10
|
+
url: string;
|
|
11
|
+
subject: string;
|
|
12
|
+
description: string;
|
|
13
|
+
status: ZendeskTicketStatus;
|
|
14
|
+
priority: ZendeskTicketPriority | null;
|
|
15
|
+
type: ZendeskTicketType | null;
|
|
16
|
+
tags: string[];
|
|
17
|
+
via: { channel: ZendeskTicketChannel };
|
|
18
|
+
requesterId: number;
|
|
19
|
+
assigneeId: number | null;
|
|
20
|
+
groupId: number | null;
|
|
21
|
+
organizationId: number | null;
|
|
22
|
+
createdAt: string;
|
|
23
|
+
updatedAt: string;
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
export interface SearchZendeskResponse {
|
|
27
|
+
results: TicketZendesk[];
|
|
28
|
+
count: number;
|
|
29
|
+
nextPage: string | null;
|
|
30
|
+
previousPage: string | null;
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
export interface TicketZendeskResponse {
|
|
34
|
+
results: TicketZendesk[];
|
|
35
|
+
count: number;
|
|
36
|
+
nextPage: string | null;
|
|
37
|
+
previousPage: string | null;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export interface CustomFieldZendeskOption {
|
|
41
|
+
id: number;
|
|
42
|
+
name: string;
|
|
43
|
+
rawName: string;
|
|
44
|
+
value: string;
|
|
45
|
+
default: boolean;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
export interface TicketFieldZendesk {
|
|
49
|
+
id: number;
|
|
50
|
+
url: string;
|
|
51
|
+
type: string;
|
|
52
|
+
title: string;
|
|
53
|
+
rawTitle: string;
|
|
54
|
+
description: string;
|
|
55
|
+
position: number;
|
|
56
|
+
active: boolean;
|
|
57
|
+
required: boolean;
|
|
58
|
+
requiredInPortal: boolean;
|
|
59
|
+
visibleInPortal: boolean;
|
|
60
|
+
editableInPortal: boolean;
|
|
61
|
+
tag: string | null;
|
|
62
|
+
customFieldOptions: CustomFieldZendeskOption[];
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
export interface TicketFormZendesk {
|
|
66
|
+
id: number;
|
|
67
|
+
url: string;
|
|
68
|
+
name: string;
|
|
69
|
+
rawName: string;
|
|
70
|
+
displayName: string;
|
|
71
|
+
rawDisplayName: string;
|
|
72
|
+
endUserVisible: boolean;
|
|
73
|
+
position: number;
|
|
74
|
+
active: boolean;
|
|
75
|
+
default: boolean;
|
|
76
|
+
inAllBrands: boolean;
|
|
77
|
+
restrictedBrandIds: number[];
|
|
78
|
+
ticketFieldIds: number[];
|
|
79
|
+
createdAt: string;
|
|
80
|
+
updatedAt: string;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
export interface TicketFormEnriched extends Omit<TicketFormZendesk, 'ticketFieldIds'> {
|
|
84
|
+
fields: TicketFieldZendesk[];
|
|
85
|
+
}
|
package/ts/types/index.ts
CHANGED
|
@@ -494,6 +494,7 @@ export * from './Enum/EquipmentAvailability.js';
|
|
|
494
494
|
export * from './Enum/SpecialDayType.js';
|
|
495
495
|
export * from './Enum/Degree.js';
|
|
496
496
|
export * from './Enum/Brevo.js';
|
|
497
|
+
export * from './Enum/Zendesk.js';
|
|
497
498
|
export * from './Enum/ZoneCode.js';
|
|
498
499
|
export * from './Enum/TimeSlot.js';
|
|
499
500
|
export * from './Enum/StateSynchro.js';
|
|
@@ -820,6 +821,8 @@ export * from './Interface/api/loan/ReadLoan.js';
|
|
|
820
821
|
export * from './Interface/api/stock/StocksType.js';
|
|
821
822
|
export * from './Interface/api/lettering/QueryRegroupLettering.js';
|
|
822
823
|
export * from './Interface/api/loan/UpdateLoan.js';
|
|
824
|
+
export * from './Interface/api/zendesk/QueryTicket.js';
|
|
825
|
+
export * from './Interface/api/zendesk/ReadTicket.js';
|
|
823
826
|
export * from './Interface/api/zticket/CreateZTicket.js';
|
|
824
827
|
export * from './Interface/api/zticket/QueryZTicket.js';
|
|
825
828
|
export * from './Interface/api/balanceSheetModule/CreateBalanceSheetModule.js';
|
package/ts/utils/phone.ts
CHANGED
|
@@ -52,6 +52,10 @@ export function getPhoneNumberFromRoles(
|
|
|
52
52
|
return RoleDetail.COMMERCIAL[attribute];
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
+
if (roles.some((role) => [Role.SDR].includes(role))) {
|
|
56
|
+
return RoleDetail.SDR[attribute];
|
|
57
|
+
}
|
|
58
|
+
|
|
55
59
|
if (roles.some((role) => [Role.FACTURATION].includes(role))) {
|
|
56
60
|
return RoleDetail.FACTURATION[attribute];
|
|
57
61
|
}
|