ishapi 0.1.8.46 → 0.1.8.47
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
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a20173c671af02b9594c0a9c2e7a99a91f8974fd
|
4
|
+
data.tar.gz: 48b52b9fd85cd05fa06a78555c222e0e415a8a77
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0fc840115817634f92f8d24cefff80a997253e52bea0aa6e11d88225c02750630b88bb8fec850f48d69a28f3a8070c8aba3b6b02ddab6c62c475ad25f9bf4764
|
7
|
+
data.tar.gz: '08b5d09c051b6a9ee6918b255c65d6ed3b4e1bf5c102e8591ad66d936c826da5def20326a3f582eebe664a5f832bd618cc058491f197e2b7d61815604dc94e2f'
|
@@ -4,71 +4,10 @@ module Ishapi
|
|
4
4
|
class ApiController < ApplicationController
|
5
5
|
|
6
6
|
def home
|
7
|
-
|
8
|
-
|
7
|
+
authorize! :welcome_home, Ishapi
|
9
8
|
render :json => { :status => :ok, :message => 'Ishapi::ApiController.home',
|
10
9
|
:n_reports => Report.count, :n_cities => City.count }
|
11
|
-
authorize! :welcome_home, Ishapi
|
12
|
-
end
|
13
|
-
|
14
|
-
=begin
|
15
|
-
before_action :set_article, only: [:show, :edit, :update, :destroy]
|
16
|
-
|
17
|
-
# GET /articles
|
18
|
-
def index
|
19
|
-
@articles = Article.all
|
20
|
-
end
|
21
|
-
|
22
|
-
# GET /articles/1
|
23
|
-
def show
|
24
|
-
end
|
25
|
-
|
26
|
-
# GET /articles/new
|
27
|
-
def new
|
28
|
-
@article = Article.new
|
29
|
-
end
|
30
|
-
|
31
|
-
# GET /articles/1/edit
|
32
|
-
def edit
|
33
|
-
end
|
34
|
-
|
35
|
-
# POST /articles
|
36
|
-
def create
|
37
|
-
@article = Article.new(article_params)
|
38
|
-
|
39
|
-
if @article.save
|
40
|
-
redirect_to @article, notice: 'Article was successfully created.'
|
41
|
-
else
|
42
|
-
render :new
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
# PATCH/PUT /articles/1
|
47
|
-
def update
|
48
|
-
if @article.update(article_params)
|
49
|
-
redirect_to @article, notice: 'Article was successfully updated.'
|
50
|
-
else
|
51
|
-
render :edit
|
52
|
-
end
|
53
|
-
end
|
54
|
-
|
55
|
-
# DELETE /articles/1
|
56
|
-
def destroy
|
57
|
-
@article.destroy
|
58
|
-
redirect_to articles_url, notice: 'Article was successfully destroyed.'
|
59
|
-
end
|
60
|
-
|
61
|
-
private
|
62
|
-
# Use callbacks to share common setup or constraints between actions.
|
63
|
-
def set_article
|
64
|
-
@article = Article.find(params[:id])
|
65
|
-
end
|
66
|
-
|
67
|
-
# Only allow a trusted parameter "white list" through.
|
68
|
-
def article_params
|
69
|
-
params.require(:article).permit(:title, :text)
|
70
10
|
end
|
71
|
-
=end
|
72
11
|
|
73
12
|
end
|
74
13
|
end
|
@@ -6,8 +6,54 @@ module Ishapi
|
|
6
6
|
check_authorization
|
7
7
|
skip_before_action :verify_authenticity_token
|
8
8
|
|
9
|
+
#
|
10
|
+
# private
|
11
|
+
#
|
9
12
|
private
|
10
13
|
|
14
|
+
def set_profile
|
15
|
+
accessToken = request.headers[:accessToken]
|
16
|
+
accessToken ||= params[:fb_long_access_token]
|
17
|
+
accessToken ||= params[:accessToken] # if (params[:debug] == 'abba' && Rails.env.development?)
|
18
|
+
|
19
|
+
if accessToken
|
20
|
+
begin
|
21
|
+
@graph = Koala::Facebook::API.new( accessToken )
|
22
|
+
@me = @graph.get_object( 'me', :fields => 'email' )
|
23
|
+
@user = User.find_or_create_by :email => @me['email']
|
24
|
+
@oauth = Koala::Facebook::OAuth.new( CO_TAILORS_FB_APP_ID, CO_TAILORS_FB_APP_SECRET )
|
25
|
+
@long_lived_token = get_long_token( accessToken )
|
26
|
+
|
27
|
+
begin
|
28
|
+
@profile = IshModels::UserProfile.find_by :email => @me['email']
|
29
|
+
@profile.update_attributes({ :fb_access_token => @long_lived_token,
|
30
|
+
:fb_long_access_token => @long_lived_token })
|
31
|
+
rescue Mongoid::Errors::DocumentNotFound
|
32
|
+
@profile = IshModels::UserProfile.create :user => @user, :email => @me['email'],
|
33
|
+
:fb_access_token => @long_lived_token,
|
34
|
+
:fb_long_access_token => @long_lived_token,
|
35
|
+
:fb_id => params[:id],
|
36
|
+
:name => params[:name],
|
37
|
+
:signed_request => params[:signedRequest]
|
38
|
+
end
|
39
|
+
@current_user = @user
|
40
|
+
@current_profile = @profile
|
41
|
+
rescue Koala::Facebook::AuthenticationError => e
|
42
|
+
render :json => { :status => :not_ok, :errors => "Probably expired token: #{accessToken}" }
|
43
|
+
return
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
|
48
|
+
def get_long_token accessToken
|
49
|
+
url = "https://graph.facebook.com/oauth/access_token?grant_type=fb_exchange_token&" +
|
50
|
+
"client_id=#{FB_APP_ID}&client_secret=#{FB_APP_SECRET}&fb_exchange_token=#{accessToken}"
|
51
|
+
result = HTTParty.get url
|
52
|
+
token = JSON.parse result.body
|
53
|
+
puts! token['access_token'], "long access token is"
|
54
|
+
return token['access_token']
|
55
|
+
end
|
56
|
+
|
11
57
|
def set_current_ability
|
12
58
|
@current_ability ||= ::Ishapi::Ability.new( current_user )
|
13
59
|
end
|
@@ -3,32 +3,11 @@ require_dependency "ishapi/application_controller"
|
|
3
3
|
module Ishapi
|
4
4
|
class UsersController < ApplicationController
|
5
5
|
|
6
|
+
before_action :set_profile, :only => [ :fb_sign_in ]
|
7
|
+
|
6
8
|
def fb_sign_in
|
7
9
|
authorize! :fb_sign_in, Ishapi
|
8
|
-
|
9
|
-
|
10
|
-
access_token = params[:accessToken]
|
11
|
-
email = params[:email]
|
12
|
-
name = params[:name]
|
13
|
-
user = User.where( :email => email ).first
|
14
|
-
|
15
|
-
u = IshModels::UserProfile.find_or_create_by :email => email
|
16
|
-
u.fb_access_token = access_token
|
17
|
-
u.name ||= name
|
18
|
-
u.user ||= user
|
19
|
-
u.email ||= email
|
20
|
-
u.user ||= User.create( :email => email, :password => (0..8).map { "#{rand(100)}" }.join("#{rand(100)}") )
|
21
|
-
|
22
|
-
auth = Koala::Facebook::OAuth.new
|
23
|
-
u.fb_long_access_token = auth.exchange_access_token access_token
|
24
|
-
|
25
|
-
puts! u, 'profile, here'
|
26
|
-
|
27
|
-
if u.save
|
28
|
-
render :json => { :status => :ok, :profile => u }
|
29
|
-
else
|
30
|
-
render :json => { :status => :not_ok, :errors => u.errors.messages }
|
31
|
-
end
|
10
|
+
render :json => { :status => :ok }
|
32
11
|
end
|
33
12
|
|
34
13
|
def show
|
data/config/routes.rb
CHANGED
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.
|
4
|
+
version: 0.1.8.47
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- piousbox
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-12-
|
11
|
+
date: 2017-12-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|
@@ -252,6 +252,7 @@ files:
|
|
252
252
|
- app/views/ishapi/videos/_show.jbuilder
|
253
253
|
- app/views/ishapi/videos/_show.jbuilder~
|
254
254
|
- app/views/layouts/ishapi/application.html.erb
|
255
|
+
- config/initializers/koala.rb
|
255
256
|
- config/routes.rb
|
256
257
|
- lib/ishapi.rb
|
257
258
|
- lib/ishapi/engine.rb
|