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 datetime import datetime
|
||||||
from .utilities import *
|
from .utilities import *
|
||||||
|
|
||||||
|
|
||||||
class ValidationUtils():
|
class ValidationUtils():
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
|
|
@ -12,6 +13,7 @@ class ValidationUtils():
|
||||||
class Meta:
|
class Meta:
|
||||||
abstract = True
|
abstract = True
|
||||||
|
|
||||||
|
|
||||||
class AbstractUtilsCRUD():
|
class AbstractUtilsCRUD():
|
||||||
"""
|
"""
|
||||||
This class have a primary utilities for CRUD functionality
|
This class have a primary utilities for CRUD functionality
|
||||||
|
|
@ -177,7 +179,7 @@ class AbstractUpdate(AbstractUtilsCRUD):
|
||||||
@classmethod
|
@classmethod
|
||||||
def putObject(self, request, objectID, privilige):
|
def putObject(self, request, objectID, privilige):
|
||||||
object = jsonLoad(request)
|
object = jsonLoad(request)
|
||||||
if checkSession(request, privilige) and checkUserPermission(object, request):
|
if checkSession(request, privilige) or checkUserPermission(object, request):
|
||||||
return self._updateObject(object, objectID)
|
return self._updateObject(object, objectID)
|
||||||
else:
|
else:
|
||||||
return HttpResponse("No Permission")
|
return HttpResponse("No Permission")
|
||||||
|
|
@ -201,7 +203,7 @@ class AbstractDelete(AbstractUtilsCRUD):
|
||||||
@classmethod
|
@classmethod
|
||||||
def deleteObject(self, request, objectID, privilige):
|
def deleteObject(self, request, objectID, privilige):
|
||||||
objectDel = self._objectFactory().objects.get(pk = objectID)
|
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()
|
objectDel.delete()
|
||||||
return HttpResponse(f"Delete Object: {objectDel}")
|
return HttpResponse(f"Delete Object: {objectDel}")
|
||||||
else:
|
else:
|
||||||
|
|
@ -213,11 +215,15 @@ class AbstractDelete(AbstractUtilsCRUD):
|
||||||
|
|
||||||
class AbstractCRUD(
|
class AbstractCRUD(
|
||||||
models.Model,
|
models.Model,
|
||||||
ValidationUtils,
|
|
||||||
AbstractGet,
|
AbstractGet,
|
||||||
AbstractCreate,
|
AbstractCreate,
|
||||||
AbstractUpdate,
|
AbstractUpdate,
|
||||||
AbstractDelete,
|
AbstractDelete,
|
||||||
):
|
):
|
||||||
|
|
||||||
|
@classmethod
|
||||||
|
def fromDict(self, dict):
|
||||||
|
self.__dict__.update(dict)
|
||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
abstract = True
|
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):
|
def checkSession(request, privilige):
|
||||||
token = tryGetTokenFromRequest(request)
|
token = tryGetTokenFromRequest(request)
|
||||||
|
print( token )
|
||||||
|
print( tokens )
|
||||||
for currentToken in tokens:
|
for currentToken in tokens:
|
||||||
if token == currentToken:
|
if token == currentToken:
|
||||||
if decodeToken(currentToken)['payload']['privilige'] >= privilige:
|
if decodeToken(currentToken)['payload']['privilige'] >= privilige:
|
||||||
|
|
@ -70,6 +72,8 @@ def checkUserPermission(modelDict, request):
|
||||||
|
|
||||||
token = tryGetTokenFromRequest(request)
|
token = tryGetTokenFromRequest(request)
|
||||||
if modelIsNotUser(modelDict):
|
if modelIsNotUser(modelDict):
|
||||||
|
print( UserIsAdmin(token) )
|
||||||
|
print( UserIsModer(token) )
|
||||||
if UserIsAdmin(token):
|
if UserIsAdmin(token):
|
||||||
return True
|
return True
|
||||||
elif UserIsModer(token):
|
elif UserIsModer(token):
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue