💽 Raw import to mongo WIP
This commit is contained in:
@@ -8,12 +8,13 @@ import { io } from "socket.io-client";
|
|||||||
import {
|
import {
|
||||||
IMS_SOCKET_DATA_FETCHED,
|
IMS_SOCKET_DATA_FETCHED,
|
||||||
IMS_SOCKET_CONNECTION_CONNECTED,
|
IMS_SOCKET_CONNECTION_CONNECTED,
|
||||||
|
IMS_RAW_IMPORT_SUCCESSFUL,
|
||||||
} from "../constants/action-types";
|
} from "../constants/action-types";
|
||||||
|
|
||||||
export async function walkFolder(path: string): Promise<Array<IFolderData>> {
|
export async function walkFolder(path: string): Promise<Array<IFolderData>> {
|
||||||
return axios
|
return axios
|
||||||
.request<Array<IFolderData>>({
|
.request<Array<IFolderData>>({
|
||||||
url: API_BASE_URI + "walkFolder",
|
url: "http://localhost:3000/api/import/walkFolders",
|
||||||
method: "POST",
|
method: "POST",
|
||||||
data: {
|
data: {
|
||||||
basePathToWalk: path,
|
basePathToWalk: path,
|
||||||
@@ -23,8 +24,24 @@ export async function walkFolder(path: string): Promise<Array<IFolderData>> {
|
|||||||
.then((response) => {
|
.then((response) => {
|
||||||
const { data } = response;
|
const { data } = response;
|
||||||
return data;
|
return data;
|
||||||
});
|
})
|
||||||
|
.catch((error) => error);
|
||||||
}
|
}
|
||||||
|
export const rawImportToDB = (payload: any) => async (dispatch) => {
|
||||||
|
return axios({
|
||||||
|
method: "POST",
|
||||||
|
url: "http://localhost:3000/api/import/rawImportToDb",
|
||||||
|
data: {
|
||||||
|
payload,
|
||||||
|
},
|
||||||
|
}).then((result) => {
|
||||||
|
dispatch({
|
||||||
|
type: IMS_RAW_IMPORT_SUCCESSFUL,
|
||||||
|
rawImportCompleted: result,
|
||||||
|
});
|
||||||
|
return result;
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
export const fetchComicBookMetadata = (options) => async (dispatch) => {
|
export const fetchComicBookMetadata = (options) => async (dispatch) => {
|
||||||
const extractionOptions = {
|
const extractionOptions = {
|
||||||
@@ -64,10 +81,27 @@ export const fetchComicBookMetadata = (options) => async (dispatch) => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
socket.on("comicBookCoverMetadata", (data: IExtractedComicBookCoverFile) => {
|
socket.on("comicBookCoverMetadata", (data: IExtractedComicBookCoverFile) => {
|
||||||
|
console.log(data);
|
||||||
dispatch({
|
dispatch({
|
||||||
type: IMS_SOCKET_DATA_FETCHED,
|
type: IMS_SOCKET_DATA_FETCHED,
|
||||||
data,
|
data,
|
||||||
dataTransferred: true,
|
dataTransferred: true,
|
||||||
});
|
});
|
||||||
|
dispatch(
|
||||||
|
rawImportToDB({
|
||||||
|
importStatus: {
|
||||||
|
isImported: true,
|
||||||
|
tagged: false,
|
||||||
|
matchedResult: {
|
||||||
|
score: "0",
|
||||||
|
},
|
||||||
|
},
|
||||||
|
rawFileDetails: data,
|
||||||
|
}),
|
||||||
|
);
|
||||||
|
});
|
||||||
|
|
||||||
|
socket.on("comicBookCoverMetadataSent", (status) => {
|
||||||
|
console.log(status);
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|||||||
16344
src/client/assets/scss/App.css
Normal file
16344
src/client/assets/scss/App.css
Normal file
File diff suppressed because it is too large
Load Diff
1
src/client/assets/scss/App.css.map
Normal file
1
src/client/assets/scss/App.css.map
Normal file
File diff suppressed because one or more lines are too long
@@ -14,7 +14,6 @@ $border-color: red;
|
|||||||
background-color: $bg-color;
|
background-color: $bg-color;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.navbar-item.is-mega {
|
.navbar-item.is-mega {
|
||||||
position: static;
|
position: static;
|
||||||
|
|
||||||
|
|||||||
@@ -20,9 +20,9 @@ class Card extends React.Component<IProps, IState> {
|
|||||||
public drawCoverCard = (
|
public drawCoverCard = (
|
||||||
metadata: IExtractedComicBookCoverFile[],
|
metadata: IExtractedComicBookCoverFile[],
|
||||||
): JSX.Element[] => {
|
): JSX.Element[] => {
|
||||||
return map(metadata, (item: IExtractedComicBookCoverFile) => {
|
return map(metadata, (item: IExtractedComicBookCoverFile, idx: number) => {
|
||||||
return (
|
return (
|
||||||
<div className="card">
|
<div className="card" key={idx}>
|
||||||
<div className="card-image">
|
<div className="card-image">
|
||||||
<figure className="image">
|
<figure className="image">
|
||||||
<img
|
<img
|
||||||
|
|||||||
@@ -102,7 +102,7 @@ class Import extends React.Component<IProps, IState> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
function mapStateToProps(state: IState) {
|
function mapStateToProps(state: IState) {
|
||||||
console.log("STATE", state);
|
console.log("state", state);
|
||||||
return {
|
return {
|
||||||
// matches: state.comicInfo.searchResults,
|
// matches: state.comicInfo.searchResults,
|
||||||
garam: state.fileOps.comicBookMetadata,
|
garam: state.fileOps.comicBookMetadata,
|
||||||
|
|||||||
@@ -3,7 +3,7 @@ import { useSelector } from "react-redux";
|
|||||||
import { Link } from "react-router-dom";
|
import { Link } from "react-router-dom";
|
||||||
|
|
||||||
const Navbar: React.FunctionComponent = (props) => {
|
const Navbar: React.FunctionComponent = (props) => {
|
||||||
const socketConnected = useSelector((state) => state.fileOps);
|
const socketConnection = useSelector((state) => state.fileOps);
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<nav className="navbar ">
|
<nav className="navbar ">
|
||||||
@@ -189,7 +189,7 @@ const Navbar: React.FunctionComponent = (props) => {
|
|||||||
<div className="navbar-item">
|
<div className="navbar-item">
|
||||||
<div className="field is-grouped">
|
<div className="field is-grouped">
|
||||||
<p className="control">
|
<p className="control">
|
||||||
{socketConnected.socketConnected ? (
|
{socketConnection.socketConnected ? (
|
||||||
<span className="icon is-small has-text-success">
|
<span className="icon is-small has-text-success">
|
||||||
<i className="fas fa-plug"></i>
|
<i className="fas fa-plug"></i>
|
||||||
</span>
|
</span>
|
||||||
|
|||||||
@@ -10,3 +10,5 @@ export const IMS_SOCKET_CONNECTION_CONNECTED =
|
|||||||
export const IMS_SOCKET_CONNECTION_DISCONNECTED =
|
export const IMS_SOCKET_CONNECTION_DISCONNECTED =
|
||||||
"IMS_SOCKET_CONNECTION_DISCONNECTED";
|
"IMS_SOCKET_CONNECTION_DISCONNECTED";
|
||||||
export const IMS_SOCKET_ERROR = "IMS_SOCKET_ERROR";
|
export const IMS_SOCKET_ERROR = "IMS_SOCKET_ERROR";
|
||||||
|
|
||||||
|
export const IMS_RAW_IMPORT_SUCCESSFUL = "IMS_RAW_IMPORT_SUCCESSFUL";
|
||||||
|
|||||||
@@ -3,11 +3,13 @@ import {
|
|||||||
IMS_SOCKET_CONNECTION_DISCONNECTED,
|
IMS_SOCKET_CONNECTION_DISCONNECTED,
|
||||||
IMS_SOCKET_DATA_FETCHED,
|
IMS_SOCKET_DATA_FETCHED,
|
||||||
IMS_SOCKET_ERROR,
|
IMS_SOCKET_ERROR,
|
||||||
|
IMS_RAW_IMPORT_SUCCESSFUL,
|
||||||
} from "../constants/action-types";
|
} from "../constants/action-types";
|
||||||
const initialState = {
|
const initialState = {
|
||||||
dataTransferred: false,
|
dataTransferred: false,
|
||||||
comicBookMetadata: [],
|
comicBookMetadata: [],
|
||||||
socketConnected: false,
|
socketConnected: false,
|
||||||
|
rawImportCompleted: {},
|
||||||
};
|
};
|
||||||
|
|
||||||
function fileOpsReducer(state = initialState, action) {
|
function fileOpsReducer(state = initialState, action) {
|
||||||
@@ -15,7 +17,7 @@ function fileOpsReducer(state = initialState, action) {
|
|||||||
case IMS_SOCKET_DATA_FETCHED:
|
case IMS_SOCKET_DATA_FETCHED:
|
||||||
return {
|
return {
|
||||||
...state,
|
...state,
|
||||||
comicBookMetadata: [...state.comicBookMetadata, action.data.data],
|
comicBookMetadata: [...state.comicBookMetadata, action.data],
|
||||||
dataTransferred: true,
|
dataTransferred: true,
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -24,6 +26,11 @@ function fileOpsReducer(state = initialState, action) {
|
|||||||
...state,
|
...state,
|
||||||
socketConnected: action.socketConnected,
|
socketConnected: action.socketConnected,
|
||||||
};
|
};
|
||||||
|
case IMS_RAW_IMPORT_SUCCESSFUL:
|
||||||
|
return {
|
||||||
|
...state,
|
||||||
|
rawImportCompleted: action.rawImportCompleted,
|
||||||
|
};
|
||||||
default:
|
default:
|
||||||
return state;
|
return state;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -57,7 +57,7 @@ module.exports = {
|
|||||||
extensions: ["*", ".ts", ".tsx", ".js", ".jsx", ".json"],
|
extensions: ["*", ".ts", ".tsx", ".js", ".jsx", ".json"],
|
||||||
},
|
},
|
||||||
devServer: {
|
devServer: {
|
||||||
port: 3000,
|
port: 3050,
|
||||||
open: true,
|
open: true,
|
||||||
hot: true,
|
hot: true,
|
||||||
proxy: {
|
proxy: {
|
||||||
|
|||||||
Reference in New Issue
Block a user