2019-11-14 13:37:41 +00:00
|
|
|
import { request } from "../client";
|
|
|
|
import axios from "axios";
|
|
|
|
|
|
|
|
export function getModulesList() {
|
|
|
|
return request({
|
|
|
|
method: "get",
|
2020-10-16 12:38:04 +00:00
|
|
|
url: "/modules",
|
|
|
|
}).then((modules) => {
|
2019-11-14 13:37:41 +00:00
|
|
|
return (
|
|
|
|
modules &&
|
2020-10-16 12:38:04 +00:00
|
|
|
axios
|
|
|
|
.all(
|
|
|
|
modules.map((m) =>
|
|
|
|
request({
|
|
|
|
method: "get",
|
|
|
|
url: `${window.location.origin}/${m}`,
|
|
|
|
}).catch((err) => {
|
2020-02-19 13:43:32 +00:00
|
|
|
return Promise.resolve(err);
|
|
|
|
})
|
2020-10-16 12:38:04 +00:00
|
|
|
)
|
2019-11-14 13:37:41 +00:00
|
|
|
)
|
2020-02-12 13:18:23 +00:00
|
|
|
.then((modules) => {
|
2020-10-16 12:38:04 +00:00
|
|
|
const workingModules = modules.filter(
|
|
|
|
(module) => typeof module === "object"
|
|
|
|
);
|
|
|
|
const newModules = workingModules.map((m) => {
|
2020-02-12 13:18:23 +00:00
|
|
|
return {
|
|
|
|
...m,
|
|
|
|
isPrimary: true,
|
|
|
|
iconUrl: m.link + "images/icon.svg",
|
|
|
|
imageUrl: m.link + m.imageUrl,
|
|
|
|
};
|
2020-02-26 08:06:44 +00:00
|
|
|
});
|
2020-02-12 13:18:23 +00:00
|
|
|
|
|
|
|
return newModules;
|
|
|
|
})
|
2019-11-14 13:37:41 +00:00
|
|
|
);
|
|
|
|
});
|
|
|
|
}
|