@drax/identity-back 0.4.0 → 0.5.2
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/controllers/TenantController.js +66 -0
- package/dist/graphql/resolvers/role.resolvers.js +1 -2
- package/dist/graphql/resolvers/tenant.resolvers.js +1 -2
- package/dist/graphql/resolvers/user-api-key.resolvers.js +1 -2
- package/dist/graphql/resolvers/user.resolvers.js +1 -1
- package/dist/index.js +7 -4
- package/dist/permissions/RolePermissions.js +11 -0
- package/dist/permissions/TenantPermissions.js +10 -0
- package/dist/permissions/UserApiKeyPermissions.js +11 -0
- package/dist/permissions/UserPermissions.js +10 -0
- package/dist/permissions/index.js +12 -0
- package/dist/rbac/Rbac.js +1 -1
- package/dist/repository/mongo/TenantMongoRepository.js +12 -0
- package/dist/repository/sqlite/TenantSqliteRepository.js +11 -0
- package/dist/routes/RoleRoutes.js +1 -2
- package/dist/routes/TenantRoutes.js +10 -181
- package/dist/routes/UserApiKeyRoutes.js +1 -2
- package/dist/routes/UserAvatarRoutes.js +8 -8
- package/dist/routes/UserRoutes.js +1 -2
- package/dist/services/TenantService.js +3 -1
- package/package.json +7 -6
- package/src/controllers/TenantController.ts +73 -0
- package/src/graphql/resolvers/role.resolvers.ts +1 -2
- package/src/graphql/resolvers/tenant.resolvers.ts +1 -2
- package/src/graphql/resolvers/user-api-key.resolvers.ts +1 -2
- package/src/graphql/resolvers/user.resolvers.ts +1 -1
- package/src/index.ts +12 -3
- package/src/interfaces/IRoleRepository.ts +1 -1
- package/src/interfaces/ITenantRepository.ts +1 -1
- package/src/interfaces/IUserApiKeyRepository.ts +1 -1
- package/src/interfaces/IUserRepository.ts +1 -1
- package/src/permissions/IdentityPermissions.ts +1 -0
- package/src/permissions/RolePermissions.ts +12 -0
- package/src/permissions/TenantPermissions.ts +11 -0
- package/src/permissions/UserApiKeyPermissions.ts +12 -0
- package/src/permissions/UserPermissions.ts +11 -0
- package/src/permissions/index.ts +15 -0
- package/src/rbac/Rbac.ts +1 -1
- package/src/repository/mongo/RoleMongoRepository.ts +1 -1
- package/src/repository/mongo/TenantMongoRepository.ts +41 -16
- package/src/repository/mongo/UserApiKeyMongoRepository.ts +1 -1
- package/src/repository/mongo/UserMongoRepository.ts +1 -1
- package/src/repository/sqlite/RoleSqliteRepository.ts +1 -1
- package/src/repository/sqlite/TenantSqliteRepository.ts +24 -1
- package/src/repository/sqlite/UserApiKeySqliteRepository.ts +1 -1
- package/src/repository/sqlite/UserSqliteRepository.ts +1 -1
- package/src/routes/RoleRoutes.ts +2 -3
- package/src/routes/TenantRoutes.ts +10 -164
- package/src/routes/UserApiKeyRoutes.ts +2 -3
- package/src/routes/UserAvatarRoutes.ts +8 -8
- package/src/routes/UserRoutes.ts +2 -3
- package/src/services/RoleService.ts +1 -1
- package/src/services/TenantService.ts +4 -2
- package/src/services/UserApiKeyService.ts +1 -1
- package/src/services/UserService.ts +1 -1
- package/test/repository/mongo/role-mongo-repository.test.ts +1 -1
- package/test/repository/mongo/user-apikey-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/tsconfig.json +2 -2
- package/tsconfig.tsbuildinfo +1 -1
- package/types/controllers/TenantController.d.ts +12 -0
- package/types/controllers/TenantController.d.ts.map +1 -0
- package/types/graphql/resolvers/role.resolvers.d.ts +1 -1
- package/types/graphql/resolvers/role.resolvers.d.ts.map +1 -1
- package/types/graphql/resolvers/tenant.resolvers.d.ts +1 -1
- package/types/graphql/resolvers/tenant.resolvers.d.ts.map +1 -1
- package/types/graphql/resolvers/user-api-key.resolvers.d.ts +1 -1
- package/types/graphql/resolvers/user-api-key.resolvers.d.ts.map +1 -1
- package/types/graphql/resolvers/user.resolvers.d.ts +1 -1
- package/types/index.d.ts +6 -3
- package/types/index.d.ts.map +1 -1
- package/types/interfaces/IRoleRepository.d.ts +1 -1
- package/types/interfaces/IRoleRepository.d.ts.map +1 -1
- package/types/interfaces/ITenantRepository.d.ts +1 -1
- package/types/interfaces/ITenantRepository.d.ts.map +1 -1
- package/types/interfaces/IUserApiKeyRepository.d.ts +1 -1
- package/types/interfaces/IUserApiKeyRepository.d.ts.map +1 -1
- package/types/interfaces/IUserRepository.d.ts +1 -1
- package/types/interfaces/IUserRepository.d.ts.map +1 -1
- package/types/permissions/IdentityPermissions.d.ts.map +1 -1
- package/types/permissions/RolePermissions.d.ts +11 -0
- package/types/permissions/RolePermissions.d.ts.map +1 -0
- package/types/permissions/TenantPermissions.d.ts +10 -0
- package/types/permissions/TenantPermissions.d.ts.map +1 -0
- package/types/permissions/UserApiKeyPermissions.d.ts +11 -0
- package/types/permissions/UserApiKeyPermissions.d.ts.map +1 -0
- package/types/permissions/UserPermissions.d.ts +10 -0
- package/types/permissions/UserPermissions.d.ts.map +1 -0
- package/types/permissions/index.d.ts +14 -0
- package/types/permissions/index.d.ts.map +1 -0
- package/types/repository/mongo/RoleMongoRepository.d.ts +1 -1
- package/types/repository/mongo/RoleMongoRepository.d.ts.map +1 -1
- package/types/repository/mongo/TenantMongoRepository.d.ts +2 -1
- package/types/repository/mongo/TenantMongoRepository.d.ts.map +1 -1
- package/types/repository/mongo/UserApiKeyMongoRepository.d.ts +1 -1
- package/types/repository/mongo/UserApiKeyMongoRepository.d.ts.map +1 -1
- package/types/repository/mongo/UserMongoRepository.d.ts +1 -1
- package/types/repository/mongo/UserMongoRepository.d.ts.map +1 -1
- package/types/repository/sqlite/RoleSqliteRepository.d.ts +1 -1
- package/types/repository/sqlite/RoleSqliteRepository.d.ts.map +1 -1
- package/types/repository/sqlite/TenantSqliteRepository.d.ts +2 -1
- package/types/repository/sqlite/TenantSqliteRepository.d.ts.map +1 -1
- package/types/repository/sqlite/UserApiKeySqliteRepository.d.ts +1 -1
- package/types/repository/sqlite/UserApiKeySqliteRepository.d.ts.map +1 -1
- package/types/repository/sqlite/UserSqliteRepository.d.ts +1 -1
- 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/UserApiKeyRoutes.d.ts.map +1 -1
- package/types/routes/UserRoutes.d.ts.map +1 -1
- package/types/services/RoleService.d.ts +1 -1
- package/types/services/RoleService.d.ts.map +1 -1
- package/types/services/TenantService.d.ts +3 -2
- package/types/services/TenantService.d.ts.map +1 -1
- package/types/services/UserApiKeyService.d.ts +1 -1
- package/types/services/UserApiKeyService.d.ts.map +1 -1
- package/types/services/UserService.d.ts +1 -1
- package/types/services/UserService.d.ts.map +1 -1
- package/types/zod/UserZod.d.ts +6 -6
- package/dist/errors/UnauthorizedError.js +0 -10
- package/src/errors/UnauthorizedError.ts +0 -13
- package/types/errors/UnauthorizedError.d.ts +0 -6
- package/types/errors/UnauthorizedError.d.ts.map +0 -1
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import {join} from "path";
|
|
2
|
-
import UnauthorizedError from "
|
|
3
|
-
import {StoreManager, UploadFileError, DraxConfig, CommonConfig} from "@drax/common-back";
|
|
2
|
+
import {StoreManager, UploadFileError, DraxConfig, CommonConfig, UnauthorizedError} from "@drax/common-back";
|
|
4
3
|
import UserServiceFactory from "../factory/UserServiceFactory.js";
|
|
5
4
|
import IdentityConfig from "../config/IdentityConfig.js";
|
|
6
5
|
|
|
7
|
-
const
|
|
6
|
+
const BASE_FILE_DIR = DraxConfig.getOrLoad(CommonConfig.FileDir) || 'files';
|
|
7
|
+
const AVATAR_DIR = DraxConfig.getOrLoad(IdentityConfig.AvatarDir) || 'avatar';
|
|
8
8
|
const BASE_URL = DraxConfig.getOrLoad(CommonConfig.BaseUrl) ? DraxConfig.get(CommonConfig.BaseUrl).replace(/\/$/, '') : ''
|
|
9
9
|
|
|
10
10
|
|
|
@@ -24,13 +24,13 @@ async function UserAvatarRoutes(fastify, options) {
|
|
|
24
24
|
mimetype: data.mimetype
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
-
const destinationPath = join(
|
|
27
|
+
const destinationPath = join(BASE_FILE_DIR, AVATAR_DIR)
|
|
28
28
|
const storedFile = await StoreManager.saveFile(file, destinationPath)
|
|
29
29
|
const urlFile = BASE_URL + '/api/user/avatar/' + storedFile.filename
|
|
30
30
|
|
|
31
31
|
//Save into DB
|
|
32
32
|
const userService = UserServiceFactory()
|
|
33
|
-
|
|
33
|
+
await userService.changeAvatar(userId, urlFile)
|
|
34
34
|
|
|
35
35
|
return {
|
|
36
36
|
filename: storedFile.filename,
|
|
@@ -58,9 +58,9 @@ async function UserAvatarRoutes(fastify, options) {
|
|
|
58
58
|
fastify.get('/api/user/avatar/:filename', async (request, reply): Promise<any> => {
|
|
59
59
|
try {
|
|
60
60
|
const filename = request.params.filename
|
|
61
|
-
const
|
|
62
|
-
const fileDir = join(
|
|
63
|
-
|
|
61
|
+
const subPath = 'avatar'
|
|
62
|
+
const fileDir = join(BASE_FILE_DIR, subPath)
|
|
63
|
+
console.log("FILE_DIR: ",fileDir, " FILENAME:", filename)
|
|
64
64
|
return reply.sendFile(filename, fileDir)
|
|
65
65
|
} catch (e) {
|
|
66
66
|
console.error(e)
|
package/src/routes/UserRoutes.ts
CHANGED
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import UserServiceFactory from "../factory/UserServiceFactory.js";
|
|
2
2
|
import {IUser} from "@drax/identity-share";
|
|
3
|
-
import {ValidationError} from "@drax/common-back";
|
|
3
|
+
import {ValidationError, UnauthorizedError} from "@drax/common-back";
|
|
4
4
|
import {IdentityPermissions} from "../permissions/IdentityPermissions.js";
|
|
5
|
-
import UnauthorizedError from "../errors/UnauthorizedError.js";
|
|
6
5
|
import BadCredentialsError from "../errors/BadCredentialsError.js";
|
|
7
|
-
import {IDraxPaginateResult} from "@drax/
|
|
6
|
+
import {IDraxPaginateResult} from "@drax/crud-share";
|
|
8
7
|
|
|
9
8
|
async function UserRoutes(fastify, options) {
|
|
10
9
|
fastify.post('/api/auth', async (request, reply) => {
|
|
@@ -2,7 +2,7 @@ import {IRoleRepository} from "../interfaces/IRoleRepository";
|
|
|
2
2
|
import { ZodErrorToValidationError} from "@drax/common-back"
|
|
3
3
|
import {roleSchema} from "../zod/RoleZod.js";
|
|
4
4
|
import {ZodError} from "zod";
|
|
5
|
-
import {IDraxPaginateOptions, IDraxPaginateResult} from "@drax/
|
|
5
|
+
import {IDraxPaginateOptions, IDraxPaginateResult} from "@drax/crud-share";
|
|
6
6
|
import type {IRoleBase, IRole} from "@drax/identity-share";
|
|
7
7
|
|
|
8
8
|
class RoleService {
|
|
@@ -3,13 +3,15 @@ import {ValidationError, ZodErrorToValidationError} from "@drax/common-back"
|
|
|
3
3
|
import {tenantSchema} from "../zod/TenantZod.js";
|
|
4
4
|
import {ZodError} from "zod";
|
|
5
5
|
import {ITenantBase, ITenant} from "@drax/identity-share";
|
|
6
|
-
import {IDraxPaginateOptions, IDraxPaginateResult} from "@drax/
|
|
6
|
+
import {IDraxPaginateOptions, IDraxPaginateResult} from "@drax/crud-share";
|
|
7
|
+
import {AbstractService} from "@drax/crud-back";
|
|
7
8
|
|
|
8
|
-
class TenantService {
|
|
9
|
+
class TenantService extends AbstractService<ITenant,ITenantBase,ITenantBase> {
|
|
9
10
|
|
|
10
11
|
_repository: ITenantRepository
|
|
11
12
|
|
|
12
13
|
constructor(tenantRepostitory: ITenantRepository) {
|
|
14
|
+
super(tenantRepostitory, tenantSchema)
|
|
13
15
|
this._repository = tenantRepostitory
|
|
14
16
|
console.log("TenantService constructor")
|
|
15
17
|
}
|
|
@@ -3,7 +3,7 @@ import {DraxConfig, ValidationError, ZodErrorToValidationError} from "@drax/comm
|
|
|
3
3
|
import {userApiKeySchema} from "../zod/UserApiKeyZod.js";
|
|
4
4
|
import {ZodError} from "zod";
|
|
5
5
|
import {IUserApiKeyBase, IUserApiKey} from "@drax/identity-share";
|
|
6
|
-
import {IDraxPaginateOptions, IDraxPaginateResult} from "@drax/
|
|
6
|
+
import {IDraxPaginateOptions, IDraxPaginateResult} from "@drax/crud-share";
|
|
7
7
|
import crypto from "node:crypto";
|
|
8
8
|
import AuthUtils from "../utils/AuthUtils.js";
|
|
9
9
|
import IdentityConfig from "../config/IdentityConfig.js";
|
|
@@ -5,7 +5,7 @@ import {ValidationError, ZodErrorToValidationError} from "@drax/common-back";
|
|
|
5
5
|
import AuthUtils from "../utils/AuthUtils.js";
|
|
6
6
|
import {createUserSchema, editUserSchema,} from "../zod/UserZod.js";
|
|
7
7
|
import BadCredentialsError from "../errors/BadCredentialsError.js";
|
|
8
|
-
import {IDraxPaginateOptions, IDraxPaginateResult} from "@drax/
|
|
8
|
+
import {IDraxPaginateOptions, IDraxPaginateResult} from "@drax/crud-share";
|
|
9
9
|
|
|
10
10
|
class UserService {
|
|
11
11
|
|
|
@@ -3,7 +3,7 @@ import {equal} from "assert";
|
|
|
3
3
|
import RoleMongoRepository from "../../../src/repository/mongo/RoleMongoRepository";
|
|
4
4
|
import MongoInMemory from "../../db/MongoInMemory";
|
|
5
5
|
import {IRole} from "../../../../identity-share/src/interfaces/IRole";
|
|
6
|
-
import {IDraxPaginateResult} from "@drax/
|
|
6
|
+
import {IDraxPaginateResult} from "@drax/crud-share";
|
|
7
7
|
|
|
8
8
|
describe("RoleRepositoryTest", function() {
|
|
9
9
|
|
|
@@ -5,7 +5,7 @@ import MongoInMemory from "../../db/MongoInMemory";
|
|
|
5
5
|
import RoleMongoInitializer from "../../initializers/RoleMongoInitializer";
|
|
6
6
|
import UserMongoInitializer from "../../initializers/UserMongoInitializer";
|
|
7
7
|
import {IUserApiKey} from "../../../../identity-share/src/interfaces/IUserApiKey";
|
|
8
|
-
import type {IDraxPaginateResult} from "@drax/
|
|
8
|
+
import type {IDraxPaginateResult} from "@drax/crud-share";
|
|
9
9
|
import {mongoose, ValidationError} from "@drax/common-back";
|
|
10
10
|
|
|
11
11
|
|
|
@@ -4,7 +4,7 @@ import UserMongoRepository from "../../../src/repository/mongo/UserMongoReposito
|
|
|
4
4
|
import MongoInMemory from "../../db/MongoInMemory";
|
|
5
5
|
import RoleMongoInitializer from "../../initializers/RoleMongoInitializer";
|
|
6
6
|
import {IUser} from "../../../../identity-share/src/interfaces/IUser";
|
|
7
|
-
import type {IDraxPaginateResult} from "@drax/
|
|
7
|
+
import type {IDraxPaginateResult} from "@drax/crud-share";
|
|
8
8
|
import {mongoose, ValidationError} from "@drax/common-back";
|
|
9
9
|
|
|
10
10
|
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import {describe,it, before, after} from "node:test"
|
|
2
2
|
import {equal} from "assert";
|
|
3
3
|
import {IRole} from "../../../../identity-share/src/interfaces/IRole";
|
|
4
|
-
import {IDraxPaginateResult} from "@drax/
|
|
4
|
+
import {IDraxPaginateResult} from "@drax/crud-share";
|
|
5
5
|
import RoleSqliteRepository from "../../../src/repository/sqlite/RoleSqliteRepository";
|
|
6
6
|
import {UUID} from "crypto";
|
|
7
7
|
|
package/tsconfig.json
CHANGED
|
@@ -3,9 +3,9 @@
|
|
|
3
3
|
"compilerOptions": {
|
|
4
4
|
"rootDir": "src",
|
|
5
5
|
"outDir": "dist",
|
|
6
|
-
"declarationDir": "
|
|
6
|
+
"declarationDir": "types"
|
|
7
7
|
},
|
|
8
|
-
"exclude": ["types", "test", "dist","node_modules"],
|
|
8
|
+
"exclude": ["types", "test", "dist","node_modules","tmp"],
|
|
9
9
|
"ts-node": {
|
|
10
10
|
"esm": true
|
|
11
11
|
},
|