-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathFileResource.py
89 lines (71 loc) · 2.07 KB
/
FileResource.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
from flask_restful import reqparse, Resource
from flask import request
from models import File
from serializers import file_schema
class FileResource(Resource):
def __init__(self):
self.parser = reqparse.RequestParser()
self.parser.add_argument(
'document',
required=True,
location='json',
help='Cade o arquivo?'
)
self.parser.add_argument(
'user_id',
required=True,
location='json',
help='Id do usuario responsavel do documento nao pode ser vazio'
)
self.parser.add_argument(
'extension',
required=True,
location='json',
help='Extensao nao pode ser vazio'
)
def post(self):
data = self.parser.parse_args()
new_file = File(
document=data['document'],
user_id=data['user_id'],
extension=data['extension']
)
try:
new_file.save()
return {'message': 'Arquivo salvo com sucesso'}, 200
except Exception as err:
print(err)
return {'message': 'Algo esta incorreto'}, 500
def get(self):
if 'id' in requests.args:
doc = File.find_file_by_id(request.args['id'])
if doc:
return file_schema.jsonify(doc)
else: {'message': 'Arquivo nao encontrado'}, 404
else:
return File.retrieve_all_files()
def put(self):
data = self.parser.parse_args()
doc = File.get_file_by_id(data['id'])
if doc:
doc.document = data['document']
doc.user_id = data['user_id']
doc.extension = data['extension']
try:
doc.save()
return {'message': 'Arquivo atualizado com sucesso'}, 200
except Exception as err:
print(err)
return {'message': 'Algo esta incorreto'}, 500
else:
return {'message': 'Arquivo nao encontrado'}, 404
def delete(self):
if 'id' in requests.args:
try:
File.remove(requests.args['id'])
return {'message': 'Arquivo deletado com sucesso'}, 200
except Exception as err:
print(err)
return {'message': 'Algo esta incorreto'}, 500
else:
return {'message': 'BAD REQUEST'}, 400