add: allow free users to create 2 invites

This commit is contained in:
trisua 2025-06-22 13:50:12 -04:00
parent 626c6711ef
commit 2f83497f98
4 changed files with 66 additions and 19 deletions

View file

@ -536,7 +536,7 @@
(icon (text "plus"))
(str (text "settings:label.generate_invite")))
(text "{{ components::supporter_ad(body=\"Become a supporter to generate invite codes!\") }} {% for code in invites %}")
(text "{{ components::supporter_ad(body=\"Become a supporter to generate up to 24 invite codes! You can currently have 2 maximum.\") }} {% for code in invites %}")
(div
("class" "card flex flex-col gap-2")
(text "{% if code[1].is_used -%}")
@ -669,7 +669,12 @@
(li
(text "Create infinite journals"))
(li
(text "Create infinite notes in each journal")))
(text "Create infinite notes in each journal"))
(text "{% if config.security.enable_invite_codes -%}")
(li
(text "Create up to 24 invite codes"))
(text "{%- endif %}"))
(a
("href" "{{ config.stripe.payment_link }}?client_reference_id={{ user.id }}")
("class" "button")

View file

@ -18,7 +18,7 @@ use axum::{
};
use axum_extra::extract::CookieJar;
use serde::Deserialize;
use tetratto_core::model::{addr::RemoteAddr, permissions::FinePermission};
use tetratto_core::model::addr::RemoteAddr;
use tetratto_shared::hash::hash;
use cf_turnstile::{SiteVerifyRequest, TurnstileClient};
@ -107,20 +107,20 @@ pub async fn register_request(
);
}
let owner = match data.get_user_by_id(invite_code.owner).await {
Ok(u) => u,
Err(e) => return (None, Json(e.into())),
};
// let owner = match data.get_user_by_id(invite_code.owner).await {
// Ok(u) => u,
// Err(e) => return (None, Json(e.into())),
// };
if !owner.permissions.check(FinePermission::SUPPORTER) {
return (
None,
Json(
Error::MiscError("Invite code owner must be an active supporter".to_string())
.into(),
),
);
}
// if !owner.permissions.check(FinePermission::SUPPORTER) {
// return (
// None,
// Json(
// Error::MiscError("Invite code owner must be an active supporter".to_string())
// .into(),
// ),
// );
// }
user.invite_code = invite_code.id;