1
0
Fork 0
mirror of https://codeberg.org/MarkusThielker/next-ory.git synced 2025-07-04 13:59:17 +00:00

NORY-41: refactor drizzle schema to match snake_case @ory/client types

This commit is contained in:
Markus Thielker 2025-01-04 15:26:04 +01:00
parent 8032f11d30
commit a4957fc627
No known key found for this signature in database
4 changed files with 926 additions and 906 deletions

View file

@ -10,7 +10,7 @@ import {
VerifiableIdentityAddress,
} from '@ory/client';
import { getDB } from '@/db';
import { identities, identityRecoveryAddresses, identityVerifiableAddresses } from '@/db/schema';
import { identities, identity_recovery_addresses, identity_verifiable_addresses } from '@/db/schema';
import { eq, ilike, or, sql } from 'drizzle-orm';
interface QueryIdentitiesProps {
@ -31,14 +31,14 @@ export async function queryIdentities({ page, pageSize, query }: QueryIdentities
const db = await getDB();
const result = await db.select()
.from(identities)
.leftJoin(identityVerifiableAddresses, eq(identities.id, identityVerifiableAddresses.identityId))
.leftJoin(identityRecoveryAddresses, eq(identities.id, identityRecoveryAddresses.identityId))
.leftJoin(identity_verifiable_addresses, eq(identities.id, identity_verifiable_addresses.identity_id))
.leftJoin(identity_recovery_addresses, eq(identities.id, identity_recovery_addresses.identity_id))
.where(or(
sql`${identities.id}::text ILIKE
${`%${query}%`}`,
sql`${identities.traits}::text ILIKE
${`%${query}%`}`,
ilike(identityVerifiableAddresses.value, `%${query}%`),
ilike(identity_verifiable_addresses.value, `%${query}%`),
))
.orderBy(identities.id)
.limit(pageSize)
@ -47,14 +47,14 @@ export async function queryIdentities({ page, pageSize, query }: QueryIdentities
const resultCount = await db.$count(
db.select()
.from(identities)
.leftJoin(identityVerifiableAddresses, eq(identities.id, identityVerifiableAddresses.identityId))
.leftJoin(identityRecoveryAddresses, eq(identities.id, identityRecoveryAddresses.identityId))
.leftJoin(identity_verifiable_addresses, eq(identities.id, identity_verifiable_addresses.identity_id))
.leftJoin(identity_recovery_addresses, eq(identities.id, identity_recovery_addresses.identity_id))
.where(or(
sql`${identities.id}::text ILIKE
${`%${query}%`}`,
sql`${identities.traits}::text ILIKE
${`%${query}%`}`,
ilike(identityVerifiableAddresses.value, `%${query}%`),
ilike(identity_verifiable_addresses.value, `%${query}%`),
))
.as('subquery'),
);