app_manager 1.1.4 → 1.1.7

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: 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