Apply patreon sharing across web/bot

This commit is contained in:
jude
2025-10-20 18:36:28 +01:00
parent 91310d47d3
commit 1d8fd39d13
11 changed files with 61 additions and 101 deletions

View File

@@ -6,8 +6,8 @@ use serde::{Deserialize, Serialize};
use serenity::{client::Context, model::id::UserId};
use sqlx::types::Json;
use crate::utils::check_subscription;
use crate::web::{
check_subscription,
consts::{
DAY, MAX_CONTENT_LENGTH, MAX_EMBED_AUTHOR_LENGTH, MAX_EMBED_DESCRIPTION_LENGTH,
MAX_EMBED_FIELDS, MAX_EMBED_FIELD_TITLE_LENGTH, MAX_EMBED_FIELD_VALUE_LENGTH,
@@ -131,7 +131,7 @@ pub async fn create_reminder(
|| reminder.interval_days.is_some()
|| reminder.interval_months.is_some()
{
if !check_subscription(&ctx, user_id).await {
if !check_subscription(&ctx, transaction.executor(), user_id, None).await {
return Err(json!({"error": "Patreon is required to set intervals"}));
}
}

View File

@@ -9,8 +9,8 @@ use rocket::{
use serenity::{client::Context, model::id::UserId};
use sqlx::{MySql, Pool};
use crate::utils::check_subscription;
use crate::web::{
check_subscription,
guards::transaction::Transaction,
routes::{
dashboard::{
@@ -162,7 +162,9 @@ pub async fn edit_reminder(
|| reminder.interval_months.flatten().is_some()
|| reminder.interval_seconds.flatten().is_some()
{
if check_subscription(&ctx.inner(), user_id).await {
if check_subscription(&ctx.inner(), transaction.executor(), UserId::from(user_id), None)
.await
{
let new_interval_length = match reminder.interval_days {
Some(interval) => interval.unwrap_or(0),
None => sqlx::query!(