shipthis
Version:
ShipThis manages building and uploading your Godot games to the App Store and Google Play.
56 lines (53 loc) • 1.84 kB
JavaScript
import { useQuery } from '@tanstack/react-query';
import axios from 'axios';
import { b as getShortDate, p as getAuthedHeaders, o as API_URL, I as castArrayObjectDates } from './index-BwnzoldS.js';
import { c as cacheKeys } from './useAndroidServiceAccountTestResult-CwKeW0ED.js';
import { g as getShortUUID } from './index-CJWMt1s-.js';
async function queryProjectCredentials({
projectId,
...pageAndSortParams
}) {
try {
const headers = getAuthedHeaders();
const url = `${API_URL}/projects/${projectId}/credentials`;
const response = await axios.get(url, { headers, params: pageAndSortParams });
return {
...response.data,
data: castArrayObjectDates(response.data.data)
};
} catch (error) {
console.warn("queryProjectCredentials Error", error);
throw error;
}
}
function getProjectCredentialSummary(credential) {
const trimLength = 25;
const summary = {};
summary.id = getShortUUID(credential.id);
summary.type = credential.type;
summary.serial = credential.serialNumber.slice(0, trimLength) + (credential.serialNumber.length > trimLength ? "\u2026" : "");
summary.isActive = credential.isActive;
summary.createdAt = getShortDate(credential.createdAt);
return summary;
}
const useProjectCredentials = ({
platform,
type,
...fetchProps
}) => {
const queryResult = useQuery({
queryFn: async () => queryProjectCredentials(fetchProps),
queryKey: cacheKeys.projectCredentials(fetchProps),
select(data) {
if (!(platform || type)) return data;
return {
...data,
data: data.data.filter(
(credential) => (!platform || credential.platform === platform) && (!type || credential.type === type)
)
};
}
});
return queryResult;
};
export { getProjectCredentialSummary as g, useProjectCredentials as u };