ishapi 0.1.8.175 → 0.1.8.178

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: 07a4b4e0d9bd0969eeda9a1fe9589212a70bd5c8661e0302d9a1ba31a3f5137b
4
- data.tar.gz: 476d698e3c15ce28c33eae87a072f77853e3ca48008de339fd9aacf9b4e7e37c
3
+ metadata.gz: 624ac9590f37f623390c3d985f6cdef76ce0ac93b4f35d7c9e3556412a27f75e
4
+ data.tar.gz: 8bc5cbd36d9b8cfbcb5af703841ad320787157e82ad9a7da47bba609eb674d35
5
5
  SHA512:
6
- metadata.gz: af2e387db139204820f396cfa0976223a2cdfd63c1c9a9fe5e43e4f69fb742d4ac99b1b7e2716c229bec19203a259dcd3badde894e669b7030377a1b86264e74
7
- data.tar.gz: ed0a356af8d052cab676e33e71d4efbb1a281acc98f76b57543e9ccdd8b26156ab7ddc4e5ee04cb65311aeb19b155e15d1b67eb635b446e746fe3c83c56279a5
6
+ metadata.gz: c606ff431e7cbf34b57f303c111cb479ef420f7b9527c4290f51ad0dccb8e4a6e9e17df4725b28efc673bb445c2755040d07fcd5aac90da8b7597cdc203d1317
7
+ data.tar.gz: 2e6980d59dc035a5ad4e4928388f17feb5d02b6f70b240ec5818f2c9e1a20151a26f34cf9b12a8bcd28c5f30023ad5d8d479cd77b46acf79513e64f3d8d92cbc
@@ -13,6 +13,8 @@ class Ishapi::MapsController < Ishapi::ApplicationController
13
13
 
14
14
  @markers = @map.markers.permitted_to(current_user.profile)
15
15
 
16
+ @tags = @map.tags
17
+
16
18
  # case @map.ordering_type
17
19
  # when ::Gameui::Map::ORDERING_TYPE_ALPHABETIC
18
20
  # @markers = @markers.order_by( name: :asc )
@@ -3,8 +3,22 @@ require_dependency "ishapi/application_controller"
3
3
  module Ishapi
4
4
  class NewsitemsController < ApplicationController
5
5
 
6
- before_action :check_profile # , except: [ :index ] # @TODO: this is fucked
7
- # before_action :check_multiprofile, only: [ :index ]
6
+ before_action :check_profile
7
+
8
+ def destroy
9
+ n = Newsitem.find params[:id]
10
+
11
+ puts! n.map.creator_profile.id, 'ze id'
12
+ puts! current_user.profile.id, 'ze2 id'
13
+
14
+ authorize! :destroy, n
15
+ flag = n.destroy
16
+ if flag
17
+ render json: { status: 'ok' }, status: :ok
18
+ else
19
+ render json: { message: "No luck: #{n.errors.full_messages.join(", ")}." }, status: 400
20
+ end
21
+ end
8
22
 
9
23
  def index
10
24
  if params[:domain]
@@ -2,12 +2,26 @@ require_dependency "ishapi/application_controller"
2
2
  module Ishapi
3
3
  class UserProfilesController < ApplicationController
4
4
 
5
- before_action :check_profile
5
+ before_action :check_profile, only: %i| show | ## @TODO: hmmm I may not need this check at all
6
+
7
+ before_action :check_profile_hard, only: %i| update |
6
8
 
7
9
  def show
8
- @profile = IshModels::UserProfile.find_by :username => params[:username]
10
+ @profile = Ish::UserProfile.find_by :username => params[:username]
9
11
  authorize! :show, @profile
10
12
  end
11
13
 
14
+ def update
15
+ @profile = Ish::UserProfile.find @current_user.profile
16
+ authorize! :update, @profile
17
+
18
+ flag = @profile.update params[:profile].permit!
19
+ if flag
20
+ render json: { message: 'ok' }, status: :ok
21
+ else
22
+ render json: { message: "No luck: #{@profile.errors.full_messages.join(", ")}." }, code: 400
23
+ end
24
+ end
25
+
12
26
  end
13
27
  end
@@ -6,7 +6,7 @@ class Ishapi::Ability
6
6
  #
7
7
  # signed in user
8
8
  #
9
- unless user.blank?
9
+ if !user.blank?
10
10
 
11
11
  # if user.profile && user.profile.sudoer?
12
12
  # can :manage, :all
@@ -14,7 +14,9 @@ class Ishapi::Ability
14
14
 
15
15
  can [ :my_index ], Gallery
16
16
  can [ :show ], Gallery do |gallery|
17
- gallery.user_profile == user.profile
17
+ gallery.user_profile == user.profile || # my own
18
+ (!gallery.is_trash && gallery.is_public ) || # public
19
+ (!gallery.is_trash && gallery.shared_profiles.include?( user.profile ) ) # shared with me
18
20
  end
19
21
 
20
22
  can [ :do_purchase ], ::Gameui
@@ -22,6 +24,10 @@ class Ishapi::Ability
22
24
  map.creator_profile == user.profile
23
25
  end
24
26
 
27
+ can [ :destroy ], Newsitem do |n|
28
+ n.map.creator_profile.id == user.profile.id
29
+ end
30
+
25
31
  can [ :create, :unlock ], ::Ish::Payment
26
32
 
27
33
  can [ :buy_stars ], ::Ish::UserProfile
@@ -33,6 +39,9 @@ class Ishapi::Ability
33
39
  user ||= User.new
34
40
 
35
41
  can [ :show ], Ish::UserProfile
42
+ can [ :update ], Ish::UserProfile do |p|
43
+ p.user.id.to_s == user.id.to_s
44
+ end
36
45
 
37
46
  can [ :index, :show ], City
38
47
 
@@ -54,6 +54,10 @@ json.cache! this_key do
54
54
  json.partial! 'ishapi/galleries/index', galleries: @galleries
55
55
  end
56
56
 
57
+ if @tags
58
+ json.partial! 'ishapi/tags/index', tags: @tags
59
+ end
60
+
57
61
  end
58
62
  end
59
63
 
@@ -20,10 +20,9 @@ json.markers do
20
20
  ## @TODO: this is copy-pasted and should be abstracted.
21
21
  destination = marker.destination
22
22
  json.premium_tier destination.premium_tier
23
+ json.is_premium destination.is_premium
23
24
  json.id destination.id.to_s
24
25
  if destination.is_premium
25
- json.premium_tier destination.premium_tier
26
- json.is_premium destination.premium_tier > 0
27
26
  if current_user && current_user.profile
28
27
  json.is_purchased current_user.profile.has_premium_purchase( destination )
29
28
  end
@@ -5,7 +5,7 @@
5
5
  json.n_newsitems newsitems.count
6
6
  json.newsitems do
7
7
  json.array! newsitems do |item|
8
- json.id item.id.to_s
8
+ json.newsitem_id item.id.to_s
9
9
  json.name item.name
10
10
  json.created_at item.created_at
11
11
  json.updated_at item.updated_at
@@ -5,6 +5,7 @@
5
5
 
6
6
  json.tags do
7
7
  json.array! tags do |tag|
8
+ json.id tag.id.to_s
8
9
  json.name tag.name
9
10
  json.slug tag.slug
10
11
  end
data/config/routes.rb CHANGED
@@ -29,6 +29,9 @@ Ishapi::Engine.routes.draw do
29
29
  post 'videos', to: 'videos#index'
30
30
  end
31
31
 
32
+ # N
33
+ delete 'newsitems/:id', to: 'newsitems#destroy'
34
+
32
35
  post 'do_purchase', to: 'gameui#do_purchase' # @TODO: rename to just purchase, or destroy endpoint
33
36
  post 'payments', :to => 'payments#create'
34
37
  post 'payments2', :to => 'payments#create2' # @TODO: change
@@ -58,8 +61,8 @@ Ishapi::Engine.routes.draw do
58
61
 
59
62
  post 'users/fb_sign_in', to: 'users#fb_sign_in'
60
63
  get 'users/me', to: 'users#account'
61
- post 'users/profile', to: 'users#show'
62
- post 'users/profile/update', to: 'users#update'
64
+ post 'users/profile', to: 'users#show' ## @TODO: change, this makes no sense
65
+ post 'users/profile/update', to: 'user_profiles#update'
63
66
  get 'users/profile', to: 'users#show' # @TODO: only for testing! accessToken must be hidden
64
67
  match 'users/long_term_token', to: 'application#long_term_token', via: [ :get, :post ]
65
68
  post 'users/login', to: 'users#login'
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.175
4
+ version: 0.1.8.178
5
5
  platform: ruby
6
6
  authors:
7
7
  - piousbox
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-03-21 00:00:00.000000000 Z
11
+ date: 2022-04-20 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rails