simpledi-app-generator 0.0.7 → 0.0.9
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/README.md +9 -9
- package/dist/cli.js +3 -4
- package/dist/cli.js.map +1 -1
- package/dist/create_module.d.ts.map +1 -1
- package/dist/create_module.js +3 -0
- package/dist/create_module.js.map +1 -1
- package/dist/generate_crud_use_cases.d.ts.map +1 -1
- package/dist/generate_crud_use_cases.js +571 -130
- package/dist/generate_crud_use_cases.js.map +1 -1
- package/dist/generate_skeleton.d.ts.map +1 -1
- package/dist/generate_skeleton.js +57 -2
- package/dist/generate_skeleton.js.map +1 -1
- package/dist/templates/schema.ts +2 -0
- package/dist/templates/src/core/user/IUserRepository.ts +8 -0
- package/dist/templates/src/core/user/IUserService.ts +8 -0
- package/dist/templates/src/core/user/User.ts +71 -0
- package/dist/templates/src/core/user/UserModule.ts +7 -0
- package/dist/templates/src/core/user/UserRepository.spec.ts +63 -0
- package/dist/templates/src/core/user/UserRepository.ts +31 -0
- package/dist/templates/src/core/user/UserRepositoryModule.ts +15 -0
- package/dist/templates/src/core/user/UserService.ts +34 -0
- package/dist/templates/src/core/user/UserServiceModule.ts +14 -0
- package/dist/templates/src/core/user/baseZodUserSchema.ts +31 -0
- package/dist/templates/src/lib/functions/getContextUser.ts +5 -0
- package/dist/templates/src/lib/functions/test-related/createSignedUpUser.ts +44 -0
- package/dist/templates/src/lib/functions/test-related/getOneUserSignupData.ts +28 -0
- package/dist/templates/src/lib/functions/test-related/getTestServer.ts +28 -0
- package/dist/templates/src/lib/types/AdminRoleEnum.ts +6 -0
- package/dist/templates/src/lib/types/AnyRoleEnum.ts +5 -0
- package/dist/templates/src/lib/types/PhoneNumberTypeEnum.ts +7 -0
- package/dist/templates/src/lib/types/UserRoleEnum.ts +4 -0
- package/dist/templates/src/lib/types/UserTypeEnum.ts +4 -0
- package/dist/templates/src/middlewares/authGuard.ts +46 -0
- package/dist/templates/src/middlewares/index.ts +2 -0
- package/dist/templates/src/middlewares/roleGuard.ts +16 -0
- package/package.json +1 -1
- package/user-guide.md +16 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate_crud_use_cases.js","sourceRoot":"","sources":["../src/generate_crud_use_cases.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"generate_crud_use_cases.js","sourceRoot":"","sources":["../src/generate_crud_use_cases.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate_skeleton.d.ts","sourceRoot":"","sources":["../src/generate_skeleton.ts"],"names":[],"mappings":"AAUA,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,
|
|
1
|
+
{"version":3,"file":"generate_skeleton.d.ts","sourceRoot":"","sources":["../src/generate_skeleton.ts"],"names":[],"mappings":"AAUA,wBAAsB,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAqUzE"}
|
|
@@ -106,6 +106,26 @@ export async function generateSkeleton(projectName) {
|
|
|
106
106
|
src: 'src/lib/types/getCorsOrigin.ts',
|
|
107
107
|
dest: 'src/lib/types/getCorsOrigin.ts',
|
|
108
108
|
},
|
|
109
|
+
{
|
|
110
|
+
src: 'src/lib/types/UserRoleEnum.ts',
|
|
111
|
+
dest: 'src/lib/types/UserRoleEnum.ts',
|
|
112
|
+
},
|
|
113
|
+
{
|
|
114
|
+
src: 'src/lib/types/UserTypeEnum.ts',
|
|
115
|
+
dest: 'src/lib/types/UserTypeEnum.ts',
|
|
116
|
+
},
|
|
117
|
+
{
|
|
118
|
+
src: 'src/lib/types/AdminRoleEnum.ts',
|
|
119
|
+
dest: 'src/lib/types/AdminRoleEnum.ts',
|
|
120
|
+
},
|
|
121
|
+
{
|
|
122
|
+
src: 'src/lib/types/AnyRoleEnum.ts',
|
|
123
|
+
dest: 'src/lib/types/AnyRoleEnum.ts',
|
|
124
|
+
},
|
|
125
|
+
{
|
|
126
|
+
src: 'src/lib/types/PhoneNumberTypeEnum.ts',
|
|
127
|
+
dest: 'src/lib/types/PhoneNumberTypeEnum.ts',
|
|
128
|
+
},
|
|
109
129
|
// Lib - Functions
|
|
110
130
|
{
|
|
111
131
|
src: 'src/lib/functions/getEnvFile.ts',
|
|
@@ -127,6 +147,32 @@ export async function generateSkeleton(projectName) {
|
|
|
127
147
|
src: 'src/lib/functions/withBaseSchema.ts',
|
|
128
148
|
dest: 'src/lib/functions/withBaseSchema.ts',
|
|
129
149
|
},
|
|
150
|
+
// Lib - Functions/test-related
|
|
151
|
+
{
|
|
152
|
+
src: 'src/lib/functions/test-related/getTestServer.ts',
|
|
153
|
+
dest: 'src/lib/functions/test-related/getTestServer.ts',
|
|
154
|
+
},
|
|
155
|
+
{
|
|
156
|
+
src: 'src/lib/functions/test-related/getNewTestServer.ts',
|
|
157
|
+
dest: 'src/lib/functions/test-related/getNewTestServer.ts',
|
|
158
|
+
},
|
|
159
|
+
{
|
|
160
|
+
src: 'src/lib/functions/test-related/createSignedUpUser.ts',
|
|
161
|
+
dest: 'src/lib/functions/test-related/createSignedUpUser.ts',
|
|
162
|
+
},
|
|
163
|
+
{
|
|
164
|
+
src: 'src/lib/functions/test-related/getOneUserSignupData.ts',
|
|
165
|
+
dest: 'src/lib/functions/test-related/getOneUserSignupData.ts',
|
|
166
|
+
},
|
|
167
|
+
// Middlewares
|
|
168
|
+
{
|
|
169
|
+
src: 'src/middlewares/authGuard.ts',
|
|
170
|
+
dest: 'src/middlewares/authGuard.ts',
|
|
171
|
+
},
|
|
172
|
+
{
|
|
173
|
+
src: 'src/middlewares/roleGuard.ts',
|
|
174
|
+
dest: 'src/middlewares/roleGuard.ts',
|
|
175
|
+
},
|
|
130
176
|
// Lib - Errors
|
|
131
177
|
{
|
|
132
178
|
src: 'src/lib/errors/BadRequestException.ts',
|
|
@@ -166,6 +212,10 @@ export async function generateSkeleton(projectName) {
|
|
|
166
212
|
src: 'src/core/baseSchema.ts',
|
|
167
213
|
dest: 'src/core/baseSchema.ts',
|
|
168
214
|
},
|
|
215
|
+
{
|
|
216
|
+
src: 'src/core/user',
|
|
217
|
+
dest: 'src/core/user',
|
|
218
|
+
},
|
|
169
219
|
];
|
|
170
220
|
// Helper function to read template and write to dest
|
|
171
221
|
const applyTemplate = async (tpl) => {
|
|
@@ -177,7 +227,7 @@ export async function generateSkeleton(projectName) {
|
|
|
177
227
|
await mkdir(parentDir, { recursive: true });
|
|
178
228
|
}
|
|
179
229
|
if (existsSync(srcPath)) {
|
|
180
|
-
await cp(srcPath, destPath);
|
|
230
|
+
await cp(srcPath, destPath, { recursive: true });
|
|
181
231
|
console.log(`Created ${tpl.dest}`);
|
|
182
232
|
}
|
|
183
233
|
else {
|
|
@@ -187,10 +237,11 @@ export async function generateSkeleton(projectName) {
|
|
|
187
237
|
for (const tpl of templates) {
|
|
188
238
|
await applyTemplate(tpl);
|
|
189
239
|
}
|
|
190
|
-
// Generate Indices
|
|
191
240
|
const libTypesDest = join(targetDir, 'src/lib/types');
|
|
192
241
|
const libFunctionsDest = join(targetDir, 'src/lib/functions');
|
|
242
|
+
const libTestFunctionsDest = join(targetDir, 'src/lib/functions/test-related');
|
|
193
243
|
const libErrorsDest = join(targetDir, 'src/lib/errors');
|
|
244
|
+
const middlewaresDest = join(targetDir, 'src/middlewares');
|
|
194
245
|
const libDest = join(targetDir, 'src/lib');
|
|
195
246
|
const coreDir = join(targetDir, 'src/core');
|
|
196
247
|
await mkdir(coreDir, { recursive: true });
|
|
@@ -208,7 +259,9 @@ export async function generateSkeleton(projectName) {
|
|
|
208
259
|
};
|
|
209
260
|
await createIndex(libTypesDest);
|
|
210
261
|
await createIndex(libFunctionsDest);
|
|
262
|
+
await createIndex(libTestFunctionsDest);
|
|
211
263
|
await createIndex(libErrorsDest);
|
|
264
|
+
await createIndex(middlewaresDest);
|
|
212
265
|
// lib/index.ts
|
|
213
266
|
const libIndexContent = `export * from "./functions";
|
|
214
267
|
export * from "./types";
|
|
@@ -219,11 +272,13 @@ export * from "./errors";`;
|
|
|
219
272
|
const coreModuleContent = `import { Module } from '@kanian77/simple-di';
|
|
220
273
|
import { getConfigModule } from 'config/getConfigModule';
|
|
221
274
|
import { getDbModule } from 'db/getDbModule';
|
|
275
|
+
import { UserModule } from './user/UserModule';
|
|
222
276
|
|
|
223
277
|
export const CoreModule = new Module({
|
|
224
278
|
imports: [
|
|
225
279
|
getConfigModule(),
|
|
226
280
|
getDbModule(),
|
|
281
|
+
UserModule,
|
|
227
282
|
],
|
|
228
283
|
});
|
|
229
284
|
`;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generate_skeleton.js","sourceRoot":"","sources":["../src/generate_skeleton.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"generate_skeleton.js","sourceRoot":"","sources":["../src/generate_skeleton.ts"],"names":[],"mappings":"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"}
|
package/dist/templates/schema.ts
CHANGED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { IRepository } from '@root/IRepository';
|
|
2
|
+
import type { UserInterface } from './baseZodUserSchema';
|
|
3
|
+
|
|
4
|
+
export const USER_REPOSITORY_INTERFACE = 'IUserRepository';
|
|
5
|
+
|
|
6
|
+
export interface IUserRepository extends IRepository<UserInterface> {
|
|
7
|
+
// Add entity-specific repository methods here
|
|
8
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { IService } from '@root/IService';
|
|
2
|
+
import type { UserInterface } from './baseZodUserSchema';
|
|
3
|
+
|
|
4
|
+
export const USER_SERVICE_INTERFACE = 'IUserService';
|
|
5
|
+
|
|
6
|
+
export interface IUserService extends IService<UserInterface> {
|
|
7
|
+
// Add entity-specific service methods here
|
|
8
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { withBaseSchema } from '@root/lib/functions/withBaseSchema';
|
|
2
|
+
import { jsonb, text, varchar } from 'drizzle-orm/pg-core';
|
|
3
|
+
import {
|
|
4
|
+
createInsertSchema,
|
|
5
|
+
createSelectSchema,
|
|
6
|
+
createUpdateSchema,
|
|
7
|
+
} from 'drizzle-zod';
|
|
8
|
+
import { z } from 'zod';
|
|
9
|
+
import { adminZodUserSchema, userZodUserSchema } from './baseZodUserSchema';
|
|
10
|
+
import { UserTypePgEnum } from '@root/lib/types/UserTypePgEnum';
|
|
11
|
+
import { UserRolePgEnum } from '@root/lib/types/UserRolePgEnum';
|
|
12
|
+
import type { PhoneNumberInterface } from '@root/lib';
|
|
13
|
+
|
|
14
|
+
// Table name constant
|
|
15
|
+
export const USER_TABLE_NAME = 'users';
|
|
16
|
+
|
|
17
|
+
// Schema definition
|
|
18
|
+
export const userSchema = withBaseSchema(USER_TABLE_NAME, {
|
|
19
|
+
email: varchar('email', { length: 255 }).unique(),
|
|
20
|
+
password: varchar('password', { length: 255 }),
|
|
21
|
+
firstName: varchar('first_name', { length: 255 }),
|
|
22
|
+
lastName: varchar('last_name', { length: 255 }),
|
|
23
|
+
phoneNumber: jsonb('phone_number').$type<PhoneNumberInterface>(),
|
|
24
|
+
userType: UserTypePgEnum('user_type').notNull(), // Stores 'ADMIN' or 'USER'
|
|
25
|
+
role: UserRolePgEnum('role').notNull(),
|
|
26
|
+
});
|
|
27
|
+
|
|
28
|
+
// Relations definition
|
|
29
|
+
// import { relations } from 'drizzle-orm';
|
|
30
|
+
// export const userRelations = relations(userSchema, ({ one, many }) => ({
|
|
31
|
+
// // TODO: Add relationships here
|
|
32
|
+
// }));
|
|
33
|
+
|
|
34
|
+
// Type exports
|
|
35
|
+
export type UserSchemaType = typeof userSchema;
|
|
36
|
+
|
|
37
|
+
// Zod validation schemas
|
|
38
|
+
export const UserInsertSchema = z.discriminatedUnion('userType', [
|
|
39
|
+
createInsertSchema(userSchema).merge(
|
|
40
|
+
adminZodUserSchema.partial({
|
|
41
|
+
id: true,
|
|
42
|
+
createdAt: true,
|
|
43
|
+
createdBy:true,
|
|
44
|
+
updatedAt: true,
|
|
45
|
+
updatedBy: true,
|
|
46
|
+
deletedAt: true,
|
|
47
|
+
deleted: true,
|
|
48
|
+
}),
|
|
49
|
+
),
|
|
50
|
+
createInsertSchema(userSchema).merge(
|
|
51
|
+
userZodUserSchema.partial({
|
|
52
|
+
id: true,
|
|
53
|
+
createdAt: true,
|
|
54
|
+
createdBy:true,
|
|
55
|
+
updatedAt: true,
|
|
56
|
+
updatedBy: true,
|
|
57
|
+
deletedAt: true,
|
|
58
|
+
deleted: true,
|
|
59
|
+
}),
|
|
60
|
+
),
|
|
61
|
+
]);
|
|
62
|
+
|
|
63
|
+
export const UserSelectSchema = z.discriminatedUnion('userType', [
|
|
64
|
+
createSelectSchema(userSchema).merge(adminZodUserSchema),
|
|
65
|
+
createSelectSchema(userSchema).merge(userZodUserSchema),
|
|
66
|
+
]);
|
|
67
|
+
|
|
68
|
+
export const UserUpdateSchema = z.union([
|
|
69
|
+
createUpdateSchema(userSchema).merge(adminZodUserSchema.partial()),
|
|
70
|
+
createUpdateSchema(userSchema).merge(userZodUserSchema.partial()),
|
|
71
|
+
]);
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Module } from '@kanian77/simple-di';
|
|
2
|
+
import { UserRepositoryModule } from './UserRepositoryModule';
|
|
3
|
+
import { UserServiceModule } from './UserServiceModule';
|
|
4
|
+
|
|
5
|
+
export const UserModule = new Module({
|
|
6
|
+
imports: [UserRepositoryModule, UserServiceModule],
|
|
7
|
+
});
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import { afterAll, afterEach, beforeAll, describe, expect, it } from 'bun:test';
|
|
2
|
+
import { UserRepository } from './UserRepository';
|
|
3
|
+
import { randomUUIDv7 } from 'bun';
|
|
4
|
+
import * as schema from '@root/schema';
|
|
5
|
+
import { NeonHttpDatabase } from 'drizzle-orm/neon-http';
|
|
6
|
+
import {
|
|
7
|
+
EnvFileNames,
|
|
8
|
+
} from '@root/lib';
|
|
9
|
+
import { USER_REPOSITORY_INTERFACE } from './IUserRepository';
|
|
10
|
+
import { bootstrap, inject, Module } from '@kanian77/simple-di';
|
|
11
|
+
import { DB_SERVICE, DbService } from 'db/DbService';
|
|
12
|
+
import { getConfigModule } from 'config/getConfigModule';
|
|
13
|
+
|
|
14
|
+
describe('UserRepository', () => {
|
|
15
|
+
let userRepository: UserRepository;
|
|
16
|
+
let db: NeonHttpDatabase<typeof schema>;
|
|
17
|
+
|
|
18
|
+
const clear = async (db: NeonHttpDatabase<typeof schema>) => {
|
|
19
|
+
// await db.delete(schema.userSchema).execute();
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
beforeAll(async () => {
|
|
23
|
+
const ConfigModule = getConfigModule(EnvFileNames.TESTING);
|
|
24
|
+
const DbModule = getConfigModule(EnvFileNames.TESTING);
|
|
25
|
+
|
|
26
|
+
const UserRepositoryModule = new Module({
|
|
27
|
+
imports: [ConfigModule, DbModule],
|
|
28
|
+
providers: [
|
|
29
|
+
{
|
|
30
|
+
provide: USER_REPOSITORY_INTERFACE,
|
|
31
|
+
useClass: UserRepository,
|
|
32
|
+
},
|
|
33
|
+
],
|
|
34
|
+
});
|
|
35
|
+
|
|
36
|
+
const TestModule = new Module({
|
|
37
|
+
imports: [
|
|
38
|
+
ConfigModule,
|
|
39
|
+
DbModule,
|
|
40
|
+
UserRepositoryModule,
|
|
41
|
+
],
|
|
42
|
+
});
|
|
43
|
+
|
|
44
|
+
bootstrap(TestModule);
|
|
45
|
+
|
|
46
|
+
db = inject<DbService>(DB_SERVICE).getDb();
|
|
47
|
+
userRepository = inject<UserRepository>(USER_REPOSITORY_INTERFACE);
|
|
48
|
+
|
|
49
|
+
await clear(db);
|
|
50
|
+
});
|
|
51
|
+
|
|
52
|
+
afterEach(async () => {
|
|
53
|
+
// await db.delete(schema.userSchema).execute();
|
|
54
|
+
});
|
|
55
|
+
|
|
56
|
+
afterAll(async () => {
|
|
57
|
+
await clear(db);
|
|
58
|
+
});
|
|
59
|
+
|
|
60
|
+
it('should be defined', () => {
|
|
61
|
+
expect(userRepository).toBeDefined();
|
|
62
|
+
});
|
|
63
|
+
});
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { BaseRepository } from '@root/BaseRepository';
|
|
2
|
+
import {
|
|
3
|
+
USER_REPOSITORY_INTERFACE,
|
|
4
|
+
type IUserRepository,
|
|
5
|
+
} from './IUserRepository';
|
|
6
|
+
import { userSchema, type UserSchemaType } from './User';
|
|
7
|
+
import { type UserInterface } from './baseZodUserSchema';
|
|
8
|
+
import { Inject, Service } from '@kanian77/simple-di';
|
|
9
|
+
import { DB_SERVICE, DbService } from 'db/DbService';
|
|
10
|
+
|
|
11
|
+
@Service({ token: USER_REPOSITORY_INTERFACE })
|
|
12
|
+
export class UserRepository
|
|
13
|
+
extends BaseRepository<UserInterface, UserSchemaType>
|
|
14
|
+
implements IUserRepository
|
|
15
|
+
{
|
|
16
|
+
constructor(@Inject(DB_SERVICE) private dbService: DbService) {
|
|
17
|
+
super(userSchema, dbService);
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
async find(config?: any): Promise<UserInterface[]> {
|
|
21
|
+
return (await this.db.query.userSchema.findMany(
|
|
22
|
+
config
|
|
23
|
+
)) as unknown as UserInterface[];
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
async findOne(config?: any): Promise<UserInterface> {
|
|
27
|
+
return (await this.db.query.userSchema.findFirst(
|
|
28
|
+
config
|
|
29
|
+
)) as unknown as UserInterface;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { Module } from '@kanian77/simple-di';
|
|
2
|
+
import { USER_REPOSITORY_INTERFACE } from './IUserRepository';
|
|
3
|
+
import { UserRepository } from './UserRepository';
|
|
4
|
+
import { getConfigModule } from 'config/getConfigModule';
|
|
5
|
+
import { getDbModule } from 'db/getDbModule';
|
|
6
|
+
|
|
7
|
+
export const UserRepositoryModule = new Module({
|
|
8
|
+
imports: [getConfigModule(), getDbModule()],
|
|
9
|
+
providers: [
|
|
10
|
+
{
|
|
11
|
+
provide: USER_REPOSITORY_INTERFACE,
|
|
12
|
+
useClass: UserRepository,
|
|
13
|
+
},
|
|
14
|
+
],
|
|
15
|
+
});
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import { BaseService } from '@root/BaseService';
|
|
2
|
+
import type { UserInterface } from './baseZodUserSchema';
|
|
3
|
+
import {
|
|
4
|
+
USER_SERVICE_INTERFACE,
|
|
5
|
+
type IUserService,
|
|
6
|
+
} from './IUserService';
|
|
7
|
+
import {
|
|
8
|
+
USER_REPOSITORY_INTERFACE,
|
|
9
|
+
type IUserRepository,
|
|
10
|
+
} from './IUserRepository';
|
|
11
|
+
import {
|
|
12
|
+
UserInsertSchema,
|
|
13
|
+
UserSelectSchema,
|
|
14
|
+
UserUpdateSchema,
|
|
15
|
+
} from './User';
|
|
16
|
+
import { Inject, Service } from '@kanian77/simple-di';
|
|
17
|
+
|
|
18
|
+
@Service({ token: USER_SERVICE_INTERFACE })
|
|
19
|
+
export class UserService
|
|
20
|
+
extends BaseService<UserInterface>
|
|
21
|
+
implements IUserService
|
|
22
|
+
{
|
|
23
|
+
constructor(
|
|
24
|
+
@Inject(USER_REPOSITORY_INTERFACE)
|
|
25
|
+
private readonly userRepository: IUserRepository
|
|
26
|
+
) {
|
|
27
|
+
super(
|
|
28
|
+
userRepository,
|
|
29
|
+
UserInsertSchema,
|
|
30
|
+
UserUpdateSchema,
|
|
31
|
+
UserSelectSchema
|
|
32
|
+
);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Module } from '@kanian77/simple-di';
|
|
2
|
+
import { UserService } from './UserService';
|
|
3
|
+
import { UserRepositoryModule } from './UserRepositoryModule';
|
|
4
|
+
import { USER_SERVICE_INTERFACE } from './IUserService';
|
|
5
|
+
|
|
6
|
+
export const UserServiceModule = new Module({
|
|
7
|
+
imports: [UserRepositoryModule],
|
|
8
|
+
providers: [
|
|
9
|
+
{
|
|
10
|
+
provide: USER_SERVICE_INTERFACE,
|
|
11
|
+
useClass: UserService,
|
|
12
|
+
},
|
|
13
|
+
],
|
|
14
|
+
});
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { z } from "zod";
|
|
2
|
+
import { baseZodSchema } from "@root/core/baseZodSchema";
|
|
3
|
+
import { AdminRoleEnum } from "@root/lib/types/AdminRoleEnum";
|
|
4
|
+
import { UserRoleEnum } from "@root/lib/types/UserRoleEnum";
|
|
5
|
+
import { phoneNumberSchema } from "@root/lib/schemas/phoneNumberSchema";
|
|
6
|
+
|
|
7
|
+
export const adminZodUserSchema = baseZodSchema.extend({
|
|
8
|
+
email: z.string().email().optional(),
|
|
9
|
+
password: z.string().optional(),
|
|
10
|
+
firstName: z.string().max(255).optional(),
|
|
11
|
+
lastName: z.string().max(255).optional(),
|
|
12
|
+
phoneNumber: phoneNumberSchema.optional(),
|
|
13
|
+
userType: z.literal('ADMIN'),
|
|
14
|
+
role: z.nativeEnum(AdminRoleEnum),
|
|
15
|
+
});
|
|
16
|
+
|
|
17
|
+
export const userZodUserSchema = baseZodSchema.extend({
|
|
18
|
+
email: z.string().email().optional(),
|
|
19
|
+
password: z.string().optional(),
|
|
20
|
+
firstName: z.string().max(255).optional(),
|
|
21
|
+
lastName: z.string().max(255).optional(),
|
|
22
|
+
phoneNumber: phoneNumberSchema.optional(),
|
|
23
|
+
userType: z.literal('USER'),
|
|
24
|
+
role: z.nativeEnum(UserRoleEnum),
|
|
25
|
+
});
|
|
26
|
+
|
|
27
|
+
export const baseZodUserSchema = z.discriminatedUnion('userType', [
|
|
28
|
+
adminZodUserSchema,
|
|
29
|
+
userZodUserSchema,
|
|
30
|
+
]);
|
|
31
|
+
export type UserInterface = z.infer<typeof baseZodUserSchema>;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { getOneUserSignupData } from './getOneUserSignupData';
|
|
2
|
+
import { AuthenticationUtils } from '@root/lib/AuthenticationUtils';
|
|
3
|
+
import type { UserRepository } from '@root/core/user/UserRepository';
|
|
4
|
+
import type { UserInterface } from '@root/core/user/baseZodUserSchema';
|
|
5
|
+
import type { TokenPayload } from '@root/lib/types';
|
|
6
|
+
|
|
7
|
+
const users: Partial<UserInterface>[] = [];
|
|
8
|
+
|
|
9
|
+
export const createOneSignedUpUser = async (
|
|
10
|
+
userRepository: UserRepository,
|
|
11
|
+
overrides: Partial<UserInterface> = {},
|
|
12
|
+
) => {
|
|
13
|
+
const userData = getOneUserSignupData(overrides);
|
|
14
|
+
userData.password = await AuthenticationUtils.hashPassword(
|
|
15
|
+
userData.password as string,
|
|
16
|
+
);
|
|
17
|
+
|
|
18
|
+
const createdUser = await userRepository.create(userData as any);
|
|
19
|
+
|
|
20
|
+
// We need to cast createdUser to UserInterface because repository might return something slightly different
|
|
21
|
+
// or TypeScript might infer it differently, but for tests this is usually fine.
|
|
22
|
+
const user = createdUser as UserInterface;
|
|
23
|
+
|
|
24
|
+
const token = await AuthenticationUtils.generateToken(user);
|
|
25
|
+
const payload = AuthenticationUtils.verifyToken(token) as TokenPayload;
|
|
26
|
+
|
|
27
|
+
users.push(user);
|
|
28
|
+
return { token, payload, user };
|
|
29
|
+
};
|
|
30
|
+
|
|
31
|
+
export const deleteCreatedSignedUsers = async (
|
|
32
|
+
userRepository: UserRepository,
|
|
33
|
+
) => {
|
|
34
|
+
// Check if delete method exists and accepts ID, assuming standard repository pattern
|
|
35
|
+
// If delete is not implementing in repository yet, we might need to use DB directly or skip this.
|
|
36
|
+
// Based on User.ts, we have a base repository.
|
|
37
|
+
|
|
38
|
+
await Promise.all(
|
|
39
|
+
users.map((user) =>
|
|
40
|
+
user.id ? userRepository.delete(user.id) : Promise.resolve(),
|
|
41
|
+
),
|
|
42
|
+
);
|
|
43
|
+
users.length = 0;
|
|
44
|
+
};
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { v7 as randomUUIDv7 } from 'uuid';
|
|
2
|
+
import { type UserInterface } from '@root/core/user/baseZodUserSchema';
|
|
3
|
+
import { PhoneNumberTypeEnum } from '@root/lib/types/PhoneNumberTypeEnum';
|
|
4
|
+
import { UserRoleEnum } from '@root/lib/types/UserRoleEnum';
|
|
5
|
+
|
|
6
|
+
// We need to define the enum values manually since we can't import them directly as values easily in all contexts,
|
|
7
|
+
// or fetch from where they are defined if it's a drizzle enum object.
|
|
8
|
+
// Based on file reads:
|
|
9
|
+
// UserTypePgEnum: ['ADMIN', 'USER']
|
|
10
|
+
// UserRolePgEnum: ['ADMIN', 'AUTHOR', 'EDITOR', 'AUTHENTICATED']
|
|
11
|
+
|
|
12
|
+
export const getOneUserSignupData = (
|
|
13
|
+
overrides: Partial<UserInterface> = {},
|
|
14
|
+
) => ({
|
|
15
|
+
id: randomUUIDv7(),
|
|
16
|
+
firstName: 'Test',
|
|
17
|
+
lastName: 'User',
|
|
18
|
+
email: `${randomUUIDv7()}@example.com`,
|
|
19
|
+
password: 'password123',
|
|
20
|
+
phoneNumber: {
|
|
21
|
+
countryCode: '+1',
|
|
22
|
+
number: '1234567890',
|
|
23
|
+
type: PhoneNumberTypeEnum.MOBILE,
|
|
24
|
+
},
|
|
25
|
+
userType: 'USER' as const,
|
|
26
|
+
role: UserRoleEnum.AUTHENTICATED,
|
|
27
|
+
...overrides,
|
|
28
|
+
});
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { serve } from '@hono/node-server';
|
|
2
|
+
import type { Hono } from 'hono';
|
|
3
|
+
import supertest from 'supertest';
|
|
4
|
+
|
|
5
|
+
export const getTestServer = (app: Hono, port?: number) => {
|
|
6
|
+
const usePort = port || 3001 + Math.floor(Math.random() * 10000);
|
|
7
|
+
|
|
8
|
+
const server = serve({ port: usePort, fetch: app.fetch });
|
|
9
|
+
|
|
10
|
+
return {
|
|
11
|
+
request: () => supertest(server),
|
|
12
|
+
app,
|
|
13
|
+
port: usePort,
|
|
14
|
+
close: () => {
|
|
15
|
+
return new Promise<boolean>((resolve, reject) => {
|
|
16
|
+
server.close((err) => {
|
|
17
|
+
if (err) {
|
|
18
|
+
console.error(`Error closing server on port ${usePort}:`, err);
|
|
19
|
+
reject(err);
|
|
20
|
+
} else {
|
|
21
|
+
console.log(`Server on port ${usePort} successfully closed`);
|
|
22
|
+
resolve(true);
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
},
|
|
27
|
+
};
|
|
28
|
+
};
|