qpa-client/functions/src/index.ts

56 lines
1.2 KiB
TypeScript
Raw Normal View History

2018-04-02 20:23:44 +02:00
import {parse} from 'url'
2018-04-21 16:58:09 +02:00
import {getUser, createUser} from './user'
import { Request, Response } from 'express'
import { inviteUser } from './session'
2018-05-01 16:38:11 +02:00
import {UserProperties} from "./types";
2018-04-02 20:23:44 +02:00
2018-04-21 16:58:09 +02:00
export const isUserAvailable = async (req: Request, res: Response) => {
2018-04-02 20:23:44 +02:00
const params = parse(req.url, true).query
const user = await getUser({
email: params.email as string,
username: params.username as string
})
res.send({
exists: !!user
});
return true
2018-04-21 16:58:09 +02:00
}
export const signup = async (req: Request, res: Response) => {
const {username, email, name} = req.body
2018-05-01 16:38:11 +02:00
console.log('typeof req.body', typeof req.body)
console.log('req.body', req.body)
const userProperties: UserProperties = {username, email, name}
2018-04-21 16:58:09 +02:00
let newUser
try {
newUser = await createUser({
username, email, name
})
} catch (e) {
res.status(409)
res.send(e.message)
return
}
if (newUser) {
res.status(200)
res.write('User created. Invitation will be sent.')
inviteUser(newUser)
} else {
res.status(409)
2018-05-01 16:38:11 +02:00
res.send(`Could not create user: ${JSON.stringify(userProperties)}`)
2018-04-21 16:58:09 +02:00
return
}
}
export const requestSessionInvite = async (req, res) => {
}
export const startSession = async (req, res) => {
2018-04-02 20:23:44 +02:00
}