feat: add visited card info
This commit is contained in:
+19
-5
@@ -57,6 +57,18 @@ class MongoWorker:
|
|||||||
return counter["counter"]
|
return counter["counter"]
|
||||||
|
|
||||||
|
|
||||||
|
def get_visited_cards(self, user_id: int) -> Visited:
|
||||||
|
document = self.visited_data.find_one({"user_id": user_id})
|
||||||
|
return Visited.model_validate(document)
|
||||||
|
|
||||||
|
def update_visited_cards(self, user_id: int, visited_card_id: int) -> Visited:
|
||||||
|
update_visited = self.visited_data.find_one_and_update({"user_id": user_id},
|
||||||
|
{"$addToSet": {"cards_visited": visited_card_id}},
|
||||||
|
upsert=True,
|
||||||
|
return_document=True)
|
||||||
|
return Visited.model_validate(update_visited)
|
||||||
|
|
||||||
|
|
||||||
def add_card(self, choice_A: str, choice_B: str, author_id: int) -> Card:
|
def add_card(self, choice_A: str, choice_B: str, author_id: int) -> Card:
|
||||||
new_card = Card(card_id=self.get_and_update_counter(counter_name="card"),
|
new_card = Card(card_id=self.get_and_update_counter(counter_name="card"),
|
||||||
choice_A=choice_A,
|
choice_A=choice_A,
|
||||||
@@ -135,11 +147,13 @@ class MongoWorker:
|
|||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
mongo = MongoWorker()
|
mongo = MongoWorker()
|
||||||
#print(mongo.check_user(123))
|
#print(mongo.check_user(123))
|
||||||
print(mongo.add_user(123, "VolochayIgor", "Igor", "Volochay", "photo_0.jpg"))
|
#print(mongo.add_user(123, "VolochayIgor", "Igor", "Volochay", "photo_0.jpg"))
|
||||||
#print(mongo.get_user(123))
|
#print(mongo.get_user(123))
|
||||||
print(mongo.add_card("A", "B", 123))
|
#print(mongo.add_card("A", "B", 123))
|
||||||
#print(mongo.get_random_cards(10, active_status=False))
|
#print(mongo.get_random_cards(10, active_status=False))
|
||||||
#print(mongo.update_counter("cards_counter"))
|
#print(mongo.update_counter("cards_counter"))
|
||||||
print(mongo.select_choice(1, "A"))
|
#print(mongo.select_choice(1, "A"))
|
||||||
print(mongo.like_card(1, 455412573))
|
#print(mongo.like_card(1, 455412573))
|
||||||
print(mongo.dislike_card(1, 455412573))
|
#print(mongo.dislike_card(1, 455412573))
|
||||||
|
print(mongo.update_visited_cards(123, 2))
|
||||||
|
print(mongo.get_visited_cards(123))
|
||||||
|
|||||||
@@ -1,5 +1,3 @@
|
|||||||
import uuid
|
|
||||||
|
|
||||||
from pydantic import BaseModel
|
from pydantic import BaseModel
|
||||||
|
|
||||||
class User(BaseModel):
|
class User(BaseModel):
|
||||||
@@ -11,12 +9,16 @@ class User(BaseModel):
|
|||||||
photo_url: str
|
photo_url: str
|
||||||
|
|
||||||
activity: int = 0
|
activity: int = 0
|
||||||
liked_post_ids: list[int] = list()
|
liked_card_ids: list[int] = list()
|
||||||
disliked_post_ids: list[int] = list()
|
disliked_card_ids: list[int] = list()
|
||||||
comments_ids: list[int] = list()
|
comments_ids: list[int] = list()
|
||||||
|
|
||||||
registration_date: str
|
registration_date: str
|
||||||
|
|
||||||
|
class Visited(BaseModel):
|
||||||
|
user_id: int
|
||||||
|
cards_visited: set[int]
|
||||||
|
|
||||||
class Card(BaseModel):
|
class Card(BaseModel):
|
||||||
card_id: int
|
card_id: int
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user