@loomcore/api 0.2.4 → 0.2.6

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 (39) hide show
  1. package/dist/__tests__/common-test.utils.d.ts +12 -12
  2. package/dist/__tests__/common-test.utils.js +94 -101
  3. package/dist/__tests__/postgres.test-database.d.ts +2 -2
  4. package/dist/__tests__/postgres.test-database.js +16 -15
  5. package/dist/__tests__/test-objects.d.ts +1 -6
  6. package/dist/__tests__/test-objects.js +34 -73
  7. package/dist/config/base-api-config.d.ts +2 -2
  8. package/dist/config/base-api-config.js +17 -10
  9. package/dist/controllers/auth.controller.d.ts +3 -5
  10. package/dist/controllers/auth.controller.js +22 -26
  11. package/dist/controllers/index.d.ts +10 -11
  12. package/dist/controllers/index.js +10 -11
  13. package/dist/databases/mongo-db/migrations/mongo-initial-schema.d.ts +2 -2
  14. package/dist/databases/mongo-db/migrations/mongo-initial-schema.js +185 -128
  15. package/dist/services/auth.service.d.ts +8 -9
  16. package/dist/services/auth.service.js +66 -82
  17. package/dist/services/email.service.js +5 -5
  18. package/dist/services/jwt.service.js +2 -2
  19. package/dist/services/multi-tenant-api.service.d.ts +4 -4
  20. package/dist/services/multi-tenant-api.service.js +8 -8
  21. package/dist/services/organization.service.d.ts +4 -4
  22. package/dist/services/organization.service.js +12 -8
  23. package/dist/services/password-reset-token.service.d.ts +4 -4
  24. package/dist/services/password-reset-token.service.js +13 -9
  25. package/dist/services/tenant-query-decorator.d.ts +1 -1
  26. package/dist/services/tenant-query-decorator.js +17 -11
  27. package/dist/services/user.service.d.ts +6 -6
  28. package/dist/services/user.service.js +7 -7
  29. package/dist/services/utils/audit-for-create.util.d.ts +1 -1
  30. package/dist/services/utils/audit-for-update.util.d.ts +1 -1
  31. package/dist/services/utils/audit-for-update.util.js +0 -1
  32. package/dist/services/utils/getUserContextAuthorizations.util.d.ts +2 -2
  33. package/dist/services/utils/strip-sender-provided-system-properties.util.d.ts +1 -1
  34. package/dist/services/utils/strip-sender-provided-system-properties.util.js +5 -3
  35. package/package.json +5 -2
  36. package/dist/controllers/persons.controller.d.ts +0 -8
  37. package/dist/controllers/persons.controller.js +0 -18
  38. package/dist/services/person.service.d.ts +0 -6
  39. package/dist/services/person.service.js +0 -7
@@ -5,4 +5,3 @@ export function auditForUpdate(userContext, doc) {
5
5
  doc._updated = moment().utc().toDate();
6
6
  doc._updatedBy = userId;
7
7
  }
8
- ;
@@ -1,3 +1,3 @@
1
- import { IUser, IUserContextAuthorization } from "@loomcore/common/models";
2
- import { IDatabase } from "../../databases/models/index.js";
1
+ import type { IUser, IUserContextAuthorization } from "@loomcore/common/models";
2
+ import type { IDatabase } from "../../databases/models/index.js";
3
3
  export declare function getUserContextAuthorizations(database: IDatabase, user: IUser): Promise<IUserContextAuthorization[]>;
@@ -1,2 +1,2 @@
1
- import { IUserContext } from "@loomcore/common/models";
1
+ import type { IUserContext } from "@loomcore/common/models";
2
2
  export declare function stripSenderProvidedSystemProperties(userContext: IUserContext, entity: any, allowId?: boolean): void;
@@ -4,12 +4,14 @@ export function stripSenderProvidedSystemProperties(userContext, entity, allowId
4
4
  if (isSystemUser) {
5
5
  return;
6
6
  }
7
- const propertiesToIgnore = ['_orgId'];
7
+ const propertiesToIgnore = ["_orgId"];
8
8
  if (allowId) {
9
- propertiesToIgnore.push('_id');
9
+ propertiesToIgnore.push("_id");
10
10
  }
11
11
  for (const key in entity) {
12
- if (Object.prototype.hasOwnProperty.call(entity, key) && key.startsWith('_') && !propertiesToIgnore.includes(key)) {
12
+ if (Object.prototype.hasOwnProperty.call(entity, key) &&
13
+ key.startsWith("_") &&
14
+ !propertiesToIgnore.includes(key)) {
13
15
  delete entity[key];
14
16
  }
15
17
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@loomcore/api",
3
- "version": "0.2.4",
3
+ "version": "0.2.6",
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": {
@@ -58,7 +58,7 @@
58
58
  "qs": "^6.15.2"
59
59
  },
60
60
  "peerDependencies": {
61
- "@loomcore/common": "^0.0.70",
61
+ "@loomcore/common": "^0.0.71",
62
62
  "@sinclair/typebox": "0.34.33",
63
63
  "cookie-parser": "^1.4.6",
64
64
  "cors": "^2.8.5",
@@ -87,5 +87,8 @@
87
87
  "typescript": "^5.8.3",
88
88
  "vite": "^6.2.5",
89
89
  "vitest": "^3.0.9"
90
+ },
91
+ "overrides": {
92
+ "ajv": "^8.18.0"
90
93
  }
91
94
  }
@@ -1,8 +0,0 @@
1
- import { IPersonModel } from "@loomcore/common/models";
2
- import { ApiController } from "./api.controller.js";
3
- import { Application } from "express";
4
- import { IDatabase } from "../databases/models/index.js";
5
- export declare class PersonsController extends ApiController<IPersonModel> {
6
- constructor(app: Application, database: IDatabase);
7
- mapRoutes(app: Application): void;
8
- }
@@ -1,18 +0,0 @@
1
- import { ApiController } from "./api.controller.js";
2
- import { isAuthorized } from "../middleware/is-authorized.js";
3
- import { PersonService } from "../services/person.service.js";
4
- export class PersonsController extends ApiController {
5
- constructor(app, database) {
6
- const personService = new PersonService(database);
7
- super('persons', app, personService);
8
- }
9
- mapRoutes(app) {
10
- super.mapRoutes(app);
11
- app.get('/api/persons', isAuthorized(), this.get.bind(this));
12
- app.get('/api/persons/:id', isAuthorized(), this.getById.bind(this));
13
- app.post('/api/persons', isAuthorized(), this.create.bind(this));
14
- app.put('/api/persons/:id', isAuthorized(), this.fullUpdateById.bind(this));
15
- app.patch('/api/persons/:id', isAuthorized(), this.partialUpdateById.bind(this));
16
- app.delete('/api/persons/:id', isAuthorized(), this.deleteById.bind(this));
17
- }
18
- }
@@ -1,6 +0,0 @@
1
- import { IPersonModel } from "@loomcore/common/models";
2
- import { IDatabase } from "../databases/index.js";
3
- import { GenericApiService } from "./generic-api-service/generic-api.service.js";
4
- export declare class PersonService extends GenericApiService<IPersonModel> {
5
- constructor(database: IDatabase);
6
- }
@@ -1,7 +0,0 @@
1
- import { personModelSpec } from "@loomcore/common/models";
2
- import { GenericApiService } from "./generic-api-service/generic-api.service.js";
3
- export class PersonService extends GenericApiService {
4
- constructor(database) {
5
- super(database, 'persons', 'person', personModelSpec);
6
- }
7
- }