Files
SusMarket/SusMarketBackend/views.py
2024-05-20 17:32:50 +07:00

71 lines
2.4 KiB
Python

import hashlib
from django.http import JsonResponse, HttpRequest, HttpResponse
from django.views.decorators.csrf import csrf_exempt
from django.shortcuts import render
from SusMarketBackend.models import Category, Product, Review, User
def index(request, product: int = 0):
return render(request, 'index.html')
def category(request: HttpRequest):
categoryObj = {"categories": list(Category.objects.all().values())}
return JsonResponse(categoryObj)
def products(request: HttpRequest):
productObj = {"products": list(Product.objects.all().values())}
return JsonResponse(productObj)
def reviews(request: HttpRequest, product: int):
reviewObj = {"review": list(Review.objects.filter(product_id=product).values())}
return JsonResponse(reviewObj)
def register_user(request: HttpRequest):
if request.GET:
login = request.GET["login"]
password = request.GET["password"]
user_obj = User.objects.create(login=login, password=hashlib.md5(str(password).encode('utf-8')).hexdigest())
return JsonResponse({"user": list(User.objects.filter(id=user_obj.id).values())})
return HttpResponse('{error: "You doing not right"}')
@csrf_exempt
def post_review(request: HttpRequest):
if request.method == "POST":
commentary = request.POST["commentary"]
rate = request.POST["rate"]
product = request.POST["product"]
try:
icon = request.POST["icon"]
except Exception:
icon = None
user_id = request.POST["user_id"]
Review.objects.create(commentary=commentary, rate=int(rate), product_id=product, icons=icon, user_id=user_id)
return HttpResponse('{error: "Null"}')
return HttpResponse('{error: "You doing not right"}')
def check_user(request: HttpRequest, login: str):
checkObj = {"status": True if User.objects.filter(login=login).first() is None else False}
return JsonResponse(checkObj)
def user(request: HttpRequest):
if request.GET:
login = request.GET["login"]
password = request.GET["password"]
userObj = {"user": list(User.objects.filter(login=login, password=hashlib.md5(str(password).encode('utf-8')).hexdigest()).values())}
return JsonResponse(userObj)
return HttpResponse('{error: "You doing not right"}')
def user_by_id(request: HttpRequest, user_id: int):
userObj = {"user": list(User.objects.filter(id=user_id).values())}
return JsonResponse(userObj)