//native
type Adhook = {
	token: string
}
export async function main(
	auth: Adhook,
	Origin: string,
	body: {
		id?: string
		createdByUserId?: string
		createdByUserEmail?: string
		type?:
			| 'EMAIL_CAMPAIGN'
			| 'PRINT_CAMPAIGN'
			| 'PRESS_RELEASE'
			| 'INTERNAL_COMMUNICATION'
			| 'OTHER'
			| 'EVENT'
			| 'ONLINE_PLATFORM'
			| 'ADVERTISING'
			| 'BLOG'
		status?: 'CREATED' | 'DELETED'
		tags?: {
			id?: string
			userId?: string
			tenantId?: string
			subtenantId?: string
			text?: string
			color?: string
		}[]
		topics?: { id?: string; name?: string }[]
		tenantId?: string
		subtenantId?: string
		createdAt?: string
		start?: string
		end?: string
		processReviewFeedback?: string
		processReviewFeedbackAnswer?: string
		title?: string
		description?: string
		externalId?: string
		allDay?: false | true
		attachments?: { name?: string; url?: string; fileExtension?: string }[]
		color?: string
	}
) {
	const url = new URL(`https://app.adhook.io/v1/customEvents`)
	const response = await fetch(url, {
		method: 'POST',
		headers: {
			Authorization: `Bearer ${auth.token}`,
			Origin: Origin,
			'Content-Type': 'application/json'
		},
		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 319 days ago