@ayasofyazilim/saas 0.0.13 → 0.0.15

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 (52) hide show
  1. package/AccountService/schemas.gen.ts +4 -17
  2. package/AccountService/types.gen.ts +0 -9
  3. package/AdministrationService/schemas.gen.ts +7 -7
  4. package/BackerService/BackerServiceClient.ts +44 -0
  5. package/BackerService/core/ApiError.ts +21 -0
  6. package/BackerService/core/ApiRequestOptions.ts +13 -0
  7. package/BackerService/core/ApiResult.ts +7 -0
  8. package/BackerService/core/BaseHttpRequest.ts +10 -0
  9. package/BackerService/core/CancelablePromise.ts +126 -0
  10. package/BackerService/core/FetchHttpRequest.ts +22 -0
  11. package/BackerService/core/OpenAPI.ts +56 -0
  12. package/BackerService/core/request.ts +341 -0
  13. package/BackerService/index.ts +9 -0
  14. package/BackerService/schemas.gen.ts +8991 -0
  15. package/BackerService/services.gen.ts +270 -0
  16. package/BackerService/types.gen.ts +6611 -0
  17. package/IdentityService/schemas.gen.ts +10 -36
  18. package/IdentityService/services.gen.ts +1 -25
  19. package/IdentityService/types.gen.ts +0 -241
  20. package/MerchantService/MerchantServiceClient.ts +44 -0
  21. package/MerchantService/core/ApiError.ts +21 -0
  22. package/MerchantService/core/ApiRequestOptions.ts +13 -0
  23. package/MerchantService/core/ApiResult.ts +7 -0
  24. package/MerchantService/core/BaseHttpRequest.ts +10 -0
  25. package/MerchantService/core/CancelablePromise.ts +126 -0
  26. package/MerchantService/core/FetchHttpRequest.ts +22 -0
  27. package/MerchantService/core/OpenAPI.ts +56 -0
  28. package/MerchantService/core/request.ts +341 -0
  29. package/MerchantService/index.ts +9 -0
  30. package/MerchantService/schemas.gen.ts +6782 -0
  31. package/MerchantService/services.gen.ts +334 -0
  32. package/MerchantService/types.gen.ts +5088 -0
  33. package/ProjectService/ProjectServiceClient.ts +3 -9
  34. package/ProjectService/schemas.gen.ts +26 -723
  35. package/ProjectService/services.gen.ts +8 -348
  36. package/ProjectService/types.gen.ts +36 -2252
  37. package/SaasService/schemas.gen.ts +5 -5
  38. package/SettingService/SettingServiceClient.ts +53 -53
  39. package/SettingService/core/ApiError.ts +20 -20
  40. package/SettingService/core/ApiRequestOptions.ts +12 -12
  41. package/SettingService/core/ApiResult.ts +6 -6
  42. package/SettingService/core/BaseHttpRequest.ts +9 -9
  43. package/SettingService/core/CancelablePromise.ts +125 -125
  44. package/SettingService/core/FetchHttpRequest.ts +21 -21
  45. package/SettingService/core/OpenAPI.ts +55 -55
  46. package/SettingService/core/request.ts +340 -340
  47. package/SettingService/index.ts +8 -8
  48. package/SettingService/schemas.gen.ts +1521 -1524
  49. package/SettingService/services.gen.ts +316 -316
  50. package/SettingService/types.gen.ts +980 -981
  51. package/generator.mjs +34 -3
  52. package/package.json +4 -2
@@ -1040,7 +1040,7 @@ export const $Volo_Abp_Account_VerifyPasswordResetTokenInput = {
1040
1040
  additionalProperties: false
1041
1041
  } as const;
1042
1042
 
1043
- export const $Volo_Abp_Application_Dtos_ListResultDto_1__Volo_Abp_Account_LinkUserDto__Volo_Abp_Account_Pro_Public_Application_Contracts__Version_8_0_5_0__Culture_neutral__PublicKeyToken_null__ = {
1043
+ export const $Volo_Abp_Application_Dtos_ListResultDto_1__Volo_Abp_Account_LinkUserDto__Volo_Abp_Account_Pro_Public_Application_Contracts__Version_8_0_2_0__Culture_neutral__PublicKeyToken_null__ = {
1044
1044
  type: 'object',
1045
1045
  properties: {
1046
1046
  items: {
@@ -1077,7 +1077,7 @@ export const $Volo_Abp_Application_Dtos_ListResultDto_1__Volo_Abp_Account_LinkUs
1077
1077
  additionalProperties: false
1078
1078
  } as const;
1079
1079
 
1080
- export const $Volo_Abp_Application_Dtos_ListResultDto_1__Volo_Abp_Account_UserDelegationDto__Volo_Abp_Account_Pro_Public_Application_Contracts__Version_8_0_5_0__Culture_neutral__PublicKeyToken_null__ = {
1080
+ export const $Volo_Abp_Application_Dtos_ListResultDto_1__Volo_Abp_Account_UserDelegationDto__Volo_Abp_Account_Pro_Public_Application_Contracts__Version_8_0_2_0__Culture_neutral__PublicKeyToken_null__ = {
1081
1081
  type: 'object',
1082
1082
  properties: {
1083
1083
  items: {
@@ -1110,7 +1110,7 @@ export const $Volo_Abp_Application_Dtos_ListResultDto_1__Volo_Abp_Account_UserDe
1110
1110
  additionalProperties: false
1111
1111
  } as const;
1112
1112
 
1113
- export const $Volo_Abp_Application_Dtos_ListResultDto_1__Volo_Abp_Account_UserLookupDto__Volo_Abp_Account_Pro_Public_Application_Contracts__Version_8_0_5_0__Culture_neutral__PublicKeyToken_null__ = {
1113
+ export const $Volo_Abp_Application_Dtos_ListResultDto_1__Volo_Abp_Account_UserLookupDto__Volo_Abp_Account_Pro_Public_Application_Contracts__Version_8_0_2_0__Culture_neutral__PublicKeyToken_null__ = {
1114
1114
  type: 'object',
1115
1115
  properties: {
1116
1116
  items: {
@@ -1135,7 +1135,7 @@ export const $Volo_Abp_Application_Dtos_ListResultDto_1__Volo_Abp_Account_UserLo
1135
1135
  additionalProperties: false
1136
1136
  } as const;
1137
1137
 
1138
- export const $Volo_Abp_Application_Dtos_PagedResultDto_1__Volo_Abp_Identity_IdentitySecurityLogDto__Volo_Abp_Identity_Pro_Application_Contracts__Version_8_0_5_0__Culture_neutral__PublicKeyToken_null__ = {
1138
+ export const $Volo_Abp_Application_Dtos_PagedResultDto_1__Volo_Abp_Identity_IdentitySecurityLogDto__Volo_Abp_Identity_Pro_Application_Contracts__Version_8_0_2_0__Culture_neutral__PublicKeyToken_null__ = {
1139
1139
  type: 'object',
1140
1140
  properties: {
1141
1141
  items: {
@@ -4982,19 +4982,6 @@ export const $Volo_Abp_Identity_IdentityUserDto = {
4982
4982
  format: 'uuid',
4983
4983
  nullable: true
4984
4984
  },
4985
- isDeleted: {
4986
- type: 'boolean'
4987
- },
4988
- deleterId: {
4989
- type: 'string',
4990
- format: 'uuid',
4991
- nullable: true
4992
- },
4993
- deletionTime: {
4994
- type: 'string',
4995
- format: 'date-time',
4996
- nullable: true
4997
- },
4998
4985
  tenantId: {
4999
4986
  type: 'string',
5000
4987
  format: 'uuid',
@@ -1479,9 +1479,6 @@ export type Volo_Abp_Identity_IdentityUserDto = {
1479
1479
  creatorId?: string | null;
1480
1480
  lastModificationTime?: string | null;
1481
1481
  lastModifierId?: string | null;
1482
- isDeleted?: boolean;
1483
- deleterId?: string | null;
1484
- deletionTime?: string | null;
1485
1482
  tenantId?: string | null;
1486
1483
  userName?: string | null;
1487
1484
  email?: string | null;
@@ -1870,9 +1867,6 @@ export type PostApiAccountRegisterResponse = {
1870
1867
  creatorId?: string | null;
1871
1868
  lastModificationTime?: string | null;
1872
1869
  lastModifierId?: string | null;
1873
- isDeleted?: boolean;
1874
- deleterId?: string | null;
1875
- deletionTime?: string | null;
1876
1870
  tenantId?: string | null;
1877
1871
  userName?: string | null;
1878
1872
  email?: string | null;
@@ -3318,9 +3312,6 @@ export type $OpenApiTs = {
3318
3312
  creatorId?: string | null;
3319
3313
  lastModificationTime?: string | null;
3320
3314
  lastModifierId?: string | null;
3321
- isDeleted?: boolean;
3322
- deleterId?: string | null;
3323
- deletionTime?: string | null;
3324
3315
  tenantId?: string | null;
3325
3316
  userName?: string | null;
3326
3317
  email?: string | null;
@@ -6,7 +6,7 @@ export const $System_Net_HttpStatusCode = {
6
6
  format: 'int32'
7
7
  } as const;
8
8
 
9
- export const $Volo_Abp_Application_Dtos_ListResultDto_1__Volo_Abp_LanguageManagement_Dto_LanguageDto__Volo_Abp_LanguageManagement_Application_Contracts__Version_8_0_5_0__Culture_neutral__PublicKeyToken_null__ = {
9
+ export const $Volo_Abp_Application_Dtos_ListResultDto_1__Volo_Abp_LanguageManagement_Dto_LanguageDto__Volo_Abp_LanguageManagement_Application_Contracts__Version_8_0_2_0__Culture_neutral__PublicKeyToken_null__ = {
10
10
  type: 'object',
11
11
  properties: {
12
12
  items: {
@@ -68,7 +68,7 @@ export const $Volo_Abp_Application_Dtos_ListResultDto_1__Volo_Abp_LanguageManage
68
68
  additionalProperties: false
69
69
  } as const;
70
70
 
71
- export const $Volo_Abp_Application_Dtos_PagedResultDto_1__Volo_Abp_AuditLogging_AuditLogDto__Volo_Abp_AuditLogging_Application_Contracts__Version_8_0_5_0__Culture_neutral__PublicKeyToken_null__ = {
71
+ export const $Volo_Abp_Application_Dtos_PagedResultDto_1__Volo_Abp_AuditLogging_AuditLogDto__Volo_Abp_AuditLogging_Application_Contracts__Version_8_0_2_0__Culture_neutral__PublicKeyToken_null__ = {
72
72
  type: 'object',
73
73
  properties: {
74
74
  items: {
@@ -318,7 +318,7 @@ export const $Volo_Abp_Application_Dtos_PagedResultDto_1__Volo_Abp_AuditLogging_
318
318
  additionalProperties: false
319
319
  } as const;
320
320
 
321
- export const $Volo_Abp_Application_Dtos_PagedResultDto_1__Volo_Abp_AuditLogging_EntityChangeDto__Volo_Abp_AuditLogging_Application_Contracts__Version_8_0_5_0__Culture_neutral__PublicKeyToken_null__ = {
321
+ export const $Volo_Abp_Application_Dtos_PagedResultDto_1__Volo_Abp_AuditLogging_EntityChangeDto__Volo_Abp_AuditLogging_Application_Contracts__Version_8_0_2_0__Culture_neutral__PublicKeyToken_null__ = {
322
322
  type: 'object',
323
323
  properties: {
324
324
  items: {
@@ -414,7 +414,7 @@ export const $Volo_Abp_Application_Dtos_PagedResultDto_1__Volo_Abp_AuditLogging_
414
414
  additionalProperties: false
415
415
  } as const;
416
416
 
417
- export const $Volo_Abp_Application_Dtos_PagedResultDto_1__Volo_Abp_Gdpr_GdprRequestDto__Volo_Abp_Gdpr_Application_Contracts__Version_8_0_5_0__Culture_neutral__PublicKeyToken_null__ = {
417
+ export const $Volo_Abp_Application_Dtos_PagedResultDto_1__Volo_Abp_Gdpr_GdprRequestDto__Volo_Abp_Gdpr_Application_Contracts__Version_8_0_2_0__Culture_neutral__PublicKeyToken_null__ = {
418
418
  type: 'object',
419
419
  properties: {
420
420
  items: {
@@ -447,7 +447,7 @@ export const $Volo_Abp_Application_Dtos_PagedResultDto_1__Volo_Abp_Gdpr_GdprRequ
447
447
  additionalProperties: false
448
448
  } as const;
449
449
 
450
- export const $Volo_Abp_Application_Dtos_PagedResultDto_1__Volo_Abp_LanguageManagement_Dto_LanguageDto__Volo_Abp_LanguageManagement_Application_Contracts__Version_8_0_5_0__Culture_neutral__PublicKeyToken_null__ = {
450
+ export const $Volo_Abp_Application_Dtos_PagedResultDto_1__Volo_Abp_LanguageManagement_Dto_LanguageDto__Volo_Abp_LanguageManagement_Application_Contracts__Version_8_0_2_0__Culture_neutral__PublicKeyToken_null__ = {
451
451
  type: 'object',
452
452
  properties: {
453
453
  items: {
@@ -513,7 +513,7 @@ export const $Volo_Abp_Application_Dtos_PagedResultDto_1__Volo_Abp_LanguageManag
513
513
  additionalProperties: false
514
514
  } as const;
515
515
 
516
- export const $Volo_Abp_Application_Dtos_PagedResultDto_1__Volo_Abp_LanguageManagement_Dto_LanguageTextDto__Volo_Abp_LanguageManagement_Application_Contracts__Version_8_0_5_0__Culture_neutral__PublicKeyToken_null__ = {
516
+ export const $Volo_Abp_Application_Dtos_PagedResultDto_1__Volo_Abp_LanguageManagement_Dto_LanguageTextDto__Volo_Abp_LanguageManagement_Application_Contracts__Version_8_0_2_0__Culture_neutral__PublicKeyToken_null__ = {
517
517
  type: 'object',
518
518
  properties: {
519
519
  items: {
@@ -558,7 +558,7 @@ export const $Volo_Abp_Application_Dtos_PagedResultDto_1__Volo_Abp_LanguageManag
558
558
  additionalProperties: false
559
559
  } as const;
560
560
 
561
- export const $Volo_Abp_Application_Dtos_PagedResultDto_1__Volo_Abp_TextTemplateManagement_TextTemplates_TemplateDefinitionDto__Volo_Abp_TextTemplateManagement_Application_Contracts__Version_8_0_5_0__Culture_neutral__PublicKeyToken_null__ = {
561
+ export const $Volo_Abp_Application_Dtos_PagedResultDto_1__Volo_Abp_TextTemplateManagement_TextTemplates_TemplateDefinitionDto__Volo_Abp_TextTemplateManagement_Application_Contracts__Version_8_0_2_0__Culture_neutral__PublicKeyToken_null__ = {
562
562
  type: 'object',
563
563
  properties: {
564
564
  items: {
@@ -0,0 +1,44 @@
1
+ import type { BaseHttpRequest } from './core/BaseHttpRequest';
2
+ import type { OpenAPIConfig } from './core/OpenAPI';
3
+ import { Interceptors } from './core/OpenAPI';
4
+ import { FetchHttpRequest } from './core/FetchHttpRequest';
5
+
6
+ import { AbpApiDefinitionService } from './services.gen';
7
+ import { AbpApplicationConfigurationService } from './services.gen';
8
+ import { AbpApplicationLocalizationService } from './services.gen';
9
+ import { BackerService } from './services.gen';
10
+
11
+ type HttpRequestConstructor = new (config: OpenAPIConfig) => BaseHttpRequest;
12
+
13
+ export class BackerServiceClient {
14
+
15
+ public readonly abpApiDefinition: AbpApiDefinitionService;
16
+ public readonly abpApplicationConfiguration: AbpApplicationConfigurationService;
17
+ public readonly abpApplicationLocalization: AbpApplicationLocalizationService;
18
+ public readonly backer: BackerService;
19
+
20
+ public readonly request: BaseHttpRequest;
21
+
22
+ constructor(config?: Partial<OpenAPIConfig>, HttpRequest: HttpRequestConstructor = FetchHttpRequest) {
23
+ this.request = new HttpRequest({
24
+ BASE: config?.BASE ?? '',
25
+ VERSION: config?.VERSION ?? '1',
26
+ WITH_CREDENTIALS: config?.WITH_CREDENTIALS ?? false,
27
+ CREDENTIALS: config?.CREDENTIALS ?? 'include',
28
+ TOKEN: config?.TOKEN,
29
+ USERNAME: config?.USERNAME,
30
+ PASSWORD: config?.PASSWORD,
31
+ HEADERS: config?.HEADERS,
32
+ ENCODE_PATH: config?.ENCODE_PATH,
33
+ interceptors: {
34
+ request: config?.interceptors?.request ?? new Interceptors(),
35
+ response: config?.interceptors?.response ?? new Interceptors(),
36
+ },
37
+ });
38
+
39
+ this.abpApiDefinition = new AbpApiDefinitionService(this.request);
40
+ this.abpApplicationConfiguration = new AbpApplicationConfigurationService(this.request);
41
+ this.abpApplicationLocalization = new AbpApplicationLocalizationService(this.request);
42
+ this.backer = new BackerService(this.request);
43
+ }
44
+ }
@@ -0,0 +1,21 @@
1
+ import type { ApiRequestOptions } from './ApiRequestOptions';
2
+ import type { ApiResult } from './ApiResult';
3
+
4
+ export class ApiError extends Error {
5
+ public readonly url: string;
6
+ public readonly status: number;
7
+ public readonly statusText: string;
8
+ public readonly body: unknown;
9
+ public readonly request: ApiRequestOptions;
10
+
11
+ constructor(request: ApiRequestOptions, response: ApiResult, message: string) {
12
+ super(message);
13
+
14
+ this.name = 'ApiError';
15
+ this.url = response.url;
16
+ this.status = response.status;
17
+ this.statusText = response.statusText;
18
+ this.body = response.body;
19
+ this.request = request;
20
+ }
21
+ }
@@ -0,0 +1,13 @@
1
+ export type ApiRequestOptions = {
2
+ readonly method: 'GET' | 'PUT' | 'POST' | 'DELETE' | 'OPTIONS' | 'HEAD' | 'PATCH';
3
+ readonly url: string;
4
+ readonly path?: Record<string, unknown>;
5
+ readonly cookies?: Record<string, unknown>;
6
+ readonly headers?: Record<string, unknown>;
7
+ readonly query?: Record<string, unknown>;
8
+ readonly formData?: Record<string, unknown>;
9
+ readonly body?: any;
10
+ readonly mediaType?: string;
11
+ readonly responseHeader?: string;
12
+ readonly errors?: Record<number, string>;
13
+ };
@@ -0,0 +1,7 @@
1
+ export type ApiResult<TData = any> = {
2
+ readonly body: TData;
3
+ readonly ok: boolean;
4
+ readonly status: number;
5
+ readonly statusText: string;
6
+ readonly url: string;
7
+ };
@@ -0,0 +1,10 @@
1
+ import type { ApiRequestOptions } from './ApiRequestOptions';
2
+ import type { CancelablePromise } from './CancelablePromise';
3
+ import type { OpenAPIConfig } from './OpenAPI';
4
+
5
+ export abstract class BaseHttpRequest {
6
+
7
+ constructor(public readonly config: OpenAPIConfig) {}
8
+
9
+ public abstract request<T>(options: ApiRequestOptions): CancelablePromise<T>;
10
+ }
@@ -0,0 +1,126 @@
1
+ export class CancelError extends Error {
2
+ constructor(message: string) {
3
+ super(message);
4
+ this.name = 'CancelError';
5
+ }
6
+
7
+ public get isCancelled(): boolean {
8
+ return true;
9
+ }
10
+ }
11
+
12
+ export interface OnCancel {
13
+ readonly isResolved: boolean;
14
+ readonly isRejected: boolean;
15
+ readonly isCancelled: boolean;
16
+
17
+ (cancelHandler: () => void): void;
18
+ }
19
+
20
+ export class CancelablePromise<T> implements Promise<T> {
21
+ private _isResolved: boolean;
22
+ private _isRejected: boolean;
23
+ private _isCancelled: boolean;
24
+ readonly cancelHandlers: (() => void)[];
25
+ readonly promise: Promise<T>;
26
+ private _resolve?: (value: T | PromiseLike<T>) => void;
27
+ private _reject?: (reason?: unknown) => void;
28
+
29
+ constructor(
30
+ executor: (
31
+ resolve: (value: T | PromiseLike<T>) => void,
32
+ reject: (reason?: unknown) => void,
33
+ onCancel: OnCancel
34
+ ) => void
35
+ ) {
36
+ this._isResolved = false;
37
+ this._isRejected = false;
38
+ this._isCancelled = false;
39
+ this.cancelHandlers = [];
40
+ this.promise = new Promise<T>((resolve, reject) => {
41
+ this._resolve = resolve;
42
+ this._reject = reject;
43
+
44
+ const onResolve = (value: T | PromiseLike<T>): void => {
45
+ if (this._isResolved || this._isRejected || this._isCancelled) {
46
+ return;
47
+ }
48
+ this._isResolved = true;
49
+ if (this._resolve) this._resolve(value);
50
+ };
51
+
52
+ const onReject = (reason?: unknown): void => {
53
+ if (this._isResolved || this._isRejected || this._isCancelled) {
54
+ return;
55
+ }
56
+ this._isRejected = true;
57
+ if (this._reject) this._reject(reason);
58
+ };
59
+
60
+ const onCancel = (cancelHandler: () => void): void => {
61
+ if (this._isResolved || this._isRejected || this._isCancelled) {
62
+ return;
63
+ }
64
+ this.cancelHandlers.push(cancelHandler);
65
+ };
66
+
67
+ Object.defineProperty(onCancel, 'isResolved', {
68
+ get: (): boolean => this._isResolved,
69
+ });
70
+
71
+ Object.defineProperty(onCancel, 'isRejected', {
72
+ get: (): boolean => this._isRejected,
73
+ });
74
+
75
+ Object.defineProperty(onCancel, 'isCancelled', {
76
+ get: (): boolean => this._isCancelled,
77
+ });
78
+
79
+ return executor(onResolve, onReject, onCancel as OnCancel);
80
+ });
81
+ }
82
+
83
+ get [Symbol.toStringTag]() {
84
+ return "Cancellable Promise";
85
+ }
86
+
87
+ public then<TResult1 = T, TResult2 = never>(
88
+ onFulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | null,
89
+ onRejected?: ((reason: unknown) => TResult2 | PromiseLike<TResult2>) | null
90
+ ): Promise<TResult1 | TResult2> {
91
+ return this.promise.then(onFulfilled, onRejected);
92
+ }
93
+
94
+ public catch<TResult = never>(
95
+ onRejected?: ((reason: unknown) => TResult | PromiseLike<TResult>) | null
96
+ ): Promise<T | TResult> {
97
+ return this.promise.catch(onRejected);
98
+ }
99
+
100
+ public finally(onFinally?: (() => void) | null): Promise<T> {
101
+ return this.promise.finally(onFinally);
102
+ }
103
+
104
+ public cancel(): void {
105
+ if (this._isResolved || this._isRejected || this._isCancelled) {
106
+ return;
107
+ }
108
+ this._isCancelled = true;
109
+ if (this.cancelHandlers.length) {
110
+ try {
111
+ for (const cancelHandler of this.cancelHandlers) {
112
+ cancelHandler();
113
+ }
114
+ } catch (error) {
115
+ console.warn('Cancellation threw an error', error);
116
+ return;
117
+ }
118
+ }
119
+ this.cancelHandlers.length = 0;
120
+ if (this._reject) this._reject(new CancelError('Request aborted'));
121
+ }
122
+
123
+ public get isCancelled(): boolean {
124
+ return this._isCancelled;
125
+ }
126
+ }
@@ -0,0 +1,22 @@
1
+ import type { ApiRequestOptions } from './ApiRequestOptions';
2
+ import { BaseHttpRequest } from './BaseHttpRequest';
3
+ import type { CancelablePromise } from './CancelablePromise';
4
+ import type { OpenAPIConfig } from './OpenAPI';
5
+ import { request as __request } from './request';
6
+
7
+ export class FetchHttpRequest extends BaseHttpRequest {
8
+
9
+ constructor(config: OpenAPIConfig) {
10
+ super(config);
11
+ }
12
+
13
+ /**
14
+ * Request method
15
+ * @param options The request options from the service
16
+ * @returns CancelablePromise<T>
17
+ * @throws ApiError
18
+ */
19
+ public override request<T>(options: ApiRequestOptions): CancelablePromise<T> {
20
+ return __request(this.config, options);
21
+ }
22
+ }
@@ -0,0 +1,56 @@
1
+ import type { ApiRequestOptions } from './ApiRequestOptions';
2
+
3
+ type Headers = Record<string, string>;
4
+ type Middleware<T> = (value: T) => T | Promise<T>;
5
+ type Resolver<T> = (options: ApiRequestOptions) => Promise<T>;
6
+
7
+ export class Interceptors<T> {
8
+ _fns: Middleware<T>[];
9
+
10
+ constructor() {
11
+ this._fns = [];
12
+ }
13
+
14
+ eject(fn: Middleware<T>) {
15
+ const index = this._fns.indexOf(fn);
16
+ if (index !== -1) {
17
+ this._fns = [...this._fns.slice(0, index), ...this._fns.slice(index + 1)];
18
+ }
19
+ }
20
+
21
+ use(fn: Middleware<T>) {
22
+ this._fns = [...this._fns, fn];
23
+ }
24
+ }
25
+
26
+ export type OpenAPIConfig = {
27
+ BASE: string;
28
+ CREDENTIALS: 'include' | 'omit' | 'same-origin';
29
+ ENCODE_PATH?: ((path: string) => string) | undefined;
30
+ HEADERS?: Headers | Resolver<Headers> | undefined;
31
+ PASSWORD?: string | Resolver<string> | undefined;
32
+ TOKEN?: string | Resolver<string> | undefined;
33
+ USERNAME?: string | Resolver<string> | undefined;
34
+ VERSION: string;
35
+ WITH_CREDENTIALS: boolean;
36
+ interceptors: {
37
+ request: Interceptors<RequestInit>;
38
+ response: Interceptors<Response>;
39
+ };
40
+ };
41
+
42
+ export const OpenAPI: OpenAPIConfig = {
43
+ BASE: '',
44
+ CREDENTIALS: 'include',
45
+ ENCODE_PATH: undefined,
46
+ HEADERS: undefined,
47
+ PASSWORD: undefined,
48
+ TOKEN: undefined,
49
+ USERNAME: undefined,
50
+ VERSION: '1',
51
+ WITH_CREDENTIALS: false,
52
+ interceptors: {
53
+ request: new Interceptors(),
54
+ response: new Interceptors(),
55
+ },
56
+ };