@managemint-solutions/sdk 0.16.0 → 0.18.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/audit/index.d.ts +23 -2
- package/dist/audit/index.js +56 -21
- package/dist/audit/index.js.map +1 -1
- package/dist/auth-client/index.d.ts +1 -6
- package/dist/auth-client/index.js +3 -18
- package/dist/auth-client/index.js.map +1 -1
- package/dist/auth.d.ts +36 -1
- package/dist/auth.js +52 -22
- package/dist/auth.js.map +1 -1
- package/dist/billing/index.d.ts +22 -13
- package/dist/billing/index.js +51 -48
- package/dist/billing/index.js.map +1 -1
- package/dist/client.d.ts +18 -1
- package/dist/client.js +11 -6
- package/dist/client.js.map +1 -1
- package/dist/clients/index.js +13 -75
- package/dist/clients/index.js.map +1 -1
- package/dist/errors.d.ts +4 -1
- package/dist/errors.js +7 -58
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +48 -22
- package/dist/index.js +116 -36
- package/dist/index.js.map +1 -1
- package/dist/nest/index.d.ts +26 -3
- package/dist/nest/index.js +54 -15
- package/dist/nest/index.js.map +1 -1
- package/dist/notifications/index.d.ts +0 -1
- package/dist/notifications/index.js +4 -16
- package/dist/notifications/index.js.map +1 -1
- package/dist/organization-invites/index.d.ts +29 -0
- package/dist/organization-invites/index.js +48 -0
- package/dist/organization-invites/index.js.map +1 -0
- package/dist/organizations/index.js +4 -9
- package/dist/organizations/index.js.map +1 -1
- package/dist/permissions/index.d.ts +8 -0
- package/dist/permissions/index.js +16 -1
- package/dist/permissions/index.js.map +1 -1
- package/dist/projects/index.js +12 -75
- package/dist/projects/index.js.map +1 -1
- package/dist/service-client/index.d.ts +2 -0
- package/dist/service-client/index.js +7 -6
- package/dist/service-client/index.js.map +1 -1
- package/dist/supporting-files/index.js +31 -15
- package/dist/supporting-files/index.js.map +1 -1
- package/dist/supporting-files/paths.d.ts +19 -5
- package/dist/supporting-files/paths.js +46 -10
- package/dist/supporting-files/paths.js.map +1 -1
- package/dist/tasks/index.js +7 -33
- package/dist/tasks/index.js.map +1 -1
- package/dist/transforms.d.ts +43 -0
- package/dist/transforms.js +73 -2
- package/dist/transforms.js.map +1 -1
- package/dist/users/index.js +4 -14
- package/dist/users/index.js.map +1 -1
- package/package.json +6 -2
package/dist/tasks/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tasks/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAEA,0EAGyD;AAEzD,oCAA+E;AAE/E,sCAA8C;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tasks/index.ts"],"names":[],"mappings":"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"}
|
package/dist/transforms.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { MmsList } from '@managemint-solutions/entities/common';
|
|
1
2
|
/**
|
|
2
3
|
* The `client_id` / `project_id` list filters accept either a plain UUID v4 or the base64-JSON
|
|
3
4
|
* option value the portal's selects send (`{ mms_id }`, or `{ id }` as a fallback). Anything that
|
|
@@ -5,6 +6,16 @@
|
|
|
5
6
|
* anything, so it becomes `null` and the filter is skipped.
|
|
6
7
|
*/
|
|
7
8
|
export declare const parseEntityIdFilter: (value: unknown) => string | null;
|
|
9
|
+
/**
|
|
10
|
+
* A `%value%` ilike pattern, double-quoted for PostgREST's `or=(...)` grammar so `,`, `(`, `)`,
|
|
11
|
+
* `.`, `"` and `\` in the search stay literal instead of being read as more filters. Inside the
|
|
12
|
+
* quotes only `"` and `\` need escaping, which is what PostgREST defines — the `\,` the list
|
|
13
|
+
* endpoints used to emit was never an escape at all. LIKE's own wildcards `%` and `_` are left
|
|
14
|
+
* alone and still match as wildcards; they only widen the caller's own search, never its scope.
|
|
15
|
+
*/
|
|
16
|
+
export declare const ilikeContains: (value: string) => string;
|
|
17
|
+
/** The `or=(...)` argument matching `search` against any of `columns` — `name.ilike."%x%",…`. */
|
|
18
|
+
export declare const orIlike: (columns: readonly string[], search: string) => string;
|
|
8
19
|
/**
|
|
9
20
|
* `date` columns take an ISO string. The shared `CreateProjectDto`/`UpdateProjectDto` types
|
|
10
21
|
* declare `Date`, but over the wire the value is the validated `@IsDateString` string — which
|
|
@@ -12,3 +23,35 @@ export declare const parseEntityIdFilter: (value: unknown) => string | null;
|
|
|
12
23
|
* real `Date` (a portal caller) is serialized.
|
|
13
24
|
*/
|
|
14
25
|
export declare const toDateInput: (value: Date | string | null | undefined) => string | null | undefined;
|
|
26
|
+
/**
|
|
27
|
+
* The `user_profiles` embed the detail selects name column by column, parentheses included. Its
|
|
28
|
+
* indentation is part of the string so the select strings it is spliced into read as they did
|
|
29
|
+
* when each one spelled the columns out.
|
|
30
|
+
*/
|
|
31
|
+
export declare const USER_PROFILE_EMBED: "(\n mms_id,\n name,\n surname,\n email,\n profile_image\n )";
|
|
32
|
+
/**
|
|
33
|
+
* The `MmsList` envelope every paginated read returns. `rows` is `unknown` because each select
|
|
34
|
+
* string produces its own row shape — the caller's `T` is what declares it. `count` is
|
|
35
|
+
* PostgREST's estimate, so an empty page reports 0 total pages rather than 1.
|
|
36
|
+
*/
|
|
37
|
+
export declare const toMmsList: <T>(rows: unknown, page: number, pageSize: number, count: number | null) => MmsList<T>;
|
|
38
|
+
export declare const archivedPatch: (by: string) => {
|
|
39
|
+
archived: boolean;
|
|
40
|
+
archived_at: string;
|
|
41
|
+
archived_by: string;
|
|
42
|
+
};
|
|
43
|
+
export declare const unarchivedPatch: (by: string) => {
|
|
44
|
+
archived: boolean;
|
|
45
|
+
unarchived_at: string;
|
|
46
|
+
unarchived_by: string;
|
|
47
|
+
};
|
|
48
|
+
export declare const deletedPatch: (by: string) => {
|
|
49
|
+
deleted: boolean;
|
|
50
|
+
deleted_at: string;
|
|
51
|
+
deleted_by: string;
|
|
52
|
+
};
|
|
53
|
+
export declare const restoredPatch: (by: string) => {
|
|
54
|
+
deleted: boolean;
|
|
55
|
+
restored_at: string;
|
|
56
|
+
restored_by: string;
|
|
57
|
+
};
|
package/dist/transforms.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
// Small conversions shared by the DTOs' `@Transform`s
|
|
2
|
+
// Small conversions shared by the DTOs' `@Transform`s, the resources' write payloads, their
|
|
3
|
+
// select strings and their list results.
|
|
3
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
-
exports.toDateInput = exports.parseEntityIdFilter = void 0;
|
|
5
|
+
exports.restoredPatch = exports.deletedPatch = exports.unarchivedPatch = exports.archivedPatch = exports.toMmsList = exports.USER_PROFILE_EMBED = exports.toDateInput = exports.orIlike = exports.ilikeContains = exports.parseEntityIdFilter = void 0;
|
|
5
6
|
const UUID_V4 = /^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i;
|
|
6
7
|
/**
|
|
7
8
|
* The `client_id` / `project_id` list filters accept either a plain UUID v4 or the base64-JSON
|
|
@@ -27,6 +28,18 @@ const parseEntityIdFilter = (value) => {
|
|
|
27
28
|
}
|
|
28
29
|
};
|
|
29
30
|
exports.parseEntityIdFilter = parseEntityIdFilter;
|
|
31
|
+
/**
|
|
32
|
+
* A `%value%` ilike pattern, double-quoted for PostgREST's `or=(...)` grammar so `,`, `(`, `)`,
|
|
33
|
+
* `.`, `"` and `\` in the search stay literal instead of being read as more filters. Inside the
|
|
34
|
+
* quotes only `"` and `\` need escaping, which is what PostgREST defines — the `\,` the list
|
|
35
|
+
* endpoints used to emit was never an escape at all. LIKE's own wildcards `%` and `_` are left
|
|
36
|
+
* alone and still match as wildcards; they only widen the caller's own search, never its scope.
|
|
37
|
+
*/
|
|
38
|
+
const ilikeContains = (value) => `"%${value.replace(/[\\"]/g, '\\$&')}%"`;
|
|
39
|
+
exports.ilikeContains = ilikeContains;
|
|
40
|
+
/** The `or=(...)` argument matching `search` against any of `columns` — `name.ilike."%x%",…`. */
|
|
41
|
+
const orIlike = (columns, search) => columns.map((column) => `${column}.ilike.${(0, exports.ilikeContains)(search)}`).join(',');
|
|
42
|
+
exports.orIlike = orIlike;
|
|
30
43
|
/**
|
|
31
44
|
* `date` columns take an ISO string. The shared `CreateProjectDto`/`UpdateProjectDto` types
|
|
32
45
|
* declare `Date`, but over the wire the value is the validated `@IsDateString` string — which
|
|
@@ -35,4 +48,62 @@ exports.parseEntityIdFilter = parseEntityIdFilter;
|
|
|
35
48
|
*/
|
|
36
49
|
const toDateInput = (value) => value instanceof Date ? value.toISOString() : value;
|
|
37
50
|
exports.toDateInput = toDateInput;
|
|
51
|
+
/**
|
|
52
|
+
* The `user_profiles` embed the detail selects name column by column, parentheses included. Its
|
|
53
|
+
* indentation is part of the string so the select strings it is spliced into read as they did
|
|
54
|
+
* when each one spelled the columns out.
|
|
55
|
+
*/
|
|
56
|
+
exports.USER_PROFILE_EMBED = `(
|
|
57
|
+
mms_id,
|
|
58
|
+
name,
|
|
59
|
+
surname,
|
|
60
|
+
email,
|
|
61
|
+
profile_image
|
|
62
|
+
)`;
|
|
63
|
+
/**
|
|
64
|
+
* The `MmsList` envelope every paginated read returns. `rows` is `unknown` because each select
|
|
65
|
+
* string produces its own row shape — the caller's `T` is what declares it. `count` is
|
|
66
|
+
* PostgREST's estimate, so an empty page reports 0 total pages rather than 1.
|
|
67
|
+
*/
|
|
68
|
+
const toMmsList = (rows, page, pageSize, count) => {
|
|
69
|
+
const totalEstimated = count ?? 0;
|
|
70
|
+
const totalPages = totalEstimated > 0 ? Math.ceil(totalEstimated / pageSize) : 0;
|
|
71
|
+
return {
|
|
72
|
+
results: (rows ?? []),
|
|
73
|
+
page,
|
|
74
|
+
per_page: pageSize,
|
|
75
|
+
count: totalEstimated,
|
|
76
|
+
total_pages: totalPages,
|
|
77
|
+
has_next_page: page < totalPages,
|
|
78
|
+
has_previous_page: page > 1,
|
|
79
|
+
};
|
|
80
|
+
};
|
|
81
|
+
exports.toMmsList = toMmsList;
|
|
82
|
+
// The soft archive/delete patches projects, tasks and clients all write: the flag the transition
|
|
83
|
+
// sets, plus the who/when stamps named after it. `unarchived`/`restored` clear the flag their
|
|
84
|
+
// counterpart set and stamp their own columns — the earlier ones stay as the history.
|
|
85
|
+
const archivedPatch = (by) => ({
|
|
86
|
+
archived: true,
|
|
87
|
+
archived_at: new Date().toISOString(),
|
|
88
|
+
archived_by: by,
|
|
89
|
+
});
|
|
90
|
+
exports.archivedPatch = archivedPatch;
|
|
91
|
+
const unarchivedPatch = (by) => ({
|
|
92
|
+
archived: false,
|
|
93
|
+
unarchived_at: new Date().toISOString(),
|
|
94
|
+
unarchived_by: by,
|
|
95
|
+
});
|
|
96
|
+
exports.unarchivedPatch = unarchivedPatch;
|
|
97
|
+
const deletedPatch = (by) => ({
|
|
98
|
+
deleted: true,
|
|
99
|
+
deleted_at: new Date().toISOString(),
|
|
100
|
+
deleted_by: by,
|
|
101
|
+
});
|
|
102
|
+
exports.deletedPatch = deletedPatch;
|
|
103
|
+
const restoredPatch = (by) => ({
|
|
104
|
+
deleted: false,
|
|
105
|
+
restored_at: new Date().toISOString(),
|
|
106
|
+
restored_by: by,
|
|
107
|
+
});
|
|
108
|
+
exports.restoredPatch = restoredPatch;
|
|
38
109
|
//# sourceMappingURL=transforms.js.map
|
package/dist/transforms.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transforms.js","sourceRoot":"","sources":["../src/transforms.ts"],"names":[],"mappings":";AAAA,
|
|
1
|
+
{"version":3,"file":"transforms.js","sourceRoot":"","sources":["../src/transforms.ts"],"names":[],"mappings":"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"}
|
package/dist/users/index.js
CHANGED
|
@@ -18,6 +18,7 @@ exports.UsersResource = void 0;
|
|
|
18
18
|
const enum_1 = require("@managemint-solutions/entities/audit-trail/enum");
|
|
19
19
|
const audit_1 = require("../audit");
|
|
20
20
|
const errors_1 = require("../errors");
|
|
21
|
+
const transforms_1 = require("../transforms");
|
|
21
22
|
__exportStar(require("./dto"), exports);
|
|
22
23
|
const USERS_TABLE = {
|
|
23
24
|
table: 'users',
|
|
@@ -52,23 +53,12 @@ class UsersResource {
|
|
|
52
53
|
usersQuery = usersQuery.in('active', query.active_in);
|
|
53
54
|
}
|
|
54
55
|
if (trimmedSearch) {
|
|
55
|
-
|
|
56
|
-
usersQuery = usersQuery.or(`name.ilike.%${escapedSearch}%,surname.ilike.%${escapedSearch}%,email.ilike.%${escapedSearch}%`);
|
|
56
|
+
usersQuery = usersQuery.or((0, transforms_1.orIlike)(['name', 'surname', 'email'], trimmedSearch));
|
|
57
57
|
}
|
|
58
58
|
const { data, error, count } = await usersQuery;
|
|
59
59
|
if (error)
|
|
60
60
|
throw (0, errors_1.mapPostgrestError)(error);
|
|
61
|
-
|
|
62
|
-
const totalPages = totalEstimated > 0 ? Math.ceil(totalEstimated / pageSize) : 0;
|
|
63
|
-
return {
|
|
64
|
-
results: (data ?? []),
|
|
65
|
-
page,
|
|
66
|
-
per_page: pageSize,
|
|
67
|
-
count: totalEstimated,
|
|
68
|
-
total_pages: totalPages,
|
|
69
|
-
has_next_page: page < totalPages,
|
|
70
|
-
has_previous_page: page > 1,
|
|
71
|
-
};
|
|
61
|
+
return (0, transforms_1.toMmsList)(data, page, pageSize, count);
|
|
72
62
|
}
|
|
73
63
|
async getRow(userId) {
|
|
74
64
|
const { data, error } = await this.supabase
|
|
@@ -79,7 +69,7 @@ class UsersResource {
|
|
|
79
69
|
.single();
|
|
80
70
|
if (error)
|
|
81
71
|
throw (0, errors_1.mapPostgrestError)(error);
|
|
82
|
-
return data;
|
|
72
|
+
return (0, audit_1.withoutInternalId)(data);
|
|
83
73
|
}
|
|
84
74
|
/**
|
|
85
75
|
* The public profile behind a `*_by` / `manager_id` column. `user_profiles` is a
|
package/dist/users/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/users/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,0EAAuF;AAGvF,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/users/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@managemint-solutions/sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.18.0",
|
|
4
4
|
"description": "Typed Supabase data-access SDK for ManageMint Solutions",
|
|
5
5
|
"license": "UNLICENSED",
|
|
6
6
|
"author": "Scott Bebington <scottbebington@gmail.com>",
|
|
@@ -31,7 +31,11 @@
|
|
|
31
31
|
"release": "npm run build && npm publish --access public"
|
|
32
32
|
},
|
|
33
33
|
"jest": {
|
|
34
|
-
"moduleFileExtensions": [
|
|
34
|
+
"moduleFileExtensions": [
|
|
35
|
+
"js",
|
|
36
|
+
"json",
|
|
37
|
+
"ts"
|
|
38
|
+
],
|
|
35
39
|
"rootDir": "src",
|
|
36
40
|
"testRegex": ".*\\.spec\\.ts$",
|
|
37
41
|
"transform": {
|