@redonvn/redai-backend-api-sdk 0.1.10 → 0.1.11

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 (58) hide show
  1. package/.npm-cache/_cacache/content-v2/sha512/86/70/40787d3ad4c6bb74f182be681858c7e22dc44bd5679779bfe4f3aa562f18810e6b8e80144a539402fe397be24c37e2555f351176e49d8bd1ddff114d5e04 +0 -0
  2. package/.npm-cache/_cacache/tmp/6303939d +0 -0
  3. package/.npm-cache/_update-notifier-last-checked +0 -0
  4. package/package.json +1 -4
  5. package/src/core/auth.ts +62 -0
  6. package/src/core/http-client.ts +41 -0
  7. package/src/core/types.ts +23 -0
  8. package/src/generated/dynamic-table/index.ts +3 -0
  9. package/src/generated/dynamic-table/services/api-docs.service.ts +42 -0
  10. package/src/generated/dynamic-table/services/api-tokens.service.ts +53 -0
  11. package/src/generated/dynamic-table/services/attachments-secure.service.ts +31 -0
  12. package/src/generated/dynamic-table/services/attachments.service.ts +53 -0
  13. package/src/generated/dynamic-table/services/base-members.service.ts +55 -0
  14. package/src/generated/dynamic-table/services/bases.service.ts +66 -0
  15. package/src/generated/dynamic-table/services/caches.service.ts +42 -0
  16. package/src/generated/dynamic-table/services/calendar-data.service.ts +44 -0
  17. package/src/generated/dynamic-table/services/calendars.service.ts +45 -0
  18. package/src/generated/dynamic-table/services/columns.service.ts +98 -0
  19. package/src/generated/dynamic-table/services/command-palette.service.ts +42 -0
  20. package/src/generated/dynamic-table/services/data-table.service.ts +188 -0
  21. package/src/generated/dynamic-table/services/dynamic-table-auth.service.ts +21 -0
  22. package/src/generated/dynamic-table/services/filters.service.ts +76 -0
  23. package/src/generated/dynamic-table/services/forms.service.ts +45 -0
  24. package/src/generated/dynamic-table/services/galleries.service.ts +45 -0
  25. package/src/generated/dynamic-table/services/grids.service.ts +33 -0
  26. package/src/generated/dynamic-table/services/hooks.service.ts +145 -0
  27. package/src/generated/dynamic-table/services/index.ts +37 -0
  28. package/src/generated/dynamic-table/services/internal.service.ts +42 -0
  29. package/src/generated/dynamic-table/services/kanban-data.service.ts +21 -0
  30. package/src/generated/dynamic-table/services/kanbans.service.ts +45 -0
  31. package/src/generated/dynamic-table/services/maps.service.ts +45 -0
  32. package/src/generated/dynamic-table/services/row-color.service.ts +77 -0
  33. package/src/generated/dynamic-table/services/sorts.service.ts +76 -0
  34. package/src/generated/dynamic-table/services/sources.service.ts +66 -0
  35. package/src/generated/dynamic-table/services/tables.service.ts +77 -0
  36. package/src/generated/dynamic-table/services/user-ui-preferences.service.ts +32 -0
  37. package/src/generated/dynamic-table/services/utils.service.ts +53 -0
  38. package/src/generated/dynamic-table/services/view-columns.service.ts +87 -0
  39. package/src/generated/dynamic-table/services/views.service.ts +109 -0
  40. package/src/generated/dynamic-table/services/workspace-invite-link-settings.service.ts +43 -0
  41. package/src/generated/dynamic-table/services/workspace-invite-links.service.ts +55 -0
  42. package/src/generated/dynamic-table/services/workspace-invites.service.ts +21 -0
  43. package/src/generated/dynamic-table/services/workspace-join-requests.service.ts +45 -0
  44. package/src/generated/dynamic-table/services/workspace-members.service.ts +56 -0
  45. package/src/generated/dynamic-table/services/workspaces.service.ts +77 -0
  46. package/src/generated/dynamic-table/types.ts +2244 -0
  47. package/src/generated/index.ts +4 -0
  48. package/src/generated/services/index.ts +2 -0
  49. package/src/generated/types.ts +2 -0
  50. package/src/index.ts +79 -0
  51. package/tools/.reports/dynamic-table-sdk-report.json +9 -0
  52. package/tools/generate-dynamic-table-sdk.ts +31 -0
  53. package/tools/generate-sdk.ts +13 -0
  54. package/tools/generator/openapi-resolver.ts +77 -0
  55. package/tools/generator/shared.ts +162 -0
  56. package/tools/generator/ts-resolver.ts +439 -0
  57. package/tools/verify-generated.ts +23 -0
  58. package/tsconfig.json +19 -0
Binary file
File without changes
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@redonvn/redai-backend-api-sdk",
3
- "version": "0.1.10",
3
+ "version": "0.1.11",
4
4
  "description": "Axios SDK for RedAI Dynamic Table APIs",
5
5
  "license": "UNLICENSED",
6
6
  "main": "dist/index.js",
@@ -27,9 +27,6 @@
27
27
  "access": "public",
28
28
  "registry": "https://registry.npmjs.org/"
29
29
  },
30
- "files": [
31
- "dist"
32
- ],
33
30
  "scripts": {
34
31
  "clean": "node -e \"require('fs').rmSync('dist',{ recursive: true, force: true })\"",
35
32
  "generate": "cross-env GEN_MODE=hybrid OUTPUT_REPORT=true tsx tools/generate-dynamic-table-sdk.ts",
@@ -0,0 +1,62 @@
1
+ import { DynamicTableTokenProvider } from './types';
2
+
3
+ export interface AuthState {
4
+ bearerToken: string | null;
5
+ dtApiToken: string | null;
6
+ }
7
+
8
+ export class DynamicTableAuth {
9
+ private state: AuthState;
10
+ private tokenProvider: DynamicTableTokenProvider | null = null;
11
+
12
+ constructor(initial?: Partial<AuthState>, tokenProvider?: DynamicTableTokenProvider) {
13
+ this.state = {
14
+ bearerToken: initial?.bearerToken ?? null,
15
+ dtApiToken: initial?.dtApiToken ?? null,
16
+ };
17
+ this.tokenProvider = tokenProvider ?? null;
18
+ }
19
+
20
+ getState(): Readonly<AuthState> {
21
+ return this.state;
22
+ }
23
+
24
+ setTokenProvider(provider: DynamicTableTokenProvider | null): void {
25
+ this.tokenProvider = provider;
26
+ }
27
+
28
+ async resolveState(): Promise<Readonly<AuthState>> {
29
+ if (!this.tokenProvider) {
30
+ return this.state;
31
+ }
32
+
33
+ const [providerBearer, providerDtApiToken] = await Promise.all([
34
+ this.tokenProvider.getBearerToken?.(),
35
+ this.tokenProvider.getDtApiToken?.(),
36
+ ]);
37
+
38
+ return {
39
+ bearerToken:
40
+ providerBearer === undefined ? this.state.bearerToken : (providerBearer ?? null),
41
+ dtApiToken:
42
+ providerDtApiToken === undefined ? this.state.dtApiToken : (providerDtApiToken ?? null),
43
+ };
44
+ }
45
+
46
+ setBearerToken(token: string | null): void {
47
+ this.state.bearerToken = token;
48
+ }
49
+
50
+ setDtApiToken(token: string | null): void {
51
+ this.state.dtApiToken = token;
52
+ }
53
+
54
+ setAuth(input: { bearerToken?: string | null; dtApiToken?: string | null }): void {
55
+ if (Object.prototype.hasOwnProperty.call(input, 'bearerToken')) {
56
+ this.state.bearerToken = input.bearerToken ?? null;
57
+ }
58
+ if (Object.prototype.hasOwnProperty.call(input, 'dtApiToken')) {
59
+ this.state.dtApiToken = input.dtApiToken ?? null;
60
+ }
61
+ }
62
+ }
@@ -0,0 +1,41 @@
1
+ import axios, { AxiosInstance, AxiosRequestConfig } from 'axios';
2
+ import { DynamicTableAuth } from './auth';
3
+ import { DynamicTableSdkConfig } from './types';
4
+
5
+ export class HttpClient {
6
+ private readonly instance: AxiosInstance;
7
+
8
+ constructor(config: DynamicTableSdkConfig, private readonly auth: DynamicTableAuth) {
9
+ this.instance = axios.create({
10
+ baseURL: config.baseURL,
11
+ timeout: config.timeout ?? 30000,
12
+ headers: {
13
+ 'Content-Type': 'application/json',
14
+ ...(config.defaultHeaders ?? {}),
15
+ },
16
+ });
17
+
18
+ this.instance.interceptors.request.use(async (requestConfig) => {
19
+ const state = await this.auth.resolveState();
20
+
21
+ if (state.bearerToken) {
22
+ requestConfig.headers.Authorization = `Bearer ${state.bearerToken}`;
23
+ } else if (requestConfig.headers.Authorization) {
24
+ delete requestConfig.headers.Authorization;
25
+ }
26
+
27
+ if (state.dtApiToken) {
28
+ requestConfig.headers['x-dt-api-token'] = state.dtApiToken;
29
+ } else if (requestConfig.headers['x-dt-api-token']) {
30
+ delete requestConfig.headers['x-dt-api-token'];
31
+ }
32
+
33
+ return requestConfig;
34
+ });
35
+ }
36
+
37
+ async request<T>(config: AxiosRequestConfig): Promise<T> {
38
+ const response = await this.instance.request<T>(config);
39
+ return response.data;
40
+ }
41
+ }
@@ -0,0 +1,23 @@
1
+ export type Nullable<T> = T | null;
2
+
3
+ export interface ApiResponseDto<T> {
4
+ code: number;
5
+ message: string;
6
+ result: T;
7
+ }
8
+
9
+ export type MaybePromise<T> = T | Promise<T>;
10
+
11
+ export interface DynamicTableTokenProvider {
12
+ getBearerToken?: () => MaybePromise<string | null | undefined>;
13
+ getDtApiToken?: () => MaybePromise<string | null | undefined>;
14
+ }
15
+
16
+ export interface DynamicTableSdkConfig {
17
+ baseURL: string;
18
+ timeout?: number;
19
+ defaultHeaders?: Record<string, string>;
20
+ bearerToken?: string | null;
21
+ dtApiToken?: string | null;
22
+ tokenProvider?: DynamicTableTokenProvider;
23
+ }
@@ -0,0 +1,3 @@
1
+ /* eslint-disable */
2
+ export * from './types';
3
+ export * from './services';
@@ -0,0 +1,42 @@
1
+ /* eslint-disable */
2
+ import { HttpClient } from '../../../core/http-client';
3
+ import type {
4
+ ApiResponseDto,
5
+ OpenApiJsonParams,
6
+ RedocParams,
7
+ SwaggerParams,
8
+ } from '../types';
9
+
10
+ export class ApiDocsService {
11
+ constructor(private readonly client: HttpClient) {}
12
+
13
+ async openApiJson(params?: OpenApiJsonParams): Promise<ApiResponseDto<Record<string, unknown>>> {
14
+ return this.client.request<ApiResponseDto<Record<string, unknown>>>({
15
+ method: 'GET',
16
+ url: `/v1/dynamic-table/api-docs/openapi.json`,
17
+ params: undefined,
18
+ data: undefined,
19
+ headers: undefined,
20
+ });
21
+ }
22
+
23
+ async redoc(params?: RedocParams): Promise<ApiResponseDto<string>> {
24
+ return this.client.request<ApiResponseDto<string>>({
25
+ method: 'GET',
26
+ url: `/v1/dynamic-table/api-docs/redoc`,
27
+ params: undefined,
28
+ data: undefined,
29
+ headers: undefined,
30
+ });
31
+ }
32
+
33
+ async swagger(params?: SwaggerParams): Promise<ApiResponseDto<string>> {
34
+ return this.client.request<ApiResponseDto<string>>({
35
+ method: 'GET',
36
+ url: `/v1/dynamic-table/api-docs/swagger`,
37
+ params: undefined,
38
+ data: undefined,
39
+ headers: undefined,
40
+ });
41
+ }
42
+ }
@@ -0,0 +1,53 @@
1
+ /* eslint-disable */
2
+ import { HttpClient } from '../../../core/http-client';
3
+ import type {
4
+ ApiResponseDto,
5
+ CreateApiTokenParams,
6
+ DeleteApiTokenParams,
7
+ ListApiTokensParams,
8
+ UpdateApiTokenParams,
9
+ } from '../types';
10
+
11
+ export class ApiTokensService {
12
+ constructor(private readonly client: HttpClient) {}
13
+
14
+ async listApiTokens(params?: ListApiTokensParams): Promise<ApiResponseDto<Record<string, unknown>[]>> {
15
+ return this.client.request<ApiResponseDto<Record<string, unknown>[]>>({
16
+ method: 'GET',
17
+ url: `/v1/dynamic-table/db/meta/api-tokens`,
18
+ params: params?.query,
19
+ data: undefined,
20
+ headers: undefined,
21
+ });
22
+ }
23
+
24
+ async createApiToken(params: CreateApiTokenParams): Promise<ApiResponseDto<Record<string, unknown>>> {
25
+ return this.client.request<ApiResponseDto<Record<string, unknown>>>({
26
+ method: 'POST',
27
+ url: `/v1/dynamic-table/db/meta/api-tokens`,
28
+ params: undefined,
29
+ data: params?.body,
30
+ headers: undefined,
31
+ });
32
+ }
33
+
34
+ async deleteApiToken(params: DeleteApiTokenParams): Promise<ApiResponseDto<null>> {
35
+ return this.client.request<ApiResponseDto<null>>({
36
+ method: 'DELETE',
37
+ url: `/v1/dynamic-table/db/meta/api-tokens/${encodeURIComponent(String(params.tokenId))}`,
38
+ params: undefined,
39
+ data: undefined,
40
+ headers: undefined,
41
+ });
42
+ }
43
+
44
+ async updateApiToken(params: UpdateApiTokenParams): Promise<ApiResponseDto<Record<string, unknown>>> {
45
+ return this.client.request<ApiResponseDto<Record<string, unknown>>>({
46
+ method: 'PATCH',
47
+ url: `/v1/dynamic-table/db/meta/api-tokens/${encodeURIComponent(String(params.tokenId))}`,
48
+ params: undefined,
49
+ data: params?.body,
50
+ headers: undefined,
51
+ });
52
+ }
53
+ }
@@ -0,0 +1,31 @@
1
+ /* eslint-disable */
2
+ import { HttpClient } from '../../../core/http-client';
3
+ import type {
4
+ ApiResponseDto,
5
+ CreateSecureTokenParams,
6
+ GetSecureAttachmentParams,
7
+ } from '../types';
8
+
9
+ export class AttachmentsSecureService {
10
+ constructor(private readonly client: HttpClient) {}
11
+
12
+ async getSecureAttachment(params: GetSecureAttachmentParams): Promise<ApiResponseDto<Record<string, unknown>>> {
13
+ return this.client.request<ApiResponseDto<Record<string, unknown>>>({
14
+ method: 'GET',
15
+ url: `/v1/dynamic-table/storage/secure/${encodeURIComponent(String(params.attachmentId))}`,
16
+ params: undefined,
17
+ data: undefined,
18
+ headers: undefined,
19
+ });
20
+ }
21
+
22
+ async createSecureToken(params: CreateSecureTokenParams): Promise<ApiResponseDto<Record<string, unknown>>> {
23
+ return this.client.request<ApiResponseDto<Record<string, unknown>>>({
24
+ method: 'POST',
25
+ url: `/v1/dynamic-table/storage/secure/${encodeURIComponent(String(params.attachmentId))}/token`,
26
+ params: undefined,
27
+ data: params?.body,
28
+ headers: undefined,
29
+ });
30
+ }
31
+ }
@@ -0,0 +1,53 @@
1
+ /* eslint-disable */
2
+ import { HttpClient } from '../../../core/http-client';
3
+ import type {
4
+ ApiResponseDto,
5
+ CreatePresignedUrlParams,
6
+ DeleteAttachmentParams,
7
+ GetAttachmentParams,
8
+ UploadParams,
9
+ } from '../types';
10
+
11
+ export class AttachmentsService {
12
+ constructor(private readonly client: HttpClient) {}
13
+
14
+ async deleteAttachment(params: DeleteAttachmentParams): Promise<ApiResponseDto<null>> {
15
+ return this.client.request<ApiResponseDto<null>>({
16
+ method: 'DELETE',
17
+ url: `/v1/dynamic-table/storage/${encodeURIComponent(String(params.attachmentId))}`,
18
+ params: undefined,
19
+ data: undefined,
20
+ headers: undefined,
21
+ });
22
+ }
23
+
24
+ async getAttachment(params: GetAttachmentParams): Promise<ApiResponseDto<Record<string, unknown>>> {
25
+ return this.client.request<ApiResponseDto<Record<string, unknown>>>({
26
+ method: 'GET',
27
+ url: `/v1/dynamic-table/storage/${encodeURIComponent(String(params.attachmentId))}`,
28
+ params: undefined,
29
+ data: undefined,
30
+ headers: undefined,
31
+ });
32
+ }
33
+
34
+ async createPresignedUrl(params: CreatePresignedUrlParams): Promise<ApiResponseDto<Record<string, unknown>>> {
35
+ return this.client.request<ApiResponseDto<Record<string, unknown>>>({
36
+ method: 'POST',
37
+ url: `/v1/dynamic-table/storage/presigned-url`,
38
+ params: undefined,
39
+ data: params?.body,
40
+ headers: undefined,
41
+ });
42
+ }
43
+
44
+ async upload(params: UploadParams): Promise<ApiResponseDto<Record<string, unknown>>> {
45
+ return this.client.request<ApiResponseDto<Record<string, unknown>>>({
46
+ method: 'POST',
47
+ url: `/v1/dynamic-table/storage/upload`,
48
+ params: undefined,
49
+ data: params?.body,
50
+ headers: undefined,
51
+ });
52
+ }
53
+ }
@@ -0,0 +1,55 @@
1
+ /* eslint-disable */
2
+ import { HttpClient } from '../../../core/http-client';
3
+ import type {
4
+ AddBaseMemberParams,
5
+ ApiResponseDto,
6
+ BaseMemberListResponseDto,
7
+ BaseMemberResponseDto,
8
+ ListBaseMembersParams,
9
+ RemoveBaseMemberParams,
10
+ UpdateBaseMemberParams,
11
+ } from '../types';
12
+
13
+ export class BaseMembersService {
14
+ constructor(private readonly client: HttpClient) {}
15
+
16
+ async listBaseMembers(params: ListBaseMembersParams): Promise<ApiResponseDto<BaseMemberListResponseDto>> {
17
+ return this.client.request<ApiResponseDto<BaseMemberListResponseDto>>({
18
+ method: 'GET',
19
+ url: `/v1/dynamic-table/db/meta/bases/${encodeURIComponent(String(params.baseId))}/members`,
20
+ params: params?.query,
21
+ data: undefined,
22
+ headers: undefined,
23
+ });
24
+ }
25
+
26
+ async addBaseMember(params: AddBaseMemberParams): Promise<ApiResponseDto<BaseMemberResponseDto>> {
27
+ return this.client.request<ApiResponseDto<BaseMemberResponseDto>>({
28
+ method: 'POST',
29
+ url: `/v1/dynamic-table/db/meta/bases/${encodeURIComponent(String(params.baseId))}/members`,
30
+ params: undefined,
31
+ data: params?.body,
32
+ headers: undefined,
33
+ });
34
+ }
35
+
36
+ async removeBaseMember(params: RemoveBaseMemberParams): Promise<ApiResponseDto<BaseMemberResponseDto>> {
37
+ return this.client.request<ApiResponseDto<BaseMemberResponseDto>>({
38
+ method: 'DELETE',
39
+ url: `/v1/dynamic-table/db/meta/bases/${encodeURIComponent(String(params.baseId))}/members/${encodeURIComponent(String(params.baseMemberId))}`,
40
+ params: undefined,
41
+ data: undefined,
42
+ headers: undefined,
43
+ });
44
+ }
45
+
46
+ async updateBaseMember(params: UpdateBaseMemberParams): Promise<ApiResponseDto<BaseMemberResponseDto>> {
47
+ return this.client.request<ApiResponseDto<BaseMemberResponseDto>>({
48
+ method: 'PATCH',
49
+ url: `/v1/dynamic-table/db/meta/bases/${encodeURIComponent(String(params.baseId))}/members/${encodeURIComponent(String(params.baseMemberId))}`,
50
+ params: undefined,
51
+ data: params?.body,
52
+ headers: undefined,
53
+ });
54
+ }
55
+ }
@@ -0,0 +1,66 @@
1
+ /* eslint-disable */
2
+ import { HttpClient } from '../../../core/http-client';
3
+ import type {
4
+ ApiResponseDto,
5
+ BaseResponseDto,
6
+ CreateBaseParams,
7
+ DeleteBaseParams,
8
+ GetBaseParams,
9
+ ListBasesParams,
10
+ PagedResponse,
11
+ UpdateBaseParams,
12
+ } from '../types';
13
+
14
+ export class BasesService {
15
+ constructor(private readonly client: HttpClient) {}
16
+
17
+ async deleteBase(params: DeleteBaseParams): Promise<ApiResponseDto<BaseResponseDto>> {
18
+ return this.client.request<ApiResponseDto<BaseResponseDto>>({
19
+ method: 'DELETE',
20
+ url: `/v1/dynamic-table/db/meta/bases/${encodeURIComponent(String(params.baseId))}`,
21
+ params: undefined,
22
+ data: undefined,
23
+ headers: undefined,
24
+ });
25
+ }
26
+
27
+ async getBase(params: GetBaseParams): Promise<ApiResponseDto<BaseResponseDto>> {
28
+ return this.client.request<ApiResponseDto<BaseResponseDto>>({
29
+ method: 'GET',
30
+ url: `/v1/dynamic-table/db/meta/bases/${encodeURIComponent(String(params.baseId))}`,
31
+ params: undefined,
32
+ data: undefined,
33
+ headers: undefined,
34
+ });
35
+ }
36
+
37
+ async updateBase(params: UpdateBaseParams): Promise<ApiResponseDto<BaseResponseDto>> {
38
+ return this.client.request<ApiResponseDto<BaseResponseDto>>({
39
+ method: 'PATCH',
40
+ url: `/v1/dynamic-table/db/meta/bases/${encodeURIComponent(String(params.baseId))}`,
41
+ params: undefined,
42
+ data: params?.body,
43
+ headers: undefined,
44
+ });
45
+ }
46
+
47
+ async listBases(params: ListBasesParams): Promise<ApiResponseDto<PagedResponse<BaseResponseDto>>> {
48
+ return this.client.request<ApiResponseDto<PagedResponse<BaseResponseDto>>>({
49
+ method: 'GET',
50
+ url: `/v1/dynamic-table/db/meta/workspaces/${encodeURIComponent(String(params.workspaceId))}/bases`,
51
+ params: params?.query,
52
+ data: undefined,
53
+ headers: undefined,
54
+ });
55
+ }
56
+
57
+ async createBase(params: CreateBaseParams): Promise<ApiResponseDto<BaseResponseDto>> {
58
+ return this.client.request<ApiResponseDto<BaseResponseDto>>({
59
+ method: 'POST',
60
+ url: `/v1/dynamic-table/db/meta/workspaces/${encodeURIComponent(String(params.workspaceId))}/bases`,
61
+ params: undefined,
62
+ data: params?.body,
63
+ headers: undefined,
64
+ });
65
+ }
66
+ }
@@ -0,0 +1,42 @@
1
+ /* eslint-disable */
2
+ import { HttpClient } from '../../../core/http-client';
3
+ import type {
4
+ ApiResponseDto,
5
+ InvalidateParams,
6
+ StatsParams,
7
+ WarmupParams,
8
+ } from '../types';
9
+
10
+ export class CachesService {
11
+ constructor(private readonly client: HttpClient) {}
12
+
13
+ async invalidate(params: InvalidateParams): Promise<ApiResponseDto<Record<string, unknown>>> {
14
+ return this.client.request<ApiResponseDto<Record<string, unknown>>>({
15
+ method: 'POST',
16
+ url: `/v1/dynamic-table/db/meta/cache/invalidate`,
17
+ params: undefined,
18
+ data: params?.body,
19
+ headers: undefined,
20
+ });
21
+ }
22
+
23
+ async stats(params?: StatsParams): Promise<ApiResponseDto<Record<string, unknown>>> {
24
+ return this.client.request<ApiResponseDto<Record<string, unknown>>>({
25
+ method: 'GET',
26
+ url: `/v1/dynamic-table/db/meta/cache/stats`,
27
+ params: undefined,
28
+ data: undefined,
29
+ headers: undefined,
30
+ });
31
+ }
32
+
33
+ async warmup(params: WarmupParams): Promise<ApiResponseDto<Record<string, unknown>>> {
34
+ return this.client.request<ApiResponseDto<Record<string, unknown>>>({
35
+ method: 'POST',
36
+ url: `/v1/dynamic-table/db/meta/cache/warmup`,
37
+ params: undefined,
38
+ data: params?.body,
39
+ headers: undefined,
40
+ });
41
+ }
42
+ }
@@ -0,0 +1,44 @@
1
+ /* eslint-disable */
2
+ import { HttpClient } from '../../../core/http-client';
3
+ import type {
4
+ ApiResponseDto,
5
+ CountByDateParams,
6
+ CountRangeParams,
7
+ ListCalendarRecordsParams,
8
+ PagedResponse,
9
+ TableRecord,
10
+ } from '../types';
11
+
12
+ export class CalendarDataService {
13
+ constructor(private readonly client: HttpClient) {}
14
+
15
+ async listCalendarRecords(params: ListCalendarRecordsParams): Promise<ApiResponseDto<PagedResponse<TableRecord>>> {
16
+ return this.client.request<ApiResponseDto<PagedResponse<TableRecord>>>({
17
+ method: 'GET',
18
+ url: `/v1/dynamic-table/tables/${encodeURIComponent(String(params.tableId))}/calendars/${encodeURIComponent(String(params.viewId))}/records`,
19
+ params: params?.query,
20
+ data: undefined,
21
+ headers: undefined,
22
+ });
23
+ }
24
+
25
+ async countByDate(params: CountByDateParams): Promise<ApiResponseDto<{ count: number; dates: string[]; }>> {
26
+ return this.client.request<ApiResponseDto<{ count: number; dates: string[]; }>>({
27
+ method: 'GET',
28
+ url: `/v1/dynamic-table/tables/${encodeURIComponent(String(params.tableId))}/calendars/${encodeURIComponent(String(params.viewId))}/records/count-by-date`,
29
+ params: params?.query,
30
+ data: undefined,
31
+ headers: undefined,
32
+ });
33
+ }
34
+
35
+ async countRange(params: CountRangeParams): Promise<ApiResponseDto<{ count: number; }>> {
36
+ return this.client.request<ApiResponseDto<{ count: number; }>>({
37
+ method: 'GET',
38
+ url: `/v1/dynamic-table/tables/${encodeURIComponent(String(params.tableId))}/calendars/${encodeURIComponent(String(params.viewId))}/records/count-range`,
39
+ params: params?.query,
40
+ data: undefined,
41
+ headers: undefined,
42
+ });
43
+ }
44
+ }
@@ -0,0 +1,45 @@
1
+ /* eslint-disable */
2
+ import { HttpClient } from '../../../core/http-client';
3
+ import type {
4
+ ApiResponseDto,
5
+ CalendarViewDetailResponseDto,
6
+ CalendarViewResponseDto,
7
+ CreateCalendarViewParams,
8
+ GetCalendarViewParams,
9
+ UpdateCalendarViewParams,
10
+ ViewResponseDto,
11
+ } from '../types';
12
+
13
+ export class CalendarsService {
14
+ constructor(private readonly client: HttpClient) {}
15
+
16
+ async getCalendarView(params: GetCalendarViewParams): Promise<ApiResponseDto<CalendarViewDetailResponseDto>> {
17
+ return this.client.request<ApiResponseDto<CalendarViewDetailResponseDto>>({
18
+ method: 'GET',
19
+ url: `/v1/dynamic-table/db/meta/calendars/${encodeURIComponent(String(params.calendarViewId))}`,
20
+ params: undefined,
21
+ data: undefined,
22
+ headers: undefined,
23
+ });
24
+ }
25
+
26
+ async updateCalendarView(params: UpdateCalendarViewParams): Promise<ApiResponseDto<CalendarViewResponseDto>> {
27
+ return this.client.request<ApiResponseDto<CalendarViewResponseDto>>({
28
+ method: 'PATCH',
29
+ url: `/v1/dynamic-table/db/meta/calendars/${encodeURIComponent(String(params.calendarViewId))}`,
30
+ params: undefined,
31
+ data: params?.body,
32
+ headers: undefined,
33
+ });
34
+ }
35
+
36
+ async createCalendarView(params: CreateCalendarViewParams): Promise<ApiResponseDto<ViewResponseDto>> {
37
+ return this.client.request<ApiResponseDto<ViewResponseDto>>({
38
+ method: 'POST',
39
+ url: `/v1/dynamic-table/db/meta/tables/${encodeURIComponent(String(params.tableId))}/calendars`,
40
+ params: undefined,
41
+ data: params?.body,
42
+ headers: undefined,
43
+ });
44
+ }
45
+ }