@trailmix-cms/cms 0.3.2 → 0.4.1
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/auth-guard-hook.d.ts +13 -0
- package/dist/auth-guard-hook.d.ts.map +1 -0
- package/dist/auth-guard-hook.js +3 -0
- package/dist/auth-guard-hook.js.map +1 -0
- package/dist/auth.guard.d.ts +3 -3
- package/dist/auth.guard.d.ts.map +1 -1
- package/dist/auth.guard.js +18 -6
- package/dist/auth.guard.js.map +1 -1
- package/dist/cms.providers.d.ts +4 -0
- package/dist/cms.providers.d.ts.map +1 -1
- package/dist/cms.providers.js +7 -0
- package/dist/cms.providers.js.map +1 -1
- package/dist/constants/provider-symbols.d.ts +1 -0
- package/dist/constants/provider-symbols.d.ts.map +1 -1
- package/dist/constants/provider-symbols.js +2 -1
- package/dist/constants/provider-symbols.js.map +1 -1
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/utils/provider-helpers.d.ts +7 -0
- package/dist/utils/provider-helpers.d.ts.map +1 -0
- package/dist/utils/provider-helpers.js +14 -0
- package/dist/utils/provider-helpers.js.map +1 -0
- package/package.json +7 -7
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { Account } from '@trailmix-cms/models';
|
|
2
|
+
/**
|
|
3
|
+
* Interface for auth guard hooks that execute custom logic when an account is first created.
|
|
4
|
+
*/
|
|
5
|
+
export interface AuthGuardHook {
|
|
6
|
+
/**
|
|
7
|
+
* Called when a new account is created during authentication.
|
|
8
|
+
* @param account The account entity that was just created
|
|
9
|
+
* @returns Promise<boolean> - Return true to allow authentication, false to reject
|
|
10
|
+
*/
|
|
11
|
+
onHook(account: Account.Entity): Promise<boolean>;
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=auth-guard-hook.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-guard-hook.d.ts","sourceRoot":"","sources":["../src/auth-guard-hook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAC;AAE/C;;GAEG;AACH,MAAM,WAAW,aAAa;IAC1B;;;;OAIG;IACH,MAAM,CAAC,OAAO,EAAE,OAAO,CAAC,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACrD"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-guard-hook.js","sourceRoot":"","sources":["../src/auth-guard-hook.ts"],"names":[],"mappings":""}
|
package/dist/auth.guard.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { Reflector } from '@nestjs/core';
|
|
2
2
|
import { CanActivate, ExecutionContext } from '@nestjs/common';
|
|
3
3
|
import { Account } from '@trailmix-cms/models';
|
|
4
|
-
import { AccountCollection } from './collections';
|
|
5
4
|
import { ConfigService } from '@nestjs/config';
|
|
6
5
|
import { AppConfig } from './config';
|
|
7
6
|
import { AccountService } from './services/account.service';
|
|
7
|
+
import { AuthGuardHook } from './auth-guard-hook';
|
|
8
8
|
declare module 'fastify' {
|
|
9
9
|
interface FastifyRequest {
|
|
10
10
|
account?: Account.Entity;
|
|
@@ -12,12 +12,12 @@ declare module 'fastify' {
|
|
|
12
12
|
}
|
|
13
13
|
export declare class AuthGuard implements CanActivate {
|
|
14
14
|
private reflector;
|
|
15
|
-
private accountCollection;
|
|
16
15
|
private accountService;
|
|
17
16
|
private configService;
|
|
17
|
+
private authGuardHook;
|
|
18
18
|
private readonly logger;
|
|
19
19
|
private readonly clerkClient;
|
|
20
|
-
constructor(reflector: Reflector,
|
|
20
|
+
constructor(reflector: Reflector, accountService: AccountService, configService: ConfigService<AppConfig>, authGuardHook: AuthGuardHook);
|
|
21
21
|
canActivate(context: ExecutionContext): Promise<boolean>;
|
|
22
22
|
private getAccount;
|
|
23
23
|
}
|
package/dist/auth.guard.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.guard.d.ts","sourceRoot":"","sources":["../src/auth.guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAc,WAAW,EAAE,gBAAgB,
|
|
1
|
+
{"version":3,"file":"auth.guard.d.ts","sourceRoot":"","sources":["../src/auth.guard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAc,WAAW,EAAE,gBAAgB,EAA2F,MAAM,gBAAgB,CAAC;AAGpK,OAAO,EAAE,OAAO,EAAQ,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAE5D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,OAAO,QAAQ,SAAS,CAAC;IACrB,UAAU,cAAc;QACpB,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAA;KAC3B;CACJ;AAED,qBACa,SAAU,YAAW,WAAW;IAKrC,OAAO,CAAC,SAAS;IACjB,OAAO,CAAC,cAAc;IACtB,OAAO,CAAC,aAAa;IACqC,OAAO,CAAC,aAAa;IAPnF,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA8B;IACrD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;gBAG9B,SAAS,EAAE,SAAS,EACpB,cAAc,EAAE,cAAc,EAC9B,aAAa,EAAE,aAAa,CAAC,SAAS,CAAC,EACmB,aAAa,EAAE,aAAa;IAO5F,WAAW,CACb,OAAO,EAAE,gBAAgB,GAC1B,OAAO,CAAC,OAAO,CAAC;YA2CL,UAAU;CAmD3B"}
|
package/dist/auth.guard.js
CHANGED
|
@@ -8,6 +8,9 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
9
|
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
10
|
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
11
14
|
var AuthGuard_1;
|
|
12
15
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
16
|
exports.AuthGuard = void 0;
|
|
@@ -15,22 +18,22 @@ const core_1 = require("@nestjs/core");
|
|
|
15
18
|
const common_1 = require("@nestjs/common");
|
|
16
19
|
const fastify_1 = require("@clerk/fastify");
|
|
17
20
|
const models_1 = require("@trailmix-cms/models");
|
|
18
|
-
const collections_1 = require("./collections");
|
|
19
21
|
const config_1 = require("@nestjs/config");
|
|
20
22
|
const auth_decorator_1 = require("./decorators/auth.decorator");
|
|
21
23
|
const account_service_1 = require("./services/account.service");
|
|
24
|
+
const constants_1 = require("./constants");
|
|
22
25
|
let AuthGuard = AuthGuard_1 = class AuthGuard {
|
|
23
26
|
reflector;
|
|
24
|
-
accountCollection;
|
|
25
27
|
accountService;
|
|
26
28
|
configService;
|
|
29
|
+
authGuardHook;
|
|
27
30
|
logger = new common_1.Logger(AuthGuard_1.name);
|
|
28
31
|
clerkClient;
|
|
29
|
-
constructor(reflector,
|
|
32
|
+
constructor(reflector, accountService, configService, authGuardHook) {
|
|
30
33
|
this.reflector = reflector;
|
|
31
|
-
this.accountCollection = accountCollection;
|
|
32
34
|
this.accountService = accountService;
|
|
33
35
|
this.configService = configService;
|
|
36
|
+
this.authGuardHook = authGuardHook;
|
|
34
37
|
this.clerkClient = (0, fastify_1.createClerkClient)({
|
|
35
38
|
secretKey: this.configService.get('CLERK_SECRET_KEY'),
|
|
36
39
|
});
|
|
@@ -91,6 +94,15 @@ let AuthGuard = AuthGuard_1 = class AuthGuard {
|
|
|
91
94
|
};
|
|
92
95
|
}
|
|
93
96
|
const account = await this.accountService.upsertAccount(auth.userId);
|
|
97
|
+
// TODO: Lock this step to prevent race conditions
|
|
98
|
+
const authGuardHookresult = await this.authGuardHook.onHook(account);
|
|
99
|
+
if (!authGuardHookresult) {
|
|
100
|
+
this.logger.error('Failed to validate account using auth guard hook', {
|
|
101
|
+
userId: auth.userId,
|
|
102
|
+
accountId: account?._id,
|
|
103
|
+
});
|
|
104
|
+
throw new common_1.InternalServerErrorException('Failed to validate account using auth guard hook');
|
|
105
|
+
}
|
|
94
106
|
// TODO: Cache user
|
|
95
107
|
// await this.userCache.cacheUser(auth.userId, {
|
|
96
108
|
// account: account!,
|
|
@@ -105,9 +117,9 @@ let AuthGuard = AuthGuard_1 = class AuthGuard {
|
|
|
105
117
|
exports.AuthGuard = AuthGuard;
|
|
106
118
|
exports.AuthGuard = AuthGuard = AuthGuard_1 = __decorate([
|
|
107
119
|
(0, common_1.Injectable)(),
|
|
120
|
+
__param(3, (0, common_1.Inject)(constants_1.PROVIDER_SYMBOLS.TRAILMIXCMS_CMS_AUTH_GUARD_HOOK)),
|
|
108
121
|
__metadata("design:paramtypes", [core_1.Reflector,
|
|
109
|
-
collections_1.AccountCollection,
|
|
110
122
|
account_service_1.AccountService,
|
|
111
|
-
config_1.ConfigService])
|
|
123
|
+
config_1.ConfigService, Object])
|
|
112
124
|
], AuthGuard);
|
|
113
125
|
//# sourceMappingURL=auth.guard.js.map
|
package/dist/auth.guard.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.guard.js","sourceRoot":"","sources":["../src/auth.guard.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"auth.guard.js","sourceRoot":"","sources":["../src/auth.guard.ts"],"names":[],"mappings":"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"}
|
package/dist/cms.providers.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ import { CollectionConfig } from './types/collection-config';
|
|
|
5
5
|
import { Collection } from 'mongodb';
|
|
6
6
|
import { AccountCollection, FileCollection, TextCollection } from './collections';
|
|
7
7
|
import { AccountService } from './services/account.service';
|
|
8
|
+
import { AuthGuardHook } from './auth-guard-hook';
|
|
8
9
|
export declare function configureCollections(options?: {
|
|
9
10
|
features?: {
|
|
10
11
|
file?: boolean;
|
|
@@ -37,6 +38,9 @@ export declare function createCmsProviders<AccountEntity extends models.Account.
|
|
|
37
38
|
provide: string;
|
|
38
39
|
useFactory: (databaseService: import("@trailmix-cms/db").DatabaseService) => Promise<Collection<import("bson").Document>>;
|
|
39
40
|
inject: (typeof import("@trailmix-cms/db").DatabaseService)[];
|
|
41
|
+
} | {
|
|
42
|
+
provide: "TRAILMIXCMS_CMS_AUTH_GUARD_HOOK";
|
|
43
|
+
useValue: AuthGuardHook;
|
|
40
44
|
} | {
|
|
41
45
|
provide: "TRAILMIXCMS_CMS_ACCOUNT_SCHEMA";
|
|
42
46
|
useValue: import("zod").ZodObject<{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cms.providers.d.ts","sourceRoot":"","sources":["../src/cms.providers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAC9B,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAC;AAI/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"cms.providers.d.ts","sourceRoot":"","sources":["../src/cms.providers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,SAAS,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,KAAK,CAAC;AAC9B,OAAO,KAAK,MAAM,MAAM,sBAAsB,CAAC;AAI/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAE7D,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAElD,wBAAgB,oBAAoB,CAAC,OAAO,CAAC,EAAE;IAC3C,QAAQ,CAAC,EAAE;QACP,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,IAAI,CAAC,EAAE,OAAO,CAAC;KAClB,CAAA;CACJ;;;EAaA;AAED,wBAAgB,kBAAkB,CAC9B,aAAa,SAAS,MAAM,CAAC,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,EACnE,gBAAgB,GAAG,aAAa,EAChC,UAAU,SAAS,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAC1D,UAAU,SAAS,MAAM,CAAC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,EAC5D,OAAO,CAAC,EAAE;IACR,QAAQ,CAAC,EAAE;QACP,aAAa,CAAC,EAAE,OAAO,CAAC,wBAAwB,CAAC,aAAa,CAAC,CAAC,CAAC;QACjE,YAAY,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,aAAa,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QACxE,gBAAgB,CAAC,EAAE,OAAO,CAAC,wBAAwB,CAAC,gBAAgB,CAAC,CAAC,CAAC;QACvE,UAAU,CAAC,EAAE,GAAG,CAAC;QACjB,gBAAgB,CAAC,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,gBAAgB,CAAC;QAC/D,aAAa,CAAC,EAAE,gBAAgB,CAAC;QACjC,UAAU,CAAC,EAAE,OAAO,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC,CAAC;QAC3D,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QAClE,UAAU,CAAC,EAAE,gBAAgB,CAAC;QAC9B,UAAU,CAAC,EAAE,OAAO,CAAC,wBAAwB,CAAC,UAAU,CAAC,CAAC,CAAC;QAC3D,SAAS,CAAC,EAAE,CAAC,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;QAClE,UAAU,CAAC,EAAE,gBAAgB,CAAC;KACjC,CAAC;IACF,QAAQ,CAAC,EAAE;QACP,IAAI,CAAC,EAAE,OAAO,CAAC;QACf,IAAI,CAAC,EAAE,OAAO,CAAC;KAClB,CAAA;CACJ;;;;;;cAiBgB,aAAa;;;;;;;;;;;;2BAjCM,UAAU,CAAC,aAAa,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;wBAG3C,aAAa,KAAK,gBAAgB;;;;;;;;;;;;;;;;;;;;;;;;;;;;2BAGrC,UAAU,CAAC,UAAU,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC;;;;;;;;;;;;;;;;;;;;;2BAGxC,UAAU,CAAC,UAAU,CAAC,KAAK,OAAO,CAAC,IAAI,CAAC;;;;KAmFxE"}
|
package/dist/cms.providers.js
CHANGED
|
@@ -65,6 +65,13 @@ function createCmsProviders(options) {
|
|
|
65
65
|
disableDefaultIndexes: false
|
|
66
66
|
};
|
|
67
67
|
return [
|
|
68
|
+
// Auth Guard Hook
|
|
69
|
+
{
|
|
70
|
+
provide: constants_1.PROVIDER_SYMBOLS.TRAILMIXCMS_CMS_AUTH_GUARD_HOOK,
|
|
71
|
+
useValue: {
|
|
72
|
+
onHook: async () => true,
|
|
73
|
+
},
|
|
74
|
+
},
|
|
68
75
|
// Services
|
|
69
76
|
account_service_1.AccountService,
|
|
70
77
|
// Collections
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cms.providers.js","sourceRoot":"","sources":["../src/cms.providers.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"cms.providers.js","sourceRoot":"","sources":["../src/cms.providers.ts"],"names":[],"mappings":"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"}
|
|
@@ -10,5 +10,6 @@ export declare const PROVIDER_SYMBOLS: {
|
|
|
10
10
|
readonly TRAILMIXCMS_CMS_TEXT_CONFIG: "TRAILMIXCMS_CMS_TEXT_CONFIG";
|
|
11
11
|
readonly TRAILMIXCMS_CMS_TEXT_SCHEMA: "TRAILMIXCMS_CMS_TEXT_SCHEMA";
|
|
12
12
|
readonly TRAILMIXCMS_CMS_TEXT_SETUP: "TRAILMIXCMS_CMS_TEXT_SETUP";
|
|
13
|
+
readonly TRAILMIXCMS_CMS_AUTH_GUARD_HOOK: "TRAILMIXCMS_CMS_AUTH_GUARD_HOOK";
|
|
13
14
|
};
|
|
14
15
|
//# sourceMappingURL=provider-symbols.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-symbols.d.ts","sourceRoot":"","sources":["../../src/constants/provider-symbols.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB
|
|
1
|
+
{"version":3,"file":"provider-symbols.d.ts","sourceRoot":"","sources":["../../src/constants/provider-symbols.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;CAanB,CAAC"}
|
|
@@ -12,6 +12,7 @@ exports.PROVIDER_SYMBOLS = {
|
|
|
12
12
|
TRAILMIXCMS_CMS_FILE_SETUP: 'TRAILMIXCMS_CMS_FILE_SETUP',
|
|
13
13
|
TRAILMIXCMS_CMS_TEXT_CONFIG: 'TRAILMIXCMS_CMS_TEXT_CONFIG',
|
|
14
14
|
TRAILMIXCMS_CMS_TEXT_SCHEMA: 'TRAILMIXCMS_CMS_TEXT_SCHEMA',
|
|
15
|
-
TRAILMIXCMS_CMS_TEXT_SETUP: 'TRAILMIXCMS_CMS_TEXT_SETUP'
|
|
15
|
+
TRAILMIXCMS_CMS_TEXT_SETUP: 'TRAILMIXCMS_CMS_TEXT_SETUP',
|
|
16
|
+
TRAILMIXCMS_CMS_AUTH_GUARD_HOOK: 'TRAILMIXCMS_CMS_AUTH_GUARD_HOOK',
|
|
16
17
|
};
|
|
17
18
|
//# sourceMappingURL=provider-symbols.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"provider-symbols.js","sourceRoot":"","sources":["../../src/constants/provider-symbols.ts"],"names":[],"mappings":";;;AAAa,QAAA,gBAAgB,GAAG;IAC5B,8BAA8B,EAAE,gCAAgC;IAChE,8BAA8B,EAAE,gCAAgC;IAChE,6BAA6B,EAAE,+BAA+B;IAC9D,kCAAkC,EAAE,oCAAoC;IACxE,kCAAkC,EAAE,oCAAoC;IACxE,2BAA2B,EAAE,6BAA6B;IAC1D,2BAA2B,EAAE,6BAA6B;IAC1D,0BAA0B,EAAE,4BAA4B;IACxD,2BAA2B,EAAE,6BAA6B;IAC1D,2BAA2B,EAAE,6BAA6B;IAC1D,0BAA0B,EAAE,4BAA4B;
|
|
1
|
+
{"version":3,"file":"provider-symbols.js","sourceRoot":"","sources":["../../src/constants/provider-symbols.ts"],"names":[],"mappings":";;;AAAa,QAAA,gBAAgB,GAAG;IAC5B,8BAA8B,EAAE,gCAAgC;IAChE,8BAA8B,EAAE,gCAAgC;IAChE,6BAA6B,EAAE,+BAA+B;IAC9D,kCAAkC,EAAE,oCAAoC;IACxE,kCAAkC,EAAE,oCAAoC;IACxE,2BAA2B,EAAE,6BAA6B;IAC1D,2BAA2B,EAAE,6BAA6B;IAC1D,0BAA0B,EAAE,4BAA4B;IACxD,2BAA2B,EAAE,6BAA6B;IAC1D,2BAA2B,EAAE,6BAA6B;IAC1D,0BAA0B,EAAE,4BAA4B;IACxD,+BAA+B,EAAE,iCAAiC;CAC5D,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -3,4 +3,6 @@ export * from './decorators/auth.decorator';
|
|
|
3
3
|
export * from './decorators/audit-context.decorator';
|
|
4
4
|
export * from './decorators/account.decorator';
|
|
5
5
|
export * from './cms.module';
|
|
6
|
+
export * from './auth-guard-hook';
|
|
7
|
+
export * from './utils/provider-helpers';
|
|
6
8
|
//# 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,cAAc,aAAa,CAAC;AAC5B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAC;AAC5B,cAAc,6BAA6B,CAAC;AAC5C,cAAc,sCAAsC,CAAC;AACrD,cAAc,gCAAgC,CAAC;AAC/C,cAAc,cAAc,CAAC;AAC7B,cAAc,mBAAmB,CAAC;AAClC,cAAc,0BAA0B,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -19,4 +19,6 @@ __exportStar(require("./decorators/auth.decorator"), exports);
|
|
|
19
19
|
__exportStar(require("./decorators/audit-context.decorator"), exports);
|
|
20
20
|
__exportStar(require("./decorators/account.decorator"), exports);
|
|
21
21
|
__exportStar(require("./cms.module"), exports);
|
|
22
|
+
__exportStar(require("./auth-guard-hook"), exports);
|
|
23
|
+
__exportStar(require("./utils/provider-helpers"), exports);
|
|
22
24
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,8DAA4C;AAC5C,uEAAqD;AACrD,iEAA+C;AAC/C,+CAA6B"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,8DAA4C;AAC5C,uEAAqD;AACrD,iEAA+C;AAC/C,+CAA6B;AAC7B,oDAAkC;AAClC,2DAAyC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ClassProvider } from '@nestjs/common';
|
|
2
|
+
import { AuthGuardHook } from '../auth-guard-hook';
|
|
3
|
+
/**
|
|
4
|
+
* Creates a ClassProvider for the auth guard hook
|
|
5
|
+
*/
|
|
6
|
+
export declare function provideAuthGuardHook(Class: new (...args: any[]) => AuthGuardHook): ClassProvider<AuthGuardHook>;
|
|
7
|
+
//# sourceMappingURL=provider-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-helpers.d.ts","sourceRoot":"","sources":["../../src/utils/provider-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAE/C,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,aAAa,GAAG,aAAa,CAAC,aAAa,CAAC,CAK/G"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.provideAuthGuardHook = provideAuthGuardHook;
|
|
4
|
+
const constants_1 = require("../constants");
|
|
5
|
+
/**
|
|
6
|
+
* Creates a ClassProvider for the auth guard hook
|
|
7
|
+
*/
|
|
8
|
+
function provideAuthGuardHook(Class) {
|
|
9
|
+
return {
|
|
10
|
+
provide: constants_1.PROVIDER_SYMBOLS.TRAILMIXCMS_CMS_AUTH_GUARD_HOOK,
|
|
11
|
+
useClass: Class,
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=provider-helpers.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"provider-helpers.js","sourceRoot":"","sources":["../../src/utils/provider-helpers.ts"],"names":[],"mappings":";;AAOA,oDAKC;AAXD,4CAAgD;AAGhD;;GAEG;AACH,SAAgB,oBAAoB,CAAC,KAA4C;IAC7E,OAAO;QACH,OAAO,EAAE,4BAAgB,CAAC,+BAA+B;QACzD,QAAQ,EAAE,KAAK;KAClB,CAAC;AACN,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@trailmix-cms/cms",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.1",
|
|
4
4
|
"main": "./dist/index.js",
|
|
5
5
|
"types": "./dist/index.d.ts",
|
|
6
6
|
"scripts": {
|
|
@@ -15,9 +15,9 @@
|
|
|
15
15
|
"@nestjs/config": "^4.0.2",
|
|
16
16
|
"@nestjs/core": "^11.1.9",
|
|
17
17
|
"@nestjs/swagger": "^11.2.3",
|
|
18
|
-
"@trailmix-cms/db": "0.
|
|
19
|
-
"@trailmix-cms/models": "0.
|
|
20
|
-
"@trailmix-cms/utils": "0.
|
|
18
|
+
"@trailmix-cms/db": "0.4.1",
|
|
19
|
+
"@trailmix-cms/models": "0.4.1",
|
|
20
|
+
"@trailmix-cms/utils": "0.4.1",
|
|
21
21
|
"cache-manager": "^7.2.5",
|
|
22
22
|
"envalid": "^8.1.1",
|
|
23
23
|
"mongodb": "^7.0.0",
|
|
@@ -35,9 +35,9 @@
|
|
|
35
35
|
"@clerk/fastify": "^2.6.8",
|
|
36
36
|
"@nestjs/common": "^11.1.9",
|
|
37
37
|
"@nestjs/config": "^4.0.2",
|
|
38
|
-
"@trailmix-cms/db": "0.
|
|
39
|
-
"@trailmix-cms/models": "0.
|
|
40
|
-
"@trailmix-cms/utils": "0.
|
|
38
|
+
"@trailmix-cms/db": "0.4.1",
|
|
39
|
+
"@trailmix-cms/models": "0.4.1",
|
|
40
|
+
"@trailmix-cms/utils": "0.4.1",
|
|
41
41
|
"mongodb": "^7.0.0",
|
|
42
42
|
"nestjs-zod": "^5.0.1",
|
|
43
43
|
"reflect-metadata": "^0.2.2",
|