Edits history of script submission #19814 for ' Update a project estimate type (sage_intacct)'

  • bun
    One script reply has been approved by the moderators
    Ap­pro­ved
    //native
    type SageIntacct = {
    	token: string
    }
    /**
     * Update a project estimate type
     * Updates an existing project estimate type by setting field values. Any fields not provided remain unchanged.
    
    
    Permissions and other requirements
    
    SubscriptionProject Costing and Billing
    User typeBusiness, Employee, Project Manager
    PermissionsEdit Estimate Types
    
    
    
    
     */
    export async function main(
    	auth: SageIntacct,
    	key: string,
    	body: {
    		key?: string
    		id?: string
    		href?: string
    		workflowTypes?:
    			| 'original'
    			| 'revision'
    			| 'forecast'
    			| 'approvedChange'
    			| 'pendingChange'
    			| 'other'[]
    		estimateCategory?:
    			| 'currentEstimate'
    			| 'originalEstimate'
    			| 'currentForecastAtCompletion'
    			| 'historicalForecastAtCompletion'
    			| 'futureForecastAtCompletion'
    			| 'currentForecastToCompletion'
    			| 'historicalForecastToCompletion'
    			| 'futureForecastToCompletion'
    		status?: 'active' | 'inactive'
    		audit?: {
    			createdDateTime?: string
    			modifiedDateTime?: string
    			createdBy?: string
    			modifiedBy?: string
    		}
    	} & { id?: {} }
    ) {
    	const url = new URL(
    		`https://api.intacct.com/ia/api/v1/objects/construction/project-estimate-type/${key}`
    	)
    
    	const response = await fetch(url, {
    		method: 'PATCH',
    		headers: {
    			'Content-Type': 'application/json',
    			Authorization: 'Bearer ' + auth.token
    		},
    		body: JSON.stringify(body)
    	})
    	if (!response.ok) {
    		const text = await response.text()
    		throw new Error(`${response.status} ${text}`)
    	}
    	return await response.json()
    }
    

    Submitted by hugo697 235 days ago