fix: template defects
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
import React, { useContext, useState } from "react";
|
||||
import { AuthContext } from "../../AuthProvider";
|
||||
import { useNavigate, useParams } from "react-router-dom";
|
||||
import { useMarkdownTemplate, useSaveMarkdownTemplate } from "../../utils/queries/template-queries";
|
||||
import { useMarkdownTemplate, useSaveMarkdownTemplate } from "../../utils/queries/markdown-template-queries";
|
||||
import LayoutEditor from "./LayoutEditor";
|
||||
import ParametersManager from "./ParametersManager";
|
||||
import "bulma/css/bulma.min.css";
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import React, {useState} from "react";
|
||||
import {useMarkdownTemplates} from "../../utils/queries/template-queries";
|
||||
import {useMarkdownTemplates} from "../../utils/queries/markdown-template-queries";
|
||||
|
||||
const TemplateSelector = ({template, onChange}) => {
|
||||
const [_template, setTemplate] = useState(template || {
|
||||
|
||||
@@ -6,8 +6,8 @@ import MarkdownView from "./MarkdownView";
|
||||
import PermissionGuard from "../PermissionGuard";
|
||||
import {useMarkdown} from "../../utils/queries/markdown-queries";
|
||||
import {usePath} from "../../utils/queries/path-queries";
|
||||
import {useMarkdownSetting} from "../../utils/queries/setting-queries";
|
||||
import {useMarkdownTemplate} from "../../utils/queries/template-queries";
|
||||
import {useMarkdownSetting} from "../../utils/queries/markdown-setting-queries";
|
||||
import {useMarkdownTemplate} from "../../utils/queries/markdown-template-queries";
|
||||
|
||||
const MarkdownContent = () => {
|
||||
const { id } = useParams();
|
||||
|
||||
@@ -6,9 +6,10 @@ import "./MarkdownEditor.css";
|
||||
import PathManager from "../PathManager";
|
||||
import MarkdownView from "./MarkdownView";
|
||||
import { useMarkdown, useSaveMarkdown } from "../../utils/queries/markdown-queries";
|
||||
import {useMarkdownSetting} from "../../utils/queries/setting-queries";
|
||||
import {useMarkdownTemplate} from "../../utils/queries/template-queries";
|
||||
import {useMarkdownSetting} from "../../utils/queries/markdown-setting-queries";
|
||||
import {useMarkdownTemplate} from "../../utils/queries/markdown-template-queries";
|
||||
import TemplatedEditor from "./TemplatedEditor";
|
||||
import {useMarkdownTemplateSetting} from "../../utils/queries/markdown-template-setting-queries";
|
||||
|
||||
const MarkdownEditor = () => {
|
||||
const { roles } = useContext(AuthContext);
|
||||
@@ -20,10 +21,11 @@ const MarkdownEditor = () => {
|
||||
const [pathId, setPathId] = useState(1);
|
||||
const {data: markdown, isLoading, error} = useMarkdown(id);
|
||||
const saveMarkdown = useSaveMarkdown();
|
||||
const {data: setting, isFetching: isSettingFetching} = useMarkdownSetting(markdown?.id);
|
||||
const {data: template, isFetching: isTemplateFetching} = useMarkdownTemplate(setting?.id);
|
||||
const {data: setting, isFetching: isSettingFetching} = useMarkdownSetting(markdown?.setting_id);
|
||||
const {data: templateSetting, isFetching: isTemplateSettingFetching} = useMarkdownTemplateSetting(setting?.template_setting_id);
|
||||
const {data: template, isFetching: isTemplateFetching} = useMarkdownTemplate(templateSetting?.template_id);
|
||||
|
||||
const notReady = isLoading || isTemplateFetching || isSettingFetching;
|
||||
const notReady = isLoading || isTemplateFetching || isSettingFetching || isTemplateSettingFetching;
|
||||
useEffect(() => {
|
||||
if(markdown){
|
||||
setTitle(markdown.title);
|
||||
@@ -53,7 +55,7 @@ const MarkdownEditor = () => {
|
||||
|
||||
if(notReady)
|
||||
return <p>Loading...</p>;
|
||||
console.log(markdown?.id);
|
||||
|
||||
|
||||
if(error)
|
||||
return <p>{error.message || "Failed to load markdown"}</p>;
|
||||
@@ -134,4 +136,5 @@ const MarkdownEditor = () => {
|
||||
);
|
||||
};
|
||||
|
||||
export default MarkdownEditor;
|
||||
export default MarkdownEditor;
|
||||
|
||||
|
||||
@@ -33,7 +33,8 @@ const Translate = ({variable, value}) => {
|
||||
|
||||
|
||||
const ParseTemplate = ({template, variables}) => {
|
||||
let res = template.layout;
|
||||
if(!template || !Array.isArray(template.parameters)) return '';
|
||||
let res = template.layout ?? '';
|
||||
for (const parameter of template.parameters) {
|
||||
res = res.replaceAll(`<${parameter.name}/>`, Translate({
|
||||
variable: parameter,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import React, {useState} from "react";
|
||||
import {useMarkdownTemplate} from "../../utils/queries/template-queries";
|
||||
import {useMarkdownTemplate} from "../../utils/queries/markdown-template-queries";
|
||||
|
||||
const TemplatedEditorComponent = ({ variable, value, namespace, onContentChanged }) => {
|
||||
if(variable.type.base_type === "string") {
|
||||
@@ -9,7 +9,7 @@ const TemplatedEditorComponent = ({ variable, value, namespace, onContentChanged
|
||||
<input
|
||||
type="text"
|
||||
className="input"
|
||||
value={value}
|
||||
value={value ?? ""}
|
||||
onChange={(e) => onContentChanged(variable.name, e.target.value)}
|
||||
/>
|
||||
<hr/>
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import {useCreateMarkdownSetting, useMarkdownSetting} from "../../utils/queries/setting-queries";
|
||||
import {useCreateMarkdownSetting, useMarkdownSetting} from "../../utils/queries/markdown-setting-queries";
|
||||
import {useSaveMarkdown} from "../../utils/queries/markdown-queries";
|
||||
import {useState} from "react";
|
||||
import React, {useState} from "react";
|
||||
import MarkdownTemplateSettingPanel from "../Settings/MarkdownSettings/MarkdownTemplateSettingPanel";
|
||||
|
||||
const MarkdownSettingModal = ({isOpen, markdown, onClose}) => {
|
||||
@@ -40,17 +40,7 @@ const MarkdownSettingModal = ({isOpen, markdown, onClose}) => {
|
||||
/>
|
||||
</header>
|
||||
{
|
||||
markdownSetting ? (
|
||||
<section className="modal-card-body">
|
||||
<button
|
||||
className="button is-primary"
|
||||
type="button"
|
||||
onClick={handleCreateMarkdownSetting}
|
||||
>
|
||||
Create Markdown Setting
|
||||
</button>
|
||||
</section>
|
||||
) : (
|
||||
markdownSetting ? (
|
||||
<section className="modal-card-body">
|
||||
<div className="tabs">
|
||||
<ul>
|
||||
@@ -61,11 +51,21 @@ const MarkdownSettingModal = ({isOpen, markdown, onClose}) => {
|
||||
</div>
|
||||
{activeTab === "template" && (
|
||||
<MarkdownTemplateSettingPanel
|
||||
markdown={markdownSetting}
|
||||
markdownSetting={markdownSetting}
|
||||
onClose={onClose}
|
||||
/>
|
||||
)}
|
||||
</section>
|
||||
) : (
|
||||
<section className="modal-card-body">
|
||||
<button
|
||||
className="button is-primary"
|
||||
type="button"
|
||||
onClick={handleCreateMarkdownSetting}
|
||||
>
|
||||
Create Markdown Setting
|
||||
</button>
|
||||
</section>
|
||||
)
|
||||
}
|
||||
</div>
|
||||
@@ -73,4 +73,4 @@ const MarkdownSettingModal = ({isOpen, markdown, onClose}) => {
|
||||
);
|
||||
|
||||
};
|
||||
|
||||
export default MarkdownSettingModal;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import {useUpdatePath} from "../../utils/queries/path-queries";
|
||||
import {useCreatePathSetting, usePathSetting} from "../../utils/queries/setting-queries";
|
||||
import {useCreatePathSetting, usePathSetting} from "../../utils/queries/path-setting-queries";
|
||||
import WebhookSettingPanel from "../Settings/PathSettings/WebhookSettingPanel";
|
||||
import React, {useState} from "react";
|
||||
const PathSettingModal = ({ isOpen, path, onClose }) => {
|
||||
|
||||
@@ -68,8 +68,6 @@ const MainNavigation = () => {
|
||||
const a = document.createElement("a");
|
||||
const contentDisposition = response.headers.get("Content-Disposition");
|
||||
let filename = "backup.zip";
|
||||
console.log(response.headers);
|
||||
console.log(contentDisposition);
|
||||
if (contentDisposition) {
|
||||
const match = contentDisposition.match(/filename="?([^"]+)"?/);
|
||||
if (match && match[1]) {
|
||||
|
||||
@@ -1,8 +1,9 @@
|
||||
import {Link} from "react-router-dom";
|
||||
import PermissionGuard from "../PermissionGuard";
|
||||
import React from "react";
|
||||
|
||||
import React, {useState} from "react";
|
||||
import MarkdownSettingModal from "../Modals/MarkdownSettingModal";
|
||||
const MarkdownNode = ({markdown, handleMoveMarkdown}) => {
|
||||
const [isMarkdownSettingModalOpen, setIsMarkdownSettingModalOpen] = useState(false);
|
||||
return (
|
||||
<li key={markdown.id}>
|
||||
<div className="is-clickable field has-addons">
|
||||
@@ -12,7 +13,21 @@ const MarkdownNode = ({markdown, handleMoveMarkdown}) => {
|
||||
</Link>
|
||||
</span>
|
||||
<PermissionGuard rolesRequired={['admin']}>
|
||||
<div className="control">
|
||||
<p className="control">
|
||||
<button
|
||||
className="button is-small is-success"
|
||||
onClick={() => setIsMarkdownSettingModalOpen(true)}
|
||||
type="button"
|
||||
>
|
||||
<span className="icon">
|
||||
<i className="fas fa-cog"/>
|
||||
</span>
|
||||
</button>
|
||||
</p>
|
||||
<div
|
||||
className="control is-flex is-flex-direction-column is-align-items-center"
|
||||
style={{marginLeft: "0.5rem"}}
|
||||
>
|
||||
<button
|
||||
className="button is-small mb-1 move-forward"
|
||||
style={{height: "1rem", padding: "0.25rem"}}
|
||||
@@ -28,6 +43,11 @@ const MarkdownNode = ({markdown, handleMoveMarkdown}) => {
|
||||
>
|
||||
</button>
|
||||
</div>
|
||||
<MarkdownSettingModal
|
||||
isOpen={isMarkdownSettingModalOpen}
|
||||
markdown={markdown}
|
||||
onClose={() => setIsMarkdownSettingModalOpen(false)}
|
||||
/>
|
||||
</PermissionGuard>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -31,7 +31,6 @@ const PathNode = ({ path, isRoot = false }) => {
|
||||
};
|
||||
|
||||
const handleSave = () => {
|
||||
console.log(`handleSave ${path.id}`);
|
||||
updatePath.mutate({id: path.id, data: {name: newName}}, {
|
||||
onSuccess: () => setIsEditing(false),
|
||||
onError: err => alert("failed to update this path"),
|
||||
@@ -135,7 +134,7 @@ const PathNode = ({ path, isRoot = false }) => {
|
||||
type="button"
|
||||
>
|
||||
<span className="icon">
|
||||
<i className="fas fa-cog"></i>
|
||||
<i className="fas fa-cog"/>
|
||||
</span>
|
||||
</button>
|
||||
</p>
|
||||
|
||||
@@ -1,17 +1,21 @@
|
||||
import {
|
||||
useCreateMarkdownTemplateSetting,
|
||||
useMarkdownTemplate,
|
||||
useMarkdownTemplates,
|
||||
useMarkdownTemplateSetting, useUpdateMarkdownTemplateSetting
|
||||
} from "../../../utils/queries/template-queries";
|
||||
import {useState} from "react";
|
||||
import {useUpdateMarkdownSetting} from "../../../utils/queries/setting-queries";
|
||||
} from "../../../utils/queries/markdown-template-queries";
|
||||
import {
|
||||
useCreateMarkdownTemplateSetting,
|
||||
useMarkdownTemplateSetting,
|
||||
useUpdateMarkdownTemplateSetting
|
||||
} from "../../../utils/queries/markdown-template-setting-queries";
|
||||
import React, {useEffect, useState} from "react";
|
||||
import {useUpdateMarkdownSetting} from "../../../utils/queries/markdown-setting-queries";
|
||||
|
||||
const MarkdownTemplateSettingPanel = ({markdownSetting, onClose}) => {
|
||||
const {data: setting, isFetching: settingIsFetching } = useMarkdownTemplateSetting(markdownSetting.template_setting_id || 0);
|
||||
const {data: setting, isFetching: settingIsFetching } = useMarkdownTemplateSetting(markdownSetting?.template_setting_id);
|
||||
const {data: templates, isFetching: templatesAreFetching}=useMarkdownTemplates();
|
||||
const {data: template, isFetching: templateIsFetching} = useMarkdownTemplate(setting?.template_id);
|
||||
const [selectedTemplate, setSelectedTemplate] = useState(template);
|
||||
const [selectedTemplateId, setSelectedTemplateId] = useState(template?.id ?? undefined);
|
||||
const [selectedTemplate, setSelectedTemplate] = useState(templates?.find(t => t.id === selectedTemplateId) || undefined);
|
||||
|
||||
const createMarkdownTemplateSetting = useCreateMarkdownTemplateSetting();
|
||||
const updateMarkdownSetting = useUpdateMarkdownSetting();
|
||||
@@ -33,7 +37,7 @@ const MarkdownTemplateSettingPanel = ({markdownSetting, onClose}) => {
|
||||
updateMarkdownTemplateSetting.mutate({
|
||||
id: setting.id,
|
||||
data: {
|
||||
template_id: selectedTemplate.id,
|
||||
template_id: selectedTemplateId,
|
||||
}
|
||||
}, {
|
||||
onSuccess: () => alert("Saved"),
|
||||
@@ -42,9 +46,17 @@ const MarkdownTemplateSettingPanel = ({markdownSetting, onClose}) => {
|
||||
onClose();
|
||||
};
|
||||
|
||||
useEffect(() => {
|
||||
if(template?.id && selectedTemplateId === undefined) {
|
||||
setSelectedTemplateId(template?.id ?? undefined);
|
||||
setSelectedTemplate(templates?.find(t => t.id === selectedTemplateId) || undefined);
|
||||
}
|
||||
},[template, selectedTemplateId]);
|
||||
if (settingIsFetching || templatesAreFetching || templatesAreFetching || templateIsFetching) {
|
||||
return (<p>Loading...</p>);
|
||||
}
|
||||
console.log("template", template);
|
||||
console.log("selectedTemplateId", selectedTemplateId);
|
||||
return setting ? (
|
||||
<div className="box" style={{marginTop: "1rem"}}>
|
||||
<h4 className="title is-5">Template Setting</h4>
|
||||
@@ -52,12 +64,14 @@ const MarkdownTemplateSettingPanel = ({markdownSetting, onClose}) => {
|
||||
<label className="label">Use Template</label>
|
||||
<div className="select is-fullwidth">
|
||||
<select
|
||||
value={selectedTemplate.title}
|
||||
onChange={(e) => setSelectedTemplate(e.target.value)}
|
||||
value={selectedTemplateId}
|
||||
onChange={(e) => {
|
||||
setSelectedTemplateId(e.target.value);
|
||||
}}
|
||||
>
|
||||
<option value="">(default)</option>
|
||||
{templates.map((_template, index) => (
|
||||
<option key={index} value={_template}>{_template.title}</option>
|
||||
<option key={index} value={_template.id}>{_template.title}</option>
|
||||
))}
|
||||
|
||||
</select>
|
||||
@@ -77,7 +91,7 @@ const MarkdownTemplateSettingPanel = ({markdownSetting, onClose}) => {
|
||||
type="button"
|
||||
onClick={handleCreateTemplateSetting}
|
||||
>
|
||||
Create Template Setting
|
||||
Create Template Setting
|
||||
</button>
|
||||
);
|
||||
};
|
||||
|
||||
@@ -11,7 +11,7 @@ import {
|
||||
useUpdateWebhook,
|
||||
useDeleteWebhook,
|
||||
} from "../../../utils/queries/webhook-queries";
|
||||
import {useUpdatePathSetting} from "../../../utils/queries/setting-queries";
|
||||
import {useUpdatePathSetting} from "../../../utils/queries/path-setting-queries";
|
||||
|
||||
const WebhookSettingPanel = ({pathSetting, onClose}) => {
|
||||
|
||||
|
||||
@@ -61,7 +61,7 @@ export const useSaveMarkdown = () => {
|
||||
const url = id
|
||||
? `${config.BACKEND_HOST}/api/markdown/${id}`
|
||||
: `${config.BACKEND_HOST}/api/markdown/`;
|
||||
const method = id ? "PUT" : "POST";
|
||||
const method = id ? "PATCH" : "POST";
|
||||
return fetch_(url, {
|
||||
method,
|
||||
body: JSON.stringify(data),
|
||||
@@ -70,6 +70,7 @@ export const useSaveMarkdown = () => {
|
||||
onSuccess: (res) => {
|
||||
queryClient.invalidateQueries(["markdownsByPath", res.path_id]);
|
||||
queryClient.invalidateQueries(["markdown", res.id]);
|
||||
queryClient.invalidateQueries("tree");
|
||||
},
|
||||
});
|
||||
};
|
||||
@@ -87,6 +88,7 @@ export const useMoveMarkdown = () => {
|
||||
{
|
||||
onSuccess: () => {
|
||||
queryClient.invalidateQueries("paths");
|
||||
queryClient.invalidateQueries("tree");
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
75
src/utils/queries/markdown-setting-queries.js
Normal file
75
src/utils/queries/markdown-setting-queries.js
Normal file
@@ -0,0 +1,75 @@
|
||||
import {useConfig} from "../../ConfigProvider";
|
||||
import {useMutation, useQuery, useQueryClient} from "react-query";
|
||||
import {fetch_} from "../request-utils";
|
||||
|
||||
export const useMarkdownSettings = () => {
|
||||
const config = useConfig();
|
||||
const queryClient = useQueryClient();
|
||||
return useQuery(
|
||||
"markdown_setting",
|
||||
() => fetch_(`${config.BACKEND_HOST}/api/setting/markdown/`),
|
||||
{
|
||||
onSuccess: (data) => {
|
||||
if(data){
|
||||
for(const setting of data)
|
||||
queryClient.invalidateQueries(["markdown_setting", setting.id]);
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
export const useMarkdownSetting = (setting_id) => {
|
||||
const config = useConfig();
|
||||
return useQuery(
|
||||
["markdown_setting", setting_id],
|
||||
() => fetch_(`${config.BACKEND_HOST}/api/setting/markdown/${setting_id}`, {}), {
|
||||
enabled: !!setting_id,
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
export const useCreateMarkdownSetting = () => {
|
||||
const config = useConfig();
|
||||
const queryClient = useQueryClient();
|
||||
return useMutation(
|
||||
(data) => fetch_(`${config.BACKEND_HOST}/api/setting/markdown/`, {
|
||||
method: "POST",
|
||||
body: JSON.stringify(data)
|
||||
}), {
|
||||
onSuccess: (data) => {
|
||||
queryClient.invalidateQueries(["markdown_setting", data.id]);
|
||||
}
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
export const useUpdateMarkdownSetting = () => {
|
||||
const config = useConfig();
|
||||
const queryClient = useQueryClient();
|
||||
return useMutation(
|
||||
({id, data}) => fetch_(`${config.BACKEND_HOST}/api/setting/markdown/${id}`, {
|
||||
method: "PATCH",
|
||||
body: JSON.stringify(data)
|
||||
}),{
|
||||
onSuccess: (data, variables) => {
|
||||
queryClient.invalidateQueries(["markdown_setting", variables.id]);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
export const useDeleteMarkdownSetting = () => {
|
||||
const config = useConfig();
|
||||
const queryClient = useQueryClient();
|
||||
return useMutation(
|
||||
(id) => fetch_(`${config.BACKEND_HOST}/api/setting/markdown/${id}`, {
|
||||
method: "DELETE",
|
||||
}),{
|
||||
onSuccess: (data) => {
|
||||
queryClient.invalidateQueries(["markdown_setting", data.id]);
|
||||
}
|
||||
}
|
||||
);
|
||||
};
|
||||
@@ -24,7 +24,7 @@ export const useMarkdownTemplates = () => {
|
||||
onSuccess: (data) => {
|
||||
if(data){
|
||||
for(const template of data){
|
||||
queryClient.setQueryData(["markdown_template", template.id], data);
|
||||
queryClient.setQueryData(["markdown_template", template.id], template);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -99,75 +99,3 @@ export const useSaveMarkdownTemplate = () => {
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
export const useMarkdownTemplateSettings = () => {
|
||||
const config = useConfig();
|
||||
const queryClient = useQueryClient();
|
||||
return useQuery(
|
||||
"markdown_template_settings",
|
||||
() => fetch_(`${config.BACKEND_HOST}/api/setting/markdown/template/`), {
|
||||
onSuccess: (data) => {
|
||||
if(data){
|
||||
for(const setting of data){
|
||||
queryClient.invalidateQueries(["markdown_template_setting", settings.id]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
export const useMarkdownTemplateSetting = (setting_id) => {
|
||||
const config = useConfig();
|
||||
const queryClient = useQueryClient();
|
||||
return useQuery(
|
||||
["markdown_template_setting", setting_id],
|
||||
() => fetch_(`${config.BACKEND_HOST}/api/setting/markdown/template/${settings.id}`), {
|
||||
enabled: !!setting_id,
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
export const useCreateMarkdownTemplateSetting = () => {
|
||||
const config = useConfig();
|
||||
const queryClient = useQueryClient();
|
||||
return useMutation(({id, data}) => fetch_(`${config.BACKEND_HOST}/api/setting/markdown/template/${id}`, {
|
||||
method: "POST",
|
||||
body: JSON.stringify(data),
|
||||
}), {
|
||||
onSuccess: (data) => {
|
||||
queryClient.invalidateQueries(["markdown_template_setting", data.id]);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
export const useUpdateMarkdownTemplateSetting = () => {
|
||||
const config = useConfig();
|
||||
const queryClient = useQueryClient();
|
||||
return useMutation(
|
||||
({id, data}) => fetch_(`${config.BACKEND_HOST}/api/setting/markdown/template/${id}`, {
|
||||
method: "PUT",
|
||||
body: JSON.stringify(data),
|
||||
}),{
|
||||
onSuccess: (res) => {
|
||||
queryClient.invalidateQueries(["markdown_template_setting", res.id]);
|
||||
queryClient.invalidateQueries("markdown_template_settings");
|
||||
}
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
export const useDeleteMarkdownTemplateSetting = () => {
|
||||
const config = useConfig();
|
||||
const queryClient = useQueryClient();
|
||||
return useMutation(
|
||||
({id}) => fetch_(`${config.BACKEND_HOST}/api/setting/markdown/template/${id}`, {
|
||||
method: "DELETE",
|
||||
}), {
|
||||
onSuccess: (res, variables) => {
|
||||
queryClient.invalidateQueries(["markdown_template_setting", variables.id]);
|
||||
}
|
||||
}
|
||||
);
|
||||
};
|
||||
74
src/utils/queries/markdown-template-setting-queries.js
Normal file
74
src/utils/queries/markdown-template-setting-queries.js
Normal file
@@ -0,0 +1,74 @@
|
||||
import {useConfig} from "../../ConfigProvider";
|
||||
import {useMutation, useQuery, useQueryClient} from "react-query";
|
||||
import {fetch_} from "../request-utils";
|
||||
|
||||
export const useMarkdownTemplateSettings = () => {
|
||||
const config = useConfig();
|
||||
const queryClient = useQueryClient();
|
||||
return useQuery(
|
||||
"markdown_template_settings",
|
||||
() => fetch_(`${config.BACKEND_HOST}/api/setting/markdown/template/`), {
|
||||
onSuccess: (data) => {
|
||||
if(data){
|
||||
for(const setting of data){
|
||||
queryClient.invalidateQueries(["markdown_template_setting", settings.id]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
export const useMarkdownTemplateSetting = (setting_id) => {
|
||||
const config = useConfig();
|
||||
return useQuery(
|
||||
["markdown_template_setting", setting_id],
|
||||
() => fetch_(`${config.BACKEND_HOST}/api/setting/markdown/template/${setting_id}`), {
|
||||
enabled: !!setting_id,
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
export const useCreateMarkdownTemplateSetting = () => {
|
||||
const config = useConfig();
|
||||
const queryClient = useQueryClient();
|
||||
return useMutation((data) => fetch_(`${config.BACKEND_HOST}/api/setting/markdown/template/`, {
|
||||
method: "POST",
|
||||
body: JSON.stringify(data),
|
||||
}), {
|
||||
onSuccess: (data) => {
|
||||
queryClient.invalidateQueries(["markdown_template_setting", data.id]);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
export const useUpdateMarkdownTemplateSetting = () => {
|
||||
const config = useConfig();
|
||||
const queryClient = useQueryClient();
|
||||
return useMutation(
|
||||
({id, data}) => fetch_(`${config.BACKEND_HOST}/api/setting/markdown/template/${id}`, {
|
||||
method: "PATCH",
|
||||
body: JSON.stringify(data),
|
||||
}),{
|
||||
onSuccess: (res) => {
|
||||
queryClient.invalidateQueries(["markdown_template_setting", res.id]);
|
||||
queryClient.invalidateQueries("markdown_template_settings");
|
||||
}
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
export const useDeleteMarkdownTemplateSetting = () => {
|
||||
const config = useConfig();
|
||||
const queryClient = useQueryClient();
|
||||
return useMutation(
|
||||
({id}) => fetch_(`${config.BACKEND_HOST}/api/setting/markdown/template/${id}`, {
|
||||
method: "DELETE",
|
||||
}), {
|
||||
onSuccess: (res, variables) => {
|
||||
queryClient.invalidateQueries(["markdown_template_setting", variables.id]);
|
||||
}
|
||||
}
|
||||
);
|
||||
};
|
||||
80
src/utils/queries/path-setting-queries.js
Normal file
80
src/utils/queries/path-setting-queries.js
Normal file
@@ -0,0 +1,80 @@
|
||||
import {useConfig} from "../../ConfigProvider";
|
||||
import {useMutation, useQuery, useQueryClient} from "react-query";
|
||||
import {fetch_} from "../request-utils";
|
||||
|
||||
export const usePathSettings = () => {
|
||||
const config = useConfig();
|
||||
const queryClient = useQueryClient();
|
||||
return useQuery(
|
||||
"path_settings",
|
||||
() => fetch_(`${config.BACKEND_HOST}/api/setting/path/`),
|
||||
{
|
||||
onSuccess: (data) => {
|
||||
if(data){
|
||||
for(const setting of data)
|
||||
queryClient.setQueryData(["path_setting", setting.id], setting);
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
export const usePathSetting = (setting_id) => {
|
||||
const config = useConfig();
|
||||
return useQuery(
|
||||
["path_setting", setting_id],
|
||||
() => fetch_(`${config.BACKEND_HOST}/api/setting/path/${setting_id}`),
|
||||
{
|
||||
enabled: !!setting_id,
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
export const useCreatePathSetting = () => {
|
||||
const config = useConfig();
|
||||
const queryClient = useQueryClient();
|
||||
return useMutation(
|
||||
(data) => fetch_(`${config.BACKEND_HOST}/api/setting/path/`, {
|
||||
method: "POST",
|
||||
body: JSON.stringify(data)
|
||||
}), {
|
||||
onSuccess: (data) => {
|
||||
queryClient.invalidateQueries(["path_setting", data.id]);
|
||||
queryClient.invalidateQueries("path_settings");
|
||||
}
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
export const useUpdatePathSetting = () => {
|
||||
const config = useConfig();
|
||||
const queryClient = useQueryClient();
|
||||
return useMutation(
|
||||
({id, data}) => fetch_(`${config.BACKEND_HOST}/api/setting/path/${id}`, {
|
||||
method: "PATCH",
|
||||
body: JSON.stringify(data)
|
||||
}), {
|
||||
onSuccess: (data, variables) => {
|
||||
queryClient.invalidateQueries(["path_setting", variables.id]);
|
||||
queryClient.invalidateQueries("path_settings");
|
||||
}
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
export const useDeletePathSetting = () => {
|
||||
const config = useConfig();
|
||||
const queryClient = useQueryClient();
|
||||
return useMutation(
|
||||
(id) => fetch_(`${config.BACKEND_HOST}/api/setting/path/${id}`, {
|
||||
method: "DELETE",
|
||||
}),{
|
||||
onSuccess: (data, variables) => {
|
||||
queryClient.invalidateQueries(["path_setting", variables.id]);
|
||||
queryClient.invalidateQueries("path_settings");
|
||||
}
|
||||
}
|
||||
);
|
||||
};
|
||||
@@ -1,151 +0,0 @@
|
||||
import {fetch_} from "../request-utils";
|
||||
import {useConfig} from "../../ConfigProvider";
|
||||
import {useMutation, useQuery, useQueryClient} from "react-query";
|
||||
|
||||
export const usePathSettings = () => {
|
||||
const config = useConfig();
|
||||
const queryClient = useQueryClient();
|
||||
return useQuery(
|
||||
"path_settings",
|
||||
() => fetch_(`${config.BACKEND_HOST}/api/setting/path/`),
|
||||
{
|
||||
onSuccess: (data) => {
|
||||
if(data){
|
||||
for(const setting of data)
|
||||
queryClient.setQueryData(["path_setting", setting.id], setting);
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
export const usePathSetting = (setting_id) => {
|
||||
const config = useConfig();
|
||||
return useQuery(
|
||||
["path_setting", setting_id],
|
||||
() => fetch_(`${config.BACKEND_HOST}/api/setting/path/${setting_id}`),
|
||||
{
|
||||
enabled: !!setting_id,
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
export const useCreatePathSetting = () => {
|
||||
const config = useConfig();
|
||||
const queryClient = useQueryClient();
|
||||
return useMutation(
|
||||
(data) => fetch_(`${config.BACKEND_HOST}/api/setting/path/`, {
|
||||
method: "POST",
|
||||
body: JSON.stringify(data)
|
||||
}), {
|
||||
onSuccess: (data) => {
|
||||
queryClient.invalidateQueries(["path_setting", data.id]);
|
||||
queryClient.invalidateQueries("path_setting");
|
||||
}
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
export const useUpdatePathSetting = () => {
|
||||
const config = useConfig();
|
||||
const queryClient = useQueryClient();
|
||||
return useMutation(
|
||||
({id, data}) => fetch_(`${config.BACKEND_HOST}/api/setting/path/${id}`, {
|
||||
method: "PATCH",
|
||||
body: JSON.stringify(data)
|
||||
}), {
|
||||
onSuccess: (data, variables) => {
|
||||
queryClient.invalidateQueries(["path_setting", variables.id]);
|
||||
queryClient.invalidateQueries("path_setting");
|
||||
}
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
export const useDeletePathSetting = () => {
|
||||
const config = useConfig();
|
||||
const queryClient = useQueryClient();
|
||||
return useMutation(
|
||||
(id) => fetch_(`${config.BACKEND_HOST}/api/setting/path/${id}`, {
|
||||
method: "DELETE",
|
||||
}),{
|
||||
onSuccess: (data, variables) => {
|
||||
queryClient.invalidateQueries(["path_setting", variables.id]);
|
||||
queryClient.invalidateQueries("path_setting");
|
||||
}
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
export const useMarkdownSettings = () => {
|
||||
const config = useConfig();
|
||||
const queryClient = useQueryClient();
|
||||
return useQuery(
|
||||
"markdown_setting",
|
||||
() => fetch_(`${config.BACKEND_HOST}/api/setting/markdown/`),
|
||||
{
|
||||
onSuccess: (data) => {
|
||||
if(data){
|
||||
for(const setting of data)
|
||||
queryClient.invalidateQueries(["markdown_setting", setting.id]);
|
||||
}
|
||||
}
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
export const useMarkdownSetting = (setting_id) => {
|
||||
const config = useConfig();
|
||||
return useQuery(
|
||||
["markdown_setting", setting_id],
|
||||
() => fetch_(`${config.BACKEND_HOST}/api/setting/markdown/${setting_id}`, {}), {
|
||||
enabled: !!setting_id,
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
export const useCreateMarkdownSetting = () => {
|
||||
const config = useConfig();
|
||||
const queryClient = useQueryClient();
|
||||
return useMutation(
|
||||
(data) => fetch_(`${config.BACKEND_HOST}/api/setting/markdown/`, {
|
||||
method: "POST",
|
||||
body: JSON.stringify(data)
|
||||
}), {
|
||||
onSuccess: (data) => {
|
||||
queryClient.invalidateQueries(["path_setting", data.id]);
|
||||
}
|
||||
}
|
||||
);
|
||||
};
|
||||
|
||||
|
||||
export const useUpdateMarkdownSetting = () => {
|
||||
const config = useConfig();
|
||||
const queryClient = useQueryClient();
|
||||
return useMutation(
|
||||
({id, data}) => fetch_(`${config.BACKEND_HOST}/api/setting/markdown/${id}`, {
|
||||
method: "PATCH",
|
||||
body: JSON.stringify(data)
|
||||
}),{
|
||||
onSuccess: (data) => {
|
||||
queryClient.invalidateQueries(["path_setting", data.id]);
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
export const useDeleteMarkdownSetting = () => {
|
||||
const config = useConfig();
|
||||
const queryClient = useQueryClient();
|
||||
return useMutation(
|
||||
(id) => fetch_(`${config.BACKEND_HOST}/api/setting/markdown/${id}`, {
|
||||
method: "DELETE",
|
||||
}),{
|
||||
onSuccess: (data) => {
|
||||
queryClient.invalidateQueries(["path_setting", data.id]);
|
||||
}
|
||||
}
|
||||
);
|
||||
};
|
||||
@@ -77,7 +77,7 @@ export const useWebhookSettings = () => {
|
||||
const queryClient = useQueryClient();
|
||||
return useQuery(
|
||||
"webhook_setting",
|
||||
() => fetch_(`${config.BACKEND_HOST}/api/setting/webhook/`),
|
||||
() => fetch_(`${config.BACKEND_HOST}/api/setting/path/webhook/`),
|
||||
{
|
||||
onSuccess: (data) => {
|
||||
if(data){
|
||||
@@ -94,7 +94,7 @@ export const useWebhookSetting = (setting_id) => {
|
||||
const config = useConfig();
|
||||
return useQuery(
|
||||
["webhook_setting", setting_id],
|
||||
() => fetch_(`${config.BACKEND_HOST}/api/setting/webhook/${setting_id}`),
|
||||
() => fetch_(`${config.BACKEND_HOST}/api/setting/path/webhook/${setting_id}`),
|
||||
{
|
||||
enabled: !!setting_id,
|
||||
});
|
||||
@@ -105,7 +105,7 @@ export const useCreateWebhookSetting = () => {
|
||||
const config = useConfig();
|
||||
const queryClient = useQueryClient();
|
||||
return useMutation(
|
||||
(data) => fetch_(`${config.BACKEND_HOST}/api/setting/webhook/`, {
|
||||
(data) => fetch_(`${config.BACKEND_HOST}/api/setting/path/webhook/`, {
|
||||
method: "POST",
|
||||
body: JSON.stringify(data)
|
||||
}),{
|
||||
@@ -121,7 +121,7 @@ export const useUpdateWebhookSetting = () => {
|
||||
const config = useConfig();
|
||||
const queryClient = useQueryClient();
|
||||
return useMutation(
|
||||
({id, data}) => fetch_(`${config.BACKEND_HOST}/api/setting/webhook/${id}`, {
|
||||
({id, data}) => fetch_(`${config.BACKEND_HOST}/api/setting/path/webhook/${id}`, {
|
||||
method: "PATCH",
|
||||
body: JSON.stringify(data)
|
||||
}),{
|
||||
@@ -138,7 +138,7 @@ export const useDeleteWebhookSetting = () => {
|
||||
const config = useConfig();
|
||||
const queryClient = useQueryClient();
|
||||
return useMutation(
|
||||
(id) => fetch_(`${config.BACKEND_HOST}/api/setting/webhook/${id}`, {
|
||||
(id) => fetch_(`${config.BACKEND_HOST}/api/setting/path/webhook/${id}`, {
|
||||
method: "DELETE",
|
||||
}),
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user