@solidstarters/solid-core 1.2.57 → 1.2.59

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.
Files changed (137) hide show
  1. package/dist/config/iam.config.d.ts +2 -0
  2. package/dist/config/iam.config.d.ts.map +1 -1
  3. package/dist/config/iam.config.js +1 -0
  4. package/dist/config/iam.config.js.map +1 -1
  5. package/dist/controllers/chatter-message-details.controller.d.ts +41 -0
  6. package/dist/controllers/chatter-message-details.controller.d.ts.map +1 -0
  7. package/dist/controllers/chatter-message-details.controller.js +179 -0
  8. package/dist/controllers/chatter-message-details.controller.js.map +1 -0
  9. package/dist/controllers/chatter-message.controller.d.ts +44 -0
  10. package/dist/controllers/chatter-message.controller.d.ts.map +1 -0
  11. package/dist/controllers/chatter-message.controller.js +199 -0
  12. package/dist/controllers/chatter-message.controller.js.map +1 -0
  13. package/dist/controllers/setting.controller.d.ts +3 -0
  14. package/dist/controllers/setting.controller.d.ts.map +1 -1
  15. package/dist/controllers/setting.controller.js +23 -0
  16. package/dist/controllers/setting.controller.js.map +1 -1
  17. package/dist/dtos/create-chatter-message-details.dto.d.ts +10 -0
  18. package/dist/dtos/create-chatter-message-details.dto.d.ts.map +1 -0
  19. package/dist/dtos/create-chatter-message-details.dto.js +66 -0
  20. package/dist/dtos/create-chatter-message-details.dto.js.map +1 -0
  21. package/dist/dtos/create-chatter-message.dto.d.ts +10 -0
  22. package/dist/dtos/create-chatter-message.dto.d.ts.map +1 -0
  23. package/dist/dtos/create-chatter-message.dto.js +65 -0
  24. package/dist/dtos/create-chatter-message.dto.js.map +1 -0
  25. package/dist/dtos/create-field-metadata.dto.d.ts +1 -0
  26. package/dist/dtos/create-field-metadata.dto.d.ts.map +1 -1
  27. package/dist/dtos/create-field-metadata.dto.js +6 -1
  28. package/dist/dtos/create-field-metadata.dto.js.map +1 -1
  29. package/dist/dtos/create-setting.dto.d.ts +2 -15
  30. package/dist/dtos/create-setting.dto.d.ts.map +1 -1
  31. package/dist/dtos/create-setting.dto.js +6 -77
  32. package/dist/dtos/create-setting.dto.js.map +1 -1
  33. package/dist/dtos/post-chatter-message.dto.d.ts +7 -0
  34. package/dist/dtos/post-chatter-message.dto.d.ts.map +1 -0
  35. package/dist/dtos/post-chatter-message.dto.js +41 -0
  36. package/dist/dtos/post-chatter-message.dto.js.map +1 -0
  37. package/dist/dtos/update-chatter-message-details.dto.d.ts +11 -0
  38. package/dist/dtos/update-chatter-message-details.dto.d.ts.map +1 -0
  39. package/dist/dtos/update-chatter-message-details.dto.js +70 -0
  40. package/dist/dtos/update-chatter-message-details.dto.js.map +1 -0
  41. package/dist/dtos/update-chatter-message.dto.d.ts +11 -0
  42. package/dist/dtos/update-chatter-message.dto.d.ts.map +1 -0
  43. package/dist/dtos/update-chatter-message.dto.js +74 -0
  44. package/dist/dtos/update-chatter-message.dto.js.map +1 -0
  45. package/dist/dtos/update-setting.dto.d.ts +2 -15
  46. package/dist/dtos/update-setting.dto.d.ts.map +1 -1
  47. package/dist/dtos/update-setting.dto.js +6 -77
  48. package/dist/dtos/update-setting.dto.js.map +1 -1
  49. package/dist/dtos/update-settings.dto.d.ts +4 -0
  50. package/dist/dtos/update-settings.dto.d.ts.map +1 -0
  51. package/dist/dtos/update-settings.dto.js +26 -0
  52. package/dist/dtos/update-settings.dto.js.map +1 -0
  53. package/dist/entities/chatter-message-details.entity.d.ts +11 -0
  54. package/dist/entities/chatter-message-details.entity.d.ts.map +1 -0
  55. package/dist/entities/chatter-message-details.entity.js +52 -0
  56. package/dist/entities/chatter-message-details.entity.js.map +1 -0
  57. package/dist/entities/chatter-message.entity.d.ts +11 -0
  58. package/dist/entities/chatter-message.entity.d.ts.map +1 -0
  59. package/dist/entities/chatter-message.entity.js +53 -0
  60. package/dist/entities/chatter-message.entity.js.map +1 -0
  61. package/dist/entities/field-metadata.entity.d.ts +1 -0
  62. package/dist/entities/field-metadata.entity.d.ts.map +1 -1
  63. package/dist/entities/field-metadata.entity.js +5 -1
  64. package/dist/entities/field-metadata.entity.js.map +1 -1
  65. package/dist/entities/setting.entity.d.ts +2 -15
  66. package/dist/entities/setting.entity.d.ts.map +1 -1
  67. package/dist/entities/setting.entity.js +4 -65
  68. package/dist/entities/setting.entity.js.map +1 -1
  69. package/dist/index.d.ts +10 -0
  70. package/dist/index.d.ts.map +1 -1
  71. package/dist/index.js +10 -0
  72. package/dist/index.js.map +1 -1
  73. package/dist/seeders/module-metadata-seeder.service.d.ts.map +1 -1
  74. package/dist/seeders/module-metadata-seeder.service.js +1 -18
  75. package/dist/seeders/module-metadata-seeder.service.js.map +1 -1
  76. package/dist/seeders/seed-data/solid-core-metadata.json +525 -176
  77. package/dist/services/authentication.service.d.ts +3 -1
  78. package/dist/services/authentication.service.d.ts.map +1 -1
  79. package/dist/services/authentication.service.js +11 -8
  80. package/dist/services/authentication.service.js.map +1 -1
  81. package/dist/services/chatter-message-details.service.d.ts +24 -0
  82. package/dist/services/chatter-message-details.service.d.ts.map +1 -0
  83. package/dist/services/chatter-message-details.service.js +59 -0
  84. package/dist/services/chatter-message-details.service.js.map +1 -0
  85. package/dist/services/chatter-message.service.d.ts +37 -0
  86. package/dist/services/chatter-message.service.d.ts.map +1 -0
  87. package/dist/services/chatter-message.service.js +279 -0
  88. package/dist/services/chatter-message.service.js.map +1 -0
  89. package/dist/services/crud.service.d.ts +3 -1
  90. package/dist/services/crud.service.d.ts.map +1 -1
  91. package/dist/services/crud.service.js +43 -3
  92. package/dist/services/crud.service.js.map +1 -1
  93. package/dist/services/setting.service.d.ts +4 -0
  94. package/dist/services/setting.service.d.ts.map +1 -1
  95. package/dist/services/setting.service.js +139 -7
  96. package/dist/services/setting.service.js.map +1 -1
  97. package/dist/services/user-context.service.d.ts +10 -0
  98. package/dist/services/user-context.service.d.ts.map +1 -0
  99. package/dist/services/user-context.service.js +42 -0
  100. package/dist/services/user-context.service.js.map +1 -0
  101. package/dist/solid-core.module.d.ts.map +1 -1
  102. package/dist/solid-core.module.js +18 -2
  103. package/dist/solid-core.module.js.map +1 -1
  104. package/dist/subscribers/audit.subscriber.d.ts +17 -0
  105. package/dist/subscribers/audit.subscriber.d.ts.map +1 -0
  106. package/dist/subscribers/audit.subscriber.js +83 -0
  107. package/dist/subscribers/audit.subscriber.js.map +1 -0
  108. package/dist/tsconfig.tsbuildinfo +1 -1
  109. package/package.json +1 -1
  110. package/src/config/iam.config.ts +1 -0
  111. package/src/controllers/chatter-message-details.controller.ts +92 -0
  112. package/src/controllers/chatter-message.controller.ts +105 -0
  113. package/src/controllers/setting.controller.ts +13 -1
  114. package/src/dtos/create-chatter-message-details.dto.ts +40 -0
  115. package/src/dtos/create-chatter-message.dto.ts +34 -0
  116. package/src/dtos/create-field-metadata.dto.ts +4 -0
  117. package/src/dtos/create-setting.dto.ts +10 -59
  118. package/src/dtos/post-chatter-message.dto.ts +19 -0
  119. package/src/dtos/update-chatter-message-details.dto.ts +43 -0
  120. package/src/dtos/update-chatter-message.dto.ts +41 -0
  121. package/src/dtos/update-setting.dto.ts +10 -60
  122. package/src/dtos/update-settings.dto.ts +7 -0
  123. package/src/entities/chatter-message-details.entity.ts +25 -0
  124. package/src/entities/chatter-message.entity.ts +22 -0
  125. package/src/entities/field-metadata.entity.ts +3 -0
  126. package/src/entities/setting.entity.ts +8 -46
  127. package/src/index.ts +10 -2
  128. package/src/seeders/module-metadata-seeder.service.ts +1 -19
  129. package/src/seeders/seed-data/solid-core-metadata.json +526 -177
  130. package/src/services/authentication.service.ts +8 -6
  131. package/src/services/chatter-message-details.service.ts +34 -0
  132. package/src/services/chatter-message.service.ts +301 -0
  133. package/src/services/crud.service.ts +10 -2
  134. package/src/services/setting.service.ts +163 -14
  135. package/src/services/user-context.service.ts +31 -0
  136. package/src/solid-core.module.ts +18 -3
  137. package/src/subscribers/audit.subscriber.ts +73 -0
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@solidstarters/solid-core",
3
- "version": "1.2.57",
3
+ "version": "1.2.59",
4
4
  "description": "This module is a NestJS module containing all the required core providers required by a Solid application",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -3,6 +3,7 @@ import { registerAs } from '@nestjs/config';
3
3
  export const iamConfig = registerAs('iam', () => {
4
4
  return {
5
5
  passwordlessRegistration: (process.env.IAM_PASSWORD_LESS_REGISTRATION ?? 'false') === 'true',
6
+ iamPasswordRegistrationEnabled: (process.env.IAM_PASSWORD_REGISTRATION_ENABLED ?? 'true') === 'true',
6
7
  passwordlessRegistrationValidateWhat: (process.env.IAM_PASSWORD_LESS_REGISTRATION_VALIDATE_WHAT ?? 'email').split(',').map((item) => item.trim()),
7
8
  allowPublicRegistration: (process.env.IAM_ALLOW_PUBLIC_REGISTRATION ?? 'true') === 'true',
8
9
  activateUserOnRegistration: (process.env.IAM_ACTIVATE_USER_ON_REGISTRATION ?? 'true') === 'true',
@@ -0,0 +1,92 @@
1
+ import { Controller, Post, Body, Param, UploadedFiles, UseInterceptors, Put, Get, Query, Delete, Patch } from '@nestjs/common';
2
+ import { AnyFilesInterceptor } from "@nestjs/platform-express";
3
+ import { ApiBearerAuth, ApiQuery, ApiTags } from '@nestjs/swagger';
4
+ import { ChatterMessageDetailsService } from '../services/chatter-message-details.service';
5
+ import { CreateChatterMessageDetailsDto } from '../dtos/create-chatter-message-details.dto';
6
+ import { UpdateChatterMessageDetailsDto } from '../dtos/update-chatter-message-details.dto';
7
+
8
+ enum ShowSoftDeleted {
9
+ INCLUSIVE = "inclusive",
10
+ EXCLUSIVE = "exclusive",
11
+ }
12
+
13
+ @ApiTags('Solid Core')
14
+ @Controller('chatter-message-details')
15
+ export class ChatterMessageDetailsController {
16
+ constructor(private readonly service: ChatterMessageDetailsService) {}
17
+
18
+ @ApiBearerAuth("jwt")
19
+ @Post()
20
+ @UseInterceptors(AnyFilesInterceptor())
21
+ create(@Body() createDto: CreateChatterMessageDetailsDto, @UploadedFiles() files: Array<Express.Multer.File>) {
22
+ return this.service.create(createDto, files);
23
+ }
24
+
25
+ @ApiBearerAuth("jwt")
26
+ @Post('/bulk')
27
+ @UseInterceptors(AnyFilesInterceptor())
28
+ insertMany(@Body() createDtos: CreateChatterMessageDetailsDto[], @UploadedFiles() filesArray: Express.Multer.File[][] = []) {
29
+ return this.service.insertMany(createDtos, filesArray);
30
+ }
31
+
32
+
33
+ @ApiBearerAuth("jwt")
34
+ @Put(':id')
35
+ @UseInterceptors(AnyFilesInterceptor())
36
+ update(@Param('id') id: number, @Body() updateDto: UpdateChatterMessageDetailsDto, @UploadedFiles() files: Array<Express.Multer.File>) {
37
+ return this.service.update(id, updateDto, files);
38
+ }
39
+
40
+ @ApiBearerAuth("jwt")
41
+ @Patch(':id')
42
+ @UseInterceptors(AnyFilesInterceptor())
43
+ partialUpdate(@Param('id') id: number, @Body() updateDto: UpdateChatterMessageDetailsDto, @UploadedFiles() files: Array<Express.Multer.File>) {
44
+ return this.service.update(id, updateDto, files, true);
45
+ }
46
+
47
+ @ApiBearerAuth("jwt")
48
+ @Post('/bulk-recover')
49
+ async recoverMany(@Body() ids: number[]) {
50
+ return this.service.recoverMany(ids);
51
+ }
52
+
53
+ @ApiBearerAuth("jwt")
54
+ @Get('/recover/:id')
55
+ async recover(@Param('id') id: number) {
56
+ return this.service.recover(id);
57
+ }
58
+
59
+ @ApiBearerAuth("jwt")
60
+ @ApiQuery({ name: 'showSoftDeleted', required: false, enum: ShowSoftDeleted })
61
+ @ApiQuery({ name: 'limit', required: false, type: Number })
62
+ @ApiQuery({ name: 'offset', required: false, type: Number })
63
+ @ApiQuery({ name: 'fields', required: false, type: Array })
64
+ @ApiQuery({ name: 'sort', required: false, type: Array })
65
+ @ApiQuery({ name: 'groupBy', required: false, type: Array })
66
+ @ApiQuery({ name: 'populate', required: false, type: Array })
67
+ @ApiQuery({ name: 'populateMedia', required: false, type: Array })
68
+ @ApiQuery({ name: 'filters', required: false, type: Array })
69
+ @Get()
70
+ async findMany(@Query() query: any) {
71
+ return this.service.find(query);
72
+ }
73
+
74
+ @ApiBearerAuth("jwt")
75
+ @Get(':id')
76
+ async findOne(@Param('id') id: string, @Query() query: any) {
77
+ return this.service.findOne(+id, query);
78
+ }
79
+
80
+ @ApiBearerAuth("jwt")
81
+ @Delete('/bulk')
82
+ async deleteMany(@Body() ids: number[]) {
83
+ return this.service.deleteMany(ids);
84
+ }
85
+
86
+ @ApiBearerAuth("jwt")
87
+ @Delete(':id')
88
+ async delete(@Param('id') id: number) {
89
+ return this.service.delete(id);
90
+ }
91
+
92
+ }
@@ -0,0 +1,105 @@
1
+ import { Controller, Post, Body, Param, UploadedFiles, UseInterceptors, Put, Get, Query, Delete, Patch } from '@nestjs/common';
2
+ import { AnyFilesInterceptor } from "@nestjs/platform-express";
3
+ import { ApiBearerAuth, ApiQuery, ApiTags } from '@nestjs/swagger';
4
+ import { ChatterMessageService } from '../services/chatter-message.service';
5
+ import { CreateChatterMessageDto } from '../dtos/create-chatter-message.dto';
6
+ import { UpdateChatterMessageDto } from '../dtos/update-chatter-message.dto';
7
+ import { PostChatterMessageDto } from '../dtos/post-chatter-message.dto';
8
+ import { SolidRequestContextDecorator } from 'src/decorators/solid-request-context.decorator';
9
+ import { SolidRequestContextDto } from 'src/dtos/solid-request-context.dto';
10
+
11
+ enum ShowSoftDeleted {
12
+ INCLUSIVE = "inclusive",
13
+ EXCLUSIVE = "exclusive",
14
+ }
15
+
16
+ @ApiTags('Solid Core')
17
+ @Controller('chatter-message')
18
+ export class ChatterMessageController {
19
+ constructor(private readonly service: ChatterMessageService) {}
20
+
21
+ @ApiBearerAuth("jwt")
22
+ @Post()
23
+ @UseInterceptors(AnyFilesInterceptor())
24
+ create(@Body() createDto: CreateChatterMessageDto, @UploadedFiles() files: Array<Express.Multer.File>) {
25
+ return this.service.create(createDto, files);
26
+ }
27
+
28
+ @ApiBearerAuth("jwt")
29
+ @Post('/bulk')
30
+ @UseInterceptors(AnyFilesInterceptor())
31
+ insertMany(@Body() createDtos: CreateChatterMessageDto[], @UploadedFiles() filesArray: Express.Multer.File[][] = []) {
32
+ return this.service.insertMany(createDtos, filesArray);
33
+ }
34
+
35
+
36
+ @ApiBearerAuth("jwt")
37
+ @Put(':id')
38
+ @UseInterceptors(AnyFilesInterceptor())
39
+ update(@Param('id') id: number, @Body() updateDto: UpdateChatterMessageDto, @UploadedFiles() files: Array<Express.Multer.File>) {
40
+ return this.service.update(id, updateDto, files);
41
+ }
42
+
43
+ @ApiBearerAuth("jwt")
44
+ @Patch(':id')
45
+ @UseInterceptors(AnyFilesInterceptor())
46
+ partialUpdate(@Param('id') id: number, @Body() updateDto: UpdateChatterMessageDto, @UploadedFiles() files: Array<Express.Multer.File>) {
47
+ return this.service.update(id, updateDto, files, true);
48
+ }
49
+
50
+ @ApiBearerAuth("jwt")
51
+ @Post('/bulk-recover')
52
+ async recoverMany(@Body() ids: number[]) {
53
+ return this.service.recoverMany(ids);
54
+ }
55
+
56
+ @ApiBearerAuth("jwt")
57
+ @Get('/recover/:id')
58
+ async recover(@Param('id') id: number) {
59
+ return this.service.recover(id);
60
+ }
61
+
62
+ @ApiBearerAuth("jwt")
63
+ @ApiQuery({ name: 'showSoftDeleted', required: false, enum: ShowSoftDeleted })
64
+ @ApiQuery({ name: 'limit', required: false, type: Number })
65
+ @ApiQuery({ name: 'offset', required: false, type: Number })
66
+ @ApiQuery({ name: 'fields', required: false, type: Array })
67
+ @ApiQuery({ name: 'sort', required: false, type: Array })
68
+ @ApiQuery({ name: 'groupBy', required: false, type: Array })
69
+ @ApiQuery({ name: 'populate', required: false, type: Array })
70
+ @ApiQuery({ name: 'populateMedia', required: false, type: Array })
71
+ @ApiQuery({ name: 'filters', required: false, type: Array })
72
+ @Get()
73
+ async findMany(@Query() query: any) {
74
+ return this.service.find(query);
75
+ }
76
+
77
+ @ApiBearerAuth("jwt")
78
+ @Get(':id')
79
+ async findOne(@Param('id') id: string, @Query() query: any) {
80
+ return this.service.findOne(+id, query);
81
+ }
82
+
83
+ @ApiBearerAuth("jwt")
84
+ @Delete('/bulk')
85
+ async deleteMany(@Body() ids: number[]) {
86
+ return this.service.deleteMany(ids);
87
+ }
88
+
89
+ @ApiBearerAuth("jwt")
90
+ @Delete(':id')
91
+ async delete(@Param('id') id: number) {
92
+ return this.service.delete(id);
93
+ }
94
+
95
+ @ApiBearerAuth("jwt")
96
+ @Post('post')
97
+ @UseInterceptors(AnyFilesInterceptor())
98
+ async postMessage(
99
+ @Body() postDto: PostChatterMessageDto,
100
+ @UploadedFiles() files: Array<Express.Multer.File>,
101
+ @SolidRequestContextDecorator() solidRequestContext: SolidRequestContextDto
102
+ ) {
103
+ return this.service.postMessage(postDto, solidRequestContext, files);
104
+ }
105
+ }
@@ -6,6 +6,7 @@ import { CreateSettingDto } from '../dtos/create-setting.dto';
6
6
  import { UpdateSettingDto } from '../dtos/update-setting.dto';
7
7
  import { SolidRequestContextDecorator } from 'src/decorators/solid-request-context.decorator';
8
8
  import { SolidRequestContextDto } from 'src/dtos/solid-request-context.dto';
9
+ import { UpdateSettingsDto } from 'src/dtos/update-settings.dto';
9
10
 
10
11
  @ApiTags('Solid')
11
12
  @Controller('setting') //FIXME: Change this to the model plural name
@@ -45,7 +46,12 @@ export class SettingController {
45
46
  @Get('/wrapped')
46
47
  async wrapSettings() {
47
48
  return this.service.wrapSettings();
48
- }
49
+ }
50
+
51
+ @Get()
52
+ async getAllSettings() {
53
+ return this.service.getAllSettings();
54
+ }
49
55
 
50
56
  @ApiBearerAuth("jwt")
51
57
  @ApiQuery({ name: 'showSoftDeleted', required: false, type: Boolean })
@@ -79,4 +85,10 @@ export class SettingController {
79
85
  async delete(@Param('id') id: number,@SolidRequestContextDecorator() solidRequestContext:SolidRequestContextDto) {
80
86
  return this.service.delete(id,solidRequestContext);
81
87
  }
88
+
89
+ @ApiBearerAuth("jwt")
90
+ @Post('/bulk-update')
91
+ async updateSettings(@Body() updateSettingsDto: UpdateSettingsDto) {
92
+ return this.service.updateSettings(updateSettingsDto.settings);
93
+ }
82
94
  }
@@ -0,0 +1,40 @@
1
+ import { ApiProperty } from '@nestjs/swagger';
2
+ import { IsInt } from 'class-validator';
3
+ import { IsOptional } from 'class-validator';
4
+ import { IsString, IsNotEmpty } from 'class-validator';
5
+ export class CreateChatterMessageDetailsDto {
6
+ @IsOptional()
7
+ @IsInt()
8
+ @ApiProperty()
9
+ chatterMessageId: number;
10
+
11
+ @IsString()
12
+ @IsOptional()
13
+ @ApiProperty()
14
+ chatterMessageUserKey: string;
15
+
16
+ @IsOptional()
17
+ @IsString()
18
+ @ApiProperty()
19
+ oldValue: string;
20
+
21
+ @IsOptional()
22
+ @IsString()
23
+ @ApiProperty()
24
+ newValue: string;
25
+
26
+ @IsOptional()
27
+ @IsString()
28
+ @ApiProperty()
29
+ oldValueDisplay: string;
30
+
31
+ @IsOptional()
32
+ @IsString()
33
+ @ApiProperty()
34
+ newValueDisplay: string;
35
+
36
+ @IsNotEmpty()
37
+ @IsString()
38
+ @ApiProperty()
39
+ fieldName: string;
40
+ }
@@ -0,0 +1,34 @@
1
+ import { ApiProperty } from '@nestjs/swagger';
2
+ import { IsString } from 'class-validator';
3
+ import { IsNotEmpty, IsInt, IsOptional } from 'class-validator';
4
+
5
+ export class CreateChatterMessageDto {
6
+ @IsNotEmpty()
7
+ @IsString()
8
+ @ApiProperty()
9
+ messageType: string;
10
+ @IsNotEmpty()
11
+ @IsString()
12
+ @ApiProperty()
13
+ messageSubType: string;
14
+ @IsNotEmpty()
15
+ @IsString()
16
+ @ApiProperty()
17
+ messageBody: string;
18
+ @IsNotEmpty()
19
+ @IsInt()
20
+ @ApiProperty()
21
+ coModelEntityId: number;
22
+ @IsNotEmpty()
23
+ @IsString()
24
+ @ApiProperty()
25
+ coModelName: string;
26
+ @IsOptional()
27
+ @IsInt()
28
+ @ApiProperty()
29
+ userId: number;
30
+ @IsString()
31
+ @IsOptional()
32
+ @ApiProperty()
33
+ userUserKey: string;
34
+ }
@@ -405,4 +405,8 @@ export class CreateFieldMetadataDto {
405
405
  @IsString()
406
406
  @IsOptional()
407
407
  relationJoinTableName: string
408
+
409
+ @IsOptional()
410
+ @IsBoolean()
411
+ enableAuditTracking?: boolean;
408
412
  }
@@ -1,63 +1,14 @@
1
1
  import { IsString } from 'class-validator';
2
2
  import { IsOptional, IsBoolean } from 'class-validator';
3
- export class CreateSettingDto {
4
- @IsOptional()
5
- @IsString()
6
- authPagesLayout: string;
7
-
8
- @IsOptional()
9
- @IsString()
10
- authPagesTheme: string;
11
-
12
- @IsOptional()
13
- @IsString()
14
- appTitle: string;
15
-
16
- @IsOptional()
17
- @IsString()
18
- appLogo: string;
19
-
20
- @IsOptional()
21
- @IsString()
22
- appDescription: string;
23
-
24
- @IsOptional()
25
- @IsString()
26
- appTnc: string;
27
-
28
- @IsOptional()
29
- @IsString()
30
- appPrivacyPolicy: string;
31
-
32
- @IsOptional()
33
- @IsBoolean()
34
- iamAllowPublicRegistration: boolean = false;
3
+ import { ApiProperty } from '@nestjs/swagger';
35
4
 
36
- @IsOptional()
37
- @IsBoolean()
38
- iamPasswordRegistrationEnabled: boolean = false;
39
-
40
- @IsOptional()
41
- @IsBoolean()
42
- iamPasswordLessRegistrationEnabled: boolean = false;
43
-
44
- @IsOptional()
45
- @IsBoolean()
46
- iamActivateUserOnRegistration: boolean = false;
47
-
48
- @IsOptional()
49
- @IsString()
50
- iamDefaultRole: string;
51
-
52
- @IsOptional()
53
- @IsBoolean()
54
- iamGoogleOAuthEnabled: boolean = false;
55
-
56
- @IsOptional()
57
- @IsBoolean()
58
- shouldQueueEmails: boolean = false;
59
-
60
- @IsOptional()
61
- @IsBoolean()
62
- shouldQueueSms: boolean = false;
5
+ export class CreateSettingDto {
6
+ @IsOptional()
7
+ @IsString()
8
+ @ApiProperty()
9
+ key: string;
10
+ @IsOptional()
11
+ @IsString()
12
+ @ApiProperty()
13
+ value: string;
63
14
  }
@@ -0,0 +1,19 @@
1
+ import { IsNotEmpty, IsNumber, IsString, IsOptional } from 'class-validator';
2
+
3
+ export class PostChatterMessageDto {
4
+ @IsNumber()
5
+ @IsNotEmpty()
6
+ coModelEntityId: number;
7
+
8
+ @IsString()
9
+ @IsNotEmpty()
10
+ coModelName: string;
11
+
12
+ @IsString()
13
+ @IsNotEmpty()
14
+ messageBody: string;
15
+
16
+ @IsString()
17
+ @IsOptional()
18
+ messageSubType?: string;
19
+ }
@@ -0,0 +1,43 @@
1
+ import { IsInt,IsOptional, IsString, IsNotEmpty } from 'class-validator';
2
+ import { ApiProperty } from '@nestjs/swagger';
3
+ export class UpdateChatterMessageDetailsDto {
4
+ @IsOptional()
5
+ @IsInt()
6
+ id: number;
7
+
8
+ @IsOptional()
9
+ @IsInt()
10
+ @ApiProperty()
11
+ chatterMessageId: number;
12
+
13
+ @IsString()
14
+ @IsOptional()
15
+ @ApiProperty()
16
+ chatterMessageUserKey: string;
17
+
18
+ @IsOptional()
19
+ @IsString()
20
+ @ApiProperty()
21
+ oldValue: string;
22
+
23
+ @IsOptional()
24
+ @IsString()
25
+ @ApiProperty()
26
+ newValue: string;
27
+
28
+ @IsOptional()
29
+ @IsString()
30
+ @ApiProperty()
31
+ oldValueDisplay: string;
32
+
33
+ @IsOptional()
34
+ @IsString()
35
+ @ApiProperty()
36
+ newValueDisplay: string;
37
+
38
+ @IsNotEmpty()
39
+ @IsOptional()
40
+ @IsString()
41
+ @ApiProperty()
42
+ fieldName: string;
43
+ }
@@ -0,0 +1,41 @@
1
+ import { IsInt,IsOptional, IsString, IsNotEmpty } from 'class-validator';
2
+ import { ApiProperty } from '@nestjs/swagger';
3
+
4
+ export class UpdateChatterMessageDto {
5
+ @IsOptional()
6
+ @IsInt()
7
+ id: number;
8
+ @IsNotEmpty()
9
+ @IsOptional()
10
+ @IsString()
11
+ @ApiProperty()
12
+ messageType: string;
13
+ @IsNotEmpty()
14
+ @IsOptional()
15
+ @IsString()
16
+ @ApiProperty()
17
+ messageSubType: string;
18
+ @IsNotEmpty()
19
+ @IsOptional()
20
+ @IsString()
21
+ @ApiProperty()
22
+ messageBody: string;
23
+ @IsNotEmpty()
24
+ @IsOptional()
25
+ @IsInt()
26
+ @ApiProperty()
27
+ coModelEntityId: number;
28
+ @IsNotEmpty()
29
+ @IsOptional()
30
+ @IsString()
31
+ @ApiProperty()
32
+ coModelName: string;
33
+ @IsOptional()
34
+ @IsInt()
35
+ @ApiProperty()
36
+ userId: number;
37
+ @IsString()
38
+ @IsOptional()
39
+ @ApiProperty()
40
+ userUserKey: string;
41
+ }
@@ -1,66 +1,16 @@
1
1
  import { IsInt,IsOptional, IsString, IsBoolean } from 'class-validator';
2
+ import { ApiProperty } from '@nestjs/swagger';
3
+
2
4
  export class UpdateSettingDto {
3
5
  @IsOptional()
4
6
  @IsInt()
5
7
  id: number;
6
-
7
- @IsOptional()
8
- @IsString()
9
- authPagesLayout: string;
10
-
11
- @IsOptional()
12
- @IsString()
13
- authPagesTheme: string;
14
-
15
- @IsOptional()
16
- @IsString()
17
- appTitle: string;
18
-
19
- @IsOptional()
20
- @IsString()
21
- appLogo: string;
22
-
23
- @IsOptional()
24
- @IsString()
25
- appDescription: string;
26
-
27
- @IsOptional()
28
- @IsString()
29
- appTnc: string;
30
-
31
- @IsOptional()
32
- @IsString()
33
- appPrivacyPolicy: string;
34
-
35
- @IsOptional()
36
- @IsBoolean()
37
- iamAllowPublicRegistration: boolean = false;
38
-
39
- @IsOptional()
40
- @IsBoolean()
41
- iamPasswordRegistrationEnabled: boolean = false;
42
-
43
- @IsOptional()
44
- @IsBoolean()
45
- iamPasswordLessRegistrationEnabled: boolean = false;
46
-
47
- @IsOptional()
48
- @IsBoolean()
49
- iamActivateUserOnRegistration: boolean = false;
50
-
51
- @IsOptional()
52
- @IsString()
53
- iamDefaultRole: string;
54
-
55
- @IsOptional()
56
- @IsBoolean()
57
- iamGoogleOAuthEnabled: boolean = false;
58
-
59
- @IsOptional()
60
- @IsBoolean()
61
- shouldQueueEmails: boolean = false;
62
-
63
- @IsOptional()
64
- @IsBoolean()
65
- shouldQueueSms: boolean = false;
8
+ @IsOptional()
9
+ @IsString()
10
+ @ApiProperty()
11
+ key: string;
12
+ @IsOptional()
13
+ @IsString()
14
+ @ApiProperty()
15
+ value: string;
66
16
  }
@@ -0,0 +1,7 @@
1
+ import { IsNotEmpty, IsObject } from 'class-validator';
2
+
3
+ export class UpdateSettingsDto {
4
+ @IsObject()
5
+ @IsNotEmpty()
6
+ settings: Record<string, any>;
7
+ }
@@ -0,0 +1,25 @@
1
+ import { CommonEntity } from 'src/entities/common.entity'
2
+ import {Entity, JoinColumn, ManyToOne, Column, Index} from 'typeorm';
3
+ import { ChatterMessage } from 'src/entities/chatter-message.entity'
4
+ @Entity("ss_chatter_message_details")
5
+ export class ChatterMessageDetails extends CommonEntity{
6
+ @ManyToOne(() => ChatterMessage, { onDelete: "CASCADE", nullable: true })
7
+ @JoinColumn()
8
+ chatterMessage: ChatterMessage;
9
+
10
+ @Column({ type: "text", nullable: true })
11
+ oldValue: string;
12
+
13
+ @Column({ type: "text", nullable: true })
14
+ newValue: string;
15
+
16
+ @Column({ type: "varchar", nullable: true })
17
+ oldValueDisplay: string;
18
+
19
+ @Index()
20
+ @Column({ type: "varchar", nullable: true })
21
+ newValueDisplay: string;
22
+
23
+ @Column({ type: "varchar" })
24
+ fieldName: string;
25
+ }
@@ -0,0 +1,22 @@
1
+ import { CommonEntity } from 'src/entities/common.entity'
2
+ import {Entity, Column, Index, JoinColumn, ManyToOne} from 'typeorm';
3
+ import { User } from 'src/entities/user.entity'
4
+
5
+ @Entity("ss_chatter_message")
6
+ export class ChatterMessage extends CommonEntity {
7
+ @Index()
8
+ @Column({ type: "varchar" })
9
+ messageType: string;
10
+ @Column({ type: "varchar" })
11
+ messageSubType: string;
12
+ @Column({ type: "text" })
13
+ messageBody: string;
14
+ @Index()
15
+ @Column({ type: "integer" })
16
+ coModelEntityId: number;
17
+ @Column({ type: "varchar" })
18
+ coModelName: string;
19
+ @ManyToOne(() => User, { onDelete: "CASCADE", nullable: true })
20
+ @JoinColumn()
21
+ user: User;
22
+ }
@@ -152,4 +152,7 @@ export class FieldMetadata extends CommonEntity {
152
152
 
153
153
  @Column({ name: 'relation_join_table_name', nullable: true })
154
154
  relationJoinTableName: string;
155
+
156
+ @Column({ name: 'enable_audit_tracking', default: false })
157
+ enableAuditTracking: boolean;
155
158
  }