import { WorkspaceId, ApplicationId, UserId } from '../../common/v2.js'; import { WorkspaceInviteGroup } from '../../payloads/v2/workspace.js'; import '../../utils.js'; import '../../payloads/v2/application.js'; /** * Body for `POST /v2/workspaces`. * @see https://docs.squarecloud.app/en/api-reference/endpoint/workspaces/create */ interface RESTPostAPIWorkspaceJSONBody { /** Workspace name, 1-32 chars. */ name: string; } /** * Body for `DELETE /v2/workspaces`. * @see https://docs.squarecloud.app/en/api-reference/endpoint/workspaces/delete */ interface RESTDeleteAPIWorkspaceJSONBody { workspaceId: WorkspaceId; } /** * Body for `POST /v2/workspaces/applications` — share an application with the * workspace. * @see https://docs.squarecloud.app/en/api-reference/endpoint/workspaces/applications */ interface RESTPostAPIWorkspaceApplicationsJSONBody { workspaceId: WorkspaceId; appId: ApplicationId; } /** * Body for `DELETE /v2/workspaces/applications`. * @see https://docs.squarecloud.app/en/api-reference/endpoint/workspaces/applications */ interface RESTDeleteAPIWorkspaceApplicationsJSONBody { workspaceId: WorkspaceId; appId: ApplicationId; } /** * Body for `DELETE /v2/workspaces/leave` — leave a workspace as a member. * @see https://docs.squarecloud.app/en/api-reference/endpoint/workspaces/leave */ interface RESTDeleteAPIWorkspaceLeaveJSONBody { workspaceId: WorkspaceId; } /** * Body for `POST /v2/workspaces/members` — add a member by invite code. * @see https://docs.squarecloud.app/en/api-reference/endpoint/workspaces/members */ interface RESTPostAPIWorkspaceMembersJSONBody { workspaceId: WorkspaceId; /** Invite code from `GET /v2/workspaces/members/code`. */ code: string; group: WorkspaceInviteGroup; } /** * Body for `PATCH /v2/workspaces/members` — change a member's group. * @see https://docs.squarecloud.app/en/api-reference/endpoint/workspaces/members */ interface RESTPatchAPIWorkspaceMembersJSONBody { workspaceId: WorkspaceId; memberId: UserId; group: WorkspaceInviteGroup; } /** * Body for `DELETE /v2/workspaces/members`. * @see https://docs.squarecloud.app/en/api-reference/endpoint/workspaces/members */ interface RESTDeleteAPIWorkspaceMembersJSONBody { workspaceId: WorkspaceId; memberId: UserId; } export type { RESTDeleteAPIWorkspaceApplicationsJSONBody, RESTDeleteAPIWorkspaceJSONBody, RESTDeleteAPIWorkspaceLeaveJSONBody, RESTDeleteAPIWorkspaceMembersJSONBody, RESTPatchAPIWorkspaceMembersJSONBody, RESTPostAPIWorkspaceApplicationsJSONBody, RESTPostAPIWorkspaceJSONBody, RESTPostAPIWorkspaceMembersJSONBody };