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 :
|
`.env` placé dans la racine du projet qui contient le token et l'URL, exemple :
|
||||||
```
|
```
|
||||||
TOKEN_MATTERMOST=votre_token_ici
|
PSEUDO=votre_pseudo_ici
|
||||||
MATTERMOST_INSTANCE_URL=url_du_site_ici, ex: https://talk.up8.edu
|
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`)
|
- [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]
|
#[tokio::main]
|
||||||
async fn main() {
|
async fn main() {
|
||||||
dotenv().expect("Le fichier .env n'a pas été trouvé..."); // vérification si fichier .env trouvé
|
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 pseudo = env::var("PSEUDO").expect("Pseudo non trouvé dans le fichier .env"); // récupération du pseudo
|
||||||
let url = env::var("MATTERMOST_INSTANCE_URL").expect("URL non trouvé dans le fichier .env"); // récupération de l'url
|
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
|
||||||
mattermost::connexion(&token, &url).await; // connexion à mattermost
|
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::*;
|
use mattermost_api::prelude::*;
|
||||||
|
|
||||||
/// Se connecte à Mattermost depuis Gitlab
|
/// Se connecte à Mattermost depuis Gitlab
|
||||||
pub async fn connexion(token: &str, url: &str) {
|
pub async fn connexion(pseudo: &str, mot_de_passe: &str, url: &str, equipe: &str) {
|
||||||
let auth = AuthenticationData::from_access_token(&token);
|
let auth = AuthenticationData::from_password(pseudo, mot_de_passe);
|
||||||
let mut api = Mattermost::new(url, auth);
|
let mut api = Mattermost::new(url, auth);
|
||||||
api.store_session_token().await.unwrap();
|
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 {
|
match team_info {
|
||||||
Ok(infos) => {
|
Ok(infos) => {
|
||||||
|
|
Reference in a new issue