use primary and replica instead of master and slave

This commit is contained in:
Hongbo Wu
2024-06-27 18:42:42 +08:00
parent 0830f0b312
commit fb3d2eada6

View File

@ -6,6 +6,7 @@ import {
ObjectLiteral,
QueryBuilder,
QueryFailedError,
ReplicationMode,
Repository,
} from 'typeorm'
import { appDataSource } from '../data_source'
@ -62,7 +63,7 @@ export const setClaims = async (
interface AuthTrxOptions {
uid?: string
userRole?: string
replicationMode?: 'master' | 'slave'
replicationMode?: 'primary' | 'replica'
}
export const authTrx = async <T>(
@ -78,7 +79,16 @@ export const authTrx = async <T>(
userRole = claims?.userRole
}
const queryRunner = appDataSource.createQueryRunner(options.replicationMode)
const replicationModes: Record<'primary' | 'replica', ReplicationMode> = {
primary: 'master',
replica: 'slave',
}
const replicationMode = options.replicationMode
? replicationModes[options.replicationMode]
: undefined
const queryRunner = appDataSource.createQueryRunner(replicationMode)
// lets now open a new transaction:
await queryRunner.startTransaction()