diff --git a/media-store/.vscode/launch.json b/media-store/.vscode/launch.json index e11f52b5..2cf9146a 100644 --- a/media-store/.vscode/launch.json +++ b/media-store/.vscode/launch.json @@ -4,13 +4,8 @@ // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 "version": "0.2.0", "configurations": [ - { - "name": "Launch import", - "command": "npm run import", - "request": "launch", - "skipFiles": ["/**"], - "type": "node-terminal" - }, + + { "command": "cds run --with-mocks --in-memory?", "name": "cds run", diff --git a/media-store/app/src/components/Router.js b/media-store/app/src/components/Router.js index 1525bff8..4aa17151 100644 --- a/media-store/app/src/components/Router.js +++ b/media-store/app/src/components/Router.js @@ -1,10 +1,5 @@ import React from "react"; -import { - BrowserRouter as Router, - Switch, - Route, - Redirect, -} from "react-router-dom"; +import { BrowserRouter as Router, Switch, Route } from "react-router-dom"; import { isEmpty } from "lodash"; import { TracksContainer } from "../pages/tracks/TracksPage"; import { CurrentPageHeader } from "./CurrentPageHeader"; @@ -40,39 +35,32 @@ const RestrictedManageStore = withRestrictions( const MyRouter = () => { return ( - - - - - -
-
- - - - - - - } - /> - - - - - - - - - - - - - - -
- - +
+
+ + + + + + + } + /> + + + + + + + + + + + + + + +
); }; diff --git a/media-store/app/src/pages/ErrorPage.js b/media-store/app/src/pages/ErrorPage.js index 0524f47f..060efd5e 100644 --- a/media-store/app/src/pages/ErrorPage.js +++ b/media-store/app/src/pages/ErrorPage.js @@ -1,22 +1,23 @@ -import React, { useEffect } from "react"; +import React from "react"; import { useHistory } from "react-router-dom"; import { isEmpty } from "lodash"; import { Result, Button } from "antd"; import { useAppState } from "../hooks/useAppState"; const ErrorPage = () => { - const { error, setError } = useAppState(); + const { user, error, setError } = useAppState(); const history = useHistory(); - useEffect(() => { - setError({}); - history.replace("/"); - }, []); - const onGoHome = () => { + setError({}); history.push("/"); }; + const goLoginPage = () => { + setError({}); + history.push("/login"); + }; + const errorResultProps = isEmpty(error) ? { status: 404, @@ -35,9 +36,16 @@ const ErrorPage = () => { - Back Home - + <> + + {!user && ( + + )} + } /> ); diff --git a/media-store/srv/manage-store-service.js b/media-store/srv/manage-store-service.js index e2b4a89b..66a826f5 100644 --- a/media-store/srv/manage-store-service.js +++ b/media-store/srv/manage-store-service.js @@ -3,10 +3,15 @@ const cds = require("@sap/cds"); module.exports = async function () { const db = await cds.connect.to("db"); // connect to database service - this.before("CREATE", "*", async (req) => { - let { ID: lastEntityID } = await db.run( + this.on("CREATE", "*", async (req) => { + const transaction = await db.tx(req); + let { ID: lastEntityID } = await transaction.run( SELECT.one(req.entity).columns("ID").orderBy({ ID: "desc" }) ); - req.data = { ...req.data, ID: ++lastEntityID }; + const columns = ["ID", ...Object.keys(req.data)]; + const values = [++lastEntityID, ...Object.values(req.data)]; + + await transaction.run(req.query.columns(columns).values(values)); + await transaction.commit(); }); };