@venizia/ignis 0.2.0-13 → 0.2.0-15
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/base/applications/base.d.ts +11 -17
- package/dist/base/applications/base.d.ts.map +1 -1
- package/dist/base/applications/base.js +49 -58
- package/dist/base/applications/base.js.map +1 -1
- package/dist/base/applications/boot-steps.d.ts +13 -0
- package/dist/base/applications/boot-steps.d.ts.map +1 -0
- package/dist/base/applications/boot-steps.js +23 -0
- package/dist/base/applications/boot-steps.js.map +1 -0
- package/dist/base/applications/common/index.d.ts +2 -0
- package/dist/base/applications/common/index.d.ts.map +1 -0
- package/dist/base/applications/common/index.js +18 -0
- package/dist/base/applications/common/index.js.map +1 -0
- package/dist/base/applications/common/types.d.ts.map +1 -0
- package/dist/base/applications/common/types.js.map +1 -0
- package/dist/base/applications/index.d.ts +2 -1
- package/dist/base/applications/index.d.ts.map +1 -1
- package/dist/base/applications/index.js +2 -1
- package/dist/base/applications/index.js.map +1 -1
- package/dist/base/applications/server.d.ts +1 -1
- package/dist/base/applications/server.d.ts.map +1 -1
- package/dist/base/middlewares/app-error/app-error.middleware.d.ts +3 -2
- package/dist/base/middlewares/app-error/app-error.middleware.d.ts.map +1 -1
- package/dist/base/middlewares/app-error/app-error.middleware.js +4 -3
- package/dist/base/middlewares/app-error/app-error.middleware.js.map +1 -1
- package/dist/base/middlewares/request-spy/request-spy.middleware.d.ts.map +1 -1
- package/dist/base/middlewares/request-spy/request-spy.middleware.js +2 -1
- package/dist/base/middlewares/request-spy/request-spy.middleware.js.map +1 -1
- package/dist/components/api-reference/component.js +2 -2
- package/dist/components/api-reference/component.js.map +1 -1
- package/dist/components/api-reference/index.d.ts +1 -1
- package/dist/components/api-reference/index.d.ts.map +1 -1
- package/dist/components/api-reference/index.js +1 -1
- package/dist/components/api-reference/index.js.map +1 -1
- package/dist/components/api-reference/ui/factory.d.ts +14 -0
- package/dist/components/api-reference/ui/factory.d.ts.map +1 -0
- package/dist/components/api-reference/ui/factory.js +53 -0
- package/dist/components/api-reference/ui/factory.js.map +1 -0
- package/dist/components/api-reference/ui/index.d.ts +4 -0
- package/dist/components/api-reference/ui/index.d.ts.map +1 -0
- package/dist/components/api-reference/ui/index.js +20 -0
- package/dist/components/api-reference/ui/index.js.map +1 -0
- package/dist/components/api-reference/ui/scalar.d.ts +8 -0
- package/dist/components/api-reference/ui/scalar.d.ts.map +1 -0
- package/dist/components/api-reference/ui/scalar.js +28 -0
- package/dist/components/api-reference/ui/scalar.js.map +1 -0
- package/dist/components/api-reference/ui/swagger.d.ts +8 -0
- package/dist/components/api-reference/ui/swagger.d.ts.map +1 -0
- package/dist/components/api-reference/ui/swagger.js +28 -0
- package/dist/components/api-reference/ui/swagger.js.map +1 -0
- package/dist/components/auth/authenticate/controllers/factory.d.ts +29 -2
- package/dist/components/auth/authenticate/controllers/factory.d.ts.map +1 -1
- package/dist/components/auth/authenticate/strategies/index.d.ts +1 -1
- package/dist/components/auth/authenticate/strategies/index.d.ts.map +1 -1
- package/dist/components/auth/authenticate/strategies/index.js +1 -1
- package/dist/components/auth/authenticate/strategies/index.js.map +1 -1
- package/dist/components/auth/authenticate/strategies/jwks/index.d.ts +3 -0
- package/dist/components/auth/authenticate/strategies/jwks/index.d.ts.map +1 -0
- package/dist/components/auth/authenticate/strategies/jwks/index.js +19 -0
- package/dist/components/auth/authenticate/strategies/jwks/index.js.map +1 -0
- package/dist/components/auth/authenticate/strategies/jwks/issuer.d.ts +13 -0
- package/dist/components/auth/authenticate/strategies/jwks/issuer.d.ts.map +1 -0
- package/dist/components/auth/authenticate/strategies/{jwks.strategy.js → jwks/issuer.js} +4 -27
- package/dist/components/auth/authenticate/strategies/jwks/issuer.js.map +1 -0
- package/dist/components/auth/authenticate/strategies/{jwks.strategy.d.ts → jwks/verifier.d.ts} +2 -10
- package/dist/components/auth/authenticate/strategies/jwks/verifier.d.ts.map +1 -0
- package/dist/components/auth/authenticate/strategies/jwks/verifier.js +45 -0
- package/dist/components/auth/authenticate/strategies/jwks/verifier.js.map +1 -0
- package/dist/components/auth/authorize/adapters/base-filtered.d.ts +1 -1
- package/dist/components/auth/authorize/adapters/base-filtered.d.ts.map +1 -1
- package/dist/components/auth/authorize/adapters/common/index.d.ts +2 -0
- package/dist/components/auth/authorize/adapters/common/index.d.ts.map +1 -0
- package/dist/components/auth/authorize/adapters/common/index.js +18 -0
- package/dist/components/auth/authorize/adapters/common/index.js.map +1 -0
- package/dist/components/auth/authorize/adapters/{types.d.ts → common/types.d.ts} +1 -1
- package/dist/components/auth/authorize/adapters/common/types.d.ts.map +1 -0
- package/dist/components/auth/authorize/adapters/common/types.js.map +1 -0
- package/dist/components/auth/authorize/adapters/connector.d.ts +1 -1
- package/dist/components/auth/authorize/adapters/connector.d.ts.map +1 -1
- package/dist/components/auth/authorize/adapters/custom-grant-expander.d.ts +1 -1
- package/dist/components/auth/authorize/adapters/custom-grant-expander.d.ts.map +1 -1
- package/dist/components/auth/authorize/adapters/index.d.ts +2 -2
- package/dist/components/auth/authorize/adapters/index.d.ts.map +1 -1
- package/dist/components/auth/authorize/adapters/index.js +2 -2
- package/dist/components/auth/authorize/adapters/index.js.map +1 -1
- package/dist/components/auth/authorize/adapters/{scoped-casbin.adapter.d.ts → scoped-casbin/adapter.d.ts} +7 -66
- package/dist/components/auth/authorize/adapters/scoped-casbin/adapter.d.ts.map +1 -0
- package/dist/components/auth/authorize/adapters/{scoped-casbin.adapter.js → scoped-casbin/adapter.js} +14 -20
- package/dist/components/auth/authorize/adapters/scoped-casbin/adapter.js.map +1 -0
- package/dist/components/auth/authorize/adapters/scoped-casbin/common/constants.d.ts +2 -0
- package/dist/components/auth/authorize/adapters/scoped-casbin/common/constants.d.ts.map +1 -0
- package/dist/components/auth/authorize/adapters/scoped-casbin/common/constants.js +5 -0
- package/dist/components/auth/authorize/adapters/scoped-casbin/common/constants.js.map +1 -0
- package/dist/components/auth/authorize/adapters/scoped-casbin/common/index.d.ts +3 -0
- package/dist/components/auth/authorize/adapters/scoped-casbin/common/index.d.ts.map +1 -0
- package/dist/components/auth/authorize/adapters/scoped-casbin/common/index.js +19 -0
- package/dist/components/auth/authorize/adapters/scoped-casbin/common/index.js.map +1 -0
- package/dist/components/auth/authorize/adapters/scoped-casbin/common/types.d.ts +50 -0
- package/dist/components/auth/authorize/adapters/scoped-casbin/common/types.d.ts.map +1 -0
- package/dist/components/auth/authorize/adapters/scoped-casbin/common/types.js +3 -0
- package/dist/components/auth/authorize/adapters/scoped-casbin/common/types.js.map +1 -0
- package/dist/components/auth/authorize/adapters/scoped-casbin/index.d.ts +4 -0
- package/dist/components/auth/authorize/adapters/scoped-casbin/index.d.ts.map +1 -0
- package/dist/components/auth/authorize/adapters/scoped-casbin/index.js +19 -0
- package/dist/components/auth/authorize/adapters/scoped-casbin/index.js.map +1 -0
- package/dist/components/auth/authorize/adapters/scoped-casbin/policy-edges.d.ts +17 -0
- package/dist/components/auth/authorize/adapters/scoped-casbin/policy-edges.d.ts.map +1 -0
- package/dist/components/auth/authorize/adapters/scoped-casbin/policy-edges.js +11 -0
- package/dist/components/auth/authorize/adapters/scoped-casbin/policy-edges.js.map +1 -0
- package/dist/components/mail/common/constants.d.ts +7 -0
- package/dist/components/mail/common/constants.d.ts.map +1 -1
- package/dist/components/mail/common/constants.js +7 -1
- package/dist/components/mail/common/constants.js.map +1 -1
- package/dist/components/mail/common/types/index.d.ts +6 -0
- package/dist/components/mail/common/types/index.d.ts.map +1 -0
- package/dist/components/mail/common/types/index.js +22 -0
- package/dist/components/mail/common/types/index.js.map +1 -0
- package/dist/components/mail/common/types/message.d.ts +48 -0
- package/dist/components/mail/common/types/message.d.ts.map +1 -0
- package/dist/components/mail/common/types/message.js +3 -0
- package/dist/components/mail/common/types/message.js.map +1 -0
- package/dist/components/mail/common/types/options.d.ts +42 -0
- package/dist/components/mail/common/types/options.d.ts.map +1 -0
- package/dist/components/mail/common/types/options.js +3 -0
- package/dist/components/mail/common/types/options.js.map +1 -0
- package/dist/components/mail/common/types/queue.d.ts +53 -0
- package/dist/components/mail/common/types/queue.d.ts.map +1 -0
- package/dist/components/mail/common/types/queue.js +3 -0
- package/dist/components/mail/common/types/queue.js.map +1 -0
- package/dist/components/mail/common/types/template.d.ts +33 -0
- package/dist/components/mail/common/types/template.d.ts.map +1 -0
- package/dist/components/mail/common/types/template.js +3 -0
- package/dist/components/mail/common/types/template.js.map +1 -0
- package/dist/components/mail/common/types/verification.d.ts +26 -0
- package/dist/components/mail/common/types/verification.d.ts.map +1 -0
- package/dist/components/mail/common/types/verification.js +3 -0
- package/dist/components/mail/common/types/verification.js.map +1 -0
- package/dist/components/mail/services/generators/index.d.ts +4 -0
- package/dist/components/mail/services/generators/index.d.ts.map +1 -0
- package/dist/components/mail/services/generators/index.js +20 -0
- package/dist/components/mail/services/generators/index.js.map +1 -0
- package/dist/components/mail/services/generators/numeric-code.d.ts +7 -0
- package/dist/components/mail/services/generators/numeric-code.d.ts.map +1 -0
- package/dist/components/mail/services/generators/numeric-code.js +20 -0
- package/dist/components/mail/services/generators/numeric-code.js.map +1 -0
- package/dist/components/mail/services/generators/random-token.d.ts +7 -0
- package/dist/components/mail/services/generators/random-token.d.ts.map +1 -0
- package/dist/components/mail/services/generators/random-token.js +18 -0
- package/dist/components/mail/services/generators/random-token.js.map +1 -0
- package/dist/components/mail/services/{generator.service.d.ts → generators/verification-data.d.ts} +2 -10
- package/dist/components/mail/services/generators/verification-data.d.ts.map +1 -0
- package/dist/components/mail/services/{generator.service.js → generators/verification-data.js} +5 -29
- package/dist/components/mail/services/generators/verification-data.js.map +1 -0
- package/dist/components/mail/services/index.d.ts +1 -1
- package/dist/components/mail/services/index.d.ts.map +1 -1
- package/dist/components/mail/services/index.js +1 -1
- package/dist/components/mail/services/index.js.map +1 -1
- package/dist/components/static-asset/controller/factory.d.ts +30 -2
- package/dist/components/static-asset/controller/factory.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/package.json +22 -22
- package/dist/base/applications/types.d.ts.map +0 -1
- package/dist/base/applications/types.js.map +0 -1
- package/dist/components/api-reference/ui-factory.d.ts +0 -24
- package/dist/components/api-reference/ui-factory.d.ts.map +0 -1
- package/dist/components/api-reference/ui-factory.js +0 -97
- package/dist/components/api-reference/ui-factory.js.map +0 -1
- package/dist/components/auth/authenticate/strategies/jwks.strategy.d.ts.map +0 -1
- package/dist/components/auth/authenticate/strategies/jwks.strategy.js.map +0 -1
- package/dist/components/auth/authorize/adapters/scoped-casbin.adapter.d.ts.map +0 -1
- package/dist/components/auth/authorize/adapters/scoped-casbin.adapter.js.map +0 -1
- package/dist/components/auth/authorize/adapters/types.d.ts.map +0 -1
- package/dist/components/auth/authorize/adapters/types.js.map +0 -1
- package/dist/components/mail/common/types.d.ts +0 -201
- package/dist/components/mail/common/types.d.ts.map +0 -1
- package/dist/components/mail/common/types.js +0 -10
- package/dist/components/mail/common/types.js.map +0 -1
- package/dist/components/mail/services/generator.service.d.ts.map +0 -1
- package/dist/components/mail/services/generator.service.js.map +0 -1
- /package/dist/base/applications/{types.d.ts → common/types.d.ts} +0 -0
- /package/dist/base/applications/{types.js → common/types.js} +0 -0
- /package/dist/components/auth/authorize/adapters/{types.js → common/types.js} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../../../../src/components/mail/common/types/options.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAC7D,OAAO,KAAK,aAAa,MAAM,+BAA+B,CAAC;AAC/D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEhD,MAAM,WAAW,gBAAgB;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,sBAAuB,SAAQ,gBAAgB;IAC9D,QAAQ,EAAE,YAAY,CAAC;IACvB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,MAAM,CAAC,EAAE,iBAAiB,CAAC;CAC5B;AAED,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC3D,QAAQ,EAAE,SAAS,CAAC;IACpB,MAAM,EAAE,cAAc,CAAC;IACvB,MAAM,CAAC,EAAE,cAAc,CAAC;CACzB;AAED,MAAM,WAAW,kBAAmB,SAAQ,gBAAgB;IAC1D,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,cAAc,CAAC;CACxB;AAED,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC3D,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,MAAM,MAAM,YAAY,GACtB,sBAAsB,GAAG,mBAAmB,GAAG,kBAAkB,GAAG,mBAAmB,CAAC;AAE1F,MAAM,MAAM,iBAAiB,GAAG,aAAa,GAAG,aAAa,CAAC,OAAO,GAAG,MAAM,CAAC;AAG/E,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1D;;;;;;GAMG;AACH,MAAM,MAAM,iBAAiB,GAAG;IAC9B,eAAe,EAAE,CAAC,MAAM,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC;CACnE,CAAC;AAEF,MAAM,MAAM,cAAc,GAAG,KAAK,QAAQ,EAAE,OAAO,KAAK,OAAO,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"options.js","sourceRoot":"","sources":["../../../../../src/components/mail/common/types/options.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { TConstValue } from '@venizia/ignis-helpers/common';
|
|
2
|
+
import type { IRedisSingleHelperOptions } from '@venizia/ignis-helpers';
|
|
3
|
+
import type { BullMQExecutorModes, MailQueueExecutorTypes } from '../constants';
|
|
4
|
+
export interface IMailQueueOptions {
|
|
5
|
+
priority?: number;
|
|
6
|
+
delay?: number;
|
|
7
|
+
attempts?: number;
|
|
8
|
+
backoff?: {
|
|
9
|
+
type: 'fixed' | 'exponential';
|
|
10
|
+
delay: number;
|
|
11
|
+
};
|
|
12
|
+
}
|
|
13
|
+
export interface IMailProcessorResult {
|
|
14
|
+
success: boolean;
|
|
15
|
+
message: string;
|
|
16
|
+
expiresInMinutes: number;
|
|
17
|
+
nextResendAt?: string;
|
|
18
|
+
}
|
|
19
|
+
export interface IMailQueueResult {
|
|
20
|
+
jobId?: string;
|
|
21
|
+
queued: boolean;
|
|
22
|
+
message: string;
|
|
23
|
+
result?: IMailProcessorResult;
|
|
24
|
+
}
|
|
25
|
+
export interface IMailQueueExecutor {
|
|
26
|
+
enqueueVerificationEmail(email: string, options?: IMailQueueOptions): Promise<IMailQueueResult>;
|
|
27
|
+
setProcessor(processor: (email: string) => Promise<IMailProcessorResult>): void;
|
|
28
|
+
}
|
|
29
|
+
/** Envelope every queue-backed executor stores for one pending verification email. */
|
|
30
|
+
export interface IQueueJobPayload {
|
|
31
|
+
id: string;
|
|
32
|
+
email: string;
|
|
33
|
+
options?: IMailQueueOptions;
|
|
34
|
+
attempts: number;
|
|
35
|
+
scheduledAt: number;
|
|
36
|
+
}
|
|
37
|
+
export interface IInternalQueueMailExecutorOpts {
|
|
38
|
+
identifier: string;
|
|
39
|
+
}
|
|
40
|
+
export interface IBullMQMailExecutorOpts {
|
|
41
|
+
redis: IRedisSingleHelperOptions;
|
|
42
|
+
queue: {
|
|
43
|
+
identifier: string;
|
|
44
|
+
name: string;
|
|
45
|
+
};
|
|
46
|
+
mode: TConstValue<typeof BullMQExecutorModes>;
|
|
47
|
+
}
|
|
48
|
+
export interface IMailQueueExecutorConfig {
|
|
49
|
+
type: TConstValue<typeof MailQueueExecutorTypes>;
|
|
50
|
+
internalQueue?: IInternalQueueMailExecutorOpts;
|
|
51
|
+
bullmq?: IBullMQMailExecutorOpts;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=queue.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue.d.ts","sourceRoot":"","sources":["../../../../../src/components/mail/common/types/queue.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;AACjE,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAC;AACxE,OAAO,KAAK,EAAE,mBAAmB,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAEhF,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE;QACR,IAAI,EAAE,OAAO,GAAG,aAAa,CAAC;QAC9B,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;CACH;AAED,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,oBAAoB,CAAC;CAC/B;AAED,MAAM,WAAW,kBAAkB;IACjC,wBAAwB,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,iBAAiB,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAChG,YAAY,CAAC,SAAS,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,OAAO,CAAC,oBAAoB,CAAC,GAAG,IAAI,CAAC;CACjF;AAED,sFAAsF;AACtF,MAAM,WAAW,gBAAgB;IAC/B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,8BAA8B;IAC7C,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,uBAAuB;IACtC,KAAK,EAAE,yBAAyB,CAAC;IACjC,KAAK,EAAE;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5C,IAAI,EAAE,WAAW,CAAC,OAAO,mBAAmB,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,WAAW,CAAC,OAAO,sBAAsB,CAAC,CAAC;IACjD,aAAa,CAAC,EAAE,8BAA8B,CAAC;IAC/C,MAAM,CAAC,EAAE,uBAAuB,CAAC;CAClC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"queue.js","sourceRoot":"","sources":["../../../../../src/components/mail/common/types/queue.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { AnyType } from '@venizia/ignis-helpers/common';
|
|
2
|
+
export interface ITemplate {
|
|
3
|
+
name: string;
|
|
4
|
+
content?: string;
|
|
5
|
+
render?: (data: Record<string, AnyType>) => string;
|
|
6
|
+
subject?: string;
|
|
7
|
+
description?: string;
|
|
8
|
+
}
|
|
9
|
+
export interface IMailTemplateEngine {
|
|
10
|
+
render(opts: {
|
|
11
|
+
templateData?: string;
|
|
12
|
+
templateName?: string;
|
|
13
|
+
data: Record<string, any>;
|
|
14
|
+
requireValidate?: boolean;
|
|
15
|
+
}): string;
|
|
16
|
+
registerTemplate(opts: {
|
|
17
|
+
name: string;
|
|
18
|
+
content: string;
|
|
19
|
+
}): void;
|
|
20
|
+
validateTemplateData(opts: {
|
|
21
|
+
template: string;
|
|
22
|
+
data: Record<string, any>;
|
|
23
|
+
}): {
|
|
24
|
+
isValid: boolean;
|
|
25
|
+
missingKeys: string[];
|
|
26
|
+
allKeys: string[];
|
|
27
|
+
};
|
|
28
|
+
getTemplate(name: string): ITemplate | undefined;
|
|
29
|
+
listTemplates(): ITemplate[];
|
|
30
|
+
hasTemplate(name: string): boolean;
|
|
31
|
+
removeTemplate(name: string): boolean;
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=template.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../../../../../src/components/mail/common/types/template.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAC;AAE7D,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,MAAM,CAAC;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,CAAC,IAAI,EAAE;QACX,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;QAC1B,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B,GAAG,MAAM,CAAC;IACX,gBAAgB,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IAChE,oBAAoB,CAAC,IAAI,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;KAAE,GAAG;QAC3E,OAAO,EAAE,OAAO,CAAC;QACjB,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,OAAO,EAAE,MAAM,EAAE,CAAC;KACnB,CAAC;IACF,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;IACjD,aAAa,IAAI,SAAS,EAAE,CAAC;IAC7B,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;IACnC,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;CACvC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template.js","sourceRoot":"","sources":["../../../../../src/components/mail/common/types/template.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export interface IVerificationGenerationOptions {
|
|
2
|
+
codeLength: number;
|
|
3
|
+
tokenBytes: number;
|
|
4
|
+
codeExpiryMinutes: number;
|
|
5
|
+
tokenExpiryHours: number;
|
|
6
|
+
}
|
|
7
|
+
export interface IVerificationData {
|
|
8
|
+
verificationCode: string;
|
|
9
|
+
codeGeneratedAt: string;
|
|
10
|
+
codeExpiresAt: string;
|
|
11
|
+
codeAttempts: number;
|
|
12
|
+
verificationToken: string;
|
|
13
|
+
tokenGeneratedAt: string;
|
|
14
|
+
tokenExpiresAt: string;
|
|
15
|
+
lastCodeSentAt: string;
|
|
16
|
+
}
|
|
17
|
+
export interface IVerificationCodeGenerator {
|
|
18
|
+
generateCode(length: number): string;
|
|
19
|
+
}
|
|
20
|
+
export interface IVerificationTokenGenerator {
|
|
21
|
+
generateToken(bytes: number): string;
|
|
22
|
+
}
|
|
23
|
+
export interface IVerificationDataGenerator {
|
|
24
|
+
generateVerificationData(options: IVerificationGenerationOptions): IVerificationData;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=verification.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verification.d.ts","sourceRoot":"","sources":["../../../../../src/components/mail/common/types/verification.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,8BAA8B;IAC7C,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,iBAAiB;IAChC,gBAAgB,EAAE,MAAM,CAAC;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IAErB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,MAAM,CAAC;IAEvB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,0BAA0B;IACzC,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,2BAA2B;IAC1C,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAAC;CACtC;AAED,MAAM,WAAW,0BAA0B;IACzC,wBAAwB,CAAC,OAAO,EAAE,8BAA8B,GAAG,iBAAiB,CAAC;CACtF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verification.js","sourceRoot":"","sources":["../../../../../src/components/mail/common/types/verification.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/components/mail/services/generators/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./numeric-code"), exports);
|
|
18
|
+
__exportStar(require("./random-token"), exports);
|
|
19
|
+
__exportStar(require("./verification-data"), exports);
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/components/mail/services/generators/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,iDAA+B;AAC/B,iDAA+B;AAC/B,sDAAoC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { BaseHelper } from '@venizia/ignis-helpers/core';
|
|
2
|
+
import type { IVerificationCodeGenerator } from '../../common';
|
|
3
|
+
export declare class NumericCodeGenerator extends BaseHelper implements IVerificationCodeGenerator {
|
|
4
|
+
constructor();
|
|
5
|
+
generateCode(length: number): string;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=numeric-code.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"numeric-code.d.ts","sourceRoot":"","sources":["../../../../../src/components/mail/services/generators/numeric-code.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAEzD,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,cAAc,CAAC;AAE/D,qBAAa,oBAAqB,SAAQ,UAAW,YAAW,0BAA0B;;IAKxF,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;CAKrC"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.NumericCodeGenerator = void 0;
|
|
7
|
+
const core_1 = require("@venizia/ignis-helpers/core");
|
|
8
|
+
const node_crypto_1 = __importDefault(require("node:crypto"));
|
|
9
|
+
class NumericCodeGenerator extends core_1.BaseHelper {
|
|
10
|
+
constructor() {
|
|
11
|
+
super({ scope: NumericCodeGenerator.name });
|
|
12
|
+
}
|
|
13
|
+
generateCode(length) {
|
|
14
|
+
const max = Math.pow(10, length);
|
|
15
|
+
const code = node_crypto_1.default.randomInt(0, max);
|
|
16
|
+
return code.toString().padStart(length, '0');
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.NumericCodeGenerator = NumericCodeGenerator;
|
|
20
|
+
//# sourceMappingURL=numeric-code.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"numeric-code.js","sourceRoot":"","sources":["../../../../../src/components/mail/services/generators/numeric-code.ts"],"names":[],"mappings":";;;;;;AAAA,sDAAyD;AACzD,8DAAiC;AAGjC,MAAa,oBAAqB,SAAQ,iBAAU;IAClD;QACE,KAAK,CAAC,EAAE,KAAK,EAAE,oBAAoB,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,YAAY,CAAC,MAAc;QACzB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,CAAC;QACjC,MAAM,IAAI,GAAG,qBAAM,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACtC,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC/C,CAAC;CACF;AAVD,oDAUC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { BaseHelper } from '@venizia/ignis-helpers/core';
|
|
2
|
+
import type { IVerificationTokenGenerator } from '../../common';
|
|
3
|
+
export declare class RandomTokenGenerator extends BaseHelper implements IVerificationTokenGenerator {
|
|
4
|
+
constructor();
|
|
5
|
+
generateToken(bytes: number): string;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=random-token.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"random-token.d.ts","sourceRoot":"","sources":["../../../../../src/components/mail/services/generators/random-token.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAEzD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,cAAc,CAAC;AAEhE,qBAAa,oBAAqB,SAAQ,UAAW,YAAW,2BAA2B;;IAKzF,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;CAGrC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.RandomTokenGenerator = void 0;
|
|
7
|
+
const core_1 = require("@venizia/ignis-helpers/core");
|
|
8
|
+
const node_crypto_1 = __importDefault(require("node:crypto"));
|
|
9
|
+
class RandomTokenGenerator extends core_1.BaseHelper {
|
|
10
|
+
constructor() {
|
|
11
|
+
super({ scope: RandomTokenGenerator.name });
|
|
12
|
+
}
|
|
13
|
+
generateToken(bytes) {
|
|
14
|
+
return node_crypto_1.default.randomBytes(bytes).toString('base64url');
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
exports.RandomTokenGenerator = RandomTokenGenerator;
|
|
18
|
+
//# sourceMappingURL=random-token.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"random-token.js","sourceRoot":"","sources":["../../../../../src/components/mail/services/generators/random-token.ts"],"names":[],"mappings":";;;;;;AAAA,sDAAyD;AACzD,8DAAiC;AAGjC,MAAa,oBAAqB,SAAQ,iBAAU;IAClD;QACE,KAAK,CAAC,EAAE,KAAK,EAAE,oBAAoB,CAAC,IAAI,EAAE,CAAC,CAAC;IAC9C,CAAC;IAED,aAAa,CAAC,KAAa;QACzB,OAAO,qBAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IACzD,CAAC;CACF;AARD,oDAQC"}
|
package/dist/components/mail/services/{generator.service.d.ts → generators/verification-data.d.ts}
RENAMED
|
@@ -1,17 +1,9 @@
|
|
|
1
1
|
import { BaseHelper } from '@venizia/ignis-helpers/core';
|
|
2
|
-
import type { IVerificationCodeGenerator, IVerificationData, IVerificationDataGenerator, IVerificationGenerationOptions, IVerificationTokenGenerator } from '
|
|
3
|
-
export declare class NumericCodeGenerator extends BaseHelper implements IVerificationCodeGenerator {
|
|
4
|
-
constructor();
|
|
5
|
-
generateCode(length: number): string;
|
|
6
|
-
}
|
|
7
|
-
export declare class RandomTokenGenerator extends BaseHelper implements IVerificationTokenGenerator {
|
|
8
|
-
constructor();
|
|
9
|
-
generateToken(bytes: number): string;
|
|
10
|
-
}
|
|
2
|
+
import type { IVerificationCodeGenerator, IVerificationData, IVerificationDataGenerator, IVerificationGenerationOptions, IVerificationTokenGenerator } from '../../common';
|
|
11
3
|
export declare class DefaultVerificationDataGenerator extends BaseHelper implements IVerificationDataGenerator {
|
|
12
4
|
private codeGenerator;
|
|
13
5
|
private tokenGenerator;
|
|
14
6
|
constructor(codeGenerator: IVerificationCodeGenerator, tokenGenerator: IVerificationTokenGenerator);
|
|
15
7
|
generateVerificationData(options: IVerificationGenerationOptions): IVerificationData;
|
|
16
8
|
}
|
|
17
|
-
//# sourceMappingURL=
|
|
9
|
+
//# sourceMappingURL=verification-data.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verification-data.d.ts","sourceRoot":"","sources":["../../../../../src/components/mail/services/generators/verification-data.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AAEzD,OAAO,KAAK,EACV,0BAA0B,EAC1B,iBAAiB,EACjB,0BAA0B,EAC1B,8BAA8B,EAC9B,2BAA2B,EAC5B,MAAM,cAAc,CAAC;AAItB,qBAAa,gCACX,SAAQ,UACR,YAAW,0BAA0B;IAInC,OAAO,CAAC,aAAa;IAGrB,OAAO,CAAC,cAAc;gBAHd,aAAa,EAAE,0BAA0B,EAGzC,cAAc,EAAE,2BAA2B;IAKrD,wBAAwB,CAAC,OAAO,EAAE,8BAA8B,GAAG,iBAAiB;CAkBrF"}
|
package/dist/components/mail/services/{generator.service.js → generators/verification-data.js}
RENAMED
|
@@ -11,37 +11,13 @@ var __metadata = (this && this.__metadata) || function (k, v) {
|
|
|
11
11
|
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
12
|
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
13
|
};
|
|
14
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
15
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
16
|
-
};
|
|
17
14
|
var DefaultVerificationDataGenerator_1;
|
|
18
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
-
exports.DefaultVerificationDataGenerator =
|
|
20
|
-
const metadata_1 = require("
|
|
16
|
+
exports.DefaultVerificationDataGenerator = void 0;
|
|
17
|
+
const metadata_1 = require("../../../../base/metadata");
|
|
21
18
|
const core_1 = require("@venizia/ignis-helpers/core");
|
|
22
|
-
const
|
|
23
|
-
const
|
|
24
|
-
const utilities_1 = require("../utilities");
|
|
25
|
-
class NumericCodeGenerator extends core_1.BaseHelper {
|
|
26
|
-
constructor() {
|
|
27
|
-
super({ scope: NumericCodeGenerator.name });
|
|
28
|
-
}
|
|
29
|
-
generateCode(length) {
|
|
30
|
-
const max = Math.pow(10, length);
|
|
31
|
-
const code = node_crypto_1.default.randomInt(0, max);
|
|
32
|
-
return code.toString().padStart(length, '0');
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
exports.NumericCodeGenerator = NumericCodeGenerator;
|
|
36
|
-
class RandomTokenGenerator extends core_1.BaseHelper {
|
|
37
|
-
constructor() {
|
|
38
|
-
super({ scope: RandomTokenGenerator.name });
|
|
39
|
-
}
|
|
40
|
-
generateToken(bytes) {
|
|
41
|
-
return node_crypto_1.default.randomBytes(bytes).toString('base64url');
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
exports.RandomTokenGenerator = RandomTokenGenerator;
|
|
19
|
+
const common_1 = require("../../common");
|
|
20
|
+
const utilities_1 = require("../../utilities");
|
|
45
21
|
let DefaultVerificationDataGenerator = DefaultVerificationDataGenerator_1 = class DefaultVerificationDataGenerator extends core_1.BaseHelper {
|
|
46
22
|
constructor(codeGenerator, tokenGenerator) {
|
|
47
23
|
super({ scope: DefaultVerificationDataGenerator_1.name });
|
|
@@ -70,4 +46,4 @@ exports.DefaultVerificationDataGenerator = DefaultVerificationDataGenerator = De
|
|
|
70
46
|
__param(1, (0, metadata_1.inject)({ key: common_1.MailKeys.MAIL_VERIFICATION_TOKEN_GENERATOR })),
|
|
71
47
|
__metadata("design:paramtypes", [Object, Object])
|
|
72
48
|
], DefaultVerificationDataGenerator);
|
|
73
|
-
//# sourceMappingURL=
|
|
49
|
+
//# sourceMappingURL=verification-data.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"verification-data.js","sourceRoot":"","sources":["../../../../../src/components/mail/services/generators/verification-data.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAAyC;AACzC,sDAAyD;AASzD,yCAAwC;AACxC,+CAAsE;AAEtE,IAAa,gCAAgC,wCAA7C,MAAa,gCACX,SAAQ,iBAAU;IAGlB,YAEU,aAAyC,EAGzC,cAA2C;QAEnD,KAAK,CAAC,EAAE,KAAK,EAAE,kCAAgC,CAAC,IAAI,EAAE,CAAC,CAAC;QALhD,kBAAa,GAAb,aAAa,CAA4B;QAGzC,mBAAc,GAAd,cAAc,CAA6B;IAGrD,CAAC;IAED,wBAAwB,CAAC,OAAuC;QAC9D,MAAM,IAAI,GAAG,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACjE,MAAM,KAAK,GAAG,IAAI,CAAC,cAAc,CAAC,aAAa,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QACpE,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAErC,OAAO;YACL,gBAAgB,EAAE,IAAI;YACtB,eAAe,EAAE,GAAG;YACpB,aAAa,EAAE,IAAA,yBAAa,EAAC,OAAO,CAAC,iBAAiB,CAAC,CAAC,WAAW,EAAE;YACrE,YAAY,EAAE,CAAC;YAEf,iBAAiB,EAAE,KAAK;YACxB,gBAAgB,EAAE,GAAG;YACrB,cAAc,EAAE,IAAA,gCAAoB,EAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,WAAW,EAAE;YAE5E,cAAc,EAAE,GAAG;SACpB,CAAC;IACJ,CAAC;CACF,CAAA;AAhCY,4EAAgC;2CAAhC,gCAAgC;IAKxC,WAAA,IAAA,iBAAM,EAAC,EAAE,GAAG,EAAE,iBAAQ,CAAC,gCAAgC,EAAE,CAAC,CAAA;IAG1D,WAAA,IAAA,iBAAM,EAAC,EAAE,GAAG,EAAE,iBAAQ,CAAC,iCAAiC,EAAE,CAAC,CAAA;;GARnD,gCAAgC,CAgC5C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/mail/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/mail/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAC;AAC7B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC"}
|
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./
|
|
17
|
+
__exportStar(require("./generators"), exports);
|
|
18
18
|
__exportStar(require("./mail.service"), exports);
|
|
19
19
|
__exportStar(require("./template.service"), exports);
|
|
20
20
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/mail/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/mail/services/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,+CAA6B;AAC7B,iDAA+B;AAC/B,qDAAmC"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { TRouteContext } from '../../../base/controllers';
|
|
1
2
|
import { BaseHelper } from '@venizia/ignis-helpers/core';
|
|
2
3
|
import { ValueOrPromise } from '@venizia/ignis-helpers/common';
|
|
3
4
|
import { IStorageHelper } from '@venizia/ignis-helpers';
|
|
@@ -25,6 +26,33 @@ export declare class AssetControllerFactory extends BaseHelper {
|
|
|
25
26
|
args: unknown;
|
|
26
27
|
task: () => Promise<R>;
|
|
27
28
|
}): Promise<any>;
|
|
29
|
+
normalizeCountData<ResponseSchema extends unknown, RequestContext extends TRouteContext<Env> = TRouteContext<Env>, ResponseData extends {
|
|
30
|
+
count: number;
|
|
31
|
+
data?: import("@venizia/ignis-helpers").TNullable<ResponseSchema>;
|
|
32
|
+
} = {
|
|
33
|
+
count: number;
|
|
34
|
+
data?: import("@venizia/ignis-helpers").TNullable<ResponseSchema>;
|
|
35
|
+
}>(opts: {
|
|
36
|
+
context: RequestContext;
|
|
37
|
+
payload: ResponseData;
|
|
38
|
+
}): ResponseData | import("@venizia/ignis-helpers").TNullable<ResponseSchema>;
|
|
39
|
+
respond<R>(opts: {
|
|
40
|
+
context: TRouteContext<Env>;
|
|
41
|
+
format: import("../../../base/controllers").TResponseFormat;
|
|
42
|
+
payload: {
|
|
43
|
+
count: number;
|
|
44
|
+
data?: import("@venizia/ignis-helpers").TNullable<R>;
|
|
45
|
+
};
|
|
46
|
+
range?: import("../../../base/controllers").TDataRange;
|
|
47
|
+
}): import("@venizia/ignis-helpers").TNullable<R> | {
|
|
48
|
+
count: number;
|
|
49
|
+
data?: import("@venizia/ignis-helpers").TNullable<R>;
|
|
50
|
+
};
|
|
51
|
+
setListHeaders(opts: {
|
|
52
|
+
context: TRouteContext<Env>;
|
|
53
|
+
range: import("../../../base/controllers").TDataRange;
|
|
54
|
+
count: number;
|
|
55
|
+
}): void;
|
|
28
56
|
toHonoHandler<ResponseType = unknown>(opts: {
|
|
29
57
|
handler: import("../../../base/controllers").TRouteHandler<ResponseType, Env>;
|
|
30
58
|
}): import("hono").Handler<Env, string, import("hono").Input, (Response | Promise<Response>) | (import("@hono/zod-openapi").RouteConfigToTypedResponse<import("@hono/zod-openapi").RouteConfig> | Promise<import("@hono/zod-openapi").RouteConfigToTypedResponse<import("@hono/zod-openapi").RouteConfig>>)>;
|
|
@@ -62,12 +90,12 @@ export declare class AssetControllerFactory extends BaseHelper {
|
|
|
62
90
|
getRouteConfigs<RouteConfig extends import("../../../base/controllers").IAuthRouteConfig>(opts: {
|
|
63
91
|
configs: RouteConfig;
|
|
64
92
|
}): RouteConfig & {
|
|
65
|
-
getRoutingPath(): RouteConfig["path"] extends infer T ? T extends RouteConfig["path"] ? T extends `${infer
|
|
93
|
+
getRoutingPath(): RouteConfig["path"] extends infer T ? T extends RouteConfig["path"] ? T extends `${infer Start}/{${infer Param}}${infer Rest}` ? `${Start}/:${Param}${Rest extends `${infer Start_1}/{${infer Param_1}}${infer Rest_1}` ? `${Start_1}/:${Param_1}${Rest_1 extends `${infer Start_2}/{${infer Param_2}}${infer Rest_2}` ? `${Start_2}/:${Param_2}${Rest_2 extends `${infer Start_3}/{${infer Param_3}}${infer Rest_3}` ? `${Start_3}/:${Param_3}${Rest_3 extends `${infer Start_4}/{${infer Param_4}}${infer Rest_4}` ? `${Start_4}/:${Param_4}${Rest_4 extends `${infer Start_5}/{${infer Param_5}}${infer Rest_5}` ? `${Start_5}/:${Param_5}${Rest_5 extends `${infer Start_6}/{${infer Param_6}}${infer Rest_6}` ? `${Start_6}/:${Param_6}${Rest_6 extends `${infer Start_7}/{${infer Param_7}}${infer Rest_7}` ? `${Start_7}/:${Param_7}${Rest_7 extends `${infer Start_8}/{${infer Param_8}}${infer Rest_8}` ? `${Start_8}/:${Param_8}${Rest_8 extends `${infer Start_9}/{${infer Param_9}}${infer Rest_9}` ? `${Start_9}/:${Param_9}${Rest_9 extends `${infer Start_10}/{${infer Param_10}}${infer Rest_10}` ? `${Start_10}/:${Param_10}${any}` : Rest_9}` : Rest_8}` : Rest_7}` : Rest_6}` : Rest_5}` : Rest_4}` : Rest_3}` : Rest_2}` : Rest_1}` : Rest}` : T : never : never;
|
|
66
94
|
};
|
|
67
95
|
getJSXRouteConfigs<RouteConfig extends import("../../../base/controllers").IAuthRouteConfig>(opts: {
|
|
68
96
|
configs: RouteConfig;
|
|
69
97
|
}): RouteConfig & {
|
|
70
|
-
getRoutingPath(): RouteConfig["path"] extends infer T ? T extends RouteConfig["path"] ? T extends `${infer
|
|
98
|
+
getRoutingPath(): RouteConfig["path"] extends infer T ? T extends RouteConfig["path"] ? T extends `${infer Start}/{${infer Param}}${infer Rest}` ? `${Start}/:${Param}${Rest extends `${infer Start_1}/{${infer Param_1}}${infer Rest_1}` ? `${Start_1}/:${Param_1}${Rest_1 extends `${infer Start_2}/{${infer Param_2}}${infer Rest_2}` ? `${Start_2}/:${Param_2}${Rest_2 extends `${infer Start_3}/{${infer Param_3}}${infer Rest_3}` ? `${Start_3}/:${Param_3}${Rest_3 extends `${infer Start_4}/{${infer Param_4}}${infer Rest_4}` ? `${Start_4}/:${Param_4}${Rest_4 extends `${infer Start_5}/{${infer Param_5}}${infer Rest_5}` ? `${Start_5}/:${Param_5}${Rest_5 extends `${infer Start_6}/{${infer Param_6}}${infer Rest_6}` ? `${Start_6}/:${Param_6}${Rest_6 extends `${infer Start_7}/{${infer Param_7}}${infer Rest_7}` ? `${Start_7}/:${Param_7}${Rest_7 extends `${infer Start_8}/{${infer Param_8}}${infer Rest_8}` ? `${Start_8}/:${Param_8}${Rest_8 extends `${infer Start_9}/{${infer Param_9}}${infer Rest_9}` ? `${Start_9}/:${Param_9}${Rest_9 extends `${infer Start_10}/{${infer Param_10}}${infer Rest_10}` ? `${Start_10}/:${Param_10}${any}` : Rest_9}` : Rest_8}` : Rest_7}` : Rest_6}` : Rest_5}` : Rest_4}` : Rest_3}` : Rest_2}` : Rest_1}` : Rest}` : T : never : never;
|
|
71
99
|
};
|
|
72
100
|
scope: string;
|
|
73
101
|
identifier: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../../src/components/static-asset/controller/factory.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"factory.d.ts","sourceRoot":"","sources":["../../../../src/components/static-asset/controller/factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEvE,OAAO,EAAE,UAAU,EAAY,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAQ,cAAc,EAAE,MAAM,+BAA+B,CAAC;AACrE,OAAO,EAGL,cAAc,EAIf,MAAM,wBAAwB,CAAC;AAChC,OAAO,EAAE,GAAG,EAAE,MAAM,MAAM,CAAC;AAE3B,OAAO,EAIL,eAAe,EAEf,wBAAwB,EACxB,6BAA6B,EAC7B,uBAAuB,EAGxB,MAAM,WAAW,CAAC;AAGnB,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,6BAA6B,CAAC,MAAM,CAAC,CAAC,YAAY,CAAC,CAAC;IAChE,OAAO,EAAE,uBAAuB,CAAC;IACjC,MAAM,EAAE,cAAc,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,eAAe,CAAC;IAC3B,OAAO,CAAC,EAAE,wBAAwB,CAAC;CACpC;AAuBD,qBAAa,sBAAuB,SAAQ,UAAU;;IAKpD,MAAM,CAAC,qBAAqB,CAAC,IAAI,EAAE,uBAAuB;;YAkBtD,6FAA6F;2CAC9D;gBAAE,KAAK,EAAE,MAAM,EAAE,CAAA;aAAE,GAAG,IAAI;uBAYrC,cAAc,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qBAxDiC,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAif/E"}
|
package/dist/index.d.ts
CHANGED
|
@@ -14,5 +14,5 @@ export * from './utilities';
|
|
|
14
14
|
* `export *` lines is ambiguous and TypeScript then exports NEITHER, silently. An explicit export
|
|
15
15
|
* beats every star export, so this line is what makes the widened shape win.
|
|
16
16
|
*/
|
|
17
|
-
export type { IServerApplicationConfigs as IApplicationConfigs } from './base/applications/types';
|
|
17
|
+
export type { IServerApplicationConfigs as IApplicationConfigs } from './base/applications/common/types';
|
|
18
18
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,cAAc,uBAAuB,CAAC;AAEtC,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAE5B;;;;;;;GAOG;AACH,YAAY,EAAE,yBAAyB,IAAI,mBAAmB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,CAAC;AAE1B,cAAc,uBAAuB,CAAC;AAEtC,cAAc,QAAQ,CAAC;AACvB,cAAc,UAAU,CAAC;AACzB,cAAc,cAAc,CAAC;AAC7B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,aAAa,CAAC;AAE5B;;;;;;;GAOG;AACH,YAAY,EAAE,yBAAyB,IAAI,mBAAmB,EAAE,MAAM,kCAAkC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@venizia/ignis",
|
|
3
|
-
"version": "0.2.0-
|
|
3
|
+
"version": "0.2.0-15",
|
|
4
4
|
"description": "High-performance TypeScript server infrastructure combining LoopBack 4 enterprise architecture (decorator-based DI, repository pattern, component system) with Hono speed (~140k req/s). Features auto-generated OpenAPI docs, Drizzle ORM type-safe SQL, JWT/Basic authentication, Casbin authorization, convention-based bootstrapping, and pluggable components for health checks, Swagger UI, mail, Socket.IO, and static assets. Built for Bun and Node.js.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"access-control",
|
|
@@ -198,15 +198,15 @@
|
|
|
198
198
|
"prepublishOnly": "bun run rebuild"
|
|
199
199
|
},
|
|
200
200
|
"dependencies": {
|
|
201
|
-
"@venizia/ignis-boot": "^0.2.0-
|
|
202
|
-
"@venizia/ignis-connectors": "^0.2.0-
|
|
203
|
-
"@venizia/ignis-filter": "^0.2.0-
|
|
204
|
-
"@venizia/ignis-helpers": "^0.2.0-
|
|
205
|
-
"@venizia/ignis-inversion": "^0.2.0-
|
|
206
|
-
"@venizia/ignis-kernel": "^0.2.0-
|
|
201
|
+
"@venizia/ignis-boot": "^0.2.0-9",
|
|
202
|
+
"@venizia/ignis-connectors": "^0.2.0-15",
|
|
203
|
+
"@venizia/ignis-filter": "^0.2.0-6",
|
|
204
|
+
"@venizia/ignis-helpers": "^0.2.0-10",
|
|
205
|
+
"@venizia/ignis-inversion": "^0.2.0-4",
|
|
206
|
+
"@venizia/ignis-kernel": "^0.2.0-15",
|
|
207
207
|
"lodash": "^4.18.1",
|
|
208
208
|
"reflect-metadata": "^0.2.2",
|
|
209
|
-
"zod": "^4.4
|
|
209
|
+
"zod": "^4.5.4"
|
|
210
210
|
},
|
|
211
211
|
"peerDependencies": {
|
|
212
212
|
"@asteasolutions/zod-to-openapi": "^9.0.0",
|
|
@@ -227,7 +227,7 @@
|
|
|
227
227
|
"hono": "^4.12.30",
|
|
228
228
|
"jose": "^6.2.3",
|
|
229
229
|
"mailgun.js": "^13.0.1",
|
|
230
|
-
"meilisearch": "^0.59.0",
|
|
230
|
+
"meilisearch": "^0.59.0 || ^0.60.0",
|
|
231
231
|
"nodemailer": "^8.0.7",
|
|
232
232
|
"pg": "^8.21.0",
|
|
233
233
|
"postgres": "^3.4.0",
|
|
@@ -295,27 +295,27 @@
|
|
|
295
295
|
}
|
|
296
296
|
},
|
|
297
297
|
"devDependencies": {
|
|
298
|
-
"@asteasolutions/zod-to-openapi": "^9.
|
|
298
|
+
"@asteasolutions/zod-to-openapi": "^9.1.0",
|
|
299
299
|
"@connectrpc/connect": "^2.1.2",
|
|
300
|
-
"@electric-sql/pglite": "^0.5.
|
|
301
|
-
"@hono/node-server": "^2.
|
|
300
|
+
"@electric-sql/pglite": "^0.5.8",
|
|
301
|
+
"@hono/node-server": "^2.1.1",
|
|
302
302
|
"@hono/swagger-ui": "^0.6.1",
|
|
303
303
|
"@libsql/client": "^0.17.4",
|
|
304
|
-
"@socket.io/bun-engine": "^0.1.
|
|
305
|
-
"@types/bun": "^1.
|
|
306
|
-
"@types/lodash": "^4.17.
|
|
304
|
+
"@socket.io/bun-engine": "^0.1.2",
|
|
305
|
+
"@types/bun": "^1.4.1",
|
|
306
|
+
"@types/lodash": "^4.17.25",
|
|
307
307
|
"@types/nodemailer": "^8.0.1",
|
|
308
|
-
"@types/pg": "^8.
|
|
308
|
+
"@types/pg": "^8.23.1",
|
|
309
309
|
"@venizia/dev-configs": "^0.2.0-3",
|
|
310
310
|
"casbin": "^5.51.1",
|
|
311
311
|
"drizzle-kit": "^0.31.10",
|
|
312
|
-
"eslint": "^10.
|
|
313
|
-
"meilisearch": "^0.
|
|
312
|
+
"eslint": "^10.10.0",
|
|
313
|
+
"meilisearch": "^0.60.0",
|
|
314
314
|
"postgres": "^3.4.9",
|
|
315
|
-
"prettier": "^3.9.
|
|
316
|
-
"tsc-alias": "^1.9.
|
|
317
|
-
"tsx": "^4.23.
|
|
315
|
+
"prettier": "^3.9.6",
|
|
316
|
+
"tsc-alias": "^1.9.4",
|
|
317
|
+
"tsx": "^4.23.13",
|
|
318
318
|
"typescript": "^6.0.3",
|
|
319
|
-
"typesense": "^3.0.
|
|
319
|
+
"typesense": "^3.0.6"
|
|
320
320
|
}
|
|
321
321
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/base/applications/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,mBAAmB,IAAI,yBAAyB,EACjD,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAExC,4HAA4H;AAC5H,MAAM,MAAM,mBAAmB,GAAG,GAAG,CAAC;AAEtC;;;;GAIG;AACH,MAAM,WAAW,yBAA0B,SAAQ,yBAAyB;IAC1E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB,CACjC,MAAM,SAAS,GAAG,GAAG,GAAG,EACxB,SAAS,SAAS,MAAM,GAAG,MAAM,EACjC,QAAQ,SAAS,MAAM,GAAG,GAAG,CAC7B,SAAQ,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,QAAQ,CAAC;IACjD,aAAa,IAAI,MAAM,CAAC;IACxB,aAAa,IAAI,MAAM,CAAC;IACxB,gBAAgB,IAAI,MAAM,CAAC;IAE3B,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;IAC9B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC;CAC9B"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/base/applications/types.ts"],"names":[],"mappings":""}
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
import type { Context, Next } from 'hono';
|
|
2
|
-
import type { IGetProviderParams, IUIConfig, IUIProvider } from './common';
|
|
3
|
-
import { BaseHelper } from '@venizia/ignis-helpers/core';
|
|
4
|
-
import { MemoryStorageHelper } from '@venizia/ignis-helpers';
|
|
5
|
-
export declare class SwaggerUIProvider extends BaseHelper implements IUIProvider {
|
|
6
|
-
constructor();
|
|
7
|
-
render(context: Context, config: IUIConfig, next: Next): Promise<Response | void>;
|
|
8
|
-
}
|
|
9
|
-
export declare class ScalarUIProvider extends BaseHelper implements IUIProvider {
|
|
10
|
-
constructor();
|
|
11
|
-
render(context: Context, config: IUIConfig, next: Next): Promise<Response | void>;
|
|
12
|
-
}
|
|
13
|
-
export declare class UIProviderFactory extends MemoryStorageHelper<{
|
|
14
|
-
[key: string | symbol]: IUIProvider;
|
|
15
|
-
}> {
|
|
16
|
-
private static instance;
|
|
17
|
-
static getInstance(): UIProviderFactory;
|
|
18
|
-
getProvider({ type }: IGetProviderParams): IUIProvider;
|
|
19
|
-
register(opts: {
|
|
20
|
-
type: string;
|
|
21
|
-
}): void;
|
|
22
|
-
getRegisteredProviders(): string[];
|
|
23
|
-
}
|
|
24
|
-
//# sourceMappingURL=ui-factory.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ui-factory.d.ts","sourceRoot":"","sources":["../../../src/components/api-reference/ui-factory.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC1C,OAAO,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE3E,OAAO,EAAE,UAAU,EAAY,MAAM,6BAA6B,CAAC;AACnE,OAAO,EAAE,mBAAmB,EAAE,MAAM,wBAAwB,CAAC;AAE7D,qBAAa,iBAAkB,SAAQ,UAAW,YAAW,WAAW;;IAKhE,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;CAoBxF;AAED,qBAAa,gBAAiB,SAAQ,UAAW,YAAW,WAAW;;IAK/D,MAAM,CAAC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;CAoBxF;AAED,qBAAa,iBAAkB,SAAQ,mBAAmB,CAAC;IACzD,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,WAAW,CAAC;CACrC,CAAC;IACA,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAoB;IAE3C,MAAM,CAAC,WAAW;IAQlB,WAAW,CAAC,EAAE,IAAI,EAAE,EAAE,kBAAkB,GAAG,WAAW;IAWtD,QAAQ,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAyBtC,sBAAsB;CAGvB"}
|