Edits history of script submission #9380 for ' Updates an existing transaction (ynab)'

  • bun
    One script reply has been approved by the moderators
    Ap­pro­ved
    //native
    type Ynab = {
    	token: string
    }
    
    export async function main(
    	auth: Ynab,
    	budget_id: string,
    	transaction_id: string,
    	body: {
    		transaction: {} & {
    			account_id?: string
    			date?: string
    			amount?: number
    			payee_id?: string
    			payee_name?: string
    			category_id?: string
    			memo?: string
    			cleared?: 'cleared' | 'uncleared' | 'reconciled'
    			approved?: false | true
    			flag_color?: 'red' | 'orange' | 'yellow' | 'green' | 'blue' | 'purple'
    			subtransactions?: {
    				amount: number
    				payee_id?: string
    				payee_name?: string
    				category_id?: string
    				memo?: string
    			}[]
    		}
    	}
    ) {
    	const url = new URL(`https://api.ynab.com/v1/budgets/${budget_id}/transactions/${transaction_id}`)
    
    	const response = await fetch(url, {
    		method: 'PUT',
    		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 581 days ago