@@ -7,23 +7,9 @@ const locale = require('../services/locale.js');
7
7
8
8
// TODO: Move to model classes
9
9
10
- const getUserSubscriptionId = async ( guildId , userId ) => {
11
- const sql = `
12
- SELECT id
13
- FROM subscriptions
14
- WHERE guild_id = ? AND user_id = ?
15
- ` ;
16
- const args = [ guildId , userId ] ;
17
- const results = await db . query ( sql , args ) ;
18
- if ( results && results . length > 0 ) {
19
- return results [ 0 ] . id ;
20
- }
21
- return createUserSubscription ( guildId , userId ) ;
22
- } ;
23
-
24
10
const createUserSubscription = async ( guildId , userId ) => {
25
11
const sql = `
26
- INSERT IGNORE INTO subscriptions (guild_id, user_id, enabled, distance, latitude, longitude, icon_style )
12
+ INSERT IGNORE INTO wdr_subscriptions (guild_id, user_id, status )
27
13
VALUES (?, ?, 1, 0, 0, 0, 'Default')
28
14
` ;
29
15
const args = [ guildId , userId ] ;
@@ -39,36 +25,36 @@ const getUserSubscriptionStats = async (guildId, userId) => {
39
25
const sql = `
40
26
SELECT
41
27
(
42
- SELECT COUNT(id )
43
- FROM pokemon
44
- WHERE guild_id = ? AND user_id = ?
28
+ SELECT COUNT(* )
29
+ FROM wdr_subscriptions
30
+ WHERE guild_id = ? AND user_id = ? AND sub_type='pokemon'
45
31
) AS pokemon,
46
32
(
47
- SELECT COUNT(id )
48
- FROM pvp
49
- WHERE guild_id = ? AND user_id = ?
33
+ SELECT COUNT(* )
34
+ FROM wdr_subscriptions
35
+ WHERE guild_id = ? AND user_id = ? AND sub_type='pvp'
50
36
) AS pvp,
51
37
(
52
- SELECT COUNT(id )
53
- FROM raids
54
- WHERE guild_id = ? AND user_id = ?
38
+ SELECT COUNT(* )
39
+ FROM wdr_subscriptions
40
+ WHERE guild_id = ? AND user_id = ? AND sub_type='raid'
55
41
) AS raids,
56
42
(
57
- SELECT COUNT(id )
58
- FROM gyms
59
- WHERE guild_id = ? AND user_id = ?
43
+ SELECT COUNT(* )
44
+ FROM wdr_subscriptions
45
+ WHERE guild_id = ? AND user_id = ? AND sub_type='raid'
60
46
) AS gyms,
61
47
(
62
- SELECT COUNT(id )
63
- FROM quests
64
- WHERE guild_id = ? AND user_id = ?
48
+ SELECT COUNT(* )
49
+ FROM wdr_subscriptions
50
+ WHERE guild_id = ? AND user_id = ? AND sub_type='quest'
65
51
) AS quests,
66
52
(
67
- SELECT COUNT(id )
68
- FROM invasions
69
- WHERE guild_id = ? AND user_id = ?
53
+ SELECT COUNT(* )
54
+ FROM wdr_subscriptions
55
+ WHERE guild_id = ? AND user_id = ? AND sub_type='invasion'
70
56
) AS invasions
71
- FROM subscriptions
57
+ FROM wdr_subscriptions
72
58
LIMIT 1;
73
59
` ;
74
60
const args = [
@@ -88,17 +74,16 @@ const getUserSubscriptionStats = async (guildId, userId) => {
88
74
89
75
const getPokemonSubscriptions = async ( guildId , userId ) => {
90
76
const sql = `
91
- SELECT id, guild_id, user_id, pokemon_id, form, min_cp, min_iv, iv_list , min_lvl, max_lvl, gender, city
92
- FROM pokemon
93
- WHERE guild_id = ? AND user_id = ?
77
+ SELECT guild_id, user_id, pokemon_id, form, areas, location, min_cp, min_iv, max_iv , min_lvl, max_lvl, gender, geotype
78
+ FROM wdr_subscriptions
79
+ WHERE guild_id = ? AND user_id = ? AND sub_type='pokemon'
94
80
` ;
95
81
const args = [ guildId , userId ] ;
96
82
const results = await db . query ( sql , args ) ;
97
83
if ( results ) {
98
84
results . forEach ( result => {
99
- result . name = locale . getPokemonName ( result . pokemon_id ) ;
85
+ result . name = locale . getPokemonName ( result . pokemon_id ) || 'All' ;
100
86
result . cp = `${ result . min_cp } -4096` ;
101
- result . iv = result . min_iv ;
102
87
result . iv_list = JSON . parse ( result . iv_list || '[]' ) ;
103
88
result . lvl = `${ result . min_lvl } -${ result . max_lvl } ` ;
104
89
//result.city = result.city;
@@ -109,9 +94,9 @@ const getPokemonSubscriptions = async (guildId, userId) => {
109
94
110
95
const getPvpSubscriptions = async ( guildId , userId ) => {
111
96
const sql = `
112
- SELECT id, guild_id, user_id, pokemon_id, form, league, min_rank, min_percent, city
113
- FROM pvp
114
- WHERE guild_id = ? AND user_id = ?
97
+ SELECT guild_id, user_id, pokemon_id, form, league, min_rank, geotype
98
+ FROM wdr_subscriptions
99
+ WHERE guild_id = ? AND user_id = ? AND sub_type='pvp'
115
100
` ;
116
101
const args = [ guildId , userId ] ;
117
102
const results = await db . query ( sql , args ) ;
@@ -128,8 +113,8 @@ const getPvpSubscriptions = async (guildId, userId) => {
128
113
const getRaidSubscriptions = async ( guildId , userId ) => {
129
114
const sql = `
130
115
SELECT id, guild_id, user_id, pokemon_id, form, city
131
- FROM raids
132
- WHERE guild_id = ? AND user_id = ?
116
+ FROM wdr_subscriptions
117
+ WHERE guild_id = ? AND user_id = ? AND sub_type='raid'
133
118
` ;
134
119
const args = [ guildId , userId ] ;
135
120
const results = await db . query ( sql , args ) ;
@@ -144,8 +129,8 @@ const getRaidSubscriptions = async (guildId, userId) => {
144
129
const getGymSubscriptions = async ( guildId , userId ) => {
145
130
const sql = `
146
131
SELECT id, guild_id, user_id, name
147
- FROM gyms
148
- WHERE guild_id = ? AND user_id = ?
132
+ FROM wdr_subscriptions
133
+ WHERE guild_id = ? AND user_id = ? AND sub_type='gym'
149
134
` ;
150
135
const args = [ guildId , userId ] ;
151
136
const results = await db . query ( sql , args ) ;
@@ -155,8 +140,8 @@ const getGymSubscriptions = async (guildId, userId) => {
155
140
const getQuestSubscriptions = async ( guildId , userId ) => {
156
141
const sql = `
157
142
SELECT id, guild_id, user_id, reward, city
158
- FROM quests
159
- WHERE guild_id = ? AND user_id = ?
143
+ FROM wdr_subscriptions
144
+ WHERE guild_id = ? AND user_id = ? AND sub_type='quest'
160
145
` ;
161
146
const args = [ guildId , userId ] ;
162
147
const results = await db . query ( sql , args ) ;
@@ -166,8 +151,8 @@ const getQuestSubscriptions = async (guildId, userId) => {
166
151
const getInvasionSubscriptions = async ( guildId , userId ) => {
167
152
const sql = `
168
153
SELECT id, guild_id, user_id, reward_pokemon_id, city
169
- FROM invasions
170
- WHERE guild_id = ? AND user_id = ?
154
+ FROM wdr_subscriptions
155
+ WHERE guild_id = ? AND user_id = ? AND sub_type='invasion'
171
156
` ;
172
157
const args = [ guildId , userId ] ;
173
158
const results = await db . query ( sql , args ) ;
@@ -181,8 +166,8 @@ const getInvasionSubscriptions = async (guildId, userId) => {
181
166
182
167
const getSubscriptionSettings = async ( guildId , userId ) => {
183
168
const sql = `
184
- SELECT enabled, distance, latitude, longitude, icon_style
185
- FROM subscriptions
169
+ SELECT status
170
+ FROM wdr_subscriptions
186
171
WHERE guild_id = ? AND user_id = ?
187
172
` ;
188
173
const args = [ guildId , userId ] ;
@@ -193,27 +178,20 @@ const getSubscriptionSettings = async (guildId, userId) => {
193
178
return results ;
194
179
} ;
195
180
196
- const setSubscriptionSettings = async ( guildId , userId , enabled , distance , latitude , longitude , icon_style ) => {
181
+ const setSubscriptionSettings = async ( guildId , userId , status ) => {
197
182
const sql = `
198
- UPDATE subscriptions
199
- SET enabled = ?, distance = ?, latitude = ?, longitude = ?, icon_style = ?
183
+ UPDATE wdr_subscriptions
184
+ SET status = ?
200
185
WHERE guild_id = ? AND user_id = ?
201
186
` ;
202
187
const args = [
203
- enabled ,
204
- distance ,
205
- latitude ,
206
- longitude ,
207
- icon_style ,
208
- guildId ,
209
- userId
188
+ status
210
189
] ;
211
190
const results = await db . query ( sql , args ) ;
212
191
return results . affectedRows > 0 ;
213
192
} ;
214
193
215
194
module . exports = {
216
- getUserSubscriptionId,
217
195
createUserSubscription,
218
196
getUserSubscriptionStats,
219
197
getPokemonSubscriptions,
0 commit comments