kopia lustrzana https://github.com/cloudflare/wildebeest
Merge pull request #387 from cloudflare/sven/fix-setActorAlias-psql
fix psql query in setActorAliaspull/363/head
commit
6b07cb25fa
|
@ -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) {
|
||||
|
|
|
@ -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 {
|
||||
|
|
|
@ -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> {
|
||||
|
|
|
@ -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> {
|
||||
|
|
Ładowanie…
Reference in New Issue