-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathMeuPDVServer.py
101 lines (77 loc) · 2.75 KB
/
MeuPDVServer.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
90
91
92
93
94
95
96
97
98
99
100
101
import dbmanager as dbm
import json as JSON
# import hmac
# VEJA REST_SCHEME.md
# Encoder de json, para retornar para o usuário
json = JSON.JSONEncoder()
# Registrar usuário pela utilização de procedures
def register(req):
params = {}
try:
params = req.json # convert a entrada do body para json
except Exception as e:
return req.Response(text=json.encode({'status':'REGISTER_FAILED'}))
nome = params['nome']
username = params['username']
password = params['password']
id_contato = params['id_contato']
data = {'status': 'REGISTER_AND_AUTOLOGIN_FAILED'}
with dbm.Connection() as con:
re = con.execute(dbm.REGISTER, [password, username, nome, id_contato])
rel = con.execute(dbm.LOGIN, [username, password])
if len(rel)==0:
data['status'] = 'REGISTER_AND_AUTOLOGIN_SUCCESSFUL'
else:
data['response_from_db'] = str(re)
return req.Response(text=json.encode(data), mime_type='json')
# Recebe logins do usuário
def login(req):
params = {}
try:
params = req.json # convert a entrada do body para json
except Exception as e:
print(str(e))
return req.Response(text='Invalid Body')
# Dados de retorno
data = {
'status': 'LOGIN_SUCCESSFUL'
}
# Connect to the database
with dbm.Connection() as con:
# Retrieve 0 if no login found
re = con.execute(dbm.LOGIN, [params['username'], params['password']])
if len(re)==0:
data['status'] = 'LOGIN_FAILED'
return req.Response(text=json.encode(data), mime_type='json')
# Recebe logouts do usuário
def logout(req):
return req.Response(text='Not implemented yet')
# Lista valores dentro de determinas tabelas (veja REST_SCHEME.md '/show')
def show(req):
params = {}
try:
params = req.json # convert a entrada do body para json
except Exception as e:
print(str(e))
return req.Response(text='Invalid Body')
# META part where we identify what table to show
table_name = params['table_name']
# Get the data from the database
data = {'res':None}
with dbm.Connection() as con:
data['res'] = con.execute( dbm.select_from(table_name) )
return req.Response(text=json.encode(data), mime_type='json')
def delete(req):
params = {}
try:
params = req.json # convert a entrada do body para json
except Exception as e:
print(str(e))
return req.Response(text='Invalid Body')
table_name = params['table_name']
where = params['where']
equals = params['equals']
data = {'status': 'DELETE_IN_DEV'}
with dbm.Connection() as con:
con.execute(dbm.delete_from(table_name), [where, equals])
return req.Response(text=json.encode(data))