You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
77 lines
2.4 KiB
77 lines
2.4 KiB
|
4 months ago
|
import { initializeApp } from "firebase/app";
|
||
|
|
import { getFirestore, collection, doc, deleteDoc, onSnapshot, setDoc } from "firebase/firestore";
|
||
|
|
|
||
|
|
const firebaseConfig = {
|
||
|
|
apiKey: "AIzaSyD1VzUKXt0JskwyfjfIAbdROzPNB3fTIw0",
|
||
|
|
authDomain: "uc-24070-thegreattipsy.firebaseapp.com",
|
||
|
|
projectId: "uc-24070-thegreattipsy",
|
||
|
|
storageBucket: "uc-24070-thegreattipsy.firebasestorage.app",
|
||
|
|
messagingSenderId: "772804793020",
|
||
|
|
appId: "1:772804793020:web:258003100900c20e0fb6b9",
|
||
|
|
measurementId: "G-1CRHMJY4L9"
|
||
|
|
};
|
||
|
|
|
||
|
|
// Initialize Firebase
|
||
|
|
const app = initializeApp(firebaseConfig);
|
||
|
|
|
||
|
|
const CollectionName="prints";
|
||
|
|
|
||
|
|
export function listenToPrints(callback) {
|
||
|
|
// Listen for changes in the prints collection
|
||
|
|
const db = getFirestore(app);
|
||
|
|
const printsRef = collection(db, CollectionName);
|
||
|
|
onSnapshot(printsRef, (snapshot) => {
|
||
|
|
const prints = [];
|
||
|
|
snapshot.forEach((doc) => {
|
||
|
|
prints.push({ id: doc.id, ...doc.data() });
|
||
|
|
});
|
||
|
|
callback(prints);
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
export function clearPrints() {
|
||
|
|
// Clear the prints collection
|
||
|
|
const db = getFirestore(app);
|
||
|
|
const printsRef = collection(db, CollectionName);
|
||
|
|
onSnapshot(printsRef, (snapshot) => {
|
||
|
|
snapshot.forEach((doc) => {
|
||
|
|
// Assuming you have a delete function to remove documents
|
||
|
|
deleteDoc(doc.ref);
|
||
|
|
});
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
export function deletePrint(id) {
|
||
|
|
// Delete a specific print by id
|
||
|
|
const db = getFirestore(app);
|
||
|
|
const printRef = doc(collection(db, CollectionName), id);
|
||
|
|
|
||
|
|
deleteDoc(printRef)
|
||
|
|
.then(() => {
|
||
|
|
console.log(`Print with id ${id} deleted successfully.`);
|
||
|
|
})
|
||
|
|
.catch((error) => {
|
||
|
|
console.error(`Error deleting print with id ${id}:`, error);
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
export function createTestFile(){
|
||
|
|
// Create a test print file
|
||
|
|
const db = getFirestore(app);
|
||
|
|
|
||
|
|
const testPrint = {
|
||
|
|
url: "https://s3.ap-northeast-2.amazonaws.com/ultracombos.project/24070-%E5%BE%AE%E9%86%BA%E5%A4%A7%E9%A3%AF%E5%BA%97%E9%AB%98%E9%9B%84%E7%89%88/Postcard-01.png",
|
||
|
|
createdAt: new Date().toISOString(),
|
||
|
|
id: `test-${Date.now()}`,
|
||
|
|
status: "pending"
|
||
|
|
};
|
||
|
|
|
||
|
|
// Add the test print to the collection
|
||
|
|
setDoc(doc(db, CollectionName, testPrint.id), testPrint)
|
||
|
|
.then(() => {
|
||
|
|
console.log("Test print created successfully.");
|
||
|
|
})
|
||
|
|
.catch((error) => {
|
||
|
|
console.error("Error creating test print:", error);
|
||
|
|
});
|
||
|
|
}
|