hydra/src/main/services/update-resolver.ts

34 lines
947 B
TypeScript
Raw Normal View History

2024-04-21 05:26:29 +00:00
import path from "node:path";
import { app } from "electron";
import { chunk } from "lodash-es";
2024-05-14 15:54:14 +00:00
import { createDataSource } from "@main/data-source";
2024-05-18 20:55:12 +00:00
import { Repack } from "@main/entity";
import { repackRepository } from "@main/repository";
2024-04-21 05:26:29 +00:00
export const resolveDatabaseUpdates = async () => {
const updateDataSource = createDataSource({
database: app.isPackaged
? path.join(process.resourcesPath, "hydra.db")
2024-04-30 02:27:07 +00:00
: path.join(__dirname, "..", "..", "hydra.db"),
2024-04-21 05:26:29 +00:00
});
return updateDataSource.initialize().then(async () => {
const updateRepackRepository = updateDataSource.getRepository(Repack);
2024-05-18 20:55:12 +00:00
const updateRepacks = await updateRepackRepository.find();
2024-04-21 05:26:29 +00:00
const updateRepacksChunks = chunk(updateRepacks, 800);
for (const chunk of updateRepacksChunks) {
await repackRepository
.createQueryBuilder()
.insert()
.values(chunk)
.orIgnore()
.execute();
}
});
};