export type ListaPrecoRequestModel = {id?: (number | null) | undefined}; export type ServicoRequestModel = {id?: (number | null) | undefined}; export type ItemOrdemServicoRequestModel = {servico?: ServicoRequestModel | undefined, quantidade?: (number | null) | undefined, valorUnitario?: (number | null) | undefined, porcentagemDesconto?: (number | null) | undefined, orcar?: boolean | undefined}; export type VendedorOrdemServicoRequestModel = {id?: number | undefined, porcentagemComissao?: (number | null) | undefined}; export type CriarMarcadorRequestModel = {descricao?: (string | null) | undefined}; export type AnexoOrdemServicoRequestModel = {url?: (string | null) | undefined}; export type FormaRecebimentoRequestModel = {id?: (number | null) | undefined}; export type MeioPagamentoRequestModel = {id?: (number | null) | undefined}; export type ParcelaModelRequest = {dias?: (number | null) | undefined, data?: (string | null) | undefined, valor?: (number | null) | undefined, observacoes?: (string | null) | undefined, formaRecebimento?: FormaRecebimentoRequestModel | undefined, meioPagamento?: MeioPagamentoRequestModel | undefined}; export type CategoriaRequestModel = {id?: (number | null) | undefined}; export type OrdemServicoPagamentoRequestModel = {formaRecebimento?: FormaRecebimentoRequestModel | undefined, meioPagamento?: MeioPagamentoRequestModel | undefined, parcelas?: (Array | null) | undefined, categoria?: CategoriaRequestModel | undefined}; export type ProdutoRequestModel = {id?: number | undefined, tipo?: ('P' | 'S' | null) | undefined}; export type PecaOrdemServicoRequestModel = {produto?: ProdutoRequestModel | undefined, quantidade?: (number | null) | undefined, valorUnitario?: (number | null) | undefined, unidade?: (string | null) | undefined, porcentagemDesconto?: (number | null) | undefined}; export type OrdemServicoAssistenciaTecnicaRequestModel = {equipamento?: (string | null) | undefined, numeroSerieEquipamento?: (string | null) | undefined, pecas?: (Array | null) | undefined}; export type DepositoRequestModel = {id?: number | undefined}; export type ContatoRequestModel = {id?: (number | null) | undefined}; export type AtualizarOrdemServicoRequestModel = {listaPreco?: ListaPrecoRequestModel | undefined, descricao?: (string | null) | undefined, consideracaoFinal?: (string | null) | undefined, dataInicio?: (string | null) | undefined, dataPrevista?: (string | null) | undefined, dataConclusao?: (string | null) | undefined, valorDesconto?: (number | null) | undefined, observacao?: (string | null) | undefined, observacaoInterna?: (string | null) | undefined, servicos?: (Array | null) | undefined, vendedor?: VendedorOrdemServicoRequestModel | undefined, tecnico?: (string | null) | undefined, marcadores?: (Array | null) | undefined, anexos?: (Array | null) | undefined, pagamento?: OrdemServicoPagamentoRequestModel | undefined, assistenciaTecnica?: OrdemServicoAssistenciaTecnicaRequestModel | undefined, deposito?: DepositoRequestModel | undefined, cliente?: ContatoRequestModel | undefined}; export type UpdateApiOrdemServicoIdOrdemServicoArgs = {idOrdemServico: number, body: AtualizarOrdemServicoRequestModel}; export type UpdateApiOrdemServicoIdOrdemServicoOptions = {baseUrl?: string | undefined, bearerAuth?: string | undefined, fetch?: typeof fetch | undefined}; /** * Atualizar ordem de serviço * * PUT /ordem-servico/{idOrdemServico} */ export const updateApiOrdemServicoIdOrdemServico = async (args: UpdateApiOrdemServicoIdOrdemServicoArgs, options?: UpdateApiOrdemServicoIdOrdemServicoOptions) => { const {baseUrl = "https://api.tiny.com.br/public-api/v3", fetch: fetchFn = fetch, bearerAuth} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('content-type', "application/json") if (bearerAuth !== undefined) headers.set('authorization', `Bearer ${bearerAuth}`) const url = `${baseUrl.replace(/\/+$/, '')}/ordem-servico/${encodeURIComponent(String(args.idOrdemServico))}${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "PUT", headers, body: JSON.stringify(args.body)}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return undefined };