@solidstarters/solid-core 1.2.58 → 1.2.60
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/config/iam.config.d.ts +2 -0
- package/dist/config/iam.config.d.ts.map +1 -1
- package/dist/config/iam.config.js +1 -0
- package/dist/config/iam.config.js.map +1 -1
- package/dist/controllers/setting.controller.d.ts +3 -0
- package/dist/controllers/setting.controller.d.ts.map +1 -1
- package/dist/controllers/setting.controller.js +23 -0
- package/dist/controllers/setting.controller.js.map +1 -1
- package/dist/dtos/create-setting.dto.d.ts +2 -15
- package/dist/dtos/create-setting.dto.d.ts.map +1 -1
- package/dist/dtos/create-setting.dto.js +6 -77
- package/dist/dtos/create-setting.dto.js.map +1 -1
- package/dist/dtos/update-setting.dto.d.ts +2 -15
- package/dist/dtos/update-setting.dto.d.ts.map +1 -1
- package/dist/dtos/update-setting.dto.js +6 -77
- package/dist/dtos/update-setting.dto.js.map +1 -1
- package/dist/dtos/update-settings.dto.d.ts +4 -0
- package/dist/dtos/update-settings.dto.d.ts.map +1 -0
- package/dist/dtos/update-settings.dto.js +26 -0
- package/dist/dtos/update-settings.dto.js.map +1 -0
- package/dist/entities/setting.entity.d.ts +2 -15
- package/dist/entities/setting.entity.d.ts.map +1 -1
- package/dist/entities/setting.entity.js +4 -65
- package/dist/entities/setting.entity.js.map +1 -1
- package/dist/seeders/module-metadata-seeder.service.d.ts.map +1 -1
- package/dist/seeders/module-metadata-seeder.service.js +1 -18
- package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
- package/dist/seeders/seed-data/solid-core-metadata.json +7 -174
- 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 -17
- package/dist/services/authentication.service.js.map +1 -1
- package/dist/services/setting.service.d.ts +4 -0
- package/dist/services/setting.service.d.ts.map +1 -1
- package/dist/services/setting.service.js +139 -7
- package/dist/services/setting.service.js.map +1 -1
- package/dist/services/user.service.d.ts +5 -2
- package/dist/services/user.service.d.ts.map +1 -1
- package/dist/services/user.service.js +21 -3
- package/dist/services/user.service.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +1 -1
- package/src/config/iam.config.ts +1 -0
- package/src/controllers/setting.controller.ts +13 -1
- package/src/dtos/create-setting.dto.ts +10 -59
- package/src/dtos/update-setting.dto.ts +10 -60
- package/src/dtos/update-settings.dto.ts +7 -0
- package/src/entities/setting.entity.ts +8 -46
- package/src/seeders/module-metadata-seeder.service.ts +1 -19
- package/src/seeders/seed-data/solid-core-metadata.json +7 -174
- package/src/services/authentication.service.ts +10 -16
- package/src/services/setting.service.ts +163 -14
- package/src/services/user.service.ts +28 -5
|
@@ -44,25 +44,77 @@ let SettingService = class SettingService extends crud_service_1.CRUDService {
|
|
|
44
44
|
this.repo = repo;
|
|
45
45
|
this.moduleRef = moduleRef;
|
|
46
46
|
}
|
|
47
|
+
async seedDefaultSettings() {
|
|
48
|
+
const settingsSeederData = {
|
|
49
|
+
allowPublicRegistration: this.iamConfiguration.allowPublicRegistration,
|
|
50
|
+
iamPasswordRegistrationEnabled: this.iamConfiguration.iamPasswordRegistrationEnabled,
|
|
51
|
+
passwordlessRegistration: this.iamConfiguration.passwordlessRegistration,
|
|
52
|
+
activateUserOnRegistration: this.iamConfiguration.activateUserOnRegistration,
|
|
53
|
+
iamGoogleOAuthEnabled: false,
|
|
54
|
+
authPagesLayout: "center",
|
|
55
|
+
authPagesTheme: "light",
|
|
56
|
+
appTitle: process.env.SOLID_APP_NAME || "Solid App",
|
|
57
|
+
appLogo: "",
|
|
58
|
+
appDescription: "",
|
|
59
|
+
appTnc: "",
|
|
60
|
+
appPrivacyPolicy: "",
|
|
61
|
+
defaultRole: this.iamConfiguration.defaultRole,
|
|
62
|
+
shouldQueueEmails: this.commonConfiguration.shouldQueueEmails,
|
|
63
|
+
shouldQueueSms: this.commonConfiguration.shouldQueueSms
|
|
64
|
+
};
|
|
65
|
+
const existingSettings = await this.repo.find();
|
|
66
|
+
const existingKeys = new Set(existingSettings.map(s => s.key));
|
|
67
|
+
const settingsToInsert = [];
|
|
68
|
+
for (const [key, value] of Object.entries(settingsSeederData)) {
|
|
69
|
+
if (!existingKeys.has(key)) {
|
|
70
|
+
const setting = new setting_entity_1.Setting();
|
|
71
|
+
setting.key = key;
|
|
72
|
+
setting.value = typeof value === 'boolean' ? value.toString() :
|
|
73
|
+
Array.isArray(value) ? value.join(',') :
|
|
74
|
+
value === null || value === undefined ? '' : String(value);
|
|
75
|
+
settingsToInsert.push(setting);
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
if (settingsToInsert.length > 0) {
|
|
79
|
+
await this.repo.save(settingsToInsert);
|
|
80
|
+
}
|
|
81
|
+
}
|
|
47
82
|
async wrapSettings() {
|
|
48
83
|
const settingsArray = await this.repo.find();
|
|
49
84
|
if (!settingsArray || settingsArray.length === 0) {
|
|
50
85
|
return this.getDefaultSettings();
|
|
51
86
|
}
|
|
52
|
-
const
|
|
87
|
+
const settingsMap = {};
|
|
88
|
+
for (const setting of settingsArray) {
|
|
89
|
+
if (setting.key && setting.value !== undefined && setting.value !== null) {
|
|
90
|
+
let value = setting.value;
|
|
91
|
+
if (value === 'true' || value === 'false') {
|
|
92
|
+
settingsMap[setting.key] = value === 'true';
|
|
93
|
+
}
|
|
94
|
+
else if (!isNaN(Number(value)) && value.trim() !== '') {
|
|
95
|
+
settingsMap[setting.key] = Number(value);
|
|
96
|
+
}
|
|
97
|
+
else if (value.includes(',')) {
|
|
98
|
+
settingsMap[setting.key] = value.split(',').map(item => item.trim());
|
|
99
|
+
}
|
|
100
|
+
else {
|
|
101
|
+
settingsMap[setting.key] = value;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
53
105
|
const defaultSettings = this.getDefaultSettings();
|
|
54
106
|
const mergedSettings = Object.keys(defaultSettings).reduce((acc, key) => {
|
|
55
|
-
acc[key] =
|
|
107
|
+
acc[key] = settingsMap[key] !== undefined ? settingsMap[key] : defaultSettings[key];
|
|
56
108
|
return acc;
|
|
57
109
|
}, {});
|
|
58
110
|
return mergedSettings;
|
|
59
111
|
}
|
|
60
112
|
getDefaultSettings() {
|
|
61
113
|
return {
|
|
62
|
-
|
|
63
|
-
iamPasswordRegistrationEnabled:
|
|
64
|
-
|
|
65
|
-
|
|
114
|
+
allowPublicRegistration: this.iamConfiguration.allowPublicRegistration,
|
|
115
|
+
iamPasswordRegistrationEnabled: this.iamConfiguration.iamPasswordRegistrationEnabled,
|
|
116
|
+
passwordlessRegistration: this.iamConfiguration.passwordlessRegistration,
|
|
117
|
+
activateUserOnRegistration: this.iamConfiguration.activateUserOnRegistration,
|
|
66
118
|
iamGoogleOAuthEnabled: false,
|
|
67
119
|
authPagesLayout: "center",
|
|
68
120
|
authPagesTheme: "light",
|
|
@@ -71,11 +123,91 @@ let SettingService = class SettingService extends crud_service_1.CRUDService {
|
|
|
71
123
|
appDescription: "",
|
|
72
124
|
appTnc: "",
|
|
73
125
|
appPrivacyPolicy: "",
|
|
74
|
-
|
|
126
|
+
defaultRole: this.iamConfiguration.defaultRole,
|
|
75
127
|
shouldQueueEmails: this.commonConfiguration.shouldQueueEmails,
|
|
76
128
|
shouldQueueSms: this.commonConfiguration.shouldQueueSms
|
|
77
129
|
};
|
|
78
130
|
}
|
|
131
|
+
async getConfigValue(settingKey) {
|
|
132
|
+
try {
|
|
133
|
+
const settingsArray = await this.repo.find();
|
|
134
|
+
const settingEntry = settingsArray.find(setting => setting.key === settingKey);
|
|
135
|
+
if (settingEntry && settingEntry.value !== null && settingEntry.value !== undefined) {
|
|
136
|
+
const value = settingEntry.value;
|
|
137
|
+
if (value === 'true' || value === 'false') {
|
|
138
|
+
return value === 'true';
|
|
139
|
+
}
|
|
140
|
+
else if (!isNaN(Number(value)) && value.trim() !== '') {
|
|
141
|
+
return Number(value);
|
|
142
|
+
}
|
|
143
|
+
else if (value.includes(',')) {
|
|
144
|
+
return value.split(',').map(item => item.trim());
|
|
145
|
+
}
|
|
146
|
+
else {
|
|
147
|
+
return value;
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
const defaultSettings = this.getDefaultSettings();
|
|
151
|
+
return defaultSettings[settingKey];
|
|
152
|
+
}
|
|
153
|
+
catch (error) {
|
|
154
|
+
const defaultSettings = this.getDefaultSettings();
|
|
155
|
+
return defaultSettings[settingKey];
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
async updateSettings(settings) {
|
|
159
|
+
const existingSettings = await this.repo.find();
|
|
160
|
+
const existingKeys = new Set(existingSettings.map(s => s.key));
|
|
161
|
+
const settingsToUpdate = [];
|
|
162
|
+
const settingsToCreate = [];
|
|
163
|
+
for (const [key, value] of Object.entries(settings)) {
|
|
164
|
+
const stringValue = typeof value === 'boolean' ? value.toString() :
|
|
165
|
+
Array.isArray(value) ? value.join(',') :
|
|
166
|
+
value === null || value === undefined ? '' : String(value);
|
|
167
|
+
if (existingKeys.has(key)) {
|
|
168
|
+
const existingSetting = existingSettings.find(s => s.key === key);
|
|
169
|
+
if (existingSetting) {
|
|
170
|
+
existingSetting.value = stringValue;
|
|
171
|
+
settingsToUpdate.push(existingSetting);
|
|
172
|
+
}
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
const newSetting = new setting_entity_1.Setting();
|
|
176
|
+
newSetting.key = key;
|
|
177
|
+
newSetting.value = stringValue;
|
|
178
|
+
settingsToCreate.push(newSetting);
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
if (settingsToUpdate.length > 0) {
|
|
182
|
+
await this.repo.save(settingsToUpdate);
|
|
183
|
+
}
|
|
184
|
+
if (settingsToCreate.length > 0) {
|
|
185
|
+
await this.repo.save(settingsToCreate);
|
|
186
|
+
}
|
|
187
|
+
return [...settingsToUpdate, ...settingsToCreate];
|
|
188
|
+
}
|
|
189
|
+
async getAllSettings() {
|
|
190
|
+
const settingsArray = await this.repo.find();
|
|
191
|
+
const settingsMap = {};
|
|
192
|
+
for (const setting of settingsArray) {
|
|
193
|
+
if (setting.key && setting.value !== undefined && setting.value !== null) {
|
|
194
|
+
const value = setting.value;
|
|
195
|
+
if (value === 'true' || value === 'false') {
|
|
196
|
+
settingsMap[setting.key] = value === 'true';
|
|
197
|
+
}
|
|
198
|
+
else if (!isNaN(Number(value)) && value.trim() !== '') {
|
|
199
|
+
settingsMap[setting.key] = Number(value);
|
|
200
|
+
}
|
|
201
|
+
else if (value.includes(',')) {
|
|
202
|
+
settingsMap[setting.key] = value.split(',').map(item => item.trim());
|
|
203
|
+
}
|
|
204
|
+
else {
|
|
205
|
+
settingsMap[setting.key] = value;
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
return settingsMap;
|
|
210
|
+
}
|
|
79
211
|
};
|
|
80
212
|
exports.SettingService = SettingService;
|
|
81
213
|
exports.SettingService = SettingService = __decorate([
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setting.service.js","sourceRoot":"","sources":["../../src/services/setting.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;AAAA,2CAAoD;AACpD,uCAA2D;AAC3D,6CAAwE;AACxE,qCAAoD;AAEpD,2CAA2D;AAC3D,+DAAqE;AACrE,iDAAwD;AACxD,iDAAwD;AACxD,qEAA2E;AAC3E,uEAA6E;AAG7E,4EAAoD;AACpD,qDAAkD;AAClD,+DAAqD;AAG9C,IAAM,cAAc,GAApB,MAAM,cAAe,SAAQ,0BAAoB;IACtD,YACW,oBAA0C,EAC1C,qBAA4C,EAC5C,aAA4B,EAC5B,WAAwB,EACxB,gBAAkC,EAClC,iBAAoC,EACL,gBAA8C,EAErE,mBAAoD,EAE5D,aAA4B,EAE5B,IAAyB,EACzB,SAAoB;QAG7B,KAAK,CAAC,oBAAoB,EAAE,qBAAqB,EAAE,aAAa,EAAE,WAAW,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,aAAa,EAAE,IAAI,EAAE,SAAS,EAAE,YAAY,EAAE,SAAS,CAC1K,CAAC;QAjBO,yBAAoB,GAApB,oBAAoB,CAAsB;QAC1C,0BAAqB,GAArB,qBAAqB,CAAuB;QAC5C,kBAAa,GAAb,aAAa,CAAe;QAC5B,gBAAW,GAAX,WAAW,CAAa;QACxB,qBAAgB,GAAhB,gBAAgB,CAAkB;QAClC,sBAAiB,GAAjB,iBAAiB,CAAmB;QACL,qBAAgB,GAAhB,gBAAgB,CAA8B;QAErE,wBAAmB,GAAnB,mBAAmB,CAAiC;QAE5D,kBAAa,GAAb,aAAa,CAAe;QAE5B,SAAI,GAAJ,IAAI,CAAqB;QACzB,cAAS,GAAT,SAAS,CAAW;IAK/B,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,MAAM,aAAa,
|
|
1
|
+
{"version":3,"file":"setting.service.js","sourceRoot":"","sources":["../../src/services/setting.service.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ConfigService } from '@nestjs/config';
|
|
1
|
+
import { ConfigService, ConfigType } from '@nestjs/config';
|
|
2
2
|
import { DiscoveryService, ModuleRef } from "@nestjs/core";
|
|
3
3
|
import { CrudHelperService } from "src/services/crud-helper.service";
|
|
4
4
|
import { CRUDService } from 'src/services/crud.service';
|
|
@@ -10,6 +10,7 @@ import { OauthUserDto } from '../dtos/oauth-user-dto';
|
|
|
10
10
|
import { RoleMetadata } from '../entities/role-metadata.entity';
|
|
11
11
|
import { User } from '../entities/user.entity';
|
|
12
12
|
import { ActiveUserData } from '../interfaces/active-user-data.interface';
|
|
13
|
+
import { iamConfig } from 'src/config/iam.config';
|
|
13
14
|
export declare class UserService extends CRUDService<User> {
|
|
14
15
|
readonly modelMetadataService: ModelMetadataService;
|
|
15
16
|
readonly moduleMetadataService: ModuleMetadataService;
|
|
@@ -21,7 +22,8 @@ export declare class UserService extends CRUDService<User> {
|
|
|
21
22
|
readonly repo: Repository<User>;
|
|
22
23
|
private readonly roleRepository;
|
|
23
24
|
readonly moduleRef: ModuleRef;
|
|
24
|
-
|
|
25
|
+
private readonly iamConfiguration;
|
|
26
|
+
constructor(modelMetadataService: ModelMetadataService, moduleMetadataService: ModuleMetadataService, configService: ConfigService, fileService: FileService, discoveryService: DiscoveryService, crudHelperService: CrudHelperService, entityManager: EntityManager, repo: Repository<User>, roleRepository: Repository<RoleMetadata>, moduleRef: ModuleRef, iamConfiguration: ConfigType<typeof iamConfig>);
|
|
25
27
|
findOneByEmail(email: string): Promise<User>;
|
|
26
28
|
findOneByAccessCode(accessCode: string): Promise<User>;
|
|
27
29
|
findOneByUsername(username: string): Promise<User>;
|
|
@@ -32,5 +34,6 @@ export declare class UserService extends CRUDService<User> {
|
|
|
32
34
|
resolveUserOnOauthGoogle(oauthUserDto: OauthUserDto): Promise<User>;
|
|
33
35
|
findUsersByRole(roleName: string, relations?: any): Promise<User[]>;
|
|
34
36
|
checkIfPermissionExists(query: any, activeUser: ActiveUserData): Promise<string[]>;
|
|
37
|
+
initializeRolesForNewUser(roles: string[], user: User): void;
|
|
35
38
|
}
|
|
36
39
|
//# sourceMappingURL=user.service.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.service.d.ts","sourceRoot":"","sources":["../../src/services/user.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"user.service.d.ts","sourceRoot":"","sources":["../../src/services/user.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAE3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAC;AACxD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGpD,OAAO,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,IAAI,EAAE,MAAM,yBAAyB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,0CAA0C,CAAC;AAC1E,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,qBACa,WAAY,SAAQ,WAAW,CAAC,IAAI,CAAC;IAE9C,QAAQ,CAAC,oBAAoB,EAAE,oBAAoB;IACnD,QAAQ,CAAC,qBAAqB,EAAE,qBAAqB;IACrD,QAAQ,CAAC,aAAa,EAAE,aAAa;IACrC,QAAQ,CAAC,WAAW,EAAE,WAAW;IACjC,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB;IAC3C,QAAQ,CAAC,iBAAiB,EAAE,iBAAiB;IAE7C,QAAQ,CAAC,aAAa,EAAE,aAAa;IAErC,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC;IAE/B,OAAO,CAAC,QAAQ,CAAC,cAAc;IAC/B,QAAQ,CAAC,SAAS,EAAE,SAAS;IAE7B,OAAO,CAAC,QAAQ,CAAC,gBAAgB;gBAdxB,oBAAoB,EAAE,oBAAoB,EAC1C,qBAAqB,EAAE,qBAAqB,EAC5C,aAAa,EAAE,aAAa,EAC5B,WAAW,EAAE,WAAW,EACxB,gBAAgB,EAAE,gBAAgB,EAClC,iBAAiB,EAAE,iBAAiB,EAEpC,aAAa,EAAE,aAAa,EAE5B,IAAI,EAAE,UAAU,CAAC,IAAI,CAAC,EAEd,cAAc,EAAE,UAAU,CAAC,YAAY,CAAC,EAChD,SAAS,EAAE,SAAS,EAEZ,gBAAgB,EAAE,UAAU,CAAC,OAAO,SAAS,CAAC;IAO3D,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAa5C,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAStD,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAalD,UAAU,CAAC,EAAE,EAAE,GAAG,EAAE,SAAS,KAAA,EAAE,KAAK,KAAA,EAAE,mBAAmB,GAAE,GAAQ;IAenE,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA0BhE,cAAc,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAsCpE,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAuBrE,wBAAwB,CAAC,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,IAAI,CAAC;IA2CnE,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,GAAE,GAAQ,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IAWvE,uBAAuB,CAAC,KAAK,EAAE,GAAG,EAAE,UAAU,EAAE,cAAc;IAMpE,yBAAyB,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI;CAgBtD"}
|
|
@@ -25,8 +25,9 @@ const module_metadata_service_1 = require("./module-metadata.service");
|
|
|
25
25
|
const typeorm_2 = require("typeorm");
|
|
26
26
|
const role_metadata_entity_1 = require("../entities/role-metadata.entity");
|
|
27
27
|
const user_entity_1 = require("../entities/user.entity");
|
|
28
|
+
const iam_config_1 = require("../config/iam.config");
|
|
28
29
|
let UserService = class UserService extends crud_service_1.CRUDService {
|
|
29
|
-
constructor(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, roleRepository, moduleRef) {
|
|
30
|
+
constructor(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, roleRepository, moduleRef, iamConfiguration) {
|
|
30
31
|
super(modelMetadataService, moduleMetadataService, configService, fileService, discoveryService, crudHelperService, entityManager, repo, 'user', 'solid-core', moduleRef);
|
|
31
32
|
this.modelMetadataService = modelMetadataService;
|
|
32
33
|
this.moduleMetadataService = moduleMetadataService;
|
|
@@ -38,6 +39,7 @@ let UserService = class UserService extends crud_service_1.CRUDService {
|
|
|
38
39
|
this.repo = repo;
|
|
39
40
|
this.roleRepository = roleRepository;
|
|
40
41
|
this.moduleRef = moduleRef;
|
|
42
|
+
this.iamConfiguration = iamConfiguration;
|
|
41
43
|
}
|
|
42
44
|
async findOneByEmail(email) {
|
|
43
45
|
return await this.repo.findOne({
|
|
@@ -159,7 +161,8 @@ let UserService = class UserService extends crud_service_1.CRUDService {
|
|
|
159
161
|
user.googleAccessToken = oauthUserDto.accessToken;
|
|
160
162
|
user.googleId = oauthUserDto.providerId;
|
|
161
163
|
user.googleProfilePicture = oauthUserDto.picture;
|
|
162
|
-
|
|
164
|
+
const savedUser = await this.repo.save(user);
|
|
165
|
+
this.initializeRolesForNewUser([this.iamConfiguration.defaultRole], savedUser);
|
|
163
166
|
}
|
|
164
167
|
else {
|
|
165
168
|
const entity = await this.repo.preload({
|
|
@@ -188,6 +191,20 @@ let UserService = class UserService extends crud_service_1.CRUDService {
|
|
|
188
191
|
const matchingPermssions = activeUser.permissions.filter((p) => query.permissionNames.includes(p));
|
|
189
192
|
return matchingPermssions;
|
|
190
193
|
}
|
|
194
|
+
initializeRolesForNewUser(roles, user) {
|
|
195
|
+
if (!user.id) {
|
|
196
|
+
throw new common_1.BadRequestException('User must exist before initializing roles');
|
|
197
|
+
}
|
|
198
|
+
let userRoles = [];
|
|
199
|
+
userRoles.push("Internal User");
|
|
200
|
+
if (roles) {
|
|
201
|
+
userRoles = [...userRoles, ...roles];
|
|
202
|
+
}
|
|
203
|
+
userRoles = Array.from(new Set([...userRoles]));
|
|
204
|
+
if (userRoles.length > 0) {
|
|
205
|
+
this.addRolesToUser(user.username, userRoles);
|
|
206
|
+
}
|
|
207
|
+
}
|
|
191
208
|
};
|
|
192
209
|
exports.UserService = UserService;
|
|
193
210
|
exports.UserService = UserService = __decorate([
|
|
@@ -195,6 +212,7 @@ exports.UserService = UserService = __decorate([
|
|
|
195
212
|
__param(6, (0, typeorm_1.InjectEntityManager)()),
|
|
196
213
|
__param(7, (0, typeorm_1.InjectRepository)(user_entity_1.User, 'default')),
|
|
197
214
|
__param(8, (0, typeorm_1.InjectRepository)(role_metadata_entity_1.RoleMetadata)),
|
|
215
|
+
__param(10, (0, common_1.Inject)(iam_config_1.iamConfig.KEY)),
|
|
198
216
|
__metadata("design:paramtypes", [model_metadata_service_1.ModelMetadataService,
|
|
199
217
|
module_metadata_service_1.ModuleMetadataService,
|
|
200
218
|
config_1.ConfigService,
|
|
@@ -204,6 +222,6 @@ exports.UserService = UserService = __decorate([
|
|
|
204
222
|
typeorm_2.EntityManager,
|
|
205
223
|
typeorm_2.Repository,
|
|
206
224
|
typeorm_2.Repository,
|
|
207
|
-
core_1.ModuleRef])
|
|
225
|
+
core_1.ModuleRef, void 0])
|
|
208
226
|
], UserService);
|
|
209
227
|
//# sourceMappingURL=user.service.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"user.service.js","sourceRoot":"","sources":["../../src/services/user.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"user.service.js","sourceRoot":"","sources":["../../src/services/user.service.ts"],"names":[],"mappings":"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"}
|