wavelabs_client_api 0.3.5
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 +7 -0
- data/.gitignore +10 -0
- data/.travis.yml +8 -0
- data/CODE_OF_CONDUCT.md +13 -0
- data/Gemfile +6 -0
- data/LICENSE.txt +21 -0
- data/README.md +140 -0
- data/Rakefile +12 -0
- data/bin/console +14 -0
- data/bin/setup +7 -0
- data/lib/generators/templates/wavelabs_client_api_initializer.rb +13 -0
- data/lib/generators/wavelabs_client_api/install_generator.rb +17 -0
- data/lib/wavelabs_client_api.rb +34 -0
- data/lib/wavelabs_client_api/client/api/core/auth_api.rb +179 -0
- data/lib/wavelabs_client_api/client/api/core/base_api.rb +92 -0
- data/lib/wavelabs_client_api/client/api/core/media_api.rb +48 -0
- data/lib/wavelabs_client_api/client/api/core/social_api.rb +78 -0
- data/lib/wavelabs_client_api/client/api/core/users_api.rb +90 -0
- data/lib/wavelabs_client_api/client/api/data_models/base_api_model.rb +40 -0
- data/lib/wavelabs_client_api/client/api/data_models/login_api_model.rb +41 -0
- data/lib/wavelabs_client_api/client/api/data_models/media_api_model.rb +26 -0
- data/lib/wavelabs_client_api/client/api/data_models/member_api_model.rb +55 -0
- data/lib/wavelabs_client_api/client/api/data_models/message_api_model.rb +19 -0
- data/lib/wavelabs_client_api/client/api/data_models/social_accounts_api_model.rb +41 -0
- data/lib/wavelabs_client_api/client/api/data_models/token_api_model.rb +37 -0
- data/lib/wavelabs_client_api/client/api/data_models/token_details_api_model.rb +51 -0
- data/lib/wavelabs_client_api/version.rb +3 -0
- data/spec/core_api_specs/auth_api_spec.rb +90 -0
- data/spec/core_api_specs/media_api_spec.rb +38 -0
- data/spec/core_api_specs/social_api_spec.rb +32 -0
- data/spec/core_api_specs/users_api_spec.rb +65 -0
- data/spec/data_model_specs/login_api_model_spec.rb +27 -0
- data/spec/data_model_specs/media_api_model_spec.rb +21 -0
- data/spec/data_model_specs/member_api_model_spec.rb +38 -0
- data/spec/data_model_specs/message_api_model_spec.rb +19 -0
- data/spec/data_model_specs/social_accounts_api_model_spec.rb +25 -0
- data/spec/data_model_specs/token_api_model_spec.rb +21 -0
- data/spec/spec_helper.rb +28 -0
- data/spec/support/temp_user.doc +0 -0
- data/spec/support/temp_user.png +0 -0
- data/spec/support/user_sign_up.rb +20 -0
- data/wavelabs_client_api.gemspec +41 -0
- metadata +183 -0
@@ -0,0 +1,92 @@
|
|
1
|
+
require 'httmultiparty'
|
2
|
+
|
3
|
+
module WavelabsClientApi
|
4
|
+
module Client
|
5
|
+
module Api
|
6
|
+
module Core
|
7
|
+
class BaseApi
|
8
|
+
|
9
|
+
include HTTMultiParty
|
10
|
+
|
11
|
+
#debug_output $stdout
|
12
|
+
|
13
|
+
headers 'Accept' => 'application/json', 'Content-Type' => 'application/json'
|
14
|
+
|
15
|
+
def base_api_url(uri)
|
16
|
+
site_url + uri
|
17
|
+
end
|
18
|
+
|
19
|
+
def site_url
|
20
|
+
WavelabsClientApi.configuration.api_host_url
|
21
|
+
end
|
22
|
+
|
23
|
+
def client_id
|
24
|
+
WavelabsClientApi.configuration.client_key
|
25
|
+
end
|
26
|
+
|
27
|
+
def client_secret
|
28
|
+
WavelabsClientApi.configuration.client_secret
|
29
|
+
end
|
30
|
+
|
31
|
+
def self.check_connection?
|
32
|
+
begin
|
33
|
+
res = self.get(WavelabsClientApi.configuration.api_host_url)
|
34
|
+
if res.code == 200
|
35
|
+
true
|
36
|
+
end
|
37
|
+
rescue StandardError
|
38
|
+
false
|
39
|
+
end
|
40
|
+
end
|
41
|
+
|
42
|
+
def send_request_with_token(method, url, access_token, body = nil, query = nil)
|
43
|
+
|
44
|
+
begin
|
45
|
+
self.class.send(method, url, :body => body, :query => query, :headers => {"Authorization" => "Bearer " + access_token})
|
46
|
+
rescue StandardError
|
47
|
+
end
|
48
|
+
|
49
|
+
end
|
50
|
+
|
51
|
+
def send_request(method, url, body = nil, query_params = nil)
|
52
|
+
begin
|
53
|
+
self.class.send(method, url, :body => body.to_json, :query => query_params)
|
54
|
+
rescue StandardError
|
55
|
+
end
|
56
|
+
|
57
|
+
end
|
58
|
+
|
59
|
+
def create_login_model(login_params)
|
60
|
+
WavelabsClientApi::Client::Api::DataModels::LoginApiModel.new(login_params)
|
61
|
+
end
|
62
|
+
|
63
|
+
def create_member_model(json_response, except_token)
|
64
|
+
WavelabsClientApi::Client::Api::DataModels::MemberApiModel.new(json_response, except_token)
|
65
|
+
end
|
66
|
+
|
67
|
+
def create_token_model(json_response)
|
68
|
+
WavelabsClientApi::Client::Api::DataModels::TokenApiModel.new(json_response)
|
69
|
+
end
|
70
|
+
|
71
|
+
def create_media_model(json_response)
|
72
|
+
WavelabsClientApi::Client::Api::DataModels::MediaApiModel.new(json_response)
|
73
|
+
end
|
74
|
+
|
75
|
+
def create_message_model(json_response)
|
76
|
+
WavelabsClientApi::Client::Api::DataModels::MessageApiModel.new(json_response)
|
77
|
+
end
|
78
|
+
|
79
|
+
def create_social_model(json_response)
|
80
|
+
WavelabsClientApi::Client::Api::DataModels::SocialAccountsApiModel.new(json_response)
|
81
|
+
end
|
82
|
+
|
83
|
+
def create_token_details_model(json_response)
|
84
|
+
WavelabsClientApi::Client::Api::DataModels::TokenDetailsApiModel.new(json_response)
|
85
|
+
end
|
86
|
+
end
|
87
|
+
end
|
88
|
+
end
|
89
|
+
end
|
90
|
+
end
|
91
|
+
|
92
|
+
|
@@ -0,0 +1,48 @@
|
|
1
|
+
# This class is responsible for handling
|
2
|
+
# Requests from Com::Nbos::Core::MediaController.
|
3
|
+
# It will create the request based on Controller request params and
|
4
|
+
# send that request to Wavelabs API server and return the response back.
|
5
|
+
# While sending respose back to receiver it will create the virtual models
|
6
|
+
# from Com::Nbos::Api::DataModels
|
7
|
+
|
8
|
+
class WavelabsClientApi::Client::Api::Core::MediaApi < WavelabsClientApi::Client::Api::Core::BaseApi
|
9
|
+
|
10
|
+
MEDIA_URI = "/api/media/v0/media"
|
11
|
+
|
12
|
+
def get_media(user_id, media_for, access_token)
|
13
|
+
url_path = base_api_url(MEDIA_URI)
|
14
|
+
query_params = { :id => user_id, :mediafor => media_for}
|
15
|
+
api_response = send_request_with_token("get", url_path, access_token, nil, query_params)
|
16
|
+
|
17
|
+
build_media_response(api_response)
|
18
|
+
end
|
19
|
+
|
20
|
+
|
21
|
+
def upload_media(file_path, media_for, access_token, user_id)
|
22
|
+
url_path = base_api_url(MEDIA_URI)
|
23
|
+
query_params = { :id => user_id,
|
24
|
+
:mediafor => media_for
|
25
|
+
}
|
26
|
+
|
27
|
+
body = {:file => File.new(file_path)}
|
28
|
+
|
29
|
+
api_response = send_request_with_token("post", url_path, access_token, body, query_params)
|
30
|
+
File.delete(file_path) if !file_path.include?("/spec/support/")
|
31
|
+
build_media_response(api_response)
|
32
|
+
end
|
33
|
+
|
34
|
+
def build_media_response(api_response)
|
35
|
+
begin
|
36
|
+
if api_response.code == 200
|
37
|
+
media_model = create_media_model(api_response.parsed_response)
|
38
|
+
{status: 200, media: media_model}
|
39
|
+
end
|
40
|
+
rescue StandardError
|
41
|
+
message_model = create_message_model(nil)
|
42
|
+
message_model.message = "Internal Server Error Please Try After Some Time."
|
43
|
+
{ status: 500, message: message_model}
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
|
48
|
+
end
|
@@ -0,0 +1,78 @@
|
|
1
|
+
# This class is responsible for handling
|
2
|
+
# Requests from Com::Nbos::Core::SocialController.
|
3
|
+
# It will create the request based on Controller request params and
|
4
|
+
# send that request to Wavelabs API server and return the response back.
|
5
|
+
# While sending respose back to receiver it will create the virtual models
|
6
|
+
# from Com::Nbos::Api::DataModels
|
7
|
+
|
8
|
+
class WavelabsClientApi::Client::Api::Core::SocialApi < WavelabsClientApi::Client::Api::Core::BaseApi
|
9
|
+
|
10
|
+
# Api Server Social Authentication End Point URIs
|
11
|
+
FACEBOOK_LOGIN_URI = "/api/identity/v0/auth/social/facebook/connect"
|
12
|
+
GOOGLE_LOGIN_URI = "/api/identity/v0/auth/social/googlePlus/connect"
|
13
|
+
TWITER_LOGIN_URI = "/api/identity/v0/auth/social/twitter/connect"
|
14
|
+
GITHUB_LOGIN_URI = "/api/identity/v0/auth/social/gitHub/connect"
|
15
|
+
LINKEDIN_LOGIN_URI = "/api/identity/v0/auth/social/linkedIn/connect"
|
16
|
+
INSTAGRAM_LOGIN_URI = "/api/identity/v0/auth/social/instagram/connect"
|
17
|
+
INVALID_SOCIAL_URI = "/api/identity/v0/auth/social/invalid/connect"
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
def login(social_params, provider, access_token)
|
22
|
+
social_uri = get_scoial_login_uri(provider)
|
23
|
+
url_path = base_api_url(social_uri)
|
24
|
+
|
25
|
+
connection_options = { :clientId => client_id,
|
26
|
+
:accessToken => social_params[:credentials][:token],
|
27
|
+
:expiresIn => "#{social_params[:credentials][:expires_at]}"
|
28
|
+
}
|
29
|
+
api_response = send_request_with_token('post', url_path, access_token, connection_options.to_json)
|
30
|
+
|
31
|
+
|
32
|
+
if api_response.parsed_response["message"].present?
|
33
|
+
social_member_model = create_member_model(nil, true)
|
34
|
+
social_member_model.add_messages(api_response.parsed_response)
|
35
|
+
else
|
36
|
+
social_member_model = create_member_model(api_response.parsed_response, false)
|
37
|
+
end
|
38
|
+
|
39
|
+
begin
|
40
|
+
if api_response.code == 200
|
41
|
+
{ status: 200, login: social_member_model}
|
42
|
+
elsif api_response.code == 400
|
43
|
+
social_member_model.add_errors(api_response.parsed_response)
|
44
|
+
{ status: 400, login: social_member_model}
|
45
|
+
else
|
46
|
+
social_member_model.add_messages(api_response.parsed_response)
|
47
|
+
{ status: api_response.code, login: social_member_model}
|
48
|
+
end
|
49
|
+
rescue StandardError
|
50
|
+
social_member_model.message = "Internal Server Error Please Try After Some Time."
|
51
|
+
{ status: 500, login: social_member_model}
|
52
|
+
end
|
53
|
+
|
54
|
+
end
|
55
|
+
|
56
|
+
|
57
|
+
# Method to return end point URI for specific social login
|
58
|
+
def get_scoial_login_uri(provider)
|
59
|
+
case provider
|
60
|
+
when "facebook"
|
61
|
+
FACEBOOK_LOGIN_URI
|
62
|
+
when "google_oauth2"
|
63
|
+
GOOGLE_LOGIN_URI
|
64
|
+
when "twitter"
|
65
|
+
TWITER_LOGIN_URI
|
66
|
+
when "github"
|
67
|
+
GITHUB_LOGIN_URI
|
68
|
+
when "linkedin"
|
69
|
+
LINKEDIN_LOGIN_URI
|
70
|
+
when "instagram"
|
71
|
+
INSTAGRAM_LOGIN_URI
|
72
|
+
else
|
73
|
+
INVALID_SOCIAL_URI
|
74
|
+
end
|
75
|
+
end
|
76
|
+
|
77
|
+
|
78
|
+
end
|
@@ -0,0 +1,90 @@
|
|
1
|
+
# This class is responsible for handling
|
2
|
+
# Requests from Com::Nbos::Core::UsersController.
|
3
|
+
# It will create the request based on Controller request params and
|
4
|
+
# send that request to Wavelabs API server and return the response back.
|
5
|
+
# While sending respose back to receiver it will create the virtual models
|
6
|
+
# from Com::Nbos::Api::DataModels
|
7
|
+
|
8
|
+
class WavelabsClientApi::Client::Api::Core::UsersApi < WavelabsClientApi::Client::Api::Core::BaseApi
|
9
|
+
|
10
|
+
SIGNUP_URI = "/api/identity/v0/users/signup"
|
11
|
+
USER_URI = "/api/identity/v0/users"
|
12
|
+
|
13
|
+
def sign_up(sign_up_params, access_token)
|
14
|
+
url_path = base_api_url(SIGNUP_URI)
|
15
|
+
connection_options = { :clientId => client_id,
|
16
|
+
:username => sign_up_params[:username],
|
17
|
+
:password => sign_up_params[:password],
|
18
|
+
:email => sign_up_params[:email],
|
19
|
+
:firstName => sign_up_params[:firstName],
|
20
|
+
:lastName => sign_up_params[:lastName]
|
21
|
+
}
|
22
|
+
api_response = send_request_with_token('post', url_path, access_token, connection_options.to_json)
|
23
|
+
|
24
|
+
new_member_model = create_login_model(sign_up_params)
|
25
|
+
|
26
|
+
begin
|
27
|
+
if api_response.code == 200
|
28
|
+
member_api_model = create_member_model(api_response.parsed_response, false)
|
29
|
+
{status: 200, member: member_api_model}
|
30
|
+
elsif api_response.code == 400
|
31
|
+
new_member_model.add_errors(api_response.parsed_response)
|
32
|
+
{status: api_response.code, member: new_member_model}
|
33
|
+
else
|
34
|
+
new_member_model.add_messages(api_response.parsed_response)
|
35
|
+
{status: api_response.code, member: new_member_model}
|
36
|
+
end
|
37
|
+
rescue StandardError
|
38
|
+
new_member_model.message = "Internal Server Error Please Try After Some Time."
|
39
|
+
{ status: 500, member: new_member_model}
|
40
|
+
end
|
41
|
+
|
42
|
+
end
|
43
|
+
|
44
|
+
def show(user_params, access_token)
|
45
|
+
url_path = base_api_url(USER_URI + "/#{user_params[:id]}")
|
46
|
+
api_response = send_request_with_token('get', url_path, access_token)
|
47
|
+
begin
|
48
|
+
if api_response.code == 200
|
49
|
+
normalized_res = {"member" => api_response.parsed_response}
|
50
|
+
{status: 200, member: create_member_model(normalized_res, true)}
|
51
|
+
else
|
52
|
+
login_model = create_login_model(nil)
|
53
|
+
login_model.add_messages(api_response.parsed_response)
|
54
|
+
{ status: api_response.code, member: login_model}
|
55
|
+
end
|
56
|
+
rescue StandardError
|
57
|
+
login_model = create_login_model(nil)
|
58
|
+
login_model.message = "Internal Server Error Please Try After Some Time."
|
59
|
+
{ status: 500, member: login_model}
|
60
|
+
end
|
61
|
+
end
|
62
|
+
|
63
|
+
def update(user_params, access_token)
|
64
|
+
url_path = base_api_url(USER_URI + "/#{user_params[:id]}")
|
65
|
+
connection_options = {
|
66
|
+
:email => user_params[:email],
|
67
|
+
:firstName => user_params[:firstName],
|
68
|
+
:lastName => user_params[:lastName],
|
69
|
+
:description => user_params[:description],
|
70
|
+
:phone => user_params[:phone]
|
71
|
+
}
|
72
|
+
api_response = send_request_with_token('put', url_path, access_token, connection_options.to_json)
|
73
|
+
|
74
|
+
begin
|
75
|
+
if api_response.code == 200
|
76
|
+
normalized_res = {"member" => api_response.parsed_response}
|
77
|
+
{status: 200, member: create_member_model(normalized_res, true)}
|
78
|
+
elsif api_response.code == 400
|
79
|
+
member_model = create_member_model({"member" => user_params}, true)
|
80
|
+
member_model.add_errors(api_response.parsed_response)
|
81
|
+
{status: 400, member: member_model}
|
82
|
+
end
|
83
|
+
rescue StandardError
|
84
|
+
member_model = create_member_model(nil, true)
|
85
|
+
member_model.message = "Internal Server Error Please Try After Some Time."
|
86
|
+
{ status: 500, member: member_model}
|
87
|
+
end
|
88
|
+
end
|
89
|
+
|
90
|
+
end
|
@@ -0,0 +1,40 @@
|
|
1
|
+
module WavelabsClientApi
|
2
|
+
module Client
|
3
|
+
module Api
|
4
|
+
module DataModels
|
5
|
+
class BaseApiModel
|
6
|
+
|
7
|
+
include ActiveModel::Validations
|
8
|
+
include ActiveModel::Conversion
|
9
|
+
extend ActiveModel::Naming
|
10
|
+
|
11
|
+
def create_login_model(login_params)
|
12
|
+
WavelabsClientApi::Client::Api::DataModels::LoginApiModel.new(login_params)
|
13
|
+
end
|
14
|
+
|
15
|
+
def create_member_model(json_response, except_token)
|
16
|
+
WavelabsClientApi::Client::Api::DataModels::MemberApiModel.new(json_response, except_token)
|
17
|
+
end
|
18
|
+
|
19
|
+
def create_token_model(json_response)
|
20
|
+
WavelabsClientApi::Client::Api::DataModels::TokenApiModel.new(json_response)
|
21
|
+
end
|
22
|
+
|
23
|
+
def create_media_model(json_response)
|
24
|
+
WavelabsClientApi::Client::Api::DataModels::MediaApiModel.new(json_response)
|
25
|
+
end
|
26
|
+
|
27
|
+
def create_message_model(json_response)
|
28
|
+
WavelabsClientApi::Client::Api::DataModels::MessageApiModel.new(json_response)
|
29
|
+
end
|
30
|
+
|
31
|
+
def create_social_model(json_response)
|
32
|
+
WavelabsClientApi::Client::Api::DataModels::SocialAccountsApiModel.new(json_response)
|
33
|
+
end
|
34
|
+
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
38
|
+
end
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# This class is a virtual Model for LoginApiModel.
|
2
|
+
# It have required attributes to create the LoginApiModel object.
|
3
|
+
# And also it included the Rails ActiveModel::Validations to
|
4
|
+
# add errors which will populate on views. Based on the response from
|
5
|
+
# Wavelabs API server 'add_errors' or 'add_messages' methods add appropriate
|
6
|
+
# messages to LoginApi model object.
|
7
|
+
|
8
|
+
class WavelabsClientApi::Client::Api::DataModels::LoginApiModel < WavelabsClientApi::Client::Api::DataModels::BaseApiModel
|
9
|
+
|
10
|
+
attr_accessor :username, :password, :email, :firstName, :lastName, :phone, :newPassword, :message
|
11
|
+
|
12
|
+
def initialize(login_params = nil)
|
13
|
+
if login_params.present?
|
14
|
+
@username = login_params["username"]
|
15
|
+
@password = login_params["password"]
|
16
|
+
@email = login_params["email"]
|
17
|
+
@firstName = login_params["firstName"]
|
18
|
+
@lastName = login_params["lastName"]
|
19
|
+
@phone = login_params["phone"]
|
20
|
+
@newPassword = login_params["newPassword"]
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
def add_errors(json_response)
|
25
|
+
json_response["errors"].each do |e|
|
26
|
+
property_name = e['propertyName']
|
27
|
+
msg = e['message']
|
28
|
+
self.errors[property_name] << msg
|
29
|
+
end
|
30
|
+
end
|
31
|
+
|
32
|
+
def add_messages(json_response)
|
33
|
+
if json_response["message"].present?
|
34
|
+
@message = json_response["message"]
|
35
|
+
elsif json_response["error"].present?
|
36
|
+
@message = json_response["error"]
|
37
|
+
end
|
38
|
+
|
39
|
+
end
|
40
|
+
|
41
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
# This class is a virtual Model for MediaApi model.
|
2
|
+
# It have required attributes to create the MediaApi model.
|
3
|
+
# And also it included the Rails ActiveModel::Validations to
|
4
|
+
# add errors which will populate on views. Based on the response from
|
5
|
+
# Wavelabs API server aading appropriate
|
6
|
+
# message to MediaApi model object w hile initialize.
|
7
|
+
|
8
|
+
|
9
|
+
# To-Do
|
10
|
+
# Right now we are getting 200 status code for invalid file formates
|
11
|
+
# Need to Cahnge the logic based on API server.
|
12
|
+
class WavelabsClientApi::Client::Api::DataModels::MediaApiModel < WavelabsClientApi::Client::Api::DataModels::BaseApiModel
|
13
|
+
|
14
|
+
attr_accessor :extension, :mediaFileDetailsList, :supportedsizes, :newMedia, :message
|
15
|
+
|
16
|
+
def initialize(media_params = nil)
|
17
|
+
if media_params.present? && media_params["extension"].present?
|
18
|
+
@extension = media_params["extension"]
|
19
|
+
@mediaFileDetailsList = media_params["mediaFileDetailsList"]
|
20
|
+
@supportedsizes = media_params["supportedsizes"]
|
21
|
+
elsif media_params.present? && media_params["message"].present?
|
22
|
+
@message = media_params["message"]
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
@@ -0,0 +1,55 @@
|
|
1
|
+
# This class is a virtual Model for MemberApi model.
|
2
|
+
# It have required attributes to create the MemberApi model.
|
3
|
+
# It will create associated TokenApi & SocialAccountsApi model objects based on Response.
|
4
|
+
# And also it included the Rails ActiveModel::Validations to
|
5
|
+
# add errors which will populate on views. Based on the response from
|
6
|
+
# Wavelabs API server 'add_errors' or 'add_messages' methods add appropriate
|
7
|
+
# messages to MemberAPi model object.
|
8
|
+
|
9
|
+
class WavelabsClientApi::Client::Api::DataModels::MemberApiModel < WavelabsClientApi::Client::Api::DataModels::BaseApiModel
|
10
|
+
|
11
|
+
attr_accessor :id, :uuid, :username, :description, :email, :firstName, :lastName, :phone, :social_accounts, :token, :message
|
12
|
+
|
13
|
+
def initialize(option_params, except_token = false)
|
14
|
+
if option_params.present?
|
15
|
+
@id = option_params["member"]["id"]
|
16
|
+
@uuid = option_params["member"]["uuid"]
|
17
|
+
@description = option_params["member"]["description"]
|
18
|
+
@email = option_params["member"]["email"]
|
19
|
+
@firstName = option_params["member"]["firstName"]
|
20
|
+
@lastName = option_params["member"]["lastName"]
|
21
|
+
@phone = option_params["member"]["phone"]
|
22
|
+
build_associated_models(option_params["token"], option_params["member"]["socialAccounts"], except_token)
|
23
|
+
end
|
24
|
+
end
|
25
|
+
|
26
|
+
def build_associated_models(token_params, social_params, except_token)
|
27
|
+
@token = create_token_model(token_params) if !except_token
|
28
|
+
@social_accounts = []
|
29
|
+
if social_params.presence && social_params.size > 0
|
30
|
+
social_params.each do |sp|
|
31
|
+
@social_accounts << create_social_model(sp)
|
32
|
+
end
|
33
|
+
else
|
34
|
+
@social_accounts << create_social_model(nil)
|
35
|
+
end
|
36
|
+
|
37
|
+
end
|
38
|
+
|
39
|
+
def add_errors(json_response)
|
40
|
+
json_response["errors"].each do |e|
|
41
|
+
property_name = e['propertyName']
|
42
|
+
msg = e['message']
|
43
|
+
self.errors[property_name] << msg
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
def add_messages(json_response)
|
48
|
+
if json_response["message"].present?
|
49
|
+
@message = json_response["message"]
|
50
|
+
elsif json_response["error"].present?
|
51
|
+
@message = json_response["error"]
|
52
|
+
end
|
53
|
+
end
|
54
|
+
|
55
|
+
end
|