@solidstarters/solid-core 1.2.64 → 1.2.67
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/controllers/chatter-message.controller.d.ts +1 -2
- package/dist/controllers/chatter-message.controller.d.ts.map +1 -1
- package/dist/controllers/chatter-message.controller.js +3 -7
- package/dist/controllers/chatter-message.controller.js.map +1 -1
- package/dist/decorators/active-user.decorator.d.ts.map +1 -1
- package/dist/decorators/active-user.decorator.js.map +1 -1
- package/dist/decorators/solid-request-context.decorator.d.ts.map +1 -1
- package/dist/decorators/solid-request-context.decorator.js.map +1 -1
- package/dist/guards/access-token.guard.d.ts +3 -1
- package/dist/guards/access-token.guard.d.ts.map +1 -1
- package/dist/guards/access-token.guard.js +6 -2
- package/dist/guards/access-token.guard.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +0 -1
- package/dist/index.js.map +1 -1
- package/dist/providers/list-of-values-selection-providers.service.d.ts.map +1 -1
- package/dist/providers/list-of-values-selection-providers.service.js +15 -5
- package/dist/providers/list-of-values-selection-providers.service.js.map +1 -1
- package/dist/seeders/seed-data/solid-core-metadata.json +9 -51
- package/dist/services/authentication.service.d.ts +3 -1
- package/dist/services/authentication.service.d.ts.map +1 -1
- package/dist/services/authentication.service.js +12 -3
- package/dist/services/authentication.service.js.map +1 -1
- package/dist/services/chatter-message-details.service.d.ts +1 -3
- package/dist/services/chatter-message-details.service.d.ts.map +1 -1
- package/dist/services/chatter-message-details.service.js +3 -6
- package/dist/services/chatter-message-details.service.js.map +1 -1
- package/dist/services/chatter-message.service.d.ts +7 -8
- package/dist/services/chatter-message.service.d.ts.map +1 -1
- package/dist/services/chatter-message.service.js +28 -19
- package/dist/services/chatter-message.service.js.map +1 -1
- package/dist/services/crud.service.d.ts +1 -3
- package/dist/services/crud.service.d.ts.map +1 -1
- package/dist/services/crud.service.js +3 -42
- package/dist/services/crud.service.js.map +1 -1
- package/dist/services/field-metadata.service.d.ts.map +1 -1
- package/dist/services/field-metadata.service.js +23 -11
- package/dist/services/field-metadata.service.js.map +1 -1
- package/dist/services/model-metadata.service.d.ts.map +1 -1
- package/dist/services/model-metadata.service.js +11 -9
- package/dist/services/model-metadata.service.js.map +1 -1
- package/dist/services/request-context.service.d.ts +4 -4
- package/dist/services/request-context.service.d.ts.map +1 -1
- package/dist/services/request-context.service.js +6 -10
- package/dist/services/request-context.service.js.map +1 -1
- package/dist/services/user.service.d.ts +1 -1
- package/dist/services/user.service.d.ts.map +1 -1
- package/dist/services/user.service.js +2 -2
- package/dist/services/user.service.js.map +1 -1
- package/dist/solid-core.module.d.ts.map +1 -1
- package/dist/solid-core.module.js +6 -2
- package/dist/solid-core.module.js.map +1 -1
- package/dist/subscribers/audit.subscriber.d.ts +1 -3
- package/dist/subscribers/audit.subscriber.d.ts.map +1 -1
- package/dist/subscribers/audit.subscriber.js +7 -12
- package/dist/subscribers/audit.subscriber.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -1
- package/src/controllers/chatter-message.controller.ts +1 -2
- package/src/decorators/active-user.decorator.ts +1 -0
- package/src/decorators/solid-request-context.decorator.ts +2 -1
- package/src/guards/access-token.guard.ts +3 -0
- package/src/index.ts +0 -1
- package/src/providers/list-of-values-selection-providers.service.ts +14 -5
- package/src/seeders/seed-data/solid-core-metadata.json +12 -56
- package/src/services/authentication.service.ts +16 -4
- package/src/services/chatter-message-details.service.ts +1 -3
- package/src/services/chatter-message.service.ts +29 -20
- package/src/services/crud.service.ts +0 -8
- package/src/services/field-metadata.service.ts +23 -12
- package/src/services/model-metadata.service.ts +15 -12
- package/src/services/request-context.service.ts +5 -6
- package/src/services/user.service.ts +6 -6
- package/src/solid-core.module.ts +5 -2
- package/src/subscribers/audit.subscriber.ts +5 -9
- package/dist/services/user-context.service.d.ts +0 -10
- package/dist/services/user-context.service.d.ts.map +0 -1
- package/dist/services/user-context.service.js +0 -42
- package/dist/services/user-context.service.js.map +0 -1
- package/src/services/user-context.service.ts +0 -31
|
@@ -34,7 +34,7 @@ export class UserService extends CRUDService<User> {
|
|
|
34
34
|
readonly moduleRef: ModuleRef,
|
|
35
35
|
@Inject(iamConfig.KEY)
|
|
36
36
|
private readonly iamConfiguration: ConfigType<typeof iamConfig>,
|
|
37
|
-
|
|
37
|
+
|
|
38
38
|
) {
|
|
39
39
|
super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, 'user', 'solid-core', moduleRef);
|
|
40
40
|
}
|
|
@@ -237,20 +237,20 @@ export class UserService extends CRUDService<User> {
|
|
|
237
237
|
return matchingPermssions
|
|
238
238
|
}
|
|
239
239
|
|
|
240
|
-
initializeRolesForNewUser(roles: string[], user: User) {
|
|
240
|
+
async initializeRolesForNewUser(roles: string[], user: User) {
|
|
241
241
|
if (!user.id) {
|
|
242
|
-
|
|
242
|
+
throw new BadRequestException('User must exist before initializing roles');
|
|
243
243
|
}
|
|
244
244
|
let userRoles = [];
|
|
245
245
|
// Default Internal user role assigned
|
|
246
246
|
userRoles.push("Internal User");
|
|
247
247
|
if (roles) {
|
|
248
|
-
|
|
248
|
+
userRoles = [...userRoles, ...roles];
|
|
249
249
|
}
|
|
250
250
|
userRoles = Array.from(new Set([...userRoles]));
|
|
251
251
|
if (userRoles.length > 0) {
|
|
252
|
-
|
|
252
|
+
await this.addRolesToUser(user.username, userRoles);
|
|
253
253
|
}
|
|
254
|
-
|
|
254
|
+
}
|
|
255
255
|
|
|
256
256
|
}
|
package/src/solid-core.module.ts
CHANGED
|
@@ -161,7 +161,7 @@ import { ChatterMessageDetails } from './entities/chatter-message-details.entity
|
|
|
161
161
|
import { ChatterMessageDetailsService } from './services/chatter-message-details.service';
|
|
162
162
|
import { ChatterMessageDetailsController } from './controllers/chatter-message-details.controller';
|
|
163
163
|
import { AuditSubscriber } from './subscribers/audit.subscriber';
|
|
164
|
-
import {
|
|
164
|
+
import { ClsModule } from 'nestjs-cls';
|
|
165
165
|
|
|
166
166
|
@Global()
|
|
167
167
|
@Module({
|
|
@@ -213,6 +213,10 @@ import { UserContextService } from './services/user-context.service';
|
|
|
213
213
|
TypeOrmModule.forFeature([ChatterMessage]),
|
|
214
214
|
TypeOrmModule.forFeature([ChatterMessageDetails]),
|
|
215
215
|
// TypeOrmModule.forFeature([User]),
|
|
216
|
+
ClsModule.forRoot({
|
|
217
|
+
middleware: {
|
|
218
|
+
mount: true,
|
|
219
|
+
}}),
|
|
216
220
|
],
|
|
217
221
|
controllers: [
|
|
218
222
|
ModuleMetadataController,
|
|
@@ -348,7 +352,6 @@ import { UserContextService } from './services/user-context.service';
|
|
|
348
352
|
ChatterMessageService,
|
|
349
353
|
ChatterMessageDetailsService,
|
|
350
354
|
AuditSubscriber,
|
|
351
|
-
UserContextService,
|
|
352
355
|
],
|
|
353
356
|
exports: [
|
|
354
357
|
ModuleMetadataService,
|
|
@@ -5,7 +5,6 @@ import { InjectRepository } from '@nestjs/typeorm';
|
|
|
5
5
|
import { ModelMetadata } from '../entities/model-metadata.entity';
|
|
6
6
|
import { Repository } from 'typeorm';
|
|
7
7
|
import { Injectable } from '@nestjs/common';
|
|
8
|
-
import { UserContextService } from '../services/user-context.service';
|
|
9
8
|
@Injectable()
|
|
10
9
|
@EventSubscriber()
|
|
11
10
|
export class AuditSubscriber implements EntitySubscriberInterface {
|
|
@@ -15,7 +14,6 @@ export class AuditSubscriber implements EntitySubscriberInterface {
|
|
|
15
14
|
private readonly chatterMessageService: ChatterMessageService,
|
|
16
15
|
@InjectRepository(ModelMetadata)
|
|
17
16
|
private readonly modelMetadataRepo: Repository<ModelMetadata>,
|
|
18
|
-
private readonly userContextService: UserContextService
|
|
19
17
|
) {
|
|
20
18
|
connection.subscribers.push(this);
|
|
21
19
|
}
|
|
@@ -37,7 +35,8 @@ export class AuditSubscriber implements EntitySubscriberInterface {
|
|
|
37
35
|
|
|
38
36
|
const auditFields = model.fields.filter(field =>
|
|
39
37
|
field.enableAuditTracking &&
|
|
40
|
-
!['
|
|
38
|
+
!['mediaSingle', 'mediaMultiple', 'computed', 'richText', 'json'].includes(field.type) &&
|
|
39
|
+
!(field.type === 'relation' && field.relationType === 'one-to-many')
|
|
41
40
|
);
|
|
42
41
|
|
|
43
42
|
if (auditFields.length === 0) {
|
|
@@ -52,22 +51,19 @@ export class AuditSubscriber implements EntitySubscriberInterface {
|
|
|
52
51
|
|
|
53
52
|
async afterInsert(event: InsertEvent<any>) {
|
|
54
53
|
if (await this.shouldTrackAudit(event.entity, event.metadata)) {
|
|
55
|
-
|
|
56
|
-
await this.chatterMessageService.postAuditMessageOnInsert(event.entity, event.metadata, activeUser);
|
|
54
|
+
await this.chatterMessageService.postAuditMessageOnInsert(event.entity, event.metadata);
|
|
57
55
|
}
|
|
58
56
|
}
|
|
59
57
|
|
|
60
58
|
async afterUpdate(event: UpdateEvent<any>) {
|
|
61
59
|
if (await this.shouldTrackAudit(event.entity, event.metadata)) {
|
|
62
|
-
|
|
63
|
-
await this.chatterMessageService.postAuditMessageOnUpdate(event.entity, event.metadata, event.databaseEntity, activeUser);
|
|
60
|
+
await this.chatterMessageService.postAuditMessageOnUpdate(event.entity, event.metadata, event.databaseEntity);
|
|
64
61
|
}
|
|
65
62
|
}
|
|
66
63
|
|
|
67
64
|
async afterRemove(event: RemoveEvent<any>) {
|
|
68
65
|
if (await this.shouldTrackAudit(event.entity, event.metadata)) {
|
|
69
|
-
|
|
70
|
-
await this.chatterMessageService.postAuditMessageOnDelete(event.entity, event.metadata, event.databaseEntity, activeUser);
|
|
66
|
+
await this.chatterMessageService.postAuditMessageOnDelete(event.entity, event.metadata, event.databaseEntity);
|
|
71
67
|
}
|
|
72
68
|
}
|
|
73
69
|
}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { ActiveUserData } from '../interfaces/active-user-data.interface';
|
|
2
|
-
export declare class UserContextService {
|
|
3
|
-
private readonly logger;
|
|
4
|
-
private static currentUser;
|
|
5
|
-
setUser(user: any): void;
|
|
6
|
-
getUser(): any;
|
|
7
|
-
runWithUser<T>(user: any, callback: () => T): T;
|
|
8
|
-
getCurrentUser(): ActiveUserData | null;
|
|
9
|
-
}
|
|
10
|
-
//# sourceMappingURL=user-context.service.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"user-context.service.d.ts","sourceRoot":"","sources":["../../src/services/user-context.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAE1E,qBACa,kBAAkB;IAC3B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAuC;IAC9D,OAAO,CAAC,MAAM,CAAC,WAAW,CAAa;IAEvC,OAAO,CAAC,IAAI,EAAE,GAAG;IAKjB,OAAO;IAIP,WAAW,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC;IAU/C,cAAc,IAAI,cAAc,GAAG,IAAI;CAG1C"}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
-
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
-
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
-
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
-
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
-
};
|
|
8
|
-
var UserContextService_1;
|
|
9
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
-
exports.UserContextService = void 0;
|
|
11
|
-
const common_1 = require("@nestjs/common");
|
|
12
|
-
let UserContextService = UserContextService_1 = class UserContextService {
|
|
13
|
-
constructor() {
|
|
14
|
-
this.logger = new common_1.Logger(UserContextService_1.name);
|
|
15
|
-
}
|
|
16
|
-
setUser(user) {
|
|
17
|
-
this.logger.debug(`Setting user: ${JSON.stringify(user)}`);
|
|
18
|
-
UserContextService_1.currentUser = user;
|
|
19
|
-
}
|
|
20
|
-
getUser() {
|
|
21
|
-
return UserContextService_1.currentUser;
|
|
22
|
-
}
|
|
23
|
-
runWithUser(user, callback) {
|
|
24
|
-
const previousUser = this.getUser();
|
|
25
|
-
try {
|
|
26
|
-
this.setUser(user);
|
|
27
|
-
return callback();
|
|
28
|
-
}
|
|
29
|
-
finally {
|
|
30
|
-
this.setUser(previousUser);
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
getCurrentUser() {
|
|
34
|
-
return this.getUser();
|
|
35
|
-
}
|
|
36
|
-
};
|
|
37
|
-
exports.UserContextService = UserContextService;
|
|
38
|
-
UserContextService.currentUser = null;
|
|
39
|
-
exports.UserContextService = UserContextService = UserContextService_1 = __decorate([
|
|
40
|
-
(0, common_1.Injectable)()
|
|
41
|
-
], UserContextService);
|
|
42
|
-
//# sourceMappingURL=user-context.service.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"user-context.service.js","sourceRoot":"","sources":["../../src/services/user-context.service.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAAoD;AAI7C,IAAM,kBAAkB,0BAAxB,MAAM,kBAAkB;IAAxB;QACc,WAAM,GAAG,IAAI,eAAM,CAAC,oBAAkB,CAAC,IAAI,CAAC,CAAC;IAyBlE,CAAC;IAtBG,OAAO,CAAC,IAAS;QACb,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC3D,oBAAkB,CAAC,WAAW,GAAG,IAAI,CAAC;IAC1C,CAAC;IAED,OAAO;QACH,OAAO,oBAAkB,CAAC,WAAW,CAAC;IAC1C,CAAC;IAED,WAAW,CAAI,IAAS,EAAE,QAAiB;QACvC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QACpC,IAAI,CAAC;YACD,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACnB,OAAO,QAAQ,EAAE,CAAC;QACtB,CAAC;gBAAS,CAAC;YACP,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QAC/B,CAAC;IACL,CAAC;IAED,cAAc;QACV,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IAC1B,CAAC;;AAzBQ,gDAAkB;AAEZ,8BAAW,GAAQ,IAAI,AAAZ,CAAa;6BAF9B,kBAAkB;IAD9B,IAAA,mBAAU,GAAE;GACA,kBAAkB,CA0B9B"}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { Injectable, Logger } from '@nestjs/common';
|
|
2
|
-
import { ActiveUserData } from '../interfaces/active-user-data.interface';
|
|
3
|
-
|
|
4
|
-
@Injectable()
|
|
5
|
-
export class UserContextService {
|
|
6
|
-
private readonly logger = new Logger(UserContextService.name);
|
|
7
|
-
private static currentUser: any = null;
|
|
8
|
-
|
|
9
|
-
setUser(user: any) {
|
|
10
|
-
this.logger.debug(`Setting user: ${JSON.stringify(user)}`);
|
|
11
|
-
UserContextService.currentUser = user;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
getUser() {
|
|
15
|
-
return UserContextService.currentUser;
|
|
16
|
-
}
|
|
17
|
-
|
|
18
|
-
runWithUser<T>(user: any, callback: () => T): T {
|
|
19
|
-
const previousUser = this.getUser();
|
|
20
|
-
try {
|
|
21
|
-
this.setUser(user);
|
|
22
|
-
return callback();
|
|
23
|
-
} finally {
|
|
24
|
-
this.setUser(previousUser);
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
getCurrentUser(): ActiveUserData | null {
|
|
29
|
-
return this.getUser();
|
|
30
|
-
}
|
|
31
|
-
}
|