101 / api /views.py
thejagstudio's picture
Upload 46 files
5868895 verified
raw
history blame
4.12 kB
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})