diff --git a/utils/authd-user-add.cr b/utils/authd-user-add.cr index aea38b4..8f5405d 100644 --- a/utils/authd-user-add.cr +++ b/utils/authd-user-add.cr @@ -11,15 +11,12 @@ phone = nil OptionParser.parse do |parser| parser.unknown_args do |args| - if args.size == 0 || args.size > 3 + if args.size != 3 puts "usage: #{PROGRAM_NAME} <login> <email> <phone> [options]" puts parser exit 1 end - puts "coucou" - pp! args - cli_login, email, phone = args[0..2] end diff --git a/utils/authd-user-get.cr b/utils/authd-user-get.cr new file mode 100644 index 0000000..3cee0aa --- /dev/null +++ b/utils/authd-user-get.cr @@ -0,0 +1,42 @@ +require "option_parser" + +require "../src/authd.cr" + +key_file : String? = nil +cli_login : String? = nil + +OptionParser.parse do |parser| + parser.unknown_args do |args| + if args.size != 1 + puts "usage: #{PROGRAM_NAME} <login> [options]" + puts parser + exit 1 + end + + cli_login = args[0] + end + + parser.on "-K file", "--key-file file", "Read the authd shared key from a file." do |file| + key_file = file + end + + parser.on "-h", "--help", "Prints this help message." do + puts "usage: #{PROGRAM_NAME} <login> <email> <phone> [options]" + puts parser + exit 0 + end +end + +begin + authd = IPC::Connection.new "auth" + + authd = AuthD::Client.new + authd.key = File.read(key_file.not_nil!).chomp + + login = cli_login.not_nil! + + pp! authd.get_user? login +rescue e + puts "Error: #{e}" + exit 1 +end diff --git a/utils/authd-user-validate.cr b/utils/authd-user-validate.cr new file mode 100644 index 0000000..d382849 --- /dev/null +++ b/utils/authd-user-validate.cr @@ -0,0 +1,40 @@ +require "option_parser" + +require "../src/authd.cr" + +key_file : String? = nil +login : String? = nil +activation_key : String? = nil + +OptionParser.parse do |parser| + parser.unknown_args do |args| + if args.size != 2 + puts "usage: #{PROGRAM_NAME} login activation_key [options]" + exit 1 + end + + login, activation_key = args[0..1] + end + + parser.on "-K file", "--key-file file", "Read the authd shared key from a file." do |file| + key_file = file + end + + parser.on "-h", "--help", "Prints this help message." do + puts "usage: #{PROGRAM_NAME} <login> <email> <phone> [options]" + puts parser + exit 0 + end +end + +begin + authd = IPC::Connection.new "auth" + + authd = AuthD::Client.new + authd.key = File.read(key_file.not_nil!).chomp + + pp! r = authd.validate_user login.not_nil!, activation_key.not_nil! +rescue e + puts "Error: #{e}" + exit 1 +end