From 76d65df5626f2e90a493cefe6cb2e5cf5699e7b8 Mon Sep 17 00:00:00 2001 From: fro1991 Date: Sat, 1 Feb 2025 23:51:53 +0700 Subject: [PATCH] udpate --- .env.development | 3 +- src/actions/GlobalActions.ts | 2 +- src/actions/NavbarMenuActions.ts | 2 +- src/config/api.config.ts | 2 +- .../user/log-activity/blocks/ListToolBar.tsx | 2 +- .../log-activity/hooks/LogActivityContext.tsx | 53 ++++++++++--------- .../user/manage-position/blocks/AddDialog.tsx | 5 +- .../ManageUserPage.tsx} | 6 +-- .../blocks/AddDialog.tsx | 0 .../blocks/DeleteDialog.tsx | 0 .../blocks/EditDialog.tsx | 19 ++----- .../blocks/ListToolBar.tsx | 0 .../{user => manage-user}/blocks/index.ts | 0 .../hooks/ManageUserContext.tsx} | 20 ++++--- .../settings/user/manage-user/hooks/index.ts | 2 + .../hooks/useManageUserContext.tsx} | 4 +- .../user/{user => manage-user}/index.ts | 0 src/pages/settings/user/user/hooks/index.ts | 2 - src/routing/AppRoutingSetup.tsx | 4 +- 19 files changed, 56 insertions(+), 70 deletions(-) rename src/pages/settings/user/{user/ConfigUserPage.tsx => manage-user/ManageUserPage.tsx} (79%) rename src/pages/settings/user/{user => manage-user}/blocks/AddDialog.tsx (100%) rename src/pages/settings/user/{user => manage-user}/blocks/DeleteDialog.tsx (100%) rename src/pages/settings/user/{user => manage-user}/blocks/EditDialog.tsx (92%) rename src/pages/settings/user/{user => manage-user}/blocks/ListToolBar.tsx (100%) rename src/pages/settings/user/{user => manage-user}/blocks/index.ts (100%) rename src/pages/settings/user/{user/hooks/ConfigUserContext.tsx => manage-user/hooks/ManageUserContext.tsx} (94%) create mode 100644 src/pages/settings/user/manage-user/hooks/index.ts rename src/pages/settings/user/{user/hooks/useUserContext.tsx => manage-user/hooks/useManageUserContext.tsx} (65%) rename src/pages/settings/user/{user => manage-user}/index.ts (100%) delete mode 100644 src/pages/settings/user/user/hooks/index.ts diff --git a/.env.development b/.env.development index a5fc900..5c3d451 100644 --- a/.env.development +++ b/.env.development @@ -2,5 +2,6 @@ VITE_APP_NAME=tpay-dashboard-tl VITE_APP_VERSION=1=9.1.1 GENERATE_SOURCEMAP=false -VITE_APP_API_URL=https://tpay.shiblysolution.id/api +# VITE_APP_API_URL=https://tpay.shiblysolution.id/api +VITE_APP_API_URL=http://127.0.0.1:4003/api VITE_ENV=development diff --git a/src/actions/GlobalActions.ts b/src/actions/GlobalActions.ts index 2c84ab2..5292e5c 100644 --- a/src/actions/GlobalActions.ts +++ b/src/actions/GlobalActions.ts @@ -30,7 +30,7 @@ const getCurrentTimeJakarta = () => { export async function doSaveLogActivity(payload: SaveLogsParams): Promise { try { - const token = JSON.parse(localStorage.getItem('brillian-bri-tl-auth-v1=9.1.1') || '{}'); + const token = JSON.parse(localStorage.getItem(`${import.meta.env.VITE_APP_NAME}-auth-v${import.meta.env.VITE_APP_VERSION}`) || '{}'); const dtParams = { ...payload, diff --git a/src/actions/NavbarMenuActions.ts b/src/actions/NavbarMenuActions.ts index c7c903c..512c2e7 100644 --- a/src/actions/NavbarMenuActions.ts +++ b/src/actions/NavbarMenuActions.ts @@ -5,7 +5,7 @@ const API_URL = apiConfig.service_dashboard; export async function doGetNavbarMenu(): Promise { try { - const storedToken = localStorage.getItem('brillian-bri-tl-auth-v1=9.1.1'); + const storedToken = localStorage.getItem(`${import.meta.env.VITE_APP_NAME}-auth-v${import.meta.env.VITE_APP_VERSION}`); const token = storedToken ? JSON.parse(storedToken) : null; if (!token) { diff --git a/src/config/api.config.ts b/src/config/api.config.ts index c882d64..07e6b58 100644 --- a/src/config/api.config.ts +++ b/src/config/api.config.ts @@ -5,7 +5,7 @@ interface apiConfigProps { const API_URL = import.meta.env.VITE_APP_API_URL; const apiConfig: apiConfigProps = { - service_dashboard: `${API_URL}/d`, + service_dashboard: `${API_URL}${import.meta.env.VITE_ENV != 'development' ? '/d' : ""}`, service_master_data: `${API_URL}/m`, }; diff --git a/src/pages/settings/user/log-activity/blocks/ListToolBar.tsx b/src/pages/settings/user/log-activity/blocks/ListToolBar.tsx index 356cccc..aca4f8f 100644 --- a/src/pages/settings/user/log-activity/blocks/ListToolBar.tsx +++ b/src/pages/settings/user/log-activity/blocks/ListToolBar.tsx @@ -47,7 +47,7 @@ const ListToolBar = () => { if (date?.from && date?.to) { filters.push({ - id: 'user_activity.created_at', + id: 'UserActivities.createdAt', value: { from: `${date.from.toISOString().split('T')[0]} 00:00:00`, to: `${date.to.toISOString().split('T')[0]} 23:59:59` diff --git a/src/pages/settings/user/log-activity/hooks/LogActivityContext.tsx b/src/pages/settings/user/log-activity/hooks/LogActivityContext.tsx index 805b72d..042d0bd 100644 --- a/src/pages/settings/user/log-activity/hooks/LogActivityContext.tsx +++ b/src/pages/settings/user/log-activity/hooks/LogActivityContext.tsx @@ -43,12 +43,12 @@ const LogActivityContextProvider = ({ children }: { children: React.ReactNode }) const columns = useMemo[]>( () => [ { - accessorFn: (row) => row.created_at, - id: 'created_at', + accessorFn: (row) => row.createdAt, + id: 'createdAt', header: ({ column }) => , enableSorting: true, enableHiding: false, - cell: ({ row }) => moment(row.original.created_at).format('YYYY-MM-DD HH:mm:ss') + cell: ({ row }) => moment(row.original.createdAt).format('YYYY-MM-DD HH:mm:ss') }, { accessorFn: (row) => row.user.username, @@ -116,11 +116,15 @@ const LogActivityContextProvider = ({ children }: { children: React.ReactNode }) all_user = auth.role_name === 'Super Admin'; } - const user = localStorage.getItem('brillian-bri-tl-auth-v1=9.1.1'); + console.log('filter :', filter); + + const user = localStorage.getItem( + `${import.meta.env.VITE_APP_NAME}-auth-v${import.meta.env.VITE_APP_VERSION}` + ); const parsedUser = user ? JSON.parse(user) : null; const desc = sorting.length > 0 ? sorting[0].desc : false; - sorting = [{ id: 'user_activity.created_at', desc }]; + sorting = [{ id: 'UserActivities.createdAt', desc }]; let dataFilter: any = {}; @@ -128,17 +132,17 @@ const LogActivityContextProvider = ({ children }: { children: React.ReactNode }) filter.forEach((f: any) => { if (f.id === 'username') { dataFilter['username'] = { like: f.value }; - } else if (f.id === 'user_activity.created_at') { - dataFilter['user_activity.created_at'] = f.value; + } else if (f.id === 'UserActivities.createdAt') { + dataFilter['UserActivities.createdAt'] = f.value; } }); } - if (!dataFilter['user_activity.created_at']) { + if (!dataFilter['UserActivities.createdAt']) { const defaultFrom = date?.from || new Date(new Date().setMonth(new Date().getMonth() - 1)); const defaultTo = date?.to || new Date(); - dataFilter['user_activity.created_at'] = { + dataFilter['UserActivities.createdAt'] = { from: `${format(defaultFrom, 'yyyy-MM-dd')} 00:00:00`, to: `${format(defaultTo, 'yyyy-MM-dd')} 23:59:59` }; @@ -151,7 +155,7 @@ const LogActivityContextProvider = ({ children }: { children: React.ReactNode }) order_field: sorting[0].id, order_direction: sorting[0].desc === false ? 'ASC' : 'DESC', filter: JSON.stringify(dataFilter), - all_user: all_user + all_user }); return { data: response?.data.list, totalCount: response?.data.total_count }; @@ -160,39 +164,36 @@ const LogActivityContextProvider = ({ children }: { children: React.ReactNode }) ); const doExportData = async (sorting: any, filter: any) => { - const AUTH_LOCAL_STORAGE_KEY = `${import.meta.env.VITE_APP_NAME}-auth-v${import.meta.env.VITE_APP_VERSION}`; + const user = localStorage.getItem( + `${import.meta.env.VITE_APP_NAME}-auth-v${import.meta.env.VITE_APP_VERSION}` + ); - const user = localStorage.getItem(AUTH_LOCAL_STORAGE_KEY); const parsedUser = user ? JSON.parse(user) : null; - sorting = sorting.length === 0 ? [{ id: 'user_activity.created_at', desc: false }] : sorting; + sorting = sorting.length === 0 ? [{ id: 'UserActivities.createdAt', desc: false }] : sorting; filter = filter && filter.length > 0 ? filter : []; - const auth = getAuth(); - let all_user = false; - if (auth) { - all_user = auth.role_name === 'Super Admin'; - } + let dataFilter: any = {}; if (filter && filter.length > 0) { filter.forEach((f: any) => { if (f.id === 'username') { dataFilter['username'] = { like: f.value }; - } else if (f.id === 'user_activity.created_at') { - dataFilter['user_activity.created_at'] = f.value; + } else if (f.id === 'UserActivities.createdAt') { + dataFilter['UserActivities.createdAt'] = f.value; } }); } - if (!dataFilter['user_activity.created_at']) { + if (!dataFilter['UserActivities.createdAt']) { const defaultFrom = new Date(new Date().setMonth(new Date().getMonth() - 1)); const defaultTo = new Date(); - dataFilter['user_activity.created_at'] = { + dataFilter['UserActivities.createdAt'] = { from: `${format(defaultFrom, 'yyyy-MM-dd')} 00:00:00`, to: `${format(defaultTo, 'yyyy-MM-dd')} 23:59:59` }; } - let order = 'user_activity.created_at'; + let order = 'UserActivities.createdAt'; let param = { all_user: false, // order_field: sorting[0].id, @@ -208,8 +209,8 @@ const LogActivityContextProvider = ({ children }: { children: React.ReactNode }) GetExportData(url, param, 'user_activity_export_'); const createActivity = { - module: 'Update Pengajuan Kredit', - description: `Export Pengajuan Kredit => Log Activity`, + module: 'Log Activity', + description: `Export => Log Activity`, action: 'E' }; doSaveLogActivity(createActivity); @@ -230,7 +231,7 @@ const LogActivityContextProvider = ({ children }: { children: React.ReactNode }) pagination={{ size: 10 }} toolbar={} layout={{ card: true }} - sorting={[{ id: 'UserActivity.created_at', desc: true }]} + sorting={[{ id: 'UserActivity.createdAt', desc: true }]} serverSide={true} onFetchData={({ pageIndex, pageSize, sorting, columnFilters }) => doGetListData(pageIndex, pageSize, sorting, columnFilters) diff --git a/src/pages/settings/user/manage-position/blocks/AddDialog.tsx b/src/pages/settings/user/manage-position/blocks/AddDialog.tsx index 6a953f2..1c0dd94 100644 --- a/src/pages/settings/user/manage-position/blocks/AddDialog.tsx +++ b/src/pages/settings/user/manage-position/blocks/AddDialog.tsx @@ -86,8 +86,7 @@ const AddDialog = () => { const response = await PostData(`${API_URL}/user_role/create`, { name: formField.name, roles: selectMenus, - status: 'Y', - application: 'ukln' + status: 'Y' }); if (response?.status) { @@ -97,7 +96,7 @@ const AddDialog = () => { reload(); const createActivity = { module: 'Manage Position', - description: `Create New User => ${formField.name}`, + description: `Create New Position => ${formField.name}`, action: 'C' }; diff --git a/src/pages/settings/user/user/ConfigUserPage.tsx b/src/pages/settings/user/manage-user/ManageUserPage.tsx similarity index 79% rename from src/pages/settings/user/user/ConfigUserPage.tsx rename to src/pages/settings/user/manage-user/ManageUserPage.tsx index 4b8e020..d174508 100644 --- a/src/pages/settings/user/user/ConfigUserPage.tsx +++ b/src/pages/settings/user/manage-user/ManageUserPage.tsx @@ -1,12 +1,12 @@ import { Container, DataGridInner } from '@/components'; import { EditDialog } from './blocks'; -import { ConfigUserContextProvider } from './hooks'; +import { ManageUserContextProvider } from './hooks'; import { AddDialog } from './blocks/AddDialog'; import { DeleteDialog } from './blocks/DeleteDialog'; export default function ConfigUserPage() { return ( - +
@@ -15,6 +15,6 @@ export default function ConfigUserPage() { - + ); } diff --git a/src/pages/settings/user/user/blocks/AddDialog.tsx b/src/pages/settings/user/manage-user/blocks/AddDialog.tsx similarity index 100% rename from src/pages/settings/user/user/blocks/AddDialog.tsx rename to src/pages/settings/user/manage-user/blocks/AddDialog.tsx diff --git a/src/pages/settings/user/user/blocks/DeleteDialog.tsx b/src/pages/settings/user/manage-user/blocks/DeleteDialog.tsx similarity index 100% rename from src/pages/settings/user/user/blocks/DeleteDialog.tsx rename to src/pages/settings/user/manage-user/blocks/DeleteDialog.tsx diff --git a/src/pages/settings/user/user/blocks/EditDialog.tsx b/src/pages/settings/user/manage-user/blocks/EditDialog.tsx similarity index 92% rename from src/pages/settings/user/user/blocks/EditDialog.tsx rename to src/pages/settings/user/manage-user/blocks/EditDialog.tsx index 43eab31..1ae9df1 100644 --- a/src/pages/settings/user/user/blocks/EditDialog.tsx +++ b/src/pages/settings/user/manage-user/blocks/EditDialog.tsx @@ -50,22 +50,9 @@ const EditDialog = () => { e.preventDefault(); const response = await PutData(`${API_URL}/user/update/${selectedUser}`, { ...formField, - id_role: undefined, id_role_old: undefined }); if (response?.status) { - if (formField.id_role_old != '') { - const responseUserDeleteRole = await PutData( - `${API_URL}/user/delete_role/${selectedUser}/${formField.id_role_old}`, - {} - ); - } - - const responseUserAddRole = await PutData( - `${API_URL}/user/add_role/${selectedUser}/${formField.id_role}`, - {} - ); - setAlert((prev) => ({ ...prev, show: false, message: '' })); handleEditDialog(false, null); toast.success('Success Update User'); reload(); @@ -86,15 +73,15 @@ const EditDialog = () => { const doFetchUserData = useCallback(async (id: string) => { const response = await GetData(`${API_URL}/user/detail/${id}`, { id }); if (response?.status) { - let id_role = response.data.roles; + let id_role = response.data.role.id || ''; setFormField((prev) => ({ ...prev, name: response.data.name, username: response.data.username, email: response.data.email, - id_role: id_role.length != 0 ? id_role[0].id : '', - id_role_old: id_role.length != 0 ? id_role[0].id : '', + id_role: id_role, + id_role_old: id_role, status: response.data.status })); } else { diff --git a/src/pages/settings/user/user/blocks/ListToolBar.tsx b/src/pages/settings/user/manage-user/blocks/ListToolBar.tsx similarity index 100% rename from src/pages/settings/user/user/blocks/ListToolBar.tsx rename to src/pages/settings/user/manage-user/blocks/ListToolBar.tsx diff --git a/src/pages/settings/user/user/blocks/index.ts b/src/pages/settings/user/manage-user/blocks/index.ts similarity index 100% rename from src/pages/settings/user/user/blocks/index.ts rename to src/pages/settings/user/manage-user/blocks/index.ts diff --git a/src/pages/settings/user/user/hooks/ConfigUserContext.tsx b/src/pages/settings/user/manage-user/hooks/ManageUserContext.tsx similarity index 94% rename from src/pages/settings/user/user/hooks/ConfigUserContext.tsx rename to src/pages/settings/user/manage-user/hooks/ManageUserContext.tsx index 7b2782f..284ce93 100644 --- a/src/pages/settings/user/user/hooks/ConfigUserContext.tsx +++ b/src/pages/settings/user/manage-user/hooks/ManageUserContext.tsx @@ -45,11 +45,11 @@ const initialProps: ContextProps = { roles: [] }; -const ConfigUserContext = createContext(initialProps); +const ManageUserContext = createContext(initialProps); const API_URL = apiConfig.service_dashboard; -const ConfigUserContextProvider = ({ children }: { children: React.ReactNode }) => { +const ManageUserContextProvider = ({ children }: { children: React.ReactNode }) => { /* state */ const [showEditDialog, setShowEditDialog] = useState(false); const [showAddDialog, setShowAddDialog] = useState(false); @@ -104,18 +104,16 @@ const ConfigUserContextProvider = ({ children }: { children: React.ReactNode }) } }, { - accessorFn: (row) => row.role_name, + accessorFn: (row) => row.role.name, id: 'role_name', header: ({ column }) => , enableSorting: false, enableHiding: false, cell: (data: any) => { - const { roles } = data.row.original; - + const { role } = data.row.original; + console.log('role :', role); let html =

Unassigned

; - for (let _role of roles) { - html = _role.name; - } + if (role && role.name) html = role.name; return html; }, meta: { @@ -214,7 +212,7 @@ const ConfigUserContextProvider = ({ children }: { children: React.ReactNode }) }, [fetchRoles]); return ( - {children} - + ); }; -export { ConfigUserContextProvider, ConfigUserContext }; +export { ManageUserContextProvider, ManageUserContext }; export type { SelectedUser }; diff --git a/src/pages/settings/user/manage-user/hooks/index.ts b/src/pages/settings/user/manage-user/hooks/index.ts new file mode 100644 index 0000000..5ee6c6e --- /dev/null +++ b/src/pages/settings/user/manage-user/hooks/index.ts @@ -0,0 +1,2 @@ +export * from './ManageUserContext'; +export * from './useManageUserContext'; diff --git a/src/pages/settings/user/user/hooks/useUserContext.tsx b/src/pages/settings/user/manage-user/hooks/useManageUserContext.tsx similarity index 65% rename from src/pages/settings/user/user/hooks/useUserContext.tsx rename to src/pages/settings/user/manage-user/hooks/useManageUserContext.tsx index 9eebbb7..695df59 100644 --- a/src/pages/settings/user/user/hooks/useUserContext.tsx +++ b/src/pages/settings/user/manage-user/hooks/useManageUserContext.tsx @@ -1,8 +1,8 @@ import { useContext } from 'react'; -import { ConfigUserContext } from './ConfigUserContext'; +import { ManageUserContext } from './ManageUserContext'; const useUserContext = () => { - const context = useContext(ConfigUserContext); + const context = useContext(ManageUserContext); if (!context) throw new Error('useUserContext must be used within AuthProvider'); diff --git a/src/pages/settings/user/user/index.ts b/src/pages/settings/user/manage-user/index.ts similarity index 100% rename from src/pages/settings/user/user/index.ts rename to src/pages/settings/user/manage-user/index.ts diff --git a/src/pages/settings/user/user/hooks/index.ts b/src/pages/settings/user/user/hooks/index.ts deleted file mode 100644 index 6763784..0000000 --- a/src/pages/settings/user/user/hooks/index.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './ConfigUserContext'; -export * from './useUserContext'; diff --git a/src/routing/AppRoutingSetup.tsx b/src/routing/AppRoutingSetup.tsx index 3f114db..33492a5 100644 --- a/src/routing/AppRoutingSetup.tsx +++ b/src/routing/AppRoutingSetup.tsx @@ -7,7 +7,7 @@ import { Demo2Layout } from '@/layouts/demo2'; import { ErrorsRouting } from '@/errors'; import DashboardHomePage from '@/pages/dashboards/home/DashboardHomePage'; -import ConfigUserPage from '@/pages/settings/user/user/ConfigUserPage'; +import ManageUserPage from '@/pages/settings/user/manage-user/ManageUserPage'; import LogActivityPage from '@/pages/settings/user/log-activity/LogActivityPage'; import ManagePositionPage from '@/pages/settings/user/manage-position/ManagePositionPage'; @@ -20,7 +20,7 @@ const AppRoutingSetup = (): ReactElement => { } /> } /> - } /> + } /> } />