@primocaredentgroup/elettromedicali 0.1.0 → 0.1.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.
- package/dist/client/index.d.ts +0 -2
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +2 -28
- package/dist/client/index.js.map +1 -1
- package/dist/component/_generated/api.d.ts +4 -4
- package/dist/component/_generated/api.d.ts.map +1 -1
- package/dist/component/_generated/component.d.ts +165 -218
- package/dist/component/_generated/component.d.ts.map +1 -1
- package/dist/component/contracts.d.ts +9 -9
- package/dist/component/contracts.d.ts.map +1 -1
- package/dist/component/contracts.js +7 -13
- package/dist/component/contracts.js.map +1 -1
- package/dist/component/crons.d.ts.map +1 -1
- package/dist/component/crons.js +1 -2
- package/dist/component/crons.js.map +1 -1
- package/dist/component/dashboardStats.d.ts +8 -3
- package/dist/component/dashboardStats.d.ts.map +1 -1
- package/dist/component/dashboardStats.js +24 -39
- package/dist/component/dashboardStats.js.map +1 -1
- package/dist/component/dashboardStatsCache.d.ts +5 -11
- package/dist/component/dashboardStatsCache.d.ts.map +1 -1
- package/dist/component/dashboardStatsCache.js +12 -53
- package/dist/component/dashboardStatsCache.js.map +1 -1
- package/dist/component/deviceCategories.d.ts +22 -15
- package/dist/component/deviceCategories.d.ts.map +1 -1
- package/dist/component/deviceCategories.js +10 -4
- package/dist/component/deviceCategories.js.map +1 -1
- package/dist/component/deviceQuestions.d.ts +36 -27
- package/dist/component/deviceQuestions.d.ts.map +1 -1
- package/dist/component/deviceQuestions.js +22 -5
- package/dist/component/deviceQuestions.js.map +1 -1
- package/dist/component/deviceRepairHistory.d.ts +3 -3
- package/dist/component/deviceRepairHistory.js +1 -1
- package/dist/component/deviceRepairHistory.js.map +1 -1
- package/dist/component/deviceStatus.d.ts +8 -57
- package/dist/component/deviceStatus.d.ts.map +1 -1
- package/dist/component/deviceStatus.js +32 -30
- package/dist/component/deviceStatus.js.map +1 -1
- package/dist/component/devices.d.ts +39 -22
- package/dist/component/devices.d.ts.map +1 -1
- package/dist/component/devices.js +85 -96
- package/dist/component/devices.js.map +1 -1
- package/dist/component/emailHelpers.d.ts +10 -3
- package/dist/component/emailHelpers.d.ts.map +1 -1
- package/dist/component/emailHelpers.js +9 -20
- package/dist/component/emailHelpers.js.map +1 -1
- package/dist/component/emails.d.ts +5 -5
- package/dist/component/emails.js +2 -2
- package/dist/component/emails.js.map +1 -1
- package/dist/component/http.d.ts.map +1 -1
- package/dist/component/http.js +3 -108
- package/dist/component/http.js.map +1 -1
- package/dist/component/migrationHelpers.d.ts +29 -0
- package/dist/component/migrationHelpers.d.ts.map +1 -0
- package/dist/component/migrationHelpers.js +84 -0
- package/dist/component/migrationHelpers.js.map +1 -0
- package/dist/component/roles.d.ts +1 -0
- package/dist/component/roles.d.ts.map +1 -1
- package/dist/component/roles.js +5 -6
- package/dist/component/roles.js.map +1 -1
- package/dist/component/schema.d.ts +69 -150
- package/dist/component/schema.d.ts.map +1 -1
- package/dist/component/schema.js +35 -88
- package/dist/component/schema.js.map +1 -1
- package/dist/component/slaMonitoring.d.ts +16 -30
- package/dist/component/slaMonitoring.d.ts.map +1 -1
- package/dist/component/slaMonitoring.js +48 -99
- package/dist/component/slaMonitoring.js.map +1 -1
- package/dist/component/spareParts.d.ts +11 -48
- package/dist/component/spareParts.d.ts.map +1 -1
- package/dist/component/spareParts.js +41 -11
- package/dist/component/spareParts.js.map +1 -1
- package/dist/component/suppliers.d.ts +38 -19
- package/dist/component/suppliers.d.ts.map +1 -1
- package/dist/component/suppliers.js +63 -44
- package/dist/component/suppliers.js.map +1 -1
- package/dist/component/ticketComments.d.ts +18 -12
- package/dist/component/ticketComments.d.ts.map +1 -1
- package/dist/component/ticketComments.js +28 -59
- package/dist/component/ticketComments.js.map +1 -1
- package/dist/component/ticketDeviceData.d.ts +63 -0
- package/dist/component/ticketDeviceData.d.ts.map +1 -0
- package/dist/component/ticketDeviceData.js +103 -0
- package/dist/component/ticketDeviceData.js.map +1 -0
- package/dist/component/ticketExport.d.ts +22 -40
- package/dist/component/ticketExport.d.ts.map +1 -1
- package/dist/component/ticketExport.js +43 -109
- package/dist/component/ticketExport.js.map +1 -1
- package/dist/component/ticketHistory.d.ts +4 -4
- package/dist/component/ticketHistory.d.ts.map +1 -1
- package/dist/component/ticketHistory.js +6 -9
- package/dist/component/ticketHistory.js.map +1 -1
- package/dist/component/ticketMacros.d.ts +19 -18
- package/dist/component/ticketMacros.d.ts.map +1 -1
- package/dist/component/ticketMacros.js +24 -30
- package/dist/component/ticketMacros.js.map +1 -1
- package/dist/component/ticketStatuses.d.ts +1 -0
- package/dist/component/ticketStatuses.d.ts.map +1 -1
- package/dist/component/ticketStatuses.js +5 -6
- package/dist/component/ticketStatuses.js.map +1 -1
- package/dist/component/ticketTriggers.d.ts +36 -16
- package/dist/component/ticketTriggers.d.ts.map +1 -1
- package/dist/component/ticketTriggers.js +115 -153
- package/dist/component/ticketTriggers.js.map +1 -1
- package/dist/component/userProfiles.d.ts +25 -120
- package/dist/component/userProfiles.d.ts.map +1 -1
- package/dist/component/userProfiles.js +73 -384
- package/dist/component/userProfiles.js.map +1 -1
- package/dist/test.d.ts +69 -150
- package/dist/test.d.ts.map +1 -1
- package/package.json +12 -3
- package/src/client/index.ts +2 -30
- package/src/component/_generated/api.ts +4 -4
- package/src/component/_generated/component.ts +228 -350
- package/src/component/contracts.ts +7 -14
- package/src/component/crons.ts +2 -7
- package/src/component/dashboardStats.ts +24 -41
- package/src/component/dashboardStatsCache.ts +12 -61
- package/src/component/deviceCategories.ts +12 -4
- package/src/component/deviceQuestions.ts +28 -5
- package/src/component/deviceRepairHistory.ts +1 -1
- package/src/component/deviceStatus.ts +43 -45
- package/src/component/devices.ts +87 -106
- package/src/component/emailHelpers.ts +9 -19
- package/src/component/emails.ts +2 -2
- package/src/component/http.ts +3 -108
- package/src/component/migrationHelpers.ts +96 -0
- package/src/component/roles.ts +5 -6
- package/src/component/schema.ts +35 -93
- package/src/component/slaMonitoring.ts +52 -107
- package/src/component/spareParts.ts +46 -12
- package/src/component/suppliers.ts +71 -48
- package/src/component/ticketComments.ts +28 -71
- package/src/component/ticketDeviceData.ts +113 -0
- package/src/component/ticketExport.ts +52 -137
- package/src/component/ticketHistory.ts +6 -9
- package/src/component/ticketMacros.ts +25 -37
- package/src/component/ticketStatuses.ts +5 -6
- package/src/component/ticketTriggers.ts +121 -217
- package/src/component/userProfiles.ts +67 -451
- package/dist/component/clinics.d.ts +0 -103
- package/dist/component/clinics.d.ts.map +0 -1
- package/dist/component/clinics.js +0 -126
- package/dist/component/clinics.js.map +0 -1
- package/dist/component/maintenanceTasks.d.ts +0 -733
- package/dist/component/maintenanceTasks.d.ts.map +0 -1
- package/dist/component/maintenanceTasks.js +0 -937
- package/dist/component/maintenanceTasks.js.map +0 -1
- package/src/component/clinics.ts +0 -136
- package/src/component/maintenanceTasks.ts +0 -1003
|
@@ -2,111 +2,49 @@ import { v } from 'convex/values';
|
|
|
2
2
|
import { query } from './_generated/server';
|
|
3
3
|
export const exportTickets = query({
|
|
4
4
|
args: {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
clinicIds: v.optional(v.array(v.id('clinics'))),
|
|
8
|
-
supplierIds: v.optional(v.array(v.id('suppliers'))),
|
|
9
|
-
createdByEmail: v.optional(v.string()),
|
|
10
|
-
ticketNumber: v.optional(v.string()),
|
|
11
|
-
dateFrom: v.optional(v.number()),
|
|
12
|
-
dateTo: v.optional(v.number()),
|
|
13
|
-
slaBreached: v.optional(v.boolean()),
|
|
14
|
-
isExternal: v.optional(v.boolean()),
|
|
15
|
-
needsAssignment: v.optional(v.boolean()),
|
|
16
|
-
hasDevice: v.optional(v.boolean()),
|
|
17
|
-
deviceCategory: v.optional(v.string()),
|
|
18
|
-
deviceBrand: v.optional(v.string()),
|
|
5
|
+
tickets: v.array(v.any()),
|
|
6
|
+
clinicDataMap: v.optional(v.any()),
|
|
19
7
|
},
|
|
20
8
|
handler: async (ctx, args) => {
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
tickets = tickets.filter(t => args.statuses.includes(t.status));
|
|
24
|
-
}
|
|
25
|
-
if (args.priorities && args.priorities.length > 0) {
|
|
26
|
-
tickets = tickets.filter(t => t.priority && args.priorities.includes(t.priority));
|
|
27
|
-
}
|
|
28
|
-
if (args.clinicIds && args.clinicIds.length > 0) {
|
|
29
|
-
tickets = tickets.filter(t => args.clinicIds.includes(t.clinicId));
|
|
30
|
-
}
|
|
31
|
-
if (args.supplierIds && args.supplierIds.length > 0) {
|
|
32
|
-
tickets = tickets.filter(t => t.supplierId && args.supplierIds.includes(t.supplierId));
|
|
33
|
-
}
|
|
34
|
-
if (args.createdByEmail) {
|
|
35
|
-
const emailLower = args.createdByEmail.toLowerCase();
|
|
36
|
-
tickets = tickets.filter(t => t.createdByEmail?.toLowerCase().includes(emailLower));
|
|
37
|
-
}
|
|
38
|
-
if (args.ticketNumber) {
|
|
39
|
-
const numLower = args.ticketNumber.toLowerCase();
|
|
40
|
-
tickets = tickets.filter(t => t.ticketNumber?.toLowerCase().includes(numLower));
|
|
41
|
-
}
|
|
42
|
-
if (args.dateFrom) {
|
|
43
|
-
tickets = tickets.filter(t => t.created_at >= args.dateFrom);
|
|
44
|
-
}
|
|
45
|
-
if (args.dateTo) {
|
|
46
|
-
tickets = tickets.filter(t => t.created_at <= args.dateTo);
|
|
47
|
-
}
|
|
48
|
-
if (args.slaBreached !== undefined) {
|
|
49
|
-
tickets = tickets.filter(t => t.slaBreached === args.slaBreached);
|
|
50
|
-
}
|
|
51
|
-
if (args.isExternal !== undefined) {
|
|
52
|
-
tickets = tickets.filter(t => t.isExternal === args.isExternal);
|
|
53
|
-
}
|
|
54
|
-
if (args.needsAssignment !== undefined) {
|
|
55
|
-
tickets = tickets.filter(t => t.needsAssignment === args.needsAssignment);
|
|
56
|
-
}
|
|
57
|
-
if (args.hasDevice !== undefined) {
|
|
58
|
-
if (args.hasDevice) {
|
|
59
|
-
tickets = tickets.filter(t => t.deviceId);
|
|
60
|
-
}
|
|
61
|
-
else {
|
|
62
|
-
tickets = tickets.filter(t => !t.deviceId);
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
const clinicIds = [...new Set(tickets.map(t => t.clinicId))].slice(0, 300);
|
|
66
|
-
const supplierIds = [...new Set(tickets.filter(t => t.supplierId).map(t => t.supplierId))].slice(0, 300);
|
|
67
|
-
const deviceIds = [...new Set(tickets.filter(t => t.deviceId).map(t => t.deviceId))].slice(0, 500);
|
|
68
|
-
const clinicsMap = new Map();
|
|
69
|
-
for (const id of clinicIds) {
|
|
70
|
-
const clinic = await ctx.db.get(id);
|
|
71
|
-
if (clinic)
|
|
72
|
-
clinicsMap.set(id, clinic);
|
|
73
|
-
}
|
|
9
|
+
const tickets = args.tickets;
|
|
10
|
+
const supplierIds = [...new Set(tickets.filter((t) => t.supplierId).map((t) => t.supplierId))].slice(0, 300);
|
|
74
11
|
const suppliersMap = new Map();
|
|
75
12
|
for (const id of supplierIds) {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
13
|
+
try {
|
|
14
|
+
const supplier = await ctx.db.get(id);
|
|
15
|
+
if (supplier)
|
|
16
|
+
suppliersMap.set(id, supplier);
|
|
17
|
+
}
|
|
18
|
+
catch { /* skip invalid IDs */ }
|
|
19
|
+
}
|
|
20
|
+
const ticketIds = tickets.map((t) => t._id?.toString() || t.ticketId);
|
|
21
|
+
const deviceDataEntries = await Promise.all(ticketIds.map(async (tid) => ctx.db.query('ticket_device_data')
|
|
22
|
+
.withIndex('by_ticketId', q => q.eq('ticketId', tid))
|
|
23
|
+
.first()));
|
|
24
|
+
const validDeviceData = deviceDataEntries.filter(Boolean);
|
|
25
|
+
const deviceDataMap = new Map(validDeviceData.map(d => [d.ticketId, d]));
|
|
26
|
+
const deviceIds = [...new Set(validDeviceData.filter((d) => d != null && !!d.deviceId).map(d => d.deviceId))].slice(0, 500);
|
|
80
27
|
const devicesMap = new Map();
|
|
81
28
|
for (const id of deviceIds) {
|
|
82
29
|
const device = await ctx.db.get(id);
|
|
83
30
|
if (device)
|
|
84
|
-
devicesMap.set(id, device);
|
|
31
|
+
devicesMap.set(id.toString(), device);
|
|
85
32
|
}
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
if (!device)
|
|
92
|
-
return false;
|
|
93
|
-
if (args.deviceCategory && device.category !== args.deviceCategory) {
|
|
94
|
-
return false;
|
|
95
|
-
}
|
|
96
|
-
if (args.deviceBrand && device.brand !== args.deviceBrand) {
|
|
97
|
-
return false;
|
|
98
|
-
}
|
|
99
|
-
return true;
|
|
100
|
-
});
|
|
33
|
+
const clinicsMap = new Map();
|
|
34
|
+
if (args.clinicDataMap && typeof args.clinicDataMap === 'object') {
|
|
35
|
+
for (const [id, data] of Object.entries(args.clinicDataMap)) {
|
|
36
|
+
clinicsMap.set(id, data);
|
|
37
|
+
}
|
|
101
38
|
}
|
|
102
39
|
const statuses = await ctx.db.query('ticket_statuses').collect();
|
|
103
40
|
const statusMap = new Map(statuses.map(s => [s.name, s.label]));
|
|
104
|
-
const enrichedTickets = tickets.map(t => {
|
|
41
|
+
const enrichedTickets = tickets.map((t) => {
|
|
105
42
|
const clinic = clinicsMap.get(t.clinicId);
|
|
106
43
|
const supplier = t.supplierId ? suppliersMap.get(t.supplierId) : null;
|
|
107
|
-
const
|
|
44
|
+
const dd = deviceDataMap.get(t._id?.toString() || t.ticketId);
|
|
45
|
+
const device = dd?.deviceId ? devicesMap.get(dd.deviceId.toString()) : null;
|
|
108
46
|
return {
|
|
109
|
-
_id: t._id,
|
|
47
|
+
_id: t._id || t.ticketId,
|
|
110
48
|
ticketNumber: t.ticketNumber || '-',
|
|
111
49
|
title: t.title || '-',
|
|
112
50
|
description: t.description,
|
|
@@ -114,11 +52,10 @@ export const exportTickets = query({
|
|
|
114
52
|
statusLabel: statusMap.get(t.status) || t.status,
|
|
115
53
|
priority: t.priority || '-',
|
|
116
54
|
createdByEmail: t.createdByEmail || '-',
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
updatedAtFormatted: new Date(t.updated_at).toLocaleString('it-IT'),
|
|
55
|
+
created_at: t.created_at || t.lastActivityAt,
|
|
56
|
+
createdAtFormatted: t.created_at ? new Date(t.created_at).toLocaleString('it-IT') : '-',
|
|
57
|
+
updated_at: t.updated_at || t.lastActivityAt,
|
|
58
|
+
updatedAtFormatted: t.updated_at ? new Date(t.updated_at).toLocaleString('it-IT') : '-',
|
|
122
59
|
clinicId: t.clinicId,
|
|
123
60
|
clinicName: clinic?.name || '-',
|
|
124
61
|
clinicAddress: clinic?.address || '-',
|
|
@@ -126,7 +63,7 @@ export const exportTickets = query({
|
|
|
126
63
|
supplierId: t.supplierId || null,
|
|
127
64
|
supplierName: supplier?.name || '-',
|
|
128
65
|
supplierEmail: supplier?.contact_email || '-',
|
|
129
|
-
deviceId:
|
|
66
|
+
deviceId: dd?.deviceId || null,
|
|
130
67
|
deviceName: device?.name || '-',
|
|
131
68
|
deviceCategory: device?.category || '-',
|
|
132
69
|
deviceBrand: device?.brand || '-',
|
|
@@ -135,18 +72,14 @@ export const exportTickets = query({
|
|
|
135
72
|
slaDeadline: t.slaDeadline || null,
|
|
136
73
|
slaDeadlineFormatted: t.slaDeadline ? new Date(t.slaDeadline).toLocaleString('it-IT') : '-',
|
|
137
74
|
slaBreached: t.slaBreached || false,
|
|
138
|
-
isExternal: t.
|
|
139
|
-
needsAssignment: t.needsAssignment || false,
|
|
75
|
+
isExternal: t.isExternalApi || false,
|
|
140
76
|
notes: t.notes || '-',
|
|
141
77
|
customFields: t.customFields || {},
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
importSource: t.importSource || '-',
|
|
145
|
-
photosCount: t.photos?.length || 0,
|
|
146
|
-
deviceQuestionAnswers: t.deviceQuestionAnswers || [],
|
|
78
|
+
photosCount: dd?.photoStorageIds?.length || 0,
|
|
79
|
+
deviceQuestionAnswers: dd?.deviceQuestionAnswers || [],
|
|
147
80
|
};
|
|
148
81
|
});
|
|
149
|
-
enrichedTickets.sort((a, b) => b.created_at - a.created_at);
|
|
82
|
+
enrichedTickets.sort((a, b) => (b.created_at || 0) - (a.created_at || 0));
|
|
150
83
|
return {
|
|
151
84
|
tickets: enrichedTickets,
|
|
152
85
|
totalCount: enrichedTickets.length,
|
|
@@ -154,12 +87,13 @@ export const exportTickets = query({
|
|
|
154
87
|
},
|
|
155
88
|
});
|
|
156
89
|
export const getFilterOptions = query({
|
|
157
|
-
args: {
|
|
158
|
-
|
|
90
|
+
args: {
|
|
91
|
+
clinics: v.optional(v.array(v.any())),
|
|
92
|
+
},
|
|
93
|
+
handler: async (ctx, args) => {
|
|
159
94
|
const statuses = await ctx.db.query('ticket_statuses').collect();
|
|
160
95
|
const statusOptions = statuses.map(s => ({ value: s.name, label: s.label }));
|
|
161
|
-
const
|
|
162
|
-
const clinicOptions = clinics.map(c => ({ value: c._id, label: c.name }));
|
|
96
|
+
const clinicOptions = args.clinics || [];
|
|
163
97
|
const suppliers = await ctx.db.query('suppliers').collect();
|
|
164
98
|
const supplierOptions = suppliers.map(s => ({ value: s._id, label: s.name }));
|
|
165
99
|
const deviceSample = await ctx.db.query('devices').take(2000);
|
|
@@ -172,7 +106,7 @@ export const getFilterOptions = query({
|
|
|
172
106
|
{ value: 'medium', label: 'Media' },
|
|
173
107
|
{ value: 'high', label: 'Alta' },
|
|
174
108
|
],
|
|
175
|
-
clinics: clinicOptions
|
|
109
|
+
clinics: clinicOptions,
|
|
176
110
|
suppliers: supplierOptions.sort((a, b) => a.label.localeCompare(b.label)),
|
|
177
111
|
deviceCategories: categories.sort(),
|
|
178
112
|
deviceBrands: brands.sort(),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ticketExport.js","sourceRoot":"","sources":["../../src/component/ticketExport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,MAAM,qBAAqB,CAAC;AAE5C,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,CAAC;IACjC,IAAI,EAAE;QACJ,
|
|
1
|
+
{"version":3,"file":"ticketExport.js","sourceRoot":"","sources":["../../src/component/ticketExport.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const getTicketHistory: import("convex/server").RegisteredQuery<"public", {
|
|
2
|
-
ticketId:
|
|
2
|
+
ticketId: string;
|
|
3
3
|
}, Promise<{
|
|
4
4
|
_id: import("convex/values").GenericId<"ticket_history">;
|
|
5
5
|
_creationTime: number;
|
|
@@ -16,7 +16,7 @@ export declare const getTicketHistory: import("convex/server").RegisteredQuery<"
|
|
|
16
16
|
performedByName?: string | undefined;
|
|
17
17
|
performedByEmail?: string | undefined;
|
|
18
18
|
timestamp: number;
|
|
19
|
-
ticketId:
|
|
19
|
+
ticketId: string;
|
|
20
20
|
eventType: "status_change" | "sla_warning" | "sla_breach" | "created" | "assignee_change" | "priority_change" | "trigger_executed" | "comment_added" | "sla_set" | "updated";
|
|
21
21
|
isSystemAction: boolean;
|
|
22
22
|
}[]>>;
|
|
@@ -33,7 +33,7 @@ export declare const addHistoryEntry: import("convex/server").RegisteredMutation
|
|
|
33
33
|
performedBy?: string | undefined;
|
|
34
34
|
performedByName?: string | undefined;
|
|
35
35
|
performedByEmail?: string | undefined;
|
|
36
|
-
ticketId:
|
|
36
|
+
ticketId: string;
|
|
37
37
|
eventType: "status_change" | "sla_warning" | "sla_breach" | "created" | "assignee_change" | "priority_change" | "trigger_executed" | "comment_added" | "sla_set" | "updated";
|
|
38
38
|
isSystemAction: boolean;
|
|
39
39
|
}, Promise<void>>;
|
|
@@ -51,7 +51,7 @@ export declare const recordHistoryEvent: import("convex/server").RegisteredMutat
|
|
|
51
51
|
performedByName?: string | undefined;
|
|
52
52
|
performedByEmail?: string | undefined;
|
|
53
53
|
isSystemAction?: boolean | undefined;
|
|
54
|
-
ticketId:
|
|
54
|
+
ticketId: string;
|
|
55
55
|
eventType: "status_change" | "sla_warning" | "sla_breach" | "created" | "assignee_change" | "priority_change" | "trigger_executed" | "comment_added" | "sla_set" | "updated";
|
|
56
56
|
}, Promise<void>>;
|
|
57
57
|
//# sourceMappingURL=ticketHistory.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ticketHistory.d.ts","sourceRoot":"","sources":["../../src/component/ticketHistory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ticketHistory.d.ts","sourceRoot":"","sources":["../../src/component/ticketHistory.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;;;KAW3B,CAAC;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;iBAmC1B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;iBAiD7B,CAAC"}
|
|
@@ -1,21 +1,19 @@
|
|
|
1
1
|
import { v } from 'convex/values';
|
|
2
2
|
import { query, mutation, internalMutation } from './_generated/server';
|
|
3
|
-
// Get ticket history (admin only)
|
|
4
3
|
export const getTicketHistory = query({
|
|
5
|
-
args: { ticketId: v.
|
|
4
|
+
args: { ticketId: v.string() },
|
|
6
5
|
handler: async (ctx, args) => {
|
|
7
6
|
const history = await ctx.db
|
|
8
7
|
.query('ticket_history')
|
|
9
|
-
.withIndex('
|
|
8
|
+
.withIndex('by_ticketId_timestamp', (q) => q.eq('ticketId', args.ticketId))
|
|
9
|
+
.order('desc')
|
|
10
10
|
.take(200);
|
|
11
|
-
|
|
12
|
-
return history.sort((a, b) => b.timestamp - a.timestamp);
|
|
11
|
+
return history;
|
|
13
12
|
},
|
|
14
13
|
});
|
|
15
|
-
// Add history entry (internal mutation - called by other functions)
|
|
16
14
|
export const addHistoryEntry = internalMutation({
|
|
17
15
|
args: {
|
|
18
|
-
ticketId: v.
|
|
16
|
+
ticketId: v.string(),
|
|
19
17
|
eventType: v.union(v.literal('created'), v.literal('status_change'), v.literal('assignee_change'), v.literal('priority_change'), v.literal('trigger_executed'), v.literal('comment_added'), v.literal('sla_set'), v.literal('sla_warning'), v.literal('sla_breach'), v.literal('updated')),
|
|
20
18
|
oldValue: v.optional(v.string()),
|
|
21
19
|
newValue: v.optional(v.string()),
|
|
@@ -38,10 +36,9 @@ export const addHistoryEntry = internalMutation({
|
|
|
38
36
|
});
|
|
39
37
|
},
|
|
40
38
|
});
|
|
41
|
-
// Public mutation to add history (for use from frontend/other mutations)
|
|
42
39
|
export const recordHistoryEvent = mutation({
|
|
43
40
|
args: {
|
|
44
|
-
ticketId: v.
|
|
41
|
+
ticketId: v.string(),
|
|
45
42
|
eventType: v.union(v.literal('created'), v.literal('status_change'), v.literal('assignee_change'), v.literal('priority_change'), v.literal('trigger_executed'), v.literal('comment_added'), v.literal('sla_set'), v.literal('sla_warning'), v.literal('sla_breach'), v.literal('updated')),
|
|
46
43
|
oldValue: v.optional(v.string()),
|
|
47
44
|
newValue: v.optional(v.string()),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ticketHistory.js","sourceRoot":"","sources":["../../src/component/ticketHistory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,eAAe,CAAC;AAClC,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAExE,
|
|
1
|
+
{"version":3,"file":"ticketHistory.js","sourceRoot":"","sources":["../../src/component/ticketHistory.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
export declare const listMacros: import("convex/server").RegisteredQuery<"public", {
|
|
2
|
-
userProfileId?:
|
|
2
|
+
userProfileId?: string | undefined;
|
|
3
3
|
}, Promise<{
|
|
4
4
|
creatorName: string;
|
|
5
|
-
creatorEmail:
|
|
5
|
+
creatorEmail: undefined;
|
|
6
6
|
isOwner: boolean;
|
|
7
7
|
_id: import("convex/values").GenericId<"ticket_macros">;
|
|
8
8
|
_creationTime: number;
|
|
@@ -10,19 +10,19 @@ export declare const listMacros: import("convex/server").RegisteredQuery<"public
|
|
|
10
10
|
name: string;
|
|
11
11
|
createdAt: number;
|
|
12
12
|
isActive: boolean;
|
|
13
|
-
createdBy:
|
|
13
|
+
createdBy: string;
|
|
14
14
|
updatedAt: number;
|
|
15
15
|
actions: {
|
|
16
16
|
changeStatus?: string | undefined;
|
|
17
17
|
assignSupplier?: import("convex/values").GenericId<"suppliers"> | undefined;
|
|
18
|
-
assignUser?:
|
|
18
|
+
assignUser?: string | undefined;
|
|
19
19
|
setSlaHours?: number | undefined;
|
|
20
20
|
applySlaRule?: boolean | undefined;
|
|
21
21
|
addNote?: string | undefined;
|
|
22
22
|
sendNotification?: {
|
|
23
23
|
recipients: ("admin" | "supplier" | "clinic" | {
|
|
24
24
|
supplierId?: import("convex/values").GenericId<"suppliers"> | undefined;
|
|
25
|
-
userId?:
|
|
25
|
+
userId?: string | undefined;
|
|
26
26
|
type: "admin" | "supplier" | "ticket_creator" | "ticket_assignee" | "specific_user" | "specific_supplier";
|
|
27
27
|
})[];
|
|
28
28
|
message: string;
|
|
@@ -32,7 +32,7 @@ export declare const listMacros: import("convex/server").RegisteredQuery<"public
|
|
|
32
32
|
isGlobal: boolean;
|
|
33
33
|
}[]>>;
|
|
34
34
|
export declare const listActiveMacros: import("convex/server").RegisteredQuery<"public", {
|
|
35
|
-
userProfileId?:
|
|
35
|
+
userProfileId?: string | undefined;
|
|
36
36
|
}, Promise<{
|
|
37
37
|
_id: import("convex/values").GenericId<"ticket_macros">;
|
|
38
38
|
name: string;
|
|
@@ -40,7 +40,7 @@ export declare const listActiveMacros: import("convex/server").RegisteredQuery<"
|
|
|
40
40
|
isGlobal: boolean;
|
|
41
41
|
}[]>>;
|
|
42
42
|
export declare const getMacro: import("convex/server").RegisteredQuery<"public", {
|
|
43
|
-
userProfileId?:
|
|
43
|
+
userProfileId?: string | undefined;
|
|
44
44
|
macroId: import("convex/values").GenericId<"ticket_macros">;
|
|
45
45
|
}, Promise<{
|
|
46
46
|
_id: import("convex/values").GenericId<"ticket_macros">;
|
|
@@ -49,19 +49,19 @@ export declare const getMacro: import("convex/server").RegisteredQuery<"public",
|
|
|
49
49
|
name: string;
|
|
50
50
|
createdAt: number;
|
|
51
51
|
isActive: boolean;
|
|
52
|
-
createdBy:
|
|
52
|
+
createdBy: string;
|
|
53
53
|
updatedAt: number;
|
|
54
54
|
actions: {
|
|
55
55
|
changeStatus?: string | undefined;
|
|
56
56
|
assignSupplier?: import("convex/values").GenericId<"suppliers"> | undefined;
|
|
57
|
-
assignUser?:
|
|
57
|
+
assignUser?: string | undefined;
|
|
58
58
|
setSlaHours?: number | undefined;
|
|
59
59
|
applySlaRule?: boolean | undefined;
|
|
60
60
|
addNote?: string | undefined;
|
|
61
61
|
sendNotification?: {
|
|
62
62
|
recipients: ("admin" | "supplier" | "clinic" | {
|
|
63
63
|
supplierId?: import("convex/values").GenericId<"suppliers"> | undefined;
|
|
64
|
-
userId?:
|
|
64
|
+
userId?: string | undefined;
|
|
65
65
|
type: "admin" | "supplier" | "ticket_creator" | "ticket_assignee" | "specific_user" | "specific_supplier";
|
|
66
66
|
})[];
|
|
67
67
|
message: string;
|
|
@@ -73,11 +73,11 @@ export declare const getMacro: import("convex/server").RegisteredQuery<"public",
|
|
|
73
73
|
export declare const createMacro: import("convex/server").RegisteredMutation<"public", {
|
|
74
74
|
description?: string | undefined;
|
|
75
75
|
name: string;
|
|
76
|
-
createdBy:
|
|
76
|
+
createdBy: string;
|
|
77
77
|
actions: {
|
|
78
78
|
changeStatus?: string | undefined;
|
|
79
79
|
assignSupplier?: import("convex/values").GenericId<"suppliers"> | undefined;
|
|
80
|
-
assignUser?:
|
|
80
|
+
assignUser?: string | undefined;
|
|
81
81
|
setSlaHours?: number | undefined;
|
|
82
82
|
applySlaRule?: boolean | undefined;
|
|
83
83
|
addNote?: string | undefined;
|
|
@@ -96,7 +96,7 @@ export declare const updateMacro: import("convex/server").RegisteredMutation<"pu
|
|
|
96
96
|
actions?: {
|
|
97
97
|
changeStatus?: string | undefined;
|
|
98
98
|
assignSupplier?: import("convex/values").GenericId<"suppliers"> | undefined;
|
|
99
|
-
assignUser?:
|
|
99
|
+
assignUser?: string | undefined;
|
|
100
100
|
setSlaHours?: number | undefined;
|
|
101
101
|
applySlaRule?: boolean | undefined;
|
|
102
102
|
addNote?: string | undefined;
|
|
@@ -121,21 +121,22 @@ export declare const toggleMacro: import("convex/server").RegisteredMutation<"pu
|
|
|
121
121
|
success: boolean;
|
|
122
122
|
}>>;
|
|
123
123
|
export declare const duplicateMacro: import("convex/server").RegisteredMutation<"public", {
|
|
124
|
-
createdBy:
|
|
124
|
+
createdBy: string;
|
|
125
125
|
macroId: import("convex/values").GenericId<"ticket_macros">;
|
|
126
126
|
newName: string;
|
|
127
127
|
}, Promise<import("convex/values").GenericId<"ticket_macros">>>;
|
|
128
128
|
export declare const executeMacro: import("convex/server").RegisteredMutation<"public", {
|
|
129
|
-
userAuth0Id?: string | undefined;
|
|
130
129
|
userEmail?: string | undefined;
|
|
131
130
|
userName?: string | undefined;
|
|
132
|
-
|
|
133
|
-
|
|
131
|
+
userAuth0Id?: string | undefined;
|
|
132
|
+
userProfileId?: string | undefined;
|
|
133
|
+
ticketId: string;
|
|
134
134
|
macroId: import("convex/values").GenericId<"ticket_macros">;
|
|
135
135
|
}, Promise<{
|
|
136
136
|
success: boolean;
|
|
137
|
-
ticketId:
|
|
137
|
+
ticketId: string;
|
|
138
138
|
macroName: string;
|
|
139
139
|
executedActions: string[];
|
|
140
|
+
ticketUpdates: any;
|
|
140
141
|
}>>;
|
|
141
142
|
//# sourceMappingURL=ticketMacros.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ticketMacros.d.ts","sourceRoot":"","sources":["../../src/component/ticketMacros.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ticketMacros.d.ts","sourceRoot":"","sources":["../../src/component/ticketMacros.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAkBrB,CAAC;AAEH,eAAO,MAAM,gBAAgB;;;;;;;KAmB3B,CAAC;AAEH,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiBnB,CAAC;AAEH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;+DAkCtB,CAAC;AAEH,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;+DAqCtB,CAAC;AAEH,eAAO,MAAM,WAAW;;;;GAWtB,CAAC;AAEH,eAAO,MAAM,WAAW;;;;;GAkBtB,CAAC;AAEH,eAAO,MAAM,cAAc;;;;+DAyBzB,CAAC;AAEH,eAAO,MAAM,YAAY;;;;;;;;;;;;;GAgFvB,CAAC"}
|