@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.
Files changed (124) hide show
  1. package/dist/controllers/TenantController.js +66 -0
  2. package/dist/graphql/resolvers/role.resolvers.js +1 -2
  3. package/dist/graphql/resolvers/tenant.resolvers.js +1 -2
  4. package/dist/graphql/resolvers/user-api-key.resolvers.js +1 -2
  5. package/dist/graphql/resolvers/user.resolvers.js +1 -1
  6. package/dist/index.js +7 -4
  7. package/dist/permissions/RolePermissions.js +11 -0
  8. package/dist/permissions/TenantPermissions.js +10 -0
  9. package/dist/permissions/UserApiKeyPermissions.js +11 -0
  10. package/dist/permissions/UserPermissions.js +10 -0
  11. package/dist/permissions/index.js +12 -0
  12. package/dist/rbac/Rbac.js +1 -1
  13. package/dist/repository/mongo/TenantMongoRepository.js +12 -0
  14. package/dist/repository/sqlite/TenantSqliteRepository.js +11 -0
  15. package/dist/routes/RoleRoutes.js +1 -2
  16. package/dist/routes/TenantRoutes.js +10 -181
  17. package/dist/routes/UserApiKeyRoutes.js +1 -2
  18. package/dist/routes/UserAvatarRoutes.js +8 -8
  19. package/dist/routes/UserRoutes.js +1 -2
  20. package/dist/services/TenantService.js +3 -1
  21. package/package.json +7 -6
  22. package/src/controllers/TenantController.ts +73 -0
  23. package/src/graphql/resolvers/role.resolvers.ts +1 -2
  24. package/src/graphql/resolvers/tenant.resolvers.ts +1 -2
  25. package/src/graphql/resolvers/user-api-key.resolvers.ts +1 -2
  26. package/src/graphql/resolvers/user.resolvers.ts +1 -1
  27. package/src/index.ts +12 -3
  28. package/src/interfaces/IRoleRepository.ts +1 -1
  29. package/src/interfaces/ITenantRepository.ts +1 -1
  30. package/src/interfaces/IUserApiKeyRepository.ts +1 -1
  31. package/src/interfaces/IUserRepository.ts +1 -1
  32. package/src/permissions/IdentityPermissions.ts +1 -0
  33. package/src/permissions/RolePermissions.ts +12 -0
  34. package/src/permissions/TenantPermissions.ts +11 -0
  35. package/src/permissions/UserApiKeyPermissions.ts +12 -0
  36. package/src/permissions/UserPermissions.ts +11 -0
  37. package/src/permissions/index.ts +15 -0
  38. package/src/rbac/Rbac.ts +1 -1
  39. package/src/repository/mongo/RoleMongoRepository.ts +1 -1
  40. package/src/repository/mongo/TenantMongoRepository.ts +41 -16
  41. package/src/repository/mongo/UserApiKeyMongoRepository.ts +1 -1
  42. package/src/repository/mongo/UserMongoRepository.ts +1 -1
  43. package/src/repository/sqlite/RoleSqliteRepository.ts +1 -1
  44. package/src/repository/sqlite/TenantSqliteRepository.ts +24 -1
  45. package/src/repository/sqlite/UserApiKeySqliteRepository.ts +1 -1
  46. package/src/repository/sqlite/UserSqliteRepository.ts +1 -1
  47. package/src/routes/RoleRoutes.ts +2 -3
  48. package/src/routes/TenantRoutes.ts +10 -164
  49. package/src/routes/UserApiKeyRoutes.ts +2 -3
  50. package/src/routes/UserAvatarRoutes.ts +8 -8
  51. package/src/routes/UserRoutes.ts +2 -3
  52. package/src/services/RoleService.ts +1 -1
  53. package/src/services/TenantService.ts +4 -2
  54. package/src/services/UserApiKeyService.ts +1 -1
  55. package/src/services/UserService.ts +1 -1
  56. package/test/repository/mongo/role-mongo-repository.test.ts +1 -1
  57. package/test/repository/mongo/user-apikey-mongo-repository.test.ts +1 -1
  58. package/test/repository/mongo/user-mongo-repository.test.ts +1 -1
  59. package/test/repository/sqlite/role-sqlite-repository.test.ts +1 -1
  60. package/tsconfig.json +2 -2
  61. package/tsconfig.tsbuildinfo +1 -1
  62. package/types/controllers/TenantController.d.ts +12 -0
  63. package/types/controllers/TenantController.d.ts.map +1 -0
  64. package/types/graphql/resolvers/role.resolvers.d.ts +1 -1
  65. package/types/graphql/resolvers/role.resolvers.d.ts.map +1 -1
  66. package/types/graphql/resolvers/tenant.resolvers.d.ts +1 -1
  67. package/types/graphql/resolvers/tenant.resolvers.d.ts.map +1 -1
  68. package/types/graphql/resolvers/user-api-key.resolvers.d.ts +1 -1
  69. package/types/graphql/resolvers/user-api-key.resolvers.d.ts.map +1 -1
  70. package/types/graphql/resolvers/user.resolvers.d.ts +1 -1
  71. package/types/index.d.ts +6 -3
  72. package/types/index.d.ts.map +1 -1
  73. package/types/interfaces/IRoleRepository.d.ts +1 -1
  74. package/types/interfaces/IRoleRepository.d.ts.map +1 -1
  75. package/types/interfaces/ITenantRepository.d.ts +1 -1
  76. package/types/interfaces/ITenantRepository.d.ts.map +1 -1
  77. package/types/interfaces/IUserApiKeyRepository.d.ts +1 -1
  78. package/types/interfaces/IUserApiKeyRepository.d.ts.map +1 -1
  79. package/types/interfaces/IUserRepository.d.ts +1 -1
  80. package/types/interfaces/IUserRepository.d.ts.map +1 -1
  81. package/types/permissions/IdentityPermissions.d.ts.map +1 -1
  82. package/types/permissions/RolePermissions.d.ts +11 -0
  83. package/types/permissions/RolePermissions.d.ts.map +1 -0
  84. package/types/permissions/TenantPermissions.d.ts +10 -0
  85. package/types/permissions/TenantPermissions.d.ts.map +1 -0
  86. package/types/permissions/UserApiKeyPermissions.d.ts +11 -0
  87. package/types/permissions/UserApiKeyPermissions.d.ts.map +1 -0
  88. package/types/permissions/UserPermissions.d.ts +10 -0
  89. package/types/permissions/UserPermissions.d.ts.map +1 -0
  90. package/types/permissions/index.d.ts +14 -0
  91. package/types/permissions/index.d.ts.map +1 -0
  92. package/types/repository/mongo/RoleMongoRepository.d.ts +1 -1
  93. package/types/repository/mongo/RoleMongoRepository.d.ts.map +1 -1
  94. package/types/repository/mongo/TenantMongoRepository.d.ts +2 -1
  95. package/types/repository/mongo/TenantMongoRepository.d.ts.map +1 -1
  96. package/types/repository/mongo/UserApiKeyMongoRepository.d.ts +1 -1
  97. package/types/repository/mongo/UserApiKeyMongoRepository.d.ts.map +1 -1
  98. package/types/repository/mongo/UserMongoRepository.d.ts +1 -1
  99. package/types/repository/mongo/UserMongoRepository.d.ts.map +1 -1
  100. package/types/repository/sqlite/RoleSqliteRepository.d.ts +1 -1
  101. package/types/repository/sqlite/RoleSqliteRepository.d.ts.map +1 -1
  102. package/types/repository/sqlite/TenantSqliteRepository.d.ts +2 -1
  103. package/types/repository/sqlite/TenantSqliteRepository.d.ts.map +1 -1
  104. package/types/repository/sqlite/UserApiKeySqliteRepository.d.ts +1 -1
  105. package/types/repository/sqlite/UserApiKeySqliteRepository.d.ts.map +1 -1
  106. package/types/repository/sqlite/UserSqliteRepository.d.ts +1 -1
  107. package/types/repository/sqlite/UserSqliteRepository.d.ts.map +1 -1
  108. package/types/routes/RoleRoutes.d.ts.map +1 -1
  109. package/types/routes/TenantRoutes.d.ts.map +1 -1
  110. package/types/routes/UserApiKeyRoutes.d.ts.map +1 -1
  111. package/types/routes/UserRoutes.d.ts.map +1 -1
  112. package/types/services/RoleService.d.ts +1 -1
  113. package/types/services/RoleService.d.ts.map +1 -1
  114. package/types/services/TenantService.d.ts +3 -2
  115. package/types/services/TenantService.d.ts.map +1 -1
  116. package/types/services/UserApiKeyService.d.ts +1 -1
  117. package/types/services/UserApiKeyService.d.ts.map +1 -1
  118. package/types/services/UserService.d.ts +1 -1
  119. package/types/services/UserService.d.ts.map +1 -1
  120. package/types/zod/UserZod.d.ts +6 -6
  121. package/dist/errors/UnauthorizedError.js +0 -10
  122. package/src/errors/UnauthorizedError.ts +0 -13
  123. package/types/errors/UnauthorizedError.d.ts +0 -6
  124. package/types/errors/UnauthorizedError.d.ts.map +0 -1
@@ -1,10 +1,10 @@
1
1
  import {join} from "path";
2
- import UnauthorizedError from "../errors/UnauthorizedError.js";
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 FILE_DIR = DraxConfig.getOrLoad(IdentityConfig.AvatarDir) || 'avatars';
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(FILE_DIR)
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
- return await userService.changeAvatar(userId, urlFile)
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 [year, month] = filename.split('-')
62
- const fileDir = join(FILE_DIR, year, month)
63
- //console.log("FILE_DIR: ",fileDir, " FILENAME:", filename)
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)
@@ -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/common-share";
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/common-share";
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/common-share";
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/common-share";
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/common-share";
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/common-share";
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/common-share";
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/common-share";
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/common-share";
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": "./types",
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
  },