@managemint-solutions/sdk 0.5.0 → 0.6.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.
Files changed (47) hide show
  1. package/README.md +74 -6
  2. package/dist/additional-details/dto.d.ts +2 -5
  3. package/dist/additional-details/dto.js +2 -0
  4. package/dist/additional-details/dto.js.map +1 -1
  5. package/dist/additional-details/index.js +5 -6
  6. package/dist/additional-details/index.js.map +1 -1
  7. package/dist/additional-details/values.d.ts +2 -2
  8. package/dist/additional-details/values.js +2 -2
  9. package/dist/client.d.ts +5 -2
  10. package/dist/client.js +6 -0
  11. package/dist/client.js.map +1 -1
  12. package/dist/clients/index.js +3 -6
  13. package/dist/clients/index.js.map +1 -1
  14. package/dist/index.d.ts +3 -1
  15. package/dist/index.js +3 -0
  16. package/dist/index.js.map +1 -1
  17. package/dist/notes/dto.d.ts +1 -4
  18. package/dist/notes/dto.js +2 -0
  19. package/dist/notes/dto.js.map +1 -1
  20. package/dist/notes/index.js +3 -5
  21. package/dist/notes/index.js.map +1 -1
  22. package/dist/projects/dto.d.ts +38 -0
  23. package/dist/projects/dto.js +238 -0
  24. package/dist/projects/dto.js.map +1 -0
  25. package/dist/projects/index.d.ts +20 -0
  26. package/dist/projects/index.js +299 -0
  27. package/dist/projects/index.js.map +1 -0
  28. package/dist/statuses/dto.d.ts +2 -5
  29. package/dist/statuses/dto.js +2 -0
  30. package/dist/statuses/dto.js.map +1 -1
  31. package/dist/statuses/index.js +3 -4
  32. package/dist/statuses/index.js.map +1 -1
  33. package/dist/supporting-files/index.js +3 -3
  34. package/dist/supporting-files/index.js.map +1 -1
  35. package/dist/tasks/dto.d.ts +43 -0
  36. package/dist/tasks/dto.js +288 -0
  37. package/dist/tasks/dto.js.map +1 -0
  38. package/dist/tasks/index.d.ts +20 -0
  39. package/dist/tasks/index.js +241 -0
  40. package/dist/tasks/index.js.map +1 -0
  41. package/dist/transforms.d.ts +14 -0
  42. package/dist/transforms.js +38 -0
  43. package/dist/transforms.js.map +1 -0
  44. package/package.json +1 -1
  45. package/dist/database.types.d.ts +0 -2570
  46. package/dist/database.types.js +0 -12
  47. package/dist/database.types.js.map +0 -1
@@ -0,0 +1,14 @@
1
+ /**
2
+ * The `client_id` / `project_id` list filters accept either a plain UUID v4 or the base64-JSON
3
+ * option value the portal's selects send (`{ mms_id }`, or `{ id }` as a fallback). Anything that
4
+ * is not one of those — including a value that decodes to JSON without a UUID v4 — cannot filter
5
+ * anything, so it becomes `null` and the filter is skipped.
6
+ */
7
+ export declare const parseEntityIdFilter: (value: unknown) => string | null;
8
+ /**
9
+ * `date` columns take an ISO string. The shared `CreateProjectDto`/`UpdateProjectDto` types
10
+ * declare `Date`, but over the wire the value is the validated `@IsDateString` string — which
11
+ * must reach Postgres byte-identical ('2026-04-22' is a plain date, not an instant) — so only a
12
+ * real `Date` (a portal caller) is serialized.
13
+ */
14
+ export declare const toDateInput: (value: Date | string | null | undefined) => string | null | undefined;
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ // Small conversions shared by the DTOs' `@Transform`s and the resources' write payloads.
3
+ Object.defineProperty(exports, "__esModule", { value: true });
4
+ exports.toDateInput = exports.parseEntityIdFilter = void 0;
5
+ 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
+ * The `client_id` / `project_id` list filters accept either a plain UUID v4 or the base64-JSON
8
+ * option value the portal's selects send (`{ mms_id }`, or `{ id }` as a fallback). Anything that
9
+ * is not one of those — including a value that decodes to JSON without a UUID v4 — cannot filter
10
+ * anything, so it becomes `null` and the filter is skipped.
11
+ */
12
+ const parseEntityIdFilter = (value) => {
13
+ if (!value)
14
+ return null;
15
+ // If the incoming value is already a UUID v4, use it directly
16
+ if (typeof value === 'string' && UUID_V4.test(value))
17
+ return value;
18
+ // Otherwise attempt to decode as base64 JSON and extract mms_id
19
+ try {
20
+ const decoded = atob(value);
21
+ const parsed = JSON.parse(decoded);
22
+ const id = parsed?.mms_id ?? parsed?.id ?? null;
23
+ return (typeof id === 'string' && UUID_V4.test(id)) ? id : null;
24
+ }
25
+ catch {
26
+ return null;
27
+ }
28
+ };
29
+ exports.parseEntityIdFilter = parseEntityIdFilter;
30
+ /**
31
+ * `date` columns take an ISO string. The shared `CreateProjectDto`/`UpdateProjectDto` types
32
+ * declare `Date`, but over the wire the value is the validated `@IsDateString` string — which
33
+ * must reach Postgres byte-identical ('2026-04-22' is a plain date, not an instant) — so only a
34
+ * real `Date` (a portal caller) is serialized.
35
+ */
36
+ const toDateInput = (value) => value instanceof Date ? value.toISOString() : value;
37
+ exports.toDateInput = toDateInput;
38
+ //# sourceMappingURL=transforms.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transforms.js","sourceRoot":"","sources":["../src/transforms.ts"],"names":[],"mappings":";AAAA,yFAAyF;;;AAEzF,MAAM,OAAO,GAAG,wEAAwE,CAAC;AAEzF;;;;;GAKG;AACI,MAAM,mBAAmB,GAAG,CAAC,KAAc,EAAiB,EAAE;IACnE,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,8DAA8D;IAC9D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC;QAAE,OAAO,KAAK,CAAC;IAEnE,gEAAgE;IAChE,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,CAAC,KAAe,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACnC,MAAM,EAAE,GAAG,MAAM,EAAE,MAAM,IAAI,MAAM,EAAE,EAAE,IAAI,IAAI,CAAC;QAChD,OAAO,CAAC,OAAO,EAAE,KAAK,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAClE,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC,CAAC;AAfW,QAAA,mBAAmB,uBAe9B;AAEF;;;;;GAKG;AACI,MAAM,WAAW,GAAG,CAAC,KAAuC,EAA6B,EAAE,CAChG,KAAK,YAAY,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;AADzC,QAAA,WAAW,eAC8B"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@managemint-solutions/sdk",
3
- "version": "0.5.0",
3
+ "version": "0.6.0",
4
4
  "description": "Typed Supabase data-access SDK for ManageMint Solutions",
5
5
  "license": "UNLICENSED",
6
6
  "author": "Scott Bebington <scottbebington@gmail.com>",