ishapi 0.1.8.254 → 0.1.8.259

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: 13f63645faf4ca0262003033c9f3a8b22ecdd17f4c4df7ac82dedf268ecc3be1
4
- data.tar.gz: a5f84e4158ce19d00398050149f57df6e9721195a95547e46af2c2ea4950e65b
3
+ metadata.gz: 2b2b1dfb4bd9597b2d12c84d53282ee8574c15ef652c4beafbe9238b382c49f3
4
+ data.tar.gz: c845cd0828bc8316ca4884bd8484637dc04bcc42990cad24b9ea63bafa705ea5
5
5
  SHA512:
6
- metadata.gz: e4b617956d9db8d0c22393299f15e4734f9c1a743b936973b351578b76bdbe1e4ab88c9bae6db77879d1319d580eaaaa0d7c4d5eb631fa6e76adddb0fa8128e3
7
- data.tar.gz: f955f43ff3987f4ac16c79f7c4796d200c468ca49f55d625b655fd920e0510faf3f77bc884fef6fbda301d46474107d9c19f3433f1abc86b1a7a6efeffc4d832
6
+ metadata.gz: 4b5fffc9ea10304e43316a34ef25190e08e7ade5958b2fc2218a41924d93e0fc8ec4c237b7ea4eaf8a892c7dd2fc5a3c2fe8bbcd648c9484424c7e802578828f
7
+ data.tar.gz: 8b4a8eae4b0af269d71b0e0552e7061b2cf0f97e263b94f813ad7e5b766e488df49483a3c8a7b28223245f0998b007404c9138e9d5166a4a254d4ce663be4b40
@@ -10,6 +10,7 @@ class ::Ishapi::ApplicationController < ActionController::Base
10
10
  end
11
11
 
12
12
  ## POST /api/users/long_term_token , a FB login flow
13
+ ## 2023-03-29 _vp_ This should not work, needs to be rewritten.
13
14
  def long_term_token
14
15
  accessToken = request.headers[:accessToken]
15
16
  accessToken ||= params[:accessToken]
@@ -27,7 +28,7 @@ class ::Ishapi::ApplicationController < ActionController::Base
27
28
  @current_profile = Ish::UserProfile.find_by( email: @current_user.email )
28
29
 
29
30
  # send the jwt to client
30
- @jwt_token = encode(user_id: @current_user.id.to_s)
31
+ @jwt_token = encode(user_profile_id: @current_user.profile.id.to_s)
31
32
 
32
33
  render json: {
33
34
  email: @current_user.email,
@@ -25,7 +25,7 @@ module Ishapi
25
25
  respond_to do |format|
26
26
  format.json do
27
27
 
28
- if @gallery.premium?
28
+ if @gallery.is_premium
29
29
  if @current_user&.profile&.has_premium_purchase( @gallery )
30
30
  render 'show_premium_unlocked'
31
31
  else
@@ -38,7 +38,7 @@ module Ishapi
38
38
  end
39
39
  format.html do
40
40
 
41
- if @gallery.premium?
41
+ if @gallery.is_premium
42
42
  if @current_user&.profile&.has_premium_purchase( @gallery )
43
43
  render 'show_premium_unlocked'
44
44
  else
@@ -18,8 +18,7 @@ class Ishapi::MapsController < Ishapi::ApplicationController
18
18
 
19
19
  authorize! :show, @map
20
20
 
21
- @newsitems = @location.newsitems.page( params[:newsitems_page]
22
- ).per( @location.newsitems_page_size )
21
+ @newsitems = @location.newsitems.page( params[:newsitems_page] ).per( @location.newsitems_page_size )
23
22
 
24
23
  @markers = @map.markers.permitted_to(@current_profile).order_by(ordering: :asc)
25
24
  # case @map.ordering_type
@@ -3,51 +3,58 @@ class Ishapi::PaymentsController < ::Ishapi::ApplicationController
3
3
 
4
4
  before_action :check_profile, only: %i| create unlock |
5
5
 
6
+ protect_from_forgery with: :exception
7
+ skip_before_action :verify_authenticity_token, only: %i| stripe_confirm |
8
+
6
9
  # alphabetized : )
7
10
 
8
11
  ## _vp_ 2020-07-21 This is for guyd
9
12
  ## _vp_ 2022-03-01 It's been a while!
10
13
  ## _vp_ 2022-09-04 continue
14
+ ## _vp_ 2023-03-29 Continue
11
15
  ##
12
16
  ## @TODO: cannot proceed if already is_purchasing?
13
17
  ## @TODO: and this doesn't say what you're buying! herehere
14
18
  ##
15
19
  def create
16
- authorize! :create, ::Ish::Payment
17
-
18
- puts! @current_profile, 'current_profile'
20
+ authorize! :create, Ish::Payment.new
19
21
 
20
22
  @current_profile.update_attributes({ is_purchasing: true })
21
23
 
22
- begin
23
- amount_cents = params[:amount_cents].to_i # @TODO: change
24
-
25
- ::Stripe.api_key = ::STRIPE_SK
26
- intent = Stripe::PaymentIntent.create({
27
- amount: amount_cents,
28
- currency: 'usd',
29
- metadata: { integration_check: "accept_a_payment" },
30
- })
31
-
32
- payment = Ish::Payment.create!(
33
- client_secret: intent.client_secret,
34
- email: @current_profile.email,
35
- payment_intent_id: intent.id,
36
- profile_id: @current_profile.id,
37
- )
38
- render json: {
39
- client_secret: intent.client_secret,
40
- clientSecret: intent.client_secret,
41
- }
42
-
43
- rescue Mongoid::Errors::DocumentNotFound => e
44
- puts! e, '#create2 Mongoid::Errors::DocumentNotFound'
45
- render :status => 404, :json => e
24
+ amount_cents = params[:amount_cents].to_i # @TODO: change
25
+
26
+ ::Stripe.api_key = ::STRIPE_SK
27
+ intent = Stripe::PaymentIntent.create({
28
+ amount: amount_cents,
29
+ currency: 'usd',
30
+ metadata: { integration_check: "accept_a_payment" },
31
+ })
32
+
33
+ item_type = case params[:item_type]
34
+ when 'Ish::Location'
35
+ 'Gameui::Map'
36
+ else
37
+ throw "item_type not implemented: #{params[:item_type]}"
46
38
  end
39
+ item = item_type.constantize.find params[:item_id]
40
+
41
+ payment = Ish::Payment.create!(
42
+ client_secret: intent.client_secret,
43
+ email: @current_profile.email,
44
+ item: item,
45
+ payment_intent_id: intent.id,
46
+ profile_id: @current_profile.id,
47
+ )
48
+ render json: {
49
+ client_secret: intent.client_secret,
50
+ clientSecret: intent.client_secret,
51
+ }
52
+
47
53
  end
48
54
 
49
55
  ##
50
56
  ## webhook
57
+ ## _vp_ 2023-03-29 Continue
51
58
  ##
52
59
  def stripe_confirm
53
60
  authorize! :open_permission, ::Ishapi
@@ -62,11 +69,12 @@ class Ishapi::PaymentsController < ::Ishapi::ApplicationController
62
69
  end
63
70
 
64
71
  payment_intent = event.data.object
72
+ puts! payment_intent, 'payment_intent'
65
73
 
66
74
  payment = Ish::Payment.where( payment_intent_id: payment_intent.id ).first
67
75
  if payment && payment_intent['status'] == 'succeeded'
68
76
 
69
- payment.update_attributes( status: :confirmed )
77
+ payment.update_attributes( status: Ish::Payment::STATUS_CONFIRMED )
70
78
  n_unlocks = payment.profile.n_unlocks + 1 # @TODO: it's not always 5, adjust! herehere
71
79
 
72
80
  payment.profile.update_attributes!( n_unlocks: n_unlocks, is_purchasing: false )
@@ -82,7 +90,7 @@ class Ishapi::PaymentsController < ::Ishapi::ApplicationController
82
90
  authorize! :unlock, ::Ish::Payment
83
91
  item = Object::const_get(params['kind']).find params['id']
84
92
 
85
- existing = Purchase.where( user_profile: @current_profile, item: item ).first
93
+ existing = Ish::Payment.where( profile: @current_profile, item: item ).first
86
94
  if existing
87
95
  render status: 200, json: { status: :ok, message: 'already purchased' }
88
96
  return
@@ -90,7 +98,7 @@ class Ishapi::PaymentsController < ::Ishapi::ApplicationController
90
98
 
91
99
  @current_profile.inc( n_unlocks: -item.premium_tier )
92
100
 
93
- purchase = ::Gameui::PremiumPurchase.create!( item: item, user_profile: @current_profile, )
101
+ purchase = ::Ish::Payment.create!( item: item, profile: @current_profile, )
94
102
 
95
103
  @profile = @current_profile
96
104
  render 'ishapi/user_profiles/account'
@@ -14,6 +14,7 @@ json.cache! this_key do
14
14
  json.h map.h
15
15
  # json.x map.x
16
16
  # json.y map.y
17
+ # json.z map.z
17
18
  # json.map_type map.map_type
18
19
  json.img_path map.image.image.url(:original)
19
20
  json.updated_at map.updated_at
@@ -7,15 +7,12 @@ json.profile_photo_url profile.profile_photo.photo.url( :thumb ) if profile.prof
7
7
  json.n_reports profile.reports.count
8
8
  json.n_galleries profile.galleries.count
9
9
  json.n_videos profile.videos.count
10
- # json.n_stars profile.n_stars # @TODO: which one is deprecated?
10
+
11
11
  json.n_unlocks profile.n_unlocks # @TODO: which one is deprecated?
12
12
  json.is_purchasing profile.is_purchasing
13
- if profile.current_city
14
- json.current_city profile.current_city
15
- end
16
13
 
17
- json.bookmarks profile.bookmarks do |b|
18
- json.name b.name
19
- json.slug b.slug
20
- end
14
+ # json.bookmarks profile.bookmarks do |b|
15
+ # json.name b.name
16
+ # json.slug b.slug
17
+ # end
21
18
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ishapi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.8.254
4
+ version: 0.1.8.259
5
5
  platform: ruby
6
6
  authors:
7
7
  - piousbox
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-03-29 00:00:00.000000000 Z
11
+ date: 2023-03-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails