/
wa_users.keyspace
127 lines (120 loc) · 3.92 KB
/
wa_users.keyspace
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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
# "First, solve the problem. Then, write the code. -John Johnson"
# "Or use Vangav M"
# www.vangav.com
# MIT License
#
# Copyright (c) 2016 Vangav
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to
# deal in the Software without restriction, including without limitation the
# rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
# sell copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
# IN THE SOFTWARE.
# Community
# Facebook Group: Vangav Open Source - Backend
# fb.com/groups/575834775932682/
# Facebook Page: Vangav
# fb.com/vangav.f
#
# Third party communities for Vangav Backend
# - play framework
# - cassandra
# - datastax
#
# Tag your question online (e.g.: stack overflow, etc ...) with
# #vangav_backend
# to easier find questions/answers online
# @author mustapha
# fb.com/mustapha.abdallah
{
"description": "used for all users-info-related tables",
"name": "wa_users",
"replications": [
{
"description": "used for dev environment",
"name": "dev",
"replication": "'class': 'SimpleStrategy', 'replication_factor' : 1"
}
],
"tables": [
# users_info
{
"description": "stores user information",
"name": "users_info",
"columns": [
{
"name": "user_id",
"type": "uuid"
},
{
"name": "name",
"type": "varchar"
},
{
"name": "phone_number",
"type": "varchar"
},
{
"name": "phone_type",
"type": "varchar"
},
{
"name": "device_token",
"type": "varchar"
}
],
"partition_keys": [
"user_id"
],
"secondary_keys": [
],
"caching": "ALL",
"order_by": [
],
"queries": [
{
"description": "inserts new user's data",
"name": "insert",
"prepared_statement": "INSERT INTO wa_users.users_info (user_id, name, phone_number, phone_type, device_token) VALUES (:user_id, :name, :phone_number, :phone_type, :device_token);"
},
{
"description": "selects all user's data",
"name": "select_all",
"prepared_statement": "SELECT name, phone_number, phone_type, device_token FROM wa_users.users_info WHERE user_id = :user_id;"
},
{
"description": "selects a user's name",
"name": "select_name",
"prepared_statement": "SELECT name FROM wa_users.users_info WHERE user_id = :user_id;"
},
{
"description": "selects a user's phone number",
"name": "select_phone_number",
"prepared_statement": "SElECT phone_number FROM wa_users.users_info WHERE user_id = :user_id;"
},
{
"description": "selects a user's phone_type",
"name": "select_phone_type",
"prepared_statement": "SELECT phone_type FROM wa_users.users_info WHERE user_id = :user_id;"
},
{
"description": "selects a user's device token",
"name": "select_device_token",
"prepared_statement": "SELECT device_token FROM wa_users.users_info WHERE user_id = :user_id;"
}
]
}
]
}