app_manager 1.1.4 → 1.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 7010c3191509441af8f2164b82d8f51d10ac81e75a5d58dff8f171fe2f664eef
4
- data.tar.gz: 3ea1e09198fc5baae7704d5165f1aa8a2b96ef032256d6053892d38a23aa7818
3
+ metadata.gz: 0c3feb475e1932e9ddce85101ac275262e5bd4f2ab9f8abd6f1201cc1d67a929
4
+ data.tar.gz: b17c9dc2f616130e5a0f9e3a9c962fd55a6006342fe04caf78fb4c2a850f955d
5
5
  SHA512:
6
- metadata.gz: 9d3e42810a41f71f1ef7a64eefef549d8a0b6dd2f0c8bf31dbb08ac059bf3ea835b27d10e895f550cf69030c3777cebf78a35118aed8b7d06d03d446addc1196
7
- data.tar.gz: 0b5d935014c38b62e4a0d14037195d5e33c98d4ab8108da60223f8dfc73148d517fdb54c2cc8ee836832d31bb1aaa6b2cba888a72750f038b6d6c2fdf2ffcfe2
6
+ metadata.gz: e1f07eb0df1fc3d082abbe4a58ed404cac3a2e5d5fd3a19ca21a32183d5d67076409487612be1989016f00a637d305a643ab0739ce957d7f2cb5d94ecd9027b1
7
+ data.tar.gz: 18aa4fa121cb88dac088661fb1fb06467ea890af098ac6315401e2d481b42d0b282ad2670334064e3ee95ab3e69b8e730dd4c7be2b02c7741ec7f1f53c627d05
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- app_manager (1.1.4)
4
+ app_manager (1.1.7)
5
5
  httparty
6
6
  kaminari (>= 0.16.3)
7
7
  rails (>= 5.2.0)
@@ -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,27 @@
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
+ begin
13
+ FileUtils.chmod 0777, "db/#{db_name}.db"
14
+ rescue Exception => e
15
+ puts ">>>>>> #{e.inspect}"
16
+ end
10
17
  @apm_db.results_as_hash = true
18
+ create_plan_table
19
+ create_charges_table
20
+ create_apps_table
21
+ create_app_structures_table
22
+ create_discount_plans_table
23
+ create_extend_trials_table
24
+ create_plan_users_table
11
25
  end
12
26
 
13
27
  def save_api_data(params)
@@ -50,7 +64,7 @@ module AppManager
50
64
 
51
65
  def save_api_plans(plans)
52
66
  @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)"
67
+ create_plan_table
54
68
 
55
69
  if plans.any?
56
70
  plans.each do |plan|
@@ -75,7 +89,7 @@ module AppManager
75
89
 
76
90
  def save_api_charges(charges)
77
91
  @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))"
92
+ create_charges_table
79
93
  if charges.any?
80
94
  charges.each do |charge|
81
95
  charge_test = charge['test'] ? 1 : 0
@@ -87,7 +101,7 @@ module AppManager
87
101
 
88
102
  def save_api_apps(apps)
89
103
  @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)"
104
+ create_apps_table
91
105
  if apps.any?
92
106
  apps.each do |app|
93
107
  @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 +112,15 @@ module AppManager
98
112
 
99
113
  def save_api_app_structures(app_structures)
100
114
  @apm_db.execute("DROP TABLE IF EXISTS app_structures;")
101
- @apm_db.execute "CREATE TABLE IF NOT EXISTS app_structures(banners text)"
115
+ create_app_structures_table
102
116
  if !app_structures.nil?
103
117
  @apm_db.execute("INSERT INTO app_structures (banners) VALUES (?)", "#{app_structures.to_h}")
104
118
  end
105
119
  end
106
120
 
107
121
  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))"
122
+ @apm_db.execute("DROP TABLE IF EXISTS discount_plans;")
123
+ create_discount_plans_table
110
124
  if discount_plans.any?
111
125
  discount_plans.each do |discount_plan|
112
126
  @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 +130,7 @@ module AppManager
116
130
 
117
131
  def save_api_extend_trials(extend_trials)
118
132
  @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)"
133
+ create_extend_trials_table
120
134
  if extend_trials.any?
121
135
  extend_trials.each do |extend_trial|
122
136
  @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 +140,7 @@ module AppManager
126
140
 
127
141
  def save_api_plan_users(plan_users)
128
142
  @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)"
143
+ create_plan_users_table
130
144
  if plan_users.any?
131
145
  plan_users.each do |plan_user|
132
146
  @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 +164,34 @@ module AppManager
150
164
  return app_structures
151
165
  end
152
166
 
167
+ def create_plan_table
168
+ @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)"
169
+ end
170
+
171
+ def create_charges_table
172
+ @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))"
173
+ end
174
+
175
+ def create_apps_table
176
+ @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)"
177
+ end
178
+
179
+ def create_app_structures_table
180
+ @apm_db.execute "CREATE TABLE IF NOT EXISTS app_structures(banners text)"
181
+ end
182
+
183
+ def create_discount_plans_table
184
+ @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))"
185
+ end
186
+
187
+ def create_extend_trials_table
188
+ @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)"
189
+ end
190
+
191
+ def create_plan_users_table
192
+ @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)"
193
+ end
194
+
153
195
 
154
196
  def get_local_plans(params)
155
197
  plans_data = []
@@ -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.4"
4
+ VERSION = "1.1.7"
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.4
4
+ version: 1.1.7
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-28 00:00:00.000000000 Z
11
+ date: 2022-06-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: httparty