@solidxai/core 0.1.9-beta.6 → 0.1.9-beta.8
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/constants/chatter-message.constants.d.ts +6 -0
- package/dist/constants/chatter-message.constants.d.ts.map +1 -1
- package/dist/constants/chatter-message.constants.js +7 -1
- package/dist/constants/chatter-message.constants.js.map +1 -1
- package/dist/controllers/authentication.controller.d.ts +12 -0
- package/dist/controllers/authentication.controller.d.ts.map +1 -1
- package/dist/controllers/authentication.controller.js +13 -0
- package/dist/controllers/authentication.controller.js.map +1 -1
- package/dist/controllers/chatter-message.controller.d.ts +1 -0
- package/dist/controllers/chatter-message.controller.d.ts.map +1 -1
- package/dist/controllers/chatter-message.controller.js +12 -0
- package/dist/controllers/chatter-message.controller.js.map +1 -1
- package/dist/controllers/facebook-authentication.controller.d.ts +27 -0
- package/dist/controllers/facebook-authentication.controller.d.ts.map +1 -0
- package/dist/controllers/facebook-authentication.controller.js +117 -0
- package/dist/controllers/facebook-authentication.controller.js.map +1 -0
- package/dist/controllers/menu-item-metadata.controller.d.ts +1 -0
- package/dist/controllers/menu-item-metadata.controller.d.ts.map +1 -1
- package/dist/controllers/menu-item-metadata.controller.js +15 -0
- package/dist/controllers/menu-item-metadata.controller.js.map +1 -1
- package/dist/controllers/microsoft-authentication.controller.d.ts +27 -0
- package/dist/controllers/microsoft-authentication.controller.d.ts.map +1 -0
- package/dist/controllers/microsoft-authentication.controller.js +118 -0
- package/dist/controllers/microsoft-authentication.controller.js.map +1 -0
- package/dist/controllers/setting.controller.d.ts +2 -2
- package/dist/controllers/setting.controller.js +2 -2
- package/dist/decorators/auth.decorator.d.ts.map +1 -1
- package/dist/decorators/computed-field-provider.decorator.d.ts.map +1 -1
- package/dist/decorators/dashboard-question-data-provider.decorator.d.ts.map +1 -1
- package/dist/decorators/dashboard-selection-provider.decorator.d.ts.map +1 -1
- package/dist/decorators/disallow-in-production.decorator.d.ts.map +1 -1
- package/dist/decorators/error-codes-provider.decorator.d.ts.map +1 -1
- package/dist/decorators/extension-user-creation-provider.decorator.d.ts.map +1 -1
- package/dist/decorators/is-not-in-enum.decorator.d.ts.map +1 -1
- package/dist/decorators/mail-provider.decorator.d.ts.map +1 -1
- package/dist/decorators/roles.decorator.d.ts.map +1 -1
- package/dist/decorators/scheduled-job-provider.decorator.d.ts.map +1 -1
- package/dist/decorators/security-rule-config-provider.decorator.d.ts.map +1 -1
- package/dist/decorators/selection-provider.decorator.d.ts.map +1 -1
- package/dist/decorators/sms-provider.decorator.d.ts.map +1 -1
- package/dist/decorators/solid-database-module.decorator.d.ts.map +1 -1
- package/dist/decorators/whatsapp-provider.decorator.d.ts.map +1 -1
- package/dist/dtos/create-chatter-message.dto.d.ts +1 -0
- package/dist/dtos/create-chatter-message.dto.d.ts.map +1 -1
- package/dist/dtos/create-chatter-message.dto.js +7 -1
- package/dist/dtos/create-chatter-message.dto.js.map +1 -1
- package/dist/dtos/post-chatter-message.dto.d.ts +1 -0
- package/dist/dtos/post-chatter-message.dto.d.ts.map +1 -1
- package/dist/dtos/post-chatter-message.dto.js +6 -1
- package/dist/dtos/post-chatter-message.dto.js.map +1 -1
- package/dist/dtos/update-chatter-message.dto.d.ts +1 -0
- package/dist/dtos/update-chatter-message.dto.d.ts.map +1 -1
- package/dist/dtos/update-chatter-message.dto.js +7 -1
- package/dist/dtos/update-chatter-message.dto.js.map +1 -1
- package/dist/entities/chatter-message.entity.d.ts +1 -0
- package/dist/entities/chatter-message.entity.d.ts.map +1 -1
- package/dist/entities/chatter-message.entity.js +5 -1
- package/dist/entities/chatter-message.entity.js.map +1 -1
- package/dist/entities/user.entity.d.ts +8 -0
- package/dist/entities/user.entity.d.ts.map +1 -1
- package/dist/entities/user.entity.js +33 -1
- package/dist/entities/user.entity.js.map +1 -1
- package/dist/helpers/cors.helper.js +1 -1
- package/dist/helpers/cors.helper.js.map +1 -1
- package/dist/helpers/facebook-oauth.helper.d.ts +8 -0
- package/dist/helpers/facebook-oauth.helper.d.ts.map +1 -0
- package/dist/helpers/facebook-oauth.helper.js +11 -0
- package/dist/helpers/facebook-oauth.helper.js.map +1 -0
- package/dist/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.js +5 -5
- package/dist/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.js.map +1 -1
- package/dist/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.d.ts.map +1 -1
- package/dist/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.js +2 -2
- package/dist/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.js.map +1 -1
- package/dist/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.js +5 -5
- package/dist/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.js.map +1 -1
- package/dist/helpers/microsoft-oauth.helper.d.ts +9 -0
- package/dist/helpers/microsoft-oauth.helper.d.ts.map +1 -0
- package/dist/helpers/microsoft-oauth.helper.js +12 -0
- package/dist/helpers/microsoft-oauth.helper.js.map +1 -0
- package/dist/helpers/module-metadata-helper.service.js +3 -3
- package/dist/helpers/module-metadata-helper.service.js.map +1 -1
- package/dist/helpers/security.helper.d.ts.map +1 -1
- package/dist/helpers/string.helper.d.ts +1 -0
- package/dist/helpers/string.helper.d.ts.map +1 -1
- package/dist/helpers/string.helper.js +4 -1
- package/dist/helpers/string.helper.js.map +1 -1
- package/dist/helpers/user-helper.d.ts.map +1 -1
- package/dist/helpers/user-helper.js +4 -0
- package/dist/helpers/user-helper.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/interfaces.d.ts +19 -0
- package/dist/interfaces.d.ts.map +1 -1
- package/dist/interfaces.js.map +1 -1
- package/dist/passport-strategies/facebook-oauth.strategy.d.ts +14 -0
- package/dist/passport-strategies/facebook-oauth.strategy.d.ts.map +1 -0
- package/dist/passport-strategies/facebook-oauth.strategy.js +73 -0
- package/dist/passport-strategies/facebook-oauth.strategy.js.map +1 -0
- package/dist/passport-strategies/microsoft-oauth.strategy.d.ts +14 -0
- package/dist/passport-strategies/microsoft-oauth.strategy.d.ts.map +1 -0
- package/dist/passport-strategies/microsoft-oauth.strategy.js +77 -0
- package/dist/passport-strategies/microsoft-oauth.strategy.js.map +1 -0
- package/dist/repository/chatter-message-details.repository.d.ts.map +1 -1
- package/dist/repository/chatter-message-details.repository.js +7 -6
- package/dist/repository/chatter-message-details.repository.js.map +1 -1
- package/dist/repository/chatter-message.repository.d.ts.map +1 -1
- package/dist/repository/chatter-message.repository.js +4 -4
- package/dist/repository/chatter-message.repository.js.map +1 -1
- package/dist/repository/solid-base.repository.js +2 -2
- package/dist/repository/solid-base.repository.js.map +1 -1
- package/dist/seeders/module-test-data.service.js +4 -4
- package/dist/seeders/module-test-data.service.js.map +1 -1
- package/dist/seeders/seed-data/solid-core-metadata.json +27 -58
- package/dist/services/api-key.service.d.ts +17 -1
- package/dist/services/api-key.service.d.ts.map +1 -1
- package/dist/services/api-key.service.js +38 -2
- package/dist/services/api-key.service.js.map +1 -1
- package/dist/services/authentication.service.d.ts +51 -16
- package/dist/services/authentication.service.d.ts.map +1 -1
- package/dist/services/authentication.service.js +318 -150
- package/dist/services/authentication.service.js.map +1 -1
- package/dist/services/chatter-message.service.d.ts +1 -0
- package/dist/services/chatter-message.service.d.ts.map +1 -1
- package/dist/services/chatter-message.service.js +17 -0
- package/dist/services/chatter-message.service.js.map +1 -1
- package/dist/services/computed-fields/entity/sequence-num-computed-field-provider.d.ts.map +1 -1
- package/dist/services/computed-fields/entity/sequence-num-computed-field-provider.js +2 -2
- package/dist/services/computed-fields/entity/sequence-num-computed-field-provider.js.map +1 -1
- package/dist/services/crud-helper.service.d.ts.map +1 -1
- package/dist/services/crud-helper.service.js +9 -9
- package/dist/services/crud-helper.service.js.map +1 -1
- package/dist/services/export-transaction.service.d.ts.map +1 -1
- package/dist/services/export-transaction.service.js +4 -3
- package/dist/services/export-transaction.service.js.map +1 -1
- package/dist/services/field-metadata.service.d.ts.map +1 -1
- package/dist/services/field-metadata.service.js +7 -7
- package/dist/services/field-metadata.service.js.map +1 -1
- package/dist/services/fixtures.service.js +2 -2
- package/dist/services/fixtures.service.js.map +1 -1
- package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.d.ts.map +1 -1
- package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.js +2 -2
- package/dist/services/genai/mcp-handlers/mcp-handler-factory.service.js.map +1 -1
- package/dist/services/import-transaction.service.d.ts.map +1 -1
- package/dist/services/import-transaction.service.js +2 -2
- package/dist/services/import-transaction.service.js.map +1 -1
- package/dist/services/menu-item-metadata.service.js +2 -2
- package/dist/services/menu-item-metadata.service.js.map +1 -1
- package/dist/services/model-metadata.service.d.ts.map +1 -1
- package/dist/services/model-metadata.service.js +12 -11
- package/dist/services/model-metadata.service.js.map +1 -1
- package/dist/services/module-metadata.service.d.ts.map +1 -1
- package/dist/services/module-metadata.service.js +2 -2
- package/dist/services/module-metadata.service.js.map +1 -1
- package/dist/services/queues/publisher-factory.service.d.ts.map +1 -1
- package/dist/services/queues/publisher-factory.service.js +2 -2
- package/dist/services/queues/publisher-factory.service.js.map +1 -1
- package/dist/services/selection-providers/pseudo-foreign-key-selection-provider.service.js +3 -3
- package/dist/services/selection-providers/pseudo-foreign-key-selection-provider.service.js.map +1 -1
- package/dist/services/setting.service.d.ts +5 -2
- package/dist/services/setting.service.d.ts.map +1 -1
- package/dist/services/setting.service.js +51 -6
- package/dist/services/setting.service.js.map +1 -1
- package/dist/services/settings/default-settings-provider.service.d.ts +830 -0
- package/dist/services/settings/default-settings-provider.service.d.ts.map +1 -1
- package/dist/services/settings/default-settings-provider.service.js +1033 -117
- package/dist/services/settings/default-settings-provider.service.js.map +1 -1
- package/dist/services/solid-introspect.service.js +2 -2
- package/dist/services/solid-introspect.service.js.map +1 -1
- package/dist/services/user.service.d.ts +2 -0
- package/dist/services/user.service.d.ts.map +1 -1
- package/dist/services/user.service.js +72 -0
- package/dist/services/user.service.js.map +1 -1
- package/dist/services/view-metadata.service.d.ts.map +1 -1
- package/dist/services/view-metadata.service.js +2 -2
- package/dist/services/view-metadata.service.js.map +1 -1
- package/dist/solid-core.module.d.ts.map +1 -1
- package/dist/solid-core.module.js +11 -3
- package/dist/solid-core.module.js.map +1 -1
- package/dist/subscribers/computed-entity-field.subscriber.js +6 -6
- package/dist/subscribers/computed-entity-field.subscriber.js.map +1 -1
- package/dist/transformers/array-transformer.d.ts.map +1 -1
- package/dist/transformers/boolean-transformer.d.ts.map +1 -1
- package/dist/transformers/datetime-transformer.d.ts.map +1 -1
- package/dist/transformers/integer-transformer.d.ts.map +1 -1
- package/dist/validators/is-parsable-int.d.ts.map +1 -1
- package/dist-tests/api/authenticate.spec.js +119 -0
- package/dist-tests/api/authenticate.spec.js.map +1 -0
- package/dist-tests/api/crud-service.findOne.cityMaster.spec.js +97 -0
- package/dist-tests/api/crud-service.findOne.cityMaster.spec.js.map +1 -0
- package/dist-tests/api/ping.spec.js +21 -0
- package/dist-tests/api/ping.spec.js.map +1 -0
- package/dist-tests/helpers/auth.js +41 -0
- package/dist-tests/helpers/auth.js.map +1 -0
- package/dist-tests/helpers/env.js +11 -0
- package/dist-tests/helpers/env.js.map +1 -0
- package/docs/java-spring/README.md +3 -0
- package/docs/java-spring/solid-core-module-deep-dive-report.md +1317 -0
- package/nest +0 -0
- package/package.json +7 -2
- package/src/constants/chatter-message.constants.ts +7 -0
- package/src/controllers/authentication.controller.ts +8 -1
- package/src/controllers/chatter-message.controller.ts +6 -0
- package/src/controllers/facebook-authentication.controller.ts +113 -0
- package/src/controllers/menu-item-metadata.controller.ts +21 -15
- package/src/controllers/microsoft-authentication.controller.ts +116 -0
- package/src/dtos/create-chatter-message.dto.ts +11 -0
- package/src/dtos/post-chatter-message.dto.ts +4 -0
- package/src/dtos/update-chatter-message.dto.ts +13 -1
- package/src/entities/chatter-message.entity.ts +4 -1
- package/src/entities/user.entity.ts +32 -0
- package/src/helpers/cors.helper.ts +1 -1
- package/src/helpers/facebook-oauth.helper.ts +17 -0
- package/src/helpers/field-crud-managers/ManyToManyRelationFieldCrudManager.ts +1 -1
- package/src/helpers/field-crud-managers/ManyToOneRelationFieldCrudManager.ts +1 -2
- package/src/helpers/field-crud-managers/OneToManyRelationFieldCrudManager.ts +1 -1
- package/src/helpers/microsoft-oauth.helper.ts +19 -0
- package/src/helpers/module-metadata-helper.service.ts +3 -3
- package/src/helpers/string.helper.ts +3 -0
- package/src/helpers/user-helper.ts +4 -0
- package/src/index.ts +2 -0
- package/src/interfaces.ts +32 -1
- package/src/passport-strategies/facebook-oauth.strategy.ts +64 -0
- package/src/passport-strategies/microsoft-oauth.strategy.ts +70 -0
- package/src/repository/chatter-message-details.repository.ts +4 -3
- package/src/repository/chatter-message.repository.ts +4 -4
- package/src/repository/solid-base.repository.ts +2 -2
- package/src/seeders/module-test-data.service.ts +1 -1
- package/src/seeders/seed-data/solid-core-metadata.json +27 -58
- package/src/services/api-key.service.ts +77 -35
- package/src/services/authentication.service.ts +1717 -1278
- package/src/services/chatter-message.service.ts +22 -4
- package/src/services/computed-fields/entity/sequence-num-computed-field-provider.ts +1 -2
- package/src/services/crud-helper.service.ts +1 -4
- package/src/services/export-transaction.service.ts +3 -4
- package/src/services/field-metadata.service.ts +1 -4
- package/src/services/fixtures.service.ts +1 -1
- package/src/services/genai/mcp-handlers/mcp-handler-factory.service.ts +1 -2
- package/src/services/import-transaction.service.ts +1 -1
- package/src/services/menu-item-metadata.service.ts +2 -2
- package/src/services/model-metadata.service.ts +11 -13
- package/src/services/module-metadata.service.ts +1 -2
- package/src/services/queues/publisher-factory.service.ts +1 -2
- package/src/services/selection-providers/pseudo-foreign-key-selection-provider.service.ts +1 -1
- package/src/services/setting.service.ts +64 -8
- package/src/services/settings/default-settings-provider.service.ts +1104 -155
- package/src/services/solid-introspect.service.ts +1 -1
- package/src/services/user.service.ts +87 -0
- package/src/services/view-metadata.service.ts +1 -5
- package/src/solid-core.module.ts +25 -8
- package/src/subscribers/computed-entity-field.subscriber.ts +6 -6
- package/.claude/settings.local.json +0 -15
- package/src/services/1.js +0 -6
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { classify } from '
|
|
1
|
+
import { classify } from '../helpers/string.helper';
|
|
2
2
|
import { Injectable, Logger, OnApplicationBootstrap } from '@nestjs/common';
|
|
3
3
|
import { DiscoveryService, MetadataScanner, ModuleRef, Reflector } from '@nestjs/core';
|
|
4
4
|
import { ModelMetadataHelperService } from 'src/helpers/model-metadata-helper.service';
|
|
@@ -239,6 +239,93 @@ export class UserService extends CRUDService<User> {
|
|
|
239
239
|
return user;
|
|
240
240
|
}
|
|
241
241
|
|
|
242
|
+
async resolveUserOnOauthFacebook(oauthUserDto: OauthUserDto): Promise<User> {
|
|
243
|
+
const user = await this.repo.findOne({
|
|
244
|
+
where: {
|
|
245
|
+
email: oauthUserDto.email,
|
|
246
|
+
},
|
|
247
|
+
relations: {
|
|
248
|
+
roles: true,
|
|
249
|
+
},
|
|
250
|
+
});
|
|
251
|
+
|
|
252
|
+
if (!user) {
|
|
253
|
+
const newUser = new User();
|
|
254
|
+
newUser.username = oauthUserDto.email;
|
|
255
|
+
newUser.email = oauthUserDto.email;
|
|
256
|
+
newUser.fullName = oauthUserDto.name;
|
|
257
|
+
newUser.lastLoginProvider = oauthUserDto.provider;
|
|
258
|
+
newUser.accessCode = oauthUserDto.accessCode;
|
|
259
|
+
newUser.facebookAccessToken = oauthUserDto.accessToken;
|
|
260
|
+
newUser.facebookId = oauthUserDto.providerId;
|
|
261
|
+
newUser.facebookProfilePicture = oauthUserDto.picture;
|
|
262
|
+
|
|
263
|
+
const savedUser = await this.repo.save(newUser);
|
|
264
|
+
|
|
265
|
+
await this.initializeRolesForNewUser(
|
|
266
|
+
[this.settingService.getConfigValue<SolidCoreSetting>('defaultRole')],
|
|
267
|
+
savedUser,
|
|
268
|
+
);
|
|
269
|
+
return savedUser;
|
|
270
|
+
} else {
|
|
271
|
+
const entity = await this.repo.preload({
|
|
272
|
+
id: user.id,
|
|
273
|
+
lastLoginProvider: oauthUserDto.provider,
|
|
274
|
+
accessCode: oauthUserDto.accessCode,
|
|
275
|
+
facebookAccessToken: oauthUserDto.accessToken,
|
|
276
|
+
facebookId: oauthUserDto.providerId,
|
|
277
|
+
facebookProfilePicture: oauthUserDto.picture,
|
|
278
|
+
});
|
|
279
|
+
|
|
280
|
+
await this.repo.save(entity);
|
|
281
|
+
return entity;
|
|
282
|
+
}
|
|
283
|
+
}
|
|
284
|
+
|
|
285
|
+
|
|
286
|
+
async resolveUserOnOauthMicrosoft(oauthUserDto: OauthUserDto): Promise<User> {
|
|
287
|
+
const user = await this.repo.findOne({
|
|
288
|
+
where: {
|
|
289
|
+
email: oauthUserDto.email,
|
|
290
|
+
},
|
|
291
|
+
relations: {
|
|
292
|
+
roles: true,
|
|
293
|
+
},
|
|
294
|
+
});
|
|
295
|
+
|
|
296
|
+
if (!user) {
|
|
297
|
+
const newUser = new User();
|
|
298
|
+
newUser.username = oauthUserDto.email;
|
|
299
|
+
newUser.email = oauthUserDto.email;
|
|
300
|
+
newUser.fullName = oauthUserDto.name;
|
|
301
|
+
newUser.lastLoginProvider = oauthUserDto.provider;
|
|
302
|
+
newUser.accessCode = oauthUserDto.accessCode;
|
|
303
|
+
newUser.microsoftAccessToken = oauthUserDto.accessToken;
|
|
304
|
+
newUser.microsoftId = oauthUserDto.providerId;
|
|
305
|
+
newUser.microsoftProfilePicture = oauthUserDto.picture;
|
|
306
|
+
|
|
307
|
+
const savedUser = await this.repo.save(newUser);
|
|
308
|
+
|
|
309
|
+
await this.initializeRolesForNewUser(
|
|
310
|
+
[this.settingService.getConfigValue<SolidCoreSetting>('defaultRole')],
|
|
311
|
+
savedUser,
|
|
312
|
+
);
|
|
313
|
+
return savedUser;
|
|
314
|
+
} else {
|
|
315
|
+
const entity = await this.repo.preload({
|
|
316
|
+
id: user.id,
|
|
317
|
+
lastLoginProvider: oauthUserDto.provider,
|
|
318
|
+
accessCode: oauthUserDto.accessCode,
|
|
319
|
+
microsoftAccessToken: oauthUserDto.accessToken,
|
|
320
|
+
microsoftId: oauthUserDto.providerId,
|
|
321
|
+
microsoftProfilePicture: oauthUserDto.picture,
|
|
322
|
+
});
|
|
323
|
+
|
|
324
|
+
await this.repo.save(entity);
|
|
325
|
+
return entity;
|
|
326
|
+
}
|
|
327
|
+
}
|
|
328
|
+
|
|
242
329
|
async findUsersByRole(roleName: string, relations: any = {}): Promise<User[]> {
|
|
243
330
|
return await this.repo.find({
|
|
244
331
|
where: {
|
|
@@ -4,8 +4,7 @@ import { InjectEntityManager } from '@nestjs/typeorm';
|
|
|
4
4
|
import { CRUDService } from 'src/services/crud.service';
|
|
5
5
|
import { EntityManager } from 'typeorm';
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
import { classify } from '@angular-devkit/core/src/utils/strings';
|
|
7
|
+
import { classify } from '../helpers/string.helper';
|
|
9
8
|
import { Locale } from 'src/entities/locale.entity';
|
|
10
9
|
import { ModelMetadataHelperService } from 'src/helpers/model-metadata-helper.service';
|
|
11
10
|
import { SolidRegistry } from 'src/helpers/solid-registry';
|
|
@@ -111,7 +110,6 @@ export class ViewMetadataService extends CRUDService<ViewMetadata> {
|
|
|
111
110
|
async getLayout(query, activeUser) {
|
|
112
111
|
let { modelName, moduleName, viewType, id, populate, menuItemId, menuItemName, actionId, actionName } = query;
|
|
113
112
|
|
|
114
|
-
|
|
115
113
|
// 1. Fetch the action based on actionId.
|
|
116
114
|
const solidRequestContext = {
|
|
117
115
|
activeUser: activeUser
|
|
@@ -156,7 +154,6 @@ export class ViewMetadataService extends CRUDService<ViewMetadata> {
|
|
|
156
154
|
}));
|
|
157
155
|
}
|
|
158
156
|
|
|
159
|
-
|
|
160
157
|
const viewId = action?.view?.id
|
|
161
158
|
// 3. Fetch the view based on module, model & view name.
|
|
162
159
|
const entity = await this.repo.findOne({
|
|
@@ -203,7 +200,6 @@ export class ViewMetadataService extends CRUDService<ViewMetadata> {
|
|
|
203
200
|
entity.layout = JSON.parse(entity.layout);
|
|
204
201
|
}
|
|
205
202
|
|
|
206
|
-
|
|
207
203
|
// 6. We are resolving the create & edit actions if specified in the layout.
|
|
208
204
|
if (entity?.layout?.attrs?.createAction) {
|
|
209
205
|
const actionName: string = entity.layout.attrs.createAction;
|
package/src/solid-core.module.ts
CHANGED
|
@@ -26,7 +26,7 @@ import { ModuleMetadata } from './entities/module-metadata.entity';
|
|
|
26
26
|
import { CommandService } from './helpers/command.service';
|
|
27
27
|
import { SchematicService } from './helpers/schematic.service';
|
|
28
28
|
import { ListOfValuesSelectionProvider } from './services/selection-providers/list-of-values-selection-providers.service';
|
|
29
|
-
import { PseudoForeignKeySelectionProvider } from './services/selection-providers/pseudo-foreign-key-selection-provider.service'
|
|
29
|
+
import { PseudoForeignKeySelectionProvider } from './services/selection-providers/pseudo-foreign-key-selection-provider.service';
|
|
30
30
|
import { ModuleMetadataSeederService } from './seeders/module-metadata-seeder.service';
|
|
31
31
|
import { ModuleTestDataService } from './seeders/module-test-data.service';
|
|
32
32
|
import { CrudHelperService } from './services/crud-helper.service';
|
|
@@ -55,6 +55,11 @@ import { ActionMetadataController } from './controllers/action-metadata.controll
|
|
|
55
55
|
import { ActionMetadata } from './entities/action-metadata.entity';
|
|
56
56
|
import { ActionMetadataService } from './services/action-metadata.service';
|
|
57
57
|
|
|
58
|
+
import { FacebookAuthenticationController } from './controllers/facebook-authentication.controller';
|
|
59
|
+
import { MicrosoftAuthenticationController } from './controllers/microsoft-authentication.controller';
|
|
60
|
+
import { FacebookOAuthStrategy } from './passport-strategies/facebook-oauth.strategy';
|
|
61
|
+
import { MicrosoftOAuthStrategy } from './passport-strategies/microsoft-oauth.strategy';
|
|
62
|
+
|
|
58
63
|
import { HttpModule } from '@nestjs/axios';
|
|
59
64
|
import { JwtModule } from '@nestjs/jwt';
|
|
60
65
|
import { SeedCommand } from './commands/seed.command';
|
|
@@ -133,7 +138,14 @@ import { BcryptService } from './services/bcrypt.service';
|
|
|
133
138
|
import { UuidExternalIdEntityComputedFieldProvider } from './services/computed-fields/entity/uuid-externalid-entity-computed-field-provider.service';
|
|
134
139
|
import { UuidExternalIdComputedFieldProvider } from './services/computed-fields/uuid-external-id-computed-field-provider.service';
|
|
135
140
|
import { EmailTemplateService } from './services/email-template.service';
|
|
136
|
-
import {
|
|
141
|
+
import {
|
|
142
|
+
DiskFileService,
|
|
143
|
+
S3FileService,
|
|
144
|
+
FileServiceFactory,
|
|
145
|
+
DiskStoragePathBuilder,
|
|
146
|
+
S3StoragePathBuilder,
|
|
147
|
+
StoragePathBuilderFactory,
|
|
148
|
+
} from './services/file';
|
|
137
149
|
import { HashingService } from './services/hashing.service';
|
|
138
150
|
import { ElasticEmailService } from './services/mail/elastic-email.service';
|
|
139
151
|
import { SMTPEMailService } from './services/mail/smtp-email.service';
|
|
@@ -229,7 +241,6 @@ import { SmtpEmailQueueSubscriberDatabase } from './jobs/database/smtp-email-sub
|
|
|
229
241
|
import { TwilioSmsQueuePublisherDatabase } from './jobs/database/twilio-sms-publisher-database.service';
|
|
230
242
|
import { TwilioSmsQueueSubscriberDatabase } from './jobs/database/twilio-sms-subscriber-database.service';
|
|
231
243
|
|
|
232
|
-
|
|
233
244
|
// import { ThrottlerModule } from '@nestjs/throttler';
|
|
234
245
|
import { IngestCommand } from './commands/ingest.command';
|
|
235
246
|
import { MailFactory } from './factories/mail.factory';
|
|
@@ -380,7 +391,6 @@ import { InfoCommand } from './commands/info.command';
|
|
|
380
391
|
import { ListOfRolesSelectionProvider } from './services/selection-providers/list-of-roles-selectionproviders.service';
|
|
381
392
|
import { Entity } from 'typeorm';
|
|
382
393
|
|
|
383
|
-
|
|
384
394
|
@Global()
|
|
385
395
|
@Module({
|
|
386
396
|
imports: [
|
|
@@ -442,12 +452,12 @@ import { Entity } from 'typeorm';
|
|
|
442
452
|
// you can also expose CORS here (not needed for simple <img>):
|
|
443
453
|
// res.setHeader('Access-Control-Allow-Origin', 'http://localhost:3000');
|
|
444
454
|
},
|
|
445
|
-
}
|
|
455
|
+
},
|
|
446
456
|
}),
|
|
447
457
|
MulterModule.registerAsync({
|
|
448
458
|
imports: [ConfigModule],
|
|
449
459
|
useFactory: async (configService: ConfigService) => ({
|
|
450
|
-
dest: process.env.AB_MEDIA_UPLOAD_DIR ??
|
|
460
|
+
dest: process.env.AB_MEDIA_UPLOAD_DIR ?? 'media-uploads',
|
|
451
461
|
}),
|
|
452
462
|
inject: [ConfigService],
|
|
453
463
|
}),
|
|
@@ -474,6 +484,8 @@ import { Entity } from 'typeorm';
|
|
|
474
484
|
ExportTransactionController,
|
|
475
485
|
FieldMetadataController,
|
|
476
486
|
GoogleAuthenticationController,
|
|
487
|
+
FacebookAuthenticationController,
|
|
488
|
+
MicrosoftAuthenticationController,
|
|
477
489
|
ImportTransactionController,
|
|
478
490
|
ImportTransactionErrorLogController,
|
|
479
491
|
ListOfValuesController,
|
|
@@ -524,7 +536,7 @@ import { Entity } from 'typeorm';
|
|
|
524
536
|
},
|
|
525
537
|
{
|
|
526
538
|
provide: APP_FILTER,
|
|
527
|
-
useClass: HttpExceptionFilter
|
|
539
|
+
useClass: HttpExceptionFilter,
|
|
528
540
|
},
|
|
529
541
|
ModuleMetadataService,
|
|
530
542
|
ModuleMetadataHelperService,
|
|
@@ -640,6 +652,8 @@ import { Entity } from 'typeorm';
|
|
|
640
652
|
RefreshTokenIdsStorageService,
|
|
641
653
|
SsoCodeStorageService,
|
|
642
654
|
GoogleOauthStrategy,
|
|
655
|
+
FacebookOAuthStrategy,
|
|
656
|
+
MicrosoftOAuthStrategy,
|
|
643
657
|
UserRegistrationListener,
|
|
644
658
|
TestQueuePublisher,
|
|
645
659
|
TestQueueSubscriber,
|
|
@@ -873,7 +887,10 @@ import { Entity } from 'typeorm';
|
|
|
873
887
|
export class SolidCoreModule implements NestModule {
|
|
874
888
|
configure(consumer: MiddlewareConsumer) {
|
|
875
889
|
consumer
|
|
876
|
-
.apply(
|
|
890
|
+
.apply(
|
|
891
|
+
express.json({ limit: '10mb' }),
|
|
892
|
+
express.urlencoded({ limit: '10mb', extended: true }),
|
|
893
|
+
)
|
|
877
894
|
.forRoutes('*');
|
|
878
895
|
}
|
|
879
896
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { camelCase } from 'lodash';
|
|
2
2
|
import { Delete } from "@aws-sdk/client-s3";
|
|
3
3
|
import { forwardRef, Inject, Injectable, InternalServerErrorException, Logger, Scope } from "@nestjs/common";
|
|
4
4
|
import { model } from "mongoose";
|
|
@@ -35,33 +35,33 @@ export class ComputedEntityFieldSubscriber implements EntitySubscriberInterface
|
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
async beforeInsert(event: InsertEvent<any>): Promise<any> {
|
|
38
|
-
const modelName =
|
|
38
|
+
const modelName = camelCase(event.metadata?.name ?? event.entity?.constructor?.name ?? '');
|
|
39
39
|
const eventContext = this.sanitizeEventContext(event, 'beforeInsert');
|
|
40
40
|
await this.handleComputedFieldEvaluation(event.entity, ComputedFieldTriggerOperation.beforeInsert, modelName, eventContext);
|
|
41
41
|
}
|
|
42
42
|
|
|
43
43
|
async beforeUpdate(event: UpdateEvent<any>): Promise<any> {
|
|
44
|
-
const modelName =
|
|
44
|
+
const modelName = camelCase(event.metadata?.name ?? event.entity?.constructor?.name ?? '');
|
|
45
45
|
const eventContext = this.sanitizeEventContext(event, 'beforeUpdate');
|
|
46
46
|
// await this.handleComputedFieldEvaluation(event.databaseEntity, ComputedFieldTriggerOperation.beforeUpdate, modelName, eventContext);
|
|
47
47
|
await this.handleComputedFieldEvaluation(event.entity, ComputedFieldTriggerOperation.beforeUpdate, modelName, eventContext);
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
afterInsert(event: InsertEvent<any>) {
|
|
51
|
-
const modelName =
|
|
51
|
+
const modelName = camelCase(event.metadata?.name ?? event.entity?.constructor?.name ?? '');
|
|
52
52
|
const eventContext = this.sanitizeEventContext(event, 'afterInsert');
|
|
53
53
|
this.handleComputedFieldEvaluationJob(event.entity, ComputedFieldTriggerOperation.afterInsert, modelName, eventContext);
|
|
54
54
|
}
|
|
55
55
|
|
|
56
56
|
afterUpdate(event: UpdateEvent<any>) {
|
|
57
|
-
const modelName =
|
|
57
|
+
const modelName = camelCase(event.metadata?.name ?? event.entity?.constructor?.name ?? event.databaseEntity?.constructor?.name ?? '');
|
|
58
58
|
const eventContext = this.sanitizeEventContext(event, 'afterUpdate');
|
|
59
59
|
// this.handleComputedFieldEvaluationJob(event.databaseEntity, ComputedFieldTriggerOperation.afterUpdate, modelName, eventContext);
|
|
60
60
|
this.handleComputedFieldEvaluationJob(event.entity, ComputedFieldTriggerOperation.afterUpdate, modelName, eventContext);
|
|
61
61
|
}
|
|
62
62
|
|
|
63
63
|
afterRemove(event: RemoveEvent<any>) {
|
|
64
|
-
const modelName =
|
|
64
|
+
const modelName = camelCase(event.metadata?.name ?? event.entity?.constructor?.name ?? event.databaseEntity?.constructor?.name ?? '');
|
|
65
65
|
const eventContext = this.sanitizeEventContext(event, 'afterRemove');
|
|
66
66
|
this.handleComputedFieldEvaluationJob(event.databaseEntity, ComputedFieldTriggerOperation.afterRemove, modelName, eventContext);
|
|
67
67
|
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"permissions": {
|
|
3
|
-
"allow": [
|
|
4
|
-
"Bash(node -e:*)",
|
|
5
|
-
"WebFetch(domain:docs.solidxai.com)",
|
|
6
|
-
"WebFetch(domain:github.com)",
|
|
7
|
-
"Read(//Users/oswald/projects/Solid_Starters/solidctl/**)",
|
|
8
|
-
"Read(//Users/oswald/projects/Solid_Starters/**)",
|
|
9
|
-
"Bash(find /Users/oswald/projects/Solid_Starters/solid-core-module -type d -name migration* -o -name *database*)"
|
|
10
|
-
],
|
|
11
|
-
"additionalDirectories": [
|
|
12
|
-
"/Users/oswald/projects/Solid_Starters/solidctl"
|
|
13
|
-
]
|
|
14
|
-
}
|
|
15
|
-
}
|
package/src/services/1.js
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
1. Do i need to create a storeStreams method for aws service too?
|
|
2
|
-
- Handle later
|
|
3
|
-
2. queues handling -> if queues is enabled by default, i.e triggerExport(exportTransactionEntity.id).
|
|
4
|
-
- startExport should either return the data or return the transaction id
|
|
5
|
-
3. How to handle scenarios wherein, nested related exist.(do i need to only get the userkey)
|
|
6
|
-
- show the userKey
|