Compare commits

...

2 Commits

Author SHA1 Message Date
victorAnumudu 183a6ce903 fixed custom update endpoint 2025-09-30 17:49:42 +01:00
ameye e65371e41b Merge branch 'template-current-selection' of MERMS/MermsFirstOffice into master 2025-09-30 08:50:08 +00:00
4 changed files with 46 additions and 35 deletions
+1 -1
View File
@@ -14,7 +14,7 @@ const initialValues = {
// To get the validation schema
const validationSchema = Yup.object().shape({
custom_id: Yup.string().required("custom_id is required").min(6, 'must be upto 6 characters').max(25, 'must not exceed 25 characters'),
provision_name: Yup.string().required("provision_name is required").min(6, 'must be upto 6 characters').max(25, 'must not exceed 25 characters'),
provision_name: Yup.string().required("provision_name is required").min(6, 'must be upto 6 characters').max(200, 'must not exceed 200 characters'),
});
export default function AddTemplate() {
@@ -81,9 +81,6 @@ export default function ProductTemplates() {
<th scope="col" className="px-2 py-2">
Product ID
</th>
<th scope="col" className="px-2">
Name
</th>
<th scope="col" className="px-2">
Provision Name
</th>
@@ -102,11 +99,6 @@ export default function ProductTemplates() {
</div>
</div>
</td>
<td className="px-2">
<div className="text-left">
<div className="text-base font-semibold">{item?.name}</div>
</div>
</td>
<td className="px-2">
<div className="text-left">
<div className="text-base font-semibold">{item?.provision_name}</div>
@@ -4,7 +4,7 @@ import { FaCaretDown } from "react-icons/fa";
import BreadcrumbCom from '../breadcrumb/BreadcrumbCom'
import {useEffect, useState} from 'react';
import RouteLinks from '../../RouteLinks';
import { getSubscriptionsView, updateTemplate } from '../../services/siteServices'
import { getSubscriptionsView, updateTemplate, updateCustomTemplate } from '../../services/siteServices'
import queryKeys from '../../services/queryKeys'
import getDateTimeFromDateString from '../../helpers/getDateTimeFromDateString';
@@ -66,35 +66,50 @@ export default function SubscriptionViewCom() {
const templateUpdate = useMutation({
mutationFn: (fields) => {
setReqStatus(prev => ({...prev, loading: true}))
return updateTemplate(fields)
},
onError: (error) => {
setReqStatus(prev => ({...prev, loading: false, error: true}))
},
onSuccess: (res) => {
setReqStatus(prev => ({...prev, loading: false, error: false, success: true}))
},
// onError: (error) => {
// },
// onSuccess: (res) => {
// },
onSettled: () => {
setTimeout(()=>{
setReqStatus({loading: false, type: '', error: false, success: false})
templateUpdate.reset()
}, 3000)
}
})
const handleUpdateTemplate = ({target:{name}}) => {
setReqStatus({loading: false, type: name, error: false, success: false})
const reqData = {Subscrtiption_uid: state?.subscriptionUID}
if(name == 'template'){
reqData.template_uid = values.template_uid
}else if (name == 'custom_template'){
reqData.custom_id = values.custom_id
}else{
return
const customTemplateUpdate = useMutation({
mutationFn: (fields) => {
return updateCustomTemplate(fields)
},
// onError: (error) => {
// },
// onSuccess: (res) => {
// },
onSettled: () => {
setTimeout(()=>{
customTemplateUpdate.reset()
}, 3000)
}
})
const handleUpdateTemplate = () => {
const reqData = {
Subscrtiption_uid: state?.subscriptionUID,
template_uid: values.template_uid
}
templateUpdate.mutate(reqData)
}
const handleUpdateCustomTemplate = () => {
const reqData = {
Subscrtiption_uid: state?.subscriptionUID,
custom_id: values.custom_id
}
customTemplateUpdate.mutate(reqData)
}
return (
<div className='w-full flex flex-col gap-8'>
@@ -154,11 +169,9 @@ export default function SubscriptionViewCom() {
</select>
<FaCaretDown className='text-base absolute top-1/2 -translate-y-1/2 right-2' />
</div>
<button name='template' onClick={handleUpdateTemplate} disabled={(reqStatus.loading || !values.template_uid)} className={`rounded-md p-2 bg-primary text-white text-center ${(reqStatus.loading || !values.template_uid) && 'opacity-50'}`}>Update</button>
<button name='template' onClick={handleUpdateTemplate} disabled={(templateUpdate.isPending || !values.template_uid)} className={`rounded-md p-2 bg-primary text-white text-center ${(templateUpdate.isPending || !values.template_uid) && 'opacity-50'}`}>Update</button>
</div>
{(reqStatus.type == 'template' && (reqStatus.error || reqStatus.success)) &&
<p className={`p-2 mt-4 ${reqStatus.success ? 'text-emerald-500' : 'text-red-500'}`}>{reqStatus.success ? 'Template updated' : 'Unable to complete request, try again'}</p>
}
<p className={`p-2 mt-4 ${templateUpdate.isSuccess ? 'text-emerald-500' : 'text-red-500'}`}>{templateUpdate.isSuccess ? 'Template updated' : templateUpdate.isSuccess ? 'Unable to complete request, try again' : ''}</p>
</div>
</div>
@@ -176,11 +189,9 @@ export default function SubscriptionViewCom() {
</select>
<FaCaretDown className='text-base absolute top-1/2 -translate-y-1/2 right-2' />
</div>
<button name='custom_template' onClick={handleUpdateTemplate} disabled={(reqStatus.loading || !values.custom_id)} className={`rounded-md p-2 bg-primary text-white text-center ${(reqStatus.loading || !values.custom_id) && 'opacity-50'}`}>Update</button>
<button name='custom_template' onClick={handleUpdateCustomTemplate} disabled={(customTemplateUpdate.isPending || !values.custom_id)} className={`rounded-md p-2 bg-primary text-white text-center ${(customTemplateUpdate.isPending || !values.custom_id) && 'opacity-50'}`}>Update</button>
</div>
{(reqStatus.type == 'custom_template' && (reqStatus.error || reqStatus.success)) &&
<p className={`p-2 mt-4 ${reqStatus.success ? 'text-emerald-500' : 'text-red-500'}`}>{reqStatus.success ? 'Template updated' : 'Unable to complete request, try again'}</p>
}
<p className={`p-2 mt-4 ${customTemplateUpdate.isSuccess ? 'text-emerald-500' : 'text-red-500'}`}>{customTemplateUpdate.isSuccess ? 'Custom Template updated' : customTemplateUpdate.isSuccess ? 'Unable to complete request, try again' : ''}</p>
</div>
</div>
</>
+8
View File
@@ -112,6 +112,14 @@ export const updateTemplate = (reqData) => {
return postAuxEnd('/template/set-template', postData, false)
}
// FUNCTION TO UPDATE CUSTOM TEMPLATE
export const updateCustomTemplate = (reqData) => {
let postData = {
...reqData
}
return postAuxEnd('/template/set-custom', postData, false)
}
// FUNCTION TO ADD CUSTOM TEMPLATE
export const addCustomTemplate = (reqData) => {
let postData = {