@docusign/iam-sdk
Version:
Developer-friendly & type-safe Typescript SDK specifically catered to leverage *@docusign/iam-sdk* API.
146 lines (141 loc) • 4.28 kB
text/typescript
/*
* Code generated by Speakeasy (https://speakeasy.com). DO NOT EDIT.
*/
import * as z from "zod/v3";
import { remap as remap$ } from "../../lib/primitives.js";
import { safeParse } from "../../lib/schemas.js";
import { Result as SafeParseResult } from "../../types/fp.js";
import * as types from "../../types/primitives.js";
import { SDKValidationError } from "../errors/sdkvalidationerror.js";
import {
WorkspaceUploadRequestAssignment,
WorkspaceUploadRequestAssignment$inboundSchema,
} from "./workspaceuploadrequestassignment.js";
import {
WorkspaceUploadRequestDocument,
WorkspaceUploadRequestDocument$inboundSchema,
} from "./workspaceuploadrequestdocument.js";
import {
WorkspaceUploadRequestOwner,
WorkspaceUploadRequestOwner$inboundSchema,
} from "./workspaceuploadrequestowner.js";
import {
WorkspaceUploadRequestStatus,
WorkspaceUploadRequestStatus$inboundSchema,
} from "./workspaceuploadrequeststatus.js";
/**
* Upload request details - single upload request response
*/
export type GetWorkspaceUploadRequestResponse = {
/**
* The ID of the upload request
*/
uploadRequestId: string;
/**
* The ID of the workspace
*/
workspaceId: string;
/**
* The name of the upload request
*/
name: string | null;
/**
* The description of the upload request
*/
description?: string | null | undefined;
uploadRequestOwner: WorkspaceUploadRequestOwner;
/**
* Enum representing the status of a workspace upload request
*/
status: WorkspaceUploadRequestStatus;
/**
* List of documents associated with the upload request
*/
documents: Array<WorkspaceUploadRequestDocument> | null;
/**
* List of user assignments for the upload request
*/
assignments: Array<WorkspaceUploadRequestAssignment> | null;
/**
* The date the upload request was created
*/
createdDate: Date | null;
/**
* The date the upload request was last updated
*/
updatedDate: Date | null;
/**
* The due date for the upload request
*/
dueDate?: Date | null | undefined;
/**
* The date the upload request was sent
*/
sentDate?: Date | null | undefined;
/**
* The date the upload request was completed
*/
completedDate?: Date | null | undefined;
/**
* Whether the current user can view the upload request
*/
canView: boolean;
/**
* Whether the current user can edit the upload request
*/
canEdit: boolean;
/**
* Whether the current user can delete the upload request
*/
canDelete: boolean;
};
/** @internal */
export const GetWorkspaceUploadRequestResponse$inboundSchema: z.ZodType<
GetWorkspaceUploadRequestResponse,
z.ZodTypeDef,
unknown
> = z.object({
upload_request_id: types.string(),
workspace_id: types.string(),
name: types.nullable(types.string()),
description: z.nullable(types.string()).optional(),
upload_request_owner: WorkspaceUploadRequestOwner$inboundSchema,
status: WorkspaceUploadRequestStatus$inboundSchema,
documents: types.nullable(
z.array(WorkspaceUploadRequestDocument$inboundSchema),
),
assignments: types.nullable(
z.array(WorkspaceUploadRequestAssignment$inboundSchema),
),
created_date: types.nullable(types.date()),
updated_date: types.nullable(types.date()),
due_date: z.nullable(types.date()).optional(),
sent_date: z.nullable(types.date()).optional(),
completed_date: z.nullable(types.date()).optional(),
can_view: types.boolean(),
can_edit: types.boolean(),
can_delete: types.boolean(),
}).transform((v) => {
return remap$(v, {
"upload_request_id": "uploadRequestId",
"workspace_id": "workspaceId",
"upload_request_owner": "uploadRequestOwner",
"created_date": "createdDate",
"updated_date": "updatedDate",
"due_date": "dueDate",
"sent_date": "sentDate",
"completed_date": "completedDate",
"can_view": "canView",
"can_edit": "canEdit",
"can_delete": "canDelete",
});
});
export function getWorkspaceUploadRequestResponseFromJSON(
jsonString: string,
): SafeParseResult<GetWorkspaceUploadRequestResponse, SDKValidationError> {
return safeParse(
jsonString,
(x) => GetWorkspaceUploadRequestResponse$inboundSchema.parse(JSON.parse(x)),
`Failed to parse 'GetWorkspaceUploadRequestResponse' from JSON`,
);
}