adds update functionality to users
This commit is contained in:
parent
1d9a0b9b0d
commit
1440ed9fdd
|
@ -7,7 +7,7 @@ const {
|
|||
ADMIN_LEVEL_ID,
|
||||
} = require("../../utilities/accessLevels")
|
||||
|
||||
exports.fetch = async function(ctx) {
|
||||
exports.fetch = async function (ctx) {
|
||||
const database = new CouchDB(ctx.user.instanceId)
|
||||
const data = await database.query("database/by_type", {
|
||||
include_docs: true,
|
||||
|
@ -17,7 +17,7 @@ exports.fetch = async function(ctx) {
|
|||
ctx.body = data.rows.map(row => row.doc)
|
||||
}
|
||||
|
||||
exports.create = async function(ctx) {
|
||||
exports.create = async function (ctx) {
|
||||
const database = new CouchDB(ctx.user.instanceId)
|
||||
const appId = (await database.get("_design/database")).metadata.applicationId
|
||||
const { username, password, name, accessLevelId } = ctx.request.body
|
||||
|
@ -63,16 +63,32 @@ exports.create = async function(ctx) {
|
|||
}
|
||||
}
|
||||
|
||||
exports.update = async function() {}
|
||||
exports.update = async function (ctx) {
|
||||
const db = new CouchDB(ctx.user.instanceId)
|
||||
const user = ctx.request.body
|
||||
|
||||
exports.destroy = async function(ctx) {
|
||||
const response = await db.put(user)
|
||||
user._rev = response.rev
|
||||
|
||||
ctx.status = 200
|
||||
ctx.body = {
|
||||
message: `User ${ctx.request.body.username} updated successfully.`,
|
||||
user: {
|
||||
...user,
|
||||
_rev: response.rev,
|
||||
_id: response.id,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
||||
exports.destroy = async function (ctx) {
|
||||
const database = new CouchDB(ctx.user.instanceId)
|
||||
await database.destroy(getUserId(ctx.params.username))
|
||||
ctx.message = `User ${ctx.params.username} deleted.`
|
||||
ctx.status = 200
|
||||
}
|
||||
|
||||
exports.find = async function(ctx) {
|
||||
exports.find = async function (ctx) {
|
||||
const database = new CouchDB(ctx.user.instanceId)
|
||||
const user = await database.get(getUserId(ctx.params.username))
|
||||
ctx.body = {
|
||||
|
|
|
@ -8,6 +8,7 @@ const router = Router()
|
|||
router
|
||||
.get("/api/users", authorized(LIST_USERS), controller.fetch)
|
||||
.get("/api/users/:username", authorized(USER_MANAGEMENT), controller.find)
|
||||
.put("/api/users/", authorized(USER_MANAGEMENT), controller.update)
|
||||
.post("/api/users", authorized(USER_MANAGEMENT), controller.create)
|
||||
.delete(
|
||||
"/api/users/:username",
|
||||
|
|
Loading…
Reference in New Issue