export type ServiceChannelServicesMessagingRefrigerantTrackingRefrigerantUseReasonCode = {Id?: number | undefined, Order?: number | undefined, Purpose?: number | undefined, Name?: string | undefined, SubscriberId?: number | undefined, IsActive?: boolean | undefined}; export type ServiceChannelServicesMessagingRefrigerantTrackingAddWorkOrderPartRefrigerantItem = {AssetId?: number | undefined, RecId?: number | undefined, Quantity?: number | undefined, UnitCost?: number | undefined, IsRefrigerant?: boolean | undefined, IsInventoryPart?: boolean | undefined, InventorySource?: string | undefined, UseDate?: string | undefined, UseDateStr?: string | undefined, ReasonCode?: number | undefined, ReasonCodeId?: number | undefined, PartNumber?: string | undefined, PartName?: string | undefined, PartGroup?: string | undefined, PartGroupId?: number | undefined, SupplierName?: string | undefined, Description?: string | undefined, RefrigerantChargeOptionsId?: number | undefined, RefrigerantChargeVendor?: string | undefined, InventoryLocationId?: number | undefined, InventoryLocationGuid?: string | undefined, InventoryPartId?: number | undefined, RefrigerantUseReason?: ServiceChannelServicesMessagingRefrigerantTrackingRefrigerantUseReasonCode | undefined, RefrigerantRemovalStatus?: ('Destroyed' | 'Reused' | 'Reclaimed' | 'Banked' | 'ChargeLost' | 'Sold') | undefined, RefrigerantTypeId?: number | undefined, RefrigerantTypeName?: string | undefined, SubmitMoeQtyExceeded?: boolean | undefined, MoeNumber?: string | undefined, IsRetrofit?: string | undefined, RefrigerantSourceTypeId?: number | undefined}; export type ServiceChannelServicesMessagingRefrigerantTrackingUpdateWorkOrderPartRefrigerantItem = {PartId?: number | undefined, Quantity?: number | undefined, UnitCost?: number | undefined, IsRefrigerant?: boolean | undefined, IsInventoryPart?: boolean | undefined, InventorySource?: string | undefined, UseDate?: string | undefined, UseDateStr?: string | undefined, ReasonCode?: number | undefined, ReasonCodeId?: number | undefined, PartNumber?: string | undefined, PartName?: string | undefined, PartGroup?: string | undefined, SupplierName?: string | undefined, Description?: string | undefined, RefrigerantChargeOptionsId?: number | undefined, RefrigerantChargeVendor?: string | undefined, InventoryLocationId?: number | undefined, InventoryLocationGuid?: string | undefined, InventoryPartId?: number | undefined, RefrigerantUseReason?: ServiceChannelServicesMessagingRefrigerantTrackingRefrigerantUseReasonCode | undefined, SubmitMoeQtyExceeded?: boolean | undefined, MoeNumber?: string | undefined, RecId?: number | undefined, RefrigerantSourceTypeId?: number | undefined}; export type ServiceChannelServicesMessagingRefrigerantTrackingDeleteWorkOrderPartRefrigerantItem = {PartId?: number | undefined, InventoryLocationGuid?: string | undefined, DeletionReason?: string | undefined, DeletionReasonDescription?: string | undefined, InventoryPartId?: number | undefined, IsInventoryPart?: boolean | undefined}; export type ServiceChannelServicesMessagingRetrofitRetirementRetrofitRetirePlanPart = {Id?: number | undefined, PlanId?: number | undefined, PartId?: number | undefined, NewChargeId?: number | undefined, LeakRecordId?: number | undefined, InitialChargeId?: number | undefined}; export type ServiceChannelServicesMessagingRefrigerantTrackingWorkOrderPartRefrigerantBulkChangeRequest = {AddItems?: Array | undefined, UpdateItems?: Array | undefined, DeleteItems?: Array | undefined, RetrofitRetirePlanParts?: Array | undefined, IsLocalTime?: boolean | undefined, SubmitQuantityExceeded?: boolean | undefined, SubmitMoeQtyExceeded?: boolean | undefined}; export type CreateApiWorkordersInventoryPartsBulkPartUsageArgs = {body: ServiceChannelServicesMessagingRefrigerantTrackingWorkOrderPartRefrigerantBulkChangeRequest}; export type CreateApiWorkordersInventoryPartsBulkPartUsageOptions = {baseUrl?: string | undefined, oauth2?: string | undefined, fetch?: typeof fetch | undefined}; /** * Update multiple part uses for a work order and an asset * * POST /workorders/inventory/parts/bulkPartUsage */ export const createApiWorkordersInventoryPartsBulkPartUsage = async (args: CreateApiWorkordersInventoryPartsBulkPartUsageArgs, options?: CreateApiWorkordersInventoryPartsBulkPartUsageOptions) => { const {baseUrl = "https://sb2api.servicechannel.com/v3", fetch: fetchFn = fetch, oauth2} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('content-type', "application/json") if (oauth2 !== undefined) headers.set('authorization', `Bearer ${oauth2}`) const url = `${baseUrl.replace(/\/+$/, '')}/workorders/inventory/parts/bulkPartUsage${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "POST", 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 };