feat(coding): add Main Data Service Host adapter
This commit is contained in:
96
shared/data-service.ts
Normal file
96
shared/data-service.ts
Normal file
@@ -0,0 +1,96 @@
|
||||
export type DataServiceUsage = {
|
||||
document_count: number;
|
||||
total_bytes: number;
|
||||
};
|
||||
|
||||
export type DataServiceCollection = {
|
||||
name: string;
|
||||
document_count: number;
|
||||
total_bytes: number;
|
||||
created_at: string;
|
||||
};
|
||||
|
||||
export type DataServiceLimits = {
|
||||
max_collections: number;
|
||||
max_documents: number;
|
||||
max_total_bytes: number;
|
||||
max_document_bytes: number;
|
||||
list_default_limit: number;
|
||||
list_max_limit: number;
|
||||
list_max_data_bytes: number;
|
||||
mutations_per_minute: number;
|
||||
};
|
||||
|
||||
export type DataServiceInstanceState = {
|
||||
instance_id: string;
|
||||
project_id: string;
|
||||
collections: DataServiceCollection[];
|
||||
usage: DataServiceUsage;
|
||||
limits: DataServiceLimits;
|
||||
created_at: string;
|
||||
updated_at: string;
|
||||
};
|
||||
|
||||
export type DataServiceInstanceList = {
|
||||
items: DataServiceInstanceState[];
|
||||
total: number;
|
||||
instance_limit: number;
|
||||
};
|
||||
|
||||
export type DataServiceCollectionRemoval = {
|
||||
removed: boolean;
|
||||
usage: DataServiceUsage;
|
||||
};
|
||||
|
||||
export type DataServiceInstanceRemoval = {
|
||||
removed: boolean;
|
||||
};
|
||||
|
||||
export type DataServiceDocument = {
|
||||
id: string;
|
||||
data: Record<string, unknown>;
|
||||
revision: number;
|
||||
created_at: string;
|
||||
updated_at: string;
|
||||
};
|
||||
|
||||
export type DataServiceDocumentList = {
|
||||
items: DataServiceDocument[];
|
||||
next_cursor: string | null;
|
||||
limit: number;
|
||||
};
|
||||
|
||||
export type DataServiceErrorContext = Record<string, string | number>;
|
||||
|
||||
export type DataServiceHostResult<T> = {
|
||||
success: boolean;
|
||||
status: number;
|
||||
code: string | null;
|
||||
error: string | null;
|
||||
retryable: boolean;
|
||||
retry_after_seconds?: number;
|
||||
context?: DataServiceErrorContext;
|
||||
data: T | null;
|
||||
};
|
||||
|
||||
export type DataServicePutDocumentInput = {
|
||||
collection: string;
|
||||
document_id: string;
|
||||
data: Record<string, unknown>;
|
||||
if_revision?: number;
|
||||
};
|
||||
|
||||
export type DataServiceDocumentTargetInput = {
|
||||
collection: string;
|
||||
document_id: string;
|
||||
if_revision?: number;
|
||||
};
|
||||
|
||||
export type DataServiceCollectionTargetInput = {
|
||||
collection: string;
|
||||
confirmed: true;
|
||||
};
|
||||
|
||||
export type DataServiceConfirmationInput = {
|
||||
confirmed: true;
|
||||
};
|
||||
Reference in New Issue
Block a user