Class: TokenServiceImpl

Inherits:
Token::TokenService::Service show all
Defined in:
lib/token_service_impl.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.call(port) ⇒ Object



2
3
4
5
6
7
8
# File 'lib/token_service_impl.rb', line 2

def self.call(port)
  server = GRPC::RpcServer.new
  server.add_http2_port(port, :this_port_is_insecure)
  server.handle(TokenServiceImpl)

  server
end

Instance Method Details

#create_token(request, _unused_call) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/token_service_impl.rb', line 10

def create_token(request, _unused_call)
  packed_data = MessagePack.unpack(request.packed_data)
  ttl = request.ttl
  silence_read = request.silence_read

  # token_service.proto expect int64/32 values
  # it sensative for nil and covert it to 0
  ttl = nil if ttl == -1
  silence_read = nil if silence_read == -1

  token = CRUDJT.original_create(packed_data, ttl: ttl, silence_read: silence_read)

  Token::CreateTokenResponse.new(token: token)
end

#delete_token(request, _unused_call) ⇒ Object



50
51
52
53
54
55
56
# File 'lib/token_service_impl.rb', line 50

def delete_token(request, _unused_call)
  raw_token = request.token

  result = CRUDJT.original_delete(raw_token)

  Token::DeleteTokenResponse.new(result: result)
end

#read_token(request, _unused_call) ⇒ Object



25
26
27
28
29
30
31
# File 'lib/token_service_impl.rb', line 25

def read_token(request, _unused_call)
  raw_token = request.token
  result_hash = CRUDJT.original_read(raw_token)
  packed_data = MessagePack.pack(result_hash)

  Token::ReadTokenResponse.new(packed_data: packed_data)
end

#update_token(request, _unused_call) ⇒ Object



33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
# File 'lib/token_service_impl.rb', line 33

def update_token(request, _unused_call)
  raw_token = request.token
  packed_data = MessagePack.unpack(request.packed_data)

  ttl = request.ttl
  silence_read = request.silence_read

  # token_service.proto expect int64/32 values
  # it sensative for nil and covert it to 0
  ttl = nil if ttl == -1
  silence_read = nil if silence_read == -1

  result = CRUDJT.original_update(raw_token, packed_data, ttl: ttl, silence_read: silence_read)

  Token::UpdateTokenResponse.new(result: result)
end