Spaces:
Runtime error
Runtime error
from django.shortcuts import render | |
from django.http import JsonResponse, HttpResponse | |
import requests | |
import json | |
import base64 | |
from authentication.models import UserData, Coupon | |
from django.views.decorators.csrf import csrf_exempt | |
from django.contrib.auth.decorators import login_required | |
from rest_framework.permissions import IsAuthenticated | |
from rest_framework.views import APIView | |
authToken = 'fab57498544244e38bfc2741880f8d61:ed9628295b0642e1b38308795c9cdadd58012df4ceb84a3b9d441c017a1eeac0' | |
class HomeView(APIView): | |
def get(self, request): | |
message = "Welcome at home!" | |
return Response({'message': message}) | |
class EstablishmentListView(APIView): | |
global authToken | |
def get(self, request): | |
url = "https://101smokeshop-uat.revelup.com/enterprise/Establishment/?order_by=id&limit=10&offset=0" | |
headers = { | |
'API-AUTHENTICATION': authToken | |
} | |
response = requests.get(url, headers=headers) | |
data = response.json().get("objects", []) | |
urlBase = "https://101smokeshop-uat.revelup.com" | |
for i in range(len(data)): | |
try: | |
imgData = requests.get(urlBase + data[i]["logo_img"], headers=headers).json() | |
data[i]["logo_img"] = imgData.get("image_url", "") | |
except: | |
pass | |
try: | |
data[i]["address"] = requests.get(urlBase + data[i]["address"], headers=headers).json() | |
except: | |
pass | |
return JsonResponse({"data": data}) | |
def resources_forward(request, resource_name,image_id): | |
url = "https://101smokeshop-uat.revelup.com/resources/"+resource_name+"/"+image_id | |
headers = { | |
'API-AUTHENTICATION': authToken | |
} | |
response = requests.request("GET", url, headers=headers) | |
imageUrl = response.json()["image_url"] | |
response = requests.request("GET", imageUrl) | |
return HttpResponse(response.content, content_type=response.headers['Content-Type']) | |
def product_category(request): | |
global authToken | |
url = "https://101smokeshop-uat.revelup.com/products/ProductCategory/" | |
headers = { | |
'API-AUTHENTICATION': authToken | |
} | |
response = requests.request("GET", url, headers=headers) | |
data = response.json()["objects"] | |
return JsonResponse({"data": data}) | |
class CouponListView(APIView): | |
permission_classes = [IsAuthenticated] | |
def get(self, request): | |
discount_functions = ["CORE", "CUSTOMER", "LOYALTY", "GIFT_WITH_PURCHASE"] | |
discount_methods = ["POINT_REDEMPTION", "REDEEMED", "GIVE_AWAY", "BONUS_COUPON", "VOUCHER_GENERIC", "VOUCHER_LOYALTY", "VOUCHER_FUEL", "VOUCHER_THIRDPARTY"] | |
discount_types = ["AMOUNT", "PERCENT", "RE_PRICE", "ALT_PRICE"] | |
how_often_apply = ["ALL_APPLICABLE", "ONCE_PER_ORDER", "ONCE_PER_SELECTION"] | |
qualification_types = ["ALL", "ITEM", "ORDER"] | |
rewards_types = ["PURCHASES", "ITEMS", "VISIT"] | |
user = UserData.objects.get(user=request.user) | |
coupons = user.coupons.all() | |
data = [] | |
for coupon in coupons: | |
data.append({ | |
"name": coupon.name, | |
"discription": coupon.discription, | |
"pointsNeededForRedemption": coupon.pointsNeededForRedemption, | |
"couponCode": coupon.couponCode, | |
"loyaltyCode": coupon.loyaltyCode, | |
"discount": coupon.discount, | |
"isExpired": coupon.isExpired, | |
"expiryDate": coupon.expiryDate, | |
"discountFunction": discount_functions[coupon.discountFunction], | |
"discountMethod": discount_methods[coupon.discountMethod], | |
"discountType": discount_types[coupon.discountType], | |
"howOftenApply": how_often_apply[coupon.howOftenApply], | |
"qualificationType": qualification_types[coupon.qualificationType], | |
"rewardsType": rewards_types[coupon.rewardsType], | |
}) | |
return JsonResponse({"data": data}) | |