fix psql query in setActorAlias

pull/387/head
Sven Sauleau 2023-03-08 15:56:48 +00:00
rodzic f11bf529fd
commit 8d68b972c0
4 zmienionych plików z 10 dodań i 1 usunięć

Wyświetl plik

@ -225,7 +225,7 @@ export async function updateActorProperty(db: Database, actorId: URL, key: strin
export async function setActorAlias(db: Database, actorId: URL, alias: URL) {
const { success, error } = await db
.prepare(`UPDATE actors SET properties=json_set(properties, '$.alsoKnownAs', json_array(?)) WHERE id=?`)
.prepare(`UPDATE actors SET properties=json_set(properties, '$.alsoKnownAs', ${db.qb.jsonArray('?1')}) WHERE id=?2`)
.bind(alias.toString(), actorId.toString())
.run()
if (!success) {

Wyświetl plik

@ -25,6 +25,10 @@ const qb: QueryBuilder = {
psqlOnly(): string {
return ''
},
jsonArray(r: string): string {
return `json_array(${r})`
},
}
export default function make({ DATABASE }: Pick<Env, 'DATABASE'>): Database {

Wyświetl plik

@ -33,6 +33,7 @@ export interface QueryBuilder {
epoch(): string
insertOrIgnore(q: string): string
psqlOnly(raw: string): string
jsonArray(r: string): string
}
export async function getDatabase(env: Pick<Env, 'DATABASE' | 'NEON_DATABASE_URL'>): Promise<Database> {

Wyświetl plik

@ -34,6 +34,10 @@ const qb: QueryBuilder = {
psqlOnly(q: string): string {
return q
},
jsonArray(r: string): string {
return `json_array_elements_text(${r})`
},
}
export default async function make(env: Pick<Env, 'NEON_DATABASE_URL'>): Promise<Database> {