mirror of
https://github.com/CompassConnections/Compass.git
synced 2026-03-25 10:02:27 -04:00
* Test * Add pretty formatting * Fix Tests * Fix Tests * Fix Tests * Fix * Add pretty formatting fix * Fix * Test * Fix tests * Clean typeckech * Add prettier check * Fix api tsconfig * Fix api tsconfig * Fix tsconfig * Fix * Fix * Prettier
31 lines
806 B
TypeScript
31 lines
806 B
TypeScript
import {tryCatch} from 'common/util/try-catch'
|
|
import {createSupabaseDirectClient} from 'shared/supabase/init'
|
|
import {insert} from 'shared/supabase/utils'
|
|
import {getUser} from 'shared/utils'
|
|
|
|
import {APIError, APIHandler} from './helpers/endpoint'
|
|
|
|
export const createVote: APIHandler<'create-vote'> = async (
|
|
{title, description, isAnonymous},
|
|
auth,
|
|
) => {
|
|
const creator = await getUser(auth.uid)
|
|
if (!creator) throw new APIError(401, 'Your account was not found')
|
|
|
|
const pg = createSupabaseDirectClient()
|
|
|
|
const {data, error} = await tryCatch(
|
|
insert(pg, 'votes', {
|
|
creator_id: creator.id,
|
|
title,
|
|
description,
|
|
is_anonymous: isAnonymous,
|
|
status: 'voting_open',
|
|
}),
|
|
)
|
|
|
|
if (error) throw new APIError(401, 'Error creating question')
|
|
|
|
return {data}
|
|
}
|