@adaptic/backend-legacy 0.0.71 → 0.0.73
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/config/jwtConfig.cjs +52 -0
- package/config/jwtConfig.d.ts +16 -0
- package/config/jwtConfig.d.ts.map +1 -0
- package/config/jwtConfig.js.map +1 -0
- package/config/metrics.cjs +261 -0
- package/config/metrics.d.ts +88 -0
- package/config/metrics.d.ts.map +1 -0
- package/config/metrics.js.map +1 -0
- package/config/persisted-queries.cjs +122 -0
- package/config/persisted-queries.d.ts +40 -0
- package/config/persisted-queries.d.ts.map +1 -0
- package/config/persisted-queries.js.map +1 -0
- package/config/tracing.cjs +128 -0
- package/config/tracing.d.ts +24 -0
- package/config/tracing.d.ts.map +1 -0
- package/config/tracing.js.map +1 -0
- package/middleware/audit-logger.cjs +223 -0
- package/middleware/audit-logger.d.ts +85 -0
- package/middleware/audit-logger.d.ts.map +1 -0
- package/middleware/audit-logger.js.map +1 -0
- package/middleware/auth.cjs +44 -0
- package/middleware/auth.d.ts +6 -0
- package/middleware/auth.d.ts.map +1 -0
- package/middleware/auth.js.map +1 -0
- package/middleware/graphql-validation-plugin.cjs +164 -0
- package/middleware/graphql-validation-plugin.d.ts +37 -0
- package/middleware/graphql-validation-plugin.d.ts.map +1 -0
- package/middleware/graphql-validation-plugin.js.map +1 -0
- package/middleware/index.cjs +46 -0
- package/middleware/index.d.ts +13 -0
- package/middleware/index.d.ts.map +1 -0
- package/middleware/index.js.map +1 -0
- package/middleware/input-validator.cjs +220 -0
- package/middleware/input-validator.d.ts +63 -0
- package/middleware/input-validator.d.ts.map +1 -0
- package/middleware/input-validator.js.map +1 -0
- package/middleware/query-complexity.cjs +182 -0
- package/middleware/query-complexity.d.ts +56 -0
- package/middleware/query-complexity.d.ts.map +1 -0
- package/middleware/query-complexity.js.map +1 -0
- package/middleware/rate-limiter.cjs +112 -0
- package/middleware/rate-limiter.d.ts +16 -0
- package/middleware/rate-limiter.d.ts.map +1 -0
- package/middleware/rate-limiter.js.map +1 -0
- package/middleware/soft-delete.cjs +175 -0
- package/middleware/soft-delete.d.ts +146 -0
- package/middleware/soft-delete.d.ts.map +1 -0
- package/middleware/soft-delete.js.map +1 -0
- package/middleware/types.cjs +17 -0
- package/middleware/types.d.ts +87 -0
- package/middleware/types.d.ts.map +1 -0
- package/middleware/types.js.map +1 -0
- package/middleware/validation-examples.cjs +403 -0
- package/middleware/validation-examples.d.ts +76 -0
- package/middleware/validation-examples.d.ts.map +1 -0
- package/middleware/validation-examples.js.map +1 -0
- package/package.json +4 -1
- package/validators/allocation-validator.cjs +85 -0
- package/validators/allocation-validator.d.ts +32 -0
- package/validators/allocation-validator.d.ts.map +1 -0
- 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.
|
|
3
|
+
"version": "0.0.73",
|
|
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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"}
|