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
|
|
|
}
|