Show form to revoke delegation

O01eg
Oct 22, 2022, 1:24 PM
YDWTHWAI7RPLW3KGM32J2JVUOSFTW4WOV3XPUMNTU3MDNGMQIOZAC

Dependencies

  • [2] WEVOADLS Require to accept cookies policy for log in
  • [3] B7PYGLH3 Show delegate bold if it's logged user itself
  • [4] AEWYJHUD Start to show player list
  • [5] LOFH5LIA Make bold player name
  • [6] 6BDGQ4VM Show player names for registered players
  • [7] MFJBQU5F Fix check if web password wasn't set
  • [8] FUCFD4UV Add log in and log out support
  • [9] 6TPV5GQ3 Show delegates in player table
  • [*] 6NYILMKI Add page for slow game
  • [*] EVP2FSBH Split index page
  • [*] TEB4R7OU Add form to join game
  • [*] 5RQCVFRH Start leave game form
  • [*] 3HT5CE6S Manage TTL duration in config
  • [*] 4MZ4VIR7 Initial commit

Change contents

  • replacement in src/templates/slow-game.html at line 71
    [3.207][3.207:285]()
    {{#if player.player_itself and player.revoke_delegate_data }}
    [3.207]
    [3.285]
    {{#if player.revoke_delegate_data }}
  • edit in src/pages/slow_game.rs at line 16
    [3.746]
    [4.207]
    revoke_delegate_data: Option<JoinLeaveData>,
  • edit in src/pages/slow_game.rs at line 146
    [4.980]
    [4.331]
    let player_name = row.get::<_, String>(0);
    let delegate_name = row.get::<_, Option<String>>(1);
  • edit in src/pages/slow_game.rs at line 151
    [4.618]
    [4.253]
    let revoke_delegate_data = if status.map_or(true, |x| x == "started") && delegate_itself
    {
    let csrf = Uuid::new_v4();
    let mut cache = data.cache_revoke_delegation_game.lock().await;
    cache.insert(
    csrf,
    (
    gameuid.clone(),
    player_name.to_lowercase(),
    user.to_lowercase(),
    ),
    std::time::Duration::from_secs(data.cache_duration_sec),
    );
    Some(JoinLeaveData { csrf })
    } else if status.map_or(true, |x| x == "started") && player_itself {
    if let Some(ref delegate_name) = delegate_name {
    let csrf = Uuid::new_v4();
    let mut cache = data.cache_revoke_delegation_game.lock().await;
    cache.insert(
    csrf,
    (
    gameuid.clone(),
    user.to_lowercase(),
    delegate_name.to_lowercase(),
    ),
    std::time::Duration::from_secs(data.cache_duration_sec),
    );
    Some(JoinLeaveData { csrf })
    } else {
    None
    }
    } else {
    None
    };
  • replacement in src/pages/slow_game.rs at line 186
    [4.289][4.289:343](),[4.343][4.387:451]()
    player_name: row.get::<_, String>(0),
    delegate_name: row.get::<_, Option<String>>(1),
    [4.289]
    [4.619]
    player_name,
    delegate_name,
  • edit in src/pages/slow_game.rs at line 190
    [3.1065]
    [4.343]
    revoke_delegate_data,
  • edit in src/pages/mod.rs at line 48
    [13.1122]
    [14.1576]
    /// Cache for game (gameuid, player_name)
  • edit in src/pages/mod.rs at line 50
    [14.1643]
    [15.140]
    /// Cache for delegation data (gameuid, player_name, delegate_name)
    pub cache_revoke_delegation_game: Mutex<TtlCache<Uuid, (String, String, String)>>,
  • replacement in src/pages/log_in.rs at line 116
    [2.675][4.5337:5409](),[4.5337][4.5337:5409]()
    let mut builder = cookie::Cookie::build("auth", form.login.clone())
    [2.675]
    [4.5409]
    let mut builder = cookie::Cookie::build("auth", form.login.to_lowercase())
  • edit in src/main.rs at line 220
    [14.1806]
    [15.203]
    cache_revoke_delegation_game: tokio::sync::Mutex::new(ttl_cache::TtlCache::new(
    cache_capacity,
    )),