@firela/api-types 0.0.0-canary.e1146c01 → 0.0.0-canary.ebb51de2
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/dist/index.d.mts +739 -766
- package/dist/index.d.ts +739 -766
- package/dist/index.js +17 -72
- package/dist/index.mjs +17 -72
- package/package.json +1 -1
- package/src/generated/schemas.gen.ts +866 -993
- package/src/generated/services.gen.ts +291 -91
- package/src/generated/types.gen.ts +860 -839
|
@@ -202,6 +202,10 @@ import type {
|
|
|
202
202
|
ProviderSyncControllerIsProviderSupportedResponse,
|
|
203
203
|
TelemetryControllerReportTelemetryData,
|
|
204
204
|
TelemetryControllerReportTelemetryResponse,
|
|
205
|
+
TelemetryControllerReportCoverageMissData,
|
|
206
|
+
TelemetryControllerReportCoverageMissResponse,
|
|
207
|
+
TelemetryControllerGetCoverageMetricsData,
|
|
208
|
+
TelemetryControllerGetCoverageMetricsResponse,
|
|
205
209
|
NlpControllerProcessNaturalLanguageData,
|
|
206
210
|
NlpControllerProcessNaturalLanguageResponse,
|
|
207
211
|
NlpControllerClearSessionData,
|
|
@@ -214,6 +218,20 @@ import type {
|
|
|
214
218
|
DashboardControllerGetAccountsResponse,
|
|
215
219
|
DashboardControllerGetCashFlowData,
|
|
216
220
|
DashboardControllerGetCashFlowResponse,
|
|
221
|
+
HoldingPnlControllerGetHoldingPnlData,
|
|
222
|
+
HoldingPnlControllerGetHoldingPnlResponse,
|
|
223
|
+
PriceControllerCreateData,
|
|
224
|
+
PriceControllerCreateResponse,
|
|
225
|
+
PriceControllerFindAllData,
|
|
226
|
+
PriceControllerFindAllResponse,
|
|
227
|
+
PriceControllerFindOneData,
|
|
228
|
+
PriceControllerFindOneResponse,
|
|
229
|
+
PriceControllerUpdateData,
|
|
230
|
+
PriceControllerUpdateResponse,
|
|
231
|
+
PriceControllerDeleteData,
|
|
232
|
+
PriceControllerDeleteResponse,
|
|
233
|
+
PriceControllerBulkCreateData,
|
|
234
|
+
PriceControllerBulkCreateResponse,
|
|
217
235
|
ReportingControllerGetPortfolioTrendsData,
|
|
218
236
|
ReportingControllerGetPortfolioTrendsResponse,
|
|
219
237
|
ReportingControllerGenerateSnapshotData,
|
|
@@ -239,12 +257,10 @@ import type {
|
|
|
239
257
|
|
|
240
258
|
export class BeanAccountsService {
|
|
241
259
|
/**
|
|
242
|
-
* Create a new account
|
|
243
|
-
* Creates a new account (Beancount Open directive)
|
|
244
260
|
* @param data The data for the request.
|
|
245
261
|
* @param data.region Region code for tenant context
|
|
246
262
|
* @param data.requestBody
|
|
247
|
-
* @returns
|
|
263
|
+
* @returns unknown
|
|
248
264
|
* @throws ApiError
|
|
249
265
|
*/
|
|
250
266
|
public static accountControllerCreate(
|
|
@@ -257,10 +273,7 @@ export class BeanAccountsService {
|
|
|
257
273
|
region: data.region
|
|
258
274
|
},
|
|
259
275
|
body: data.requestBody,
|
|
260
|
-
mediaType: 'application/json'
|
|
261
|
-
errors: {
|
|
262
|
-
409: 'Account already exists'
|
|
263
|
-
}
|
|
276
|
+
mediaType: 'application/json'
|
|
264
277
|
});
|
|
265
278
|
}
|
|
266
279
|
|
|
@@ -324,13 +337,11 @@ export class BeanAccountsService {
|
|
|
324
337
|
}
|
|
325
338
|
|
|
326
339
|
/**
|
|
327
|
-
* Update account
|
|
328
|
-
* Updates account metadata (path cannot be changed)
|
|
329
340
|
* @param data The data for the request.
|
|
330
|
-
* @param data.id
|
|
341
|
+
* @param data.id
|
|
331
342
|
* @param data.region Region code for tenant context
|
|
332
343
|
* @param data.requestBody
|
|
333
|
-
* @returns
|
|
344
|
+
* @returns unknown
|
|
334
345
|
* @throws ApiError
|
|
335
346
|
*/
|
|
336
347
|
public static accountControllerUpdate(
|
|
@@ -344,20 +355,15 @@ export class BeanAccountsService {
|
|
|
344
355
|
region: data.region
|
|
345
356
|
},
|
|
346
357
|
body: data.requestBody,
|
|
347
|
-
mediaType: 'application/json'
|
|
348
|
-
errors: {
|
|
349
|
-
404: 'Account not found'
|
|
350
|
-
}
|
|
358
|
+
mediaType: 'application/json'
|
|
351
359
|
});
|
|
352
360
|
}
|
|
353
361
|
|
|
354
362
|
/**
|
|
355
|
-
* Delete account
|
|
356
|
-
* Deletes an account (only if no transactions)
|
|
357
363
|
* @param data The data for the request.
|
|
358
|
-
* @param data.id
|
|
364
|
+
* @param data.id
|
|
359
365
|
* @param data.region Region code for tenant context
|
|
360
|
-
* @returns
|
|
366
|
+
* @returns unknown
|
|
361
367
|
* @throws ApiError
|
|
362
368
|
*/
|
|
363
369
|
public static accountControllerDelete(
|
|
@@ -369,22 +375,16 @@ export class BeanAccountsService {
|
|
|
369
375
|
path: {
|
|
370
376
|
id: data.id,
|
|
371
377
|
region: data.region
|
|
372
|
-
},
|
|
373
|
-
errors: {
|
|
374
|
-
404: 'Account not found',
|
|
375
|
-
409: 'Account has transactions and cannot be deleted'
|
|
376
378
|
}
|
|
377
379
|
});
|
|
378
380
|
}
|
|
379
381
|
|
|
380
382
|
/**
|
|
381
|
-
* Close account
|
|
382
|
-
* Closes an account (Beancount Close directive)
|
|
383
383
|
* @param data The data for the request.
|
|
384
|
-
* @param data.id
|
|
384
|
+
* @param data.id
|
|
385
385
|
* @param data.region Region code for tenant context
|
|
386
386
|
* @param data.requestBody
|
|
387
|
-
* @returns
|
|
387
|
+
* @returns unknown
|
|
388
388
|
* @throws ApiError
|
|
389
389
|
*/
|
|
390
390
|
public static accountControllerClose(
|
|
@@ -398,22 +398,16 @@ export class BeanAccountsService {
|
|
|
398
398
|
region: data.region
|
|
399
399
|
},
|
|
400
400
|
body: data.requestBody,
|
|
401
|
-
mediaType: 'application/json'
|
|
402
|
-
errors: {
|
|
403
|
-
400: 'Account is already closed',
|
|
404
|
-
404: 'Account not found'
|
|
405
|
-
}
|
|
401
|
+
mediaType: 'application/json'
|
|
406
402
|
});
|
|
407
403
|
}
|
|
408
404
|
|
|
409
405
|
/**
|
|
410
|
-
* Reopen account
|
|
411
|
-
* Reopens a previously closed account
|
|
412
406
|
* @param data The data for the request.
|
|
413
|
-
* @param data.id
|
|
407
|
+
* @param data.id
|
|
414
408
|
* @param data.region Region code for tenant context
|
|
415
409
|
* @param data.requestBody
|
|
416
|
-
* @returns
|
|
410
|
+
* @returns unknown
|
|
417
411
|
* @throws ApiError
|
|
418
412
|
*/
|
|
419
413
|
public static accountControllerReopen(
|
|
@@ -427,11 +421,7 @@ export class BeanAccountsService {
|
|
|
427
421
|
region: data.region
|
|
428
422
|
},
|
|
429
423
|
body: data.requestBody,
|
|
430
|
-
mediaType: 'application/json'
|
|
431
|
-
errors: {
|
|
432
|
-
400: 'Account is not closed',
|
|
433
|
-
404: 'Account not found'
|
|
434
|
-
}
|
|
424
|
+
mediaType: 'application/json'
|
|
435
425
|
});
|
|
436
426
|
}
|
|
437
427
|
}
|
|
@@ -2514,12 +2504,9 @@ export class BeanImportService {
|
|
|
2514
2504
|
}
|
|
2515
2505
|
|
|
2516
2506
|
/**
|
|
2517
|
-
* Import a Beancount file in community format
|
|
2518
|
-
* Upload a .beancount file to import. The system parses community-format paths, converts to internal format using category metadata, auto-creates accounts, and imports transactions with deduplication. Maximum file size: 50MB. Only 1 import per user at a time.
|
|
2519
2507
|
* @param data The data for the request.
|
|
2520
2508
|
* @param data.region Region code for tenant context
|
|
2521
|
-
* @
|
|
2522
|
-
* @returns unknown Beancount file imported successfully
|
|
2509
|
+
* @returns unknown
|
|
2523
2510
|
* @throws ApiError
|
|
2524
2511
|
*/
|
|
2525
2512
|
public static fileImportControllerImportBeancount(
|
|
@@ -2530,11 +2517,6 @@ export class BeanImportService {
|
|
|
2530
2517
|
url: '/api/v1/{region}/bean/import/beancount',
|
|
2531
2518
|
path: {
|
|
2532
2519
|
region: data.region
|
|
2533
|
-
},
|
|
2534
|
-
formData: data.formData,
|
|
2535
|
-
mediaType: 'multipart/form-data',
|
|
2536
|
-
errors: {
|
|
2537
|
-
400: 'Bad request - invalid file or no file uploaded'
|
|
2538
2520
|
}
|
|
2539
2521
|
});
|
|
2540
2522
|
}
|
|
@@ -2737,33 +2719,11 @@ export class BeanPlatformsService {
|
|
|
2737
2719
|
|
|
2738
2720
|
export class ProviderSyncService {
|
|
2739
2721
|
/**
|
|
2740
|
-
* Sync transactions from financial data provider
|
|
2741
|
-
*
|
|
2742
|
-
* Accepts raw transactions from external financial data providers, transforms them to Beancount format, and processes them through the ingestion pipeline.
|
|
2743
|
-
*
|
|
2744
|
-
* **Supported Providers:**
|
|
2745
|
-
* - **plaid**: Plaid API (US, Canada, Europe)
|
|
2746
|
-
* - **teller**: Teller API (US)
|
|
2747
|
-
* - **truelayer**: TrueLayer Open Banking (UK, Europe)
|
|
2748
|
-
* - **gocardless**: GoCardless Bank Account Data (Europe)
|
|
2749
|
-
* - **simplefin**: SimpleFIN (Self-hosted)
|
|
2750
|
-
* - **yodlee**: Yodlee (Global)
|
|
2751
|
-
* - **beancount-direct**: Beancount format transactions
|
|
2752
|
-
* - **parsed-bill**: Client-side parsed bill transactions
|
|
2753
|
-
*
|
|
2754
|
-
* **Processing Flow:**
|
|
2755
|
-
* 1. Transform raw data via provider adapter
|
|
2756
|
-
* 2. Validate transaction format
|
|
2757
|
-
* 3. Deduplicate using originalId
|
|
2758
|
-
* 4. Classify using rule engine
|
|
2759
|
-
* 5. Route low-confidence to Review Center
|
|
2760
|
-
* 6. Persist validated transactions
|
|
2761
|
-
*
|
|
2762
2722
|
* @param data The data for the request.
|
|
2763
|
-
* @param data.providerName
|
|
2764
|
-
* @param data.region Region code
|
|
2723
|
+
* @param data.providerName
|
|
2724
|
+
* @param data.region Region code for tenant context
|
|
2765
2725
|
* @param data.requestBody
|
|
2766
|
-
* @returns
|
|
2726
|
+
* @returns unknown
|
|
2767
2727
|
* @throws ApiError
|
|
2768
2728
|
*/
|
|
2769
2729
|
public static providerSyncControllerSync(
|
|
@@ -2777,12 +2737,7 @@ export class ProviderSyncService {
|
|
|
2777
2737
|
region: data.region
|
|
2778
2738
|
},
|
|
2779
2739
|
body: data.requestBody,
|
|
2780
|
-
mediaType: 'application/json'
|
|
2781
|
-
errors: {
|
|
2782
|
-
400: 'Invalid request data',
|
|
2783
|
-
401: 'Missing or invalid authentication',
|
|
2784
|
-
404: 'Provider not supported'
|
|
2785
|
-
}
|
|
2740
|
+
mediaType: 'application/json'
|
|
2786
2741
|
});
|
|
2787
2742
|
}
|
|
2788
2743
|
|
|
@@ -2860,16 +2815,62 @@ export class ImportTelemetryService {
|
|
|
2860
2815
|
}
|
|
2861
2816
|
});
|
|
2862
2817
|
}
|
|
2818
|
+
|
|
2819
|
+
/**
|
|
2820
|
+
* Receive anonymous zero-hit coverage miss report
|
|
2821
|
+
* @param data The data for the request.
|
|
2822
|
+
* @param data.region Region code for tenant context
|
|
2823
|
+
* @param data.requestBody
|
|
2824
|
+
* @returns unknown Coverage miss report received
|
|
2825
|
+
* @throws ApiError
|
|
2826
|
+
*/
|
|
2827
|
+
public static telemetryControllerReportCoverageMiss(
|
|
2828
|
+
data: TelemetryControllerReportCoverageMissData
|
|
2829
|
+
): CancelablePromise<TelemetryControllerReportCoverageMissResponse> {
|
|
2830
|
+
return __request(OpenAPI, {
|
|
2831
|
+
method: 'POST',
|
|
2832
|
+
url: '/api/v1/{region}/bean/import/parser-coverage-miss',
|
|
2833
|
+
path: {
|
|
2834
|
+
region: data.region
|
|
2835
|
+
},
|
|
2836
|
+
body: data.requestBody,
|
|
2837
|
+
mediaType: 'application/json',
|
|
2838
|
+
errors: {
|
|
2839
|
+
401: 'Unauthorized'
|
|
2840
|
+
}
|
|
2841
|
+
});
|
|
2842
|
+
}
|
|
2843
|
+
|
|
2844
|
+
/**
|
|
2845
|
+
* Coverage metrics (uncovered format aggregation)
|
|
2846
|
+
* @param data The data for the request.
|
|
2847
|
+
* @param data.region Region code for tenant context
|
|
2848
|
+
* @param data.topN Top-N uncovered formats (default 10)
|
|
2849
|
+
* @returns unknown Coverage metrics
|
|
2850
|
+
* @throws ApiError
|
|
2851
|
+
*/
|
|
2852
|
+
public static telemetryControllerGetCoverageMetrics(
|
|
2853
|
+
data: TelemetryControllerGetCoverageMetricsData
|
|
2854
|
+
): CancelablePromise<TelemetryControllerGetCoverageMetricsResponse> {
|
|
2855
|
+
return __request(OpenAPI, {
|
|
2856
|
+
method: 'GET',
|
|
2857
|
+
url: '/api/v1/{region}/bean/import/parser-coverage-metrics',
|
|
2858
|
+
path: {
|
|
2859
|
+
region: data.region
|
|
2860
|
+
},
|
|
2861
|
+
query: {
|
|
2862
|
+
topN: data.topN
|
|
2863
|
+
}
|
|
2864
|
+
});
|
|
2865
|
+
}
|
|
2863
2866
|
}
|
|
2864
2867
|
|
|
2865
2868
|
export class BeanNlpService {
|
|
2866
2869
|
/**
|
|
2867
|
-
* Process natural language input
|
|
2868
|
-
* Parse natural language text (Chinese/English) describing a transaction. Supports multi-turn dialogue for collecting missing information. When confidence < 0.75, returns "confirm" action requiring user verification. User can reply with confirmation words (确认/yes/ok) or provide corrections. Examples: "yesterday Starbucks spent 35 yuan", "today lunch 28 yuan", "spent $50 at Walmart"
|
|
2869
2870
|
* @param data The data for the request.
|
|
2870
2871
|
* @param data.region Region code for tenant context
|
|
2871
|
-
* @param data.requestBody
|
|
2872
|
-
* @returns
|
|
2872
|
+
* @param data.requestBody
|
|
2873
|
+
* @returns unknown
|
|
2873
2874
|
* @throws ApiError
|
|
2874
2875
|
*/
|
|
2875
2876
|
public static nlpControllerProcessNaturalLanguage(
|
|
@@ -2882,11 +2883,7 @@ export class BeanNlpService {
|
|
|
2882
2883
|
region: data.region
|
|
2883
2884
|
},
|
|
2884
2885
|
body: data.requestBody,
|
|
2885
|
-
mediaType: 'application/json'
|
|
2886
|
-
errors: {
|
|
2887
|
-
400: 'Invalid input',
|
|
2888
|
-
401: 'Unauthorized'
|
|
2889
|
-
}
|
|
2886
|
+
mediaType: 'application/json'
|
|
2890
2887
|
});
|
|
2891
2888
|
}
|
|
2892
2889
|
|
|
@@ -2980,6 +2977,7 @@ export class DashboardService {
|
|
|
2980
2977
|
* @param data.region Region code for tenant context
|
|
2981
2978
|
* @param data.groupBy Grouping strategy
|
|
2982
2979
|
* @param data.date Date for balance calculation (ISO 8601 format)
|
|
2980
|
+
* @param data.accountId Scope to a single account (only valid with groupBy=holdingAssetClass, ADR-0105 §6)
|
|
2983
2981
|
* @returns unknown Accounts retrieved successfully. Response type depends on groupBy parameter.
|
|
2984
2982
|
* @throws ApiError
|
|
2985
2983
|
*/
|
|
@@ -2994,7 +2992,8 @@ export class DashboardService {
|
|
|
2994
2992
|
},
|
|
2995
2993
|
query: {
|
|
2996
2994
|
groupBy: data.groupBy,
|
|
2997
|
-
date: data.date
|
|
2995
|
+
date: data.date,
|
|
2996
|
+
accountId: data.accountId
|
|
2998
2997
|
},
|
|
2999
2998
|
errors: {
|
|
3000
2999
|
401: 'User not authenticated'
|
|
@@ -3031,6 +3030,207 @@ export class DashboardService {
|
|
|
3031
3030
|
}
|
|
3032
3031
|
}
|
|
3033
3032
|
|
|
3033
|
+
export class InvestmentService {
|
|
3034
|
+
/**
|
|
3035
|
+
* Get per-holding unrealized + realized P&L
|
|
3036
|
+
* Average-cost unrealized P&L per account × commodity, plus cumulative realized P&L on sold lots (method = FIFO | average, default average).
|
|
3037
|
+
* @param data The data for the request.
|
|
3038
|
+
* @param data.region Region code for tenant context
|
|
3039
|
+
* @param data.asOf As-of date (ISO 8601), defaults to today
|
|
3040
|
+
* @param data.accountId Scope to a single account
|
|
3041
|
+
* @param data.method Realized-P&L lot-matching method (default average). Does not affect the average-cost unrealized basis.
|
|
3042
|
+
* @returns HoldingPnlResponseDto Holding P&L retrieved successfully
|
|
3043
|
+
* @throws ApiError
|
|
3044
|
+
*/
|
|
3045
|
+
public static holdingPnlControllerGetHoldingPnl(
|
|
3046
|
+
data: HoldingPnlControllerGetHoldingPnlData
|
|
3047
|
+
): CancelablePromise<HoldingPnlControllerGetHoldingPnlResponse> {
|
|
3048
|
+
return __request(OpenAPI, {
|
|
3049
|
+
method: 'GET',
|
|
3050
|
+
url: '/api/v1/{region}/investment/holdings/pnl',
|
|
3051
|
+
path: {
|
|
3052
|
+
region: data.region
|
|
3053
|
+
},
|
|
3054
|
+
query: {
|
|
3055
|
+
asOf: data.asOf,
|
|
3056
|
+
accountId: data.accountId,
|
|
3057
|
+
method: data.method
|
|
3058
|
+
},
|
|
3059
|
+
errors: {
|
|
3060
|
+
400: 'Invalid asOf format/value/future date, invalid accountId format, or unsupported method',
|
|
3061
|
+
401: 'User not authenticated'
|
|
3062
|
+
}
|
|
3063
|
+
});
|
|
3064
|
+
}
|
|
3065
|
+
}
|
|
3066
|
+
|
|
3067
|
+
export class BeanPricesService {
|
|
3068
|
+
/**
|
|
3069
|
+
* Create a new price
|
|
3070
|
+
* Creates a new price entry for the authenticated user
|
|
3071
|
+
* @param data The data for the request.
|
|
3072
|
+
* @param data.region Region code for tenant context
|
|
3073
|
+
* @param data.requestBody
|
|
3074
|
+
* @returns PriceResponseDto Price created successfully
|
|
3075
|
+
* @throws ApiError
|
|
3076
|
+
*/
|
|
3077
|
+
public static priceControllerCreate(
|
|
3078
|
+
data: PriceControllerCreateData
|
|
3079
|
+
): CancelablePromise<PriceControllerCreateResponse> {
|
|
3080
|
+
return __request(OpenAPI, {
|
|
3081
|
+
method: 'POST',
|
|
3082
|
+
url: '/api/v1/{region}/bean/prices',
|
|
3083
|
+
path: {
|
|
3084
|
+
region: data.region
|
|
3085
|
+
},
|
|
3086
|
+
body: data.requestBody,
|
|
3087
|
+
mediaType: 'application/json',
|
|
3088
|
+
errors: {
|
|
3089
|
+
404: 'Currency or quoteCurrency commodity not found',
|
|
3090
|
+
409: 'Price already exists for this currency pair and date'
|
|
3091
|
+
}
|
|
3092
|
+
});
|
|
3093
|
+
}
|
|
3094
|
+
|
|
3095
|
+
/**
|
|
3096
|
+
* List user prices
|
|
3097
|
+
* Returns all price entries for the authenticated user with optional filtering
|
|
3098
|
+
* @param data The data for the request.
|
|
3099
|
+
* @param data.region Region code for tenant context
|
|
3100
|
+
* @param data.currency Filter by currency (e.g., BTC, AAPL, USD)
|
|
3101
|
+
* @param data.quoteCurrency Filter by quote currency (pricing currency, e.g., USD, CNY)
|
|
3102
|
+
* @param data.dateFrom Filter prices from this date (ISO 8601 format)
|
|
3103
|
+
* @param data.dateTo Filter prices to this date (ISO 8601 format)
|
|
3104
|
+
* @param data.search Search term for currency or quoteCurrency (case-insensitive partial match)
|
|
3105
|
+
* @param data.page Page number for pagination (default: 1)
|
|
3106
|
+
* @param data.limit Number of items per page (default: 20, max: 100)
|
|
3107
|
+
* @returns PriceListResponseDto Prices retrieved successfully
|
|
3108
|
+
* @throws ApiError
|
|
3109
|
+
*/
|
|
3110
|
+
public static priceControllerFindAll(
|
|
3111
|
+
data: PriceControllerFindAllData
|
|
3112
|
+
): CancelablePromise<PriceControllerFindAllResponse> {
|
|
3113
|
+
return __request(OpenAPI, {
|
|
3114
|
+
method: 'GET',
|
|
3115
|
+
url: '/api/v1/{region}/bean/prices',
|
|
3116
|
+
path: {
|
|
3117
|
+
region: data.region
|
|
3118
|
+
},
|
|
3119
|
+
query: {
|
|
3120
|
+
currency: data.currency,
|
|
3121
|
+
quoteCurrency: data.quoteCurrency,
|
|
3122
|
+
dateFrom: data.dateFrom,
|
|
3123
|
+
dateTo: data.dateTo,
|
|
3124
|
+
search: data.search,
|
|
3125
|
+
page: data.page,
|
|
3126
|
+
limit: data.limit
|
|
3127
|
+
}
|
|
3128
|
+
});
|
|
3129
|
+
}
|
|
3130
|
+
|
|
3131
|
+
/**
|
|
3132
|
+
* Get price by ID
|
|
3133
|
+
* Returns a single price entry by its ID
|
|
3134
|
+
* @param data The data for the request.
|
|
3135
|
+
* @param data.id Price ID
|
|
3136
|
+
* @param data.region Region code for tenant context
|
|
3137
|
+
* @returns PriceResponseDto Price retrieved successfully
|
|
3138
|
+
* @throws ApiError
|
|
3139
|
+
*/
|
|
3140
|
+
public static priceControllerFindOne(
|
|
3141
|
+
data: PriceControllerFindOneData
|
|
3142
|
+
): CancelablePromise<PriceControllerFindOneResponse> {
|
|
3143
|
+
return __request(OpenAPI, {
|
|
3144
|
+
method: 'GET',
|
|
3145
|
+
url: '/api/v1/{region}/bean/prices/{id}',
|
|
3146
|
+
path: {
|
|
3147
|
+
id: data.id,
|
|
3148
|
+
region: data.region
|
|
3149
|
+
},
|
|
3150
|
+
errors: {
|
|
3151
|
+
404: 'Price not found'
|
|
3152
|
+
}
|
|
3153
|
+
});
|
|
3154
|
+
}
|
|
3155
|
+
|
|
3156
|
+
/**
|
|
3157
|
+
* Update a price
|
|
3158
|
+
* Updates an existing price entry
|
|
3159
|
+
* @param data The data for the request.
|
|
3160
|
+
* @param data.id Price ID
|
|
3161
|
+
* @param data.region Region code for tenant context
|
|
3162
|
+
* @param data.requestBody
|
|
3163
|
+
* @returns PriceResponseDto Price updated successfully
|
|
3164
|
+
* @throws ApiError
|
|
3165
|
+
*/
|
|
3166
|
+
public static priceControllerUpdate(
|
|
3167
|
+
data: PriceControllerUpdateData
|
|
3168
|
+
): CancelablePromise<PriceControllerUpdateResponse> {
|
|
3169
|
+
return __request(OpenAPI, {
|
|
3170
|
+
method: 'PUT',
|
|
3171
|
+
url: '/api/v1/{region}/bean/prices/{id}',
|
|
3172
|
+
path: {
|
|
3173
|
+
id: data.id,
|
|
3174
|
+
region: data.region
|
|
3175
|
+
},
|
|
3176
|
+
body: data.requestBody,
|
|
3177
|
+
mediaType: 'application/json',
|
|
3178
|
+
errors: {
|
|
3179
|
+
404: 'Price not found',
|
|
3180
|
+
409: 'Updated price conflicts with existing price'
|
|
3181
|
+
}
|
|
3182
|
+
});
|
|
3183
|
+
}
|
|
3184
|
+
|
|
3185
|
+
/**
|
|
3186
|
+
* Delete a price
|
|
3187
|
+
* Deletes a price entry (hard delete)
|
|
3188
|
+
* @param data The data for the request.
|
|
3189
|
+
* @param data.id Price ID
|
|
3190
|
+
* @param data.region Region code for tenant context
|
|
3191
|
+
* @returns void Price deleted successfully
|
|
3192
|
+
* @throws ApiError
|
|
3193
|
+
*/
|
|
3194
|
+
public static priceControllerDelete(
|
|
3195
|
+
data: PriceControllerDeleteData
|
|
3196
|
+
): CancelablePromise<PriceControllerDeleteResponse> {
|
|
3197
|
+
return __request(OpenAPI, {
|
|
3198
|
+
method: 'DELETE',
|
|
3199
|
+
url: '/api/v1/{region}/bean/prices/{id}',
|
|
3200
|
+
path: {
|
|
3201
|
+
id: data.id,
|
|
3202
|
+
region: data.region
|
|
3203
|
+
},
|
|
3204
|
+
errors: {
|
|
3205
|
+
404: 'Price not found'
|
|
3206
|
+
}
|
|
3207
|
+
});
|
|
3208
|
+
}
|
|
3209
|
+
|
|
3210
|
+
/**
|
|
3211
|
+
* Bulk create prices
|
|
3212
|
+
* Creates multiple price entries at once (skips duplicates)
|
|
3213
|
+
* @param data The data for the request.
|
|
3214
|
+
* @param data.region Region code for tenant context
|
|
3215
|
+
* @param data.requestBody
|
|
3216
|
+
* @returns PriceResponseDto Prices created successfully
|
|
3217
|
+
* @throws ApiError
|
|
3218
|
+
*/
|
|
3219
|
+
public static priceControllerBulkCreate(
|
|
3220
|
+
data: PriceControllerBulkCreateData
|
|
3221
|
+
): CancelablePromise<PriceControllerBulkCreateResponse> {
|
|
3222
|
+
return __request(OpenAPI, {
|
|
3223
|
+
method: 'POST',
|
|
3224
|
+
url: '/api/v1/{region}/bean/prices/bulk',
|
|
3225
|
+
path: {
|
|
3226
|
+
region: data.region
|
|
3227
|
+
},
|
|
3228
|
+
body: data.requestBody,
|
|
3229
|
+
mediaType: 'application/json'
|
|
3230
|
+
});
|
|
3231
|
+
}
|
|
3232
|
+
}
|
|
3233
|
+
|
|
3034
3234
|
export class ReportingService {
|
|
3035
3235
|
/**
|
|
3036
3236
|
* Get portfolio value trends
|