@drax/identity-back 0.0.9 → 0.0.10
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/errors/BadCredentialsError.js +10 -0
- package/dist/errors/UnauthorizedError.js +10 -0
- package/dist/factory/RoleServiceFactory.js +16 -3
- package/dist/factory/UserServiceFactory.js +17 -3
- package/dist/graphql/resolvers/role.resolvers.js +98 -11
- package/dist/graphql/resolvers/user.resolvers.js +134 -15
- package/dist/graphql/types/role.graphql +6 -4
- package/dist/graphql/types/user.graphql +36 -9
- package/dist/i18n/messages/validation-i18n.js +21 -0
- package/dist/index.js +22 -7
- package/dist/interfaces/IID.js +1 -0
- package/dist/interfaces/IJwtUser.js +1 -0
- package/dist/middleware/jwtMiddleware.js +19 -0
- package/dist/middleware/rbacMiddleware.js +36 -0
- package/dist/models/RoleModel.js +0 -8
- package/dist/models/UserModel.js +1 -2
- package/dist/permissions/IdentityPermissions.js +16 -0
- package/dist/rbac/Rbac.js +20 -0
- package/dist/repository/mongo/RoleMongoRepository.js +41 -0
- package/dist/repository/mongo/UserMongoRepository.js +82 -0
- package/dist/repository/sqlite/RoleSqliteRepository.js +115 -0
- package/dist/repository/sqlite/UserSqliteRepository.js +157 -0
- package/dist/routes/RoleRoutes.js +145 -0
- package/dist/routes/UserRoutes.js +199 -0
- package/dist/routes/authRoutes.js +12 -4
- package/dist/services/AuthService.js +0 -15
- package/dist/services/PermissionService.js +19 -0
- package/dist/services/RoleService.js +48 -16
- package/dist/services/UserService.js +82 -23
- package/dist/utils/AuthUtils.js +20 -6
- package/dist/utils/DbSetupUtils.js +28 -0
- package/dist/zod/RoleZod.js +8 -0
- package/dist/zod/UserZod.js +18 -0
- package/package.json +17 -10
- package/src/errors/BadCredentialsError.ts +13 -0
- package/src/errors/UnauthorizedError.ts +13 -0
- package/src/factory/RoleServiceFactory.ts +20 -3
- package/src/factory/UserServiceFactory.ts +20 -3
- package/src/graphql/resolvers/role.resolvers.ts +92 -11
- package/src/graphql/resolvers/user.resolvers.ts +128 -15
- package/src/graphql/types/role.graphql +6 -4
- package/src/graphql/types/user.graphql +36 -9
- package/src/index.ts +50 -10
- package/src/interfaces/IID.ts +5 -0
- package/src/interfaces/IJwtUser.ts +7 -0
- package/src/interfaces/IRole.ts +15 -5
- package/src/interfaces/IRoleRepository.ts +8 -5
- package/src/interfaces/IUser.ts +30 -6
- package/src/interfaces/IUserGroup.ts +2 -1
- package/src/interfaces/IUserRepository.ts +11 -6
- package/src/middleware/jwtMiddleware.ts +22 -0
- package/src/middleware/rbacMiddleware.ts +40 -0
- package/src/models/RoleModel.ts +0 -9
- package/src/models/UserModel.ts +1 -2
- package/src/permissions/IdentityPermissions.ts +20 -0
- package/src/rbac/Rbac.ts +31 -0
- package/src/repository/mongo/RoleMongoRepository.ts +57 -0
- package/src/repository/mongo/UserMongoRepository.ts +104 -0
- package/src/repository/sqlite/RoleSqliteRepository.ts +151 -0
- package/src/repository/sqlite/UserSqliteRepository.ts +194 -0
- package/src/routes/RoleRoutes.ts +141 -0
- package/src/routes/UserRoutes.ts +198 -0
- package/src/services/PermissionService.ts +26 -0
- package/src/services/RoleService.ts +46 -21
- package/src/services/UserService.ts +86 -28
- package/src/utils/AuthUtils.ts +22 -7
- package/src/utils/DbSetupUtils.ts +39 -0
- package/src/zod/RoleZod.ts +14 -0
- package/src/zod/UserZod.ts +26 -0
- package/test/data-json/roles/admin-role.json +1 -1
- package/test/data-obj/roles/{admin-role.ts → admin-mongo-role.ts} +2 -1
- package/test/data-obj/roles/admin-sqlite-role.ts +9 -0
- package/test/data-obj/roles/operator-sqlite-role.ts +9 -0
- package/test/data-obj/users/root-mongo-user.ts +15 -0
- package/test/data-obj/users/root-sqlite-user.ts +16 -0
- package/test/{initializers → db}/MongoInMemory.ts +2 -1
- package/test/initializers/RoleMongoInitializer.ts +15 -0
- package/test/initializers/RoleSqliteInitializer.ts +18 -0
- package/test/repository/{role-repository.test.ts → mongo/role-mongo-repository.test.ts} +14 -24
- package/test/repository/mongo/user-mongo-repository.test.ts +121 -0
- package/test/repository/sqlite/role-sqlite-repository.test.ts +70 -0
- package/test/repository/sqlite/user-sqlite-repository.test.ts +126 -0
- package/test/service/mock-service.test.ts +3 -3
- package/test/service/role-service.test.ts +5 -5
- package/test/service/user-service.test.ts +42 -15
- package/test.db +0 -0
- package/tsconfig.json +16 -3
- package/tsconfig.tsbuildinfo +1 -1
- package/types/errors/BadCredentialsError.d.ts +6 -0
- package/types/errors/BadCredentialsError.d.ts.map +1 -0
- package/types/errors/UnauthorizedError.d.ts +6 -0
- package/types/errors/UnauthorizedError.d.ts.map +1 -0
- package/types/factory/RoleServiceFactory.d.ts +2 -2
- package/types/factory/RoleServiceFactory.d.ts.map +1 -1
- package/types/factory/UserServiceFactory.d.ts +2 -2
- package/types/factory/UserServiceFactory.d.ts.map +1 -1
- package/types/graphql/resolvers/role.resolvers.d.ts +24 -7
- package/types/graphql/resolvers/role.resolvers.d.ts.map +1 -1
- package/types/graphql/resolvers/user.resolvers.d.ts +38 -7
- package/types/graphql/resolvers/user.resolvers.d.ts.map +1 -1
- package/types/i18n/messages/validation-i18n.d.ts +4 -0
- package/types/i18n/messages/validation-i18n.d.ts.map +1 -0
- package/types/index.d.ts +21 -5
- package/types/index.d.ts.map +1 -1
- package/types/interfaces/IID.d.ts +6 -0
- package/types/interfaces/IID.d.ts.map +1 -0
- package/types/interfaces/IJwtUser.d.ts +7 -0
- package/types/interfaces/IJwtUser.d.ts.map +1 -0
- package/types/interfaces/IRole.d.ts +13 -6
- package/types/interfaces/IRole.d.ts.map +1 -1
- package/types/interfaces/IRoleRepository.d.ts +8 -4
- package/types/interfaces/IRoleRepository.d.ts.map +1 -1
- package/types/interfaces/IUser.d.ts +29 -8
- package/types/interfaces/IUser.d.ts.map +1 -1
- package/types/interfaces/IUserGroup.d.ts +3 -2
- package/types/interfaces/IUserGroup.d.ts.map +1 -1
- package/types/interfaces/IUserRepository.d.ts +10 -6
- package/types/interfaces/IUserRepository.d.ts.map +1 -1
- package/types/middleware/jwtMiddleware.d.ts +4 -0
- package/types/middleware/jwtMiddleware.d.ts.map +1 -0
- package/types/middleware/rbacMiddleware.d.ts +4 -0
- package/types/middleware/rbacMiddleware.d.ts.map +1 -0
- package/types/models/RoleModel.d.ts +8 -8
- package/types/models/RoleModel.d.ts.map +1 -1
- package/types/models/UserGroupModel.d.ts +8 -8
- package/types/models/UserGroupModel.d.ts.map +1 -1
- package/types/models/UserModel.d.ts +8 -8
- package/types/models/UserModel.d.ts.map +1 -1
- package/types/permissions/IdentityPermissions.d.ts +16 -0
- package/types/permissions/IdentityPermissions.d.ts.map +1 -0
- package/types/rbac/Rbac.d.ts +12 -0
- package/types/rbac/Rbac.d.ts.map +1 -0
- package/types/repository/mongo/RoleMongoRepository.d.ts +14 -0
- package/types/repository/mongo/RoleMongoRepository.d.ts.map +1 -0
- package/types/repository/mongo/UserMongoRepository.d.ts +18 -0
- package/types/repository/mongo/UserMongoRepository.d.ts.map +1 -0
- package/types/repository/sqlite/RoleSqliteRepository.d.ts +19 -0
- package/types/repository/sqlite/RoleSqliteRepository.d.ts.map +1 -0
- package/types/repository/sqlite/UserSqliteRepository.d.ts +24 -0
- package/types/repository/sqlite/UserSqliteRepository.d.ts.map +1 -0
- package/types/routes/RoleRoutes.d.ts +4 -0
- package/types/routes/RoleRoutes.d.ts.map +1 -0
- package/types/routes/UserRoutes.d.ts +4 -0
- package/types/routes/UserRoutes.d.ts.map +1 -0
- package/types/routes/authRoutes.d.ts.map +1 -1
- package/types/services/AuthService.d.ts +0 -3
- package/types/services/AuthService.d.ts.map +1 -1
- package/types/services/PermissionService.d.ts +9 -0
- package/types/services/PermissionService.d.ts.map +1 -0
- package/types/services/RoleService.d.ts +6 -8
- package/types/services/RoleService.d.ts.map +1 -1
- package/types/services/UserService.d.ts +13 -11
- package/types/services/UserService.d.ts.map +1 -1
- package/types/utils/AuthUtils.d.ts +5 -2
- package/types/utils/AuthUtils.d.ts.map +1 -1
- package/types/utils/DbSetupUtils.d.ts +10 -0
- package/types/utils/DbSetupUtils.d.ts.map +1 -0
- package/types/zod/RoleZod.d.ts +10 -0
- package/types/zod/RoleZod.d.ts.map +1 -0
- package/types/zod/UserZod.d.ts +53 -0
- package/types/zod/UserZod.d.ts.map +1 -0
- package/dist/factory/AuthServiceFactory.js +0 -8
- package/dist/graphql/resolvers/auth.resolvers.js +0 -16
- package/dist/graphql/types/auth.graphql +0 -12
- package/dist/repository/RoleRepository.js +0 -29
- package/dist/repository/UserRepository.js +0 -33
- package/src/factory/AuthServiceFactory.ts +0 -10
- package/src/graphql/resolvers/auth.resolvers.ts +0 -20
- package/src/graphql/types/auth.graphql +0 -12
- package/src/repository/RoleRepository.ts +0 -42
- package/src/repository/UserRepository.ts +0 -47
- package/src/routes/authRoutes.ts +0 -22
- package/src/services/AuthService.ts +0 -29
- package/test/data-obj/users/root-user.ts +0 -15
- package/test/initializers/MongoInMemory.mjs +0 -34
- package/test/initializers/RoleInitializer.mjs +0 -11
- package/test/initializers/RoleInitializer.ts +0 -15
- package/test/repository/user-repository.test.ts +0 -54
- package/types/factory/AuthServiceFactory.d.ts +0 -4
- package/types/factory/AuthServiceFactory.d.ts.map +0 -1
- package/types/graphql/resolvers/auth.resolvers.d.ts +0 -12
- package/types/graphql/resolvers/auth.resolvers.d.ts.map +0 -1
- package/types/repository/RoleRepository.d.ts +0 -41
- package/types/repository/RoleRepository.d.ts.map +0 -1
- package/types/repository/UserRepository.d.ts +0 -40
- package/types/repository/UserRepository.d.ts.map +0 -1
- package/types/routes/AuthRoutes.d.ts +0 -3
- package/types/routes/AuthRoutes.d.ts.map +0 -1
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
/// <reference types="node" />
|
|
2
|
+
import { IUser, IUserCreate, IUserUpdate } from "../../interfaces/IUser";
|
|
3
|
+
import { UUID } from "crypto";
|
|
4
|
+
import { IUserRepository } from "../../interfaces/IUserRepository";
|
|
5
|
+
import type { IPaginateResult } from "@drax/common-back";
|
|
6
|
+
import { IID } from "../../interfaces/IID";
|
|
7
|
+
declare class UserSqliteRepository implements IUserRepository {
|
|
8
|
+
private db;
|
|
9
|
+
private roleRepository;
|
|
10
|
+
constructor(DATABASE: string, verbose?: boolean);
|
|
11
|
+
table(): void;
|
|
12
|
+
normalizeData(userData: IUserCreate | IUserUpdate): void;
|
|
13
|
+
create(userData: IUserCreate): Promise<IUser>;
|
|
14
|
+
update(id: UUID, userData: IUserUpdate): Promise<IUser>;
|
|
15
|
+
delete(id: UUID): Promise<boolean>;
|
|
16
|
+
deleteAll(): Promise<boolean>;
|
|
17
|
+
findById(id: UUID): Promise<IUser>;
|
|
18
|
+
findByUsername(username: string): Promise<IUser>;
|
|
19
|
+
paginate(page?: number, limit?: number, search?: string): Promise<IPaginateResult>;
|
|
20
|
+
findRoleById(id: IID): Promise<import("../..").IRole>;
|
|
21
|
+
changePassword(id: IID, password: string): Promise<boolean>;
|
|
22
|
+
}
|
|
23
|
+
export default UserSqliteRepository;
|
|
24
|
+
//# sourceMappingURL=UserSqliteRepository.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserSqliteRepository.d.ts","sourceRoot":"","sources":["../../../src/repository/sqlite/UserSqliteRepository.ts"],"names":[],"mappings":";AAAA,OAAO,EAAC,KAAK,EAAE,WAAW,EAAE,WAAW,EAAC,MAAM,wBAAwB,CAAC;AAGvE,OAAO,EAAC,IAAI,EAAC,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAC,eAAe,EAAC,MAAM,kCAAkC,CAAC;AACjE,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,mBAAmB,CAAC;AAGvD,OAAO,EAAC,GAAG,EAAC,MAAM,sBAAsB,CAAC;AAiCzC,cAAM,oBAAqB,YAAW,eAAe;IACjD,OAAO,CAAC,EAAE,CAAM;IAChB,OAAO,CAAC,cAAc,CAAuB;gBAEjC,QAAQ,EAAE,MAAM,EAAE,OAAO,GAAE,OAAe;IAMtD,KAAK;IAIL,aAAa,CAAC,QAAQ,EAAE,WAAW,GAAG,WAAW,GAAG,IAAI;IAOlD,MAAM,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC;IAmC7C,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC;IAsBvD,MAAM,CAAC,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC;IAMlC,SAAS,IAAI,OAAO,CAAC,OAAO,CAAC;IAM7B,QAAQ,CAAC,EAAE,EAAE,IAAI,GAAG,OAAO,CAAC,KAAK,CAAC;IASlC,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAShD,QAAQ,CAAC,IAAI,GAAE,MAAU,EAAE,KAAK,GAAE,MAAU,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IA+BxF,YAAY,CAAC,EAAE,EAAE,GAAG;IAIpB,cAAc,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;CAOpE;AAED,eAAe,oBAAoB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RoleRoutes.d.ts","sourceRoot":"","sources":["../../src/routes/RoleRoutes.ts"],"names":[],"mappings":"AASA,iBAAe,UAAU,CAAC,OAAO,KAAA,EAAE,OAAO,KAAA,iBAgIzC;AAED,eAAe,UAAU,CAAC;AAC1B,OAAO,EAAC,UAAU,EAAC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserRoutes.d.ts","sourceRoot":"","sources":["../../src/routes/UserRoutes.ts"],"names":[],"mappings":"AASA,iBAAe,UAAU,CAAC,OAAO,KAAA,EAAE,OAAO,KAAA,iBAyLzC;AAED,eAAe,UAAU,CAAC;AAC1B,OAAO,EAAC,UAAU,EAAC,CAAA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authRoutes.d.ts","sourceRoot":"","sources":["../../src/routes/authRoutes.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"authRoutes.d.ts","sourceRoot":"","sources":["../../src/routes/authRoutes.ts"],"names":[],"mappings":"AAKA,iBAAe,UAAU,CAAC,OAAO,KAAA,EAAE,OAAO,KAAA,iBAyBzC;AAED,eAAe,UAAU,CAAC;AAC1B,OAAO,EAAC,UAAU,EAAC,CAAA"}
|
|
@@ -2,9 +2,6 @@ import UserService from "./UserService.js";
|
|
|
2
2
|
declare class AuthService {
|
|
3
3
|
private _userService;
|
|
4
4
|
constructor(userService: UserService);
|
|
5
|
-
auth(username: string, password: string): Promise<{
|
|
6
|
-
accessToken: string;
|
|
7
|
-
}>;
|
|
8
5
|
}
|
|
9
6
|
export default AuthService;
|
|
10
7
|
//# sourceMappingURL=AuthService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthService.d.ts","sourceRoot":"","sources":["../../src/services/AuthService.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAE3C,cAAM,WAAW;IAEb,OAAO,CAAC,YAAY,CAAc;gBAEtB,WAAW,EAAG,WAAW;
|
|
1
|
+
{"version":3,"file":"AuthService.d.ts","sourceRoot":"","sources":["../../src/services/AuthService.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,kBAAkB,CAAC;AAE3C,cAAM,WAAW;IAEb,OAAO,CAAC,YAAY,CAAc;gBAEtB,WAAW,EAAG,WAAW;CAMxC;AAED,eAAe,WAAW,CAAA"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
declare class PermissionService {
|
|
2
|
+
static addPermission(permission: string): void;
|
|
3
|
+
static removePermission(permission: string): void;
|
|
4
|
+
static hasPermission(permission: string): boolean;
|
|
5
|
+
static getPermissions(): string[];
|
|
6
|
+
}
|
|
7
|
+
export default PermissionService;
|
|
8
|
+
export { PermissionService };
|
|
9
|
+
//# sourceMappingURL=PermissionService.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PermissionService.d.ts","sourceRoot":"","sources":["../../src/services/PermissionService.ts"],"names":[],"mappings":"AAEA,cAAM,iBAAiB;IAEnB,MAAM,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM;IAKvC,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE,MAAM;IAI1C,MAAM,CAAC,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO;IAIjD,MAAM,CAAC,cAAc,IAAI,MAAM,EAAE;CAIpC;AAGD,eAAe,iBAAiB,CAAA;AAChC,OAAO,EAAC,iBAAiB,EAAC,CAAA"}
|
|
@@ -1,17 +1,15 @@
|
|
|
1
1
|
import { IRole } from "../interfaces/IRole";
|
|
2
2
|
import { IRoleRepository } from "../interfaces/IRoleRepository";
|
|
3
|
-
import { IPaginateFilter } from "@drax/common-back";
|
|
3
|
+
import { IPaginateFilter, IPaginateResult } from "@drax/common-back";
|
|
4
4
|
declare class RoleService {
|
|
5
5
|
_repository: IRoleRepository;
|
|
6
6
|
constructor(roleRepostitory: IRoleRepository);
|
|
7
7
|
create(roleData: IRole): Promise<IRole>;
|
|
8
|
-
update(
|
|
9
|
-
delete(
|
|
10
|
-
findById(
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
totalCount: number;
|
|
14
|
-
}>;
|
|
8
|
+
update(id: any, roleData: IRole): Promise<IRole>;
|
|
9
|
+
delete(id: any): Promise<boolean>;
|
|
10
|
+
findById(id: any): Promise<IRole | null>;
|
|
11
|
+
fetchAll(): Promise<IRole[]>;
|
|
12
|
+
paginate(page?: number, limit?: number, search?: string, filters?: IPaginateFilter[]): Promise<IPaginateResult>;
|
|
15
13
|
}
|
|
16
14
|
export default RoleService;
|
|
17
15
|
//# sourceMappingURL=RoleService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RoleService.d.ts","sourceRoot":"","sources":["../../src/services/RoleService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EAAC,eAAe,EAAC,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,eAAe,
|
|
1
|
+
{"version":3,"file":"RoleService.d.ts","sourceRoot":"","sources":["../../src/services/RoleService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,EAAC,MAAM,qBAAqB,CAAC;AAC1C,OAAO,EAAC,eAAe,EAAC,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAC,eAAe,EAAE,eAAe,EAA6C,MAAM,mBAAmB,CAAA;AAK9G,cAAM,WAAW;IAEb,WAAW,EAAE,eAAe,CAAA;gBAEhB,eAAe,EAAE,eAAe;IAKtC,MAAM,CAAC,QAAQ,EAAE,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAcvC,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,KAAK;IAkB/B,MAAM,CAAC,EAAE,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IASjC,QAAQ,CAAC,EAAE,EAAE,GAAG,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAKxC,QAAQ,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;IAK5B,QAAQ,CAAC,IAAI,GAAE,MAAU,EAAE,KAAK,GAAE,MAAU,EAAE,MAAM,CAAC,EAAC,MAAM,EAAE,OAAQ,CAAC,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC;CAM9H;AAED,eAAe,WAAW,CAAA"}
|
|
@@ -1,18 +1,20 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
1
|
+
import type { IUser, IUserCreate, IUserUpdate } from "../interfaces/IUser";
|
|
2
|
+
import type { IUserRepository } from "../interfaces/IUserRepository";
|
|
3
|
+
import type { IPaginateFilter, IPaginateResult } from "@drax/common-back";
|
|
4
4
|
declare class UserService {
|
|
5
5
|
_repository: IUserRepository;
|
|
6
6
|
constructor(userRepository: IUserRepository);
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
delete(_id: any): Promise<boolean>;
|
|
10
|
-
findById(_id: any): Promise<IUser | null>;
|
|
11
|
-
findByUsername(username: string): Promise<IUser | null>;
|
|
12
|
-
paginate(filters?: IPaginateFilter, page?: number, limit?: number): Promise<{
|
|
13
|
-
roles: IUser[];
|
|
14
|
-
totalCount: number;
|
|
7
|
+
auth(username: string, password: string): Promise<{
|
|
8
|
+
accessToken: string;
|
|
15
9
|
}>;
|
|
10
|
+
changeUserPassword(userId: string, newPassword: string): Promise<boolean>;
|
|
11
|
+
changeOwnPassword(userId: string, currentPassword: string, newPassword: string): Promise<boolean>;
|
|
12
|
+
create(userData: IUserCreate): Promise<IUser>;
|
|
13
|
+
update(id: any, userData: IUserUpdate): Promise<IUser>;
|
|
14
|
+
delete(id: any): Promise<boolean>;
|
|
15
|
+
findById(id: any): Promise<IUser>;
|
|
16
|
+
findByUsername(username: string): Promise<IUser | null>;
|
|
17
|
+
paginate(page?: number, limit?: number, search?: string, filters?: IPaginateFilter[]): Promise<IPaginateResult>;
|
|
16
18
|
}
|
|
17
19
|
export default UserService;
|
|
18
20
|
//# sourceMappingURL=UserService.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserService.d.ts","sourceRoot":"","sources":["../../src/services/UserService.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"UserService.d.ts","sourceRoot":"","sources":["../../src/services/UserService.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,KAAK,EAAE,WAAW,EAAE,WAAW,EAAC,MAAM,qBAAqB,CAAC;AACzE,OAAO,KAAK,EAAC,eAAe,EAAC,MAAM,+BAA+B,CAAC;AACnE,OAAO,KAAK,EAAC,eAAe,EAAE,eAAe,EAAC,MAAM,mBAAmB,CAAA;AAOvE,cAAM,WAAW;IAEb,WAAW,EAAE,eAAe,CAAA;gBAEhB,cAAc,EAAE,eAAe;IAKrC,IAAI,CAAC,QAAQ,EAAG,MAAM,EAAE,QAAQ,EAAG,MAAM;;;IAczC,kBAAkB,CAAC,MAAM,EAAG,MAAM,EAAE,WAAW,EAAG,MAAM;IAYxD,iBAAiB,CAAC,MAAM,EAAG,MAAM,EAAE,eAAe,EAAG,MAAM,EAAE,WAAW,EAAG,MAAM;IAiBjF,MAAM,CAAC,QAAQ,EAAE,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC;IAsB7C,MAAM,CAAC,EAAE,EAAE,GAAG,EAAE,QAAQ,EAAE,WAAW;IAmBrC,MAAM,CAAC,EAAE,EAAE,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC;IAKjC,QAAQ,CAAC,EAAE,EAAE,GAAG,GAAG,OAAO,CAAC,KAAK,CAAC;IAKjC,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,GAAG,IAAI,CAAC;IAKvD,QAAQ,CAAE,IAAI,GAAG,MAAU,EAAE,KAAK,GAAG,MAAW,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,OAAQ,CAAC,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC;CAKnI;AAED,eAAe,WAAW,CAAA"}
|
|
@@ -1,12 +1,15 @@
|
|
|
1
|
+
import jsonwebtoken from "jsonwebtoken";
|
|
1
2
|
declare class AuthUtils {
|
|
3
|
+
static verifyToken(token: string): string | jsonwebtoken.Jwt | jsonwebtoken.JwtPayload;
|
|
2
4
|
static hashPassword(password: string): string;
|
|
3
5
|
static checkPassword(password: string, hashPassword: string): boolean;
|
|
4
|
-
static tokenSignPayload(userId: string, username: string, session: string): {
|
|
6
|
+
static tokenSignPayload(userId: string, username: string, roleId: string, session: string): {
|
|
5
7
|
id: string;
|
|
6
8
|
username: string;
|
|
9
|
+
roleId: string;
|
|
7
10
|
session: string;
|
|
8
11
|
};
|
|
9
|
-
static generateToken(userId: string, username: string, session: string): string;
|
|
12
|
+
static generateToken(userId: string, username: string, roleId: string, session: string): string;
|
|
10
13
|
}
|
|
11
14
|
export default AuthUtils;
|
|
12
15
|
//# sourceMappingURL=AuthUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AuthUtils.d.ts","sourceRoot":"","sources":["../../src/utils/AuthUtils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AuthUtils.d.ts","sourceRoot":"","sources":["../../src/utils/AuthUtils.ts"],"names":[],"mappings":"AACA,OAAO,YAA0C,MAAM,cAAc,CAAC;AAEtE,cAAM,SAAS;IAEX,MAAM,CAAC,WAAW,CAAC,KAAK,EAAG,MAAM;IAWjC,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAG,MAAM,GAAG,MAAM;IAU9C,MAAM,CAAC,aAAa,CAAC,QAAQ,EAAG,MAAM,EAAE,YAAY,EAAG,MAAM;IAI7D,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAG,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAG,MAAM;;;;;;IAS3F,MAAM,CAAC,aAAa,CAAC,MAAM,EAAG,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAG,OAAO,EAAG,MAAM;CAwB5F;AAED,eAAe,SAAS,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DbSetupUtils.d.ts","sourceRoot":"","sources":["../../src/utils/DbSetupUtils.ts"],"names":[],"mappings":"AACA,aAAK,QAAQ;IACT,MAAM,WAAW;IACjB,KAAK,UAAU;CAClB;AAGD,cAAM,YAAY;IAGd,MAAM,CAAC,WAAW;IAWlB,MAAM,CAAC,QAAQ;CAWlB;AAGD,OAAO,EACH,QAAQ,EACR,YAAY,EACf,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
declare const roleSchema: import("zod").ZodObject<{
|
|
2
|
+
name: import("zod").ZodString;
|
|
3
|
+
}, "strip", import("zod").ZodTypeAny, {
|
|
4
|
+
name?: string;
|
|
5
|
+
}, {
|
|
6
|
+
name?: string;
|
|
7
|
+
}>;
|
|
8
|
+
export default roleSchema;
|
|
9
|
+
export { roleSchema };
|
|
10
|
+
//# sourceMappingURL=RoleZod.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"RoleZod.d.ts","sourceRoot":"","sources":["../../src/zod/RoleZod.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,UAAU;;;;;;EAMd,CAAA;AAGF,eAAe,UAAU,CAAA;AAEzB,OAAO,EAAC,UAAU,EAAC,CAAA"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
export declare const userBaseSchema: import("zod").ZodObject<{
|
|
2
|
+
name: import("zod").ZodString;
|
|
3
|
+
username: import("zod").ZodString;
|
|
4
|
+
email: import("zod").ZodString;
|
|
5
|
+
role: import("zod").ZodString;
|
|
6
|
+
}, "strip", import("zod").ZodTypeAny, {
|
|
7
|
+
name?: string;
|
|
8
|
+
username?: string;
|
|
9
|
+
email?: string;
|
|
10
|
+
role?: string;
|
|
11
|
+
}, {
|
|
12
|
+
name?: string;
|
|
13
|
+
username?: string;
|
|
14
|
+
email?: string;
|
|
15
|
+
role?: string;
|
|
16
|
+
}>;
|
|
17
|
+
export declare const createUserSchema: import("zod").ZodObject<import("zod").objectUtil.extendShape<{
|
|
18
|
+
name: import("zod").ZodString;
|
|
19
|
+
username: import("zod").ZodString;
|
|
20
|
+
email: import("zod").ZodString;
|
|
21
|
+
role: import("zod").ZodString;
|
|
22
|
+
}, {
|
|
23
|
+
password: import("zod").ZodString;
|
|
24
|
+
}>, "strip", import("zod").ZodTypeAny, {
|
|
25
|
+
name?: string;
|
|
26
|
+
username?: string;
|
|
27
|
+
email?: string;
|
|
28
|
+
password?: string;
|
|
29
|
+
role?: string;
|
|
30
|
+
}, {
|
|
31
|
+
name?: string;
|
|
32
|
+
username?: string;
|
|
33
|
+
email?: string;
|
|
34
|
+
password?: string;
|
|
35
|
+
role?: string;
|
|
36
|
+
}>;
|
|
37
|
+
export declare const editUserSchema: import("zod").ZodObject<import("zod").objectUtil.extendShape<{
|
|
38
|
+
name: import("zod").ZodString;
|
|
39
|
+
username: import("zod").ZodString;
|
|
40
|
+
email: import("zod").ZodString;
|
|
41
|
+
role: import("zod").ZodString;
|
|
42
|
+
}, {}>, "strip", import("zod").ZodTypeAny, {
|
|
43
|
+
name?: string;
|
|
44
|
+
username?: string;
|
|
45
|
+
email?: string;
|
|
46
|
+
role?: string;
|
|
47
|
+
}, {
|
|
48
|
+
name?: string;
|
|
49
|
+
username?: string;
|
|
50
|
+
email?: string;
|
|
51
|
+
role?: string;
|
|
52
|
+
}>;
|
|
53
|
+
//# sourceMappingURL=UserZod.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UserZod.d.ts","sourceRoot":"","sources":["../../src/zod/UserZod.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;EAUzB,CAAA;AAEF,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;;;EAK3B,CAAC;AAGH,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;EAEzB,CAAC"}
|
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import AuthService from "../services/AuthService.js";
|
|
2
|
-
import UserServiceFactory from "./UserServiceFactory.js";
|
|
3
|
-
const AuthServiceFactory = () => {
|
|
4
|
-
const userService = UserServiceFactory();
|
|
5
|
-
const authService = new AuthService(userService);
|
|
6
|
-
return authService;
|
|
7
|
-
};
|
|
8
|
-
export default AuthServiceFactory;
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import AuthServiceFactory from "../../factory/AuthServiceFactory.js";
|
|
2
|
-
const authService = AuthServiceFactory();
|
|
3
|
-
export default {
|
|
4
|
-
Query: {},
|
|
5
|
-
Mutation: {
|
|
6
|
-
auth: async (_, { input }) => {
|
|
7
|
-
try {
|
|
8
|
-
return await authService.auth(input.username, input.password);
|
|
9
|
-
}
|
|
10
|
-
catch (e) {
|
|
11
|
-
console.log(e);
|
|
12
|
-
throw e;
|
|
13
|
-
}
|
|
14
|
-
},
|
|
15
|
-
}
|
|
16
|
-
};
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { RoleModel } from "../models/RoleModel.js";
|
|
2
|
-
class RoleRepository {
|
|
3
|
-
async create(roleData) {
|
|
4
|
-
const role = new RoleModel(roleData);
|
|
5
|
-
await role.save();
|
|
6
|
-
return role;
|
|
7
|
-
}
|
|
8
|
-
async update(_id, roleData) {
|
|
9
|
-
const role = await RoleModel.findOneAndUpdate(_id, roleData, { new: true }).exec();
|
|
10
|
-
return role;
|
|
11
|
-
}
|
|
12
|
-
async delete(_id) {
|
|
13
|
-
const result = await RoleModel.deleteOne(_id).exec();
|
|
14
|
-
return result.deletedCount == 1;
|
|
15
|
-
}
|
|
16
|
-
async findById(_id) {
|
|
17
|
-
const role = await RoleModel.findById(_id).exec();
|
|
18
|
-
return role;
|
|
19
|
-
}
|
|
20
|
-
async fetch() {
|
|
21
|
-
const roles = await RoleModel.find().exec();
|
|
22
|
-
return roles;
|
|
23
|
-
}
|
|
24
|
-
async paginate(query, options) {
|
|
25
|
-
const roles = await RoleModel.paginate(query, options);
|
|
26
|
-
return roles;
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
export default RoleRepository;
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { UserModel } from "../models/UserModel.js";
|
|
2
|
-
class UserRepository {
|
|
3
|
-
async create(userData) {
|
|
4
|
-
const user = new UserModel(userData);
|
|
5
|
-
await user.save();
|
|
6
|
-
await user.populate('role');
|
|
7
|
-
return user;
|
|
8
|
-
}
|
|
9
|
-
async update(_id, userData) {
|
|
10
|
-
const user = await UserModel.findOneAndUpdate(_id, userData).populate('role').exec();
|
|
11
|
-
return user;
|
|
12
|
-
}
|
|
13
|
-
async delete(_id) {
|
|
14
|
-
const result = await UserModel.deleteOne(_id).exec();
|
|
15
|
-
return result.deletedCount == 1;
|
|
16
|
-
}
|
|
17
|
-
async findById(_id) {
|
|
18
|
-
console.log("_id", _id);
|
|
19
|
-
const user = await UserModel.findById(_id).populate('role').exec();
|
|
20
|
-
console.log("user", user);
|
|
21
|
-
return user;
|
|
22
|
-
}
|
|
23
|
-
async findByUsername(username) {
|
|
24
|
-
const user = await UserModel.findOne({ username: username }).populate('role').exec();
|
|
25
|
-
return user;
|
|
26
|
-
}
|
|
27
|
-
async paginate(query, options) {
|
|
28
|
-
options.populate = ['role'];
|
|
29
|
-
const userPaginated = await UserModel.paginate(query, options);
|
|
30
|
-
return userPaginated;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
export default UserRepository;
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import AuthService from "../services/AuthService.js";
|
|
2
|
-
import UserServiceFactory from "./UserServiceFactory.js";
|
|
3
|
-
|
|
4
|
-
const AuthServiceFactory = () : AuthService => {
|
|
5
|
-
const userService = UserServiceFactory()
|
|
6
|
-
const authService = new AuthService(userService)
|
|
7
|
-
return authService
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
export default AuthServiceFactory
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import AuthServiceFactory from "../../factory/AuthServiceFactory.js";
|
|
2
|
-
|
|
3
|
-
const authService = AuthServiceFactory()
|
|
4
|
-
export default {
|
|
5
|
-
Query: {
|
|
6
|
-
|
|
7
|
-
},
|
|
8
|
-
Mutation: {
|
|
9
|
-
auth: async (_,{input}) => {
|
|
10
|
-
try{
|
|
11
|
-
return await authService.auth(input.username, input.password)
|
|
12
|
-
}catch (e) {
|
|
13
|
-
console.log(e)
|
|
14
|
-
throw e
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
},
|
|
18
|
-
|
|
19
|
-
}
|
|
20
|
-
}
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
import {RoleModel} from "../models/RoleModel.js";
|
|
2
|
-
import {IRole} from '../interfaces/IRole'
|
|
3
|
-
import {IRoleRepository} from '../interfaces/IRoleRepository'
|
|
4
|
-
import {mongoose} from "@drax/common-back";
|
|
5
|
-
import {FilterQuery, PaginateOptions, PaginateResult} from "mongoose";
|
|
6
|
-
import {DeleteResult} from "mongodb";
|
|
7
|
-
|
|
8
|
-
class RoleRepository implements IRoleRepository{
|
|
9
|
-
|
|
10
|
-
async create(roleData: IRole): Promise<IRole> {
|
|
11
|
-
const role : mongoose.HydratedDocument<IRole> = new RoleModel(roleData)
|
|
12
|
-
await role.save()
|
|
13
|
-
return role
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
async update(_id: mongoose.Types.ObjectId, roleData: IRole): Promise<IRole> {
|
|
17
|
-
const role : mongoose.HydratedDocument<IRole> = await RoleModel.findOneAndUpdate(_id, roleData, {new: true}).exec()
|
|
18
|
-
return role
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
async delete(_id: mongoose.Types.ObjectId): Promise<boolean> {
|
|
22
|
-
const result : DeleteResult = await RoleModel.deleteOne(_id).exec()
|
|
23
|
-
return result.deletedCount == 1
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
async findById(_id: mongoose.Types.ObjectId): Promise<IRole | null>{
|
|
27
|
-
const role: mongoose.HydratedDocument<IRole> | null = await RoleModel.findById(_id).exec()
|
|
28
|
-
return role
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
async fetch(): Promise<IRole[]>{
|
|
32
|
-
const roles: mongoose.HydratedDocument<IRole>[] = await RoleModel.find().exec()
|
|
33
|
-
return roles
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
async paginate(query ?: FilterQuery<IRole>, options ?: PaginateOptions): Promise<PaginateResult<IRole>>{
|
|
37
|
-
const roles: PaginateResult<IRole> = await RoleModel.paginate(query, options)
|
|
38
|
-
return roles
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
export default RoleRepository
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import {UserModel} from "../models/UserModel.js";
|
|
2
|
-
import {mongoose} from "@drax/common-back"
|
|
3
|
-
import {FilterQuery, PaginateOptions, PaginateResult} from "mongoose";
|
|
4
|
-
import {IUser} from "../interfaces/IUser";
|
|
5
|
-
import {DeleteResult} from "mongodb";
|
|
6
|
-
|
|
7
|
-
class UserRepository {
|
|
8
|
-
|
|
9
|
-
async create(userData: IUser): Promise<IUser> {
|
|
10
|
-
const user: mongoose.HydratedDocument<IUser> = new UserModel(userData)
|
|
11
|
-
await user.save()
|
|
12
|
-
await user.populate('role')
|
|
13
|
-
return user
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
async update(_id: mongoose.Types.ObjectId, userData: IUser): Promise<IUser> {
|
|
17
|
-
const user: mongoose.HydratedDocument<IUser> = await UserModel.findOneAndUpdate(_id, userData).populate('role').exec()
|
|
18
|
-
return user
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
async delete(_id: mongoose.Types.ObjectId): Promise<boolean> {
|
|
22
|
-
const result: DeleteResult = await UserModel.deleteOne(_id).exec()
|
|
23
|
-
return result.deletedCount == 1
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
async findById(_id: mongoose.Types.ObjectId): Promise<IUser> {
|
|
27
|
-
console.log("_id",_id)
|
|
28
|
-
const user: mongoose.HydratedDocument<IUser> = await UserModel.findById(_id).populate('role').exec()
|
|
29
|
-
console.log("user",user)
|
|
30
|
-
return user
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
async findByUsername(username: string): Promise<IUser> {
|
|
34
|
-
const user: mongoose.HydratedDocument<IUser> = await UserModel.findOne({username: username}).populate('role').exec()
|
|
35
|
-
return user
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
async paginate(query ?: FilterQuery<IUser>, options ?: PaginateOptions): Promise<PaginateResult<IUser>> {
|
|
39
|
-
|
|
40
|
-
options.populate = ['role']
|
|
41
|
-
|
|
42
|
-
const userPaginated: PaginateResult<IUser> = await UserModel.paginate(query, options)
|
|
43
|
-
return userPaginated
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
export default UserRepository
|
package/src/routes/authRoutes.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import AuthServiceFactory from "../factory/AuthServiceFactory.js";
|
|
2
|
-
|
|
3
|
-
const authService = AuthServiceFactory()
|
|
4
|
-
async function authRoutes (fastify, options) {
|
|
5
|
-
fastify.post('/api/auth', async (request, reply) => {
|
|
6
|
-
try{
|
|
7
|
-
const username = request.body.username
|
|
8
|
-
const password = request.body.password
|
|
9
|
-
return await authService.auth(username, password)
|
|
10
|
-
}catch (e) {
|
|
11
|
-
if(e.message === "BadCredentials"){
|
|
12
|
-
reply.code(401)
|
|
13
|
-
reply.send({error: e.message})
|
|
14
|
-
}
|
|
15
|
-
console.log(e)
|
|
16
|
-
throw e
|
|
17
|
-
}
|
|
18
|
-
})
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
export default authRoutes;
|
|
22
|
-
export {authRoutes}
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import UserService from "./UserService.js";
|
|
2
|
-
import AuthUtils from "../utils/AuthUtils.js";
|
|
3
|
-
class AuthService {
|
|
4
|
-
|
|
5
|
-
private _userService: UserService;
|
|
6
|
-
|
|
7
|
-
constructor(userService : UserService) {
|
|
8
|
-
this._userService = userService
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
async auth(username : string, password : string){
|
|
13
|
-
let user = null
|
|
14
|
-
|
|
15
|
-
user = await this._userService.findByUsername(username)
|
|
16
|
-
|
|
17
|
-
//Si obtuve usuario chequeo la password
|
|
18
|
-
if (user && AuthUtils.checkPassword(password, user.password)) {
|
|
19
|
-
//TODO: Generar Sesion
|
|
20
|
-
const session = '123'
|
|
21
|
-
const accessToken = AuthUtils.generateToken(user._id.toString(), user.username, session)
|
|
22
|
-
return {accessToken: accessToken}
|
|
23
|
-
}else{
|
|
24
|
-
throw Error('BadCredentials')
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
export default AuthService
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import {mongoose} from "@drax/common-back"
|
|
2
|
-
import {IUser} from "../../../src/interfaces/IUser"
|
|
3
|
-
|
|
4
|
-
const user: IUser = {
|
|
5
|
-
_id: new mongoose.Types.ObjectId("646a661e44c93567c23d8d61"),
|
|
6
|
-
active: false,
|
|
7
|
-
groups: [],
|
|
8
|
-
username: "root",
|
|
9
|
-
email: "root@example.com",
|
|
10
|
-
password: "123",
|
|
11
|
-
name: "root",
|
|
12
|
-
role: new mongoose.Types.ObjectId("646a661e44c93567c23d8d62")
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
export default user
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import { mongoose } from '@drax/common-back';
|
|
2
|
-
import { MongoMemoryServer } from 'mongodb-memory-server';
|
|
3
|
-
const mongoServer = await MongoMemoryServer.create();
|
|
4
|
-
class MongoInMemory {
|
|
5
|
-
static async connect() {
|
|
6
|
-
if (mongoServer.state == "new") {
|
|
7
|
-
await mongoServer.start();
|
|
8
|
-
}
|
|
9
|
-
if (!mongoose.connection.readyState) {
|
|
10
|
-
await mongoose.connect(mongoServer.getUri(), { dbName: "verifyMASTER" });
|
|
11
|
-
}
|
|
12
|
-
return;
|
|
13
|
-
}
|
|
14
|
-
static get mongooseStatus() {
|
|
15
|
-
return mongoose.connection.readyState;
|
|
16
|
-
}
|
|
17
|
-
static get serverStatus() {
|
|
18
|
-
return mongoServer.state;
|
|
19
|
-
}
|
|
20
|
-
static get status() {
|
|
21
|
-
return mongoose.connection.readyState;
|
|
22
|
-
}
|
|
23
|
-
static async disconnect() {
|
|
24
|
-
await mongoose.disconnect();
|
|
25
|
-
}
|
|
26
|
-
static async DropAndClose() {
|
|
27
|
-
if (mongoServer) {
|
|
28
|
-
await mongoose.connection.dropDatabase();
|
|
29
|
-
await mongoose.connection.close();
|
|
30
|
-
await mongoServer.stop();
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
export default MongoInMemory;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import RoleService from "../../src/services/RoleService.mjs";
|
|
2
|
-
import RoleRepository from "../../src/repository/RoleRepository.mjs";
|
|
3
|
-
class RoleInitializer {
|
|
4
|
-
static async initAdminRole() {
|
|
5
|
-
const roleService = new RoleService(new RoleRepository());
|
|
6
|
-
let roleData = (await import("../data-obj/roles/admin-role.mjs")).default;
|
|
7
|
-
let roleCreated = await roleService.create(roleData);
|
|
8
|
-
return roleCreated;
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
export default RoleInitializer;
|