mirror of
https://github.com/NodeBB/NodeBB.git
synced 2026-03-12 23:50:47 +01:00
55 lines
1.5 KiB
JavaScript
55 lines
1.5 KiB
JavaScript
'use strict';
|
|
|
|
const groups = require('../../groups');
|
|
const sockets = require('..');
|
|
const api = require('../../api');
|
|
|
|
const Groups = module.exports;
|
|
|
|
Groups.create = async function (socket, data) {
|
|
sockets.warnDeprecated(socket, 'POST /api/v3/groups');
|
|
|
|
if (!data) {
|
|
throw new Error('[[error:invalid-data]]');
|
|
} else if (groups.isPrivilegeGroup(data.name)) {
|
|
throw new Error('[[error:invalid-group-name]]');
|
|
}
|
|
|
|
return await groups.create({
|
|
name: data.name,
|
|
description: data.description,
|
|
private: data.private,
|
|
hidden: data.hidden,
|
|
ownerUid: socket.uid,
|
|
});
|
|
};
|
|
|
|
Groups.join = async (socket, data) => {
|
|
sockets.warnDeprecated(socket, 'PUT /api/v3/groups/:slug/membership/:uid');
|
|
if (!data) {
|
|
throw new Error('[[error:invalid-data]]');
|
|
}
|
|
const slug = await groups.getGroupField(data.groupName, 'slug');
|
|
return await api.groups.join(socket, { slug: slug, uid: data.uid });
|
|
};
|
|
|
|
Groups.leave = async function (socket, data) {
|
|
sockets.warnDeprecated(socket, 'DELETE /api/v3/groups/:slug/membership/:uid');
|
|
if (!data) {
|
|
throw new Error('[[error:invalid-data]]');
|
|
}
|
|
const slug = await groups.getGroupField(data.groupName, 'slug');
|
|
await api.groups.leave(socket, { slug: slug, uid: data.uid });
|
|
};
|
|
|
|
Groups.update = async function (socket, data) {
|
|
sockets.warnDeprecated(socket, 'PUT /api/v3/groups/:slug');
|
|
if (!data) {
|
|
throw new Error('[[error:invalid-data]]');
|
|
}
|
|
|
|
const slug = await groups.getGroupField(data.groupName, 'slug');
|
|
await api.groups.update(socket, { slug, ...data.values });
|
|
// await groups.update(data.groupName, data.values);
|
|
};
|