mirror of
https://gitlab.com/comunic/comunicapiv3
synced 2024-11-22 05:19:21 +00:00
Can get the list of Forez groups
This commit is contained in:
parent
53446ab8a6
commit
3da9f26176
@ -2,6 +2,7 @@
|
||||
<dictionary name="pierre">
|
||||
<words>
|
||||
<w>comunic</w>
|
||||
<w>forez</w>
|
||||
</words>
|
||||
</dictionary>
|
||||
</component>
|
@ -63,3 +63,11 @@ rtc-relay:
|
||||
max-users-per-calls: 10
|
||||
allow-video: true
|
||||
max-users-per-video-calls: 6
|
||||
|
||||
# List of #Forez groups
|
||||
#
|
||||
# This option allows to enable some extra features for these groups
|
||||
#
|
||||
# In most cases you should not have to specify this information
|
||||
forez_groups:
|
||||
- 32
|
24
src/controllers/forez_controller.rs
Normal file
24
src/controllers/forez_controller.rs
Normal file
@ -0,0 +1,24 @@
|
||||
//! # Forez controller
|
||||
//!
|
||||
//! This controller contains the logic specific to the integration of the #Forez application into
|
||||
//! Comunic.
|
||||
//!
|
||||
//! @author Pierre Hubert
|
||||
|
||||
use crate::data::http_request_handler::HttpRequestHandler;
|
||||
use crate::routes::RequestResult;
|
||||
use crate::data::config::conf;
|
||||
use crate::data::base_request_handler::BaseRequestHandler;
|
||||
use crate::api_data::group_api::GroupApi;
|
||||
use crate::helpers::groups_helper;
|
||||
|
||||
/// Get the list of declared Forez groups in the application
|
||||
pub fn get_list_groups(r: &mut HttpRequestHandler) -> RequestResult {
|
||||
let mut list = vec![];
|
||||
|
||||
for group in &conf().forez_groups {
|
||||
list.push(GroupApi::new(&groups_helper::get_info(group)?, r.user_id_opt())?);
|
||||
}
|
||||
|
||||
r.set_response(list)
|
||||
}
|
@ -17,4 +17,5 @@ pub mod virtual_directory_controller;
|
||||
pub mod web_app_controller;
|
||||
pub mod calls_controller;
|
||||
pub mod user_ws_actions;
|
||||
pub mod push_notifications_controller;
|
||||
pub mod push_notifications_controller;
|
||||
pub mod forez_controller;
|
@ -2,6 +2,8 @@ use std::error::Error;
|
||||
|
||||
use yaml_rust::{Yaml, YamlLoader};
|
||||
|
||||
use crate::data::group_id::GroupID;
|
||||
|
||||
/// Server configuration
|
||||
///
|
||||
/// @author Pierre Hubert
|
||||
@ -47,6 +49,7 @@ pub struct Config {
|
||||
pub independent_push_service: Option<IndependentPushService>,
|
||||
pub database: DatabaseConfig,
|
||||
pub rtc_relay: Option<RtcRelayConfig>,
|
||||
pub forez_groups: Vec<GroupID>,
|
||||
}
|
||||
|
||||
/// Globally available configuration
|
||||
@ -143,6 +146,13 @@ impl Config {
|
||||
database: database_conf,
|
||||
|
||||
rtc_relay: rtc_config,
|
||||
|
||||
forez_groups: parsed["forez_groups"]
|
||||
.as_vec()
|
||||
.unwrap_or(&vec![])
|
||||
.iter()
|
||||
.map(|f| GroupID::new(f.as_i64().unwrap() as u64))
|
||||
.collect(),
|
||||
};
|
||||
|
||||
// Save new configuration in memory
|
||||
|
@ -1,6 +1,6 @@
|
||||
use std::error::Error;
|
||||
|
||||
use crate::controllers::{account_controller, comments_controller, conversations_controller, friends_controller, groups_controller, likes_controller, notifications_controller, posts_controller, push_notifications_controller, search_controller, server_controller, settings_controller, surveys_controller, user_controller, user_ws_controller, virtual_directory_controller, web_app_controller};
|
||||
use crate::controllers::{account_controller, comments_controller, conversations_controller, forez_controller, friends_controller, groups_controller, likes_controller, notifications_controller, posts_controller, push_notifications_controller, search_controller, server_controller, settings_controller, surveys_controller, user_controller, user_ws_controller, virtual_directory_controller, web_app_controller};
|
||||
use crate::data::http_request_handler::HttpRequestHandler;
|
||||
use crate::routes::Method::{GET, POST};
|
||||
|
||||
@ -297,5 +297,8 @@ pub fn get_routes() -> Vec<Route> {
|
||||
|
||||
// Web application controller
|
||||
Route::post("/webApp/getMemberships", Box::new(web_app_controller::get_memberships)),
|
||||
|
||||
// Forez controller
|
||||
Route::post("/forez/get_groups", Box::new(forez_controller::get_list_groups)),
|
||||
]
|
||||
}
|
Loading…
Reference in New Issue
Block a user