-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdata_manager.py
More file actions
71 lines (60 loc) · 2.01 KB
/
data_manager.py
File metadata and controls
71 lines (60 loc) · 2.01 KB
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
from typing import List, Dict
from psycopg2 import sql
from psycopg2.extras import RealDictCursor
import database_common
@database_common.connection_handler
def get_mentors(cursor):
query = """
SELECT first_name, last_name, city
FROM mentor
ORDER BY first_name"""
cursor.execute(query)
return cursor.fetchall()
@database_common.connection_handler
def get_mentors_by_last_name(cursor, last_name):
query = """
SELECT first_name, last_name, city
FROM mentor
WHERE last_name=%(last_name)s
ORDER BY first_name"""
cursor.execute(query, {"last_name":last_name})
return cursor.fetchall()
@database_common.connection_handler
def get_distinc_cities(cursor):
query = """
SELECT DISTINCT city
FROM mentor
"""
cursor.execute(query)
return cursor.fetchall()
@database_common.connection_handler
def get_mentors_by_city_name(cursor, city_name):
query = """
SELECT first_name, last_name, city
FROM mentor
WHERE city=%(city_name)s
ORDER BY first_name
"""
cursor.execute(query, {"city_name":city_name})
return cursor.fetchall()
@database_common.connection_handler
def get_applicants_by_name(cursor, applicant_name):
query = """
SELECT CONCAT(first_name, ' ', last_name) as full_name, phone_number
FROM applicant WHERE first_name ILIKE %(name)s;
"""
cursor.execute(query, {"name": applicant_name})
return cursor.fetchall()
@database_common.connection_handler
def add_applicant(cursor, applicant_first_name, applicant_last_name, applicant_phone, applicant_email):
query = """
INSERT INTO applicant(first_name, last_name, phone_number, email, application_code)
VALUES (%(first_name)s, %(last_name)s, %(phone_number)s, %(email)s, '1234');
"""
cursor.execute(query, {
"first_name" : applicant_first_name,
"last_name": applicant_last_name,
"phone_number" : applicant_phone,
"email" : applicant_email
})
return None