@loomcore/api 0.1.22 → 0.1.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.
Files changed (46) hide show
  1. package/dist/__tests__/common-test.utils.js +13 -23
  2. package/dist/__tests__/models/test-item.model.d.ts +1 -1
  3. package/dist/__tests__/postgres-test-migrations/004-create-test-users-table.migration.js +0 -1
  4. package/dist/__tests__/postgres.test-database.js +6 -2
  5. package/dist/__tests__/test-objects.d.ts +9 -41
  6. package/dist/__tests__/test-objects.js +98 -63
  7. package/dist/controllers/auth.controller.js +2 -2
  8. package/dist/databases/postgres/migrations/001-create-migrations-table.migration.js +18 -20
  9. package/dist/databases/postgres/migrations/002-create-organizations-table.migration.d.ts +1 -3
  10. package/dist/databases/postgres/migrations/002-create-organizations-table.migration.js +41 -48
  11. package/dist/databases/postgres/migrations/003-create-users-table.migration.js +42 -47
  12. package/dist/databases/postgres/migrations/004-create-refresh-tokens-table.migration.js +34 -37
  13. package/dist/databases/postgres/migrations/005-create-meta-org.migration.js +24 -23
  14. package/dist/databases/postgres/migrations/006-create-admin-user.migration.d.ts +4 -9
  15. package/dist/databases/postgres/migrations/006-create-admin-user.migration.js +14 -17
  16. package/dist/databases/postgres/migrations/007-create-roles-table.migration.d.ts +21 -0
  17. package/dist/databases/postgres/migrations/007-create-roles-table.migration.js +62 -0
  18. package/dist/databases/postgres/migrations/008-create-user-roles-table.migration.d.ts +21 -0
  19. package/dist/databases/postgres/migrations/008-create-user-roles-table.migration.js +65 -0
  20. package/dist/databases/postgres/migrations/009-create-features-table.migration.d.ts +21 -0
  21. package/dist/databases/postgres/migrations/009-create-features-table.migration.js +62 -0
  22. package/dist/databases/postgres/migrations/010-create-authorizations-table.migration.d.ts +21 -0
  23. package/dist/databases/postgres/migrations/010-create-authorizations-table.migration.js +74 -0
  24. package/dist/databases/postgres/migrations/011-create-admin-authorization.migration.d.ts +23 -0
  25. package/dist/databases/postgres/migrations/011-create-admin-authorization.migration.js +117 -0
  26. package/dist/databases/postgres/migrations/setup-for-auth.migration.d.ts +1 -1
  27. package/dist/databases/postgres/migrations/setup-for-auth.migration.js +43 -12
  28. package/dist/databases/postgres/migrations/setup-for-multitenant.migration.d.ts +1 -1
  29. package/dist/databases/postgres/migrations/setup-for-multitenant.migration.js +16 -6
  30. package/dist/databases/postgres/postgres.database.d.ts +1 -0
  31. package/dist/databases/postgres/postgres.database.js +61 -0
  32. package/dist/models/feature.model.d.ts +7 -0
  33. package/dist/models/feature.model.js +6 -0
  34. package/dist/models/refresh-token.model.d.ts +1 -1
  35. package/dist/models/role.model.d.ts +7 -0
  36. package/dist/models/role.model.js +6 -0
  37. package/dist/models/user-role.model.d.ts +8 -0
  38. package/dist/models/user-role.model.js +7 -0
  39. package/dist/services/auth.service.js +0 -3
  40. package/dist/services/index.d.ts +1 -1
  41. package/dist/services/index.js +1 -1
  42. package/dist/services/user-service/user.service.d.ts +12 -0
  43. package/dist/services/user-service/user.service.js +65 -0
  44. package/package.json +6 -6
  45. package/dist/services/user.service.d.ts +0 -8
  46. package/dist/services/user.service.js +0 -22
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loomcore/api",
3
- "version": "0.1.22",
3
+ "version": "0.1.25",
4
4
  "private": false,
5
5
  "description": "Loom Core Api - An opinionated Node.js api using Typescript, Express, and MongoDb or PostgreSQL",
6
6
  "scripts": {
@@ -13,8 +13,8 @@
13
13
  "push": "git push",
14
14
  "publishMe": "npm publish --access public",
15
15
  "pub": "npm-run-all -s add commit patch build push publishMe",
16
- "update-lib-versions": "npx --yes npm-check-updates -u -f @loomcore/models",
17
- "install-updated-libs": "npm i @loomcore/models",
16
+ "update-lib-versions": "npx --yes npm-check-updates -u -f @loomcore/common",
17
+ "install-updated-libs": "npm i @loomcore/common",
18
18
  "update-libs": "npm-run-all -s update-lib-versions install-updated-libs",
19
19
  "typecheck": "tsc",
20
20
  "test": "npm-run-all -s test:postgres test:mongodb",
@@ -53,7 +53,7 @@
53
53
  "qs": "^6.14.0"
54
54
  },
55
55
  "peerDependencies": {
56
- "@loomcore/common": "^0.0.19",
56
+ "@loomcore/common": "^0.0.28",
57
57
  "@sinclair/typebox": "0.34.33",
58
58
  "cookie-parser": "^1.4.6",
59
59
  "cors": "^2.8.5",
@@ -70,17 +70,17 @@
70
70
  "@types/express": "^5.0.1",
71
71
  "@types/jsonwebtoken": "^9.0.9",
72
72
  "@types/lodash": "^4.17.13",
73
+ "@types/pg": "^8.15.6",
73
74
  "@types/qs": "^6.14.0",
74
75
  "@types/supertest": "^6.0.3",
75
- "@types/pg": "^8.15.6",
76
76
  "@vitest/coverage-v8": "^3.0.9",
77
77
  "cross-env": "^7.0.3",
78
78
  "mongodb-memory-server": "^9.3.0",
79
79
  "npm-run-all": "^4.1.5",
80
+ "pg-mem": "^3.0.5",
80
81
  "rxjs": "^7.8.0",
81
82
  "supertest": "^7.1.0",
82
83
  "typescript": "^5.8.3",
83
- "pg-mem": "^3.0.5",
84
84
  "vite": "^6.2.5",
85
85
  "vitest": "^3.0.9"
86
86
  }
@@ -1,8 +0,0 @@
1
- import { IUser, IUserContext } from '@loomcore/common/models';
2
- import { MultiTenantApiService } from '../services/index.js';
3
- import { IDatabase } from '../databases/models/index.js';
4
- export declare class UserService extends MultiTenantApiService<IUser> {
5
- constructor(database: IDatabase);
6
- fullUpdateById(userContext: IUserContext, id: string, entity: IUser): Promise<IUser>;
7
- preprocessEntity(userContext: IUserContext, entity: Partial<IUser>, isCreate: boolean, allowId?: boolean): Promise<Partial<IUser>>;
8
- }
@@ -1,22 +0,0 @@
1
- import { Value } from '@sinclair/typebox/value';
2
- import { UserSpec, PublicUserSchema } from '@loomcore/common/models';
3
- import { MultiTenantApiService } from '../services/index.js';
4
- import { ServerError } from '../errors/index.js';
5
- export class UserService extends MultiTenantApiService {
6
- constructor(database) {
7
- super(database, 'users', 'user', UserSpec);
8
- }
9
- async fullUpdateById(userContext, id, entity) {
10
- throw new ServerError('Cannot full update a user. Either use PATCH or /auth/change-password to update password.');
11
- }
12
- async preprocessEntity(userContext, entity, isCreate, allowId = false) {
13
- const preparedEntity = await super.preprocessEntity(userContext, entity, isCreate);
14
- if (preparedEntity.email) {
15
- preparedEntity.email = preparedEntity.email.toLowerCase();
16
- }
17
- if (!isCreate) {
18
- return Value.Clean(PublicUserSchema, preparedEntity);
19
- }
20
- return preparedEntity;
21
- }
22
- }