mirror of
https://github.com/hydralauncher/hydra.git
synced 2026-01-23 10:51:02 +00:00
34 lines
913 B
TypeScript
34 lines
913 B
TypeScript
import { shell } from "electron";
|
|
import { registerEvent } from "../register-event";
|
|
import {
|
|
userAuthRepository,
|
|
userPreferencesRepository,
|
|
} from "@main/repository";
|
|
import { HydraApi } from "@main/services";
|
|
|
|
const openCheckout = async (_event: Electron.IpcMainInvokeEvent) => {
|
|
const [userAuth, userPreferences] = await Promise.all([
|
|
userAuthRepository.findOne({ where: { id: 1 } }),
|
|
userPreferencesRepository.findOne({ where: { id: 1 } }),
|
|
]);
|
|
|
|
if (!userAuth) {
|
|
return;
|
|
}
|
|
|
|
const paymentToken = await HydraApi.post("/auth/payment", {
|
|
refreshToken: userAuth.refreshToken,
|
|
}).then((response) => response.accessToken);
|
|
|
|
const params = new URLSearchParams({
|
|
token: paymentToken,
|
|
lng: userPreferences?.language || "en",
|
|
});
|
|
|
|
shell.openExternal(
|
|
`${import.meta.env.MAIN_VITE_CHECKOUT_URL}?${params.toString()}`
|
|
);
|
|
};
|
|
|
|
registerEvent("openCheckout", openCheckout);
|