Skip to content

Commit

Permalink
Merge pull request #58 from dqualizer/Create-Domain-on-Landing-Page
Browse files Browse the repository at this point in the history
Create Domain works
  • Loading branch information
levinkerschberger authored Aug 15, 2023
2 parents 25a8b30 + 794a326 commit 50f66ae
Show file tree
Hide file tree
Showing 3 changed files with 233 additions and 3 deletions.
196 changes: 196 additions & 0 deletions src/data/werkstattdamDTO.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,196 @@
{
"version": 1,
"context": "werkstattauftrag",
"server_info": [
{
"host": "http://127.0.0.1:9000",
"environment": "TEST"
}
],
"actors": [
{
"_id": "1",
"actor_name": "Kunde"

},
{
"_id": "2",
"actor_name": "Händler"

}
],
"systems": [
{

"name": "AuftragsPortal",
"operation_id": "ddd.autohaus.tacticald.design.app.werkstattauftrag.api.WerkstattauftragController",
"type": "service",
"implements": [],
"objects": [
"id2"
],
"activities": [
{
"name": "Auftrag lesen",
"operation_id": "readAuftrag",
"initiator": "Kunde",
"workObject": "Auftrag",
"action": "ließt",
"type": "method",
"parameter": [],
"endpoint": {
"field": "/auftrag/{auftragsnummer}",
"operation": "GET",
"path_variables": [
{
"name": "auftragsnummer",
"szenarios": [
{
"path": "auftrag/auftragsnummern/nicht_angelegt.json"
}
]
},
{
"name": "customer",
"szenarios": [
{
"name": "Valide Customer",
"path": "auftrag/auftragsnummern/angelegt.json"
}
]
}
],
"url_parameter": [],
"request_parameter": [],
"payload": [],
"responses": [
{
"expected_code": 200,
"type": "id8"
}
]
}
},
{

"name": "Auftrag erstellen",
"operation_id": "createAuftrag",
"action": "erstellt",
"workObject": "Auftrag",
"initiator": "Kunde",
"type": "method",
"parameter": [
"id6"
],
"endpoint": {
"field": "/auftrag/new",
"operation": "POST",
"path_variables": [],
"url_parameter": [],
"request_parameter": [
{
"name": "headers",
"szenarios": [
{
"name": "valid headers",
"path": "auftrag/allgemein/headers.json"
}
]
},
{
"name": "authorization",
"szenarios": [
{
"name": "valid authorization",
"path": "auftrag/allgemein/authorization.json"
}
]
}
],
"payload": [
{
"name": "auftraggeber",
"szenarios": [
{
"name": "auftraggeber_2022",
"path": "auftrag/auftraggeber/2022/auftraggeber.json"
}
]
},
{
"name": "auftraggeber",
"szenarios": [
{
"name": "auftraggeber_2023",
"path": "auftrag/auftraggeber/2023/auftraggeber.json"
}
]
}
],
"responses": [
{
"expected_code": 201,
"type": "id8"
}
]
}
},
{
"name": "Status verändern",
"operation_id": "updateStatus",
"workObject": "Auftragsstatus",
"type": "method",
"action": "verändert",
"initiator": "Händler",
"parameter": [
"id7"
],
"endpoint": {
"field": "/auftrag/{auftragsnummer}",
"operation": "PUT",
"path_variables": [
{
"name": "auftragsnummer",
"szenarios": [
{
"name": "Valide Auftragsnummern",
"path": "auftrag/auftragsnummern/angelegt.json"
}
]
}
],
"url_parameter": [],
"request_parameter": [
{
"name": "headers",
"szenarios": [
{
"name": "valid headers",
"path": "auftrag/allgemein/headers.json"
}
]
}
],
"payload": [
{
"name": "auftragsstatus",
"szenarios": [
{
"name": "Mixed Status",
"path": "auftrag/auftragsstatus/auftragsstatus.json"
}
]
}
],
"responses": [
{
"expected_code": 200,
"type": "string"
}
]
}
}
]
}
]
}
34 changes: 31 additions & 3 deletions src/pages/Home.jsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,42 @@ import dqLogo from "../assets/dqualizer_logo.png";
import WerkstattScreenshot from "../assets/werkstatt.png";
import { useQuery, useMutation, useQueryClient } from "@tanstack/react-query";
import { Link, useLoaderData } from "react-router-dom";
import { getAllDams } from "../queries/dam";
import { getAllDams, createDam } from "../queries/dam";
import * as werkstattdamDTO from "../data/werkstattdamDTO.json";

export default function Home() {
const queryClient = useQueryClient();

const damsQuery = useQuery({
queryKey: ["dams"],
queryFn: getAllDams,
});

const createDamMutation = useMutation({
mutationKey: ["dams"],
mutationFn: createDam,
onSuccess: (data) => {
queryClient.invalidateQueries(["dams"]);
},
});

const createDomainWerkstatt = () => {
createDamMutation.mutate({ dam: werkstattdamDTO });
};

return (
<div className="flex items-center justify-center h-screen flex-col">
<div className="text-center">
<img src={dqLogo} alt="" srcset="" class="mx-auto mb-4 w-1/2" />
<p className="font-bold text-2xl">Welcome to dqAnalyzer 1.0!</p>
<p className="text-xl">First of all: Choose your Demo-Domain.</p>
<p className="text-xl">
First of all: Choose your Demo-Domain or create it first by using
dqEdit.
</p>
<p>
Hint: You can also use the button as long there´s no dqEdit after some
fetching retries ;)
</p>
</div>
<div className="flex gap-4 mt-5">
{damsQuery.data?.length ? (
Expand All @@ -33,8 +55,14 @@ export default function Home() {
</div>
</Link>
))
) : damsQuery.isFetching ? (
<p>Trying to fetch...</p>
) : damsQuery.isError ? (
<p>Seems like there is no connection to the backend...</p>
) : (
<h3>No Domains</h3>
<button className="btn btn-sm" onClick={createDomainWerkstatt}>
Create Domain
</button>
)}
</div>
</div>
Expand Down
6 changes: 6 additions & 0 deletions src/queries/dam.js
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
import axios from "axios";
export const getBackendUrl = () => {
if (import.meta.env.DEV && import.meta.env.VITE_BACKEND_URL === "")
throw new Error("Your in Dev-Mode. Please set Backend_URL in .env and restart.")
return import.meta.env.DEV ? import.meta.env.VITE_BACKEND_URL : window._env_.VITE_BACKEND_URL
}

Expand All @@ -13,4 +15,8 @@ export const getAllDams = () => {
export const getDamById = async (id) => {
return axios.get(`${backend}/dam/${id}`)
.then(res => res.data);
}

export const createDam = ({ dam }) => {
return axios.post(`${backend}/dam/`, dam).then(res => res.data)
}

0 comments on commit 50f66ae

Please sign in to comment.