mirror of
https://gitlab.com/comunic/comunicapiv2
synced 2024-11-22 13:29:22 +00:00
Add /groups/get_my_list
This commit is contained in:
parent
8737607b53
commit
ee6579efa0
21
src/controllers/GroupsController.ts
Normal file
21
src/controllers/GroupsController.ts
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
import { RequestHandler } from "../entities/RequestHandler";
|
||||||
|
import { GroupsHelper } from "../helpers/GroupsHelper";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Groups API controller
|
||||||
|
*
|
||||||
|
* @author Pierre HUBERT
|
||||||
|
*/
|
||||||
|
|
||||||
|
export class GroupsController {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the list of groups of the user
|
||||||
|
*
|
||||||
|
* @param h Request handler
|
||||||
|
*/
|
||||||
|
public static async GetListUser(h: RequestHandler) {
|
||||||
|
h.send(await GroupsHelper.GetListUser(h.getUserId()));
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
@ -4,6 +4,7 @@ import { AccountController } from "./AccountController";
|
|||||||
import { UserController } from "./UserController";
|
import { UserController } from "./UserController";
|
||||||
import { ConversationsController } from "./ConversationsController";
|
import { ConversationsController } from "./ConversationsController";
|
||||||
import { SearchController } from "./SearchController";
|
import { SearchController } from "./SearchController";
|
||||||
|
import { GroupsController } from "./GroupsController";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Controllers routes
|
* Controllers routes
|
||||||
@ -81,4 +82,8 @@ export const Routes : Route[] = [
|
|||||||
// Search controller
|
// Search controller
|
||||||
{path: "/search/user", cb: (h) => SearchController.SearchUser(h)},
|
{path: "/search/user", cb: (h) => SearchController.SearchUser(h)},
|
||||||
{path: "/user/search", cb: (h) => SearchController.SearchUser(h)}, // Legacy
|
{path: "/user/search", cb: (h) => SearchController.SearchUser(h)}, // Legacy
|
||||||
|
|
||||||
|
|
||||||
|
// Groups controller
|
||||||
|
{path: "/groups/get_my_list", cb: (h) => GroupsController.GetListUser(h)},
|
||||||
]
|
]
|
31
src/helpers/GroupsHelper.ts
Normal file
31
src/helpers/GroupsHelper.ts
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
import { DatabaseHelper } from "./DatabaseHelper";
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Groups helper
|
||||||
|
*
|
||||||
|
* @author Pierre HUBERT
|
||||||
|
*/
|
||||||
|
|
||||||
|
const GROUPS_LIST_TABLE = "comunic_groups";
|
||||||
|
const GROUPS_MEMBERS_TABLE = "comunic_groups_members";
|
||||||
|
|
||||||
|
export class GroupsHelper {
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Get the list of groups of a user
|
||||||
|
*
|
||||||
|
* @param userID Target user ID
|
||||||
|
*/
|
||||||
|
public static async GetListUser(userID: number) : Promise<Array<number>> {
|
||||||
|
const list = await DatabaseHelper.Query({
|
||||||
|
table: GROUPS_MEMBERS_TABLE,
|
||||||
|
where: {
|
||||||
|
user_id: userID
|
||||||
|
},
|
||||||
|
fields: ["groups_id"]
|
||||||
|
});
|
||||||
|
|
||||||
|
return list.map(e => e.groups_id);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
Loading…
Reference in New Issue
Block a user