Improved getAllSDKUrls
This commit is contained in:
parent
eeab8fcc4a
commit
0a4fe750f8
|
@ -1,112 +0,0 @@
|
||||||
import payload from "payload";
|
|
||||||
import { Endpoint } from "payload/config";
|
|
||||||
import { Collections } from "../constants";
|
|
||||||
import { EndpointAllPaths } from "../sdk";
|
|
||||||
|
|
||||||
export const getAllPathsEndpoint: Endpoint = {
|
|
||||||
method: "get",
|
|
||||||
path: "/all-paths",
|
|
||||||
handler: async (req, res) => {
|
|
||||||
if (!req.user) {
|
|
||||||
return res.status(403).send({
|
|
||||||
errors: [
|
|
||||||
{
|
|
||||||
message: "You are not allowed to perform this action.",
|
|
||||||
},
|
|
||||||
],
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
const collectibles = await payload.find({
|
|
||||||
collection: Collections.Collectibles,
|
|
||||||
depth: 0,
|
|
||||||
pagination: false,
|
|
||||||
user: req.user,
|
|
||||||
where: {
|
|
||||||
_status: {
|
|
||||||
equals: "published",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
const pages = await payload.find({
|
|
||||||
collection: Collections.Pages,
|
|
||||||
depth: 0,
|
|
||||||
pagination: false,
|
|
||||||
user: req.user,
|
|
||||||
where: {
|
|
||||||
_status: {
|
|
||||||
equals: "published",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
const folders = await payload.find({
|
|
||||||
collection: Collections.Folders,
|
|
||||||
depth: 0,
|
|
||||||
pagination: false,
|
|
||||||
user: req.user,
|
|
||||||
});
|
|
||||||
|
|
||||||
const videos = await payload.find({
|
|
||||||
collection: Collections.Videos,
|
|
||||||
depth: 0,
|
|
||||||
pagination: false,
|
|
||||||
user: req.user,
|
|
||||||
});
|
|
||||||
|
|
||||||
const audios = await payload.find({
|
|
||||||
collection: Collections.Audios,
|
|
||||||
depth: 0,
|
|
||||||
pagination: false,
|
|
||||||
user: req.user,
|
|
||||||
});
|
|
||||||
|
|
||||||
const images = await payload.find({
|
|
||||||
collection: Collections.Images,
|
|
||||||
depth: 0,
|
|
||||||
pagination: false,
|
|
||||||
user: req.user,
|
|
||||||
});
|
|
||||||
|
|
||||||
const files = await payload.find({
|
|
||||||
collection: Collections.Files,
|
|
||||||
depth: 0,
|
|
||||||
pagination: false,
|
|
||||||
user: req.user,
|
|
||||||
});
|
|
||||||
|
|
||||||
const recorders = await payload.find({
|
|
||||||
collection: Collections.Recorders,
|
|
||||||
depth: 0,
|
|
||||||
pagination: false,
|
|
||||||
user: req.user,
|
|
||||||
});
|
|
||||||
|
|
||||||
const chronologyEvents = await payload.find({
|
|
||||||
collection: Collections.ChronologyEvents,
|
|
||||||
depth: 0,
|
|
||||||
pagination: false,
|
|
||||||
user: req.user,
|
|
||||||
where: {
|
|
||||||
_status: {
|
|
||||||
equals: "published",
|
|
||||||
},
|
|
||||||
},
|
|
||||||
});
|
|
||||||
|
|
||||||
const result: EndpointAllPaths = {
|
|
||||||
collectibles: collectibles.docs.map(({ slug }) => slug),
|
|
||||||
pages: pages.docs.map(({ slug }) => slug),
|
|
||||||
folders: folders.docs.map(({ slug }) => slug),
|
|
||||||
videos: videos.docs.map(({ id }) => id),
|
|
||||||
audios: audios.docs.map(({ id }) => id),
|
|
||||||
images: images.docs.map(({ id }) => id),
|
|
||||||
files: files.docs.map(({ id }) => id),
|
|
||||||
recorders: recorders.docs.map(({ id }) => id),
|
|
||||||
chronologyEvents: chronologyEvents.docs.map(({ id }) => id),
|
|
||||||
};
|
|
||||||
|
|
||||||
return res.status(200).send(result);
|
|
||||||
},
|
|
||||||
};
|
|
|
@ -0,0 +1,209 @@
|
||||||
|
import payload from "payload";
|
||||||
|
import { Endpoint } from "payload/config";
|
||||||
|
import { Collections } from "../constants";
|
||||||
|
import { EndpointAllSDKUrls, getSDKEndpoint } from "../sdk";
|
||||||
|
import { Collectible } from "../types/collections";
|
||||||
|
|
||||||
|
export const getAllSDKUrlsEndpoint: Endpoint = {
|
||||||
|
method: "get",
|
||||||
|
path: "/all-sdk-urls",
|
||||||
|
handler: async (req, res) => {
|
||||||
|
if (!req.user) {
|
||||||
|
return res.status(403).send({
|
||||||
|
errors: [
|
||||||
|
{
|
||||||
|
message: "You are not allowed to perform this action.",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
const collectibles = await payload.find({
|
||||||
|
collection: Collections.Collectibles,
|
||||||
|
depth: 0,
|
||||||
|
pagination: false,
|
||||||
|
user: req.user,
|
||||||
|
where: {
|
||||||
|
_status: {
|
||||||
|
equals: "published",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
const pages = await payload.find({
|
||||||
|
collection: Collections.Pages,
|
||||||
|
depth: 0,
|
||||||
|
pagination: false,
|
||||||
|
user: req.user,
|
||||||
|
where: {
|
||||||
|
_status: {
|
||||||
|
equals: "published",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
const folders = await payload.find({
|
||||||
|
collection: Collections.Folders,
|
||||||
|
depth: 0,
|
||||||
|
pagination: false,
|
||||||
|
user: req.user,
|
||||||
|
});
|
||||||
|
|
||||||
|
const videos = await payload.find({
|
||||||
|
collection: Collections.Videos,
|
||||||
|
depth: 0,
|
||||||
|
pagination: false,
|
||||||
|
user: req.user,
|
||||||
|
});
|
||||||
|
|
||||||
|
const audios = await payload.find({
|
||||||
|
collection: Collections.Audios,
|
||||||
|
depth: 0,
|
||||||
|
pagination: false,
|
||||||
|
user: req.user,
|
||||||
|
});
|
||||||
|
|
||||||
|
const images = await payload.find({
|
||||||
|
collection: Collections.Images,
|
||||||
|
depth: 0,
|
||||||
|
pagination: false,
|
||||||
|
user: req.user,
|
||||||
|
});
|
||||||
|
|
||||||
|
const files = await payload.find({
|
||||||
|
collection: Collections.Files,
|
||||||
|
depth: 0,
|
||||||
|
pagination: false,
|
||||||
|
user: req.user,
|
||||||
|
});
|
||||||
|
|
||||||
|
const recorders = await payload.find({
|
||||||
|
collection: Collections.Recorders,
|
||||||
|
depth: 0,
|
||||||
|
pagination: false,
|
||||||
|
user: req.user,
|
||||||
|
});
|
||||||
|
|
||||||
|
const chronologyEvents = await payload.find({
|
||||||
|
collection: Collections.ChronologyEvents,
|
||||||
|
depth: 0,
|
||||||
|
pagination: false,
|
||||||
|
user: req.user,
|
||||||
|
where: {
|
||||||
|
_status: {
|
||||||
|
equals: "published",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
const urls = new Set([
|
||||||
|
getSDKEndpoint.getConfigEndpoint(),
|
||||||
|
getSDKEndpoint.getLanguagesEndpoint(),
|
||||||
|
getSDKEndpoint.getCurrenciesEndpoint(),
|
||||||
|
getSDKEndpoint.getWordingsEndpoint(),
|
||||||
|
|
||||||
|
...collectibles.docs.flatMap((doc) =>
|
||||||
|
getSDKUrlsForDocument(Collections.Collectibles, doc)
|
||||||
|
),
|
||||||
|
...pages.docs.flatMap((doc) => getSDKUrlsForDocument(Collections.Pages, doc)),
|
||||||
|
...folders.docs.flatMap((doc) => getSDKUrlsForDocument(Collections.Folders, doc)),
|
||||||
|
...videos.docs.flatMap((doc) => getSDKUrlsForDocument(Collections.Videos, doc)),
|
||||||
|
...audios.docs.flatMap((doc) => getSDKUrlsForDocument(Collections.Audios, doc)),
|
||||||
|
...images.docs.flatMap((doc) => getSDKUrlsForDocument(Collections.Images, doc)),
|
||||||
|
...files.docs.flatMap((doc) => getSDKUrlsForDocument(Collections.Files, doc)),
|
||||||
|
...recorders.docs.flatMap((doc) => getSDKUrlsForDocument(Collections.Recorders, doc)),
|
||||||
|
...chronologyEvents.docs.flatMap((doc) =>
|
||||||
|
getSDKUrlsForDocument(Collections.ChronologyEvents, doc)
|
||||||
|
),
|
||||||
|
]);
|
||||||
|
|
||||||
|
const result: EndpointAllSDKUrls = {
|
||||||
|
urls: [...urls],
|
||||||
|
};
|
||||||
|
|
||||||
|
return res.status(200).send(result);
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
export const getSDKUrlsForDocument = (collection: Collections, doc: any): string[] => {
|
||||||
|
switch (collection) {
|
||||||
|
case Collections.WebsiteConfig:
|
||||||
|
return [getSDKEndpoint.getConfigEndpoint()];
|
||||||
|
|
||||||
|
case Collections.Folders:
|
||||||
|
return [getSDKEndpoint.getFolderEndpoint(doc.slug)];
|
||||||
|
|
||||||
|
case Collections.Languages:
|
||||||
|
return [getSDKEndpoint.getLanguagesEndpoint()];
|
||||||
|
|
||||||
|
case Collections.Currencies:
|
||||||
|
return [getSDKEndpoint.getCurrenciesEndpoint()];
|
||||||
|
|
||||||
|
case Collections.Wordings:
|
||||||
|
return [getSDKEndpoint.getWordingsEndpoint()];
|
||||||
|
|
||||||
|
case Collections.Pages:
|
||||||
|
return [getSDKEndpoint.getPageEndpoint(doc.slug)];
|
||||||
|
|
||||||
|
case Collections.Collectibles: {
|
||||||
|
const { slug, gallery, scans, scansEnabled } = doc as Collectible;
|
||||||
|
const urls: string[] = [getSDKEndpoint.getCollectibleEndpoint(slug)];
|
||||||
|
if (gallery && gallery.length > 0) {
|
||||||
|
urls.push(getSDKEndpoint.getCollectibleGalleryEndpoint(slug));
|
||||||
|
urls.push(
|
||||||
|
...gallery.map((_, index) =>
|
||||||
|
getSDKEndpoint.getCollectibleGalleryImageEndpoint(slug, index.toString())
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
if (scans && scansEnabled) {
|
||||||
|
urls.push(getSDKEndpoint.getCollectibleScansEndpoint(slug));
|
||||||
|
// TODO: Add other pages for cover, obi, dustjacket...
|
||||||
|
if (scans.pages) {
|
||||||
|
urls.push(
|
||||||
|
...scans.pages.map(({ page }) =>
|
||||||
|
getSDKEndpoint.getCollectibleScanPageEndpoint(slug, page.toString())
|
||||||
|
)
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return urls;
|
||||||
|
}
|
||||||
|
|
||||||
|
case Collections.ChronologyEvents:
|
||||||
|
return [
|
||||||
|
getSDKEndpoint.getChronologyEventsEndpoint(),
|
||||||
|
getSDKEndpoint.getChronologyEventByIDEndpoint(doc.id),
|
||||||
|
];
|
||||||
|
|
||||||
|
case Collections.Images:
|
||||||
|
return [getSDKEndpoint.getImageByIDEndpoint(doc.id)];
|
||||||
|
|
||||||
|
case Collections.Audios:
|
||||||
|
return [getSDKEndpoint.getAudioByIDEndpoint(doc.id)];
|
||||||
|
|
||||||
|
case Collections.Videos:
|
||||||
|
return [getSDKEndpoint.getVideoByIDEndpoint(doc.id)];
|
||||||
|
|
||||||
|
case Collections.Recorders:
|
||||||
|
return [getSDKEndpoint.getRecorderByIDEndpoint(doc.id)];
|
||||||
|
|
||||||
|
case Collections.Files:
|
||||||
|
return [getSDKEndpoint.getFileByIDEndpoint(doc.id)];
|
||||||
|
|
||||||
|
case Collections.Attributes:
|
||||||
|
case Collections.CreditsRole:
|
||||||
|
case Collections.GenericContents:
|
||||||
|
case Collections.MediaThumbnails:
|
||||||
|
case Collections.Scans:
|
||||||
|
case Collections.Tags:
|
||||||
|
case Collections.VideosChannels:
|
||||||
|
case Collections.VideosSubtitles:
|
||||||
|
return [];
|
||||||
|
|
||||||
|
default: {
|
||||||
|
console.warn("Unrecognized collection", collection);
|
||||||
|
return [];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
};
|
|
@ -4,79 +4,8 @@ import {
|
||||||
} from "payload/dist/collections/config/types";
|
} from "payload/dist/collections/config/types";
|
||||||
import { AfterChangeHook as GlobalAfterChangeHook } from "payload/dist/globals/config/types";
|
import { AfterChangeHook as GlobalAfterChangeHook } from "payload/dist/globals/config/types";
|
||||||
import { AfterOperationWebHookMessage, Collections } from "../constants";
|
import { AfterOperationWebHookMessage, Collections } from "../constants";
|
||||||
|
import { getSDKUrlsForDocument } from "../endpoints/getAllSDKUrlsEndpoint";
|
||||||
import { getAddedBackPropagationRelationships } from "../fields/backPropagationField/backPropagationUtils";
|
import { getAddedBackPropagationRelationships } from "../fields/backPropagationField/backPropagationUtils";
|
||||||
import { getSDKEndpoint } from "../sdk";
|
|
||||||
import { Collectible } from "../types/collections";
|
|
||||||
|
|
||||||
const getURLs = (collection: Collections, doc: any): string[] => {
|
|
||||||
switch (collection) {
|
|
||||||
case Collections.WebsiteConfig:
|
|
||||||
return [getSDKEndpoint.getConfigEndpoint()];
|
|
||||||
|
|
||||||
case Collections.Folders:
|
|
||||||
return [getSDKEndpoint.getFolderEndpoint(doc.slug)];
|
|
||||||
|
|
||||||
case Collections.Languages:
|
|
||||||
return [getSDKEndpoint.getLanguagesEndpoint()];
|
|
||||||
|
|
||||||
case Collections.Currencies:
|
|
||||||
return [getSDKEndpoint.getCurrenciesEndpoint()];
|
|
||||||
|
|
||||||
case Collections.Wordings:
|
|
||||||
return [getSDKEndpoint.getWordingsEndpoint()];
|
|
||||||
|
|
||||||
case Collections.Pages:
|
|
||||||
return [getSDKEndpoint.getPageEndpoint(doc.slug)];
|
|
||||||
|
|
||||||
case Collections.Collectibles: {
|
|
||||||
const { slug, gallery, scans, scansEnabled } = doc as Collectible;
|
|
||||||
const urls: string[] = [getSDKEndpoint.getCollectibleEndpoint(slug)];
|
|
||||||
if (gallery && gallery.length > 0) {
|
|
||||||
urls.push(getSDKEndpoint.getCollectibleGalleryEndpoint(slug));
|
|
||||||
urls.push(
|
|
||||||
...gallery.map((_, index) =>
|
|
||||||
getSDKEndpoint.getCollectibleGalleryImageEndpoint(slug, index.toString())
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
if (scans && scansEnabled) {
|
|
||||||
urls.push(getSDKEndpoint.getCollectibleScansEndpoint(slug));
|
|
||||||
// TODO: Add other pages for cover, obi, dustjacket...
|
|
||||||
if (scans.pages) {
|
|
||||||
urls.push(
|
|
||||||
...scans.pages.map(({ page }) =>
|
|
||||||
getSDKEndpoint.getCollectibleScanPageEndpoint(slug, page.toString())
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return urls;
|
|
||||||
}
|
|
||||||
|
|
||||||
case Collections.ChronologyEvents:
|
|
||||||
return [
|
|
||||||
getSDKEndpoint.getChronologyEventsEndpoint(),
|
|
||||||
getSDKEndpoint.getChronologyEventByIDEndpoint(doc.id),
|
|
||||||
];
|
|
||||||
|
|
||||||
case Collections.Images:
|
|
||||||
return [getSDKEndpoint.getImageByIDEndpoint(doc.id)];
|
|
||||||
|
|
||||||
case Collections.Audios:
|
|
||||||
return [getSDKEndpoint.getAudioByIDEndpoint(doc.id)];
|
|
||||||
|
|
||||||
case Collections.Videos:
|
|
||||||
return [getSDKEndpoint.getVideoByIDEndpoint(doc.id)];
|
|
||||||
|
|
||||||
case Collections.Recorders:
|
|
||||||
return [getSDKEndpoint.getRecorderByIDEndpoint(doc.id)];
|
|
||||||
|
|
||||||
default: {
|
|
||||||
console.warn("Unrecognized collection", collection, "when sending webhook. No URL.");
|
|
||||||
return [];
|
|
||||||
}
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
export const globalAfterChangeWebhook: GlobalAfterChangeHook = async ({
|
export const globalAfterChangeWebhook: GlobalAfterChangeHook = async ({
|
||||||
global,
|
global,
|
||||||
|
@ -87,7 +16,7 @@ export const globalAfterChangeWebhook: GlobalAfterChangeHook = async ({
|
||||||
await sendWebhookMessage({
|
await sendWebhookMessage({
|
||||||
collection,
|
collection,
|
||||||
addedDependantIds: await getAddedBackPropagationRelationships(global, doc, previousDoc),
|
addedDependantIds: await getAddedBackPropagationRelationships(global, doc, previousDoc),
|
||||||
urls: getURLs(collection, doc),
|
urls: getSDKUrlsForDocument(collection, doc),
|
||||||
});
|
});
|
||||||
return doc;
|
return doc;
|
||||||
};
|
};
|
||||||
|
@ -113,7 +42,7 @@ export const collectionAfterChangeWebhook: CollectionAfterChangeHook = async ({
|
||||||
collection: collectionSlug,
|
collection: collectionSlug,
|
||||||
id: doc.id,
|
id: doc.id,
|
||||||
addedDependantIds: await getAddedBackPropagationRelationships(collection, doc, previousDoc),
|
addedDependantIds: await getAddedBackPropagationRelationships(collection, doc, previousDoc),
|
||||||
urls: getURLs(collectionSlug, doc),
|
urls: getSDKUrlsForDocument(collectionSlug, doc),
|
||||||
});
|
});
|
||||||
|
|
||||||
return doc;
|
return doc;
|
||||||
|
@ -131,7 +60,7 @@ export const afterDeleteWebhook: AfterDeleteHook = async ({ collection, doc }) =
|
||||||
collection: collectionSlug,
|
collection: collectionSlug,
|
||||||
id: doc.id,
|
id: doc.id,
|
||||||
addedDependantIds: [],
|
addedDependantIds: [],
|
||||||
urls: getURLs(collectionSlug, doc),
|
urls: getSDKUrlsForDocument(collectionSlug, doc),
|
||||||
});
|
});
|
||||||
|
|
||||||
return doc;
|
return doc;
|
||||||
|
|
|
@ -28,7 +28,7 @@ import { Wordings } from "./collections/Wordings/Wordings";
|
||||||
import { Icon } from "./components/Icon";
|
import { Icon } from "./components/Icon";
|
||||||
import { Logo } from "./components/Logo";
|
import { Logo } from "./components/Logo";
|
||||||
import { Collections } from "./constants";
|
import { Collections } from "./constants";
|
||||||
import { getAllPathsEndpoint } from "./endpoints/getAllPathsEndpoint";
|
import { getAllSDKUrlsEndpoint } from "./endpoints/getAllSDKUrlsEndpoint";
|
||||||
import { createEditor } from "./utils/editor";
|
import { createEditor } from "./utils/editor";
|
||||||
|
|
||||||
const configuredSftpAdapter = sftpAdapter({
|
const configuredSftpAdapter = sftpAdapter({
|
||||||
|
@ -87,7 +87,7 @@ export default buildConfig({
|
||||||
typescript: {
|
typescript: {
|
||||||
outputFile: path.resolve(__dirname, "types/collections.ts"),
|
outputFile: path.resolve(__dirname, "types/collections.ts"),
|
||||||
},
|
},
|
||||||
endpoints: [getAllPathsEndpoint],
|
endpoints: [getAllSDKUrlsEndpoint],
|
||||||
graphQL: {
|
graphQL: {
|
||||||
disable: true,
|
disable: true,
|
||||||
},
|
},
|
||||||
|
|
18
src/sdk.ts
18
src/sdk.ts
|
@ -531,16 +531,8 @@ export type PayloadImage = PayloadMedia & {
|
||||||
height: number;
|
height: number;
|
||||||
};
|
};
|
||||||
|
|
||||||
export type EndpointAllPaths = {
|
export type EndpointAllSDKUrls = {
|
||||||
collectibles: string[];
|
urls: string[];
|
||||||
pages: string[];
|
|
||||||
folders: string[];
|
|
||||||
videos: string[];
|
|
||||||
audios: string[];
|
|
||||||
images: string[];
|
|
||||||
files: string[];
|
|
||||||
recorders: string[];
|
|
||||||
chronologyEvents: string[];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
// SDK
|
// SDK
|
||||||
|
@ -583,7 +575,7 @@ export const getSDKEndpoint = {
|
||||||
getVideoByIDEndpoint: (id: string) => `/${Collections.Videos}/id/${id}`,
|
getVideoByIDEndpoint: (id: string) => `/${Collections.Videos}/id/${id}`,
|
||||||
getFileByIDEndpoint: (id: string) => `/${Collections.Files}/id/${id}`,
|
getFileByIDEndpoint: (id: string) => `/${Collections.Files}/id/${id}`,
|
||||||
getRecorderByIDEndpoint: (id: string) => `/${Collections.Recorders}/id/${id}`,
|
getRecorderByIDEndpoint: (id: string) => `/${Collections.Recorders}/id/${id}`,
|
||||||
getAllPathsEndpoint: () => `/all-paths`,
|
getAllSDKUrlsEndpoint: () => `/all-sdk-urls`,
|
||||||
getLoginEndpoint: () => `/${Collections.Recorders}/login`,
|
getLoginEndpoint: () => `/${Collections.Recorders}/login`,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -680,8 +672,8 @@ export const getPayloadSDK = ({
|
||||||
await request(getSDKEndpoint.getFileByIDEndpoint(id)),
|
await request(getSDKEndpoint.getFileByIDEndpoint(id)),
|
||||||
getRecorderByID: async (id: string): Promise<EndpointRecorder> =>
|
getRecorderByID: async (id: string): Promise<EndpointRecorder> =>
|
||||||
await request(getSDKEndpoint.getRecorderByIDEndpoint(id)),
|
await request(getSDKEndpoint.getRecorderByIDEndpoint(id)),
|
||||||
getAllPaths: async (): Promise<EndpointAllPaths> =>
|
getAllSdkUrls: async (): Promise<EndpointAllSDKUrls> =>
|
||||||
await request(getSDKEndpoint.getAllPathsEndpoint()),
|
await request(getSDKEndpoint.getAllSDKUrlsEndpoint()),
|
||||||
request: async (pathname: string): Promise<any> => await request(pathname),
|
request: async (pathname: string): Promise<any> => await request(pathname),
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
Loading…
Reference in New Issue