GetContacts request.
This commit is contained in:
parent
b69afedbd2
commit
b70443409b
12
src/authd.cr
12
src/authd.cr
@ -144,6 +144,14 @@ class AuthD::Response
|
|||||||
initialize :users
|
initialize :users
|
||||||
end
|
end
|
||||||
|
|
||||||
|
class Contacts < Response
|
||||||
|
property user : Int32
|
||||||
|
property email : String?
|
||||||
|
property phone : String?
|
||||||
|
|
||||||
|
initialize user, email, phone
|
||||||
|
end
|
||||||
|
|
||||||
# This creates a Request::Type enumeration. One entry for each request type.
|
# This creates a Request::Type enumeration. One entry for each request type.
|
||||||
{% begin %}
|
{% begin %}
|
||||||
enum Type
|
enum Type
|
||||||
@ -373,6 +381,10 @@ class AuthD::Request
|
|||||||
initialize :user, :shared_key
|
initialize :user, :shared_key
|
||||||
end
|
end
|
||||||
|
|
||||||
|
class GetContacts < Request
|
||||||
|
property token : String
|
||||||
|
end
|
||||||
|
|
||||||
# This creates a Request::Type enumeration. One entry for each request type.
|
# This creates a Request::Type enumeration. One entry for each request type.
|
||||||
{% begin %}
|
{% begin %}
|
||||||
enum Type
|
enum Type
|
||||||
|
15
src/main.cr
15
src/main.cr
@ -638,6 +638,14 @@ class AuthD::Service
|
|||||||
|
|
||||||
# TODO: better response
|
# TODO: better response
|
||||||
Response::User.new user_to_delete.to_public
|
Response::User.new user_to_delete.to_public
|
||||||
|
when Request::GetContacts
|
||||||
|
user = get_user_from_token request.token
|
||||||
|
|
||||||
|
return Response::Error.new "invalid user" unless user
|
||||||
|
|
||||||
|
_c = user.contact
|
||||||
|
|
||||||
|
Response::Contacts.new user.uid, _c.email, _c.phone
|
||||||
else
|
else
|
||||||
Response::Error.new "unhandled request type"
|
Response::Error.new "unhandled request type"
|
||||||
end
|
end
|
||||||
@ -667,7 +675,11 @@ class AuthD::Service
|
|||||||
Baguette::Log.debug "Timer" if @print_timer
|
Baguette::Log.debug "Timer" if @print_timer
|
||||||
when IPC::Event::MessageReceived
|
when IPC::Event::MessageReceived
|
||||||
begin
|
begin
|
||||||
request = Request.from_ipc(event.message).not_nil!
|
request = Request.from_ipc(event.message)
|
||||||
|
|
||||||
|
if request.nil?
|
||||||
|
raise "Unknown request (#{event.message.utype.to_i})"
|
||||||
|
end
|
||||||
|
|
||||||
Baguette::Log.info "<< #{request.class.name.sub /^Request::/, ""}"
|
Baguette::Log.info "<< #{request.class.name.sub /^Request::/, ""}"
|
||||||
|
|
||||||
@ -681,6 +693,7 @@ class AuthD::Service
|
|||||||
Baguette::Log.error " .. type was: #{e.ipc_type}"
|
Baguette::Log.error " .. type was: #{e.ipc_type}"
|
||||||
Baguette::Log.error " .. tried class was: #{Request.requests.find(&.type.==(e.ipc_type)).to_s}"
|
Baguette::Log.error " .. tried class was: #{Request.requests.find(&.type.==(e.ipc_type)).to_s}"
|
||||||
Baguette::Log.error " .. payload was: #{e.payload}"
|
Baguette::Log.error " .. payload was: #{e.payload}"
|
||||||
|
Baguette::Log.error " .. tried class was: #{Request.requests.find(&.type.==(e.ipc_type)).to_s}"
|
||||||
response = Response::Error.new e.message
|
response = Response::Error.new e.message
|
||||||
rescue e
|
rescue e
|
||||||
Baguette::Log.error "#{e.message}"
|
Baguette::Log.error "#{e.message}"
|
||||||
|
Loading…
Reference in New Issue
Block a user