mirror of
https://gitlab.com/comunic/comunicapiv2
synced 2024-11-21 21:09:22 +00:00
Check if a user exists before adding him to a conversation
This commit is contained in:
parent
45955cf524
commit
096f2da6a4
@ -98,8 +98,7 @@ export class ConversationsController {
|
|||||||
|
|
||||||
// Update members list
|
// Update members list
|
||||||
if(h.hasPostParameter("members")) {
|
if(h.hasPostParameter("members")) {
|
||||||
|
const members = await h.postUsersIDSet("members");
|
||||||
const members = h.postNumbersSet("members");
|
|
||||||
const canEveryoneAddMembers = await ConversationsHelper.CanEveryoneAddMembers(convID);
|
const canEveryoneAddMembers = await ConversationsHelper.CanEveryoneAddMembers(convID);
|
||||||
|
|
||||||
if(!isUserModerator && !canEveryoneAddMembers)
|
if(!isUserModerator && !canEveryoneAddMembers)
|
||||||
|
@ -179,6 +179,23 @@ export abstract class BaseRequestsHandler implements AbstractUserConnectionConta
|
|||||||
return new Set(this.postNumbersList(name, minEntries));
|
return new Set(this.postNumbersList(name, minEntries));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a list of users included in the POST request
|
||||||
|
*
|
||||||
|
* @param name The name of the POST field
|
||||||
|
* @param minEntries Minimum number of entries to specify
|
||||||
|
*/
|
||||||
|
public async postUsersIDSet(name: string, minEntries : number = 1) : Promise<Set<number>> {
|
||||||
|
const list = this.postNumbersSet(name, minEntries);
|
||||||
|
|
||||||
|
// Check the users of the list really exist
|
||||||
|
for(const userID of list)
|
||||||
|
if(!await UserHelper.Exists(userID))
|
||||||
|
this.error(404, "User " + userID + " not found!");
|
||||||
|
|
||||||
|
return list;
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Attempt to decode JSON included in a POST request
|
* Attempt to decode JSON included in a POST request
|
||||||
*
|
*
|
||||||
|
Loading…
Reference in New Issue
Block a user