@adaptic/backend-legacy 0.0.71 → 0.0.72

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 (61) hide show
  1. package/config/jwtConfig.cjs +52 -0
  2. package/config/jwtConfig.d.ts +16 -0
  3. package/config/jwtConfig.d.ts.map +1 -0
  4. package/config/jwtConfig.js.map +1 -0
  5. package/config/metrics.cjs +261 -0
  6. package/config/metrics.d.ts +88 -0
  7. package/config/metrics.d.ts.map +1 -0
  8. package/config/metrics.js.map +1 -0
  9. package/config/persisted-queries.cjs +122 -0
  10. package/config/persisted-queries.d.ts +40 -0
  11. package/config/persisted-queries.d.ts.map +1 -0
  12. package/config/persisted-queries.js.map +1 -0
  13. package/config/tracing.cjs +128 -0
  14. package/config/tracing.d.ts +24 -0
  15. package/config/tracing.d.ts.map +1 -0
  16. package/config/tracing.js.map +1 -0
  17. package/middleware/audit-logger.cjs +223 -0
  18. package/middleware/audit-logger.d.ts +85 -0
  19. package/middleware/audit-logger.d.ts.map +1 -0
  20. package/middleware/audit-logger.js.map +1 -0
  21. package/middleware/auth.cjs +44 -0
  22. package/middleware/auth.d.ts +6 -0
  23. package/middleware/auth.d.ts.map +1 -0
  24. package/middleware/auth.js.map +1 -0
  25. package/middleware/graphql-validation-plugin.cjs +164 -0
  26. package/middleware/graphql-validation-plugin.d.ts +37 -0
  27. package/middleware/graphql-validation-plugin.d.ts.map +1 -0
  28. package/middleware/graphql-validation-plugin.js.map +1 -0
  29. package/middleware/index.cjs +46 -0
  30. package/middleware/index.d.ts +13 -0
  31. package/middleware/index.d.ts.map +1 -0
  32. package/middleware/index.js.map +1 -0
  33. package/middleware/input-validator.cjs +220 -0
  34. package/middleware/input-validator.d.ts +63 -0
  35. package/middleware/input-validator.d.ts.map +1 -0
  36. package/middleware/input-validator.js.map +1 -0
  37. package/middleware/query-complexity.cjs +182 -0
  38. package/middleware/query-complexity.d.ts +56 -0
  39. package/middleware/query-complexity.d.ts.map +1 -0
  40. package/middleware/query-complexity.js.map +1 -0
  41. package/middleware/rate-limiter.cjs +112 -0
  42. package/middleware/rate-limiter.d.ts +16 -0
  43. package/middleware/rate-limiter.d.ts.map +1 -0
  44. package/middleware/rate-limiter.js.map +1 -0
  45. package/middleware/soft-delete.cjs +175 -0
  46. package/middleware/soft-delete.d.ts +146 -0
  47. package/middleware/soft-delete.d.ts.map +1 -0
  48. package/middleware/soft-delete.js.map +1 -0
  49. package/middleware/types.cjs +17 -0
  50. package/middleware/types.d.ts +87 -0
  51. package/middleware/types.d.ts.map +1 -0
  52. package/middleware/types.js.map +1 -0
  53. package/middleware/validation-examples.cjs +403 -0
  54. package/middleware/validation-examples.d.ts +76 -0
  55. package/middleware/validation-examples.d.ts.map +1 -0
  56. package/middleware/validation-examples.js.map +1 -0
  57. package/package.json +4 -1
  58. package/validators/allocation-validator.cjs +85 -0
  59. package/validators/allocation-validator.d.ts +32 -0
  60. package/validators/allocation-validator.d.ts.map +1 -0
  61. package/validators/allocation-validator.js.map +1 -0
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Example usage of validation functions in custom resolvers
3
+ *
4
+ * This file demonstrates how to use the validation utilities
5
+ * in custom resolver implementations.
6
+ */
7
+ /**
8
+ * Example: Portfolio allocation input with validation
9
+ */
10
+ declare class PortfolioAllocationInput {
11
+ equitiesPct: number;
12
+ optionsPct: number;
13
+ cryptoPct: number;
14
+ portfolioName: string;
15
+ }
16
+ /**
17
+ * Example: Trade configuration input with validation
18
+ */
19
+ declare class TradeConfigurationInput {
20
+ tradeAllocationPct: number;
21
+ minPercentageChange: number;
22
+ volumeThreshold: number;
23
+ quantity: number;
24
+ }
25
+ /**
26
+ * Example resolver demonstrating manual validation in custom resolvers
27
+ *
28
+ * Note: With the validation plugin enabled, these validations happen
29
+ * automatically. This example shows how to add ADDITIONAL custom validation
30
+ * logic beyond the automatic pattern-based validation.
31
+ */
32
+ export declare class ValidationExamplesResolver {
33
+ /**
34
+ * Example 1: Basic field validation in a mutation
35
+ */
36
+ updatePortfolioAllocation(input: PortfolioAllocationInput): Promise<boolean>;
37
+ /**
38
+ * Example 2: Batch validation using validateFields
39
+ */
40
+ updateTradeConfiguration(input: TradeConfigurationInput): Promise<boolean>;
41
+ /**
42
+ * Example 3: Conditional validation based on business logic
43
+ */
44
+ createTrade(quantity: number, isPremiumUser: boolean): Promise<boolean>;
45
+ /**
46
+ * Example 4: Validating related fields together
47
+ */
48
+ setTradingThresholds(minPrice: number, maxPrice: number, targetPrice: number): Promise<boolean>;
49
+ /**
50
+ * Example 5: Using manual validation for non-standard field names
51
+ */
52
+ updateCustomSettings(customAllocation: number, customQuantity: number): Promise<boolean>;
53
+ /**
54
+ * Example 6: Accumulating multiple validation errors
55
+ */
56
+ bulkUpdateAllocations(allocations: PortfolioAllocationInput[]): Promise<boolean>;
57
+ }
58
+ /**
59
+ * Example: Reusable validation functions for complex business rules
60
+ */
61
+ export declare class CustomValidators {
62
+ /**
63
+ * Validates that portfolio allocations sum to 100%
64
+ */
65
+ static validatePortfolioAllocationSum(equities: number, options: number, crypto: number): void;
66
+ /**
67
+ * Validates that a price is within acceptable market bounds
68
+ */
69
+ static validateMarketPrice(price: number, fieldName: string): void;
70
+ /**
71
+ * Validates Greeks values are within expected ranges
72
+ */
73
+ static validateGreeks(delta: number, gamma: number, theta: number, vega: number): void;
74
+ }
75
+ export {};
76
+ //# sourceMappingURL=validation-examples.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation-examples.d.ts","sourceRoot":"","sources":["../../src/middleware/validation-examples.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH;;GAEG;AACH,cACM,wBAAwB;IAE5B,WAAW,EAAG,MAAM,CAAC;IAGrB,UAAU,EAAG,MAAM,CAAC;IAGpB,SAAS,EAAG,MAAM,CAAC;IAGnB,aAAa,EAAG,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,cACM,uBAAuB;IAE3B,kBAAkB,EAAG,MAAM,CAAC;IAG5B,mBAAmB,EAAG,MAAM,CAAC;IAG7B,eAAe,EAAG,MAAM,CAAC;IAGzB,QAAQ,EAAG,MAAM,CAAC;CACnB;AAED;;;;;;GAMG;AACH,qBACa,0BAA0B;IACrC;;OAEG;IAEG,yBAAyB,CACH,KAAK,EAAE,wBAAwB,GACxD,OAAO,CAAC,OAAO,CAAC;IA0BnB;;OAEG;IAEG,wBAAwB,CACF,KAAK,EAAE,uBAAuB,GACvD,OAAO,CAAC,OAAO,CAAC;IA6BnB;;OAEG;IAEG,WAAW,CACc,QAAQ,EAAE,MAAM,EACX,aAAa,EAAE,OAAO,GACvD,OAAO,CAAC,OAAO,CAAC;IAmBnB;;OAEG;IAEG,oBAAoB,CACK,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,GAClD,OAAO,CAAC,OAAO,CAAC;IA8BnB;;OAEG;IAEG,oBAAoB,CACa,gBAAgB,EAAE,MAAM,EAC1B,cAAc,EAAE,MAAM,GACxD,OAAO,CAAC,OAAO,CAAC;IAUnB;;OAEG;IAEG,qBAAqB,CAEzB,WAAW,EAAE,wBAAwB,EAAE,GACtC,OAAO,CAAC,OAAO,CAAC;CA+BpB;AAED;;GAEG;AACH,qBAAa,gBAAgB;IAC3B;;OAEG;IACH,MAAM,CAAC,8BAA8B,CACnC,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,GACb,IAAI;IAeP;;OAEG;IACH,MAAM,CAAC,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,IAAI;IAgBlE;;OAEG;IACH,MAAM,CAAC,cAAc,CACnB,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,IAAI,EAAE,MAAM,GACX,IAAI;CAoDR"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation-examples.js","sourceRoot":"","sources":["../../src/middleware/validation-examples.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@adaptic/backend-legacy",
3
- "version": "0.0.71",
3
+ "version": "0.0.72",
4
4
  "description": "Backend executable CRUD functions with dynamic variables construction, and type definitions for the Adaptic AI platform.",
5
5
  "type": "module",
6
6
  "types": "index.d.ts",
@@ -21,6 +21,9 @@
21
21
  "server/",
22
22
  "resolvers/",
23
23
  "utils/",
24
+ "validators/",
25
+ "config/",
26
+ "middleware/",
24
27
  "*.d.ts",
25
28
  "*.js",
26
29
  "*.cjs",
@@ -0,0 +1,85 @@
1
+ "use strict";
2
+ /**
3
+ * Validation utilities for Allocation model
4
+ */
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.validateAllocationPercentages = validateAllocationPercentages;
7
+ exports.assertValidAllocation = assertValidAllocation;
8
+ /**
9
+ * Validates allocation percentages ensuring they sum to 100% and meet other constraints
10
+ * @param values - Allocation values to validate
11
+ * @returns Validation result with errors if any
12
+ */
13
+ function validateAllocationPercentages(values) {
14
+ var _a, _b, _c, _d, _e, _f;
15
+ const errors = [];
16
+ // Default values matching schema defaults
17
+ const equities = (_a = values.equities) !== null && _a !== void 0 ? _a : 70;
18
+ const optionsContracts = (_b = values.optionsContracts) !== null && _b !== void 0 ? _b : 5;
19
+ const futures = (_c = values.futures) !== null && _c !== void 0 ? _c : 0;
20
+ const etfs = (_d = values.etfs) !== null && _d !== void 0 ? _d : 10;
21
+ const forex = (_e = values.forex) !== null && _e !== void 0 ? _e : 0;
22
+ const crypto = (_f = values.crypto) !== null && _f !== void 0 ? _f : 15;
23
+ // Validate all values are numbers
24
+ const fields = [
25
+ { name: 'equities', value: equities },
26
+ { name: 'optionsContracts', value: optionsContracts },
27
+ { name: 'futures', value: futures },
28
+ { name: 'etfs', value: etfs },
29
+ { name: 'forex', value: forex },
30
+ { name: 'crypto', value: crypto },
31
+ ];
32
+ for (const field of fields) {
33
+ if (typeof field.value !== 'number' || isNaN(field.value)) {
34
+ errors.push({
35
+ field: field.name,
36
+ message: `${field.name} must be a valid number`,
37
+ });
38
+ }
39
+ }
40
+ // If any field is not a number, return early
41
+ if (errors.length > 0) {
42
+ return { isValid: false, errors };
43
+ }
44
+ // Validate no negative values
45
+ for (const field of fields) {
46
+ if (field.value < 0) {
47
+ errors.push({
48
+ field: field.name,
49
+ message: `${field.name} cannot be negative`,
50
+ });
51
+ }
52
+ }
53
+ // Calculate total sum
54
+ const sum = equities + optionsContracts + futures + etfs + forex + crypto;
55
+ // Validate sum is 100% with tolerance for floating point precision
56
+ const MIN_SUM = 99.99;
57
+ const MAX_SUM = 100.01;
58
+ if (sum < MIN_SUM || sum > MAX_SUM) {
59
+ errors.push({
60
+ field: 'allocation',
61
+ message: `Total allocation must sum to 100% (current: ${sum.toFixed(2)}%). ` +
62
+ `Please adjust: equities (${equities}%) + optionsContracts (${optionsContracts}%) + ` +
63
+ `futures (${futures}%) + etfs (${etfs}%) + forex (${forex}%) + crypto (${crypto}%)`,
64
+ });
65
+ }
66
+ return {
67
+ isValid: errors.length === 0,
68
+ errors,
69
+ };
70
+ }
71
+ /**
72
+ * Throws an error if allocation validation fails
73
+ * @param values - Allocation values to validate
74
+ * @throws Error with detailed validation message
75
+ */
76
+ function assertValidAllocation(values) {
77
+ const result = validateAllocationPercentages(values);
78
+ if (!result.isValid) {
79
+ const errorMessages = result.errors
80
+ .map((error) => `${error.field}: ${error.message}`)
81
+ .join('; ');
82
+ throw new Error(`Allocation validation failed: ${errorMessages}`);
83
+ }
84
+ }
85
+ //# sourceMappingURL=allocation-validator.js.map
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Validation utilities for Allocation model
3
+ */
4
+ export interface AllocationValidationError {
5
+ field: string;
6
+ message: string;
7
+ }
8
+ export interface AllocationValidationResult {
9
+ isValid: boolean;
10
+ errors: AllocationValidationError[];
11
+ }
12
+ export interface AllocationValues {
13
+ equities?: number;
14
+ optionsContracts?: number;
15
+ futures?: number;
16
+ etfs?: number;
17
+ forex?: number;
18
+ crypto?: number;
19
+ }
20
+ /**
21
+ * Validates allocation percentages ensuring they sum to 100% and meet other constraints
22
+ * @param values - Allocation values to validate
23
+ * @returns Validation result with errors if any
24
+ */
25
+ export declare function validateAllocationPercentages(values: AllocationValues): AllocationValidationResult;
26
+ /**
27
+ * Throws an error if allocation validation fails
28
+ * @param values - Allocation values to validate
29
+ * @throws Error with detailed validation message
30
+ */
31
+ export declare function assertValidAllocation(values: AllocationValues): void;
32
+ //# sourceMappingURL=allocation-validator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allocation-validator.d.ts","sourceRoot":"","sources":["../../src/validators/allocation-validator.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,yBAAyB;IACxC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,yBAAyB,EAAE,CAAC;CACrC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;GAIG;AACH,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,gBAAgB,GACvB,0BAA0B,CAkE5B;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAUpE"}
@@ -0,0 +1 @@
1
+ {"version":3,"file":"allocation-validator.js","sourceRoot":"","sources":["../../src/validators/allocation-validator.ts"],"names":[],"mappings":"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"}