diff --git a/app/helpers/queries.py b/app/helpers/queries.py index af4743f..8c013e2 100644 --- a/app/helpers/queries.py +++ b/app/helpers/queries.py @@ -240,6 +240,21 @@ date: booking.booking_date } AS booking """ +GET_OWNED_HOTELS_QUERY = """ +MATCH (hotelowner:HotelOwner {uid:$hotelierId})-[:OWNS_HOTEL]-(hotel:Hotel), + (hotel)-[:LOCATED_IN]-(city:City) +OPTIONAL MATCH + (hotel)-[review:REVIEWED_HOTEL]-() +RETURN + hotel.uid AS id, + hotel.photos[0] AS coverUri, + hotel.name AS name, + city.name AS city, + AVG(review.rating) as rating, + hotel.locality AS locality, + hotel.price AS price +ORDER BY rating DESC +""" GET_PACKAGE_DETAILS_QUERY = """ MATCH @@ -392,3 +407,213 @@ } AS booking, agency """ + + +GET_OFFERED_PACKAGES_QUERY = """ +MATCH + (agency:Agency {uid:$agencyId})-[:OFFERS_PACKAGE]-(package) +OPTIONAL MATCH + (package)-[review:REVIEWED_PACKAGE]-() +CALL { + WITH package + MATCH + (package)-[dayRel:HAS_DAY]-(packageDay:PackageDay) + WITH dayRel.day AS day, packageDay + ORDER BY day + RETURN + COUNT(day) AS days +} +RETURN + package.uid as id, + package.name as name, + package.price as price, + package.photos[0] as coverUri, + AVG(review.rating) as rating, + days +""" + +GET_OWNED_SHOPS_QUERY = """ +MATCH (shopier:ShopOwner {uid:$shopierId})-[:OWNS_SHOP]-(shop:Shop) +OPTIONAL MATCH (shop)-[review:REVIEWED_SHOP]-() +RETURN + shop.uid as id, + shop.name as name, + avg(review.rating) as rating, + shop.locality as locality, + shop.latitude as latitude, + shop.longitude as longitude, + shop.phone as phone, + shop.photos[0] as coverUri +ORDER BY rating DESC +""" + +GET_ALL_FAV_QUERY = """ +MATCH (t:Traveller {uid:$userId}) +CALL { +WITH t +match (t)-[lc:LIKES_CITY]-(c:City) +with c,lc order by lc.datetime desc limit 3 +return +collect ({ +id:c.uid, +name:c.name, +coverUri:c.photos[0]}) +as favcities +} +CALL{ +with t +match (t)-[la:LIKES_ATTRACTION]-(a:Attraction) +with a,la order by la.datetime desc limit 3 +return +collect ({ +id:a.uid, +name:a.name, +coverUri:a.photos[0] +}) +as favattractions +} +CALL { +WITH t +OPTIONAL MATCH (t)-[lb:LIKES_BLOG]-(b:Blog) +optional match (b)-[like:LIKES_BLOG]-() +WITH b,count(like) as likes,lb ORDER BY lb.datetime DESC LIMIT 3 +RETURN + COLLECT({ + id:b.uid, + title:b.title, + content:left(b.content,100), + likes:likes + }) +AS favblogs +} +CALL { +WITH t +OPTIONAL MATCH (t)-[lh:LIKES_HOTEL]-(h:Hotel),(h)-[:LOCATED_IN]-(c:City) +WITH h,c ORDER BY lh.datetime DESC LIMIT 3 +RETURN + COLLECT({ + id:h.uid, + name:h.name, + coverUri:h.photos[0], + city:c.name, + locality:h.locality, + price:h.price + }) +AS favhotels +} +CALL { +WITH t +OPTIONAL MATCH (t)-[ls:LIKES_SHOP]-(s:Shop) +WITH s ORDER BY ls.datetime DESC LIMIT 3 +RETURN + COLLECT({ + id:s.uid, + name:s.name, + description:s.description, + photos:s.photos, + address:s.address, + phone:s.phone, + locality:s.locality, + postal_code:s.postal_code, + latitude:s.latitude, + longitude:s.longitude + }) +AS favshops +} +RETURN + favblogs, + favhotels, + favshops, + favcities, + favattractions +""" +GET_FAV_HOTELS_QUERY = """ +match (t:Traveller {uid:$userId})-[lh:LIKES_HOTEL]-(h:Hotel) +return + h.uid as id, + h.name as name, + h.description as description, + h.phone as phone, + h.address as address, + h.locality as locality, + h.postal_code as postal_code, + h.latitude as latitude, + h.longitude as longitude, + h.photos as photos, + h.price as price +order by lh.datetime desc +""" + +GET_FAV_BLOG_QUERY = """ +match (t:Traveller {uid:$userId})-[lb:LIKES_BLOG]-(b:Blog) +return + b.uid as id, + b.title as title, + b.content as content, + b.photos as photos, + b.published_on as published_on +order by lb.datetime desc +""" +GET_FAV_PACKAGE_QUERY = """ +match (t:Traveller {uid:$userId})-[lp:LIKES_PACKAGE]-(p:Package) +optional match (p)-[review:REVIEWED_PACKAGE]-() +with avg(review.rating) as rating,p,lp.datetime as datetime +call { +with p +match (p)-[dayrel:HAS_DAY]-(pday:PackageDay) +with dayrel.day AS day, pday +order by day +return +count(day) AS days +} +return +p.uid as id, +p.name as name, +p.price as price, +p.photos as photos, +rating, +days, +p.description as description +order by datetime desc +""" + +GET_FAV_SHOPS_QUERY = """ +match (t:Traveller {uid:$userId})-[ls:LIKES_SHOP]-(s:Shop) +optional match (s)-[review:REVIEWED_SHOP]-() +with avg(review.rating) as rating,s,ls.datetime as datetime +return + s.uid as id, + s.name as name, + s.photos as photos, + s.description as description, + s.phone as phone, + s.address as address, + s.locality as locality, + rating, + s.postal_code as postal_code, + s.latitude as latitude, + s.longitude as longitude +order by datetime desc +""" + +GET_FAV_CITIES_QUERY = """ +match (t:Traveller {uid:$userId})-[lc:LIKES_CITY]-(c:City) +with c,lc order by lc.datetime desc limit 3 +return +c.uid as id, +c.name as name, +c.description as description, +c.photos[0] as coverUri +""" + +GET_FAV_ATT_QUERY = """ +match (t:Traveller {uid:$userId})-[la:LIKES_ATTRACTION]-(a:Attraction)-[:LOCATED_IN]-(c:City) +return +a.uid as id, +a.name as name, +a.description as description, +a.photos as photos, +c.name as city, +a.latitude as latitude, +a.longitude as longitude +""" diff --git a/app/models/database/nodes.py b/app/models/database/nodes.py index 9c5d1e2..7c67f88 100644 --- a/app/models/database/nodes.py +++ b/app/models/database/nodes.py @@ -150,14 +150,26 @@ class Attraction(Location): visited_by = RelationshipFrom("Traveller", "VISITED_ATTRACTION", model=VisitedRel) + located_in = RelationshipTo( + "City", "LOCATED_IN", model=OwnsRel, cardinality=cardinality.One + ) + class Shop(Location): + address = StringProperty(max_length=512, required=True) + locality = StringProperty(required=True) + postal_code = IntegerProperty(required=True) + phone = RegexProperty(expression=r"^\+(\d){12}$", required=True) + liked_by = RelationshipFrom("Traveller", "LIKES_SHOP", model=LikesRel) reviewed_by = RelationshipFrom("Traveller", "REVIEWED_SHOP", model=ReviewedRel) owned_by = RelationshipFrom("ShopOwner", "OWNS_SHOP", model=OwnsRel) - visited_by = RelationshipFrom("Traveller", "VISITED_SHOP", model=VisitedRel) + located_in = RelationshipTo( + "City", "LOCATED_IN", model=OwnsRel, cardinality=cardinality.One + ) + class Blog(StructuredNode): uid = UniqueIdProperty() diff --git a/app/routers/business/__init__.py b/app/routers/business/__init__.py index 2d4a183..1ecbd3b 100644 --- a/app/routers/business/__init__.py +++ b/app/routers/business/__init__.py @@ -1,7 +1,10 @@ from fastapi import APIRouter -from . import auth +from . import agency, auth, hotel, shop router = APIRouter() router.include_router(auth.router, prefix="/auth") +router.include_router(hotel.router, prefix="/hotel") +router.include_router(shop.router, prefix="/shop") +router.include_router(agency.router, prefix="/agency") diff --git a/app/routers/business/agency.py b/app/routers/business/agency.py new file mode 100644 index 0000000..6e80fe6 --- /dev/null +++ b/app/routers/business/agency.py @@ -0,0 +1,13 @@ +from fastapi import APIRouter, Depends + +from ...helpers.db_query import get_query_response +from ...helpers.queries import GET_OFFERED_PACKAGES_QUERY +from .auth import get_business + +router = APIRouter() + + +# user=Depends(get_business) +@router.get("/owned") +async def get_offered_packages(agency=Depends(get_business)): + return get_query_response(GET_OFFERED_PACKAGES_QUERY, {"agencyId": agency.uid}) diff --git a/app/routers/business/hotel.py b/app/routers/business/hotel.py new file mode 100644 index 0000000..8d5cbf7 --- /dev/null +++ b/app/routers/business/hotel.py @@ -0,0 +1,132 @@ +from datetime import datetime +from typing import List, Optional + +from fastapi import APIRouter, Depends, HTTPException, status +from neomodel import db +from pydantic import AnyUrl, BaseModel, confloat, constr + +from ...helpers.conversion import deflate_request +from ...helpers.db_query import get_query_response +from ...helpers.queries import GET_HOTEL_REVIEWS_QUERY, GET_OWNED_HOTELS_QUERY +from ...helpers.validation import PHONE_NUMBER_REGEX, HotelAmenitiesEnum +from ...models.database import Hotel +from .auth import get_business + +router = APIRouter() + + +class NewHotelRequest(BaseModel): + name: str + price: int + description: str + photos: List[AnyUrl] + address: constr(min_length=10, max_length=120) + locality: str + postal_code: int + latitude: float + longitude: float + phone: str + amenities: List[HotelAmenitiesEnum] + + +GET_HOTEL_DETAIL_QUERY = """ +MATCH + (city:City)-[:LOCATED_IN]-(hotel:Hotel {uid:$hotel}) +OPTIONAL MATCH + (hotel)-[review:REVIEWED_HOTEL]-() +OPTIONAL MATCH + (hotel)-[likes:LIKES_HOTEL]-() +RETURN + hotel.uid AS id, + hotel.photos AS photos, + hotel.name AS name, + city.name AS city, + hotel.locality AS locality, + hotel.address AS address, + hotel.postal_code AS postalCode, + AVG(review.rating) AS rating, + hotel.phone AS phoneNumber, + hotel.latitude AS latitude, + hotel.longitude AS longitude, + hotel.price AS price, + hotel.description AS about, + hotel.amenities AS amenities, + COUNT(likes) AS likes +""" + + +class HotelReviewResponse(BaseModel): + id: str + rating: int + review: str + publishedOn: datetime + name: str + + +class HotelApiResponse(BaseModel): + id: str + photos: List[AnyUrl] + name: str + locality: str + address: str + postalCode: str + city: str + rating: Optional[float] = None + price: int + phoneNumber: constr(min_length=13, max_length=13, regex=PHONE_NUMBER_REGEX) + latitude: confloat(ge=-90, le=90) + longitude: confloat(ge=-180, le=180) + about: str + likes: int + amenities: List[HotelAmenitiesEnum] + reviews: List[HotelReviewResponse] + + +# user=Depends(get_business) +@router.get("/owned") +async def get_owned_hotels(hotelier=Depends(get_business)): + return get_query_response(GET_OWNED_HOTELS_QUERY, {"hotelierId": hotelier.uid}) + + +@router.post("/add") +async def add_hotel(hotelData: NewHotelRequest, hotelier=Depends(get_business)): + with db.transaction: + hotel = Hotel( + **deflate_request( + hotelData, + { + "name", + "price", + "photos", + "address", + "description", + "locality", + "postal_code", + "latitude", + "longitude", + "phone", + "amenities", + }, + ) + ).save() + hotel.owned_by.connect(hotelier) + + +# ,hotelier=Depends(get_business) +@router.get("/hoteldetail") +async def hotel_detail(hotel: str): + try: + return HotelApiResponse( + **get_query_response( + GET_HOTEL_DETAIL_QUERY, + {"hotel": hotel}, + )[0], + reviews=get_query_response( + GET_HOTEL_REVIEWS_QUERY, {"hotel": hotel, "n": 3} + ), + ) + except IndexError: + raise HTTPException( + status_code=status.HTTP_404_NOT_FOUND, + detail="Hotel not found.", + ) diff --git a/app/routers/business/shop.py b/app/routers/business/shop.py new file mode 100644 index 0000000..b64297a --- /dev/null +++ b/app/routers/business/shop.py @@ -0,0 +1,55 @@ +from typing import List + +from fastapi import APIRouter, Depends, HTTPException, status +from neomodel import db +from pydantic import AnyUrl, BaseModel, confloat, constr + +from ...helpers.conversion import deflate_request +from ...helpers.db_query import get_query_response +from ...helpers.queries import GET_OWNED_SHOPS_QUERY +from ...models.database import City, Shop, ShopOwner +from .auth import get_business + +router = APIRouter() + + +class NewShopRequest(BaseModel): + name: str + description: str + latitude: confloat(ge=-90, le=90) + longitude: confloat(ge=-180, le=180) + photos: List[AnyUrl] + address: constr(min_length=3, max_length=120) + locality: str + postal_code: int + phone: str + + +# user=Depends(get_business) +@router.get("/owned") +async def get_owned_shops(shopier=Depends(get_business)): + return get_query_response(GET_OWNED_SHOPS_QUERY, {"shopierId": shopier.uid}) + + +@router.post("/add") +async def add_shop(shopData: NewShopRequest, city: str, shopier=Depends(get_business)): + with db.transaction: + city = City.nodes.get(uid=city) + shop = Shop( + **deflate_request( + shopData, + { + "name", + "description", + "latitude", + "longitude", + "photos", + "address", + "locality", + "postal_code", + "phone", + }, + ) + ).save() + shop.owned_by.connect(shopier) + shop.located_in.connect(city) diff --git a/app/routers/traveller/__init__.py b/app/routers/traveller/__init__.py index 62b3b51..fccb36d 100644 --- a/app/routers/traveller/__init__.py +++ b/app/routers/traveller/__init__.py @@ -1,6 +1,17 @@ from fastapi import APIRouter -from . import auth, blog, city, community, home, hotel, package, profile +from . import ( + attraction, + auth, + blog, + city, + community, + home, + hotel, + package, + profile, + shop, +) router = APIRouter() @@ -12,3 +23,5 @@ router.include_router(package.router, prefix="/package") router.include_router(profile.router, prefix="/profile") router.include_router(city.router, prefix="/city") +router.include_router(shop.router, prefix="/shop") +router.include_router(attraction.router, prefix="/attraction") diff --git a/app/routers/traveller/attraction.py b/app/routers/traveller/attraction.py new file mode 100644 index 0000000..44b72cd --- /dev/null +++ b/app/routers/traveller/attraction.py @@ -0,0 +1,12 @@ +from fastapi import APIRouter, Depends + +from ...dependencies.auth import get_registered_user +from ...helpers.db_query import get_query_response +from ...helpers.queries import GET_FAV_ATT_QUERY + +router = APIRouter() + + +@router.get("/fav") +async def get_fav_attraction(user=Depends(get_registered_user)): + return get_query_response(GET_FAV_ATT_QUERY, {"userId": user.uid}) diff --git a/app/routers/traveller/blog.py b/app/routers/traveller/blog.py index 817335e..6ea74cb 100644 --- a/app/routers/traveller/blog.py +++ b/app/routers/traveller/blog.py @@ -8,7 +8,11 @@ from ...dependencies.auth import get_registered_user from ...dependencies.entities import get_blog from ...helpers.db_query import get_query_response -from ...helpers.queries import GET_BLOG_COMMENTS_QUERY, GET_BLOG_DETAILS_QUERY +from ...helpers.queries import ( + GET_BLOG_COMMENTS_QUERY, + GET_BLOG_DETAILS_QUERY, + GET_FAV_BLOG_QUERY, +) router = APIRouter() @@ -58,3 +62,8 @@ async def blog_unlike(blog=Depends(get_blog), user=Depends(get_registered_user)) with db.transaction: if user.likes_blog.is_connected(blog): user.likes_blog.disconnect(blog) + + +@router.get("/favs") +async def get_fav_blogs(user=Depends(get_registered_user)): + return get_query_response(GET_FAV_BLOG_QUERY, {"userId": user.uid}) diff --git a/app/routers/traveller/city.py b/app/routers/traveller/city.py index 1903f36..1d1c350 100644 --- a/app/routers/traveller/city.py +++ b/app/routers/traveller/city.py @@ -5,7 +5,7 @@ from ...dependencies.auth import get_registered_user from ...helpers.db_query import get_query_response -from ...helpers.queries import GET_ALL_CITIES_QUERY +from ...helpers.queries import GET_ALL_CITIES_QUERY, GET_FAV_CITIES_QUERY router = APIRouter() @@ -20,3 +20,8 @@ class CityApiResponse(BaseModel): @router.get("", response_model=List[CityApiResponse]) async def get_cities(_=Depends(get_registered_user)): return get_query_response(GET_ALL_CITIES_QUERY) + + +@router.get("/favs") +async def get_fav_cities(user: str): + return get_query_response(GET_FAV_CITIES_QUERY, {"userId": user}) diff --git a/app/routers/traveller/hotel.py b/app/routers/traveller/hotel.py index 846ad71..edaf074 100644 --- a/app/routers/traveller/hotel.py +++ b/app/routers/traveller/hotel.py @@ -10,6 +10,7 @@ from ...helpers.conversion import deflate_request from ...helpers.db_query import get_query_response from ...helpers.queries import ( + GET_FAV_HOTELS_QUERY, GET_HOTEL_BOOKING_DETAILS_QUERY, GET_HOTEL_DETAILS_QUERY, GET_HOTEL_REVIEWS_ALL_QUERY, @@ -180,3 +181,8 @@ async def get_hotel_booking( GET_HOTEL_BOOKING_DETAILS_QUERY, {"hotelBooking": hotel_booking.uid}, )[0] + + +@router.get("/favs") +async def get_fav_hotels(user=Depends(get_registered_user)): + return get_query_response(GET_FAV_HOTELS_QUERY, {"userId": user.uid}) diff --git a/app/routers/traveller/package.py b/app/routers/traveller/package.py index 1b4daae..270ffa7 100644 --- a/app/routers/traveller/package.py +++ b/app/routers/traveller/package.py @@ -9,6 +9,7 @@ from ...helpers.conversion import deflate_request from ...helpers.db_query import get_query_response from ...helpers.queries import ( + GET_FAV_PACKAGE_QUERY, GET_PACKAGE_BOOKING_DETAILS_QUERY, GET_PACKAGE_DETAILS_QUERY, GET_PACKAGE_REVIEWS_ALL_QUERY, @@ -189,3 +190,8 @@ async def get_package_booking_details( GET_PACKAGE_BOOKING_DETAILS_QUERY, {"packageBooking": package_booking.uid}, )[0] + + +@router.get("/favs") +async def gte_fav_packages(user=Depends(get_registered_user)): + return get_query_response(GET_FAV_PACKAGE_QUERY, {"userId": user}) diff --git a/app/routers/traveller/profile.py b/app/routers/traveller/profile.py index ccc25b7..2e6e890 100644 --- a/app/routers/traveller/profile.py +++ b/app/routers/traveller/profile.py @@ -4,8 +4,9 @@ from pydantic import BaseModel from ...dependencies.auth import get_registered_user -from ...helpers.conversion import deflate_request +from ...helpers.conversion import deflate_request, get_query_response from ...helpers.db_query import update_node +from ...helpers.queries import GET_ALL_FAV_QUERY from ...helpers.validation import GenderEnum, MoodEnum router = APIRouter() @@ -23,3 +24,8 @@ async def edit_profile( userDetail: ProfileEditRequest, user=Depends(get_registered_user) ): update_node(user, deflate_request(userDetail, {"name", "gender", "dob", "mood"})) + + +@router.get("/favs") +async def profile_favs(user: str): + return get_query_response(GET_ALL_FAV_QUERY, {"userId": user}) diff --git a/app/routers/traveller/shop.py b/app/routers/traveller/shop.py new file mode 100644 index 0000000..df7e061 --- /dev/null +++ b/app/routers/traveller/shop.py @@ -0,0 +1,12 @@ +from fastapi import APIRouter, Depends + +from ...dependencies.auth import get_registered_user +from ...helpers.db_query import get_query_response +from ...helpers.queries import GET_FAV_SHOPS_QUERY + +router = APIRouter() + + +@router.get("/favs") +async def get_fav_shops(user=Depends(get_registered_user)): + return get_query_response(GET_FAV_SHOPS_QUERY, {"userId": user.uid}) diff --git a/app/seed/seed.py b/app/seed/seed.py index e57662c..f88e32d 100644 --- a/app/seed/seed.py +++ b/app/seed/seed.py @@ -8,14 +8,23 @@ ) from .seed_blogs import seed_blog from .seed_bookings import seed_hotel, seed_package, seed_package_day -from .seed_locations import seed_attraction, seed_city +from .seed_locations import seed_attraction, seed_city, seed_shops from .seed_relations import ( + seed_attraction_city_relation, + seed_attraction_like_relation, + seed_city_like_relation, seed_city_review_relation, seed_hotel_city_relations, seed_hotel_like_relation, seed_hotel_review_relation, + seed_hotelier_relations, seed_package_agency, + seed_package_like_relation, seed_package_review_relation, + seed_shop_city_relation, + seed_shop_like_relation, + seed_shop_review_relation, + seed_shopier_relation, ) from .seed_topic import seed_topic from .seed_users import seed_agency, seed_hotel_owner, seed_shop_owner, seed_traveller @@ -33,11 +42,12 @@ def seed_db(): print("Seeding Nodes...") hotels = seed_hotel() packages = seed_package() - seed_attraction() + attractions = seed_attraction() cities = seed_city() + shops = seed_shops() agencies = seed_agency() - seed_hotel_owner() - seed_shop_owner() + hotelier = seed_hotel_owner() + shopiers = seed_shop_owner() travellers = seed_traveller() blogs = seed_blog() topics = seed_topic() @@ -55,5 +65,14 @@ def seed_db(): ) # EXTRA: locations=cities+attractions seed_blog_comment_relation(travellers, blogs) seed_hotel_like_relation(travellers, hotels) + seed_hotelier_relations(hotelier, hotels) + seed_shopier_relation(shopiers, shops) seed_package_agency(packages, agencies) + seed_shop_review_relation(travellers, shops) + seed_shop_like_relation(travellers, shops) + seed_attraction_city_relation(attractions, cities) + seed_shop_city_relation(shops, cities) + seed_package_like_relation(packages, travellers) + seed_city_like_relation(cities, travellers) + seed_attraction_like_relation(travellers, attractions) print("Done.") diff --git a/app/seed/seed_blog_relation.py b/app/seed/seed_blog_relation.py index 0742a25..dbfef3b 100644 --- a/app/seed/seed_blog_relation.py +++ b/app/seed/seed_blog_relation.py @@ -1,72 +1,72 @@ def seed_blog_relations(travellers, blogs): - travellers["Jenovah"].author_of.connect(blogs["blog1"]) - travellers["Ester"].author_of.connect(blogs["blog2"]) - travellers["Ester"].author_of.connect(blogs["blog3"]) - travellers["Jenovah"].author_of.connect(blogs["blog4"]) - travellers["Ester"].author_of.connect(blogs["blog5"]) - travellers["Lucifer"].author_of.connect(blogs["blog6"]) + travellers["traveller1"].author_of.connect(blogs["blog1"]) + travellers["traveller1"].author_of.connect(blogs["blog2"]) + travellers["traveller1"].author_of.connect(blogs["blog3"]) + travellers["traveller1"].author_of.connect(blogs["blog4"]) + travellers["traveller1"].author_of.connect(blogs["blog5"]) + travellers["traveller3"].author_of.connect(blogs["blog6"]) - travellers["Justin"].likes_blog.connect(blogs["blog1"]) - travellers["Justin"].likes_blog.connect(blogs["blog3"]) - travellers["Justin"].likes_blog.connect(blogs["blog5"]) - travellers["Justin"].likes_blog.connect(blogs["blog6"]) + travellers["traveller4"].likes_blog.connect(blogs["blog1"]) + travellers["traveller4"].likes_blog.connect(blogs["blog3"]) + travellers["traveller4"].likes_blog.connect(blogs["blog5"]) + travellers["traveller4"].likes_blog.connect(blogs["blog6"]) - travellers["Selena"].likes_blog.connect(blogs["blog2"]) - travellers["Selena"].likes_blog.connect(blogs["blog3"]) - travellers["Selena"].likes_blog.connect(blogs["blog4"]) + travellers["traveller4"].likes_blog.connect(blogs["blog2"]) + travellers["traveller4"].likes_blog.connect(blogs["blog3"]) + travellers["traveller4"].likes_blog.connect(blogs["blog4"]) def seed_blog_topic_relation(topics, blogs): - blogs["blog1"].tagged_topic.connect(topics["adventure"]) - blogs["blog2"].tagged_topic.connect(topics["cuisine"]) - blogs["blog3"].tagged_topic.connect(topics["adventure"]) - blogs["blog4"].tagged_topic.connect(topics["adventure"]) - blogs["blog5"].tagged_topic.connect(topics["cuisine"]) - blogs["blog6"].tagged_topic.connect(topics["history"]) + blogs["blog1"].tagged_topic.connect(topics["topic1"]) + blogs["blog2"].tagged_topic.connect(topics["topic2"]) + blogs["blog3"].tagged_topic.connect(topics["topic1"]) + blogs["blog4"].tagged_topic.connect(topics["topic1"]) + blogs["blog5"].tagged_topic.connect(topics["topic2"]) + blogs["blog6"].tagged_topic.connect(topics["topic3"]) def seed_blog_location_relation(cities, blogs): - blogs["blog1"].tagged_location.connect(cities["Mumbai"]) - blogs["blog2"].tagged_location.connect(cities["Pune"]) - blogs["blog3"].tagged_location.connect(cities["Pune"]) - blogs["blog4"].tagged_location.connect(cities["Mumbai"]) - blogs["blog5"].tagged_location.connect(cities["Delhi"]) - blogs["blog6"].tagged_location.connect(cities["Delhi"]) + blogs["blog1"].tagged_location.connect(cities["city1"]) + blogs["blog2"].tagged_location.connect(cities["city2"]) + blogs["blog3"].tagged_location.connect(cities["city2"]) + blogs["blog4"].tagged_location.connect(cities["city1"]) + blogs["blog5"].tagged_location.connect(cities["city3"]) + blogs["blog6"].tagged_location.connect(cities["city3"]) def seed_blog_comment_relation(travellers, blogs): blogs["blog1"].commented_by.connect( - travellers["Selena"], + travellers["traveller4"], { "content": "Nice Blog was really helpful and informative got know alot of in and out" }, ) blogs["blog6"].commented_by.connect( - travellers["Justin"], + travellers["traveller4"], { "content": "Nice Blog was really helpful and informative got know alot of in and out" }, ) blogs["blog5"].commented_by.connect( - travellers["Lucifer"], + travellers["traveller3"], { "content": "Nice Blog was really helpful and informative got know alot of in and out" }, ) blogs["blog4"].commented_by.connect( - travellers["Ester"], + travellers["traveller1"], { "content": "Nice Blog was really helpful and informative got know alot of in and out" }, ) blogs["blog3"].commented_by.connect( - travellers["Justin"], + travellers["traveller4"], { "content": "Nice Blog was really helpful and informative got know alot of in and out" }, ) blogs["blog2"].commented_by.connect( - travellers["Lucifer"], + travellers["traveller3"], { "content": "Nice Blog was really helpful and informative got know alot of in and out" }, diff --git a/app/seed/seed_bookings.py b/app/seed/seed_bookings.py index 476eb4c..00e109c 100644 --- a/app/seed/seed_bookings.py +++ b/app/seed/seed_bookings.py @@ -456,10 +456,10 @@ def seed_package_day(packages, cities): description="Return to pune in flight", ).save() - day1.visits_city.connect(cities["Pune"]) - day3.visits_city.connect(cities["Mumbai"]) - day4.visits_city.connect(cities["Mumbai"]) - day5.visits_city.connect(cities["Pune"]) + day1.visits_city.connect(cities["city2"]) + day3.visits_city.connect(cities["city1"]) + day4.visits_city.connect(cities["city1"]) + day5.visits_city.connect(cities["city2"]) packages["package1"].has_day.connect(day1, {"day": 1}) packages["package1"].has_day.connect(day2, {"day": 2}) diff --git a/app/seed/seed_locations.py b/app/seed/seed_locations.py index 8236aba..e9145d4 100644 --- a/app/seed/seed_locations.py +++ b/app/seed/seed_locations.py @@ -3,21 +3,21 @@ def seed_city(): return dict( - Mumbai=City( + city1=City( name="Mumbai", description="A city of dreams that never sleeps", latitude=19.076090, longitude=72.877426, photos=["https://picsum.photos/1099"], ).save(), - Delhi=City( + city2=City( name="Delhi", description="Dillbar Dilli", latitude=28.644800, longitude=77.216721, photos=["https://picsum.photos/1100"], ).save(), - Ahmedabad=City( + city3=City( name="Ahmedabad", description="Aapnu amdavad", latitude=23.033863, @@ -26,14 +26,14 @@ def seed_city(): "https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcQB-L9mqh5Eo2Zpdh7IfnLlPXj6BQSTnR20Gw&usqp=CAU" ], ).save(), - Jaipur=City( + city4=City( name="Jaipur", description="Padharo mhare desh", latitude=26.922070, longitude=75.778885, photos=["https://picsum.photos/1102"], ).save(), - Pune=City( + city5=City( name="Pune", description="Punari parimano", latitude=18.516726, @@ -47,7 +47,7 @@ def seed_city(): def seed_attraction(): return dict( - GOI=Attraction( + attraction1=Attraction( name="Gateway of India", description=( "Gateway of India, the best place to visit in Mumbai, " @@ -58,7 +58,7 @@ def seed_attraction(): longitude=72.8301, photos=[], ).save(), - sgnp=Attraction( + attraction2=Attraction( name="Sanjay Gandhi National Park", description=( "Sprawling over an area of 104 sq. km. of land, this is one of " @@ -69,7 +69,7 @@ def seed_attraction(): longitude=72.9182, photos=[], ).save(), - rcwm=Attraction( + attraction3=Attraction( name="Red Carpet Wax Museum", description=( "The array of wax statues displayed at The Red Carpet wax " @@ -79,7 +79,7 @@ def seed_attraction(): longitude=72.916344, photos=[], ).save(), - trf=Attraction( + attraction4=Attraction( name="The Red Fort", description=( "The beautiful Red Fort was built by Shah Jahan in 1648 and " @@ -89,7 +89,7 @@ def seed_attraction(): longitude=77.242943, photos=[], ).save(), - qm=Attraction( + attraction5=Attraction( name=" Qutub Minar", description=( 'Qutab Minar, is a minaret and "victory tower" that forms part of ' @@ -100,7 +100,7 @@ def seed_attraction(): longitude=77.2091, photos=[], ).save(), - dhnv=Attraction( + attraction6=Attraction( name="Dada Hari Ni Vav", description=( "Built around 500 years ago under the reign of Mehmud Begda, " @@ -110,7 +110,7 @@ def seed_attraction(): longitude=72.6055, photos=[], ).save(), - sr=Attraction( + attraction7=Attraction( name="Sarkhej Roza", description=( "Located 7 kilometres southwest of Ahmedabad in the village " @@ -121,7 +121,7 @@ def seed_attraction(): longitude=72.4997, photos=[], ).save(), - Balvatika=Attraction( + attraction8=Attraction( name="Balvatika", description=( "Located on top of a hill in Ahmedabad, Balvatika is a " @@ -131,7 +131,7 @@ def seed_attraction(): longitude=72.3604, photos=[], ).save(), - swp=Attraction( + attraction9=Attraction( name="Shaniwar Wada Palace", description=( "A prominent historical landmark in Pune is Shaniwarwada which " @@ -141,7 +141,7 @@ def seed_attraction(): longitude=73.8533, photos=[], ).save(), - akp=Attraction( + attraction10=Attraction( name="Aga Khan Palace", description=( "Aga Khan Palace which was built by Sultan Muhammed Shah Aga " @@ -151,7 +151,7 @@ def seed_attraction(): longitude=73.9015, photos=[], ).save(), - dht=Attraction( + attraction11=Attraction( name="Dagdusheth Halwai Temple", description=( "A famous Ganesha temple in Pune is Shreemath Dagdusheth " @@ -161,7 +161,7 @@ def seed_attraction(): longitude=73.8535, photos=[], ).save(), - gbs=Attraction( + attraction12=Attraction( name="Gurudwara Bangle Sahib", description=( "Gurudwara Bangla Sahib is one of the most prominent Sikh " @@ -171,7 +171,7 @@ def seed_attraction(): longitude=77.2089, photos=[], ).save(), - cp=Attraction( + attraction13=Attraction( name="City Palace", description=( "City Palace has stood at the heart of the Old City of Jaipur " @@ -185,7 +185,7 @@ def seed_attraction(): longitude=75.8237, photos=[], ).save(), - jm=Attraction( + attraction14=Attraction( name="Jantar Mantar", description=( "Jantar Mantar may look to be nothing more than a bunch ", @@ -198,7 +198,7 @@ def seed_attraction(): longitude=75.8246, photos=[], ).save(), - sf=Attraction( + attraction15=Attraction( name="Sinhagad Fort", description=( "Sinhagad is a hill fortress located at around 35 km southwest of " @@ -218,91 +218,143 @@ def seed_shops(): description="Best Food ever", latitude=18.2204, longitude=72.5301, - photos=[], + photos=["https://picsum.photos/1099"], + phone="+919757266106", + address="Shop No #, Bulguia Complex, City", + locality="No Head Drangon Marg", + postal_code=400360, ).save(), shop2=Shop( name="Fast and Furios Fashion", description="Best Fashion Ever", latitude=19.1288, longitude=72.9182, - photos=[], + photos=["https://picsum.photos/1099"], + phone="+919757266107", + address="Shop No #, Bulguia Complex, City", + locality="No Head Drangon Marg", + postal_code=400361, ).save(), shop3=Shop( name="Beauty and Beat", description="Best glamourous fashion store", latitude=19.99356, longitude=72.16344, - photos=[], + photos=["https://picsum.photos/1099"], + phone="+919757266108", + address="Shop No #, Bulguia Complex, City", + locality="No Head Drangon Marg", + postal_code=400362, ).save(), shop4=Shop( name="Memories Artical Shop", description="Artical Shop for Art", latitude=28.56473, longitude=77.42943, - photos=[], + photos=["https://picsum.photos/1099"], + phone="+919757266109", + address="Shop No #, Bulguia Complex, City", + locality="No Head Drangon Marg", + postal_code=400363, ).save(), shop5=Shop( name="Gabrail Choor Gift Shop", description="Gift Shop from famous choor lane", latitude=28.266, longitude=77.091, - photos=[], + photos=["https://picsum.photos/1099"], + phone="+919757266101", + address="Shop No #, Bulguia Complex, City", + locality="No Head Drangon Marg", + postal_code=400364, ).save(), shop6=Shop( name="Fire Food", description="Most Spicy Food Ever", latitude=23.512, longitude=72.055, - photos=[], + photos=["https://picsum.photos/1099"], + phone="+919757266102", + address="Shop No #, Bulguia Complex, City", + locality="No Head Drangon Marg", + postal_code=400365, ).save(), shop7=Shop( name="Fcuk Fashion", description="Exclusive Fcuk store", latitude=22.960, longitude=72.997, - photos=[], + photos=["https://picsum.photos/1099"], + phone="+919757266103", + address="Shop No #, Bulguia Complex, City", + locality="No Head Drangon Marg", + postal_code=400366, ).save(), shop8=Shop( name="Free Gift Shop", description="Free Gift Shops", latitude=23.90022, longitude=72.604, - photos=[], + photos=["https://picsum.photos/1099"], + phone="+919757266104", + address="Shop No #, Bulguia Complex, City", + locality="No Head Drangon Marg", + postal_code=400367, ).save(), shop9=Shop( name="Esctasy Food", description="A Spine Tingling Food", latitude=18.5181, longitude=73.8533, - photos=[], + photos=["https://picsum.photos/1099"], + phone="+919757266105", + address="Shop No #, Bulguia Complex, City", + locality="No Head Drangon Marg", + postal_code=400368, ).save(), shop10=Shop( name="depresso", description="A differnet Coffee Shop", latitude=18.5523, longitude=73.9015, - photos=[], + photos=["https://picsum.photos/1099"], + phone="+919757266111", + address="Shop No #, Bulguia Complex, City", + locality="No Head Drangon Marg", + postal_code=400369, ).save(), shop11=Shop( name="Bang Bang Gift Shop", description="Gift Shop for those who bang", latitude=18.098, longitude=73.535, - photos=[], + photos=["https://picsum.photos/1099"], + phone="+919757266112", + address="Shop No #, Bulguia Complex, City", + locality="No Head Drangon Marg", + postal_code=400370, ).save(), shop12=Shop( name="Smash Street", description="Smashing Street Food", latitude=26.6267, longitude=76.2089, - photos=[], + photos=["https://picsum.photos/1099"], + phone="+919757266113", + address="Shop No #, Bulguia Complex, City", + locality="No Head Drangon Marg", + postal_code=400371, ).save(), shop13=Shop( name="Mark 42 Gift Shop", description="A Future Tech Gift Shop", latitude=26.258, longitude=75.237, - photos=[], + photos=["https://picsum.photos/1099"], + phone="+919757266114", + address="Shop No #, Bulguia Complex, City", + locality="No Head Drangon Marg", + postal_code=400372, ).save(), shop14=Shop( name="Jantar Mantar Gift Shop", @@ -312,13 +364,21 @@ def seed_shops(): ), latitude=26.9248, longitude=75.8246, - photos=[], + photos=["https://picsum.photos/1099"], + phone="+919757266115", + address="Shop No #, Bulguia Complex, City", + locality="No Head Drangon Marg", + postal_code=400373, ).save(), shop15=Shop( name="Sinhagad Fort Gift Shop", description="Sinhagad is a hill fortress Gift Shop", latitude=18.21563, longitude=73.451897, - photos=[], + photos=["https://picsum.photos/1099"], + phone="+919757266117", + address="Shop No #, Bulguia Complex, City", + locality="No Head Drangon Marg", + postal_code=400374, ).save(), ) diff --git a/app/seed/seed_relations.py b/app/seed/seed_relations.py index e85887c..3874ac9 100644 --- a/app/seed/seed_relations.py +++ b/app/seed/seed_relations.py @@ -1,27 +1,27 @@ def seed_hotel_city_relations(hotels, cities): - hotels["hotel1"].located_in.connect(cities["Mumbai"]) - hotels["hotel2"].located_in.connect(cities["Mumbai"]) - hotels["hotel3"].located_in.connect(cities["Mumbai"]) + hotels["hotel1"].located_in.connect(cities["city1"]) + hotels["hotel2"].located_in.connect(cities["city1"]) + hotels["hotel3"].located_in.connect(cities["city1"]) - hotels["hotel5"].located_in.connect(cities["Delhi"]) - hotels["hotel6"].located_in.connect(cities["Delhi"]) - hotels["hotel7"].located_in.connect(cities["Delhi"]) + hotels["hotel5"].located_in.connect(cities["city3"]) + hotels["hotel6"].located_in.connect(cities["city3"]) + hotels["hotel7"].located_in.connect(cities["city3"]) - hotels["hotel8"].located_in.connect(cities["Pune"]) - hotels["hotel9"].located_in.connect(cities["Pune"]) - hotels["hotel10"].located_in.connect(cities["Pune"]) + hotels["hotel8"].located_in.connect(cities["city2"]) + hotels["hotel9"].located_in.connect(cities["city2"]) + hotels["hotel10"].located_in.connect(cities["city2"]) - hotels["hotel11"].located_in.connect(cities["Jaipur"]) - hotels["hotel12"].located_in.connect(cities["Jaipur"]) - hotels["hotel13"].located_in.connect(cities["Jaipur"]) + hotels["hotel11"].located_in.connect(cities["city4"]) + hotels["hotel12"].located_in.connect(cities["city4"]) + hotels["hotel13"].located_in.connect(cities["city4"]) - hotels["hotel14"].located_in.connect(cities["Ahmedabad"]) - hotels["hotel15"].located_in.connect(cities["Ahmedabad"]) - hotels["hotel16"].located_in.connect(cities["Ahmedabad"]) + hotels["hotel14"].located_in.connect(cities["city5"]) + hotels["hotel15"].located_in.connect(cities["city5"]) + hotels["hotel16"].located_in.connect(cities["city5"]) def seed_package_review_relation(travellers, packages): - travellers["Selena"].reviewed_package.connect( + travellers["traveller1"].reviewed_package.connect( packages["package1"], { "rating": 3, @@ -29,7 +29,7 @@ def seed_package_review_relation(travellers, packages): "photos": ["https://picsum.photos/1090"], }, ) - travellers["Justin"].reviewed_package.connect( + travellers["traveller2"].reviewed_package.connect( packages["package1"], { "rating": 4, @@ -37,7 +37,7 @@ def seed_package_review_relation(travellers, packages): "photos": ["https://picsum.photos/1090"], }, ) - travellers["Justin"].reviewed_package.connect( + travellers["traveller2"].reviewed_package.connect( packages["package2"], { "rating": 5, @@ -45,7 +45,7 @@ def seed_package_review_relation(travellers, packages): "photos": ["https://picsum.photos/1090"], }, ) - travellers["Lucifer"].reviewed_package.connect( + travellers["traveller3"].reviewed_package.connect( packages["package2"], { "rating": 4, @@ -53,7 +53,7 @@ def seed_package_review_relation(travellers, packages): "photos": ["https://picsum.photos/1090"], }, ) - travellers["Selena"].reviewed_package.connect( + travellers["traveller1"].reviewed_package.connect( packages["package2"], { "rating": 4, @@ -61,7 +61,7 @@ def seed_package_review_relation(travellers, packages): "photos": ["https://picsum.photos/1090"], }, ) - travellers["Selena"].reviewed_package.connect( + travellers["traveller4"].reviewed_package.connect( packages["package3"], { "rating": 5, @@ -69,7 +69,7 @@ def seed_package_review_relation(travellers, packages): "photos": ["https://picsum.photos/1090"], }, ) - travellers["Ester"].reviewed_package.connect( + travellers["traveller5"].reviewed_package.connect( packages["package3"], { "rating": 3, @@ -77,7 +77,7 @@ def seed_package_review_relation(travellers, packages): "photos": ["https://picsum.photos/1090"], }, ) - travellers["Ester"].reviewed_package.connect( + travellers["traveller5"].reviewed_package.connect( packages["package3"], { "rating": 3, @@ -85,7 +85,7 @@ def seed_package_review_relation(travellers, packages): "photos": ["https://picsum.photos/1090"], }, ) - travellers["Justin"].reviewed_package.connect( + travellers["traveller2"].reviewed_package.connect( packages["package4"], { "rating": 3, @@ -93,7 +93,7 @@ def seed_package_review_relation(travellers, packages): "photos": ["https://picsum.photos/1090"], }, ) - travellers["Selena"].reviewed_package.connect( + travellers["traveller4"].reviewed_package.connect( packages["package4"], { "rating": 5, @@ -101,7 +101,7 @@ def seed_package_review_relation(travellers, packages): "photos": ["https://picsum.photos/1090"], }, ) - travellers["Selena"].reviewed_package.connect( + travellers["traveller4"].reviewed_package.connect( packages["package5"], { "rating": 4, @@ -109,7 +109,7 @@ def seed_package_review_relation(travellers, packages): "photos": ["https://picsum.photos/1090"], }, ) - travellers["Justin"].reviewed_package.connect( + travellers["traveller2"].reviewed_package.connect( packages["package5"], { "rating": 5, @@ -117,7 +117,7 @@ def seed_package_review_relation(travellers, packages): "photos": ["https://picsum.photos/1090"], }, ) - travellers["Justin"].reviewed_package.connect( + travellers["traveller2"].reviewed_package.connect( packages["package6"], { "rating": 4, @@ -125,7 +125,7 @@ def seed_package_review_relation(travellers, packages): "photos": ["https://picsum.photos/1090"], }, ) - travellers["Ester"].reviewed_package.connect( + travellers["traveller5"].reviewed_package.connect( packages["package6"], { "rating": 5, @@ -136,70 +136,70 @@ def seed_package_review_relation(travellers, packages): def seed_city_review_relation(travellers, cities): - travellers["Selena"].reviewed_city.connect( - cities["Mumbai"], + travellers["traveller4"].reviewed_city.connect( + cities["city1"], {"rating": 3, "review": "sweet city", "photos": ["https://picsum.photos/1666"]}, ) - travellers["Justin"].reviewed_city.connect( - cities["Mumbai"], + travellers["traveller2"].reviewed_city.connect( + cities["city1"], {"rating": 3, "review": "sweet city", "photos": ["https://picsum.photos/1666"]}, ) - travellers["Lucifer"].reviewed_city.connect( - cities["Mumbai"], + travellers["traveller3"].reviewed_city.connect( + cities["city1"], {"rating": 5, "review": "sweet city", "photos": ["https://picsum.photos/1666"]}, ) - travellers["Justin"].reviewed_city.connect( - cities["Pune"], + travellers["traveller2"].reviewed_city.connect( + cities["city2"], {"rating": 5, "review": "sweet city", "photos": ["https://picsum.photos/1666"]}, ) - travellers["Lucifer"].reviewed_city.connect( - cities["Pune"], + travellers["traveller3"].reviewed_city.connect( + cities["city2"], {"rating": 5, "review": "sweet city", "photos": ["https://picsum.photos/1666"]}, ) - travellers["Selena"].reviewed_city.connect( - cities["Pune"], + travellers["traveller4"].reviewed_city.connect( + cities["city2"], {"rating": 5, "review": "sweet city", "photos": ["https://picsum.photos/1666"]}, ) - travellers["Lucifer"].reviewed_city.connect( - cities["Delhi"], + travellers["traveller3"].reviewed_city.connect( + cities["city3"], {"rating": 4, "review": "sweet city", "photos": ["https://picsum.photos/1666"]}, ) - travellers["Justin"].reviewed_city.connect( - cities["Delhi"], + travellers["traveller2"].reviewed_city.connect( + cities["city3"], {"rating": 4, "review": "sweet city", "photos": ["https://picsum.photos/1666"]}, ) - travellers["Selena"].reviewed_city.connect( - cities["Delhi"], + travellers["traveller4"].reviewed_city.connect( + cities["city3"], {"rating": 3, "review": "sweet city", "photos": ["https://picsum.photos/1666"]}, ) - travellers["Jelena"].reviewed_city.connect( - cities["Jaipur"], + travellers["traveller4"].reviewed_city.connect( + cities["city4"], {"rating": 5, "review": "sweet city", "photos": ["https://picsum.photos/1666"]}, ) - travellers["Ester"].reviewed_city.connect( - cities["Jaipur"], + travellers["traveller5"].reviewed_city.connect( + cities["city4"], {"rating": 4, "review": "sweet city", "photos": ["https://picsum.photos/1666"]}, ) - travellers["Lucifer"].reviewed_city.connect( - cities["Jaipur"], + travellers["traveller3"].reviewed_city.connect( + cities["city4"], {"rating": 4, "review": "sweet city", "photos": ["https://picsum.photos/1666"]}, ) - travellers["Selena"].reviewed_city.connect( - cities["Ahmedabad"], + travellers["traveller4"].reviewed_city.connect( + cities["city5"], {"rating": 5, "review": "sweet city", "photos": ["https://picsum.photos/1666"]}, ) - travellers["Lucifer"].reviewed_city.connect( - cities["Ahmedabad"], + travellers["traveller3"].reviewed_city.connect( + cities["city5"], {"rating": 5, "review": "sweet city", "photos": ["https://picsum.photos/1666"]}, ) - travellers["Ester"].reviewed_city.connect( - cities["Ahmedabad"], + travellers["traveller5"].reviewed_city.connect( + cities["city5"], {"rating": 3, "review": "sweet city", "photos": ["https://picsum.photos/1666"]}, ) def seed_hotel_review_relation(travellers, hotels): - travellers["Selena"].reviewed_hotel.connect( + travellers["traveller4"].reviewed_hotel.connect( hotels["hotel1"], { "rating": 5, @@ -209,7 +209,7 @@ def seed_hotel_review_relation(travellers, hotels): ], }, ) - travellers["Justin"].reviewed_hotel.connect( + travellers["traveller2"].reviewed_hotel.connect( hotels["hotel1"], { "rating": 3, @@ -219,7 +219,7 @@ def seed_hotel_review_relation(travellers, hotels): ], }, ) - travellers["Lucifer"].reviewed_hotel.connect( + travellers["traveller3"].reviewed_hotel.connect( hotels["hotel2"], { "rating": 5, @@ -229,7 +229,7 @@ def seed_hotel_review_relation(travellers, hotels): ], }, ) - travellers["Jelena"].reviewed_hotel.connect( + travellers["traveller4"].reviewed_hotel.connect( hotels["hotel3"], { "rating": 5, @@ -239,7 +239,7 @@ def seed_hotel_review_relation(travellers, hotels): ], }, ) - travellers["Justin"].reviewed_hotel.connect( + travellers["traveller2"].reviewed_hotel.connect( hotels["hotel3"], { "rating": 4, @@ -249,7 +249,7 @@ def seed_hotel_review_relation(travellers, hotels): ], }, ) - travellers["Selena"].reviewed_hotel.connect( + travellers["traveller4"].reviewed_hotel.connect( hotels["hotel7"], { "rating": 5, @@ -259,7 +259,7 @@ def seed_hotel_review_relation(travellers, hotels): ], }, ) - travellers["Lucifer"].reviewed_hotel.connect( + travellers["traveller3"].reviewed_hotel.connect( hotels["hotel7"], { "rating": 5, @@ -269,7 +269,7 @@ def seed_hotel_review_relation(travellers, hotels): ], }, ) - travellers["Lucifer"].reviewed_hotel.connect( + travellers["traveller3"].reviewed_hotel.connect( hotels["hotel5"], { "rating": 4, @@ -279,7 +279,7 @@ def seed_hotel_review_relation(travellers, hotels): ], }, ) - travellers["Selena"].reviewed_hotel.connect( + travellers["traveller4"].reviewed_hotel.connect( hotels["hotel5"], { "rating": 4, @@ -289,7 +289,7 @@ def seed_hotel_review_relation(travellers, hotels): ], }, ) - travellers["Justin"].reviewed_hotel.connect( + travellers["traveller2"].reviewed_hotel.connect( hotels["hotel5"], { "rating": 4, @@ -302,19 +302,251 @@ def seed_hotel_review_relation(travellers, hotels): def seed_hotel_like_relation(travellers, hotels): - travellers["Justin"].likes_hotel.connect(hotels["hotel1"]) - travellers["Justin"].likes_hotel.connect(hotels["hotel3"]) - travellers["Lucifer"].likes_hotel.connect(hotels["hotel5"]) - travellers["Lucifer"].likes_hotel.connect(hotels["hotel6"]) - travellers["Selena"].likes_hotel.connect(hotels["hotel2"]) - travellers["Selena"].likes_hotel.connect(hotels["hotel1"]) - travellers["Selena"].likes_hotel.connect(hotels["hotel5"]) + travellers["traveller2"].likes_hotel.connect(hotels["hotel1"]) + travellers["traveller2"].likes_hotel.connect(hotels["hotel3"]) + travellers["traveller3"].likes_hotel.connect(hotels["hotel5"]) + travellers["traveller3"].likes_hotel.connect(hotels["hotel6"]) + travellers["traveller4"].likes_hotel.connect(hotels["hotel2"]) + travellers["traveller4"].likes_hotel.connect(hotels["hotel1"]) + travellers["traveller4"].likes_hotel.connect(hotels["hotel5"]) + + +def seed_hotelier_relations(hoteliers, hotels): + hoteliers["hotelowner1"].owns_hotel.connect(hotels["hotel1"]) + hoteliers["hotelowner1"].owns_hotel.connect(hotels["hotel2"]) + hoteliers["hotelowner1"].owns_hotel.connect(hotels["hotel3"]) + hoteliers["hotelowner1"].owns_hotel.connect(hotels["hotel5"]) + hoteliers["hotelowner1"].owns_hotel.connect(hotels["hotel6"]) + hoteliers["hotelowner1"].owns_hotel.connect(hotels["hotel7"]) + hoteliers["hotelowner1"].owns_hotel.connect(hotels["hotel8"]) + hoteliers["hotelowner1"].owns_hotel.connect(hotels["hotel9"]) + hoteliers["hotelowner3"].owns_hotel.connect(hotels["hotel10"]) + hoteliers["hotelowner3"].owns_hotel.connect(hotels["hotel11"]) + hoteliers["hotelowner3"].owns_hotel.connect(hotels["hotel12"]) + hoteliers["hotelowner3"].owns_hotel.connect(hotels["hotel13"]) + hoteliers["hotelowner3"].owns_hotel.connect(hotels["hotel14"]) + hoteliers["hotelowner3"].owns_hotel.connect(hotels["hotel15"]) + hoteliers["hotelowner3"].owns_hotel.connect(hotels["hotel16"]) + + +def seed_shopier_relation(shopiers, shops): + shopiers["shopowner1"].owns_shop.connect(shops["shop1"]) + shopiers["shopowner1"].owns_shop.connect(shops["shop2"]) + shopiers["shopowner1"].owns_shop.connect(shops["shop3"]) + shopiers["shopowner1"].owns_shop.connect(shops["shop4"]) + shopiers["shopowner1"].owns_shop.connect(shops["shop5"]) + shopiers["shopowner2"].owns_shop.connect(shops["shop6"]) + shopiers["shopowner2"].owns_shop.connect(shops["shop7"]) + shopiers["shopowner2"].owns_shop.connect(shops["shop8"]) + shopiers["shopowner2"].owns_shop.connect(shops["shop9"]) + shopiers["shopowner2"].owns_shop.connect(shops["shop10"]) + shopiers["shopowner3"].owns_shop.connect(shops["shop11"]) + shopiers["shopowner3"].owns_shop.connect(shops["shop12"]) + shopiers["shopowner3"].owns_shop.connect(shops["shop13"]) + shopiers["shopowner3"].owns_shop.connect(shops["shop14"]) + shopiers["shopowner3"].owns_shop.connect(shops["shop15"]) def seed_package_agency(packages, agencies): - packages["package1"].offered_by.connect(agencies["DNO"]) - packages["package2"].offered_by.connect(agencies["Manish"]) - packages["package3"].offered_by.connect(agencies["Lohana"]) - packages["package4"].offered_by.connect(agencies["DNO"]) - packages["package5"].offered_by.connect(agencies["Manish"]) - packages["package6"].offered_by.connect(agencies["Lohana"]) + packages["package1"].offered_by.connect(agencies["agency1"]) + packages["package2"].offered_by.connect(agencies["agency2"]) + packages["package3"].offered_by.connect(agencies["agency3"]) + packages["package4"].offered_by.connect(agencies["agency1"]) + packages["package5"].offered_by.connect(agencies["agency2"]) + packages["package6"].offered_by.connect(agencies["agency3"]) + + +def seed_shop_review_relation(travellers, shops): + travellers["traveller1"].reviewed_shop.connect( + shops["shop1"], + { + "rating": 3, + "review": "nice shop, really polite customer service, cute stuff", + "photos": ["https://picsum.photos/1090"], + }, + ) + travellers["traveller2"].reviewed_shop.connect( + shops["shop15"], + { + "rating": 4, + "review": "nice shop, really polite customer service, cute stuff", + "photos": ["https://picsum.photos/1090"], + }, + ) + travellers["traveller2"].reviewed_shop.connect( + shops["shop2"], + { + "rating": 5, + "review": "nice shop, really polite customer service, cute stuff", + "photos": ["https://picsum.photos/1090"], + }, + ) + travellers["traveller3"].reviewed_shop.connect( + shops["shop14"], + { + "rating": 4, + "review": "nice shop, really polite customer service, cute stuff", + "photos": ["https://picsum.photos/1090"], + }, + ) + travellers["traveller1"].reviewed_shop.connect( + shops["shop13"], + { + "rating": 4, + "review": "nice shop, really polite customer service, cute stuff", + "photos": ["https://picsum.photos/1090"], + }, + ) + travellers["traveller1"].reviewed_shop.connect( + shops["shop12"], + { + "rating": 5, + "review": "nice shop, really polite customer service, cute stuff", + "photos": ["https://picsum.photos/1090"], + }, + ) + travellers["traveller5"].reviewed_shop.connect( + shops["shop11"], + { + "rating": 3, + "review": "nice shop, really polite customer service, cute stuff", + "photos": ["https://picsum.photos/1090"], + }, + ) + travellers["traveller5"].reviewed_shop.connect( + shops["shop10"], + { + "rating": 3, + "review": "nice shop, really polite customer service, cute stuff", + "photos": ["https://picsum.photos/1090"], + }, + ) + travellers["traveller2"].reviewed_shop.connect( + shops["shop4"], + { + "rating": 3, + "review": "nice shop, really polite customer service, cute stuff", + "photos": ["https://picsum.photos/1090"], + }, + ) + travellers["traveller1"].reviewed_shop.connect( + shops["shop9"], + { + "rating": 5, + "review": "nice shop, really polite customer service, cute stuff", + "photos": ["https://picsum.photos/1090"], + }, + ) + travellers["traveller1"].reviewed_shop.connect( + shops["shop5"], + { + "rating": 4, + "review": "nice shop, really polite customer service, cute stuff", + "photos": ["https://picsum.photos/1090"], + }, + ) + travellers["traveller2"].reviewed_shop.connect( + shops["shop8"], + { + "rating": 5, + "review": "nice shop, really polite customer service, cute stuff", + "photos": ["https://picsum.photos/1090"], + }, + ) + travellers["traveller2"].reviewed_shop.connect( + shops["shop6"], + { + "rating": 4, + "review": "nice shop, really polite customer service, cute stuff", + "photos": ["https://picsum.photos/1090"], + }, + ) + travellers["traveller5"].reviewed_shop.connect( + shops["shop6"], + { + "rating": 5, + "review": "nice shop, really polite customer service, cute stuff", + "photos": ["https://picsum.photos/1090"], + }, + ) + + +def seed_shop_like_relation(travellers, shops): + travellers["traveller2"].likes_shop.connect(shops["shop1"]) + travellers["traveller2"].likes_shop.connect(shops["shop3"]) + travellers["traveller3"].likes_shop.connect(shops["shop5"]) + travellers["traveller3"].likes_shop.connect(shops["shop6"]) + travellers["traveller1"].likes_shop.connect(shops["shop2"]) + travellers["traveller1"].likes_shop.connect(shops["shop1"]) + travellers["traveller1"].likes_shop.connect(shops["shop5"]) + travellers["traveller1"].likes_shop.connect(shops["shop4"]) + + +def seed_shop_city_relation(shops, cities): + shops["shop1"].located_in.connect(cities["city1"]) + shops["shop2"].located_in.connect(cities["city1"]) + shops["shop3"].located_in.connect(cities["city1"]) + + shops["shop4"].located_in.connect(cities["city3"]) + shops["shop5"].located_in.connect(cities["city3"]) + shops["shop6"].located_in.connect(cities["city3"]) + shops["shop7"].located_in.connect(cities["city3"]) + + shops["shop8"].located_in.connect(cities["city2"]) + shops["shop9"].located_in.connect(cities["city2"]) + shops["shop10"].located_in.connect(cities["city2"]) + + shops["shop11"].located_in.connect(cities["city4"]) + shops["shop12"].located_in.connect(cities["city4"]) + + shops["shop13"].located_in.connect(cities["city5"]) + shops["shop15"].located_in.connect(cities["city5"]) + + +def seed_attraction_city_relation(attractions, cities): + attractions["attraction1"].located_in.connect(cities["city1"]) + attractions["attraction2"].located_in.connect(cities["city1"]) + attractions["attraction3"].located_in.connect(cities["city1"]) + attractions["attraction4"].located_in.connect(cities["city2"]) + attractions["attraction5"].located_in.connect(cities["city2"]) + attractions["attraction6"].located_in.connect(cities["city2"]) + attractions["attraction7"].located_in.connect(cities["city3"]) + attractions["attraction8"].located_in.connect(cities["city3"]) + attractions["attraction9"].located_in.connect(cities["city3"]) + attractions["attraction10"].located_in.connect(cities["city4"]) + attractions["attraction11"].located_in.connect(cities["city4"]) + attractions["attraction12"].located_in.connect(cities["city4"]) + attractions["attraction13"].located_in.connect(cities["city5"]) + attractions["attraction14"].located_in.connect(cities["city5"]) + attractions["attraction15"].located_in.connect(cities["city5"]) + + +def seed_package_like_relation(packages, travellers): + travellers["traveller1"].likes_package.connect(packages["package1"]) + travellers["traveller2"].likes_package.connect(packages["package2"]) + travellers["traveller3"].likes_package.connect(packages["package3"]) + travellers["traveller1"].likes_package.connect(packages["package4"]) + travellers["traveller2"].likes_package.connect(packages["package5"]) + travellers["traveller3"].likes_package.connect(packages["package6"]) + + +def seed_city_like_relation(cities, travellers): + travellers["traveller1"].likes_city.connect(cities["city1"]) + travellers["traveller1"].likes_city.connect(cities["city2"]) + travellers["traveller2"].likes_city.connect(cities["city3"]) + travellers["traveller2"].likes_city.connect(cities["city4"]) + travellers["traveller3"].likes_city.connect(cities["city5"]) + travellers["traveller3"].likes_city.connect(cities["city1"]) + + +def seed_attraction_like_relation(travellers, attractions): + travellers["traveller1"].likes_attraction.connect(attractions["attraction1"]) + travellers["traveller1"].likes_attraction.connect(attractions["attraction2"]) + travellers["traveller2"].likes_attraction.connect(attractions["attraction3"]) + travellers["traveller2"].likes_attraction.connect(attractions["attraction4"]) + travellers["traveller3"].likes_attraction.connect(attractions["attraction5"]) + travellers["traveller3"].likes_attraction.connect(attractions["attraction6"]) + travellers["traveller4"].likes_attraction.connect(attractions["attraction7"]) + travellers["traveller4"].likes_attraction.connect(attractions["attraction8"]) + travellers["traveller5"].likes_attraction.connect(attractions["attraction9"]) + travellers["traveller5"].likes_attraction.connect(attractions["attraction10"]) diff --git a/app/seed/seed_topic.py b/app/seed/seed_topic.py index 2456daa..e7f81a5 100644 --- a/app/seed/seed_topic.py +++ b/app/seed/seed_topic.py @@ -3,8 +3,8 @@ def seed_topic(): return dict( - adventure=Topic(name="Adventure").save(), - cuisine=Topic(name="Cuisine").save(), - beaches=Topic(name="Beaches").save(), - history=Topic(name="Historical").save(), + topic1=Topic(name="Adventure").save(), + topic2=Topic(name="Cuisine").save(), + topic3=Topic(name="Beaches").save(), + topic4=Topic(name="Historical").save(), ) diff --git a/app/seed/seed_users.py b/app/seed/seed_users.py index f4692db..671148d 100644 --- a/app/seed/seed_users.py +++ b/app/seed/seed_users.py @@ -5,70 +5,70 @@ def seed_traveller(): return dict( - Lucifer=Traveller( + traveller1=Traveller( name="Lucifer", phone="+917738886661", gender="M", dob=date(1999, 11, 1), mood="RELAX", ).save(), - Michael=Traveller( + traveller2=Traveller( name="Michael", phone="+917738883002", gender="M", dob=date(1998, 1, 4), mood="RELAX", ).save(), - Jenovah=Traveller( + traveller3=Traveller( name="Jenovah", phone="+917738883013", gender="M", dob=date(1999, 12, 25), mood="MIXED", ).save(), - Ester=Traveller( + traveller4=Traveller( name="Ester", phone="+917738883024", gender="F", dob=date(1999, 10, 18), mood="RELAX", ).save(), - Lahari=Traveller( + traveller5=Traveller( name="Lahari", phone="+917738883035", gender="M", dob=date(1999, 2, 20), mood="MIXED", ).save(), - Gautam=Traveller( + traveller6=Traveller( name="Gautam", phone="+917738883046", gender="M", dob=date(1999, 12, 12), mood="MIXED", ).save(), - Justin=Traveller( + traveller7=Traveller( name="Justin", phone="+917738883697", gender="M", dob=date(1999, 12, 13), mood="ADVENTURE", ).save(), - Selena=Traveller( + traveller8=Traveller( name="Selena", phone="+917738880377", gender="F", dob=date(1999, 7, 22), mood="ADVENTURE", ).save(), - Jelena=Traveller( + traveller9=Traveller( name="Jelena", phone="+917738881438", gender="F", dob=date(2010, 11, 7), mood="ADVENTURE", ).save(), - Karki=Traveller( + traveller10=Traveller( name="Karki", phone="+917738881429", gender="M", @@ -80,7 +80,7 @@ def seed_traveller(): def seed_agency(): return dict( - Manish=Agency( + agency1=Agency( name="Manish Travel Agency", phone="+912228074493", address=( @@ -91,7 +91,7 @@ def seed_agency(): latitude=28.644800, longitude=77.216721, ).save(), - Lohana=Agency( + agency2=Agency( name="Lohana Tour's and Travel", phone="+912228056448", address=( @@ -103,7 +103,7 @@ def seed_agency(): latitude=19.076090, longitude=72.877426, ).save(), - DNO=Agency( + agency3=Agency( name="DiscountsAndOffers", phone="+919930989241", address="1,DiscountsAndOffers,Patel Road,Kandivali West,400067", @@ -116,7 +116,7 @@ def seed_agency(): def seed_shop_owner(): return dict( - Mittal=ShopOwner( + shopowner1=ShopOwner( name="Mittal", phone="+919930989200", address="5, Race Course Road,New Delhi,110001", @@ -124,7 +124,7 @@ def seed_shop_owner(): latitude=28.644800, longitude=77.216721, ).save(), - Adani=ShopOwner( + shopowner2=ShopOwner( name="Adani", phone="+919930989201", address="7, Race Course Road,Mumbai,4000060", @@ -132,7 +132,7 @@ def seed_shop_owner(): latitude=19.076090, longitude=72.877426, ).save(), - Ambani=ShopOwner( + shopowner3=ShopOwner( name="Ambani", phone="+919930989200", address="1, Race Course Road,Ahemdabad,320008", @@ -145,7 +145,7 @@ def seed_shop_owner(): def seed_hotel_owner(): return dict( - Sanjiv=HotelOwner( + hotelowner1=HotelOwner( name="Sanjiv Khana", phone="+919930989231", address=( @@ -155,16 +155,16 @@ def seed_hotel_owner(): is_verified=True, latitude=28.644800, longitude=77.216721, - ), - Ranveer=HotelOwner( + ).save(), + hotelowner2=HotelOwner( name="Ranveer Bhar", phone="+919930989222", address="Balraj Sahani Marg, Juhu Beach, Juhu, Mumbai, Maharashtra 400049", is_verified=True, latitude=19.076090, longitude=72.877426, - ), - Vikas=HotelOwner( + ).save(), + hotelowner3=HotelOwner( name="Vikas Khaana", phone="+919930989233", address=( @@ -174,5 +174,5 @@ def seed_hotel_owner(): is_verified=True, latitude=19.076090, longitude=72.877426, - ), + ).save(), )