@jwork-space/strapi-sdk 1.0.1
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/README.md +292 -0
- package/dist/index.d.mts +539 -0
- package/dist/index.d.ts +539 -0
- package/dist/index.js +1043 -0
- package/dist/index.mjs +993 -0
- package/package.json +36 -0
package/dist/index.d.mts
ADDED
|
@@ -0,0 +1,539 @@
|
|
|
1
|
+
import { UploadFile, FormInstance } from 'antd';
|
|
2
|
+
import { ColumnType } from 'antd/es/table';
|
|
3
|
+
import axios, { AxiosRequestHeaders } from 'axios';
|
|
4
|
+
import { ReactNode } from 'react';
|
|
5
|
+
import * as _tanstack_react_query from '@tanstack/react-query';
|
|
6
|
+
import { Rule } from 'antd/es/form';
|
|
7
|
+
import { SorterResult } from 'antd/es/table/interface';
|
|
8
|
+
|
|
9
|
+
declare class LocalStoreManager {
|
|
10
|
+
protected tokenKey: string;
|
|
11
|
+
constructor(tokenKey?: string);
|
|
12
|
+
getLocalStorageKey(key: string): string | null;
|
|
13
|
+
removeStorageKey(key: string): void;
|
|
14
|
+
setLocalStorage(key: string, value: string): void;
|
|
15
|
+
getToken(): string | null;
|
|
16
|
+
setToken(token: string): void;
|
|
17
|
+
removeToken(): void;
|
|
18
|
+
}
|
|
19
|
+
type BuilderHeaders = () => AxiosRequestHeaders;
|
|
20
|
+
declare class HttpLayer {
|
|
21
|
+
protected tokenManager: LocalStoreManager;
|
|
22
|
+
constructor(tokenKey?: string);
|
|
23
|
+
private mergeHeaders;
|
|
24
|
+
protected getHeaders({ auth, headers }: RequestData, uri: string): axios.AxiosRequestHeaders;
|
|
25
|
+
makeRequest<U>(uri: string, method: 'get' | 'put' | 'post' | 'delete', opt?: RequestData): Promise<U>;
|
|
26
|
+
executeRequest<U>(uri: string, method: 'get' | 'put' | 'post' | 'delete' | 'patch', opt?: RequestData): Promise<axios.AxiosResponse<U, any, {}>>;
|
|
27
|
+
makeRequestV2<U>(uri: string, method: 'get' | 'put' | 'post' | 'delete', opt?: RequestData): Promise<axios.AxiosResponse<U, any, {}>>;
|
|
28
|
+
getFileName(contentDisposition: string): string;
|
|
29
|
+
getFileFromAPI({ uri, method, opt, fileName, }: {
|
|
30
|
+
fileName?: string;
|
|
31
|
+
uri: string;
|
|
32
|
+
method: 'get' | 'put' | 'post' | 'delete';
|
|
33
|
+
opt: RequestData;
|
|
34
|
+
}): Promise<void>;
|
|
35
|
+
getCall<U>(uri: string, opt?: RequestData): Promise<U>;
|
|
36
|
+
postCall<U>(uri: string, opt?: RequestData): Promise<U>;
|
|
37
|
+
putCall<U>(uri: string, opt?: RequestData): Promise<U>;
|
|
38
|
+
deleteCall<U>(uri: string, opt?: RequestData): Promise<U>;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
declare const buildPath: (...segments: (string | undefined | null)[]) => string;
|
|
42
|
+
declare abstract class BaseAPI<T> extends HttpLayer {
|
|
43
|
+
protected resource?: string | undefined;
|
|
44
|
+
protected prefix?: string | undefined;
|
|
45
|
+
protected tokenKey?: string | undefined;
|
|
46
|
+
protected baseURL?: string | undefined;
|
|
47
|
+
protected endpoint: string;
|
|
48
|
+
constructor(resource?: string | undefined, prefix?: string | undefined, tokenKey?: string | undefined, baseURL?: string | undefined);
|
|
49
|
+
buildPath: (...segments: (string | undefined | null)[]) => string;
|
|
50
|
+
normalizePath: (value: string) => string;
|
|
51
|
+
abstract listAll(requestOptions?: RequestOptions<T>): Promise<PaginationResponse<T>>;
|
|
52
|
+
abstract show(id: ModelID, requestOptions?: RequestOptions<T>): Promise<T>;
|
|
53
|
+
abstract save(model: T, requestOptions?: RequestOptions<T>, serializeOptions?: SerializeOptions, relationApi?: RelationCreate<T>[]): Promise<T>;
|
|
54
|
+
abstract update(id: ModelID, model: T, requestOptions?: RequestOptions<T>, serializeOptions?: SerializeOptions): Promise<T>;
|
|
55
|
+
abstract destroy(id: ModelID, requestOptions?: RequestOptions<T>): Promise<boolean>;
|
|
56
|
+
abstract exist(requestOptions?: RequestOptions<T>): Promise<boolean>;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
type InvalidateKeysMap = {
|
|
60
|
+
save?: (string | unknown[])[];
|
|
61
|
+
update?: (string | unknown[])[];
|
|
62
|
+
destroy?: (string | unknown[])[];
|
|
63
|
+
};
|
|
64
|
+
interface StrapiConfig {
|
|
65
|
+
wrapBodyInData?: boolean;
|
|
66
|
+
transformResponse?: boolean;
|
|
67
|
+
pageSize?: number;
|
|
68
|
+
prefix?: string;
|
|
69
|
+
tokenKey?: string;
|
|
70
|
+
onCreate?: {
|
|
71
|
+
generateUID?: boolean;
|
|
72
|
+
keyUID?: string;
|
|
73
|
+
};
|
|
74
|
+
defaultQueriesInvalidations?: InvalidateKeysMap;
|
|
75
|
+
baseURL?: string;
|
|
76
|
+
}
|
|
77
|
+
interface MetaResponse {
|
|
78
|
+
pagination: Omit<Pagination, "currentTotal">;
|
|
79
|
+
}
|
|
80
|
+
interface RawResponse<T> {
|
|
81
|
+
data: T;
|
|
82
|
+
meta: MetaResponse;
|
|
83
|
+
}
|
|
84
|
+
type BaseModel = AnyObject & {
|
|
85
|
+
id?: ModelID;
|
|
86
|
+
};
|
|
87
|
+
type InvalidateOpt = {
|
|
88
|
+
invalidateKeys?: (string | unknown[])[];
|
|
89
|
+
onSuccess?: (data?: any) => void;
|
|
90
|
+
onError?: (error: unknown) => void;
|
|
91
|
+
};
|
|
92
|
+
interface PayloadRequest<T> {
|
|
93
|
+
data: T;
|
|
94
|
+
requestOptions?: RequestOptions<T>;
|
|
95
|
+
serializeOptions?: SerializeOptions;
|
|
96
|
+
}
|
|
97
|
+
interface PayloadRequestUpdate<T> {
|
|
98
|
+
data: T;
|
|
99
|
+
id: ModelID;
|
|
100
|
+
requestOptions?: RequestOptions<T>;
|
|
101
|
+
serializeOptions?: SerializeOptions;
|
|
102
|
+
}
|
|
103
|
+
interface PayloadRequestUpsert<T> {
|
|
104
|
+
data: T;
|
|
105
|
+
id: ModelID;
|
|
106
|
+
requestOptions?: RequestOptions<T>;
|
|
107
|
+
serializeOptions?: SerializeOptions;
|
|
108
|
+
}
|
|
109
|
+
interface PayloadRequestUpload {
|
|
110
|
+
fileList: UploadFile[];
|
|
111
|
+
oldImages?: StrapiImage[];
|
|
112
|
+
}
|
|
113
|
+
declare class StrapiSDK<T extends BaseModel> extends BaseAPI<T> {
|
|
114
|
+
private defaultInvalidateKeys?;
|
|
115
|
+
private config;
|
|
116
|
+
constructor(resource: string, config?: StrapiConfig);
|
|
117
|
+
exist: (opt: RequestOptions<T>) => Promise<boolean>;
|
|
118
|
+
protected getQueryParams(opt?: RequestOptions<T>): AnyObject & {
|
|
119
|
+
filters?: AnyObject;
|
|
120
|
+
};
|
|
121
|
+
protected normalizeBody(model: T, action: "save" | "update", { multipart, transformModel }: RequestOptions<T>, serializeOptions?: SerializeOptions): AnyObject | FormData;
|
|
122
|
+
protected getRequestParams(opt?: RequestOptions<T>): RequestData;
|
|
123
|
+
requestExecutor({ uri, data }: {
|
|
124
|
+
uri: string;
|
|
125
|
+
data: RequestData;
|
|
126
|
+
}): Promise<any>;
|
|
127
|
+
listAll: (opt?: RequestOptions<T>) => Promise<PaginationResponse<T>>;
|
|
128
|
+
getAllData: (options?: RequestOptions<T>) => Promise<{
|
|
129
|
+
data: T[];
|
|
130
|
+
opt: {
|
|
131
|
+
auth?: boolean;
|
|
132
|
+
delay?: number;
|
|
133
|
+
url?: string;
|
|
134
|
+
method?: "get" | "post" | "put" | "delete";
|
|
135
|
+
sort: string | string[];
|
|
136
|
+
excludeFilterEnterprise?: boolean;
|
|
137
|
+
filters?: FilterParametersCustom<T> | undefined;
|
|
138
|
+
populate?: PopulateParams<T> | undefined;
|
|
139
|
+
fields?: string[];
|
|
140
|
+
permissions?: string[];
|
|
141
|
+
pagination: PaginationRequest;
|
|
142
|
+
extraQuery?: AnyObject;
|
|
143
|
+
forceUpdateStrapiUID?: boolean;
|
|
144
|
+
multipart?: ((model: T, action: "save" | "update") => FormData) | undefined;
|
|
145
|
+
transformModel?: ((model: T, action: "save" | "update") => T) | undefined;
|
|
146
|
+
};
|
|
147
|
+
paging: {
|
|
148
|
+
pageCount: number;
|
|
149
|
+
};
|
|
150
|
+
pagination: PaginationRequest;
|
|
151
|
+
}>;
|
|
152
|
+
show: (id: ModelID, opt?: RequestOptions<T>) => Promise<T>;
|
|
153
|
+
patchRequest: (options: SerializeOptions, id?: ModelID, opt?: RequestOptions<T>) => {
|
|
154
|
+
uri: string;
|
|
155
|
+
options?: undefined;
|
|
156
|
+
} | {
|
|
157
|
+
uri: string;
|
|
158
|
+
options: string[];
|
|
159
|
+
};
|
|
160
|
+
private buildPayloadToStore;
|
|
161
|
+
store: (model: T, id?: ModelID, opt?: RequestOptions<T>, serializeOptions?: SerializeOptions) => Promise<T>;
|
|
162
|
+
save: (model: T, opt?: RequestOptions<T>, serializeOptions?: SerializeOptions) => Promise<T>;
|
|
163
|
+
update: (id: ModelID, model: T, opt?: RequestOptions<T>, serializeOptions?: SerializeOptions) => Promise<T>;
|
|
164
|
+
updateOne: (model: T, opt: RequestOptions<T>, serializeOptions?: SerializeOptions, _createRelations?: RelationCreate<T>[]) => Promise<RawResponse<T>>;
|
|
165
|
+
destroy: (id: ModelID, opt?: RequestOptions<T>) => Promise<boolean>;
|
|
166
|
+
findOne: (opt?: RequestOptions<T>) => Promise<T | null>;
|
|
167
|
+
findById: (id: number, opt?: RequestOptions<T>) => Promise<T>;
|
|
168
|
+
serialize(model: T | AnyObject, options?: SerializeOptions): AnyObject;
|
|
169
|
+
private shouldSkipKey;
|
|
170
|
+
private transformValue;
|
|
171
|
+
private buildOptions;
|
|
172
|
+
private serializeArray;
|
|
173
|
+
useListAll: (opt?: RequestOptions<T>) => _tanstack_react_query.UseQueryResult<PaginationResponse<T>, Error>;
|
|
174
|
+
useListAllCustom: (opt?: RequestOptions<T>, enabled?: boolean) => _tanstack_react_query.UseQueryResult<PaginationResponse<T>, Error>;
|
|
175
|
+
useGetAllData: (opt?: RequestOptions<T>) => _tanstack_react_query.UseQueryResult<{
|
|
176
|
+
data: T[];
|
|
177
|
+
opt: {
|
|
178
|
+
auth?: boolean;
|
|
179
|
+
delay?: number;
|
|
180
|
+
url?: string;
|
|
181
|
+
method?: "get" | "post" | "put" | "delete";
|
|
182
|
+
sort: string | string[];
|
|
183
|
+
excludeFilterEnterprise?: boolean;
|
|
184
|
+
filters?: FilterParametersCustom<T> | undefined;
|
|
185
|
+
populate?: PopulateParams<T> | undefined;
|
|
186
|
+
fields?: string[];
|
|
187
|
+
permissions?: string[];
|
|
188
|
+
pagination: PaginationRequest;
|
|
189
|
+
extraQuery?: AnyObject;
|
|
190
|
+
forceUpdateStrapiUID?: boolean;
|
|
191
|
+
multipart?: ((model: T, action: "save" | "update") => FormData) | undefined;
|
|
192
|
+
transformModel?: ((model: T, action: "save" | "update") => T) | undefined;
|
|
193
|
+
};
|
|
194
|
+
paging: {
|
|
195
|
+
pageCount: number;
|
|
196
|
+
};
|
|
197
|
+
pagination: PaginationRequest;
|
|
198
|
+
}, Error>;
|
|
199
|
+
useGetAllDataCustom: (opt?: RequestOptions<T>, enabled?: boolean) => _tanstack_react_query.UseQueryResult<T[], Error>;
|
|
200
|
+
useExistEntity: (opt: RequestOptions<T>) => _tanstack_react_query.UseQueryResult<boolean, Error>;
|
|
201
|
+
useShow: (id: ModelID, opt?: RequestOptions<T>) => _tanstack_react_query.UseQueryResult<_tanstack_react_query.NoInfer<T>, Error>;
|
|
202
|
+
useFindOneAsync: (opt?: RequestOptions<T>, enabled?: boolean) => _tanstack_react_query.UseQueryResult<_tanstack_react_query.NoInfer<T | null>, Error>;
|
|
203
|
+
useFindOne: (opt?: RequestOptions<T>) => _tanstack_react_query.UseQueryResult<_tanstack_react_query.NoInfer<T | null>, Error>;
|
|
204
|
+
useFindById: (id: number, opt?: RequestOptions<T>) => _tanstack_react_query.UseQueryResult<_tanstack_react_query.NoInfer<T>, Error>;
|
|
205
|
+
private getInvalidateKeys;
|
|
206
|
+
useStore: (opt?: InvalidateOpt) => _tanstack_react_query.UseMutationResult<T, Error, PayloadRequestUpdate<T>, unknown>;
|
|
207
|
+
useSave: (opt?: InvalidateOpt) => _tanstack_react_query.UseMutationResult<T, Error, PayloadRequest<T>, unknown>;
|
|
208
|
+
useUpdate: (opt?: InvalidateOpt) => _tanstack_react_query.UseMutationResult<T, Error, PayloadRequestUpdate<T>, unknown>;
|
|
209
|
+
useUpsert: (opt?: InvalidateOpt) => _tanstack_react_query.UseMutationResult<T, Error, PayloadRequestUpsert<T>, unknown>;
|
|
210
|
+
useDestroy: (opt?: InvalidateOpt) => _tanstack_react_query.UseMutationResult<boolean, Error, ModelID, unknown>;
|
|
211
|
+
findOrCreate(data: T, optFind: RequestOptions<T>, optPayload?: RequestOptions<T>, serializeOptionsPayload?: SerializeOptions): Promise<T>;
|
|
212
|
+
findAndUpdate(data: T, optFilter: RequestOptions<T>, optPayload?: RequestOptions<T>, serializeOptionsPayload?: SerializeOptions): Promise<T | undefined>;
|
|
213
|
+
finOneEntity: (opt?: RequestOptions<T>) => Promise<T | null>;
|
|
214
|
+
upsert(data: T, opt?: RequestOptions<T>, serializeOptions?: SerializeOptions): Promise<T>;
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
type AnyObject = Record<string, any>;
|
|
218
|
+
type AnyValue = any;
|
|
219
|
+
interface Pagination {
|
|
220
|
+
page: number;
|
|
221
|
+
pageSize: number;
|
|
222
|
+
pageCount: number;
|
|
223
|
+
total: number;
|
|
224
|
+
currentTotal: number;
|
|
225
|
+
withCount?: boolean;
|
|
226
|
+
}
|
|
227
|
+
interface PaginationRequest {
|
|
228
|
+
page: number;
|
|
229
|
+
pageSize: number;
|
|
230
|
+
}
|
|
231
|
+
type ModelID = string | number | undefined;
|
|
232
|
+
type ConstructorWithParams<T> = {
|
|
233
|
+
new (...arguments_: AnyValue[]): T;
|
|
234
|
+
};
|
|
235
|
+
interface RelationCreate<T> {
|
|
236
|
+
propModel: keyof T;
|
|
237
|
+
api: BaseAPI<T>;
|
|
238
|
+
}
|
|
239
|
+
interface PaginationResponse<T> {
|
|
240
|
+
data: T[];
|
|
241
|
+
pagination: Pagination;
|
|
242
|
+
}
|
|
243
|
+
interface SerializeOptions {
|
|
244
|
+
exclude?: string[];
|
|
245
|
+
onlyIdForRelations?: boolean;
|
|
246
|
+
preserveBlank?: boolean;
|
|
247
|
+
preserveRelations?: string[];
|
|
248
|
+
removeEmptyArrays?: boolean;
|
|
249
|
+
removeEmptyObjects?: boolean;
|
|
250
|
+
}
|
|
251
|
+
interface FilterTypesCustom {
|
|
252
|
+
$in?: string[] | number[];
|
|
253
|
+
$contains?: string;
|
|
254
|
+
$containsi?: string;
|
|
255
|
+
$notContainsi?: string;
|
|
256
|
+
$null?: boolean;
|
|
257
|
+
$between?: AnyObject[];
|
|
258
|
+
$lte?: number | string;
|
|
259
|
+
$lt?: number | string;
|
|
260
|
+
$gte?: number | string;
|
|
261
|
+
$gt?: number | string;
|
|
262
|
+
$eq?: string | number | boolean;
|
|
263
|
+
$ne?: string | number;
|
|
264
|
+
}
|
|
265
|
+
type OperatorsCustom<T> = T extends object ? {
|
|
266
|
+
$and?: Array<FilterParametersCustom<T> | Partial<T>>;
|
|
267
|
+
$or?: Array<FilterParametersCustom<T> | Partial<T>>;
|
|
268
|
+
$between?: AnyValue[];
|
|
269
|
+
$in?: string[] | number[];
|
|
270
|
+
} : {};
|
|
271
|
+
type FilterParametersCustom<T> = {
|
|
272
|
+
[K in keyof T as T[K] extends (...arguments_: AnyValue[]) => AnyValue ? never : K]?: T[K] extends number | string | boolean | undefined ? FilterTypesCustom | T[K] : T[K] extends (infer U)[] ? FilterParametersCustom<U> | U | number : T[K] extends object ? FilterParametersCustom<T[K]> | number : FilterParametersCustom<T[K]>;
|
|
273
|
+
} & OperatorsCustom<T>;
|
|
274
|
+
interface RequestData {
|
|
275
|
+
query?: AnyObject & {
|
|
276
|
+
extraQuery?: AnyObject;
|
|
277
|
+
};
|
|
278
|
+
auth?: boolean;
|
|
279
|
+
headers?: AxiosRequestHeaders;
|
|
280
|
+
body?: AnyObject | AnyObject[] | FormData;
|
|
281
|
+
responseType?: "blob" | "json";
|
|
282
|
+
}
|
|
283
|
+
type FieldFilter<T> = T | {
|
|
284
|
+
$eq?: T;
|
|
285
|
+
$ne?: T;
|
|
286
|
+
$in?: T[];
|
|
287
|
+
$nin?: T[];
|
|
288
|
+
$gt?: T;
|
|
289
|
+
$lt?: T;
|
|
290
|
+
$gte?: T;
|
|
291
|
+
$lte?: T;
|
|
292
|
+
$contains?: string;
|
|
293
|
+
$containsi?: string;
|
|
294
|
+
$startsWith?: string;
|
|
295
|
+
$endsWith?: string;
|
|
296
|
+
};
|
|
297
|
+
type RawFilter<T> = {
|
|
298
|
+
[K in keyof T]?: NonNullable<T[K]> extends (infer U)[] ? U extends object ? RawFilter<U>[] : FieldFilter<U>[] : NonNullable<T[K]> extends object ? RawFilter<NonNullable<T[K]>> : FieldFilter<NonNullable<T[K]>>;
|
|
299
|
+
} & {
|
|
300
|
+
$and?: RawFilter<T>[];
|
|
301
|
+
$or?: RawFilter<T>[];
|
|
302
|
+
};
|
|
303
|
+
interface PagingPopulate {
|
|
304
|
+
page?: number;
|
|
305
|
+
pageSize?: number;
|
|
306
|
+
withCount?: boolean;
|
|
307
|
+
limit?: number;
|
|
308
|
+
}
|
|
309
|
+
type ElementOf<T> = T extends ReadonlyArray<infer U> ? U : T extends Array<infer U> ? U : never;
|
|
310
|
+
type PopulateParams<T> = {
|
|
311
|
+
pagination?: PagingPopulate;
|
|
312
|
+
sort?: string;
|
|
313
|
+
fields?: "*" | string[];
|
|
314
|
+
filters?: FilterParametersCustom<T>;
|
|
315
|
+
populate?: {
|
|
316
|
+
[K in keyof T]?: NonNullable<T[K]> extends infer Property ? Property extends Array<AnyValue> | ReadonlyArray<AnyValue> ? boolean | PopulateParams<ElementOf<Property>> : Property extends object ? boolean | PopulateParams<Property> : boolean : never;
|
|
317
|
+
};
|
|
318
|
+
} & {
|
|
319
|
+
[K in keyof T]?: NonNullable<T[K]> extends infer Property ? Property extends Array<AnyValue> | ReadonlyArray<AnyValue> ? boolean | PopulateParams<ElementOf<Property>> : Property extends object ? boolean | PopulateParams<Property> : boolean : never;
|
|
320
|
+
};
|
|
321
|
+
interface RequestOptions<T> {
|
|
322
|
+
auth?: boolean;
|
|
323
|
+
delay?: number;
|
|
324
|
+
url?: string;
|
|
325
|
+
method?: "get" | "post" | "put" | "delete";
|
|
326
|
+
sort?: string | string[];
|
|
327
|
+
excludeFilterEnterprise?: boolean;
|
|
328
|
+
filters?: FilterParametersCustom<T>;
|
|
329
|
+
populate?: PopulateParams<T>;
|
|
330
|
+
fields?: string[];
|
|
331
|
+
permissions?: string[];
|
|
332
|
+
pagination?: PaginationRequest;
|
|
333
|
+
extraQuery?: AnyObject;
|
|
334
|
+
forceUpdateStrapiUID?: boolean;
|
|
335
|
+
multipart?: (model: T, action: "save" | "update") => FormData;
|
|
336
|
+
transformModel?: (model: T, action: "save" | "update") => T;
|
|
337
|
+
}
|
|
338
|
+
declare const publicRoutes: string[];
|
|
339
|
+
declare function isObject(value: unknown): value is Record<string, unknown>;
|
|
340
|
+
declare function isDefined<T>(value: T): value is T;
|
|
341
|
+
declare function getKeyByValue<T, K extends keyof T>(object: T, value: T[K]): K | undefined;
|
|
342
|
+
declare function isEmptyObject<T>(object: T): boolean;
|
|
343
|
+
declare function isPlainObject(value: AnyValue): value is Record<string, any>;
|
|
344
|
+
interface Credentials {
|
|
345
|
+
identifier: string;
|
|
346
|
+
password: string;
|
|
347
|
+
}
|
|
348
|
+
interface StrapiBaseInterface {
|
|
349
|
+
id: number;
|
|
350
|
+
strapiUID?: string;
|
|
351
|
+
createdAt?: Date;
|
|
352
|
+
updatedAt?: Date;
|
|
353
|
+
}
|
|
354
|
+
interface StrapiRole extends StrapiBaseInterface {
|
|
355
|
+
name: string;
|
|
356
|
+
description: string;
|
|
357
|
+
type: string;
|
|
358
|
+
}
|
|
359
|
+
interface UserStrapiModel extends StrapiBaseInterface {
|
|
360
|
+
username?: string;
|
|
361
|
+
email?: string;
|
|
362
|
+
provider?: string;
|
|
363
|
+
password: string;
|
|
364
|
+
resetPasswordToken?: string;
|
|
365
|
+
confirmationToken?: string;
|
|
366
|
+
confirmed?: boolean;
|
|
367
|
+
blocked?: boolean;
|
|
368
|
+
role?: StrapiRole | number;
|
|
369
|
+
type?: string;
|
|
370
|
+
firstName?: string;
|
|
371
|
+
lastName?: string;
|
|
372
|
+
approved?: boolean;
|
|
373
|
+
setup_secret?: string;
|
|
374
|
+
expoPushToken?: string;
|
|
375
|
+
}
|
|
376
|
+
interface AuthResponse {
|
|
377
|
+
jwt: string;
|
|
378
|
+
user: UserStrapiModel;
|
|
379
|
+
}
|
|
380
|
+
interface StrapiAuthResponse {
|
|
381
|
+
data: AuthResponse;
|
|
382
|
+
}
|
|
383
|
+
interface ImageFormat {
|
|
384
|
+
url: string;
|
|
385
|
+
width: number;
|
|
386
|
+
height: number;
|
|
387
|
+
}
|
|
388
|
+
interface StrapiImageFormat {
|
|
389
|
+
thumbnail?: ImageFormat;
|
|
390
|
+
small?: ImageFormat;
|
|
391
|
+
medium?: ImageFormat;
|
|
392
|
+
large?: ImageFormat;
|
|
393
|
+
}
|
|
394
|
+
interface StrapiImage {
|
|
395
|
+
id: number;
|
|
396
|
+
name: string;
|
|
397
|
+
alternativeText: string;
|
|
398
|
+
caption: string;
|
|
399
|
+
width: number;
|
|
400
|
+
height: number;
|
|
401
|
+
formats: StrapiImageFormat;
|
|
402
|
+
hash: string;
|
|
403
|
+
ext: string;
|
|
404
|
+
mime: string;
|
|
405
|
+
size: number;
|
|
406
|
+
url: string;
|
|
407
|
+
previewUrl: string;
|
|
408
|
+
provider: string;
|
|
409
|
+
provider_metadata: string;
|
|
410
|
+
createdAt: string;
|
|
411
|
+
updatedAt: string;
|
|
412
|
+
isUrlSigned: boolean;
|
|
413
|
+
documentId?: number;
|
|
414
|
+
_id?: string;
|
|
415
|
+
}
|
|
416
|
+
type FieldType = "text" | "number" | "date" | "checkbox" | "radio" | "textarea" | "email" | "password" | "url";
|
|
417
|
+
type FieldTag = "text" | "select" | "currency" | "checkbox" | "radio" | "number" | "textarea" | "email" | "password" | "url" | "table" | "hidden" | "submit" | "reset" | "button" | "image" | "file" | "color" | "date" | "dateRange" | "monthRange" | "time" | "week" | "year" | "selectMultiple" | "switch" | "slider" | "rate" | "search" | "treeSelect" | "upload" | "frame" | "radioGroup" | "inputSearch";
|
|
418
|
+
interface FieldConfig<T extends BaseModel = BaseModel> extends ColumnType<T> {
|
|
419
|
+
name?: string;
|
|
420
|
+
customFilters?: RawFilter<T> | ((value: unknown) => AnyObject);
|
|
421
|
+
titleOnFilter?: string;
|
|
422
|
+
dataIndex: string;
|
|
423
|
+
title: string | ReactNode;
|
|
424
|
+
type?: FieldType;
|
|
425
|
+
tag?: FieldTag;
|
|
426
|
+
hiddenInTable?: boolean;
|
|
427
|
+
aliasToExport?: string;
|
|
428
|
+
excludeOnExport?: boolean;
|
|
429
|
+
formatter?: (value: T) => unknown;
|
|
430
|
+
hiddenOnTable?: boolean;
|
|
431
|
+
hiddenInForm?: boolean;
|
|
432
|
+
visible?: boolean;
|
|
433
|
+
placeholder?: string;
|
|
434
|
+
option?: {
|
|
435
|
+
options?: AnyValue[];
|
|
436
|
+
api: APIType<T>;
|
|
437
|
+
selectFirstOption: boolean;
|
|
438
|
+
currentModel: BaseModel;
|
|
439
|
+
required?: boolean;
|
|
440
|
+
itemKey?: string;
|
|
441
|
+
itemShow?: string | string[];
|
|
442
|
+
filterBy?: string | string[];
|
|
443
|
+
format: (options: AnyValue[]) => AnyValue[];
|
|
444
|
+
filters: FilterParametersCustom<T>;
|
|
445
|
+
populate: PopulateParams<T>;
|
|
446
|
+
};
|
|
447
|
+
sort?: {
|
|
448
|
+
active?: boolean;
|
|
449
|
+
default?: string;
|
|
450
|
+
};
|
|
451
|
+
height?: string;
|
|
452
|
+
heightImg?: number;
|
|
453
|
+
classes?: {
|
|
454
|
+
element?: string;
|
|
455
|
+
label?: string;
|
|
456
|
+
input?: string;
|
|
457
|
+
};
|
|
458
|
+
required?: boolean;
|
|
459
|
+
options?: {
|
|
460
|
+
label: string;
|
|
461
|
+
value: string;
|
|
462
|
+
}[];
|
|
463
|
+
rules?: Rule[];
|
|
464
|
+
maxLength?: number;
|
|
465
|
+
onBlur?: (value: string, form: FormInstance) => void;
|
|
466
|
+
}
|
|
467
|
+
type FormAction = "save" | "update" | "read";
|
|
468
|
+
type ReadonlyProperty = boolean | ((action: FormAction, model: BaseModel) => boolean);
|
|
469
|
+
type SizeModal = "small" | "large" | "xlarge" | "xxlarge" | "regular";
|
|
470
|
+
interface TabModel<T extends BaseModel = BaseModel> {
|
|
471
|
+
title: string;
|
|
472
|
+
fields: FieldConfig<T>[];
|
|
473
|
+
classes?: string;
|
|
474
|
+
autorize?: boolean;
|
|
475
|
+
isVisible?: ReadonlyProperty;
|
|
476
|
+
}
|
|
477
|
+
interface ReusableFormProps<T extends BaseModel> {
|
|
478
|
+
fields: FieldConfig<T>[];
|
|
479
|
+
onSubmit: (values: BaseFormValues<T>) => void;
|
|
480
|
+
open: boolean;
|
|
481
|
+
isLoading: boolean;
|
|
482
|
+
onClose: () => void;
|
|
483
|
+
title: string;
|
|
484
|
+
subtitle?: string;
|
|
485
|
+
initialValues?: BaseFormValues<T>;
|
|
486
|
+
}
|
|
487
|
+
type APIType<T> = BaseAPI<T>;
|
|
488
|
+
type BaseFormValues<T extends BaseModel, K extends keyof T = never> = Omit<T, K> & {
|
|
489
|
+
cover?: StrapiImage | File;
|
|
490
|
+
};
|
|
491
|
+
type BaseActionsTypes = "show" | "edit";
|
|
492
|
+
declare const generateFakeFirebaseUID: () => string;
|
|
493
|
+
|
|
494
|
+
declare class HelperStrapiAPI {
|
|
495
|
+
getSortingLocal<T>(values?: SorterResult<T>, defaultSorter?: string): string;
|
|
496
|
+
getPayload(object: Record<string, unknown>): FormData | {
|
|
497
|
+
data: Record<string, unknown>;
|
|
498
|
+
};
|
|
499
|
+
isFormDataEmpty(formData: FormData): boolean;
|
|
500
|
+
}
|
|
501
|
+
declare const helperStrapiAPI: HelperStrapiAPI;
|
|
502
|
+
|
|
503
|
+
declare abstract class BaseUploaderAPI<T> extends HttpLayer {
|
|
504
|
+
protected resource?: string | undefined;
|
|
505
|
+
protected prefix?: string | undefined;
|
|
506
|
+
protected tokenKey?: string | undefined;
|
|
507
|
+
protected baseURL?: string | undefined;
|
|
508
|
+
protected endpoint: string;
|
|
509
|
+
constructor(resource?: string | undefined, prefix?: string | undefined, tokenKey?: string | undefined, baseURL?: string | undefined);
|
|
510
|
+
buildPath: (...segments: (string | undefined | null)[]) => string;
|
|
511
|
+
normalizePath: (value: string) => string;
|
|
512
|
+
abstract downloadFile(data: AnyObject[], fileNameOutput: string): Promise<void>;
|
|
513
|
+
abstract uploadStrapiFile(resource: File | Blob | File[] | Blob[], requestOptions?: RequestOptions<T>): Promise<StrapiImage[]>;
|
|
514
|
+
abstract destroyFile(id: ModelID): Promise<boolean>;
|
|
515
|
+
abstract uploadStrapiImages(fileList: UploadFile[], oldImages: StrapiImage[]): Promise<StrapiImage[]>;
|
|
516
|
+
}
|
|
517
|
+
|
|
518
|
+
declare class StrapiUploaderSDK<T extends BaseModel> extends BaseUploaderAPI<T> {
|
|
519
|
+
private config;
|
|
520
|
+
private defaultInvalidateKeys?;
|
|
521
|
+
constructor(resource: string, config?: StrapiConfig);
|
|
522
|
+
protected getQueryParams(opt?: RequestOptions<T>): AnyObject & {
|
|
523
|
+
filters?: AnyObject;
|
|
524
|
+
};
|
|
525
|
+
protected getRequestParams(opt?: RequestOptions<T>): RequestData;
|
|
526
|
+
uploadStrapiFile: (resource: File | Blob | File[] | Blob[], opt?: RequestOptions<T> & {
|
|
527
|
+
folder?: string;
|
|
528
|
+
}) => Promise<StrapiImage[]>;
|
|
529
|
+
destroyFile(id: number): Promise<boolean>;
|
|
530
|
+
downloadFile: (data: AnyObject[], fileName: string, optRequest?: RequestOptions<T>) => Promise<void>;
|
|
531
|
+
uploadStrapiImages: (fileList: UploadFile[], oldImages?: StrapiImage[]) => Promise<StrapiImage[]>;
|
|
532
|
+
private getInvalidateKeys;
|
|
533
|
+
useUploadImages: (opt?: InvalidateOpt) => _tanstack_react_query.UseMutationResult<StrapiImage[], Error, PayloadRequestUpload, unknown>;
|
|
534
|
+
useUploadImagesCreate: (opt?: InvalidateOpt) => _tanstack_react_query.UseMutationResult<StrapiImage[], Error, PayloadRequestUpload, unknown>;
|
|
535
|
+
uploadMergerImages: (fileList: UploadFile[], oldImages?: StrapiImage[]) => Promise<StrapiImage[]>;
|
|
536
|
+
newUploadFile: (resource: AnyValue, opt?: RequestOptions<T>, serializeOptions?: SerializeOptions) => Promise<any[]>;
|
|
537
|
+
}
|
|
538
|
+
|
|
539
|
+
export { type APIType, type AnyObject, type AnyValue, type AuthResponse, BaseAPI, type BaseActionsTypes, type BaseFormValues, type BaseModel, BaseUploaderAPI, type BuilderHeaders, type ConstructorWithParams, type Credentials, type FieldConfig, type FieldFilter, type FieldTag, type FieldType, type FilterParametersCustom, type FilterTypesCustom, type FormAction, type ImageFormat, type InvalidateKeysMap, type InvalidateOpt, LocalStoreManager, type MetaResponse, type ModelID, type OperatorsCustom, type Pagination, type PaginationRequest, type PaginationResponse, type PayloadRequestUpload, type PopulateParams, type RawFilter, type RawResponse, type ReadonlyProperty, type RelationCreate, type RequestData, type RequestOptions, type ReusableFormProps, type SerializeOptions, type SizeModal, type StrapiAuthResponse, type StrapiBaseInterface, type StrapiConfig, type StrapiImage, type StrapiImageFormat, type StrapiRole, StrapiSDK, StrapiUploaderSDK, type TabModel, type UserStrapiModel, buildPath, generateFakeFirebaseUID, getKeyByValue, helperStrapiAPI, isDefined, isEmptyObject, isObject, isPlainObject, publicRoutes };
|