You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
40 lines
855 B
JavaScript
40 lines
855 B
JavaScript
2 years ago
|
import db from "@/firebase";
|
||
|
import { collection, getDocs, doc, addDoc, deleteDoc, updateDoc } from "firebase/firestore";
|
||
|
|
||
|
const COLLECTION = "setting.potongan.gaji"
|
||
|
|
||
|
async function getAll() {
|
||
|
const collect = collection(db, COLLECTION)
|
||
|
const data = await getDocs(collect)
|
||
|
const lists = data.docs.map(doc => {
|
||
|
return {
|
||
|
data: doc.data(),
|
||
|
id: doc.id
|
||
|
}
|
||
|
})
|
||
|
return lists
|
||
|
}
|
||
|
|
||
|
async function create(payload) {
|
||
|
const docRef = await addDoc(collection(db, COLLECTION), payload)
|
||
|
return docRef.id
|
||
|
}
|
||
|
|
||
|
async function update(payload, id){
|
||
|
const docRef = doc(db, COLLECTION, id)
|
||
|
const result = await updateDoc(docRef, payload);
|
||
|
return result
|
||
|
}
|
||
|
|
||
|
async function deleteById(id) {
|
||
|
const docRef = doc(db, COLLECTION, id)
|
||
|
const result = await deleteDoc(docRef);
|
||
|
return result
|
||
|
}
|
||
|
|
||
|
export {
|
||
|
getAll,
|
||
|
create,
|
||
|
update,
|
||
|
deleteById
|
||
|
}
|