mirror of
https://github.com/pierre42100/ComunicWeb
synced 2024-11-29 15:26:27 +00:00
Create a new way to retrieve multiple groups information
This commit is contained in:
parent
d1c339c414
commit
dacab00ae4
@ -138,7 +138,7 @@ function getMultipleUsersInfo(usersID, afterGetUserInfos, forceRequest){
|
|||||||
*
|
*
|
||||||
* @param {Array~Object} users The list of users to get
|
* @param {Array~Object} users The list of users to get
|
||||||
* @param {Boolean} force
|
* @param {Boolean} force
|
||||||
* @returns {Promise}
|
* @returns {Promise<UsersList>}
|
||||||
*/
|
*/
|
||||||
function getUsers(users, force) {
|
function getUsers(users, force) {
|
||||||
return new Promise((resolve, error) => {
|
return new Promise((resolve, error) => {
|
||||||
@ -224,6 +224,22 @@ function getInfoMultipleGroups(IDs, callback, force){
|
|||||||
ComunicWeb.components.groups.info.getInfoMultiple(IDs, callback, force);
|
ComunicWeb.components.groups.info.getInfoMultiple(IDs, callback, force);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get information about multiple groups
|
||||||
|
*
|
||||||
|
* @param {Number[]} list The ID of the groups to get
|
||||||
|
* @param {Boolean} force Specify whether to force or not the request
|
||||||
|
* @return {Promise<GroupsList>}
|
||||||
|
*/
|
||||||
|
function getGroups(list, force){
|
||||||
|
return new Promise((resolve, reject) => {
|
||||||
|
getInfoMultipleGroups(list, result => {
|
||||||
|
if(result.error) reject(result.error);
|
||||||
|
else resolve(new GroupsList(result));
|
||||||
|
}, force);
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Get the difference of time from now to a specified
|
* Get the difference of time from now to a specified
|
||||||
* timestamp and return it as a string
|
* timestamp and return it as a string
|
||||||
|
51
assets/js/components/groups/GroupsList.js
Normal file
51
assets/js/components/groups/GroupsList.js
Normal file
@ -0,0 +1,51 @@
|
|||||||
|
/**
|
||||||
|
* Groups list
|
||||||
|
*
|
||||||
|
* @author Pierre HUBERT
|
||||||
|
*/
|
||||||
|
|
||||||
|
class Group {
|
||||||
|
constructor(info){
|
||||||
|
this.id = info.id;
|
||||||
|
this.following = info.following;
|
||||||
|
this.icon_url = info.icon_url;
|
||||||
|
this.membership = info.membership;
|
||||||
|
this.name = info.name;
|
||||||
|
this.number_members = info.number_members;
|
||||||
|
this.posts_level = info.posts_level;
|
||||||
|
this.registration_level = info.registration_level;
|
||||||
|
this.virtual_directory = info.virtual_directory;
|
||||||
|
this.visibility = info.visibility;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
class GroupsList {
|
||||||
|
|
||||||
|
constructor(list){
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @type {Group[]}
|
||||||
|
*/
|
||||||
|
this.list = [];
|
||||||
|
|
||||||
|
// Initialize the list of groups
|
||||||
|
for (const key in list) {
|
||||||
|
if (list.hasOwnProperty(key))
|
||||||
|
this.list.push(new Group(list[key]));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get a group specified by its ID
|
||||||
|
*
|
||||||
|
* @param {Number} id The ID of the target group
|
||||||
|
* @return {Group} information about the target group
|
||||||
|
*/
|
||||||
|
get(id){
|
||||||
|
for (let index = 0; index < this.list.length; index++) {
|
||||||
|
const group = this.list[index];
|
||||||
|
if(group.id == id)
|
||||||
|
return group;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -440,6 +440,7 @@ class Dev {
|
|||||||
"js/components/groups/interface.js",
|
"js/components/groups/interface.js",
|
||||||
"js/components/groups/utils.js",
|
"js/components/groups/utils.js",
|
||||||
"js/components/groups/info.js",
|
"js/components/groups/info.js",
|
||||||
|
"js/components/groups/GroupsList.js",
|
||||||
|
|
||||||
//Virtual directory component
|
//Virtual directory component
|
||||||
"js/components/virtualDirectory/interface.js",
|
"js/components/virtualDirectory/interface.js",
|
||||||
|
Loading…
Reference in New Issue
Block a user