Merge pull request 'Fix note url resolver' (#10371) from e2net/calckey:fix/db-resolve-note-url into develop

Reviewed-on: https://codeberg.org/calckey/calckey/pulls/10371
This commit is contained in:
Kainoa Kanter 2023-06-27 22:44:42 +00:00 committed by Laura Hausmann
parent 5ab80337db
commit 41ebcb3ec8
Signed by: zotan
GPG key ID: D044E84C5BE01605
3 changed files with 52 additions and 3 deletions

View file

@ -1,12 +1,16 @@
pub use sea_orm_migration::prelude::*;
mod m20230531_180824_drop_reversi;
mod m20230627_185451_index_note_url;
pub struct Migrator;
#[async_trait::async_trait]
impl MigratorTrait for Migrator {
fn migrations() -> Vec<Box<dyn MigrationTrait>> {
vec![Box::new(m20230531_180824_drop_reversi::Migration)]
vec![
Box::new(m20230531_180824_drop_reversi::Migration),
Box::new(m20230627_185451_index_note_url::Migration),
]
}
}

View file

@ -0,0 +1,38 @@
use sea_orm_migration::prelude::*;
#[derive(DeriveMigrationName)]
pub struct Migration;
#[async_trait::async_trait]
impl MigrationTrait for Migration {
async fn up(&self, manager: &SchemaManager) -> Result<(), DbErr> {
manager
.create_index(
Index::create()
.name("IDX_note_url")
.table(Note::Table)
.col(Note::Url)
.if_not_exists()
.to_owned(),
)
.await
}
async fn down(&self, manager: &SchemaManager) -> Result<(), DbErr> {
manager
.drop_index(
Index::drop()
.name("IDX_note_url")
.table(Note::Table)
.to_owned(),
)
.await
}
}
/// Learn more at https://docs.rs/sea-query#iden
#[derive(Iden)]
enum Note {
Table,
Url,
}

View file

@ -80,8 +80,15 @@ export default class DbResolver {
id: parsed.id,
});
} else {
return await Notes.findOneBy({
uri: parsed.uri,
return await Notes.findOne({
where: [
{
uri: parsed.uri,
},
{
url: parsed.uri,
},
],
});
}
}