@managemint-solutions/sdk 0.19.0 → 0.20.0
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.d.ts +2 -0
- package/dist/client.js +3 -0
- package/dist/client.js.map +1 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.js +12 -1
- package/dist/index.js.map +1 -1
- package/dist/notifications/index.d.ts +8 -0
- package/dist/notifications/index.js +17 -2
- package/dist/notifications/index.js.map +1 -1
- package/dist/service-client/index.d.ts +2 -0
- package/dist/service-client/index.js +7 -0
- package/dist/service-client/index.js.map +1 -1
- package/dist/support/tickets/dto.d.ts +33 -0
- package/dist/support/tickets/dto.js +141 -0
- package/dist/support/tickets/dto.js.map +1 -0
- package/dist/support/tickets/index.d.ts +161 -0
- package/dist/support/tickets/index.js +443 -0
- package/dist/support/tickets/index.js.map +1 -0
- package/dist/users/dto.d.ts +27 -1
- package/dist/users/dto.js +117 -1
- package/dist/users/dto.js.map +1 -1
- package/dist/users/index.d.ts +13 -0
- package/dist/users/index.js +32 -0
- package/dist/users/index.js.map +1 -1
- package/dist/users/paths.d.ts +24 -0
- package/dist/users/paths.js +39 -0
- package/dist/users/paths.js.map +1 -0
- package/package.json +8 -3
package/dist/client.d.ts
CHANGED
|
@@ -10,6 +10,7 @@ import { OrganizationsResource } from './organizations';
|
|
|
10
10
|
import { PermissionsResource } from './permissions';
|
|
11
11
|
import { ProjectsResource } from './projects';
|
|
12
12
|
import { StatusesResource } from './statuses';
|
|
13
|
+
import { SupportTicketsResource } from './support/tickets';
|
|
13
14
|
import { SupportingFilesResource } from './supporting-files';
|
|
14
15
|
import { TasksResource } from './tasks';
|
|
15
16
|
import { UsersResource } from './users';
|
|
@@ -49,6 +50,7 @@ export declare class SupabaseClient {
|
|
|
49
50
|
readonly permissions: PermissionsResource;
|
|
50
51
|
readonly users: UsersResource;
|
|
51
52
|
readonly supportingFiles: SupportingFilesResource;
|
|
53
|
+
readonly supportTickets: SupportTicketsResource;
|
|
52
54
|
readonly clients: ClientsResource;
|
|
53
55
|
readonly projects: ProjectsResource;
|
|
54
56
|
readonly tasks: TasksResource;
|
package/dist/client.js
CHANGED
|
@@ -12,6 +12,7 @@ const organizations_1 = require("./organizations");
|
|
|
12
12
|
const permissions_1 = require("./permissions");
|
|
13
13
|
const projects_1 = require("./projects");
|
|
14
14
|
const statuses_1 = require("./statuses");
|
|
15
|
+
const tickets_1 = require("./support/tickets");
|
|
15
16
|
const supporting_files_1 = require("./supporting-files");
|
|
16
17
|
const tasks_1 = require("./tasks");
|
|
17
18
|
const users_1 = require("./users");
|
|
@@ -33,6 +34,7 @@ class SupabaseClient {
|
|
|
33
34
|
permissions;
|
|
34
35
|
users;
|
|
35
36
|
supportingFiles;
|
|
37
|
+
supportTickets;
|
|
36
38
|
clients;
|
|
37
39
|
projects;
|
|
38
40
|
tasks;
|
|
@@ -51,6 +53,7 @@ class SupabaseClient {
|
|
|
51
53
|
this.permissions = new permissions_1.PermissionsResource(this.supabase, this.auth, this.audit);
|
|
52
54
|
this.users = new users_1.UsersResource(this.supabase, this.auth, this.audit);
|
|
53
55
|
this.supportingFiles = new supporting_files_1.SupportingFilesResource(this.supabase, this.auth, this.audit);
|
|
56
|
+
this.supportTickets = new tickets_1.SupportTicketsResource(this.supabase, this.auth, this.audit);
|
|
54
57
|
this.clients = new clients_1.ClientsResource(this.supabase, this.auth, this.audit);
|
|
55
58
|
this.projects = new projects_1.ProjectsResource(this.supabase, this.auth, this.audit);
|
|
56
59
|
this.tasks = new tasks_1.TasksResource(this.supabase, this.auth, this.audit);
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -34,11 +34,14 @@ export type { PermissionFlags } from './permissions';
|
|
|
34
34
|
export { UpdatePermissionsDto } from './permissions';
|
|
35
35
|
export { UsersResource } from './users';
|
|
36
36
|
export type { UserRow } from './users';
|
|
37
|
-
export { AddUserDto, GetUsersQueryDto, UpdateUserDto, UserIdDto } from './users';
|
|
37
|
+
export { AddUserDto, GetUsersQueryDto, UpdateMyProfileDto, UpdateUserDto, UserIdDto, } from './users';
|
|
38
38
|
export { WebhookEventsResource } from './webhook-events';
|
|
39
39
|
export type { ClaimOutcome, WebhookEventRow, WebhookEventsTable } from './webhook-events';
|
|
40
40
|
export { SupportingFilesResource } from './supporting-files';
|
|
41
41
|
export { GetSupportingFilesDto, SupportingFileIdDto } from './supporting-files';
|
|
42
|
+
export { SupportTicketsResource, SupportTicketsAdminResource } from './support/tickets';
|
|
43
|
+
export type { SupportAgentMessageInput, SupportAuditedTableFactory, SupportInboundMessageInput, SupportTicketAdminSummary, SupportTicketWithSecrets, } from './support/tickets';
|
|
44
|
+
export { AssignSupportTicketDto, CreateSupportTicketDto, GetSupportTicketsDto, ReplySupportTicketDto, SupportAttachmentDto, SupportTicketIdDto, } from './support/tickets';
|
|
42
45
|
export { ClientsResource } from './clients';
|
|
43
46
|
export { ClientIdDto, CreateClientDto, GetClientsDto, UpdateClientDto } from './clients';
|
|
44
47
|
export { ProjectsResource } from './projects';
|
package/dist/index.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
// reachable only from inside. The `./nest` entrypoint is listed separately, in src/nest/index.ts.
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.UsersResource = exports.UpdatePermissionsDto = exports.PermissionsResource = exports.UpdateOrganizationDto = exports.CreateOrganizationDto = exports.OrganizationSignupResource = exports.OrganizationsResource = exports.OrganizationInvitesResource = exports.NotificationIdDto = exports.GetNotificationsDto = exports.NotificationsOutboxResource = exports.NotificationsResource = exports.NoteIdDto = exports.GetNotesDto = exports.AddNoteDto = exports.NotesResource = exports.UpdateAdditionalDetailsDto = exports.IsAdditionalDetailsValueByType = exports.GetAdditionalDetailsDto = exports.AdditionalDetailsIdDto = exports.AddAdditionalDetailsDto = exports.AdditionalDetailsResource = exports.UpdateStatusDto = exports.StatusIdDto = exports.GetStatusesDto = exports.AddStatusDto = exports.StatusesResource = exports.ReinstateSubscriptionDto = exports.PurchaseModuleDto = exports.InitialPaymentDto = exports.CancelSubscriptionDto = exports.BillingResource = exports.BillingReadsResource = exports.GetAuditTrailDto = exports.AuditResource = exports.IsNullable = exports.SupabaseClientError = exports.createSupabaseServiceClient = exports.SupabaseOrganizationScope = exports.SupabaseServiceClient = exports.SignInDto = exports.SendPasswordResetEmailDto = exports.ResetPasswordDto = exports.ExchangeTokenHashDto = exports.ExchangeRefreshTokenDto = exports.createSupabaseAuthClient = exports.SupabaseAuthClient = exports.verifyAccessToken = exports.createSupabaseClient = exports.SupabaseClient = void 0;
|
|
7
|
-
exports.monthlyTotalMinor = exports.PricebooksResource = exports.UpdateTaskDto = exports.TaskIdDto = exports.GetTasksDto = exports.CreateTaskDto = exports.TasksResource = exports.UpdateProjectDto = exports.ProjectIdDto = exports.GetProjectsDto = exports.CreateProjectDto = exports.ProjectsResource = exports.UpdateClientDto = exports.GetClientsDto = exports.CreateClientDto = exports.ClientIdDto = exports.ClientsResource = exports.SupportingFileIdDto = exports.GetSupportingFilesDto = exports.SupportingFilesResource = exports.WebhookEventsResource = exports.UserIdDto = exports.UpdateUserDto = exports.GetUsersQueryDto = exports.AddUserDto = void 0;
|
|
7
|
+
exports.monthlyTotalMinor = exports.PricebooksResource = exports.UpdateTaskDto = exports.TaskIdDto = exports.GetTasksDto = exports.CreateTaskDto = exports.TasksResource = exports.UpdateProjectDto = exports.ProjectIdDto = exports.GetProjectsDto = exports.CreateProjectDto = exports.ProjectsResource = exports.UpdateClientDto = exports.GetClientsDto = exports.CreateClientDto = exports.ClientIdDto = exports.ClientsResource = exports.SupportTicketIdDto = exports.SupportAttachmentDto = exports.ReplySupportTicketDto = exports.GetSupportTicketsDto = exports.CreateSupportTicketDto = exports.AssignSupportTicketDto = exports.SupportTicketsAdminResource = exports.SupportTicketsResource = exports.SupportingFileIdDto = exports.GetSupportingFilesDto = exports.SupportingFilesResource = exports.WebhookEventsResource = exports.UserIdDto = exports.UpdateUserDto = exports.UpdateMyProfileDto = exports.GetUsersQueryDto = exports.AddUserDto = void 0;
|
|
8
8
|
var client_1 = require("./client");
|
|
9
9
|
Object.defineProperty(exports, "SupabaseClient", { enumerable: true, get: function () { return client_1.SupabaseClient; } });
|
|
10
10
|
Object.defineProperty(exports, "createSupabaseClient", { enumerable: true, get: function () { return client_1.createSupabaseClient; } });
|
|
@@ -83,6 +83,7 @@ Object.defineProperty(exports, "UsersResource", { enumerable: true, get: functio
|
|
|
83
83
|
var users_2 = require("./users");
|
|
84
84
|
Object.defineProperty(exports, "AddUserDto", { enumerable: true, get: function () { return users_2.AddUserDto; } });
|
|
85
85
|
Object.defineProperty(exports, "GetUsersQueryDto", { enumerable: true, get: function () { return users_2.GetUsersQueryDto; } });
|
|
86
|
+
Object.defineProperty(exports, "UpdateMyProfileDto", { enumerable: true, get: function () { return users_2.UpdateMyProfileDto; } });
|
|
86
87
|
Object.defineProperty(exports, "UpdateUserDto", { enumerable: true, get: function () { return users_2.UpdateUserDto; } });
|
|
87
88
|
Object.defineProperty(exports, "UserIdDto", { enumerable: true, get: function () { return users_2.UserIdDto; } });
|
|
88
89
|
var webhook_events_1 = require("./webhook-events");
|
|
@@ -92,6 +93,16 @@ Object.defineProperty(exports, "SupportingFilesResource", { enumerable: true, ge
|
|
|
92
93
|
var supporting_files_2 = require("./supporting-files");
|
|
93
94
|
Object.defineProperty(exports, "GetSupportingFilesDto", { enumerable: true, get: function () { return supporting_files_2.GetSupportingFilesDto; } });
|
|
94
95
|
Object.defineProperty(exports, "SupportingFileIdDto", { enumerable: true, get: function () { return supporting_files_2.SupportingFileIdDto; } });
|
|
96
|
+
var tickets_1 = require("./support/tickets");
|
|
97
|
+
Object.defineProperty(exports, "SupportTicketsResource", { enumerable: true, get: function () { return tickets_1.SupportTicketsResource; } });
|
|
98
|
+
Object.defineProperty(exports, "SupportTicketsAdminResource", { enumerable: true, get: function () { return tickets_1.SupportTicketsAdminResource; } });
|
|
99
|
+
var tickets_2 = require("./support/tickets");
|
|
100
|
+
Object.defineProperty(exports, "AssignSupportTicketDto", { enumerable: true, get: function () { return tickets_2.AssignSupportTicketDto; } });
|
|
101
|
+
Object.defineProperty(exports, "CreateSupportTicketDto", { enumerable: true, get: function () { return tickets_2.CreateSupportTicketDto; } });
|
|
102
|
+
Object.defineProperty(exports, "GetSupportTicketsDto", { enumerable: true, get: function () { return tickets_2.GetSupportTicketsDto; } });
|
|
103
|
+
Object.defineProperty(exports, "ReplySupportTicketDto", { enumerable: true, get: function () { return tickets_2.ReplySupportTicketDto; } });
|
|
104
|
+
Object.defineProperty(exports, "SupportAttachmentDto", { enumerable: true, get: function () { return tickets_2.SupportAttachmentDto; } });
|
|
105
|
+
Object.defineProperty(exports, "SupportTicketIdDto", { enumerable: true, get: function () { return tickets_2.SupportTicketIdDto; } });
|
|
95
106
|
var clients_1 = require("./clients");
|
|
96
107
|
Object.defineProperty(exports, "ClientsResource", { enumerable: true, get: function () { return clients_1.ClientsResource; } });
|
|
97
108
|
var clients_2 = require("./clients");
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA,kGAAkG;AAClG,8FAA8F;AAC9F,kGAAkG;;;;AAElG,mCAAgE;AAAvD,wGAAA,cAAc,OAAA;AAAE,8GAAA,oBAAoB,OAAA;AAG7C,+BAA2C;AAAlC,yGAAA,iBAAiB,OAAA;AAG1B,6CAA6E;AAApE,iHAAA,kBAAkB,OAAA;AAAE,uHAAA,wBAAwB,OAAA;AAErD,6CAMuB;AALrB,sHAAA,uBAAuB,OAAA;AACvB,mHAAA,oBAAoB,OAAA;AACpB,+GAAA,gBAAgB,OAAA;AAChB,wHAAA,yBAAyB,OAAA;AACzB,wGAAA,SAAS,OAAA;AAGX,mDAI0B;AAHxB,uHAAA,qBAAqB,OAAA;AACrB,2HAAA,yBAAyB,OAAA;AACzB,6HAAA,2BAA2B,OAAA;AAI7B,mCAA+C;AAAtC,6GAAA,mBAAmB,OAAA;AAG5B,2CAA0C;AAAjC,wGAAA,UAAU,OAAA;AAEnB,iCAAwC;AAA/B,sGAAA,aAAa,OAAA;AAWtB,iCAA2C;AAAlC,yGAAA,gBAAgB,OAAA;AAEzB,qCAAkE;AAAzD,+GAAA,oBAAoB,OAAA;AAAE,0GAAA,eAAe,OAAA;AAC9C,qCAKmB;AAJjB,gHAAA,qBAAqB,OAAA;AACrB,4GAAA,iBAAiB,OAAA;AACjB,4GAAA,iBAAiB,OAAA;AACjB,mHAAA,wBAAwB,OAAA;AAG1B,uCAA8C;AAArC,4GAAA,gBAAgB,OAAA;AACzB,uCAAwF;AAA/E,wGAAA,YAAY,OAAA;AAAE,0GAAA,cAAc,OAAA;AAAE,uGAAA,WAAW,OAAA;AAAE,2GAAA,eAAe,OAAA;AAEnE,2DAAiE;AAAxD,+HAAA,yBAAyB,OAAA;AAClC,2DAM8B;AAL5B,6HAAA,uBAAuB,OAAA;AACvB,4HAAA,sBAAsB,OAAA;AACtB,6HAAA,uBAAuB,OAAA;AACvB,oIAAA,8BAA8B,OAAA;AAC9B,gIAAA,0BAA0B,OAAA;AAG5B,iCAAwC;AAA/B,sGAAA,aAAa,OAAA;AACtB,iCAA6D;AAApD,mGAAA,UAAU,OAAA;AAAE,oGAAA,WAAW,OAAA;AAAE,kGAAA,SAAS,OAAA;AAE3C,iDAAqF;AAA5E,sHAAA,qBAAqB,OAAA;AAAE,4HAAA,2BAA2B,OAAA;AAQ3D,iDAAyE;AAAhE,oHAAA,mBAAmB,OAAA;AAAE,kHAAA,iBAAiB,OAAA;AAE/C,+DAAqE;AAA5D,mIAAA,2BAA2B,OAAA;AAGpC,iDAAoF;AAA3E,sHAAA,qBAAqB,OAAA;AAAE,2HAAA,0BAA0B,OAAA;AAE1D,iDAA+E;AAAtE,sHAAA,qBAAqB,OAAA;AAAE,sHAAA,qBAAqB,OAAA;AAErD,6CAAoD;AAA3C,kHAAA,mBAAmB,OAAA;AAE5B,6CAAqD;AAA5C,mHAAA,oBAAoB,OAAA;AAE7B,iCAAwC;AAA/B,sGAAA,aAAa,OAAA;AAEtB,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -17,10 +17,17 @@ export type CreateNotificationInput = {
|
|
|
17
17
|
recipient_id?: string;
|
|
18
18
|
recipient_email?: string;
|
|
19
19
|
recipient_phone?: string;
|
|
20
|
+
/**
|
|
21
|
+
* Where a reply to this mail should go. Support sets it to the ticket's own
|
|
22
|
+
* `support+<email_token>@…` address, which is what makes replying by email land back on the
|
|
23
|
+
* thread; everything else leaves it unset and replies go to the sending address.
|
|
24
|
+
*/
|
|
25
|
+
reply_to?: string;
|
|
20
26
|
};
|
|
21
27
|
export type CreatedNotification = NotificationEntity & {
|
|
22
28
|
organization_id: string | null;
|
|
23
29
|
provider_message_id: string | null;
|
|
30
|
+
reply_to: string | null;
|
|
24
31
|
};
|
|
25
32
|
/** The columns the queue worker needs to decide whether and how to send. */
|
|
26
33
|
export type QueuedNotification = {
|
|
@@ -31,6 +38,7 @@ export type QueuedNotification = {
|
|
|
31
38
|
template_id: string | null;
|
|
32
39
|
template_variables: Record<string, string>;
|
|
33
40
|
recipient_email: string | null;
|
|
41
|
+
reply_to: string | null;
|
|
34
42
|
attempts: number;
|
|
35
43
|
sent_at: string | null;
|
|
36
44
|
deleted: boolean;
|
|
@@ -69,7 +69,22 @@ const NOTIFICATION_CREATED_SELECT = `
|
|
|
69
69
|
failure_reason,
|
|
70
70
|
provider,
|
|
71
71
|
provider_message_id,
|
|
72
|
-
delivered_at
|
|
72
|
+
delivered_at,
|
|
73
|
+
reply_to
|
|
74
|
+
`;
|
|
75
|
+
/** The columns the queue worker loads before it decides whether and how to send. */
|
|
76
|
+
const NOTIFICATION_DELIVERY_SELECT = `
|
|
77
|
+
mms_id,
|
|
78
|
+
organization_id,
|
|
79
|
+
status,
|
|
80
|
+
channel,
|
|
81
|
+
template_id,
|
|
82
|
+
template_variables,
|
|
83
|
+
recipient_email,
|
|
84
|
+
reply_to,
|
|
85
|
+
attempts,
|
|
86
|
+
sent_at,
|
|
87
|
+
deleted
|
|
73
88
|
`;
|
|
74
89
|
const NOTIFICATIONS_TABLE = {
|
|
75
90
|
table: 'notifications',
|
|
@@ -264,7 +279,7 @@ class NotificationsOutboxResource {
|
|
|
264
279
|
async loadForDelivery(notificationId) {
|
|
265
280
|
const { data, error } = await this.supabase
|
|
266
281
|
.from('notifications')
|
|
267
|
-
.select(
|
|
282
|
+
.select(NOTIFICATION_DELIVERY_SELECT)
|
|
268
283
|
.eq('mms_id', notificationId)
|
|
269
284
|
.maybeSingle();
|
|
270
285
|
if (error)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/notifications/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAMA,4EAI2D;AAC3D,0EAAyG;AAGzG,oCAA8F;AAE9F,sCAA8C;AAC9C,8CAAmD;AAGnD,wCAAsB;AAEtB,+FAA+F;AAC/F,2FAA2F;AAC3F,MAAM,wBAAwB,GAAG;;;;;;;;;;;;OAYjB,CAAC;AAEjB,MAAM,0BAA0B,GAAG;;;;;;;;;;;;;;;;OAgBnB,CAAC;AAEjB,gFAAgF;AAChF,MAAM,2BAA2B,GAAG
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/notifications/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,7 @@ import { NotificationsOutboxResource } from '../notifications';
|
|
|
5
5
|
import { OrganizationInvitesResource } from '../organization-invites';
|
|
6
6
|
import { OrganizationsResource, OrganizationSignupResource } from '../organizations';
|
|
7
7
|
import { PermissionsResource } from '../permissions';
|
|
8
|
+
import { SupportTicketsAdminResource } from '../support/tickets';
|
|
8
9
|
import { UsersResource } from '../users';
|
|
9
10
|
import { WebhookEventsResource } from '../webhook-events';
|
|
10
11
|
export type SupabaseServiceClientConfig = {
|
|
@@ -53,6 +54,7 @@ export declare class SupabaseServiceClient {
|
|
|
53
54
|
readonly signup: OrganizationSignupResource;
|
|
54
55
|
readonly paystackEvents: WebhookEventsResource;
|
|
55
56
|
readonly resendEvents: WebhookEventsResource;
|
|
57
|
+
readonly supportTicketsAdmin: SupportTicketsAdminResource;
|
|
56
58
|
constructor(config: SupabaseServiceClientConfig);
|
|
57
59
|
/**
|
|
58
60
|
* Scope to one organization once it is known. `actorMmsId` stays `null` for system work —
|
|
@@ -10,6 +10,7 @@ const errors_1 = require("../errors");
|
|
|
10
10
|
const organization_invites_1 = require("../organization-invites");
|
|
11
11
|
const organizations_1 = require("../organizations");
|
|
12
12
|
const permissions_1 = require("../permissions");
|
|
13
|
+
const tickets_1 = require("../support/tickets");
|
|
13
14
|
const users_1 = require("../users");
|
|
14
15
|
const webhook_events_1 = require("../webhook-events");
|
|
15
16
|
/**
|
|
@@ -63,6 +64,7 @@ class SupabaseServiceClient {
|
|
|
63
64
|
signup;
|
|
64
65
|
paystackEvents;
|
|
65
66
|
resendEvents;
|
|
67
|
+
supportTicketsAdmin;
|
|
66
68
|
constructor(config) {
|
|
67
69
|
this.config = config;
|
|
68
70
|
this.supabase = (0, auth_1.createRawClient)(config.url, config.serviceRoleKey);
|
|
@@ -75,6 +77,11 @@ class SupabaseServiceClient {
|
|
|
75
77
|
table: 'notifications',
|
|
76
78
|
entityType: enum_1.AuditTrailEntityType.NOTIFICATION,
|
|
77
79
|
}));
|
|
80
|
+
// Support spans organizations too — an inbound email knows only a reply token, and the ticket
|
|
81
|
+
// it matches is what supplies the tenant — so this takes the same kind of factory. Its writes
|
|
82
|
+
// name an actor as well: an inbound client mail is attributed to the user it was matched to,
|
|
83
|
+
// agent and system work to nobody.
|
|
84
|
+
this.supportTicketsAdmin = new tickets_1.SupportTicketsAdminResource(this.supabase, (organizationId, actorMmsId, options) => this.forOrganization(organizationId, actorMmsId).table(options));
|
|
78
85
|
}
|
|
79
86
|
/**
|
|
80
87
|
* Scope to one organization once it is known. `actorMmsId` stays `null` for system work —
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/service-client/index.ts"],"names":[],"mappings":";;;AAAA,kCAA0C;AAC1C,oCAQkB;AAClB,0EAAuF;AAEvF,wCAA6C;AAC7C,oDAA+D;AAC/D,sCAA8C;AAC9C,kEAAsE;AACtE,oDAAqF;AACrF,gDAAqD;AACrD,oCAAyC;AACzC,sDAA0D;AAU1D;;;;GAIG;AACH,MAAa,yBAAyB;IASjB;IACR;IATF,KAAK,CAAgB;IACrB,OAAO,CAAkB;IACzB,OAAO,CAA8B;IACrC,aAAa,CAAwB;IACrC,WAAW,CAAsB;IACjC,KAAK,CAAgB;IAE9B,YACmB,QAA6B,EACrC,KAAiB,EAC1B,YAAgC;QAFf,aAAQ,GAAR,QAAQ,CAAqB;QACrC,UAAK,GAAL,KAAK,CAAY;QAG1B,IAAI,CAAC,KAAK,GAAG,IAAI,qBAAa,CAAC,QAAQ,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;QAC9D,IAAI,CAAC,OAAO,GAAG,IAAI,yBAAe,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAChE,IAAI,CAAC,OAAO,GAAG,IAAI,kDAA2B,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;QAChE,IAAI,CAAC,aAAa,GAAG,IAAI,qCAAqB,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QAC5E,IAAI,CAAC,WAAW,GAAG,IAAI,iCAAmB,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;QACxE,IAAI,CAAC,KAAK,GAAG,IAAI,qBAAa,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,CAAC;IAC9D,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,OAA4B;QAChC,OAAO,IAAA,oBAAY,EAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;CACF;AA7BD,8DA6BC;AAED;;;;;;;;;GASG;AACH,MAAa,qBAAqB;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/service-client/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { SupportAttachment } from '@managemint-solutions/entities/support/tickets';
|
|
2
|
+
import type { AssignSupportTicketDto as AssignSupportTicketDtoType, CreateSupportTicketDto as CreateSupportTicketDtoType, GetSupportTicketsDto as GetSupportTicketsDtoType, ReplySupportTicketDto as ReplySupportTicketDtoType, SupportTicketIdDto as SupportTicketIdDtoType } from '@managemint-solutions/entities/support/tickets/dto';
|
|
3
|
+
import { SupportTicketCategory, SupportTicketPriority, SupportTicketStatus } from '@managemint-solutions/entities/support/tickets/enum';
|
|
4
|
+
/**
|
|
5
|
+
* One already-uploaded file, as the upload route handed it back. `url` is deliberately absent:
|
|
6
|
+
* it is a short-lived signed link minted when a ticket is read, never stored and never sent in.
|
|
7
|
+
*/
|
|
8
|
+
export declare class SupportAttachmentDto implements SupportAttachment {
|
|
9
|
+
readonly path: string;
|
|
10
|
+
readonly filename: string;
|
|
11
|
+
readonly size: number;
|
|
12
|
+
readonly content_type: string;
|
|
13
|
+
}
|
|
14
|
+
export declare class SupportTicketIdDto implements SupportTicketIdDtoType {
|
|
15
|
+
readonly ticketId: string;
|
|
16
|
+
}
|
|
17
|
+
export declare class GetSupportTicketsDto implements GetSupportTicketsDtoType {
|
|
18
|
+
readonly status?: SupportTicketStatus | null;
|
|
19
|
+
}
|
|
20
|
+
export declare class CreateSupportTicketDto implements CreateSupportTicketDtoType {
|
|
21
|
+
readonly subject: string;
|
|
22
|
+
readonly description: string;
|
|
23
|
+
readonly priority?: SupportTicketPriority | null;
|
|
24
|
+
readonly category?: SupportTicketCategory | null;
|
|
25
|
+
readonly attachments?: SupportAttachmentDto[] | null;
|
|
26
|
+
}
|
|
27
|
+
export declare class ReplySupportTicketDto implements ReplySupportTicketDtoType {
|
|
28
|
+
readonly body: string;
|
|
29
|
+
readonly attachments?: SupportAttachmentDto[] | null;
|
|
30
|
+
}
|
|
31
|
+
export declare class AssignSupportTicketDto implements AssignSupportTicketDtoType {
|
|
32
|
+
readonly assigned_to: string;
|
|
33
|
+
}
|
|
@@ -0,0 +1,141 @@
|
|
|
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.AssignSupportTicketDto = exports.ReplySupportTicketDto = exports.CreateSupportTicketDto = exports.GetSupportTicketsDto = exports.SupportTicketIdDto = exports.SupportAttachmentDto = void 0;
|
|
13
|
+
const class_transformer_1 = require("class-transformer");
|
|
14
|
+
const class_validator_1 = require("class-validator");
|
|
15
|
+
const enum_1 = require("@managemint-solutions/entities/support/tickets/enum");
|
|
16
|
+
const validators_1 = require("../../validators");
|
|
17
|
+
// class-validator versions of the shared DTO types from @managemint-solutions/entities.
|
|
18
|
+
// Each class `implements` its entities type so the wire contract cannot drift.
|
|
19
|
+
/**
|
|
20
|
+
* One already-uploaded file, as the upload route handed it back. `url` is deliberately absent:
|
|
21
|
+
* it is a short-lived signed link minted when a ticket is read, never stored and never sent in.
|
|
22
|
+
*/
|
|
23
|
+
class SupportAttachmentDto {
|
|
24
|
+
path;
|
|
25
|
+
filename;
|
|
26
|
+
size;
|
|
27
|
+
content_type;
|
|
28
|
+
}
|
|
29
|
+
exports.SupportAttachmentDto = SupportAttachmentDto;
|
|
30
|
+
__decorate([
|
|
31
|
+
(0, class_validator_1.IsString)({ message: 'Invalid attachment path' }),
|
|
32
|
+
(0, class_validator_1.MinLength)(1, { message: 'Attachment path cannot be empty' }),
|
|
33
|
+
(0, class_validator_1.MaxLength)(1024, { message: 'Attachment path cannot exceed 1024 characters' }),
|
|
34
|
+
__metadata("design:type", String)
|
|
35
|
+
], SupportAttachmentDto.prototype, "path", void 0);
|
|
36
|
+
__decorate([
|
|
37
|
+
(0, class_validator_1.IsString)({ message: 'Invalid attachment file name' }),
|
|
38
|
+
(0, class_validator_1.MinLength)(1, { message: 'Attachment file name cannot be empty' }),
|
|
39
|
+
(0, class_validator_1.MaxLength)(255, { message: 'Attachment file name cannot exceed 255 characters' }),
|
|
40
|
+
__metadata("design:type", String)
|
|
41
|
+
], SupportAttachmentDto.prototype, "filename", void 0);
|
|
42
|
+
__decorate([
|
|
43
|
+
(0, class_validator_1.IsInt)({ message: 'Attachment size must be an integer' }),
|
|
44
|
+
(0, class_validator_1.Min)(0, { message: 'Attachment size cannot be negative' }),
|
|
45
|
+
__metadata("design:type", Number)
|
|
46
|
+
], SupportAttachmentDto.prototype, "size", void 0);
|
|
47
|
+
__decorate([
|
|
48
|
+
(0, class_validator_1.IsString)({ message: 'Invalid attachment content type' }),
|
|
49
|
+
(0, class_validator_1.MinLength)(1, { message: 'Attachment content type cannot be empty' }),
|
|
50
|
+
(0, class_validator_1.MaxLength)(255, { message: 'Attachment content type cannot exceed 255 characters' }),
|
|
51
|
+
__metadata("design:type", String)
|
|
52
|
+
], SupportAttachmentDto.prototype, "content_type", void 0);
|
|
53
|
+
// `mms_id` columns default to `public.uuidv7()`, so the id params check for a v7 UUID.
|
|
54
|
+
class SupportTicketIdDto {
|
|
55
|
+
ticketId;
|
|
56
|
+
}
|
|
57
|
+
exports.SupportTicketIdDto = SupportTicketIdDto;
|
|
58
|
+
__decorate([
|
|
59
|
+
(0, class_validator_1.IsUUID)('7', { message: 'Invalid ticket ID format' }),
|
|
60
|
+
__metadata("design:type", String)
|
|
61
|
+
], SupportTicketIdDto.prototype, "ticketId", void 0);
|
|
62
|
+
class GetSupportTicketsDto {
|
|
63
|
+
status;
|
|
64
|
+
}
|
|
65
|
+
exports.GetSupportTicketsDto = GetSupportTicketsDto;
|
|
66
|
+
__decorate([
|
|
67
|
+
(0, class_validator_1.IsOptional)(),
|
|
68
|
+
(0, validators_1.IsNullable)(),
|
|
69
|
+
(0, class_validator_1.IsEnum)(enum_1.SupportTicketStatus, { message: 'Invalid ticket status' }),
|
|
70
|
+
__metadata("design:type", Object)
|
|
71
|
+
], GetSupportTicketsDto.prototype, "status", void 0);
|
|
72
|
+
class CreateSupportTicketDto {
|
|
73
|
+
subject;
|
|
74
|
+
description;
|
|
75
|
+
priority;
|
|
76
|
+
category;
|
|
77
|
+
attachments;
|
|
78
|
+
}
|
|
79
|
+
exports.CreateSupportTicketDto = CreateSupportTicketDto;
|
|
80
|
+
__decorate([
|
|
81
|
+
(0, class_validator_1.IsString)({ message: 'Invalid subject' }),
|
|
82
|
+
(0, class_validator_1.MinLength)(1, { message: 'Subject cannot be empty' }),
|
|
83
|
+
(0, class_validator_1.MaxLength)(200, { message: 'Subject cannot exceed 200 characters' }),
|
|
84
|
+
__metadata("design:type", String)
|
|
85
|
+
], CreateSupportTicketDto.prototype, "subject", void 0);
|
|
86
|
+
__decorate([
|
|
87
|
+
(0, class_validator_1.IsString)({ message: 'Invalid description' }),
|
|
88
|
+
(0, class_validator_1.MinLength)(1, { message: 'Description cannot be empty' }),
|
|
89
|
+
(0, class_validator_1.MaxLength)(10000, { message: 'Description cannot exceed 10000 characters' }),
|
|
90
|
+
__metadata("design:type", String)
|
|
91
|
+
], CreateSupportTicketDto.prototype, "description", void 0);
|
|
92
|
+
__decorate([
|
|
93
|
+
(0, class_validator_1.IsOptional)(),
|
|
94
|
+
(0, validators_1.IsNullable)(),
|
|
95
|
+
(0, class_validator_1.IsEnum)(enum_1.SupportTicketPriority, { message: 'Invalid priority' }),
|
|
96
|
+
__metadata("design:type", Object)
|
|
97
|
+
], CreateSupportTicketDto.prototype, "priority", void 0);
|
|
98
|
+
__decorate([
|
|
99
|
+
(0, class_validator_1.IsOptional)(),
|
|
100
|
+
(0, validators_1.IsNullable)(),
|
|
101
|
+
(0, class_validator_1.IsEnum)(enum_1.SupportTicketCategory, { message: 'Invalid category' }),
|
|
102
|
+
__metadata("design:type", Object)
|
|
103
|
+
], CreateSupportTicketDto.prototype, "category", void 0);
|
|
104
|
+
__decorate([
|
|
105
|
+
(0, class_validator_1.IsOptional)(),
|
|
106
|
+
(0, validators_1.IsNullable)(),
|
|
107
|
+
(0, class_validator_1.IsArray)({ message: 'Attachments must be an array' }),
|
|
108
|
+
(0, class_validator_1.ArrayMaxSize)(10, { message: 'A ticket cannot have more than 10 attachments' }),
|
|
109
|
+
(0, class_validator_1.ValidateNested)({ each: true, message: 'Invalid attachment' }),
|
|
110
|
+
(0, class_transformer_1.Type)(() => SupportAttachmentDto),
|
|
111
|
+
__metadata("design:type", Object)
|
|
112
|
+
], CreateSupportTicketDto.prototype, "attachments", void 0);
|
|
113
|
+
class ReplySupportTicketDto {
|
|
114
|
+
body;
|
|
115
|
+
attachments;
|
|
116
|
+
}
|
|
117
|
+
exports.ReplySupportTicketDto = ReplySupportTicketDto;
|
|
118
|
+
__decorate([
|
|
119
|
+
(0, class_validator_1.IsString)({ message: 'Invalid message body' }),
|
|
120
|
+
(0, class_validator_1.MinLength)(1, { message: 'Message body cannot be empty' }),
|
|
121
|
+
(0, class_validator_1.MaxLength)(10000, { message: 'Message body cannot exceed 10000 characters' }),
|
|
122
|
+
__metadata("design:type", String)
|
|
123
|
+
], ReplySupportTicketDto.prototype, "body", void 0);
|
|
124
|
+
__decorate([
|
|
125
|
+
(0, class_validator_1.IsOptional)(),
|
|
126
|
+
(0, validators_1.IsNullable)(),
|
|
127
|
+
(0, class_validator_1.IsArray)({ message: 'Attachments must be an array' }),
|
|
128
|
+
(0, class_validator_1.ArrayMaxSize)(10, { message: 'A message cannot have more than 10 attachments' }),
|
|
129
|
+
(0, class_validator_1.ValidateNested)({ each: true, message: 'Invalid attachment' }),
|
|
130
|
+
(0, class_transformer_1.Type)(() => SupportAttachmentDto),
|
|
131
|
+
__metadata("design:type", Object)
|
|
132
|
+
], ReplySupportTicketDto.prototype, "attachments", void 0);
|
|
133
|
+
class AssignSupportTicketDto {
|
|
134
|
+
assigned_to;
|
|
135
|
+
}
|
|
136
|
+
exports.AssignSupportTicketDto = AssignSupportTicketDto;
|
|
137
|
+
__decorate([
|
|
138
|
+
(0, class_validator_1.IsUUID)('7', { message: 'Invalid staff ID format' }),
|
|
139
|
+
__metadata("design:type", String)
|
|
140
|
+
], AssignSupportTicketDto.prototype, "assigned_to", void 0);
|
|
141
|
+
//# sourceMappingURL=dto.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dto.js","sourceRoot":"","sources":["../../../src/support/tickets/dto.ts"],"names":[],"mappings":"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"}
|