app_manager 1.1.3 → 1.1.6

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c0c640524798e47cd645a79d60bc840921367fc60b1b1ece6e79b36a301ae356
4
- data.tar.gz: fe5c22494e0aae4b47160a8e843849f2c2a6bb47fec46524a94b5a08cadb3bd3
3
+ metadata.gz: 3c7139d80f35a011691ed85a8f0d62f164210fc1a2e1ab830bdd29820f0dff49
4
+ data.tar.gz: 7ea3211619b2e2ff457bc87929bf3879dafe5471aa3771427137251f33f386f8
5
5
  SHA512:
6
- metadata.gz: 20b42edc6c36fae16503025cd9fb6d412e497259533c58676c28a1243eb4948da563131e9a936d1c8892ae8b1f787722c1f67d091150a452a2cc76c7169d7f37
7
- data.tar.gz: d6ba02cd74805775d92dc1459dd3670e649379a4fb4c8f220c408c69ff59037f9ae196a3794b70d5d0f962d9255bc7003f68e272e2242baa087067b1a3c5f2d5
6
+ metadata.gz: fccc462df489a3ddfcd71a371b0ab41ca35e0358fcbc0220f1ef477d8fabf6419036b5ce4b37d4d33f3f93b2426987c0ef8588b6a9cce5d3025dc98330d28d02
7
+ data.tar.gz: af2479eee70e4bcb9be2503b45fa09a70eae273c8f46357642000dc7f8d9dc5b821e7c5393caba6f1b87245c8b72fcf0d75ee07253d4f25b2214f038874da68e
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- app_manager (1.1.3)
4
+ app_manager (1.1.6)
5
5
  httparty
6
6
  kaminari (>= 0.16.3)
7
7
  rails (>= 5.2.0)
@@ -147,7 +147,7 @@ GEM
147
147
  public_suffix (4.0.6)
148
148
  racc (1.6.0)
149
149
  rack (2.2.3.1)
150
- rack-test (2.0.0)
150
+ rack-test (2.0.2)
151
151
  rack (>= 1.3)
152
152
  rails (7.0.3)
153
153
  actioncable (= 7.0.3)
data/README.md CHANGED
@@ -168,9 +168,9 @@ and then you can use follwing methods with your shop objects.
168
168
 
169
169
  @shop.get_remaining_days # return integer based on trial activated date.
170
170
 
171
- @shop.get_plan # return integer based on trial activated date.
171
+ @shop.get_plan # return current plan hash
172
172
 
173
- @shop.get_charge # return integer based on trial activated date.
173
+ @shop.get_charge # return current charge hash
174
174
  ```
175
175
 
176
176
 
@@ -70,12 +70,27 @@ module AppManager
70
70
 
71
71
  def users
72
72
  if model
73
- if params[:search]
73
+
74
74
  search = params[:search]
75
+ sort = params[:sort] || AppManager.configuration.field_names['created_at']
76
+ order = params[:order] || 'asc'
77
+ plans = params[:plans] || nil
78
+ plans = plans.values if !plans.nil?
79
+ shopify_plans = params[:shopify_plans] || nil
80
+ shopify_plans = shopify_plans.values if !shopify_plans.nil?
81
+ items_per_page = params[:itemsPerPage] || 25
75
82
  @shopify_email = AppManager.configuration.field_names['shopify_email']
76
- data = model.where("#{@shopify_domain} LIKE :search OR #{@shopify_email} LIKE :search", search: "%#{search}%").page(params[:page]).per(10)
83
+ @shopify_plan_name_field = AppManager.configuration.field_names['shopify_plan']
84
+ data = model
85
+ if params[:search]
86
+ data = model.where("#{@shopify_domain} LIKE :search OR #{@shopify_email} LIKE :search", search: "%#{search}%")
87
+ data = data.where(@plan_field => plans) if !plans.nil?
88
+ data = data.where(@shopify_plan_name_field => shopify_plans) if !shopify_plans.nil?
89
+ data = data.page(params[:page]).per(items_per_page)
77
90
  else
78
- data = model.page(params[:page]).per(10)
91
+ data = model.where(@plan_field => plans) if !plans.nil?
92
+ data = data.where(@shopify_plan_name_field => shopify_plans) if !shopify_plans.nil?
93
+ data = data.page(params[:page]).per(items_per_page)
79
94
  end
80
95
  users = {
81
96
  "current_page" => data && data.current_page ? data.current_page : 0,
@@ -60,9 +60,9 @@ module AppManager
60
60
  @fs = AppManager::FailSafe.new
61
61
  case path
62
62
  when "static-contents"
63
- return @fs.get_local_app_structures
63
+ return @fs.get_local_app_structures
64
64
  when 'plans'
65
- return @fs.get_local_plans(params)
65
+ return @fs.get_local_plans(params)
66
66
  when 'plan'
67
67
  return @fs.get_local_plan(params)
68
68
  when 'store-charge'
@@ -70,7 +70,7 @@ module AppManager
70
70
  when 'cancel-charge'
71
71
  return @fs.store_cancel_charge(params,options)
72
72
  when 'get-remaining-days'
73
- return @fs.get_local_remaining_days(params,options)
73
+ return @fs.get_local_remaining_days(params,options)
74
74
  when 'get-charge'
75
75
  return @fs.get_local_charge(params,options)
76
76
  else
@@ -1,13 +1,23 @@
1
1
  require 'json'
2
2
  require 'date'
3
3
  require 'time'
4
+ require "fileutils"
5
+
4
6
  module AppManager
5
7
 
6
8
  class FailSafe
7
9
 
8
10
  def initialize(db_name='app_manager_local')
9
11
  @apm_db = SQLite3::Database.open "db/#{db_name}.db"
12
+ FileUtils.chmod 0755, "db/#{db_name}.db"
10
13
  @apm_db.results_as_hash = true
14
+ create_plan_table
15
+ create_charges_table
16
+ create_apps_table
17
+ create_app_structures_table
18
+ create_discount_plans_table
19
+ create_extend_trials_table
20
+ create_plan_users_table
11
21
  end
12
22
 
13
23
  def save_api_data(params)
@@ -50,7 +60,7 @@ module AppManager
50
60
 
51
61
  def save_api_plans(plans)
52
62
  @apm_db.execute("DROP TABLE IF EXISTS plans;")
53
- @apm_db.execute "CREATE TABLE IF NOT EXISTS plans(id integer,type varchar(255), name varchar(255), price float, offer_text varchar(255), description varchar(255), interval text, shopify_plans text, trial_days integer, test boolean, on_install integer, is_custom boolean, app_id integer, base_plan integer, created_at datetime, updated_at datetime, public boolean, discount integer, cycle_count integer, store_base_plan boolean, choose_later_plan boolean, discount_type varchar(255), affiliate text, features text, deleted_at datetime)"
63
+ create_plan_table
54
64
 
55
65
  if plans.any?
56
66
  plans.each do |plan|
@@ -75,7 +85,7 @@ module AppManager
75
85
 
76
86
  def save_api_charges(charges)
77
87
  @apm_db.execute("DROP TABLE IF EXISTS charges;")
78
- @apm_db.execute "CREATE TABLE IF NOT EXISTS charges(id INTEGER PRIMARY KEY,charge_id varchar(255),test boolean, status varchar(255),name varchar(255), type varchar(255), price float,interval varchar(255),trial_days integer,billing_on datetime,activated_on datetime,trial_ends_on datetime,cancelled_on datetime, expires_on datetime,plan_id integer,description text,shop_domain varchar(255),created_at datetime, updated_at datetime, app_id integer, sync boolean DEFAULT 0,process_type varchar(255))"
88
+ create_charges_table
79
89
  if charges.any?
80
90
  charges.each do |charge|
81
91
  charge_test = charge['test'] ? 1 : 0
@@ -87,7 +97,7 @@ module AppManager
87
97
 
88
98
  def save_api_apps(apps)
89
99
  @apm_db.execute("DROP TABLE IF EXISTS apps;")
90
- @apm_db.execute "CREATE TABLE IF NOT EXISTS apps(id integer,name varchar(255),slug varchar(255),url varchar(255),image varchar(255),api_token varchar(255),slack varchar(255), created_at datetime, updated_at datetime)"
100
+ create_apps_table
91
101
  if apps.any?
92
102
  apps.each do |app|
93
103
  @apm_db.execute("INSERT INTO apps (id ,name ,slug ,url ,image ,api_token ,slack , created_at , updated_at ) VALUES (?,?,?,?,?,?,?,?,?)", app['id'],app['name'],app['slug'],app['url'],app['image'],app['api_token'],app['slack'],app['created_at'],app['updated_at'])
@@ -98,15 +108,15 @@ module AppManager
98
108
 
99
109
  def save_api_app_structures(app_structures)
100
110
  @apm_db.execute("DROP TABLE IF EXISTS app_structures;")
101
- @apm_db.execute "CREATE TABLE IF NOT EXISTS app_structures(banners text)"
111
+ create_app_structures_table
102
112
  if !app_structures.nil?
103
113
  @apm_db.execute("INSERT INTO app_structures (banners) VALUES (?)", "#{app_structures.to_h}")
104
114
  end
105
115
  end
106
116
 
107
117
  def save_api_discount_plans(discount_plans)
108
- @apm_db.execute("DROP TABLE IF EXISTS discount_plans;")
109
- @apm_db.execute "CREATE TABLE IF NOT EXISTS discount_plans(id integer,discount integer,shop_domain varchar(255),cycle_count integer,plan_id integer, created_by integer,created_at datetime,updated_at datetime,app_id integer,discount_type varchar(255))"
118
+ @apm_db.execute("DROP TABLE IF EXISTS discount_plans;")
119
+ create_discount_plans_table
110
120
  if discount_plans.any?
111
121
  discount_plans.each do |discount_plan|
112
122
  @apm_db.execute("INSERT INTO discount_plans (id ,discount ,shop_domain ,cycle_count ,plan_id , created_by ,created_at ,updated_at ,app_id ,discount_type ) VALUES (?,?,?,?,?,?,?,?,?,?)", discount_plan['id'],discount_plan['discount'],discount_plan['shop_domain'],discount_plan['cycle_count'],discount_plan['plan_id'],discount_plan['created_by'],discount_plan['created_at'],discount_plan['updated_at'],discount_plan['app_id'],discount_plan['discount_type'])
@@ -116,7 +126,7 @@ module AppManager
116
126
 
117
127
  def save_api_extend_trials(extend_trials)
118
128
  @apm_db.execute("DROP TABLE IF EXISTS extend_trials;")
119
- @apm_db.execute "CREATE TABLE IF NOT EXISTS extend_trials(id integer,shop_domain varchar(255),plan_id integer,app_id integer,days integer,created_by integer,created_at datetime,updated_at datetime,extend_trial_start_at datetime)"
129
+ create_extend_trials_table
120
130
  if extend_trials.any?
121
131
  extend_trials.each do |extend_trial|
122
132
  @apm_db.execute("INSERT INTO extend_trials (id ,shop_domain ,plan_id ,app_id ,days ,created_by ,created_at ,updated_at ,extend_trial_start_at ) VALUES (?,?,?,?,?,?,?,?,?)", extend_trial['id'], extend_trial['shop_domain'], extend_trial['plan_id'], extend_trial['app_id'], extend_trial['days'], extend_trial['created_by'], extend_trial['created_at'], extend_trial['updated_at'], extend_trial['extend_trial_start_at'])
@@ -126,7 +136,7 @@ module AppManager
126
136
 
127
137
  def save_api_plan_users(plan_users)
128
138
  @apm_db.execute("DROP TABLE IF EXISTS plan_users;")
129
- @apm_db.execute "CREATE TABLE IF NOT EXISTS plan_users(id integer,shop_domain varchar(255),plan_id integer,created_by integer,created_at datetime,updated_at datetime)"
139
+ create_plan_users_table
130
140
  if plan_users.any?
131
141
  plan_users.each do |plan_user|
132
142
  @apm_db.execute("INSERT INTO plan_users (id ,shop_domain, plan_id, created_by, created_at, updated_at ) VALUES (?,?,?,?,?,?)", plan_user['id'], plan_user['shop_domain'], plan_user['plan_id'], plan_user['created_by'], plan_user['created_at'], plan_user['updated_at'])
@@ -150,6 +160,34 @@ module AppManager
150
160
  return app_structures
151
161
  end
152
162
 
163
+ def create_plan_table
164
+ @apm_db.execute "CREATE TABLE IF NOT EXISTS plans(id integer,type varchar(255), name varchar(255), price float, offer_text varchar(255), description varchar(255), interval text, shopify_plans text, trial_days integer, test boolean, on_install integer, is_custom boolean, app_id integer, base_plan integer, created_at datetime, updated_at datetime, public boolean, discount integer, cycle_count integer, store_base_plan boolean, choose_later_plan boolean, discount_type varchar(255), affiliate text, features text, deleted_at datetime)"
165
+ end
166
+
167
+ def create_charges_table
168
+ @apm_db.execute "CREATE TABLE IF NOT EXISTS charges(id INTEGER PRIMARY KEY,charge_id varchar(255),test boolean, status varchar(255),name varchar(255), type varchar(255), price float,interval varchar(255),trial_days integer,billing_on datetime,activated_on datetime,trial_ends_on datetime,cancelled_on datetime, expires_on datetime,plan_id integer,description text,shop_domain varchar(255),created_at datetime, updated_at datetime, app_id integer, sync boolean DEFAULT 0,process_type varchar(255))"
169
+ end
170
+
171
+ def create_apps_table
172
+ @apm_db.execute "CREATE TABLE IF NOT EXISTS apps(id integer,name varchar(255),slug varchar(255),url varchar(255),image varchar(255),api_token varchar(255),slack varchar(255), created_at datetime, updated_at datetime)"
173
+ end
174
+
175
+ def create_app_structures_table
176
+ @apm_db.execute "CREATE TABLE IF NOT EXISTS app_structures(banners text)"
177
+ end
178
+
179
+ def create_discount_plans_table
180
+ @apm_db.execute "CREATE TABLE IF NOT EXISTS discount_plans(id integer,discount integer,shop_domain varchar(255),cycle_count integer,plan_id integer, created_by integer,created_at datetime,updated_at datetime,app_id integer,discount_type varchar(255))"
181
+ end
182
+
183
+ def create_extend_trials_table
184
+ @apm_db.execute "CREATE TABLE IF NOT EXISTS extend_trials(id integer,shop_domain varchar(255),plan_id integer,app_id integer,days integer,created_by integer,created_at datetime,updated_at datetime,extend_trial_start_at datetime)"
185
+ end
186
+
187
+ def create_plan_users_table
188
+ @apm_db.execute "CREATE TABLE IF NOT EXISTS plan_users(id integer,shop_domain varchar(255),plan_id integer,created_by integer,created_at datetime,updated_at datetime)"
189
+ end
190
+
153
191
 
154
192
  def get_local_plans(params)
155
193
  plans_data = []
@@ -20,9 +20,9 @@ module AppManager
20
20
  if remaining_days > 0
21
21
  return true
22
22
  end
23
- shopify_fields = @field_names = AppManager.configuration.field_names
24
23
  plan_obj = AppManager::Client.new
25
- active_charge = plan_obj.get_charge(shopify_fields['name']) rescue nil
24
+ shop_domain = self[AppManager.configuration.shopify_domain_field]
25
+ active_charge = plan_obj.get_charge(shop_domain) rescue nil
26
26
  return active_charge['active_charge'].present? && !active_charge['active_charge'].nil? ? true : false
27
27
  end
28
28
 
@@ -134,7 +134,7 @@ module AppManager
134
134
  end
135
135
  return plan_data
136
136
  else
137
- return 'feature_slugs is required'
137
+ return []
138
138
  end
139
139
  end
140
140
 
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module AppManager
4
- VERSION = "1.1.3"
4
+ VERSION = "1.1.6"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: app_manager
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.3
4
+ version: 1.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Hulkapps
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-06-27 00:00:00.000000000 Z
11
+ date: 2022-06-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty