mirror of
https://github.com/ragestudio/comty.git
synced 2025-06-10 19:14:16 +00:00
use lib
This commit is contained in:
parent
cde9caa24b
commit
1fbaef76a9
@ -1,11 +1,9 @@
|
|||||||
import { ComplexController } from "linebridge/dist/classes"
|
import { ComplexController } from "linebridge/dist/classes"
|
||||||
import passport from "passport"
|
import passport from "passport"
|
||||||
import bcrypt from "bcrypt"
|
|
||||||
|
|
||||||
import { User } from "../../models"
|
import { User } from "../../models"
|
||||||
|
import { Token, Schematized, createUser } from "../../lib"
|
||||||
import SessionController from "../SessionController"
|
import SessionController from "../SessionController"
|
||||||
import { Token, Schematized } from "../../lib"
|
|
||||||
import AvatarController from "dicebar_lib"
|
|
||||||
import _ from "lodash"
|
import _ from "lodash"
|
||||||
|
|
||||||
const AllowedUserUpdateKeys = [
|
const AllowedUserUpdateKeys = [
|
||||||
@ -20,6 +18,13 @@ export default class UserController extends ComplexController {
|
|||||||
static refName = "UserController"
|
static refName = "UserController"
|
||||||
|
|
||||||
methods = {
|
methods = {
|
||||||
|
createNew: async (payload) => {
|
||||||
|
const user = await createUser(payload)
|
||||||
|
|
||||||
|
// maybe for the future can implement a event listener for this
|
||||||
|
|
||||||
|
return user
|
||||||
|
},
|
||||||
update: async (payload) => {
|
update: async (payload) => {
|
||||||
if (typeof payload.user_id === "undefined") {
|
if (typeof payload.user_id === "undefined") {
|
||||||
throw new Error("No user_id provided")
|
throw new Error("No user_id provided")
|
||||||
@ -171,33 +176,16 @@ export default class UserController extends ComplexController {
|
|||||||
return SessionController.delete(req, res, next)
|
return SessionController.delete(req, res, next)
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
"/register": async (req, res) => {
|
"/register": Schematized({
|
||||||
User.findOne({ username: req.body.username })
|
required: ["username", "email", "password"],
|
||||||
.then((data) => {
|
select: ["username", "email", "password", "fullName"],
|
||||||
if (data) {
|
}, async (req, res) => {
|
||||||
return res.status(409).json("Username is already exists")
|
const result = await this.methods.createNew(req.selection).catch((err) => {
|
||||||
}
|
return res.status(500).json(err.message)
|
||||||
|
})
|
||||||
|
|
||||||
const avatar = AvatarController.generate({ seed: req.body.username, type: "initials" })
|
return res.json(result)
|
||||||
const hash = bcrypt.hashSync(req.body.password, parseInt(process.env.BCRYPT_ROUNDS))
|
}),
|
||||||
|
|
||||||
let document = new User({
|
|
||||||
username: req.body.username,
|
|
||||||
fullName: req.body.fullName,
|
|
||||||
avatar: avatar.uri,
|
|
||||||
email: req.body.email,
|
|
||||||
password: hash
|
|
||||||
})
|
|
||||||
|
|
||||||
return document.save()
|
|
||||||
})
|
|
||||||
.then(data => {
|
|
||||||
return res.send(data)
|
|
||||||
})
|
|
||||||
.catch(err => {
|
|
||||||
return res.json(err)
|
|
||||||
})
|
|
||||||
},
|
|
||||||
"/update_user": {
|
"/update_user": {
|
||||||
middlewares: ["withAuthentication", "roles"],
|
middlewares: ["withAuthentication", "roles"],
|
||||||
fn: Schematized({
|
fn: Schematized({
|
||||||
|
Loading…
x
Reference in New Issue
Block a user