upd: diskusi divisi

Deskripsi:
- list diskusi
- search diskusi
- detail diskusi
- kirim komentar
- edit diskusi
- status diskusi
- arsip diskusi
- tambah diskusi
- role akses user diskusi

No Issues
This commit is contained in:
amel
2025-05-22 17:19:35 +08:00
parent 7eaa8cf95b
commit 3f67f65ae5
14 changed files with 643 additions and 317 deletions

View File

@@ -359,7 +359,7 @@ export const apiGetDivisionReport = async ({ user, cat, date, dateEnd, division,
return response.data;
};
export const apiGetDivisionOneFeature = async ({ user, cat, id }: { user: string, cat: 'jumlah' | 'today-task' | 'new-file' | 'new-discussion', id: string }) => {
export const apiGetDivisionOneFeature = async ({ user, cat, id }: { user: string, cat: 'jumlah' | 'today-task' | 'new-file' | 'new-discussion' | 'check-member' | 'check-admin', id: string }) => {
const response = await api.get(`mobile/division/${id}/detail?user=${user}&cat=${cat}`);
return response.data;
};
@@ -393,3 +393,38 @@ export const apiUpdateStatusDivision = async ({ data, id }: { data: { user: stri
const response = await api.post(`/mobile/division/${id}/status`, data)
return response.data;
};
export const apiGetDiscussion = async ({ user, search, division, active }: { user: string, search: string, division: string, active?: string }) => {
const response = await api.get(`mobile/discussion?user=${user}&active=${active}&search=${search}&division=${division}`);
return response.data;
};
export const apiGetDiscussionOne = async ({ id, user, cat }: { id: string, user: string, cat: 'data' | 'comment' }) => {
const response = await api.get(`mobile/discussion/${id}?user=${user}&cat=${cat}`);
return response.data;
};
export const apiSendDiscussionCommentar = async ({ data, id }: { data: { user: string, comment: string }, id: string }) => {
const response = await api.post(`/mobile/discussion/${id}/comment`, data)
return response.data;
};
export const apiEditDiscussion = async ({ data, id }: { data: { user: string, desc: string }, id: string }) => {
const response = await api.post(`/mobile/discussion/${id}`, data)
return response.data;
};
export const apiArchiveDiscussion = async (data: { user: string, active: boolean }, id: string) => {
const response = await api.put(`mobile/discussion/${id}`, data)
return response.data
};
export const apiOpenCloseDiscussion = async (data: { user: string, status: number }, id: string) => {
const response = await api.delete(`mobile/discussion/${id}`, { data })
return response.data
};
export const apiCreateDiscussion = async ({ data }: { data: { user: string, desc: string, idDivision: string } }) => {
const response = await api.post(`/mobile/discussion`, data)
return response.data;
};

17
lib/discussionUpdate.ts Normal file
View File

@@ -0,0 +1,17 @@
import { createSlice } from '@reduxjs/toolkit';
const discussionUpdate = createSlice({
name: 'discussionUpdate',
initialState: {
data: false,
comment: false,
},
reducers: {
setUpdateDiscussion: (state, action) => {
return action.payload;
},
},
});
export const { setUpdateDiscussion } = discussionUpdate.actions;
export default discussionUpdate.reducer;

View File

@@ -2,6 +2,8 @@ import { configureStore } from '@reduxjs/toolkit';
import announcementUpdate from './announcementUpdate';
import bannerReducer from './bannerSlice';
import discussionGeneralDetailUpdate from './discussionGeneralDetail';
import discussionUpdate from './discussionUpdate';
import divisionUpdate from './divisionUpdate';
import entitiesReducer from './entitiesSlice';
import filterSlice from './filterSlice';
import groupUpdate from './groupSlice';
@@ -11,7 +13,6 @@ import positionUpdate from './positionSlice';
import projectUpdate from './projectUpdate';
import taskCreate from './taskCreate';
import userReducer from './userSlice';
import divisionUpdate from './divisionUpdate';
const store = configureStore({
reducer: {
@@ -28,6 +29,7 @@ const store = configureStore({
projectUpdate: projectUpdate,
taskCreate: taskCreate,
divisionUpdate: divisionUpdate,
discussionUpdate: discussionUpdate,
}
});