forked from shatha-albajly/backend2
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsql_object.py
More file actions
73 lines (65 loc) · 2.87 KB
/
Copy pathsql_object.py
File metadata and controls
73 lines (65 loc) · 2.87 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
72
73
from dataclasses import dataclass
@dataclass
class SqlObject:
upsert_user_profile_query: str = """
INSERT INTO user_data
(user_id, prdcer_dataset, prdcer_lyrs, prdcer_ctlgs, draft_ctlgs)
VALUES ($1, $2, $3, $4, $5)
ON CONFLICT (user_id) DO UPDATE
SET prdcer_dataset = $2,
prdcer_lyrs = $3,
prdcer_ctlgs = $4,
draft_ctlgs = $5;
"""
load_user_profile_query: str = """SELECT * FROM user_data WHERE user_id = $1;"""
population_w_bounding_box: str = """SELECT * FROM "schema_marketplace".population
where latitude BETWEEN $1 AND $2 AND longitude BETWEEN $3 AND $4 LIMIT 20;
"""
housing_w_bounding_box: str = """SELECT * FROM "schema_marketplace".housing
where latitude BETWEEN $1 AND $2 AND longitude BETWEEN $3 AND $4 LIMIT 20;
"""
household_w_bounding_box: str = """SELECT * FROM "schema_marketplace".household
where latitude BETWEEN $1 AND $2 AND longitude BETWEEN $3 AND $4 LIMIT 20;
"""
economic_w_bounding_box: str = """SELECT * FROM "schema_marketplace".economic
where latitude BETWEEN $1 AND $2 AND longitude BETWEEN $3 AND $4 LIMIT 20;
"""
canada_commercial_w_bounding_box_and_property_type: str = """
SELECT address, price, price_description, property_type, city, description, region_stats_summary, latitude, longitude
FROM "schema_marketplace".canada_commercial_properties
WHERE lower(property_type) LIKE '%' || lower($1) || '%'
AND latitude BETWEEN $2 AND $3
AND longitude BETWEEN $4 AND $5
LIMIT 20;
"""
saudi_real_estate_w_bounding_box_and_category: str = """
SELECT url, price, city, latitude, longitude FROM "schema_marketplace".saudi_real_estate
WHERE "category" = $1
AND latitude BETWEEN $2 AND $3
AND longitude BETWEEN $4 AND $5
LIMIT 20;
"""
create_datasets_table: str = """
CREATE SCHEMA IF NOT EXISTS "schema_marketplace";
CREATE TABLE IF NOT EXISTS "schema_marketplace"."datasets" (
filename TEXT PRIMARY KEY,
request_data JSONB,
response_data JSONB,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
"""
store_dataset: str = """
INSERT INTO "schema_marketplace"."datasets"
(filename, request_data, response_data, created_at)
VALUES ($1, $2, $3, $4)
ON CONFLICT (filename)
DO UPDATE SET
request_data = $2,
response_data = $3,
created_at = $4;
"""
load_dataset: str = """
SELECT response_data
FROM "schema_marketplace"."datasets"
WHERE filename = $1;
"""