add dockerfile

master/v0.1.0
TBS093A 2020-10-09 14:34:12 +02:00
parent de9ca3ce04
commit 82518c563e
6 changed files with 26 additions and 3 deletions

13
Dockerfile 100644
View File

@ -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

View File

@ -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

View File

@ -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):