refactor: updateOs lint

This commit is contained in:
Zack Spear
2023-11-20 19:24:14 -08:00
parent f9652d7c06
commit 1ef2522089

View File

@@ -142,7 +142,7 @@ export const useUpdateOsStoreGeneric = (payload?: UpdateOsStorePayload) =>
const isAvailableStable = computed(() => available.value ? isVersionStable(available.value) : false);
const filteredNextReleases = computed(() => {
if (!osVersion.value) return undefined;
if (!osVersion.value) { return undefined; }
if (releases.value?.response?.next) {
return releases.value?.response?.next.filter(
@@ -155,9 +155,9 @@ export const useUpdateOsStoreGeneric = (payload?: UpdateOsStorePayload) =>
const filteredPreviewReleases = computed(() => {
// if we're on account.unraid.net and the user is not in the download_preview group, don't show preview releases
const userNotInGroup = isOnAccountApp.value && isLoggedIn.value && authUserGroups.value && !authUserGroups.value.includes('download_preview');
if (!osVersion.value || userNotInGroup) return undefined;
if (!osVersion.value || userNotInGroup) { return undefined; }
// if not authed but the current osVersionBranch is test then return an empty array to prevent showing test releases but still showing the test branch in the tabs
if (isOnAccountApp.value && !isLoggedIn.value && osVersionBranch.value === 'preview') return [];
if (isOnAccountApp.value && !isLoggedIn.value && osVersionBranch.value === 'preview') { return []; }
if (releases.value?.response?.preview) {
return releases.value?.response?.preview.filter(
@@ -168,9 +168,9 @@ export const useUpdateOsStoreGeneric = (payload?: UpdateOsStorePayload) =>
});
const filteredStableReleases = computed(() => {
if (!osVersion.value) return undefined;
if (!osVersion.value) { return undefined; }
let filteredReleases: Release[] | undefined = undefined;
let filteredReleases: Release[] | undefined;
if (releases.value?.response?.stable) {
filteredReleases = releases.value?.response?.stable.filter(
@@ -178,8 +178,10 @@ export const useUpdateOsStoreGeneric = (payload?: UpdateOsStorePayload) =>
);
}
// if current osBranch is next, preview, or test we should return the latest stable release regardless if the current version is ahead
if ((!filteredReleases || filteredReleases.length === 0) && osVersionBranch.value !== 'stable') {
filteredReleases = [releases.value?.response?.stable[0]];
if ((!filteredReleases || filteredReleases.length === 0) && osVersionBranch.value !== 'stable' && releases.value?.response?.stable[0]) {
filteredReleases = releases.value?.response?.stable.filter( // using filter so we get an array back
(release, index) => index === 0
);
}
return filteredReleases;
@@ -188,9 +190,9 @@ export const useUpdateOsStoreGeneric = (payload?: UpdateOsStorePayload) =>
const filteredTestReleases = computed(() => {
// if we're on account.unraid.net and the user is not in the download_test group, don't show test releases
const userNotInGroup = isOnAccountApp.value && isLoggedIn.value && authUserGroups.value && !authUserGroups.value.includes('download_test');
if (!osVersion.value || userNotInGroup) return undefined;
if (!osVersion.value || userNotInGroup) { return undefined; }
// if not authed but the current osVersionBranch is test then return an empty array to prevent showing test releases but still showing the test branch in the tabs
if (isOnAccountApp.value && !isLoggedIn.value && osVersionBranch.value === 'test') return [];
if (isOnAccountApp.value && !isLoggedIn.value && osVersionBranch.value === 'test') { return []; }
if (releases.value?.response?.test) {
return releases.value?.response?.test.filter(
@@ -201,7 +203,7 @@ export const useUpdateOsStoreGeneric = (payload?: UpdateOsStorePayload) =>
});
const allFilteredReleases = computed(() => {
if (!releases.value || !filteredNextReleases.value && !filteredPreviewReleases.value && !filteredStableReleases.value && !filteredTestReleases.value) {
if (!releases.value || (!filteredNextReleases.value && !filteredPreviewReleases.value && !filteredStableReleases.value && !filteredTestReleases.value)) {
return undefined;
}
@@ -210,7 +212,7 @@ export const useUpdateOsStoreGeneric = (payload?: UpdateOsStorePayload) =>
...(filteredNextReleases.value && { next: [...filteredNextReleases.value] }),
...(filteredPreviewReleases.value && { preview: [...filteredPreviewReleases.value] }),
...(filteredTestReleases.value && { test: [...filteredTestReleases.value] }),
}
};
});
/**
@@ -254,7 +256,7 @@ export const useUpdateOsStoreGeneric = (payload?: UpdateOsStorePayload) =>
timestamp: Date.now(),
response,
};
}
};
const cacheReleasesResponse = () => {
localStorage.setItem(RELEASES_LOCAL_STORAGE_KEY, JSON.stringify(releases.value));
@@ -301,7 +303,7 @@ export const useUpdateOsStoreGeneric = (payload?: UpdateOsStorePayload) =>
console.debug('[requestReleases] cache VALID', releases.value.response);
return releases.value.response;
}
}
}
// If here we're needing to fetch a new releases…whether it's the first time or b/c the cache was expired
try {
@@ -347,7 +349,7 @@ export const useUpdateOsStoreGeneric = (payload?: UpdateOsStorePayload) =>
return console.error('[checkForUpdate] no releases found');
}
Object.keys(releases.value.response ?? {}).forEach(key => {
Object.keys(releases.value.response ?? {}).forEach((key) => {
// this is just to make TS happy (it's already checked above…thanks github copilot for knowing what I needed)
if (!releases.value) {
return;
@@ -363,7 +365,7 @@ export const useUpdateOsStoreGeneric = (payload?: UpdateOsStorePayload) =>
return;
}
branchReleases.find(release => {
branchReleases.find((release) => {
if (gt(release.version, osVersion.value)) {
// before we set the available version, check if the license key updates have expired to ensure we don't show an update that the user can't install
if (regUpdatesExpired.value && releaseDateGtRegExpDate(release.date, regExp.value)) {
@@ -383,14 +385,14 @@ export const useUpdateOsStoreGeneric = (payload?: UpdateOsStorePayload) =>
const findRelease = (searchKey: keyof Release, searchValue: string): Release | null => {
const response = releases?.value?.response;
if (!response) return null;
if (!response) { return null; }
for (const key of Object.keys(response)) {
const branchReleases = response[key as keyof ReleasesResponse];
if (!branchReleases || branchReleases.length === 0) continue;
if (!branchReleases || branchReleases.length === 0) { continue; }
const foundRelease = branchReleases.find(release => release[searchKey] === searchValue);
if (foundRelease) return foundRelease;
if (foundRelease) { return foundRelease; }
}
return null;