@hedhog/admin 0.46.39 → 0.46.41

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 (111) hide show
  1. package/README.md +960 -960
  2. package/dist/auth/auth.service.d.ts.map +1 -1
  3. package/dist/auth/auth.service.js +6 -4
  4. package/dist/auth/auth.service.js.map +1 -1
  5. package/dist/auth/consts/body.js +24 -24
  6. package/dist/emails/templates.d.ts.map +1 -1
  7. package/dist/emails/templates.js +48 -48
  8. package/dist/emails/templates.js.map +1 -1
  9. package/frontend/menu/components/create-panel.tsx.ejs +55 -55
  10. package/frontend/menu/components/update-panel.tsx.ejs +67 -67
  11. package/frontend/menu/locales/en/admin.menu.json +11 -11
  12. package/frontend/menu/locales/pt/admin.menu.json +11 -11
  13. package/frontend/menu/react-query/handlers.ts.ejs +28 -28
  14. package/frontend/menu/react-query/requests.ts.ejs +56 -56
  15. package/frontend/menu-locale/locales/en/admin.menu-locale.json +11 -11
  16. package/frontend/menu-locale/locales/pt/admin.menu-locale.json +11 -11
  17. package/frontend/menu-screen/locales/en/admin.menu-screen.json +11 -11
  18. package/frontend/menu-screen/locales/pt/admin.menu-screen.json +11 -11
  19. package/frontend/multifactor/components/create-panel.tsx.ejs +55 -55
  20. package/frontend/multifactor/components/update-panel.tsx.ejs +70 -70
  21. package/frontend/multifactor/locales/en/admin.multifactor.json +11 -11
  22. package/frontend/multifactor/locales/pt/admin.multifactor.json +11 -11
  23. package/frontend/multifactor/react-query/handlers.ts.ejs +28 -28
  24. package/frontend/multifactor/react-query/requests.ts.ejs +59 -59
  25. package/frontend/multifactor-locale/locales/en/admin.multifactor-locale.json +11 -11
  26. package/frontend/multifactor-locale/locales/pt/admin.multifactor-locale.json +11 -11
  27. package/frontend/screen/components/create-panel.tsx.ejs +55 -55
  28. package/frontend/screen/components/update-panel.tsx.ejs +67 -67
  29. package/frontend/screen/locales/en/admin.screen.json +11 -11
  30. package/frontend/screen/locales/pt/admin.screen.json +11 -11
  31. package/frontend/screen/react-query/handlers.ts.ejs +28 -28
  32. package/frontend/screen/react-query/requests.ts.ejs +56 -56
  33. package/frontend/screen-locale/locales/en/admin.screen-locale.json +11 -11
  34. package/frontend/screen-locale/locales/pt/admin.screen-locale.json +11 -11
  35. package/frontend/translation/components/create-panel.tsx.ejs +52 -52
  36. package/frontend/translation/components/update-panel.tsx.ejs +67 -67
  37. package/frontend/translation/locales/en/admin.translation.json +11 -11
  38. package/frontend/translation/locales/pt/admin.translation.json +11 -11
  39. package/frontend/translation/react-query/handlers.ts.ejs +28 -28
  40. package/frontend/translation/react-query/requests.ts.ejs +58 -58
  41. package/frontend/translation-namespace/components/create-panel.tsx.ejs +53 -53
  42. package/frontend/translation-namespace/components/update-panel.tsx.ejs +70 -70
  43. package/frontend/translation-namespace/locales/en/admin.translation-namespace.json +11 -11
  44. package/frontend/translation-namespace/locales/pt/admin.translation-namespace.json +11 -11
  45. package/frontend/translation-namespace/react-query/handlers.ts.ejs +28 -28
  46. package/frontend/translation-namespace/react-query/requests.ts.ejs +60 -60
  47. package/frontend/user/components/create-panel.tsx.ejs +52 -52
  48. package/frontend/user/components/update-panel.tsx.ejs +64 -64
  49. package/frontend/user/locales/en/admin.user.json +11 -11
  50. package/frontend/user/locales/pt/admin.user.json +11 -11
  51. package/frontend/user/react-query/handlers.ts.ejs +28 -28
  52. package/frontend/user/react-query/requests.ts.ejs +55 -55
  53. package/hedhog.yaml +783 -783
  54. package/package.json +45 -45
  55. package/src/admin.module.ts +39 -39
  56. package/src/auth/auth.controller.ts +88 -88
  57. package/src/auth/auth.module.ts +41 -41
  58. package/src/auth/auth.service.spec.ts +196 -196
  59. package/src/auth/auth.service.ts +355 -349
  60. package/src/auth/consts/body.ts +27 -27
  61. package/src/auth/dto/change.dto.ts +19 -19
  62. package/src/auth/dto/email.dto.ts +15 -15
  63. package/src/auth/dto/forget.dto.ts +6 -6
  64. package/src/auth/dto/login.dto.ts +21 -21
  65. package/src/auth/dto/otp.dto.ts +11 -11
  66. package/src/auth/dto/reset.dto.ts +14 -14
  67. package/src/auth/enums/multifactor-type.enum.ts +4 -4
  68. package/src/auth/guards/auth.guard.ts +54 -54
  69. package/src/auth/types/user.type.ts +8 -8
  70. package/src/dto/delete.dto.ts +8 -8
  71. package/src/dto/update-ids.dto.ts +9 -9
  72. package/src/emails/index.ts +2 -2
  73. package/src/emails/lib.ts +40 -40
  74. package/src/emails/templates.ts +62 -60
  75. package/src/index.ts +20 -20
  76. package/src/menu/dto/create.dto.ts +25 -25
  77. package/src/menu/dto/order.dto.ts +8 -8
  78. package/src/menu/dto/update.dto.ts +19 -19
  79. package/src/menu/menu.controller.ts +105 -105
  80. package/src/menu/menu.module.ts +18 -18
  81. package/src/menu/menu.service.spec.ts +247 -247
  82. package/src/menu/menu.service.ts +263 -263
  83. package/src/role/dto/create.dto.ts +7 -7
  84. package/src/role/dto/update.dto.ts +4 -4
  85. package/src/role/guards/role.guard.ts +121 -121
  86. package/src/role/role.controller.ts +126 -126
  87. package/src/role/role.module.ts +28 -28
  88. package/src/role/role.service.spec.ts +417 -417
  89. package/src/role/role.service.ts +289 -289
  90. package/src/route/dto/create.dto.ts +13 -13
  91. package/src/route/dto/update.dto.ts +15 -15
  92. package/src/route/route.controller.ts +91 -91
  93. package/src/route/route.module.ts +18 -18
  94. package/src/route/route.service.spec.ts +300 -300
  95. package/src/route/route.service.ts +164 -164
  96. package/src/screen/dto/create.dto.ts +11 -11
  97. package/src/screen/dto/update.dto.ts +19 -19
  98. package/src/screen/screen.controller.ts +93 -93
  99. package/src/screen/screen.module.ts +18 -18
  100. package/src/screen/screen.service.spec.ts +298 -298
  101. package/src/screen/screen.service.ts +179 -179
  102. package/src/types/http-method.ts +8 -8
  103. package/src/user/constants/user.constants.ts +1 -1
  104. package/src/user/dto/create.dto.ts +24 -24
  105. package/src/user/dto/update.dto.ts +41 -41
  106. package/src/user/user.controller.ts +75 -75
  107. package/src/user/user.module.ts +18 -18
  108. package/src/user/user.service.spec.ts +294 -294
  109. package/src/user/user.service.ts +129 -129
  110. package/tsconfig.lib.json +9 -9
  111. package/tsconfig.production.json +20 -20
@@ -1,129 +1,129 @@
1
- import { PaginationDTO, PaginationService } from '@hedhog/pagination';
2
- import { PrismaService } from '@hedhog/prisma';
3
- import {
4
- BadRequestException,
5
- Inject,
6
- Injectable,
7
- forwardRef,
8
- } from '@nestjs/common';
9
- import { genSalt, hash } from 'bcrypt';
10
- import { DeleteDTO } from '../dto/delete.dto';
11
- import { UpdateIdsDTO } from '../dto/update-ids.dto';
12
- import { SALT_ROUNDS } from './constants/user.constants';
13
- import { CreateDTO } from './dto/create.dto';
14
- import { UpdateDTO } from './dto/update.dto';
15
-
16
- @Injectable()
17
- export class UserService {
18
- constructor(
19
- @Inject(forwardRef(() => PrismaService))
20
- private readonly prismaService: PrismaService,
21
- @Inject(forwardRef(() => PaginationService))
22
- private readonly paginationService: PaginationService,
23
- ) { }
24
-
25
- async listRoles(userId: number, paginationParams: PaginationDTO) {
26
- return this.paginationService.paginate(
27
- this.prismaService.role,
28
- paginationParams,
29
- {
30
- include: {
31
- role_user: {
32
- where: {
33
- user_id: userId,
34
- },
35
- select: {
36
- user_id: true,
37
- role_id: true,
38
- },
39
- },
40
- },
41
- },
42
- );
43
- }
44
-
45
- async updateRoles(userId: number, { ids }: UpdateIdsDTO) {
46
- await this.prismaService.role_user.deleteMany({
47
- where: {
48
- user_id: userId,
49
- },
50
- });
51
-
52
- return this.prismaService.role_user.createMany({
53
- data: ids.map((role) => {
54
- return {
55
- user_id: userId,
56
- role_id: role,
57
- };
58
- }),
59
- skipDuplicates: true,
60
- });
61
- }
62
-
63
- async list(paginationParams: PaginationDTO) {
64
- const fields = ['name', 'email'];
65
- const OR = this.prismaService.createInsensitiveSearch(
66
- fields,
67
- paginationParams,
68
- );
69
-
70
- return this.paginationService.paginate(
71
- this.prismaService.user,
72
- paginationParams,
73
- {
74
- where: {
75
- OR,
76
- },
77
- },
78
- );
79
- }
80
-
81
- async get(userId: number) {
82
- return this.prismaService.user.findUnique({ where: { id: userId } });
83
- }
84
-
85
- async hashPassword(password: string): Promise<string> {
86
- const salt = await genSalt(SALT_ROUNDS);
87
- return hash(password, salt);
88
- }
89
-
90
- async create({ email, name, password }: CreateDTO) {
91
- const hashedPassword = await this.hashPassword(password);
92
-
93
- return this.prismaService.user.create({
94
- data: {
95
- email,
96
- name,
97
- password: hashedPassword,
98
- },
99
- });
100
- }
101
-
102
- async update({ id, data }: { id: number; data: UpdateDTO }) {
103
- return this.prismaService.user.update({
104
- where: { id },
105
- data,
106
- });
107
- }
108
-
109
- async delete({ ids }: DeleteDTO) {
110
- if (ids == undefined || ids == null) {
111
- throw new BadRequestException(
112
- `You must select at least one user to delete.`,
113
- );
114
- }
115
-
116
- return this.prismaService.user.deleteMany({
117
- where: {
118
- id: {
119
- in: ids,
120
- },
121
- email: {
122
- not: {
123
- startsWith: 'root@',
124
- },
125
- },
126
- },
127
- });
128
- }
129
- }
1
+ import { PaginationDTO, PaginationService } from '@hedhog/pagination';
2
+ import { PrismaService } from '@hedhog/prisma';
3
+ import {
4
+ BadRequestException,
5
+ Inject,
6
+ Injectable,
7
+ forwardRef,
8
+ } from '@nestjs/common';
9
+ import { genSalt, hash } from 'bcrypt';
10
+ import { DeleteDTO } from '../dto/delete.dto';
11
+ import { UpdateIdsDTO } from '../dto/update-ids.dto';
12
+ import { SALT_ROUNDS } from './constants/user.constants';
13
+ import { CreateDTO } from './dto/create.dto';
14
+ import { UpdateDTO } from './dto/update.dto';
15
+
16
+ @Injectable()
17
+ export class UserService {
18
+ constructor(
19
+ @Inject(forwardRef(() => PrismaService))
20
+ private readonly prismaService: PrismaService,
21
+ @Inject(forwardRef(() => PaginationService))
22
+ private readonly paginationService: PaginationService,
23
+ ) { }
24
+
25
+ async listRoles(userId: number, paginationParams: PaginationDTO) {
26
+ return this.paginationService.paginate(
27
+ this.prismaService.role,
28
+ paginationParams,
29
+ {
30
+ include: {
31
+ role_user: {
32
+ where: {
33
+ user_id: userId,
34
+ },
35
+ select: {
36
+ user_id: true,
37
+ role_id: true,
38
+ },
39
+ },
40
+ },
41
+ },
42
+ );
43
+ }
44
+
45
+ async updateRoles(userId: number, { ids }: UpdateIdsDTO) {
46
+ await this.prismaService.role_user.deleteMany({
47
+ where: {
48
+ user_id: userId,
49
+ },
50
+ });
51
+
52
+ return this.prismaService.role_user.createMany({
53
+ data: ids.map((role) => {
54
+ return {
55
+ user_id: userId,
56
+ role_id: role,
57
+ };
58
+ }),
59
+ skipDuplicates: true,
60
+ });
61
+ }
62
+
63
+ async list(paginationParams: PaginationDTO) {
64
+ const fields = ['name', 'email'];
65
+ const OR = this.prismaService.createInsensitiveSearch(
66
+ fields,
67
+ paginationParams,
68
+ );
69
+
70
+ return this.paginationService.paginate(
71
+ this.prismaService.user,
72
+ paginationParams,
73
+ {
74
+ where: {
75
+ OR,
76
+ },
77
+ },
78
+ );
79
+ }
80
+
81
+ async get(userId: number) {
82
+ return this.prismaService.user.findUnique({ where: { id: userId } });
83
+ }
84
+
85
+ async hashPassword(password: string): Promise<string> {
86
+ const salt = await genSalt(SALT_ROUNDS);
87
+ return hash(password, salt);
88
+ }
89
+
90
+ async create({ email, name, password }: CreateDTO) {
91
+ const hashedPassword = await this.hashPassword(password);
92
+
93
+ return this.prismaService.user.create({
94
+ data: {
95
+ email,
96
+ name,
97
+ password: hashedPassword,
98
+ },
99
+ });
100
+ }
101
+
102
+ async update({ id, data }: { id: number; data: UpdateDTO }) {
103
+ return this.prismaService.user.update({
104
+ where: { id },
105
+ data,
106
+ });
107
+ }
108
+
109
+ async delete({ ids }: DeleteDTO) {
110
+ if (ids == undefined || ids == null) {
111
+ throw new BadRequestException(
112
+ `You must select at least one user to delete.`,
113
+ );
114
+ }
115
+
116
+ return this.prismaService.user.deleteMany({
117
+ where: {
118
+ id: {
119
+ in: ids,
120
+ },
121
+ email: {
122
+ not: {
123
+ startsWith: 'root@',
124
+ },
125
+ },
126
+ },
127
+ });
128
+ }
129
+ }
package/tsconfig.lib.json CHANGED
@@ -1,9 +1,9 @@
1
- {
2
- "extends": "../../tsconfig.json",
3
- "compilerOptions": {
4
- "declaration": true,
5
- "outDir": "../../dist/libs/admin"
6
- },
7
- "include": ["src/**/*"],
8
- "exclude": ["node_modules", "dist", "test", "**/*spec.ts"]
9
- }
1
+ {
2
+ "extends": "../../tsconfig.json",
3
+ "compilerOptions": {
4
+ "declaration": true,
5
+ "outDir": "../../dist/libs/admin"
6
+ },
7
+ "include": ["src/**/*"],
8
+ "exclude": ["node_modules", "dist", "test", "**/*spec.ts"]
9
+ }
@@ -1,20 +1,20 @@
1
- {
2
- "compilerOptions": {
3
- "experimentalDecorators": true,
4
- "target": "es2017",
5
- "module": "commonjs",
6
- "lib": ["es2017", "es7", "es6"],
7
- "declaration": true,
8
- "declarationMap": true,
9
- "sourceMap": true,
10
- "outDir": "./dist",
11
- "rootDir": "./src",
12
- "strict": true,
13
- "noImplicitAny": false,
14
- "strictNullChecks": false,
15
- "allowSyntheticDefaultImports": true,
16
- "esModuleInterop": true,
17
- "emitDecoratorMetadata": true
18
- },
19
- "exclude": ["node_modules", "dist", "src/migrations"]
20
- }
1
+ {
2
+ "compilerOptions": {
3
+ "experimentalDecorators": true,
4
+ "target": "es2017",
5
+ "module": "commonjs",
6
+ "lib": ["es2017", "es7", "es6"],
7
+ "declaration": true,
8
+ "declarationMap": true,
9
+ "sourceMap": true,
10
+ "outDir": "./dist",
11
+ "rootDir": "./src",
12
+ "strict": true,
13
+ "noImplicitAny": false,
14
+ "strictNullChecks": false,
15
+ "allowSyntheticDefaultImports": true,
16
+ "esModuleInterop": true,
17
+ "emitDecoratorMetadata": true
18
+ },
19
+ "exclude": ["node_modules", "dist", "src/migrations"]
20
+ }