🪛 Data transferring over sockets!

This commit is contained in:
2021-05-27 15:50:03 -07:00
parent 1ca022fd99
commit 79430fdf1e
9 changed files with 119 additions and 25 deletions

View File

@@ -1,6 +1,8 @@
import axios from "axios";
import { IFolderData } from "../../server/interfaces/folder.interface";
import { API_BASE_URI } from "../constants/endpoints";
import { io } from "socket.io-client";
import { IMS_SOCKET_DATA_FETCHED } from "../constants/action-types";
export async function walkFolder(path: string): Promise<Array<IFolderData>> {
return axios
@@ -17,3 +19,51 @@ export async function walkFolder(path: string): Promise<Array<IFolderData>> {
return data;
});
}
export const fetchComicBookMetadata = (options) => async (dispatch) => {
console.log(options);
const targetOptions = {
sourceFolder: options,
extractTarget: "cover",
targetExtractionFolder: "./userdata/covers",
extractionMode: "bulk",
};
const pagingConfig = {
pageLimit: 25,
page: 1,
};
const extractionOptions = {
...targetOptions,
paginationOptions: pagingConfig,
};
const walkedFolders = await walkFolder("./comics");
const socket = io("ws://localhost:3000/", {
reconnectionDelayMax: 10000,
});
socket.on("connect", () => {
console.log(`connect ${socket.id}`);
});
socket.on("disconnect", () => {
console.log(`disconnect`);
});
socket.emit("call", {
action: "getComicCovers",
params: {
extractionOptions,
walkedFolders,
},
opts: { garam: "pasha" },
});
socket.on("comicBookCoverMetadata", (data) => {
dispatch({
type: IMS_SOCKET_DATA_FETCHED,
data,
dataTransferred: true,
});
});
};