Авторизация через админку
This commit is contained in:
@@ -0,0 +1,40 @@
|
||||
import { Db } from 'mongodb'
|
||||
|
||||
import { mainDb } from '../../utils/mongo'
|
||||
import { cleanId } from '../../utils/common'
|
||||
import { usersCollection } from '../../__data__/constants'
|
||||
|
||||
export const registerUser = async ({ username, regtime, role, email, id, ...rest }) => {
|
||||
const db: Db = await mainDb
|
||||
|
||||
const usersCl = db.collection(usersCollection)
|
||||
const [registred] = await usersCl.find({ ijlId: id }).toArray()
|
||||
|
||||
const user = {
|
||||
...(registred || {}),
|
||||
ijlId: id,
|
||||
ijlUser: {
|
||||
username,
|
||||
regtime,
|
||||
role,
|
||||
email,
|
||||
...rest
|
||||
},
|
||||
regtime: regtime || Date.now(),
|
||||
}
|
||||
|
||||
let insertedId
|
||||
|
||||
if (!registred) {
|
||||
const inserted = await usersCl.insertOne(user)
|
||||
|
||||
insertedId = inserted.insertedId
|
||||
} else {
|
||||
await usersCl.updateOne({ _id: registred._id }, { $set: user })
|
||||
}
|
||||
|
||||
return cleanId({
|
||||
id: insertedId,
|
||||
...user
|
||||
})
|
||||
}
|
||||
Reference in New Issue
Block a user