// // AUTO-GENERATED FILE, DO NOT MODIFY! // import 'dart:async'; // ignore: unused_import import 'dart:convert'; import 'package:fintracker_api/src/deserialize.dart'; import 'package:dio/dio.dart'; import 'package:fintracker_api/src/model/link_create.dart'; import 'package:fintracker_api/src/model/link_out.dart'; import 'package:fintracker_api/src/model/problem.dart'; import 'package:fintracker_api/src/model/unmatched_out.dart'; class LinksApi { final Dio _dio; const LinksApi(this._dio); /// Create /// Confirm a pairing the matcher missed. Never touched by the automatic rebuild afterwards. /// /// Parameters: /// * [linkCreate] /// * [cancelToken] - A [CancelToken] that can be used to cancel the operation /// * [headers] - Can be used to add additional headers to the request /// * [extras] - Can be used to add flags to the request /// * [validateStatus] - A [ValidateStatus] callback that can be used to determine request success based on the HTTP status of the response /// * [onSendProgress] - A [ProgressCallback] that can be used to get the send progress /// * [onReceiveProgress] - A [ProgressCallback] that can be used to get the receive progress /// /// Returns a [Future] containing a [Response] with a [LinkOut] as data /// Throws [DioException] if API call or serialization fails Future> linksCreate({ required LinkCreate linkCreate, CancelToken? cancelToken, Map? headers, Map? extra, ValidateStatus? validateStatus, ProgressCallback? onSendProgress, ProgressCallback? onReceiveProgress, }) async { final _path = r'/api/v1/links'; final _options = Options( method: r'POST', headers: { ...?headers, }, extra: { 'secure': >[ { 'type': 'http', 'scheme': 'bearer', 'name': 'HTTPBearer', }, ], ...?extra, }, contentType: 'application/json', validateStatus: validateStatus, ); dynamic _bodyData; try { _bodyData = jsonEncode(linkCreate); } catch(error, stackTrace) { throw DioException( requestOptions: _options.compose( _dio.options, _path, ), type: DioExceptionType.unknown, error: error, stackTrace: stackTrace, ); } final _response = await _dio.request( _path, data: _bodyData, options: _options, cancelToken: cancelToken, onSendProgress: onSendProgress, onReceiveProgress: onReceiveProgress, ); LinkOut? _responseData; try { final rawData = _response.data; _responseData = rawData == null ? null : deserialize(rawData, 'LinkOut', growable: true); } catch (error, stackTrace) { throw DioException( requestOptions: _response.requestOptions, response: _response, type: DioExceptionType.unknown, error: error, stackTrace: stackTrace, ); } return Response( data: _responseData, headers: _response.headers, isRedirect: _response.isRedirect, requestOptions: _response.requestOptions, redirects: _response.redirects, statusCode: _response.statusCode, statusMessage: _response.statusMessage, extra: _response.extra, ); } /// Delete /// Undo a link, manual or automatic. `flow_type` reverts on the next `POST /metrics/refresh`, when `classify` rebuilds it from the rules and `matching` no longer overwrites it. /// /// Parameters: /// * [linkId] /// * [cancelToken] - A [CancelToken] that can be used to cancel the operation /// * [headers] - Can be used to add additional headers to the request /// * [extras] - Can be used to add flags to the request /// * [validateStatus] - A [ValidateStatus] callback that can be used to determine request success based on the HTTP status of the response /// * [onSendProgress] - A [ProgressCallback] that can be used to get the send progress /// * [onReceiveProgress] - A [ProgressCallback] that can be used to get the receive progress /// /// Returns a [Future] /// Throws [DioException] if API call or serialization fails Future> linksDelete({ required int linkId, CancelToken? cancelToken, Map? headers, Map? extra, ValidateStatus? validateStatus, ProgressCallback? onSendProgress, ProgressCallback? onReceiveProgress, }) async { final _path = r'/api/v1/links/{link_id}'.replaceAll('{' r'link_id' '}', linkId.toString()); final _options = Options( method: r'DELETE', headers: { ...?headers, }, extra: { 'secure': >[ { 'type': 'http', 'scheme': 'bearer', 'name': 'HTTPBearer', }, ], ...?extra, }, validateStatus: validateStatus, ); final _response = await _dio.request( _path, options: _options, cancelToken: cancelToken, onSendProgress: onSendProgress, onReceiveProgress: onReceiveProgress, ); return _response; } /// Unmatched /// Every candidate that survives matching without a link, on either side. /// /// Parameters: /// * [cancelToken] - A [CancelToken] that can be used to cancel the operation /// * [headers] - Can be used to add additional headers to the request /// * [extras] - Can be used to add flags to the request /// * [validateStatus] - A [ValidateStatus] callback that can be used to determine request success based on the HTTP status of the response /// * [onSendProgress] - A [ProgressCallback] that can be used to get the send progress /// * [onReceiveProgress] - A [ProgressCallback] that can be used to get the receive progress /// /// Returns a [Future] containing a [Response] with a [UnmatchedOut] as data /// Throws [DioException] if API call or serialization fails Future> linksUnmatched({ CancelToken? cancelToken, Map? headers, Map? extra, ValidateStatus? validateStatus, ProgressCallback? onSendProgress, ProgressCallback? onReceiveProgress, }) async { final _path = r'/api/v1/links/unmatched'; final _options = Options( method: r'GET', headers: { ...?headers, }, extra: { 'secure': >[ { 'type': 'http', 'scheme': 'bearer', 'name': 'HTTPBearer', }, ], ...?extra, }, validateStatus: validateStatus, ); final _response = await _dio.request( _path, options: _options, cancelToken: cancelToken, onSendProgress: onSendProgress, onReceiveProgress: onReceiveProgress, ); UnmatchedOut? _responseData; try { final rawData = _response.data; _responseData = rawData == null ? null : deserialize(rawData, 'UnmatchedOut', growable: true); } catch (error, stackTrace) { throw DioException( requestOptions: _response.requestOptions, response: _response, type: DioExceptionType.unknown, error: error, stackTrace: stackTrace, ); } return Response( data: _responseData, headers: _response.headers, isRedirect: _response.isRedirect, requestOptions: _response.requestOptions, redirects: _response.redirects, statusCode: _response.statusCode, statusMessage: _response.statusMessage, extra: _response.extra, ); } }