Modifications:
- use password instead of token auth - ask for team name in .env file - update disclaimer
This commit is contained in:
parent
66f5fc665a
commit
9de03acd4c
3 changed files with 13 additions and 9 deletions
|
@ -8,8 +8,10 @@ sudo apt install libssl-dev
|
|||
|
||||
`.env` placé dans la racine du projet qui contient le token et l'URL, exemple :
|
||||
```
|
||||
TOKEN_MATTERMOST=votre_token_ici
|
||||
MATTERMOST_INSTANCE_URL=url_du_site_ici, ex: https://talk.up8.edu
|
||||
PSEUDO=votre_pseudo_ici
|
||||
MOT_DE_PASSE=votre_mot-de-passe_ici
|
||||
URL=url_du_site_ici, ex: https://talk.up8.edu
|
||||
EQUIPE=nom_de_lequipe, ex: etudiant-es
|
||||
```
|
||||
|
||||
---
|
||||
|
@ -32,4 +34,4 @@ services:
|
|||
- [Documentation `tokio`](https://docs.rs/tokio/1.15.0/tokio/attr.main.html) (utilisé car `mattermost_api` est `async`)
|
||||
|
||||
---
|
||||
*Projet ne fonctionne pas, et a peu de chance d'aboutir car le mattermost de la fac se connecte via Gitlab et aucune librarie ne supporte ceci.*
|
||||
*Projet ne fonctionne pas avec l'instance de la Fac, car son mattermost se connecte via Gitlab et (je crois?) aucune librarie ne supporte ceci.*
|
||||
|
|
|
@ -6,7 +6,9 @@ mod mattermost;
|
|||
#[tokio::main]
|
||||
async fn main() {
|
||||
dotenv().expect("Le fichier .env n'a pas été trouvé..."); // vérification si fichier .env trouvé
|
||||
let token = env::var("TOKEN_MATTERMOST").expect("Token non trouvé dans le fichier .env"); // récupération du token
|
||||
let url = env::var("MATTERMOST_INSTANCE_URL").expect("URL non trouvé dans le fichier .env"); // récupération de l'url
|
||||
mattermost::connexion(&token, &url).await; // connexion à mattermost
|
||||
let pseudo = env::var("PSEUDO").expect("Pseudo non trouvé dans le fichier .env"); // récupération du pseudo
|
||||
let mot_de_passe = env::var("MOT_DE_PASSE").expect("Mot de passe non trouvé dans le fichier .env"); // récupération du mot de passe
|
||||
let url = env::var("URL").expect("URL non trouvé dans le fichier .env"); // récupération de l'url
|
||||
let equipe = env::var("EQUIPE").expect("Équipe non trouvé dans le fichier .env"); // récupération de l'équipe
|
||||
mattermost::connexion(&pseudo, &mot_de_passe, &equipe, &url).await; // connexion à mattermost
|
||||
}
|
||||
|
|
|
@ -1,11 +1,11 @@
|
|||
use mattermost_api::prelude::*;
|
||||
|
||||
/// Se connecte à Mattermost depuis Gitlab
|
||||
pub async fn connexion(token: &str, url: &str) {
|
||||
let auth = AuthenticationData::from_access_token(&token);
|
||||
pub async fn connexion(pseudo: &str, mot_de_passe: &str, url: &str, equipe: &str) {
|
||||
let auth = AuthenticationData::from_password(pseudo, mot_de_passe);
|
||||
let mut api = Mattermost::new(url, auth);
|
||||
api.store_session_token().await.unwrap();
|
||||
let team_info = api.get_team_info("etudiant-es").await;
|
||||
let team_info = api.get_team_info(equipe).await;
|
||||
|
||||
match team_info {
|
||||
Ok(infos) => {
|
||||
|
|
Reference in a new issue