From 6f17e07841a9ca66f8f318b8d9f0c0d7336041cf Mon Sep 17 00:00:00 2001 From: Akbar Date: Wed, 5 Feb 2025 23:30:15 +0500 Subject: [PATCH] milestones implemented --- firestoreDB/__init__.py | 1 + firestoreDB/increase_firestore.py | 7 +++++++ link/post_data.py | 5 +++++ main.py | 4 ++-- milestones/__init__.py | 3 +++ milestones/original_length.py | 5 +++++ milestones/quantity.py | 5 +++++ milestones/short_length.py | 5 +++++ 8 files changed, 33 insertions(+), 2 deletions(-) create mode 100644 firestoreDB/increase_firestore.py create mode 100644 milestones/__init__.py create mode 100644 milestones/original_length.py create mode 100644 milestones/quantity.py create mode 100644 milestones/short_length.py diff --git a/firestoreDB/__init__.py b/firestoreDB/__init__.py index 6590d9d..bdc4a97 100644 --- a/firestoreDB/__init__.py +++ b/firestoreDB/__init__.py @@ -2,3 +2,4 @@ from .save_firestore import save_firestore from .get_firestore import get_firestore from .get_firestore_where import get_firestore_where +from .increase_firestore import increase_firestore diff --git a/firestoreDB/increase_firestore.py b/firestoreDB/increase_firestore.py new file mode 100644 index 0000000..f4f9f8b --- /dev/null +++ b/firestoreDB/increase_firestore.py @@ -0,0 +1,7 @@ +from firebase_admin import firestore +from .init_firestore import db + + +async def increase_firestore(field: str, quantity: int): + doc_ref = db.collection("milestones").document("links") + doc_ref.update({field: firestore.Increment(quantity)}) diff --git a/link/post_data.py b/link/post_data.py index fb31856..8581494 100644 --- a/link/post_data.py +++ b/link/post_data.py @@ -1,5 +1,6 @@ import firestoreDB import validator +import milestones async def post_data(original_link: str, link_id: str): @@ -8,5 +9,9 @@ async def post_data(original_link: str, link_id: str): data = {"link_id": link_id, "original_link": original_link} + await milestones.increase_quantity() + await milestones.increase_short_length(f"keskn.uz/{link_id}") + await milestones.increase_original_length(original_link) await firestoreDB.save_firestore("links", link_id, data) + return data diff --git a/main.py b/main.py index cfaea27..561f9f1 100644 --- a/main.py +++ b/main.py @@ -20,7 +20,7 @@ def get_response(data): return { "ok": True, "link_id": link_id, - "short_link": f"keskn.uz/{link_id}", + "short_link": f"https://keskn.uz/{link_id}", "original_link": data["original_link"], } @@ -31,7 +31,7 @@ async def get_link(link_id): if len(data) == 0: return {"ok": False, "message": "Link not found"} - return data[0] + return get_response(data[0]) class CreateLink(BaseModel): diff --git a/milestones/__init__.py b/milestones/__init__.py new file mode 100644 index 0000000..966fb13 --- /dev/null +++ b/milestones/__init__.py @@ -0,0 +1,3 @@ +from .quantity import increase_quantity +from .short_length import increase_short_length +from .original_length import increase_original_length diff --git a/milestones/original_length.py b/milestones/original_length.py new file mode 100644 index 0000000..aef92ac --- /dev/null +++ b/milestones/original_length.py @@ -0,0 +1,5 @@ +import firestoreDB + + +async def increase_original_length(original_link: str) -> None: + await firestoreDB.increase_firestore("original_length", len(original_link)) diff --git a/milestones/quantity.py b/milestones/quantity.py new file mode 100644 index 0000000..df06156 --- /dev/null +++ b/milestones/quantity.py @@ -0,0 +1,5 @@ +import firestoreDB + + +async def increase_quantity() -> None: + await firestoreDB.increase_firestore("quantity", 1) diff --git a/milestones/short_length.py b/milestones/short_length.py new file mode 100644 index 0000000..f144943 --- /dev/null +++ b/milestones/short_length.py @@ -0,0 +1,5 @@ +import firestoreDB + + +async def increase_short_length(short_link: str) -> None: + await firestoreDB.increase_firestore("short_length", len(short_link))