@ztimson/momentum 0.53.1 → 0.58.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 (86) hide show
  1. package/README.md +200 -148
  2. package/bin/build-models.mjs +28 -37
  3. package/dist/actions.d.ts +32 -43
  4. package/dist/actions.d.ts.map +1 -1
  5. package/dist/ai.d.ts +38 -17
  6. package/dist/ai.d.ts.map +1 -1
  7. package/dist/analytics.d.ts +169 -36
  8. package/dist/analytics.d.ts.map +1 -1
  9. package/dist/api.d.ts +22 -22
  10. package/dist/api.d.ts.map +1 -1
  11. package/dist/asset-controller.d.ts +92 -0
  12. package/dist/asset-controller.d.ts.map +1 -0
  13. package/dist/audit.d.ts +22 -0
  14. package/dist/audit.d.ts.map +1 -0
  15. package/dist/auth.d.ts +39 -92
  16. package/dist/auth.d.ts.map +1 -1
  17. package/dist/call.d.ts +39 -0
  18. package/dist/call.d.ts.map +1 -0
  19. package/dist/captcha.d.ts +14 -0
  20. package/dist/captcha.d.ts.map +1 -0
  21. package/dist/client.d.ts +44 -33
  22. package/dist/client.d.ts.map +1 -1
  23. package/dist/core.d.ts +50 -21
  24. package/dist/core.d.ts.map +1 -1
  25. package/dist/data.d.ts +59 -77
  26. package/dist/data.d.ts.map +1 -1
  27. package/dist/dialog.d.ts +11 -0
  28. package/dist/dialog.d.ts.map +1 -0
  29. package/dist/discounts.d.ts +8 -12
  30. package/dist/discounts.d.ts.map +1 -1
  31. package/dist/email.d.ts +19 -19
  32. package/dist/email.d.ts.map +1 -1
  33. package/dist/forms.d.ts +6 -13
  34. package/dist/forms.d.ts.map +1 -1
  35. package/dist/groups.d.ts +22 -16
  36. package/dist/groups.d.ts.map +1 -1
  37. package/dist/index.d.ts +13 -3
  38. package/dist/index.d.ts.map +1 -1
  39. package/dist/index.js +4446 -0
  40. package/dist/index.mjs +3422 -1731
  41. package/dist/logger.d.ts +78 -48
  42. package/dist/logger.d.ts.map +1 -1
  43. package/dist/momentum.d.ts +69 -15
  44. package/dist/momentum.d.ts.map +1 -1
  45. package/dist/momentum.worker.d.mts +2 -0
  46. package/dist/momentum.worker.d.mts.map +1 -0
  47. package/dist/momentum.worker.mjs +103 -0
  48. package/dist/notifications.d.ts +39 -0
  49. package/dist/notifications.d.ts.map +1 -0
  50. package/dist/pdf.d.ts +31 -14
  51. package/dist/pdf.d.ts.map +1 -1
  52. package/dist/products.d.ts +47 -0
  53. package/dist/products.d.ts.map +1 -0
  54. package/dist/routes.d.ts +40 -0
  55. package/dist/routes.d.ts.map +1 -0
  56. package/dist/schemas.d.ts +79 -0
  57. package/dist/schemas.d.ts.map +1 -0
  58. package/dist/settings.d.ts +30 -14
  59. package/dist/settings.d.ts.map +1 -1
  60. package/dist/sms.d.ts +14 -0
  61. package/dist/sms.d.ts.map +1 -0
  62. package/dist/sockets.d.ts +21 -10
  63. package/dist/sockets.d.ts.map +1 -1
  64. package/dist/static.d.ts +4 -2
  65. package/dist/static.d.ts.map +1 -1
  66. package/dist/storage.d.ts +103 -24
  67. package/dist/storage.d.ts.map +1 -1
  68. package/dist/templates.d.ts +23 -0
  69. package/dist/templates.d.ts.map +1 -0
  70. package/dist/tokens.d.ts +50 -0
  71. package/dist/tokens.d.ts.map +1 -0
  72. package/dist/totp.d.ts +45 -0
  73. package/dist/totp.d.ts.map +1 -0
  74. package/dist/transactions.d.ts +153 -0
  75. package/dist/transactions.d.ts.map +1 -0
  76. package/dist/users.d.ts +63 -25
  77. package/dist/users.d.ts.map +1 -1
  78. package/dist/webRtc.d.ts +39 -0
  79. package/dist/webRtc.d.ts.map +1 -0
  80. package/package.json +53 -43
  81. package/dist/index.cjs +0 -2755
  82. package/dist/momentum.worker.js +0 -16
  83. package/dist/payments.d.ts +0 -184
  84. package/dist/payments.d.ts.map +0 -1
  85. package/dist/phone.d.ts +0 -19
  86. package/dist/phone.d.ts.map +0 -1
@@ -0,0 +1,79 @@
1
+ import { TreeAssetController } from './asset-controller';
2
+ import { Meta } from './core';
3
+ import { Momentum } from './momentum';
4
+ export type Schema = Meta & {
5
+ /** Collection path */
6
+ path: string;
7
+ /** Description of data */
8
+ description: string | null;
9
+ /** Associated form for viewing/editing */
10
+ form?: string | null;
11
+ /** Lock collection from changes */
12
+ lock: boolean | null;
13
+ /** Default row sorting */
14
+ sort?: {
15
+ /** Property to sort by */
16
+ prop: string;
17
+ /** Ascending by default, true to reverse (descending) */
18
+ desc?: boolean;
19
+ };
20
+ /** Data must match defined columns */
21
+ strict: boolean | null;
22
+ /** Automatically create instead of update if it doesn't exist */
23
+ upsert: boolean | null;
24
+ /** Defined fields */
25
+ columns: SchemaColumn[] | null;
26
+ /** Aggregate columns */
27
+ aggregate?: SchemaAggregate[] | null;
28
+ };
29
+ export type SchemaAggregate = {
30
+ /*** How to process aggragate value */
31
+ type: 'Formula' | 'Function' | 'string';
32
+ /** Aggregate value */
33
+ value: string;
34
+ /** Style */
35
+ style: SchemaColumnStyle;
36
+ };
37
+ export type SchemaColumn = {
38
+ /** Display label */
39
+ label: string;
40
+ /** Property key */
41
+ prop: string;
42
+ /** Variable type */
43
+ type?: 'any' | 'boolean' | 'Formula' | 'Function' | 'Link' | 'number' | 'string' | 'Date';
44
+ /** Display formating */
45
+ format?: any;
46
+ /** Default value */
47
+ default?: any;
48
+ /** Must have value */
49
+ required?: boolean;
50
+ /** Style */
51
+ style: SchemaColumnStyle;
52
+ };
53
+ export type SchemaColumnStyle = {
54
+ /** Align column content */
55
+ align?: 'center' | 'left' | 'right';
56
+ /** Background color */
57
+ background?: string;
58
+ /** Bold column text */
59
+ bold?: boolean;
60
+ /** Column text color */
61
+ color?: string;
62
+ /** Italicize column text */
63
+ italics?: boolean;
64
+ /** Strikethrough column text */
65
+ strike?: boolean;
66
+ /** Underline column text */
67
+ underline?: boolean;
68
+ /** Column width */
69
+ width?: string;
70
+ /** Conditional formating */
71
+ conditional: (Omit<SchemaColumnStyle, 'conditional'> & {
72
+ condition: string;
73
+ })[];
74
+ };
75
+ export declare class Schemas extends TreeAssetController<Schema> {
76
+ protected momentum: Momentum;
77
+ constructor(momentum: Momentum);
78
+ }
79
+ //# sourceMappingURL=schemas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../src/schemas.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,mBAAmB,EAAC,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAC,KAAK,IAAI,EAAC,MAAM,QAAQ,CAAC;AACjC,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AAEpC,MAAM,MAAM,MAAM,GAAG,IAAI,GAAG;IAC3B,sBAAsB;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,0CAA0C;IAC1C,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,mCAAmC;IACnC,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC;IACrB,0BAA0B;IAC1B,IAAI,CAAC,EAAE;QACN,0BAA0B;QAC1B,IAAI,EAAE,MAAM,CAAC;QACb,yDAAyD;QACzD,IAAI,CAAC,EAAE,OAAO,CAAA;KACd,CAAA;IACD,sCAAsC;IACtC,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IACvB,iEAAiE;IACjE,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;IACvB,qBAAqB;IACrB,OAAO,EAAE,YAAY,EAAE,GAAG,IAAI,CAAC;IAC/B,wBAAwB;IACxB,SAAS,CAAC,EAAE,eAAe,EAAE,GAAG,IAAI,CAAC;CACrC,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC7B,sCAAsC;IACtC,IAAI,EAAE,SAAS,GAAG,UAAU,GAAG,QAAQ,CAAC;IACxC,sBAAsB;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY;IACZ,KAAK,EAAE,iBAAiB,CAAC;CACzB,CAAA;AAED,MAAM,MAAM,YAAY,GAAG;IAC1B,oBAAoB;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,IAAI,CAAC,EAAE,KAAK,GAAG,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC1F,wBAAwB;IACxB,MAAM,CAAC,EAAE,GAAG,CAAC;IACb,oBAAoB;IACpB,OAAO,CAAC,EAAE,GAAG,CAAC;IACd,sBAAsB;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,YAAY;IACZ,KAAK,EAAE,iBAAiB,CAAC;CACzB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC/B,2BAA2B;IAC3B,KAAK,CAAC,EAAE,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IACpC,uBAAuB;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uBAAuB;IACvB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,wBAAwB;IACxB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,gCAAgC;IAChC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,4BAA4B;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,mBAAmB;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,WAAW,EAAE,CAAC,IAAI,CAAC,iBAAiB,EAAE,aAAa,CAAC,GAAG;QAAC,SAAS,EAAE,MAAM,CAAA;KAAC,CAAC,EAAE,CAAA;CAC7E,CAAA;AAED,qBAAa,OAAQ,SAAQ,mBAAmB,CAAC,MAAM,CAAC;IAC3C,SAAS,CAAC,QAAQ,EAAE,QAAQ;gBAAlB,QAAQ,EAAE,QAAQ;CAGxC"}
@@ -1,27 +1,43 @@
1
- import { Api } from './api';
2
- import { Cache, PathEventEmitter } from '@ztimson/utils';
1
+ import { PathEvent } from '@ztimson/utils';
2
+ import { AssetController } from './asset-controller';
3
+ import { Momentum } from './momentum';
4
+ import { Unsubscribe } from './core';
3
5
  /** Momentum variable */
4
6
  export type Setting<T> = {
5
- /** Internal ID */
6
- _id?: string;
7
7
  /** Variable name */
8
- key: string;
8
+ readonly _id: string;
9
9
  /** Variable value */
10
10
  value: T;
11
11
  /** Visible without authenticating */
12
12
  public?: boolean;
13
13
  /** Momentum variable, cannot be deleted */
14
- system?: boolean;
14
+ readonly system?: boolean;
15
15
  };
16
- export declare class Settings extends PathEventEmitter {
17
- readonly api: Api;
18
- cache: Cache<string, any>;
19
- constructor(api: Api | string);
20
- all(detailed?: boolean, reload?: boolean): Promise<{
16
+ export type SettingsOptions = {
17
+ /** save to local storage */
18
+ persist?: boolean;
19
+ };
20
+ export declare class Settings extends AssetController<Setting<any>> {
21
+ protected momentum: Momentum;
22
+ constructor(momentum: Momentum);
23
+ /**
24
+ * Get all schemas organized into a map
25
+ * @param {boolean} reload Reload instead of using cache
26
+ * @return {Promise<TreeNode<Schema>[]>} Schemas as nested tree
27
+ */
28
+ map(reload?: boolean): Promise<{
21
29
  [key: string]: any;
22
30
  }>;
23
- delete(key: string): Promise<void>;
24
- read(key: string, reload?: boolean): Promise<Setting<any> | null>;
25
- update(variable: Setting<any>): Promise<Setting<any>>;
31
+ /**
32
+ * Subscribe to live updates with optional callback
33
+ * @param {(schema: Schema[]) => any} callback Receives latest data
34
+ * @param opts path - scope events, map - return as map or array
35
+ * @return {() => void}
36
+ */
37
+ sync(callback?: (event: PathEvent, value: any) => any, opts?: {
38
+ path?: string;
39
+ map?: boolean;
40
+ reload?: boolean;
41
+ }): Unsubscribe;
26
42
  }
27
43
  //# sourceMappingURL=settings.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAC,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,KAAK,EAAE,gBAAgB,EAAM,MAAM,gBAAgB,CAAC;AAE5D,wBAAwB;AACxB,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI;IACxB,kBAAkB;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,oBAAoB;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,qBAAqB;IACrB,KAAK,EAAE,CAAC,CAAC;IACT,qCAAqC;IACrC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,2CAA2C;IAC3C,MAAM,CAAC,EAAE,OAAO,CAAC;CACjB,CAAA;AAED,qBAAa,QAAS,SAAQ,gBAAgB;IAC7C,QAAQ,CAAC,GAAG,EAAG,GAAG,CAAC;IAEnB,KAAK,EAAG,KAAK,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBAEf,GAAG,EAAE,GAAG,GAAG,MAAM;IAQvB,GAAG,CAAC,QAAQ,CAAC,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAC,CAAC;IAW9E,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQlC,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,UAAM,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC;IAU7D,MAAM,CAAC,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;CAQrD"}
1
+ {"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../src/settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAC,eAAe,EAAC,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AACpC,OAAO,EAAC,WAAW,EAAC,MAAM,QAAQ,CAAC;AAEnC,wBAAwB;AACxB,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI;IACxB,oBAAoB;IACpB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,qBAAqB;IACrB,KAAK,EAAE,CAAC,CAAC;IACT,qCAAqC;IACrC,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,2CAA2C;IAC3C,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC;CAC1B,CAAA;AAED,MAAM,MAAM,eAAe,GAAG;IAC7B,4BAA4B;IAC5B,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB,CAAA;AAED,qBAAa,QAAS,SAAQ,eAAe,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IAC9C,SAAS,CAAC,QAAQ,EAAE,QAAQ;gBAAlB,QAAQ,EAAE,QAAQ;IAaxC;;;;OAIG;IACG,GAAG,CAAC,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAC,CAAC;IAK1D;;;;;OAKG;IACH,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,KAAK,GAAG,EAAE,IAAI,GAAE;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,OAAO,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAM,GAAG,WAAW;CAKhI"}
package/dist/sms.d.ts ADDED
@@ -0,0 +1,14 @@
1
+ import { Message, PathEventEmitter } from './core';
2
+ import { Momentum } from './momentum';
3
+ /** Send messages */
4
+ export declare class Sms extends PathEventEmitter {
5
+ protected momentum: Momentum;
6
+ constructor(momentum: Momentum);
7
+ /**
8
+ * Send an sms to a number
9
+ * @param {Message} message Text that will be sent
10
+ * @return {Promise<any>} Twilio message instance
11
+ */
12
+ create(message: Message): Promise<any>;
13
+ }
14
+ //# sourceMappingURL=sms.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sms.d.ts","sourceRoot":"","sources":["../src/sms.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,OAAO,EAAE,gBAAgB,EAAM,MAAM,QAAQ,CAAC;AACtD,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AAEpC,oBAAoB;AACpB,qBAAa,GAAI,SAAQ,gBAAgB;IAC5B,SAAS,CAAC,QAAQ,EAAE,QAAQ;gBAAlB,QAAQ,EAAE,QAAQ;IAIxC;;;;OAIG;IACH,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;CAItC"}
package/dist/sockets.d.ts CHANGED
@@ -1,14 +1,25 @@
1
- import { Api } from './api';
2
- export declare class Socket {
3
- static readonly pollingSpeed = 30000;
4
- private readonly api;
5
- readonly url: string;
1
+ import { PathEvent, PathEventEmitter } from './core';
2
+ import { Momentum } from './momentum';
3
+ export declare class Socket extends PathEventEmitter {
4
+ protected momentum: Momentum;
5
+ static readonly pollingSpeed = 15000;
6
6
  private connection?;
7
- open: boolean;
8
- constructor(api: Api | string);
9
- close(): void;
10
- connect(): void;
11
- private handle;
7
+ private connecting?;
8
+ private connectingResolver?;
9
+ private events;
10
+ private reconnect;
11
+ private pending;
12
+ private token?;
13
+ private reconnectTimeout;
14
+ connected: boolean;
15
+ constructor(momentum: Momentum);
16
+ private scheduleReconnect;
17
+ close(reconnect?: boolean): void;
18
+ connect(): Promise<void>;
19
+ ping(): Promise<number>;
12
20
  send(channel: string, payload?: any): void;
21
+ subscribe(event: string | PathEvent): Promise<boolean>;
22
+ subscriptions(): Promise<string[]>;
23
+ unsubscribe(event: string | PathEvent): Promise<boolean>;
13
24
  }
14
25
  //# sourceMappingURL=sockets.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sockets.d.ts","sourceRoot":"","sources":["../src/sockets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAC,MAAM,OAAO,CAAC;AAE1B,qBAAa,MAAM;IAClB,MAAM,CAAC,QAAQ,CAAC,YAAY,SAAS;IAErC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAO;IAE3B,QAAQ,CAAC,GAAG,EAAG,MAAM,CAAC;IAEtB,OAAO,CAAC,UAAU,CAAC,CAAY;IAE/B,IAAI,UAAS;gBAED,GAAG,EAAE,GAAG,GAAG,MAAM;IAO7B,KAAK;IAOL,OAAO;IAmBP,OAAO,CAAC,MAAM;IAId,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,GAAG;CAOnC"}
1
+ {"version":3,"file":"sockets.d.ts","sourceRoot":"","sources":["../src/sockets.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,SAAS,EAAE,gBAAgB,EAAC,MAAM,QAAQ,CAAC;AACnD,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AAEpC,qBAAa,MAAO,SAAQ,gBAAgB;IAY/B,SAAS,CAAC,QAAQ,EAAE,QAAQ;IAXxC,MAAM,CAAC,QAAQ,CAAC,YAAY,SAAS;IACrC,OAAO,CAAC,UAAU,CAAC,CAAY;IAC/B,OAAO,CAAC,UAAU,CAAC,CAAgB;IACnC,OAAO,CAAC,kBAAkB,CAAC,CAAW;IACtC,OAAO,CAAC,MAAM,CAA+B;IAC7C,OAAO,CAAC,SAAS,CAAQ;IACzB,OAAO,CAAC,OAAO,CAAuC;IACtD,OAAO,CAAC,KAAK,CAAC,CAAgB;IAC9B,OAAO,CAAC,gBAAgB,CAAM;IAC9B,SAAS,UAAS;gBAEI,QAAQ,EAAE,QAAQ;IAOxC,OAAO,CAAC,iBAAiB;IAQzB,KAAK,CAAC,SAAS,CAAC,EAAE,OAAO;IAczB,OAAO;IA2CD,IAAI,IAAI,OAAO,CAAC,MAAM,CAAC;IAS7B,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,GAAE,GAAU,GAAG,IAAI;IAQhD,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;IAchD,aAAa,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;IAQxC,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC;CAaxD"}
package/dist/static.d.ts CHANGED
@@ -1,6 +1,8 @@
1
- import { Api } from './api';
1
+ import { Momentum } from './momentum';
2
2
  import { Storage } from './storage';
3
+ /** Static webserver */
3
4
  export declare class Static extends Storage {
4
- constructor(api: Api | string);
5
+ protected momentum: Momentum;
6
+ constructor(momentum: Momentum);
5
7
  }
6
8
  //# sourceMappingURL=static.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"static.d.ts","sourceRoot":"","sources":["../src/static.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAC,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAElC,qBAAa,MAAO,SAAQ,OAAO;gBACtB,GAAG,EAAE,GAAG,GAAG,MAAM;CAG7B"}
1
+ {"version":3,"file":"static.d.ts","sourceRoot":"","sources":["../src/static.ts"],"names":[],"mappings":"AACA,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AACpC,OAAO,EAAC,OAAO,EAAC,MAAM,WAAW,CAAC;AAElC,uBAAuB;AACvB,qBAAa,MAAO,SAAQ,OAAO;IACtB,SAAS,CAAC,QAAQ,EAAE,QAAQ;gBAAlB,QAAQ,EAAE,QAAQ;CAGxC"}
package/dist/storage.d.ts CHANGED
@@ -1,38 +1,117 @@
1
- import { Api } from './api';
2
1
  import { Meta } from './core';
3
- import { PromiseProgress, HttpRequestOptions, PathEventEmitter } from '@ztimson/utils';
4
- export type DirMeta = {
5
- children: (DirMeta | FileMeta)[];
6
- path: string;
7
- name: string;
8
- mime: 'directory';
9
- size: number;
2
+ import { Cache, PromiseProgress, PathEventEmitter, Unsubscribe, PathEvent } from '@ztimson/utils';
3
+ import { Momentum } from './momentum';
4
+ /** Directory information */
5
+ export type DirMeta = FileMeta & {
6
+ /** Folder contents */
7
+ readonly children: (DirMeta | FileMeta)[];
8
+ /** Mime type, always directory */
9
+ readonly mime: 'directory';
10
10
  };
11
+ /** File information */
11
12
  export type FileMeta = Meta & {
12
- path: string;
13
- name: string;
14
- mime: string;
15
- size: number;
16
- missing?: boolean;
13
+ /** File location */
14
+ readonly path: string;
15
+ /** File name */
16
+ readonly name: string;
17
+ /** File mimetype */
18
+ readonly mime: string;
19
+ /** File size */
20
+ readonly size: number;
21
+ /** Missing from file system */
22
+ readonly missing?: boolean;
23
+ /** Text extracted from file */
24
+ readonly text?: string;
17
25
  };
26
+ /** File storage */
18
27
  export declare class Storage extends PathEventEmitter {
19
- private readonly path;
20
- readonly api: Api;
21
- constructor(api: Api | string, path?: string);
22
- copy(source: string, destination: string): Promise<DirMeta | FileMeta>;
23
- delete(path: string): Promise<void>;
24
- download(path: string, opts?: HttpRequestOptions & {
28
+ protected momentum: Momentum;
29
+ private readonly module;
30
+ private readonly subscribers;
31
+ cache: Cache<string, FileMeta | DirMeta>;
32
+ constructor(momentum: Momentum, module?: string);
33
+ /**
34
+ * List all files
35
+ * @param {string} path Target directory
36
+ * @return {Promise<DirMeta>} Directory metadata
37
+ */
38
+ all(path?: string): Promise<(DirMeta | FileMeta)[]>;
39
+ /**
40
+ * Copy one location to another
41
+ * @param {string} source Source location
42
+ * @param {string} destination Destination of copy
43
+ * @return {Promise<DirMeta | FileMeta>} Metadata of copy
44
+ */
45
+ copy(source: string, destination?: string): Promise<DirMeta | FileMeta>;
46
+ /**
47
+ * Delete location
48
+ * @param {string} path Target module
49
+ * @return {Promise<void>} Returns once complete
50
+ */
51
+ delete(path: string): Promise<number>;
52
+ /**
53
+ * Download module
54
+ * @param {string} path Path to target
55
+ * @param {{downloadAs?: string}} opts Download filename
56
+ * @return {PromiseProgress<Blob>} File as blob with progress tracking
57
+ */
58
+ download(path: string, opts?: {
25
59
  'downloadAs'?: string;
26
60
  }): PromiseProgress<Blob>;
27
- list(path?: string): Promise<DirMeta | FileMeta>;
28
- open(path: string, target: false): string;
29
- open(path: string, target?: '_blank' | '_self'): Window | null;
61
+ /**
62
+ * Retrieve file/folder metadata
63
+ * @param {string} path Path to target
64
+ * @return {Promise<DirMeta | FileMeta>} Metadata
65
+ */
66
+ meta(path?: string): Promise<DirMeta | FileMeta>;
67
+ /**
68
+ * Create a new directory
69
+ * @param {string} path Directory module
70
+ * @return {Promise<DirMeta>} New directory metadata
71
+ */
30
72
  mkdir(path: string): Promise<DirMeta>;
73
+ /**
74
+ * Move a file from one location to another
75
+ * @param {string} source Target that will be moved
76
+ * @param {string} destination Destination location
77
+ * @return {Promise<DirMeta | FileMeta>} New file/folder metadata
78
+ */
31
79
  move(source: string, destination: string): Promise<DirMeta | FileMeta>;
32
- upload(files?: File | File[] | null, opts?: string | {
33
- path?: string;
80
+ /**
81
+ * Create file link & open
82
+ * @param {string} path Path to target
83
+ * @param {false} target Anchor link target: null, _blank, _self
84
+ * @return {string} URL of file
85
+ */
86
+ open(path: string, target: false): string;
87
+ open(path: string, target?: '_blank' | '_self'): Window | null;
88
+ /**
89
+ * Read file as text via extraction or OCR
90
+ * @param {string} path Path to target
91
+ * @return {Promise<string>} Extracted text
92
+ */
93
+ text(path?: string): Promise<string>;
94
+ /**
95
+ * Upload file(s) to server, Uses file browser if no files provided
96
+ * @param path Path files will be uploaded to
97
+ * @param {File | File[] | null} files Files to upload or null to open file browser
98
+ * @param {string | {accept?: string, rename?: string, multiple?: boolean}} opts file browser options & rename file on upload
99
+ * @return {PromiseProgress<FileMeta[]>} Returns once complete with progress tracking
100
+ */
101
+ upload(path?: string, files?: File | File[] | null, opts?: {
102
+ rename?: string;
34
103
  accept?: string;
35
104
  multiple?: boolean;
36
105
  }): PromiseProgress<FileMeta[]>;
106
+ /**
107
+ * Subscribe to live updates with callback
108
+ * @param path Path to data
109
+ * @param {(value: DirMeta | FileMeta) => any} callback Received changes
110
+ * @param opts Reload data immediately
111
+ * @return {() => void} Function to unsubscribe
112
+ */
113
+ sync(path: string, callback: ((event: PathEvent, value: DirMeta | FileMeta) => any), opts?: {
114
+ reload?: boolean;
115
+ }): Unsubscribe;
37
116
  }
38
117
  //# sourceMappingURL=storage.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,GAAG,EAAC,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAC,KAAK,IAAI,EAAC,MAAM,QAAQ,CAAC;AACjC,OAAO,EACN,eAAe,EACf,kBAAkB,EAKlB,gBAAgB,EAChB,MAAM,gBAAgB,CAAC;AAExB,MAAM,MAAM,OAAO,GAAG;IACrB,QAAQ,EAAE,CAAC,OAAO,GAAG,QAAQ,CAAC,EAAE,CAAC;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,WAAW,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACb,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,OAAO,CAAC;CAClB,CAAA;AAED,qBAAa,OAAQ,SAAQ,gBAAgB;IAGb,OAAO,CAAC,QAAQ,CAAC,IAAI;IAFpD,QAAQ,CAAC,GAAG,EAAG,GAAG,CAAC;gBAEP,GAAG,EAAE,GAAG,GAAG,MAAM,EAAmB,IAAI,GAAE,MAAkB;IAKxE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC;IAQtE,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAOnC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,GAAE,kBAAkB,GAAG;QAAC,YAAY,CAAC,EAAE,MAAM,CAAA;KAAM,GAAG,eAAe,CAAC,IAAI,CAAC;IAWtG,IAAI,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC;IAQhD,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,GAAG,MAAM;IACzC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,MAAM,GAAG,IAAI;IAS9D,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQrC,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,GAAG,QAAQ,CAAC;IAStE,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,GAAG,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,CAAC,EAAE,MAAM,GAAG;QAAC,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAC,GAAG,eAAe,CAAC,QAAQ,EAAE,CAAC;CAiBvI"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { AssetController } from './asset-controller';
2
+ import { Meta } from './core';
3
+ import { Momentum } from './momentum';
4
+ /** HTML template */
5
+ export type Template = Meta & {
6
+ /** Template description */
7
+ description: string;
8
+ /** Template string */
9
+ value: string;
10
+ };
11
+ /** Render template */
12
+ export type RenderTemplate = {
13
+ template: string;
14
+ data?: any;
15
+ };
16
+ /** Manage and render templates */
17
+ export declare class Templates extends AssetController<Template> {
18
+ protected momentum: Momentum;
19
+ constructor(momentum: Momentum);
20
+ render(id: string, data: any): Promise<string>;
21
+ renderHtml(html: string, data: any): Promise<string>;
22
+ }
23
+ //# sourceMappingURL=templates.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,eAAe,EAAC,MAAM,oBAAoB,CAAC;AACnD,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AAEpC,oBAAoB;AACpB,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG;IAC7B,2BAA2B;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,sBAAsB;IACtB,KAAK,EAAE,MAAM,CAAC;CACd,CAAA;AAED,sBAAsB;AACtB,MAAM,MAAM,cAAc,GAAG;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,GAAG,CAAA;CAAC,CAAC;AAE5D,kCAAkC;AAClC,qBAAa,SAAU,SAAQ,eAAe,CAAC,QAAQ,CAAC;IAC3C,SAAS,CAAC,QAAQ,EAAE,QAAQ;gBAAlB,QAAQ,EAAE,QAAQ;IAIxC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;IAI9C,UAAU,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,OAAO,CAAC,MAAM,CAAC;CAGpD"}
@@ -0,0 +1,50 @@
1
+ import { PathEvent, Unsubscribe } from '@ztimson/utils';
2
+ import { Meta, PathEventEmitter } from './core';
3
+ import { Momentum } from './momentum';
4
+ export type Token = Meta & {
5
+ /** Token value */
6
+ readonly token?: string;
7
+ /** User defined name */
8
+ readonly name: string;
9
+ /** Assigned to */
10
+ readonly owner: string;
11
+ /** Expiration */
12
+ readonly expire?: Date;
13
+ };
14
+ /** Manage user tokens */
15
+ export declare class Tokens extends PathEventEmitter {
16
+ protected momentum: Momentum;
17
+ private controller;
18
+ get cache(): import('@ztimson/utils').Cache<string, Token>;
19
+ constructor(momentum: Momentum);
20
+ /**
21
+ * Fetch all tokens for user
22
+ * @param {string} username User to search
23
+ * @param reload Force reload instead of using cache
24
+ * @return {Promise<Token[]>} List of tokens
25
+ */
26
+ all(username: string, reload?: boolean): Promise<Token[]>;
27
+ /**
28
+ * Create a new user token
29
+ * @param {{name: string, owner: string, expire: null | Date}} token Token settings
30
+ * @return {Promise<Token>} Crated token
31
+ */
32
+ create(token: Token): Promise<Token>;
33
+ /**
34
+ * Delete an existing token
35
+ * @param {string} id Token ID
36
+ * @return {Promise<void>} Resolves once complete
37
+ */
38
+ delete(id: string): Promise<number>;
39
+ /**
40
+ * Subscribe to token changes for user
41
+ * @param {(value: Product[]) => any | null} callback Received changes
42
+ * @param opts Scope to single user
43
+ * @return {() => void} Function to unsubscribe
44
+ */
45
+ sync(callback: (event: PathEvent, value: Token[]) => any | null, opts?: {
46
+ username?: string;
47
+ reload?: boolean;
48
+ }): Unsubscribe;
49
+ }
50
+ //# sourceMappingURL=tokens.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../src/tokens.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAE,WAAW,EAAC,MAAM,gBAAgB,CAAC;AAEtD,OAAO,EAAC,IAAI,EAAE,gBAAgB,EAAC,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AAEpC,MAAM,MAAM,KAAK,GAAG,IAAI,GAAG;IAC1B,kBAAkB;IAClB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,wBAAwB;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,kBAAkB;IAClB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,iBAAiB;IACjB,QAAQ,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC;CACvB,CAAA;AAED,yBAAyB;AACzB,qBAAa,MAAO,SAAQ,gBAAgB;IAK/B,SAAS,CAAC,QAAQ,EAAE,QAAQ;IAJxC,OAAO,CAAC,UAAU,CAAyB;IAE3C,IAAI,KAAK,kDAAoC;gBAEvB,QAAQ,EAAE,QAAQ;IAMxC;;;;;OAKG;IACH,GAAG,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAIzD;;;;OAIG;IACH,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAIpC;;;;OAIG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAInC;;;;;OAKG;IACH,IAAI,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,GAAG,IAAI,EAAE,IAAI,GAAE;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,OAAO,CAAA;KAAM,GAAG,WAAW;CAG/H"}
package/dist/totp.d.ts ADDED
@@ -0,0 +1,45 @@
1
+ import { Momentum } from './momentum';
2
+ export type TotpMethods = 'app' | 'call' | 'email' | 'sms';
3
+ /** Mange user 2FA */
4
+ export declare class Totp {
5
+ protected momentum: Momentum;
6
+ constructor(momentum: Momentum);
7
+ /**
8
+ * Set default 2FA method
9
+ * @param {string} username User to set 2FA method on
10
+ * @param {string} method Default method, must be either: app, call, email, sms
11
+ * @returns {Promise<void>} Returns once complete
12
+ */
13
+ default(username: string, method?: string): import('@ztimson/utils').PromiseProgress<void>;
14
+ /**
15
+ * Disable 2FA for user
16
+ * @param {string} username User to disable 2FA for
17
+ * @param password Confirm user password (Not required as admin)
18
+ * @return {Promise<void>} Resolves once complete
19
+ */
20
+ disable(username: string, password?: string): import('@ztimson/utils').PromiseProgress<void>;
21
+ /**
22
+ * Enable 2FA for user
23
+ * @param {string} username User to reset
24
+ * @return {Promise<void>} Resolves once complete
25
+ */
26
+ enable: (username: string, password?: string) => Promise<void>;
27
+ /**
28
+ * Reset users 2FA
29
+ * @param {string} username User to reset
30
+ * @param password Confirm user password (Not required as admin)
31
+ * @return {Promise<void>} Resolves once complete
32
+ */
33
+ reset(username: string, password?: string): Promise<void>;
34
+ /**
35
+ * Fetch TOTP secret to set up authenticator
36
+ * @param {string} username
37
+ * @param password Confirm user password (Not required as admin)
38
+ * @returns {Promise<{secret: string, qr: string}>}
39
+ */
40
+ secret(username: string, password?: string): Promise<{
41
+ secret: string;
42
+ qr: string;
43
+ }>;
44
+ }
45
+ //# sourceMappingURL=totp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"totp.d.ts","sourceRoot":"","sources":["../src/totp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAC,MAAM,YAAY,CAAC;AAEpC,MAAM,MAAM,WAAW,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;AAE3D,qBAAqB;AACrB,qBAAa,IAAI;IACJ,SAAS,CAAC,QAAQ,EAAE,QAAQ;gBAAlB,QAAQ,EAAE,QAAQ;IAExC;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM;IAIzC;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM;IAI3C;;;;OAIG;IACH,MAAM,aAQU,MAAM,aAAa,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC,CARrC;IAEpB;;;;;OAKG;IACH,KAAK,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzD;;;;;OAKG;IACH,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,CAAC;QAAC,EAAE,EAAE,MAAM,CAAA;KAAC,CAAC;CAGlF"}