@redonvn/redai-backend-api-sdk
v0.5.58
Published
Axios SDK for RedAI Dynamic Table APIs
Keywords
Readme
RedAI Backend API SDK
SDK axios cho backend NestJS theo mô hình đa module:
dynamic-tableintegration(chỉ route protected user)rai-job
Cài đặt
npm installGenerate
npm run generateScript generate mặc định chạy tuần tự cho 3 module và tự đồng bộ root index.
Build
npm run verify:generated
npm run type-check
npm run buildSử dụng
import {
createDynamicTableSdk,
createFrontendAxiosScopeProvider,
createFrontendAxiosTokenProvider,
} from '@redonvn/redai-backend-api-sdk';
const sdk = createDynamicTableSdk({
baseURL: 'https://api.example.com/v1',
tokenProvider: createFrontendAxiosTokenProvider({
authStorageKey: 'auth_data',
}),
scopeProvider: createFrontendAxiosScopeProvider({
workspaceId: 'workspace-uuid',
baseId: 'base-uuid',
}),
});
const res = await sdk.workspaces.getWorkspaceBySlug({ slug: 'my-workspace' });Webhook body
notification.payload.bodylà body tùy biến dạng JSON object hoặc JSON array.- Nếu không truyền
notification.payload.body, hệ thống sẽ dùng payload webhook runtime mặc định khi trigger. - SDK không nên gửi placeholder như
{{ json event }}; trườngbodyphải được bỏ trống hoặc truyền JSON hợp lệ.
Import chuẩn (không dùng dist)
import { WorkspaceResponseDto, WorkspacesService } from '@redonvn/redai-backend-api-sdk';Khi cần deep import theo module generated:
import type { WorkspaceResponseDto } from '@redonvn/redai-backend-api-sdk/generated/dynamic-table/types';
import { WorkspacesService } from '@redonvn/redai-backend-api-sdk/generated/dynamic-table/services/workspaces.service';Auth và scope runtime
sdk.auth.setBearerToken('new-jwt');
sdk.auth.setAuth({ bearerToken: null });
sdk.auth.setScope({ workspaceId: 'workspace-uuid', baseId: 'base-uuid' });
// Tắt provider để quay về set thủ công
sdk.auth.setTokenProvider(null);
sdk.auth.setScopeProvider(null);Cấu trúc
src/core/*: runtime axios + auth + scope headerssrc/generated/*: code sinh cho các moduletools/generate-dynamic-table-sdk.ts: orchestrator generate đa module
