From b02f937c964ed6e5cf1a51d2c8acf0426d51a325 Mon Sep 17 00:00:00 2001 From: gilles Date: Mon, 21 Sep 2026 17:47:33 +0200 Subject: [PATCH] =?UTF-8?q?feat(config):=20s=C3=A9lecteur=20de=20repositor?= =?UTF-8?q?y=20selon=20DB=5FIMPL?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/config/card-repository-factory.ts | 13 +++++++++++++ 1 file changed, 13 insertions(+) create mode 100644 src/config/card-repository-factory.ts diff --git a/src/config/card-repository-factory.ts b/src/config/card-repository-factory.ts new file mode 100644 index 0000000..6b46566 --- /dev/null +++ b/src/config/card-repository-factory.ts @@ -0,0 +1,13 @@ +import type { CardRepository } from '@/domain/card-repository' +import { MongoCardRepository } from '@/repositories/mongo-card-repository' +import { MysqlCardRepository } from '@/repositories/mysql-card-repository' + +export type RepositoryImpl = 'mysql' | 'mongo' + +export function getCardRepository(): CardRepository { + const impl = (process.env.DB_IMPL ?? 'mysql') as RepositoryImpl + if (impl === 'mongo') { + return new MongoCardRepository() + } + return new MysqlCardRepository() +} \ No newline at end of file