@autofleet/sadot 0.5.4-beta.3 → 0.5.4-beta.4

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/.env ADDED
@@ -0,0 +1,3 @@
1
+ DB_USERNAME=emiltayeb
2
+ DB_PASSWORD=123456
3
+ NODE_ENV=test
package/dist/index.js CHANGED
@@ -32,7 +32,7 @@ __exportStar(require("./utils/constants"), exports);
32
32
  const useCustomFields = async (app, getModel, options) => {
33
33
  const { models } = options;
34
34
  if (app) {
35
- app.use('/api', api_1.default);
35
+ app.use('/api', options.middleware, api_1.default);
36
36
  }
37
37
  const sequelize = (0, db_1.default)(options.databaseConfig);
38
38
  if (process.env.NODE_ENV === 'test') {
@@ -73,12 +73,11 @@ exports.findValuesByModelIds = findValuesByModelIds;
73
73
  * Return the updated values
74
74
  */
75
75
  const updateValues = async (modelType, modelId, identifiers, valuesToUpdate, options = {}) => {
76
+ logger_1.default.info(`custom-fields: updating values for ${modelType} ${modelId}`, { valuesToUpdate });
76
77
  const names = Object.keys(valuesToUpdate);
77
78
  const fieldDefinitions = await DefinitionRepo.findAll({ modelType, name: names, entityId: identifiers }, { withDisabled: true, transaction: options.transaction }) || [];
78
- logger_1.default.info(`custom-fields: updating values for ${modelType} ${modelId}`, { valuesToUpdate, entityId: identifiers });
79
79
  const disabledDefinitions = fieldDefinitions.filter((def) => def.disabled);
80
80
  if (fieldDefinitions.length !== names.length) {
81
- logger_1.default.info(`custom-fields: missing definitions for ${modelType} ${modelId}`, { names, fieldDefinitions });
82
81
  const missingDefinitions = names.filter((name) => !fieldDefinitions.some((def) => def.name === name));
83
82
  throw new errors_1.MissingDefinitionError(missingDefinitions);
84
83
  }
@@ -1,3 +1,4 @@
1
+ import { RequestHandler } from 'express';
1
2
  export type ModelFetcher = (name: string) => any;
2
3
  export type ModelOptions = {
3
4
  name: string;
@@ -10,4 +11,5 @@ export type CustomFieldOptions = {
10
11
  models: ModelOptions[];
11
12
  databaseConfig: any;
12
13
  getUser: () => any;
14
+ middleware?: RequestHandler;
13
15
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@autofleet/sadot",
3
- "version": "0.5.4-beta.3",
3
+ "version": "0.5.4-beta.4",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "scripts": {
@@ -9,7 +9,24 @@
9
9
  "linter": "./node_modules/.bin/eslint .",
10
10
  "test": "jest --forceExit --runInBand",
11
11
  "coverage": "jest --coverage --forceExit --runInBand && rm -rf ./coverage",
12
- "dev": "nodemon"
12
+ "build-to-local-repo": "npm run build && cp -r dist/* ../$REPO/node_modules/$npm_package_name/dist",
13
+ "dev": "nodemon",
14
+ "watch": "npm-watch build-to-local-repo"
15
+ },
16
+ "watch": {
17
+ "build-to-local-repo": {
18
+ "extensions": [
19
+ "js",
20
+ "jsx",
21
+ "ts",
22
+ "tsx",
23
+ "css"
24
+ ],
25
+ "patterns": [
26
+ "src"
27
+ ],
28
+ "quiet": false
29
+ }
13
30
  },
14
31
  "dependencies": {
15
32
  "@autofleet/common-types": "^1.7.29",
@@ -18,6 +35,7 @@
18
35
  "@autofleet/logger": "^2.0.5",
19
36
  "express": "^4.18.2",
20
37
  "joi": "^17.7.0",
38
+ "npm-watch": "^0.11.0",
21
39
  "pg": "^8.10.0",
22
40
  "reflect-metadata": "^0.1.13",
23
41
  "sequelize": "^6.31.1",
package/src/index.ts CHANGED
@@ -24,7 +24,7 @@ const useCustomFields = async (
24
24
  ): Promise<Sequelize> => {
25
25
  const { models } = options;
26
26
  if (app) {
27
- app.use('/api', api);
27
+ app.use('/api', options.middleware, api);
28
28
  }
29
29
  const sequelize = initDB(options.databaseConfig);
30
30
  if (process.env.NODE_ENV === 'test') {
@@ -52,16 +52,16 @@ export const updateValues = async (
52
52
  valuesToUpdate: ValuesToUpdate,
53
53
  options: any = {},
54
54
  ): Promise<CustomFieldValue[]> => {
55
+ logger.info(`custom-fields: updating values for ${modelType} ${modelId}`, { valuesToUpdate });
56
+
55
57
  const names = Object.keys(valuesToUpdate);
56
58
  const fieldDefinitions = await DefinitionRepo.findAll(
57
59
  { modelType, name: names, entityId: identifiers },
58
60
  { withDisabled: true, transaction: options.transaction },
59
61
  ) || [];
60
62
 
61
- logger.info(`custom-fields: updating values for ${modelType} ${modelId}`, { valuesToUpdate, entityId: identifiers });
62
63
  const disabledDefinitions = fieldDefinitions.filter((def) => def.disabled);
63
64
  if (fieldDefinitions.length !== names.length) {
64
- logger.info(`custom-fields: missing definitions for ${modelType} ${modelId}`, { names, fieldDefinitions });
65
65
  const missingDefinitions = names.filter((name) => !fieldDefinitions.some((def) => def.name === name));
66
66
  throw new MissingDefinitionError(missingDefinitions);
67
67
  }
@@ -1,3 +1,5 @@
1
+ import { RequestHandler } from 'express';
2
+
1
3
  export type ModelFetcher = (name: string) => any;
2
4
 
3
5
  export type ModelOptions = {
@@ -8,8 +10,9 @@ export type ModelOptions = {
8
10
  deletionWebhookHandler?: (instance: any) => any;
9
11
  }
10
12
 
11
- export type CustomFieldOptions= {
13
+ export type CustomFieldOptions = {
12
14
  models: ModelOptions[];
13
15
  databaseConfig: any;
14
16
  getUser: () => any;
17
+ middleware?: RequestHandler
15
18
  };