import type { Square } from "square" import { defineSquareOperation } from "../lib" /** Creates multiple `TeamMember` objects. */ export const bulkCreateSquareTeamMembers = defineSquareOperation< Square.BatchCreateTeamMembersRequest, Square.BatchCreateTeamMembersResponse >({ allowedKeys: ["teamMembers"], description: "Creates multiple `TeamMember` objects.", execute: (api, input) => api.teamMembers.batchCreate(input), name: "Bulk Square Create Team Members", replaySafety: "unsafe", requiredKeys: ["teamMembers"], scopes: ["EMPLOYEES_WRITE"], }) /** Updates multiple `TeamMember` objects. */ export const bulkUpdateSquareTeamMembers = defineSquareOperation< Square.BatchUpdateTeamMembersRequest, Square.BatchUpdateTeamMembersResponse >({ allowedKeys: ["teamMembers"], description: "Updates multiple `TeamMember` objects.", execute: (api, input) => api.teamMembers.batchUpdate(input), name: "Bulk Square Update Team Members", replaySafety: "unsafe", requiredKeys: ["teamMembers"], scopes: ["EMPLOYEES_WRITE"], }) /** Creates a job in a seller account. */ export const createSquareJob = defineSquareOperation< Square.CreateJobRequest, Square.CreateJobResponse >({ allowedKeys: ["job", "idempotencyKey"], description: "Creates a job in a seller account.", execute: (api, input) => api.team.createJob(input), name: "Create Square Job", replaySafety: "safe", requiredKeys: ["job", "idempotencyKey"], scopes: ["EMPLOYEES_WRITE"], }) /** Creates a single `TeamMember` object. */ export const createSquareTeamMember = defineSquareOperation< Square.CreateTeamMemberRequest, Square.CreateTeamMemberResponse >({ allowedKeys: ["idempotencyKey", "teamMember"], description: "Creates a single `TeamMember` object.", execute: (api, input) => api.teamMembers.create(input), name: "Create Square Team Member", replaySafety: "unsafe", requiredKeys: [], scopes: ["EMPLOYEES_WRITE"], }) /** Lists jobs in a seller account. */ export const listSquareJobs = defineSquareOperation< Square.ListJobsRequest, Square.ListJobsResponse >({ allowedKeys: ["cursor"], description: "Lists jobs in a seller account.", execute: (api, input) => api.team.listJobs(input), name: "List Square Jobs", replaySafety: "safe", requiredKeys: [], scopes: ["EMPLOYEES_READ"], }) /** Retrieves a specified job. */ export const retrieveSquareJob = defineSquareOperation< Square.RetrieveJobRequest, Square.RetrieveJobResponse >({ allowedKeys: ["jobId"], description: "Retrieves a specified job.", execute: (api, input) => api.team.retrieveJob(input), name: "Retrieve Square Job", replaySafety: "safe", requiredKeys: ["jobId"], scopes: ["EMPLOYEES_READ"], }) /** Retrieves a `TeamMember` object for the given `TeamMember.id`. */ export const retrieveSquareTeamMember = defineSquareOperation< Square.GetTeamMembersRequest, Square.GetTeamMemberResponse >({ allowedKeys: ["teamMemberId"], description: "Retrieves a `TeamMember` object for the given `TeamMember.id`.", execute: (api, input) => api.teamMembers.get(input), name: "Retrieve Square Team Member", replaySafety: "safe", requiredKeys: ["teamMemberId"], scopes: ["EMPLOYEES_READ"], }) /** * Retrieves a `WageSetting` object for a team member specified by * `TeamMember.id`. */ export const retrieveSquareWageSetting = defineSquareOperation< Square.teamMembers.GetWageSettingRequest, Square.GetWageSettingResponse >({ allowedKeys: ["teamMemberId"], description: "Retrieves a `WageSetting` object for a team member specified by `TeamMember.id`.", execute: (api, input) => api.teamMembers.wageSetting.get(input), name: "Retrieve Square Wage Setting", replaySafety: "safe", requiredKeys: ["teamMemberId"], scopes: ["EMPLOYEES_READ"], }) /** Returns a paginated list of `TeamMember` objects for a business. */ export const searchSquareTeamMembers = defineSquareOperation< Square.SearchTeamMembersRequest, Square.SearchTeamMembersResponse >({ allowedKeys: ["query", "limit", "cursor"], description: "Returns a paginated list of `TeamMember` objects for a business.", execute: (api, input) => api.teamMembers.search(input), name: "Search Square Team Members", replaySafety: "safe", requiredKeys: [], scopes: ["EMPLOYEES_READ"], }) /** Updates the title or tip eligibility of a job. */ export const updateSquareJob = defineSquareOperation< Square.UpdateJobRequest, Square.UpdateJobResponse >({ allowedKeys: ["jobId", "job"], description: "Updates the title or tip eligibility of a job.", execute: (api, input) => api.team.updateJob(input), name: "Update Square Job", replaySafety: "safe", requiredKeys: ["jobId", "job"], scopes: ["EMPLOYEES_WRITE"], }) /** Updates a single `TeamMember` object. */ export const updateSquareTeamMember = defineSquareOperation< Square.UpdateTeamMembersRequest, Square.UpdateTeamMemberResponse >({ allowedKeys: ["teamMemberId", "body"], description: "Updates a single `TeamMember` object.", execute: (api, input) => api.teamMembers.update(input), name: "Update Square Team Member", replaySafety: "safe", requiredKeys: ["teamMemberId", "body"], scopes: ["EMPLOYEES_WRITE"], }) /** Creates or updates a `WageSetting` object. */ export const updateSquareWageSetting = defineSquareOperation< Square.teamMembers.UpdateWageSettingRequest, Square.UpdateWageSettingResponse >({ allowedKeys: ["teamMemberId", "wageSetting"], description: "Creates or updates a `WageSetting` object.", execute: (api, input) => api.teamMembers.wageSetting.update(input), name: "Update Square Wage Setting", replaySafety: "safe", requiredKeys: ["teamMemberId", "wageSetting"], scopes: ["EMPLOYEES_WRITE"], })