@drax/identity-back 0.0.22 → 0.0.25
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/factory/RoleServiceFactory.js +0 -1
- package/dist/factory/TenantServiceFactory.js +0 -1
- package/dist/factory/UserServiceFactory.js +0 -1
- package/dist/graphql/resolvers/role.resolvers.js +2 -2
- package/dist/graphql/resolvers/tenant.resolvers.js +2 -2
- package/dist/graphql/resolvers/user.resolvers.js +2 -2
- package/dist/graphql/types/role.graphql +1 -1
- package/dist/graphql/types/tenant.graphql +1 -1
- package/dist/graphql/types/user.graphql +1 -1
- package/dist/models/UserModel.js +0 -1
- package/dist/repository/mongo/RoleMongoRepository.js +1 -1
- package/dist/repository/mongo/TenantMongoRepository.js +1 -1
- package/dist/repository/mongo/UserMongoRepository.js +1 -1
- package/dist/repository/sqlite/RoleSqliteRepository.js +33 -33
- package/dist/repository/sqlite/TenantSqliteRepository.js +1 -1
- package/dist/repository/sqlite/UserSqliteRepository.js +1 -1
- package/dist/routes/RoleRoutes.js +3 -1
- package/dist/routes/TenantRoutes.js +3 -1
- package/dist/routes/UserRoutes.js +3 -1
- package/dist/services/RoleService.js +2 -2
- package/dist/services/TenantService.js +2 -2
- package/dist/services/UserService.js +2 -2
- package/package.json +5 -2
- package/src/factory/RoleServiceFactory.ts +0 -1
- package/src/factory/TenantServiceFactory.ts +0 -1
- package/src/factory/UserServiceFactory.ts +0 -1
- package/src/graphql/resolvers/role.resolvers.ts +2 -2
- package/src/graphql/resolvers/tenant.resolvers.ts +2 -2
- package/src/graphql/resolvers/user.resolvers.ts +2 -2
- package/src/graphql/types/role.graphql +1 -1
- package/src/graphql/types/tenant.graphql +1 -1
- package/src/graphql/types/user.graphql +1 -1
- package/src/index.ts +6 -9
- package/src/interfaces/IRoleRepository.ts +5 -10
- package/src/interfaces/ITenantRepository.ts +4 -10
- package/src/interfaces/IUserRepository.ts +6 -12
- package/src/middleware/jwtMiddleware.ts +1 -1
- package/src/middleware/rbacMiddleware.ts +1 -2
- package/src/models/RoleModel.ts +1 -1
- package/src/models/TenantModel.ts +1 -1
- package/src/models/UserGroupModel.ts +1 -1
- package/src/models/UserModel.ts +1 -2
- package/src/rbac/Rbac.ts +1 -2
- package/src/repository/mongo/RoleMongoRepository.ts +14 -8
- package/src/repository/mongo/TenantMongoRepository.ts +14 -7
- package/src/repository/mongo/UserMongoRepository.ts +14 -9
- package/src/repository/sqlite/RoleSqliteRepository.ts +53 -44
- package/src/repository/sqlite/TenantSqliteRepository.ts +13 -8
- package/src/repository/sqlite/UserSqliteRepository.ts +15 -10
- package/src/routes/RoleRoutes.ts +7 -4
- package/src/routes/TenantRoutes.ts +7 -5
- package/src/routes/UserRoutes.ts +7 -4
- package/src/services/RoleService.ts +15 -8
- package/src/services/TenantService.ts +15 -9
- package/src/services/UserService.ts +13 -7
- package/src/setup/CreateOrUpdateRole.ts +2 -2
- package/src/setup/CreateUserIfNotExist.ts +1 -1
- package/test/data-obj/roles/admin-mongo-role.ts +1 -1
- package/test/initializers/RoleMongoInitializer.ts +1 -1
- package/test/initializers/RoleSqliteInitializer.ts +1 -1
- package/test/repository/mongo/role-mongo-repository.test.ts +1 -1
- package/test/repository/mongo/user-mongo-repository.test.ts +1 -1
- package/test/repository/sqlite/role-sqlite-repository.test.ts +1 -1
- package/test/repository/sqlite/user-sqlite-repository.test.ts +2 -2
- package/test/service/mock-service.test.ts +2 -2
- package/test/service/role-service.test.ts +2 -2
- package/test/service/user-service.test.ts +3 -3
- package/tsconfig.tsbuildinfo +1 -1
- package/types/factory/RoleServiceFactory.d.ts.map +1 -1
- package/types/factory/TenantServiceFactory.d.ts.map +1 -1
- package/types/factory/UserServiceFactory.d.ts.map +1 -1
- package/types/graphql/resolvers/role.resolvers.d.ts +10 -8
- package/types/graphql/resolvers/role.resolvers.d.ts.map +1 -1
- package/types/graphql/resolvers/tenant.resolvers.d.ts +10 -8
- package/types/graphql/resolvers/tenant.resolvers.d.ts.map +1 -1
- package/types/graphql/resolvers/user.resolvers.d.ts +8 -6
- package/types/graphql/resolvers/user.resolvers.d.ts.map +1 -1
- package/types/index.d.ts +3 -5
- package/types/index.d.ts.map +1 -1
- package/types/interfaces/IRoleRepository.d.ts +4 -10
- package/types/interfaces/IRoleRepository.d.ts.map +1 -1
- package/types/interfaces/ITenantRepository.d.ts +4 -10
- package/types/interfaces/ITenantRepository.d.ts.map +1 -1
- package/types/interfaces/IUserRepository.d.ts +5 -11
- package/types/interfaces/IUserRepository.d.ts.map +1 -1
- package/types/middleware/rbacMiddleware.d.ts.map +1 -1
- package/types/models/RoleModel.d.ts +1 -1
- package/types/models/RoleModel.d.ts.map +1 -1
- package/types/models/TenantModel.d.ts +1 -1
- package/types/models/TenantModel.d.ts.map +1 -1
- package/types/models/UserGroupModel.d.ts +1 -1
- package/types/models/UserGroupModel.d.ts.map +1 -1
- package/types/models/UserModel.d.ts +1 -1
- package/types/models/UserModel.d.ts.map +1 -1
- package/types/rbac/Rbac.d.ts +1 -2
- package/types/rbac/Rbac.d.ts.map +1 -1
- package/types/repository/mongo/RoleMongoRepository.d.ts +7 -8
- package/types/repository/mongo/RoleMongoRepository.d.ts.map +1 -1
- package/types/repository/mongo/TenantMongoRepository.d.ts +7 -8
- package/types/repository/mongo/TenantMongoRepository.d.ts.map +1 -1
- package/types/repository/mongo/UserMongoRepository.d.ts +7 -9
- package/types/repository/mongo/UserMongoRepository.d.ts.map +1 -1
- package/types/repository/sqlite/RoleSqliteRepository.d.ts +10 -11
- package/types/repository/sqlite/RoleSqliteRepository.d.ts.map +1 -1
- package/types/repository/sqlite/TenantSqliteRepository.d.ts +7 -8
- package/types/repository/sqlite/TenantSqliteRepository.d.ts.map +1 -1
- package/types/repository/sqlite/UserSqliteRepository.d.ts +9 -12
- package/types/repository/sqlite/UserSqliteRepository.d.ts.map +1 -1
- package/types/routes/RoleRoutes.d.ts.map +1 -1
- package/types/routes/TenantRoutes.d.ts.map +1 -1
- package/types/routes/UserRoutes.d.ts.map +1 -1
- package/types/services/RoleService.d.ts +7 -7
- package/types/services/RoleService.d.ts.map +1 -1
- package/types/services/TenantService.d.ts +7 -7
- package/types/services/TenantService.d.ts.map +1 -1
- package/types/services/UserService.d.ts +6 -6
- package/types/services/UserService.d.ts.map +1 -1
- package/types/setup/CreateOrUpdateRole.d.ts +2 -2
- package/types/setup/CreateOrUpdateRole.d.ts.map +1 -1
- package/types/setup/CreateUserIfNotExist.d.ts +1 -1
- package/types/setup/CreateUserIfNotExist.d.ts.map +1 -1
- package/src/interfaces/IID.ts +0 -5
- package/src/interfaces/IJwtUser.ts +0 -7
- package/src/interfaces/IRole.ts +0 -21
- package/src/interfaces/ITenant.ts +0 -9
- package/src/interfaces/IUser.ts +0 -48
- package/src/interfaces/IUserGroup.ts +0 -11
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {ITenant} from "../interfaces/ITenant";
|
|
2
1
|
import {ITenantRepository} from "../interfaces/ITenantRepository";
|
|
3
|
-
import {
|
|
2
|
+
import {ValidationError, ZodErrorToValidationError} from "@drax/common-back"
|
|
4
3
|
import {tenantSchema} from "../zod/TenantZod.js";
|
|
5
4
|
import {ZodError} from "zod";
|
|
6
|
-
import
|
|
5
|
+
import {ITenantBase, ITenant} from "@drax/identity-share";
|
|
6
|
+
import {IDraxPaginateOptions, IDraxPaginateResult} from "@drax/common-share";
|
|
7
7
|
|
|
8
8
|
class TenantService {
|
|
9
9
|
|
|
@@ -14,7 +14,7 @@ class TenantService {
|
|
|
14
14
|
console.log("TenantService constructor")
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
-
async create(tenantData:
|
|
17
|
+
async create(tenantData: ITenantBase): Promise<ITenant> {
|
|
18
18
|
try {
|
|
19
19
|
tenantData.name = tenantData?.name?.trim()
|
|
20
20
|
await tenantSchema.parseAsync(tenantData)
|
|
@@ -28,7 +28,7 @@ class TenantService {
|
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
async update(id:
|
|
31
|
+
async update(id: string, tenantData: ITenantBase) {
|
|
32
32
|
try {
|
|
33
33
|
tenantData.name = tenantData?.name?.trim()
|
|
34
34
|
await tenantSchema.parseAsync(tenantData)
|
|
@@ -42,13 +42,13 @@ class TenantService {
|
|
|
42
42
|
}
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
-
async delete(id:
|
|
45
|
+
async delete(id: string): Promise<boolean> {
|
|
46
46
|
const currentTenant = await this.findById(id)
|
|
47
47
|
const deletedTenant = await this._repository.delete(id);
|
|
48
48
|
return deletedTenant;
|
|
49
49
|
}
|
|
50
50
|
|
|
51
|
-
async findById(id:
|
|
51
|
+
async findById(id: string): Promise<ITenant | null> {
|
|
52
52
|
const tenant: ITenant = await this._repository.findById(id);
|
|
53
53
|
return tenant
|
|
54
54
|
}
|
|
@@ -63,8 +63,14 @@ class TenantService {
|
|
|
63
63
|
return tenants
|
|
64
64
|
}
|
|
65
65
|
|
|
66
|
-
async paginate(
|
|
67
|
-
|
|
66
|
+
async paginate({
|
|
67
|
+
page= 1,
|
|
68
|
+
limit= 5,
|
|
69
|
+
orderBy= '',
|
|
70
|
+
orderDesc= false,
|
|
71
|
+
search= '',
|
|
72
|
+
filters= []} : IDraxPaginateOptions): Promise<IDraxPaginateResult<ITenant>>{
|
|
73
|
+
const pagination = await this._repository.paginate({page, limit, orderBy, orderDesc, search, filters});
|
|
68
74
|
return pagination;
|
|
69
75
|
}
|
|
70
76
|
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import type {IUser, IUserCreate, IUserUpdate} from "
|
|
1
|
+
import type {IUser, IUserCreate, IUserUpdate} from "@drax/identity-share";
|
|
2
2
|
import type {IUserRepository} from "../interfaces/IUserRepository";
|
|
3
|
-
import type {IPaginateFilter, IPaginateResult} from "@drax/common-back"
|
|
4
3
|
import {ZodError} from "zod";
|
|
5
4
|
import {ValidationError, ZodErrorToValidationError} from "@drax/common-back";
|
|
6
5
|
import AuthUtils from "../utils/AuthUtils.js";
|
|
7
6
|
import {createUserSchema, editUserSchema,} from "../zod/UserZod.js";
|
|
8
7
|
import BadCredentialsError from "../errors/BadCredentialsError.js";
|
|
8
|
+
import {IDraxPaginateOptions, IDraxPaginateResult} from "@drax/common-share";
|
|
9
9
|
|
|
10
10
|
class UserService {
|
|
11
11
|
|
|
@@ -82,7 +82,7 @@ class UserService {
|
|
|
82
82
|
|
|
83
83
|
}
|
|
84
84
|
|
|
85
|
-
async update(id:
|
|
85
|
+
async update(id: string, userData: IUserUpdate) {
|
|
86
86
|
try{
|
|
87
87
|
userData.name = userData.name.trim()
|
|
88
88
|
userData.username = userData.username.trim()
|
|
@@ -102,12 +102,12 @@ class UserService {
|
|
|
102
102
|
}
|
|
103
103
|
}
|
|
104
104
|
|
|
105
|
-
async delete(id:
|
|
105
|
+
async delete(id: string): Promise<boolean> {
|
|
106
106
|
const deletedRole: boolean = await this._repository.delete(id);
|
|
107
107
|
return deletedRole;
|
|
108
108
|
}
|
|
109
109
|
|
|
110
|
-
async findById(id:
|
|
110
|
+
async findById(id: string): Promise<IUser> {
|
|
111
111
|
const user: IUser = await this._repository.findById(id);
|
|
112
112
|
return user
|
|
113
113
|
}
|
|
@@ -117,9 +117,15 @@ class UserService {
|
|
|
117
117
|
return user
|
|
118
118
|
}
|
|
119
119
|
|
|
120
|
-
async paginate(
|
|
120
|
+
async paginate({
|
|
121
|
+
page= 1,
|
|
122
|
+
limit= 5,
|
|
123
|
+
orderBy= '',
|
|
124
|
+
orderDesc= false,
|
|
125
|
+
search= '',
|
|
126
|
+
filters= []} : IDraxPaginateOptions): Promise<IDraxPaginateResult<IUser>>{
|
|
121
127
|
|
|
122
|
-
const pagination = await this._repository.paginate( page, limit, search, filters);
|
|
128
|
+
const pagination = await this._repository.paginate( {page, limit, orderBy, orderDesc, search, filters});
|
|
123
129
|
return pagination;
|
|
124
130
|
}
|
|
125
131
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type {IRoleBase} from "@drax/identity-share"
|
|
2
2
|
import RoleServiceFactory from "../factory/RoleServiceFactory.js"
|
|
3
3
|
|
|
4
|
-
async function CreateOrUpdateRole(roleData:
|
|
4
|
+
async function CreateOrUpdateRole(roleData: IRoleBase) {
|
|
5
5
|
const roleService = RoleServiceFactory()
|
|
6
6
|
const role = await roleService.findByName(roleData.name)
|
|
7
7
|
if(role){
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import RoleServiceFactory from "../factory/RoleServiceFactory.js"
|
|
2
2
|
import UserServiceFactory from "../factory/UserServiceFactory.js"
|
|
3
|
-
import {IUserCreate} from "
|
|
3
|
+
import {IUserCreate} from "@drax/identity-share";
|
|
4
4
|
|
|
5
5
|
async function CreateUserIfNotExist(userData: IUserCreate) {
|
|
6
6
|
const userService = UserServiceFactory()
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import RoleService from "../../src/services/RoleService";
|
|
2
|
-
import {IRole} from "
|
|
2
|
+
import {IRole} from "../../../identity-share/src/interfaces/IRole";
|
|
3
3
|
import RoleMongoRepository from "../../src/repository/mongo/RoleMongoRepository";
|
|
4
4
|
|
|
5
5
|
class RoleMongoInitializer {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import RoleService from "../../src/services/RoleService";
|
|
2
|
-
import {IRole} from "
|
|
2
|
+
import {IRole} from "../../../identity-share/src/interfaces/IRole";
|
|
3
3
|
import RoleSqliteRepository from "../../src/repository/sqlite/RoleSqliteRepository";
|
|
4
4
|
import {UUID} from "crypto";
|
|
5
5
|
|
|
@@ -2,7 +2,7 @@ import {describe,it, before, after} from "node:test"
|
|
|
2
2
|
import {equal} from "assert";
|
|
3
3
|
import RoleMongoRepository from "../../../src/repository/mongo/RoleMongoRepository";
|
|
4
4
|
import MongoInMemory from "../../db/MongoInMemory";
|
|
5
|
-
import {IRole} from "
|
|
5
|
+
import {IRole} from "../../../../identity-share/src/interfaces/IRole";
|
|
6
6
|
import {PaginateResult} from "mongoose";
|
|
7
7
|
import {IPaginateResult} from "@drax/common-back";
|
|
8
8
|
|
|
@@ -3,7 +3,7 @@ import assert, {equal} from "assert";
|
|
|
3
3
|
import UserMongoRepository from "../../../src/repository/mongo/UserMongoRepository";
|
|
4
4
|
import MongoInMemory from "../../db/MongoInMemory";
|
|
5
5
|
import RoleMongoInitializer from "../../initializers/RoleMongoInitializer";
|
|
6
|
-
import {IUser} from "
|
|
6
|
+
import {IUser} from "../../../../identity-share/src/interfaces/IUser";
|
|
7
7
|
import type {IPaginateResult} from "@drax/common-back";
|
|
8
8
|
import {mongoose, ValidationError} from "@drax/common-back";
|
|
9
9
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {describe,it, before, after} from "node:test"
|
|
2
2
|
import {equal} from "assert";
|
|
3
|
-
import {IRole} from "
|
|
3
|
+
import {IRole} from "../../../../identity-share/src/interfaces/IRole";
|
|
4
4
|
import {IPaginateResult} from "@drax/common-back";
|
|
5
5
|
import RoleSqliteRepository from "../../../src/repository/sqlite/RoleSqliteRepository";
|
|
6
6
|
import {UUID} from "crypto";
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import {before, after, describe, it, test} from "node:test"
|
|
2
2
|
import assert, {equal} from "assert";
|
|
3
3
|
import UserSqliteRepository from "../../../src/repository/sqlite/UserSqliteRepository";
|
|
4
|
-
import {IUser} from "
|
|
5
|
-
import {IRole} from "
|
|
4
|
+
import {IUser} from "../../../../identity-share/src/interfaces/IUser";
|
|
5
|
+
import {IRole} from "../../../../identity-share/src/interfaces/IRole";
|
|
6
6
|
|
|
7
7
|
import {ValidationError} from "@drax/common-back";
|
|
8
8
|
import {UUID} from "crypto";
|
|
@@ -2,7 +2,7 @@ import {describe,it, before, after} from "node:test"
|
|
|
2
2
|
import assert from "assert";
|
|
3
3
|
import RoleService from "../../src/services/RoleService";
|
|
4
4
|
import MongoInMemory from "../db/MongoInMemory";
|
|
5
|
-
import {IRole} from "
|
|
5
|
+
import {IRole} from "../../../identity-share/src/interfaces/IRole";
|
|
6
6
|
import RoleMongoRepository from "../../src/repository/mongo/RoleMongoRepository";
|
|
7
7
|
import {IRoleRepository} from "../../src/interfaces/IRoleRepository";
|
|
8
8
|
|
|
@@ -21,7 +21,7 @@ describe("RoleServiceTest", function() {
|
|
|
21
21
|
return
|
|
22
22
|
})
|
|
23
23
|
|
|
24
|
-
it("should
|
|
24
|
+
it("should create role", async function() {
|
|
25
25
|
let roleData = (await import("../data-obj/roles/admin-mongo-role")).default
|
|
26
26
|
let roleCreated: IRole = await roleService.create(roleData)
|
|
27
27
|
|
|
@@ -3,7 +3,7 @@ import assert from "assert";
|
|
|
3
3
|
import UserService from "../../src/services/UserService";
|
|
4
4
|
import MongoInMemory from "../db/MongoInMemory";
|
|
5
5
|
import RoleMongoInitializer from "../initializers/RoleMongoInitializer";
|
|
6
|
-
import {IRole} from "
|
|
6
|
+
import {IRole} from "../../../identity-share/src/interfaces/IRole";
|
|
7
7
|
import UserMongoRepository from "../../src/repository/mongo/UserMongoRepository";
|
|
8
8
|
import {IUserRepository} from "../../src/interfaces/IUserRepository";
|
|
9
9
|
import {ValidationError} from "@drax/common-back";
|
|
@@ -28,7 +28,7 @@ describe("UserServiceTest", function () {
|
|
|
28
28
|
return
|
|
29
29
|
})
|
|
30
30
|
|
|
31
|
-
it("should
|
|
31
|
+
it("should create user", async function () {
|
|
32
32
|
const user = {...userAdminData}
|
|
33
33
|
let userCreated = await userService.create(user)
|
|
34
34
|
assert.equal(userCreated.username, userAdminData.username)
|
|
@@ -49,7 +49,7 @@ describe("UserServiceTest", function () {
|
|
|
49
49
|
assert.equal(passwordChangedResult, true)
|
|
50
50
|
})
|
|
51
51
|
|
|
52
|
-
it("should fail
|
|
52
|
+
it("should fail create user with short password", async function () {
|
|
53
53
|
let userData = {...userAdminData, password: "123"}
|
|
54
54
|
await assert.rejects(
|
|
55
55
|
async () => {
|