Commit 5df3f77e authored by tom's avatar tom

refactor PUT methods for private tags

parent 5ba54851
...@@ -3,13 +3,7 @@ import type { NextApiRequest } from 'next'; ...@@ -3,13 +3,7 @@ import type { NextApiRequest } from 'next';
import handler from 'pages/api/utils/handler'; import handler from 'pages/api/utils/handler';
const getUrl = (req: NextApiRequest) => { const getUrl = (req: NextApiRequest) => {
let url = `/account/v1/user/tags/address/${ req.query.id }`; return `/account/v1/user/tags/address/${ req.query.id }`;
if (req.method === 'PUT') {
const params = { address_hash: req.query.address_hash as string, name: req.query.name as string };
const searchParams = new URLSearchParams(params);
url += `?${ searchParams.toString() }`;
}
return url;
}; };
const addressDeleteHandler = handler(getUrl, [ 'DELETE', 'PUT' ]); const addressDeleteHandler = handler(getUrl, [ 'DELETE', 'PUT' ]);
......
...@@ -3,13 +3,7 @@ import type { NextApiRequest } from 'next'; ...@@ -3,13 +3,7 @@ import type { NextApiRequest } from 'next';
import handler from 'pages/api/utils/handler'; import handler from 'pages/api/utils/handler';
const getUrl = (req: NextApiRequest) => { const getUrl = (req: NextApiRequest) => {
let url = `/account/v1/user/tags/transaction/${ req.query.id }`; return `/account/v1/user/tags/transaction/${ req.query.id }`;
if (req.method === 'PUT') {
const params = { transaction_hash: req.query.transaction_hash as string, name: req.query.name as string };
const searchParams = new URLSearchParams(params);
url += `?${ searchParams.toString() }`;
}
return url;
}; };
const transactionDeleteHandler = handler(getUrl, [ 'DELETE', 'PUT' ]); const transactionDeleteHandler = handler(getUrl, [ 'DELETE', 'PUT' ]);
......
...@@ -37,20 +37,17 @@ const AddressForm: React.FC<Props> = ({ data, onClose }) => { ...@@ -37,20 +37,17 @@ const AddressForm: React.FC<Props> = ({ data, onClose }) => {
const queryClient = useQueryClient(); const queryClient = useQueryClient();
const { mutate } = useMutation((formData: Inputs) => { const { mutate } = useMutation((formData: Inputs) => {
let mutationFunction; const body = JSON.stringify({
const requestParams = {
name: formData?.tag, name: formData?.tag,
address_hash: formData?.address, address_hash: formData?.address,
}; });
if (data) {
// edit tag const isEdit = data?.id;
const params = new URLSearchParams(requestParams); if (isEdit) {
mutationFunction = () => fetch(`/api/account/private-tags/address/${ data.id }?${ params.toString() }`, { method: 'PUT' }); return fetch(`/api/account/private-tags/address/${ data.id }`, { method: 'PUT', body });
} else {
// add tag
mutationFunction = () => fetch('/api/account/private-tags/address', { method: 'POST', body: JSON.stringify(requestParams) });
} }
return mutationFunction();
return fetch('/api/account/private-tags/address', { method: 'POST', body });
}, { }, {
onError: () => { onError: () => {
// eslint-disable-next-line no-console // eslint-disable-next-line no-console
......
...@@ -37,20 +37,17 @@ const TransactionForm: React.FC<Props> = ({ data, onClose }) => { ...@@ -37,20 +37,17 @@ const TransactionForm: React.FC<Props> = ({ data, onClose }) => {
const queryClient = useQueryClient(); const queryClient = useQueryClient();
const { mutate } = useMutation((formData: Inputs) => { const { mutate } = useMutation((formData: Inputs) => {
let mutationFunction; const body = JSON.stringify({
const requestParams = {
name: formData?.tag, name: formData?.tag,
transaction_hash: formData?.transaction, transaction_hash: formData?.transaction,
}; });
if (data) { const isEdit = data?.id;
// edit tag
const params = new URLSearchParams(requestParams); if (isEdit) {
mutationFunction = () => fetch(`/api/account/private-tags/transaction/${ data.id }?${ params.toString() }`, { method: 'PUT' }); return fetch(`/api/account/private-tags/transaction/${ data.id }`, { method: 'PUT', body });
} else {
// add tag
mutationFunction = () => fetch('/api/account/private-tags/transaction', { method: 'POST', body: JSON.stringify(requestParams) });
} }
return mutationFunction();
return fetch('/api/account/private-tags/transaction', { method: 'POST', body });
}, { }, {
onError: () => { onError: () => {
// eslint-disable-next-line no-console // eslint-disable-next-line no-console
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment