From 7e74c079af2b5145971cedff967ed08c7fb0feb5 Mon Sep 17 00:00:00 2001 From: "ry.yamafuji" Date: Sat, 30 Aug 2025 14:29:21 +0900 Subject: [PATCH] =?UTF-8?q?=E3=82=B5=E3=83=B3=E3=83=97=E3=83=AB=E3=82=BD?= =?UTF-8?q?=E3=83=BC=E3=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- example/example_firestore_provider.py | 49 +++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) create mode 100644 example/example_firestore_provider.py diff --git a/example/example_firestore_provider.py b/example/example_firestore_provider.py new file mode 100644 index 0000000..60b9124 --- /dev/null +++ b/example/example_firestore_provider.py @@ -0,0 +1,49 @@ +import sys +import os +sys.path.append(os.path.abspath(os.path.join(os.path.dirname(__file__), "..", "src"))) + +from dotenv import load_dotenv +load_dotenv(".env") + +from lib.custom_logger import get_logger +logger = get_logger(level=10) + +from providers.firestore_provider import FireStoreProvider +from models.user import UserModel +FireStoreProvider() + +def example_firestore(): + logger.info("Starting Firestore example") + doc_id = FireStoreProvider.create_document( + "users", {"name": "Alice", "age": 30, "tags": ["admin", "beta"]} + ) + logger.info(f"Created document with ID: {doc_id}") + doc = FireStoreProvider.get_document("users", doc_id) + logger.info(f"show document: {doc}") + rows = FireStoreProvider.list_documents( + "users", + filters=[("age", ">=", 18)], + order_by=["-age"], + limit=50, + ) + logger.info(f"Listed documents: {rows}") + FireStoreProvider.update_document("users", doc_id, {"age": 31}, merge=True) + FireStoreProvider.delete_document("users", doc_id) + +def example_user_model(): + logger.info("Starting UserModel example") + # user = UserModel(name="Bob", email="example@example.com", age=30) + # user.save() + # logger.info(f"User saved with ID: {user._doc_id}") + + # user2 = UserModel.get(user._doc_id) + # logger.info(f"Fetched user: {user2._doc_id}") + # user2.name = "Robert" + # user2.age = 31 + # user2.save() + # logger.info(f"Updated user: {user2._doc_id}") + users = UserModel.list() + logger.info(f"Listed users: {[user._doc_id for user in users] }") + +# example_firestore() +example_user_model() \ No newline at end of file