HEX
Server: Apache/2
System: Linux server1c 2.6.32-042stab145.3 #1 SMP Thu Jun 11 14:05:04 MSK 2020 x86_64
User: jandjware (1008)
PHP: 8.2.23
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: /home/jandjware/public_html/wp-content/plugins/hostinger/vue-frontend/src/stores/settingsStore.ts
import { defineStore } from "pinia";
import { generalDataRepo } from "@/repositories";
import { ref } from "vue";
import { SettingsData } from "@/types/models";
import { STORE_PERSISTENT_KEYS } from "@/types/enums";
import { toast } from "vue3-toastify";
import { translate } from "@/utils/helpers";

export const useSettingsStore = defineStore(
  "settingsStore",
  () => {
    const settingsData = ref<SettingsData | null>(null);

    const fetchSettingsData = async () => {
      const [data, err] = await generalDataRepo.getSettings();

      if (err) return;

      settingsData.value = data;
    };


    const regenerateByPassCode = async () => {
      const [data, err] = await generalDataRepo.getRegenerateByPassCode();

      if (err) return;

      toast.success(translate("bypass_link_reset_success"));

      const tempSettingsData = settingsData.value;

      settingsData.value = {
		  ...data,
		  currentWpVersion: tempSettingsData?.currentWpVersion || "",
		  phpVersion: tempSettingsData?.phpVersion || "",
		  newestWpVersion: tempSettingsData?.newestWpVersion || "",
		  isEligibleWwwRedirect: tempSettingsData?.isEligibleWwwRedirect || false
	  };
    };

    const updateSettingsData = async (settings: SettingsData): Promise<boolean> => {
      const [data, err] = await generalDataRepo.postSettings(settings);

      if (err) {
		  toast.error(translate("hostinger_tools_settings_error"));
		  return false;
	  }

      const tempSettingsData = settingsData.value;

      settingsData.value = {
        ...data,
        currentWpVersion: tempSettingsData?.currentWpVersion || "",
        phpVersion: tempSettingsData?.phpVersion || "",
        newestWpVersion: tempSettingsData?.newestWpVersion || "",
        isEligibleWwwRedirect: tempSettingsData?.isEligibleWwwRedirect || false
	  };

	  toast.success(translate("hostinger_tools_settings_updated"));
	  return true;
	};

    return {
      fetchSettingsData,
      updateSettingsData,
      regenerateByPassCode,
      settingsData,
    };
  },
  {
    persist: { key: STORE_PERSISTENT_KEYS.SETTINGS_STORE },
  }
);