digitaltwin-core 0.14.3 → 1.0.0

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 (123) hide show
  1. package/README.md +135 -0
  2. package/dist/auth/apisix_parser.d.ts +46 -51
  3. package/dist/auth/apisix_parser.d.ts.map +1 -1
  4. package/dist/auth/apisix_parser.js +62 -86
  5. package/dist/auth/apisix_parser.js.map +1 -1
  6. package/dist/auth/auth_provider.d.ts +118 -0
  7. package/dist/auth/auth_provider.d.ts.map +1 -0
  8. package/dist/auth/auth_provider.js +8 -0
  9. package/dist/auth/auth_provider.js.map +1 -0
  10. package/dist/auth/auth_provider_factory.d.ts +91 -0
  11. package/dist/auth/auth_provider_factory.d.ts.map +1 -0
  12. package/dist/auth/auth_provider_factory.js +146 -0
  13. package/dist/auth/auth_provider_factory.js.map +1 -0
  14. package/dist/auth/index.d.ts +3 -0
  15. package/dist/auth/index.d.ts.map +1 -1
  16. package/dist/auth/index.js +3 -0
  17. package/dist/auth/index.js.map +1 -1
  18. package/dist/auth/providers/gateway_auth_provider.d.ts +78 -0
  19. package/dist/auth/providers/gateway_auth_provider.d.ts.map +1 -0
  20. package/dist/auth/providers/gateway_auth_provider.js +109 -0
  21. package/dist/auth/providers/gateway_auth_provider.js.map +1 -0
  22. package/dist/auth/providers/index.d.ts +4 -0
  23. package/dist/auth/providers/index.d.ts.map +1 -0
  24. package/dist/auth/providers/index.js +4 -0
  25. package/dist/auth/providers/index.js.map +1 -0
  26. package/dist/auth/providers/jwt_auth_provider.d.ts +91 -0
  27. package/dist/auth/providers/jwt_auth_provider.d.ts.map +1 -0
  28. package/dist/auth/providers/jwt_auth_provider.js +204 -0
  29. package/dist/auth/providers/jwt_auth_provider.js.map +1 -0
  30. package/dist/auth/providers/no_auth_provider.d.ts +61 -0
  31. package/dist/auth/providers/no_auth_provider.d.ts.map +1 -0
  32. package/dist/auth/providers/no_auth_provider.js +76 -0
  33. package/dist/auth/providers/no_auth_provider.js.map +1 -0
  34. package/dist/components/assets_manager.d.ts +1 -1
  35. package/dist/components/assets_manager.d.ts.map +1 -1
  36. package/dist/components/assets_manager.js +52 -44
  37. package/dist/components/assets_manager.js.map +1 -1
  38. package/dist/components/collector.d.ts.map +1 -1
  39. package/dist/components/collector.js +30 -18
  40. package/dist/components/collector.js.map +1 -1
  41. package/dist/components/custom_table_manager.d.ts.map +1 -1
  42. package/dist/components/custom_table_manager.js +36 -65
  43. package/dist/components/custom_table_manager.js.map +1 -1
  44. package/dist/components/harvester.d.ts.map +1 -1
  45. package/dist/components/harvester.js +46 -33
  46. package/dist/components/harvester.js.map +1 -1
  47. package/dist/components/tileset_manager.d.ts.map +1 -1
  48. package/dist/components/tileset_manager.js +20 -15
  49. package/dist/components/tileset_manager.js.map +1 -1
  50. package/dist/database/adapters/knex_database_adapter.d.ts +5 -0
  51. package/dist/database/adapters/knex_database_adapter.d.ts.map +1 -1
  52. package/dist/database/adapters/knex_database_adapter.js +116 -34
  53. package/dist/database/adapters/knex_database_adapter.js.map +1 -1
  54. package/dist/database/database_adapter.d.ts +11 -0
  55. package/dist/database/database_adapter.d.ts.map +1 -1
  56. package/dist/database/database_adapter.js.map +1 -1
  57. package/dist/engine/digital_twin_engine.d.ts +48 -6
  58. package/dist/engine/digital_twin_engine.d.ts.map +1 -1
  59. package/dist/engine/digital_twin_engine.js +175 -48
  60. package/dist/engine/digital_twin_engine.js.map +1 -1
  61. package/dist/engine/endpoints.d.ts.map +1 -1
  62. package/dist/engine/endpoints.js +35 -3
  63. package/dist/engine/endpoints.js.map +1 -1
  64. package/dist/engine/error_handler.d.ts +20 -0
  65. package/dist/engine/error_handler.d.ts.map +1 -0
  66. package/dist/engine/error_handler.js +69 -0
  67. package/dist/engine/error_handler.js.map +1 -0
  68. package/dist/engine/health.d.ts +112 -0
  69. package/dist/engine/health.d.ts.map +1 -0
  70. package/dist/engine/health.js +190 -0
  71. package/dist/engine/health.js.map +1 -0
  72. package/dist/engine/scheduler.d.ts.map +1 -1
  73. package/dist/engine/scheduler.js +9 -1
  74. package/dist/engine/scheduler.js.map +1 -1
  75. package/dist/engine/upload_processor.d.ts.map +1 -1
  76. package/dist/engine/upload_processor.js +24 -12
  77. package/dist/engine/upload_processor.js.map +1 -1
  78. package/dist/errors/index.d.ts +94 -0
  79. package/dist/errors/index.d.ts.map +1 -0
  80. package/dist/errors/index.js +149 -0
  81. package/dist/errors/index.js.map +1 -0
  82. package/dist/index.d.ts +6 -0
  83. package/dist/index.d.ts.map +1 -1
  84. package/dist/index.js +8 -0
  85. package/dist/index.js.map +1 -1
  86. package/dist/storage/adapters/local_storage_service.d.ts +6 -0
  87. package/dist/storage/adapters/local_storage_service.d.ts.map +1 -1
  88. package/dist/storage/adapters/local_storage_service.js +26 -4
  89. package/dist/storage/adapters/local_storage_service.js.map +1 -1
  90. package/dist/storage/adapters/ovh_storage_service.d.ts.map +1 -1
  91. package/dist/storage/adapters/ovh_storage_service.js +5 -6
  92. package/dist/storage/adapters/ovh_storage_service.js.map +1 -1
  93. package/dist/storage/storage_factory.d.ts.map +1 -1
  94. package/dist/storage/storage_factory.js +4 -1
  95. package/dist/storage/storage_factory.js.map +1 -1
  96. package/dist/storage/storage_service.d.ts.map +1 -1
  97. package/dist/storage/storage_service.js +6 -2
  98. package/dist/storage/storage_service.js.map +1 -1
  99. package/dist/utils/graceful_shutdown.d.ts +44 -0
  100. package/dist/utils/graceful_shutdown.d.ts.map +1 -0
  101. package/dist/utils/graceful_shutdown.js +79 -0
  102. package/dist/utils/graceful_shutdown.js.map +1 -0
  103. package/dist/utils/http_responses.d.ts +20 -0
  104. package/dist/utils/http_responses.d.ts.map +1 -1
  105. package/dist/utils/http_responses.js +28 -2
  106. package/dist/utils/http_responses.js.map +1 -1
  107. package/dist/utils/safe_async.d.ts +50 -0
  108. package/dist/utils/safe_async.d.ts.map +1 -0
  109. package/dist/utils/safe_async.js +90 -0
  110. package/dist/utils/safe_async.js.map +1 -0
  111. package/dist/validation/index.d.ts +3 -0
  112. package/dist/validation/index.d.ts.map +1 -0
  113. package/dist/validation/index.js +7 -0
  114. package/dist/validation/index.js.map +1 -0
  115. package/dist/validation/schemas.d.ts +273 -0
  116. package/dist/validation/schemas.d.ts.map +1 -0
  117. package/dist/validation/schemas.js +82 -0
  118. package/dist/validation/schemas.js.map +1 -0
  119. package/dist/validation/validate.d.ts +49 -0
  120. package/dist/validation/validate.d.ts.map +1 -0
  121. package/dist/validation/validate.js +110 -0
  122. package/dist/validation/validate.js.map +1 -0
  123. package/package.json +9 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../src/validation/schemas.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ import vine from '@vinejs/vine';
2
+ type AnyValidator = {
3
+ validate: (data: unknown) => Promise<unknown>;
4
+ };
5
+ /**
6
+ * Validates data using a pre-compiled VineJS validator.
7
+ * @param validator - Compiled VineJS validator
8
+ * @param data - Data to validate
9
+ * @param context - Optional context for error messages
10
+ * @returns Validated and typed data
11
+ * @throws ValidationError if validation fails
12
+ */
13
+ export declare function validateData<T>(validator: AnyValidator, data: unknown, context?: string): Promise<T>;
14
+ /**
15
+ * Validates data and returns result without throwing.
16
+ * Useful for optional validation or when you want to handle errors manually.
17
+ * @param validator - Compiled VineJS validator
18
+ * @param data - Data to validate
19
+ * @returns Object with success status, data (if valid), or errors (if invalid)
20
+ */
21
+ export declare function safeValidate<T>(validator: AnyValidator, data: unknown): Promise<{
22
+ success: true;
23
+ data: T;
24
+ } | {
25
+ success: false;
26
+ errors: Array<{
27
+ field: string;
28
+ message: string;
29
+ }>;
30
+ }>;
31
+ /**
32
+ * Validates query parameters, coercing string values to appropriate types.
33
+ * Query params from Express are always strings, so we need to convert them.
34
+ * @param validator - Compiled VineJS validator
35
+ * @param query - Query object from Express request
36
+ * @param context - Optional context for error messages
37
+ * @returns Validated and typed query parameters
38
+ */
39
+ export declare function validateQuery<T>(validator: AnyValidator, query: Record<string, unknown>, context?: string): Promise<T>;
40
+ /**
41
+ * Validates path parameters (e.g., :id in routes).
42
+ * @param validator - Compiled VineJS validator
43
+ * @param params - Params object from Express request
44
+ * @param context - Optional context for error messages
45
+ * @returns Validated and typed parameters
46
+ */
47
+ export declare function validateParams<T>(validator: AnyValidator, params: Record<string, string>, context?: string): Promise<T>;
48
+ export { vine };
49
+ //# sourceMappingURL=validate.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.d.ts","sourceRoot":"","sources":["../../src/validation/validate.ts"],"names":[],"mappings":"AAAA,OAAO,IAAgB,MAAM,cAAc,CAAA;AAG3C,KAAK,YAAY,GAAG;IAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAA;CAAE,CAAA;AAErE;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAAC,CAAC,EAAE,SAAS,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAgB1G;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,CAAC,EAChC,SAAS,EAAE,YAAY,EACvB,IAAI,EAAE,OAAO,GACd,OAAO,CAAC;IAAE,OAAO,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,CAAC,CAAA;CAAE,GAAG;IAAE,OAAO,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CAAE,CAAC,CAU7G;AAED;;;;;;;GAOG;AACH,wBAAsB,aAAa,CAAC,CAAC,EACjC,SAAS,EAAE,YAAY,EACvB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC9B,OAAO,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,CAAC,CAAC,CA6BZ;AAED;;;;;;GAMG;AACH,wBAAsB,cAAc,CAAC,CAAC,EAClC,SAAS,EAAE,YAAY,EACvB,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,OAAO,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,CAAC,CAAC,CAgBZ;AAGD,OAAO,EAAE,IAAI,EAAE,CAAA"}
@@ -0,0 +1,110 @@
1
+ import vine, { errors } from '@vinejs/vine';
2
+ import { ValidationError } from '../errors/index.js';
3
+ /**
4
+ * Validates data using a pre-compiled VineJS validator.
5
+ * @param validator - Compiled VineJS validator
6
+ * @param data - Data to validate
7
+ * @param context - Optional context for error messages
8
+ * @returns Validated and typed data
9
+ * @throws ValidationError if validation fails
10
+ */
11
+ export async function validateData(validator, data, context) {
12
+ try {
13
+ const result = await validator.validate(data);
14
+ return result;
15
+ }
16
+ catch (error) {
17
+ if (error instanceof errors.E_VALIDATION_ERROR) {
18
+ const messages = error.messages
19
+ .map((e) => `${e.field}: ${e.message}`)
20
+ .join(', ');
21
+ throw new ValidationError(context ? `${context}: ${messages}` : messages, {
22
+ errors: error.messages
23
+ });
24
+ }
25
+ throw error;
26
+ }
27
+ }
28
+ /**
29
+ * Validates data and returns result without throwing.
30
+ * Useful for optional validation or when you want to handle errors manually.
31
+ * @param validator - Compiled VineJS validator
32
+ * @param data - Data to validate
33
+ * @returns Object with success status, data (if valid), or errors (if invalid)
34
+ */
35
+ export async function safeValidate(validator, data) {
36
+ try {
37
+ const validated = await validator.validate(data);
38
+ return { success: true, data: validated };
39
+ }
40
+ catch (error) {
41
+ if (error instanceof errors.E_VALIDATION_ERROR) {
42
+ return { success: false, errors: error.messages };
43
+ }
44
+ throw error;
45
+ }
46
+ }
47
+ /**
48
+ * Validates query parameters, coercing string values to appropriate types.
49
+ * Query params from Express are always strings, so we need to convert them.
50
+ * @param validator - Compiled VineJS validator
51
+ * @param query - Query object from Express request
52
+ * @param context - Optional context for error messages
53
+ * @returns Validated and typed query parameters
54
+ */
55
+ export async function validateQuery(validator, query, context) {
56
+ // Coerce query string values to appropriate types
57
+ const coerced = {};
58
+ for (const [key, value] of Object.entries(query)) {
59
+ if (value === undefined || value === '') {
60
+ continue; // Skip empty values
61
+ }
62
+ if (typeof value === 'string') {
63
+ // Try to coerce to number
64
+ const num = Number(value);
65
+ if (!isNaN(num) && value.trim() !== '') {
66
+ coerced[key] = num;
67
+ }
68
+ // Try to coerce to boolean
69
+ else if (value.toLowerCase() === 'true') {
70
+ coerced[key] = true;
71
+ }
72
+ else if (value.toLowerCase() === 'false') {
73
+ coerced[key] = false;
74
+ }
75
+ else {
76
+ coerced[key] = value;
77
+ }
78
+ }
79
+ else {
80
+ coerced[key] = value;
81
+ }
82
+ }
83
+ return validateData(validator, coerced, context);
84
+ }
85
+ /**
86
+ * Validates path parameters (e.g., :id in routes).
87
+ * @param validator - Compiled VineJS validator
88
+ * @param params - Params object from Express request
89
+ * @param context - Optional context for error messages
90
+ * @returns Validated and typed parameters
91
+ */
92
+ export async function validateParams(validator, params, context) {
93
+ // Coerce param values (always strings from Express)
94
+ const coerced = {};
95
+ for (const [key, value] of Object.entries(params)) {
96
+ if (value === undefined)
97
+ continue;
98
+ const num = Number(value);
99
+ if (!isNaN(num) && value.trim() !== '') {
100
+ coerced[key] = num;
101
+ }
102
+ else {
103
+ coerced[key] = value;
104
+ }
105
+ }
106
+ return validateData(validator, coerced, context);
107
+ }
108
+ // Re-export vine for custom schema creation
109
+ export { vine };
110
+ //# sourceMappingURL=validate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/validation/validate.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "digitaltwin-core",
3
- "version": "0.14.3",
3
+ "version": "1.0.0",
4
4
  "description": "Minimalist framework to collect and handle data in a Digital Twin project",
5
5
  "license": "MIT",
6
6
  "author": "Axel Hoffmann",
@@ -23,6 +23,8 @@
23
23
  "dev": "tsc --watch",
24
24
  "clean": "rimraf dist tsconfig.tsbuildinfo",
25
25
  "test": "node -r ./bin/set-test-env.cjs --import ts-node-maintained/register/esm --enable-source-maps bin/test.ts",
26
+ "test:coverage": "c8 node -r ./bin/set-test-env.cjs --import ts-node-maintained/register/esm --enable-source-maps bin/test.ts",
27
+ "test:coverage:html": "c8 --reporter=html node -r ./bin/set-test-env.cjs --import ts-node-maintained/register/esm --enable-source-maps bin/test.ts",
26
28
  "lint": "eslint src/**/*.ts",
27
29
  "lint:fix": "eslint src/**/*.ts --fix",
28
30
  "format": "prettier --write \"src/**/*.ts\"",
@@ -56,12 +58,16 @@
56
58
  "@japa/assert": "^4.1.0",
57
59
  "@japa/runner": "^4.3.0",
58
60
  "@testcontainers/redis": "^11.3.1",
61
+ "@types/better-sqlite3": "^7.6.13",
59
62
  "@types/cors": "^2.8.19",
60
63
  "@types/ioredis-mock": "^8.2.6",
64
+ "@types/jsonwebtoken": "^9.0.10",
61
65
  "@types/jszip": "^3.4.0",
62
66
  "@types/lodash": "^4.17.20",
63
67
  "@types/multer": "^2.0.0",
64
68
  "@types/uuid": "^10.0.0",
69
+ "better-sqlite3": "^12.6.0",
70
+ "c8": "^10.1.3",
65
71
  "eslint": "^9.0.0",
66
72
  "globals": "^15.0.0",
67
73
  "prettier": "^3.0.0",
@@ -92,9 +98,11 @@
92
98
  },
93
99
  "dependencies": {
94
100
  "@aws-sdk/client-s3": "^3.850.0",
101
+ "@vinejs/vine": "^4.2.0",
95
102
  "bullmq": "^5.56.5",
96
103
  "cors": "^2.8.5",
97
104
  "ioredis": "^5.6.1",
105
+ "jsonwebtoken": "^9.0.3",
98
106
  "jszip": "^3.10.1",
99
107
  "lodash": "^4.17.21",
100
108
  "multer": "^2.0.2",