other: temp save

This commit is contained in:
2025-01-11 15:02:04 +08:00
parent 8f76e92804
commit 97b7bfb7fb
16 changed files with 229 additions and 278 deletions

View File

@@ -1,3 +1,4 @@
use async_graphql::SimpleObject;
use async_trait::async_trait;
use loco_rs::app::AppContext;
use sea_orm::{entity::prelude::*, sea_query::OnConflict, ActiveValue, FromJsonQueryResult};
@@ -5,13 +6,19 @@ use serde::{Deserialize, Serialize};
use super::subscription_bangumi;
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize, FromJsonQueryResult)]
#[derive(
Clone, Debug, PartialEq, Eq, Serialize, Deserialize, FromJsonQueryResult, SimpleObject,
)]
#[graphql(name = "BangumiFilter")]
pub struct BangumiFilter {
pub name: Option<Vec<String>>,
pub group: Option<Vec<String>>,
}
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize, FromJsonQueryResult)]
#[derive(
Clone, Debug, PartialEq, Eq, Serialize, Deserialize, FromJsonQueryResult, SimpleObject,
)]
#[graphql(name = "BangumiExtra")]
pub struct BangumiExtra {
pub name_zh: Option<String>,
pub s_name_zh: Option<String>,
@@ -21,14 +28,16 @@ pub struct BangumiExtra {
pub s_name_jp: Option<String>,
}
#[derive(Clone, Debug, PartialEq, DeriveEntityModel, Eq, Serialize, Deserialize)]
#[derive(Clone, Debug, PartialEq, DeriveEntityModel, Eq, Serialize, Deserialize, SimpleObject)]
#[sea_orm(table_name = "bangumi")]
#[graphql(name = "Bangumi")]
pub struct Model {
pub created_at: DateTime,
pub updated_at: DateTime,
#[sea_orm(primary_key)]
pub id: i32,
pub mikan_bangumi_id: Option<String>,
#[graphql(default_with = "default_subscriber_id")]
pub subscriber_id: i32,
pub display_name: String,
pub raw_name: String,

View File

@@ -1,3 +1,4 @@
use async_graphql::SimpleObject;
use async_trait::async_trait;
use loco_rs::{
app::AppContext,
@@ -8,7 +9,9 @@ use serde::{Deserialize, Serialize};
pub const SEED_SUBSCRIBER: &str = "konobangu";
#[derive(Clone, Debug, PartialEq, Eq, Serialize, Deserialize, FromJsonQueryResult)]
#[derive(
Clone, Debug, PartialEq, Eq, Serialize, Deserialize, FromJsonQueryResult, SimpleObject,
)]
pub struct SubscriberBangumiConfig {
pub leading_group_tag: Option<bool>,
}
@@ -104,11 +107,6 @@ impl ActiveModelBehavior for ActiveModel {
}
impl Model {
/// finds a user by the provided pid
///
/// # Errors
///
/// When could not find user or DB query error
pub async fn find_by_pid(ctx: &AppContext, pid: &str) -> ModelResult<Self> {
let db = &ctx.db;
let parse_uuid = Uuid::parse_str(pid).map_err(|e| ModelError::Any(e.into()))?;
@@ -148,12 +146,6 @@ impl Model {
Self::find_by_pid(ctx, SEED_SUBSCRIBER).await
}
/// Asynchronously creates a user with a password and saves it to the
/// database.
///
/// # Errors
///
/// When could not save the user into the DB
pub async fn create_root(ctx: &AppContext) -> ModelResult<Self> {
let db = &ctx.db;
let txn = db.begin().await?;