127 lines
2.8 KiB
TypeScript
127 lines
2.8 KiB
TypeScript
import { apiConfig } from "../api-config";
|
|
|
|
export async function apiVotingCreate(data: any) {
|
|
try {
|
|
const response = await apiConfig.post(`/mobile/voting`, {
|
|
data: data,
|
|
});
|
|
return response.data;
|
|
} catch (error) {
|
|
throw error;
|
|
}
|
|
}
|
|
|
|
export async function apiVotingGetByStatus({
|
|
id,
|
|
status,
|
|
}: {
|
|
id: string;
|
|
status: string;
|
|
}) {
|
|
try {
|
|
const response = await apiConfig.get(`/mobile/voting/${id}/${status}`);
|
|
return response.data;
|
|
} catch (error) {
|
|
throw error;
|
|
}
|
|
}
|
|
|
|
export async function apiVotingGetOne({ id }: { id: string }) {
|
|
try {
|
|
const response = await apiConfig.get(`/mobile/voting/${id}`);
|
|
return response.data;
|
|
} catch (error) {
|
|
throw error;
|
|
}
|
|
}
|
|
|
|
export async function apiVotingUpdateStatus({
|
|
id,
|
|
status,
|
|
}: {
|
|
id: string;
|
|
status: "draft" | "review" | "publish" | "reject";
|
|
}) {
|
|
try {
|
|
const response = await apiConfig.put(`/mobile/voting/${id}/${status}`);
|
|
return response.data;
|
|
} catch (error) {
|
|
throw error;
|
|
}
|
|
}
|
|
|
|
export async function apiVotingDelete({ id }: { id: string }) {
|
|
try {
|
|
const response = await apiConfig.delete(`/mobile/voting/${id}`);
|
|
return response.data;
|
|
} catch (error) {
|
|
throw error;
|
|
}
|
|
}
|
|
|
|
export async function apiVotingUpdateData({
|
|
id,
|
|
data,
|
|
category,
|
|
}: {
|
|
id: string;
|
|
data: any;
|
|
category: "edit" | "archive";
|
|
}) {
|
|
const categoryQuery = `?category=${category}`;
|
|
try {
|
|
const response = await apiConfig.put(`/mobile/voting/${id}${categoryQuery}`, {
|
|
data: data,
|
|
});
|
|
return response.data;
|
|
} catch (error) {
|
|
throw error;
|
|
}
|
|
}
|
|
|
|
export async function apiVotingGetAll({ search, category, authorId }: { search?: string, category: "beranda" | "contribution" | "all-history" | "my-history", authorId?: string }) {
|
|
try {
|
|
const categoryQuery = category ? `?category=${category}` : "";
|
|
const searchQuery = search ? `&search=${search}` : "";
|
|
const authorIdQuery = authorId ? `&authorId=${authorId}` : "";
|
|
const response = await apiConfig.get(`/mobile/voting${categoryQuery}${searchQuery}${authorIdQuery}`);
|
|
return response.data;
|
|
} catch (error) {
|
|
throw error;
|
|
}
|
|
}
|
|
|
|
export async function apiVotingVote({ id, data }: { id: string; data: any }) {
|
|
try {
|
|
const response = await apiConfig.post(`/mobile/voting/${id}`, {
|
|
data: data,
|
|
});
|
|
return response.data;
|
|
} catch (error) {
|
|
throw error;
|
|
}
|
|
}
|
|
|
|
export async function apiVotingContribution({
|
|
id,
|
|
authorId,
|
|
category,
|
|
}: {
|
|
id: string;
|
|
authorId: string;
|
|
category: "list" | "checked";
|
|
}) {
|
|
const query =
|
|
category === "list"
|
|
? "?category=list"
|
|
: `?category=checked&authorId=${authorId}`;
|
|
try {
|
|
const response = await apiConfig.get(
|
|
`/mobile/voting/${id}/contribution${query}`
|
|
);
|
|
return response.data;
|
|
} catch (error) {
|
|
throw error;
|
|
}
|
|
}
|