add dockerfile
parent
de9ca3ce04
commit
82518c563e
|
|
@ -0,0 +1,13 @@
|
|||
FROM python:3.8
|
||||
|
||||
RUN python -m venv venv
|
||||
RUN surce venv/bin/activate
|
||||
|
||||
CMD ["mkdir", "application"]
|
||||
WORKDIR /application
|
||||
|
||||
RUN git clone git@github.com:TBS093A/trade-app-backend.git
|
||||
|
||||
RUN ./packages.sh
|
||||
RUN ./migrate.sh
|
||||
RUN ./run.sh
|
||||
|
|
@ -3,6 +3,7 @@ from django.http import HttpResponse
|
|||
from datetime import datetime
|
||||
from .utilities import *
|
||||
|
||||
|
||||
class ValidationUtils():
|
||||
|
||||
@classmethod
|
||||
|
|
@ -12,6 +13,7 @@ class ValidationUtils():
|
|||
class Meta:
|
||||
abstract = True
|
||||
|
||||
|
||||
class AbstractUtilsCRUD():
|
||||
"""
|
||||
This class have a primary utilities for CRUD functionality
|
||||
|
|
@ -177,7 +179,7 @@ class AbstractUpdate(AbstractUtilsCRUD):
|
|||
@classmethod
|
||||
def putObject(self, request, objectID, privilige):
|
||||
object = jsonLoad(request)
|
||||
if checkSession(request, privilige) and checkUserPermission(object, request):
|
||||
if checkSession(request, privilige) or checkUserPermission(object, request):
|
||||
return self._updateObject(object, objectID)
|
||||
else:
|
||||
return HttpResponse("No Permission")
|
||||
|
|
@ -201,7 +203,7 @@ class AbstractDelete(AbstractUtilsCRUD):
|
|||
@classmethod
|
||||
def deleteObject(self, request, objectID, privilige):
|
||||
objectDel = self._objectFactory().objects.get(pk = objectID)
|
||||
if checkSession(request, privilige) and checkUserPermission(objectDel.toDict(), request):
|
||||
if checkSession(request, privilige) or checkUserPermission(objectDel.toDict(), request):
|
||||
objectDel.delete()
|
||||
return HttpResponse(f"Delete Object: {objectDel}")
|
||||
else:
|
||||
|
|
@ -213,11 +215,15 @@ class AbstractDelete(AbstractUtilsCRUD):
|
|||
|
||||
class AbstractCRUD(
|
||||
models.Model,
|
||||
ValidationUtils,
|
||||
AbstractGet,
|
||||
AbstractCreate,
|
||||
AbstractUpdate,
|
||||
AbstractDelete,
|
||||
):
|
||||
|
||||
@classmethod
|
||||
def fromDict(self, dict):
|
||||
self.__dict__.update(dict)
|
||||
|
||||
class Meta:
|
||||
abstract = True
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -22,6 +22,8 @@ def createToken(userDict):
|
|||
|
||||
def checkSession(request, privilige):
|
||||
token = tryGetTokenFromRequest(request)
|
||||
print( token )
|
||||
print( tokens )
|
||||
for currentToken in tokens:
|
||||
if token == currentToken:
|
||||
if decodeToken(currentToken)['payload']['privilige'] >= privilige:
|
||||
|
|
@ -70,6 +72,8 @@ def checkUserPermission(modelDict, request):
|
|||
|
||||
token = tryGetTokenFromRequest(request)
|
||||
if modelIsNotUser(modelDict):
|
||||
print( UserIsAdmin(token) )
|
||||
print( UserIsModer(token) )
|
||||
if UserIsAdmin(token):
|
||||
return True
|
||||
elif UserIsModer(token):
|
||||
|
|
|
|||
Loading…
Reference in New Issue