diff --git a/content/docs/references/api/protocol.mdx b/content/docs/references/api/protocol.mdx index 338979f5c..d587e2733 100644 --- a/content/docs/references/api/protocol.mdx +++ b/content/docs/references/api/protocol.mdx @@ -12,8 +12,8 @@ description: Protocol protocol schemas ## TypeScript Usage ```typescript -import { BatchDataRequestSchema, BatchDataResponseSchema, CreateDataRequestSchema, CreateDataResponseSchema, CreateManyDataRequestSchema, CreateManyDataResponseSchema, DeleteDataRequestSchema, DeleteDataResponseSchema, DeleteManyDataRequestSchema, DeleteManyDataResponseSchema, FindDataRequestSchema, FindDataResponseSchema, GetDataRequestSchema, GetDataResponseSchema, GetDiscoveryRequestSchema, GetDiscoveryResponseSchema, GetMetaItemCachedRequestSchema, GetMetaItemCachedResponseSchema, GetMetaItemRequestSchema, GetMetaItemResponseSchema, GetMetaItemsRequestSchema, GetMetaItemsResponseSchema, GetMetaTypesRequestSchema, GetMetaTypesResponseSchema, GetUiViewRequestSchema, GetUiViewResponseSchema, ObjectStackProtocolSchema, UpdateDataRequestSchema, UpdateDataResponseSchema, UpdateManyDataRequestSchema, UpdateManyDataResponseSchema } from '@objectstack/spec/api'; -import type { BatchDataRequest, BatchDataResponse, CreateDataRequest, CreateDataResponse, CreateManyDataRequest, CreateManyDataResponse, DeleteDataRequest, DeleteDataResponse, DeleteManyDataRequest, DeleteManyDataResponse, FindDataRequest, FindDataResponse, GetDataRequest, GetDataResponse, GetDiscoveryRequest, GetDiscoveryResponse, GetMetaItemCachedRequest, GetMetaItemCachedResponse, GetMetaItemRequest, GetMetaItemResponse, GetMetaItemsRequest, GetMetaItemsResponse, GetMetaTypesRequest, GetMetaTypesResponse, GetUiViewRequest, GetUiViewResponse, ObjectStackProtocol, UpdateDataRequest, UpdateDataResponse, UpdateManyDataRequest, UpdateManyDataResponse } from '@objectstack/spec/api'; +import { BatchDataRequestSchema, BatchDataResponseSchema, CreateDataRequestSchema, CreateDataResponseSchema, CreateManyDataRequestSchema, CreateManyDataResponseSchema, DeleteDataRequestSchema, DeleteDataResponseSchema, DeleteManyDataRequestSchema, DeleteManyDataResponseSchema, DeleteViewRequestSchema, DeleteViewResponseSchema, FindDataRequestSchema, FindDataResponseSchema, GetDataRequestSchema, GetDataResponseSchema, GetDiscoveryRequestSchema, GetDiscoveryResponseSchema, GetMetaItemCachedRequestSchema, GetMetaItemCachedResponseSchema, GetMetaItemRequestSchema, GetMetaItemResponseSchema, GetMetaItemsRequestSchema, GetMetaItemsResponseSchema, GetMetaTypesRequestSchema, GetMetaTypesResponseSchema, GetUiViewRequestSchema, GetUiViewResponseSchema, GetViewRequestSchema, ObjectStackProtocolSchema, UpdateDataRequestSchema, UpdateDataResponseSchema, UpdateManyDataRequestSchema, UpdateManyDataResponseSchema } from '@objectstack/spec/api'; +import type { BatchDataRequest, BatchDataResponse, CreateDataRequest, CreateDataResponse, CreateManyDataRequest, CreateManyDataResponse, DeleteDataRequest, DeleteDataResponse, DeleteManyDataRequest, DeleteManyDataResponse, DeleteViewRequest, DeleteViewResponse, FindDataRequest, FindDataResponse, GetDataRequest, GetDataResponse, GetDiscoveryRequest, GetDiscoveryResponse, GetMetaItemCachedRequest, GetMetaItemCachedResponse, GetMetaItemRequest, GetMetaItemResponse, GetMetaItemsRequest, GetMetaItemsResponse, GetMetaTypesRequest, GetMetaTypesResponse, GetUiViewRequest, GetUiViewResponse, GetViewRequest, ObjectStackProtocol, UpdateDataRequest, UpdateDataResponse, UpdateManyDataRequest, UpdateManyDataResponse } from '@objectstack/spec/api'; // Validate data const result = BatchDataRequestSchema.parse(data); @@ -61,6 +61,14 @@ const result = BatchDataRequestSchema.parse(data); --- +## DeleteViewRequest + +--- + +## DeleteViewResponse + +--- + ## FindDataRequest --- @@ -125,6 +133,10 @@ const result = BatchDataRequestSchema.parse(data); --- +## GetViewRequest + +--- + ## ObjectStackProtocol --- diff --git a/packages/spec/json-schema/api/DeleteViewRequest.json b/packages/spec/json-schema/api/DeleteViewRequest.json new file mode 100644 index 000000000..92a149b4e --- /dev/null +++ b/packages/spec/json-schema/api/DeleteViewRequest.json @@ -0,0 +1,7 @@ +{ + "$ref": "#/definitions/DeleteViewRequest", + "definitions": { + "DeleteViewRequest": {} + }, + "$schema": "http://json-schema.org/draft-07/schema#" +} \ No newline at end of file diff --git a/packages/spec/json-schema/api/DeleteViewResponse.json b/packages/spec/json-schema/api/DeleteViewResponse.json new file mode 100644 index 000000000..7b77784a2 --- /dev/null +++ b/packages/spec/json-schema/api/DeleteViewResponse.json @@ -0,0 +1,7 @@ +{ + "$ref": "#/definitions/DeleteViewResponse", + "definitions": { + "DeleteViewResponse": {} + }, + "$schema": "http://json-schema.org/draft-07/schema#" +} \ No newline at end of file diff --git a/packages/spec/json-schema/api/GetViewRequest.json b/packages/spec/json-schema/api/GetViewRequest.json new file mode 100644 index 000000000..1ad01319a --- /dev/null +++ b/packages/spec/json-schema/api/GetViewRequest.json @@ -0,0 +1,7 @@ +{ + "$ref": "#/definitions/GetViewRequest", + "definitions": { + "GetViewRequest": {} + }, + "$schema": "http://json-schema.org/draft-07/schema#" +} \ No newline at end of file diff --git a/packages/spec/src/api/protocol.zod.ts b/packages/spec/src/api/protocol.zod.ts index d9ca7a138..e263beb8c 100644 --- a/packages/spec/src/api/protocol.zod.ts +++ b/packages/spec/src/api/protocol.zod.ts @@ -278,6 +278,33 @@ export const DeleteManyDataRequestSchema = z.object({ */ export const DeleteManyDataResponseSchema = BatchUpdateResponseSchema; +// ========================================== +// View Storage Operations +// ========================================== + +/** + * Get View Request + * Get a stored view configuration by ID + */ +export const GetViewRequestSchema = z.object({ + id: z.string().describe('View ID'), +}); + +/** + * Delete View Request + * Delete a stored view configuration + */ +export const DeleteViewRequestSchema = z.object({ + id: z.string().describe('View ID to delete'), +}); + +/** + * Delete View Response + */ +export const DeleteViewResponseSchema = z.object({ + success: z.boolean().describe('Whether deletion succeeded'), +}); + // ========================================== // Protocol Interface Schema // ========================================== @@ -412,6 +439,10 @@ export type UpdateManyDataResponse = z.infer; export type DeleteManyDataResponse = z.infer; +export type GetViewRequest = z.infer; +export type DeleteViewRequest = z.infer; +export type DeleteViewResponse = z.infer; + export type ObjectStackProtocol = z.infer; /**