@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.
Files changed (51) hide show
  1. package/dist/api/resources/Payment.d.ts +1 -0
  2. package/dist/api/resources/Payment.d.ts.map +1 -1
  3. package/dist/api/resources/Payment.js +3 -0
  4. package/dist/api/resources/Payment.js.map +1 -1
  5. package/dist/api/resources/zendesk/Ticket.d.ts +11 -0
  6. package/dist/api/resources/zendesk/Ticket.d.ts.map +1 -0
  7. package/dist/api/resources/zendesk/Ticket.js +22 -0
  8. package/dist/api/resources/zendesk/Ticket.js.map +1 -0
  9. package/dist/api/resources.d.ts +2 -0
  10. package/dist/api/resources.d.ts.map +1 -1
  11. package/dist/api/resources.js +2 -0
  12. package/dist/api/resources.js.map +1 -1
  13. package/dist/types/Enum/BalanceSheet.js +1 -1
  14. package/dist/types/Enum/BalanceSheet.js.map +1 -1
  15. package/dist/types/Enum/ReasonTerminationType.js +1 -1
  16. package/dist/types/Enum/ReasonTerminationType.js.map +1 -1
  17. package/dist/types/Enum/RoleDetail.d.ts +2 -0
  18. package/dist/types/Enum/RoleDetail.d.ts.map +1 -1
  19. package/dist/types/Enum/RoleDetail.js +2 -0
  20. package/dist/types/Enum/RoleDetail.js.map +1 -1
  21. package/dist/types/Enum/Zendesk.d.ts +40 -0
  22. package/dist/types/Enum/Zendesk.d.ts.map +1 -0
  23. package/dist/types/Enum/Zendesk.js +40 -0
  24. package/dist/types/Enum/Zendesk.js.map +1 -0
  25. package/dist/types/Interface/api/zendesk/QueryTicket.d.ts +35 -0
  26. package/dist/types/Interface/api/zendesk/QueryTicket.d.ts.map +1 -0
  27. package/dist/types/Interface/api/zendesk/QueryTicket.js +215 -0
  28. package/dist/types/Interface/api/zendesk/QueryTicket.js.map +1 -0
  29. package/dist/types/Interface/api/zendesk/ReadTicket.d.ts +76 -0
  30. package/dist/types/Interface/api/zendesk/ReadTicket.d.ts.map +1 -0
  31. package/dist/types/Interface/api/zendesk/ReadTicket.js +2 -0
  32. package/dist/types/Interface/api/zendesk/ReadTicket.js.map +1 -0
  33. package/dist/types/index.d.ts +3 -0
  34. package/dist/types/index.d.ts.map +1 -1
  35. package/dist/types/index.js +3 -0
  36. package/dist/types/index.js.map +1 -1
  37. package/dist/utils/phone.d.ts.map +1 -1
  38. package/dist/utils/phone.js +3 -0
  39. package/dist/utils/phone.js.map +1 -1
  40. package/package.json +1 -1
  41. package/ts/api/resources/Payment.ts +8 -0
  42. package/ts/api/resources/zendesk/Ticket.ts +36 -0
  43. package/ts/api/resources.ts +2 -0
  44. package/ts/types/Enum/BalanceSheet.ts +1 -1
  45. package/ts/types/Enum/ReasonTerminationType.ts +1 -1
  46. package/ts/types/Enum/RoleDetail.ts +2 -0
  47. package/ts/types/Enum/Zendesk.ts +56 -0
  48. package/ts/types/Interface/api/zendesk/QueryTicket.ts +171 -0
  49. package/ts/types/Interface/api/zendesk/ReadTicket.ts +85 -0
  50. package/ts/types/index.ts +3 -0
  51. package/ts/utils/phone.ts +4 -0
@@ -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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@silexpert/core",
3
- "version": "2.0.41",
3
+ "version": "2.0.42-zendesk",
4
4
  "description": "Silex Core perform HTTP Request and object binding. Silex core helps developers to retrieve and return formatted object",
5
5
  "keywords": [
6
6
  "accounting",
@@ -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
+ }
@@ -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,
@@ -163,7 +163,7 @@ export const ReasonTerminationTypeDetail = [
163
163
  },
164
164
  {
165
165
  id: ReasonTerminationType.REJECTION_OF_THE_AMENDMENT,
166
- label: "Refus de l'avenant",
166
+ label: "Refus de l'avenant/CGV",
167
167
  active: true,
168
168
  },
169
169
  {
@@ -308,6 +308,8 @@ export const RoleDetail = {
308
308
  isService: false,
309
309
  subRole: false,
310
310
  phoneNumber: '+33756796157',
311
+ phoneNumberPourcentage: '',
312
+ phoneNumberStatutsExpress: '',
311
313
  isGrade: false,
312
314
  },
313
315
  FORECAST_MANAGER: {
@@ -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
  }