Class: Pgai::Encryption::OnePasswordClient

Inherits:
Object
  • Object
show all
Defined in:
lib/pgai/encryption/one_password_client.rb

Defined Under Namespace

Classes: CommandError

Constant Summary collapse

FIELD_NAME =
"master_key"

Instance Method Summary collapse

Instance Method Details

#create_item(key:, vault:, title:, category:) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
# File 'lib/pgai/encryption/one_password_client.rb', line 10

def create_item(key:, vault:, title:, category:)
  item_json = JSON.generate({
    title: title,
    fields: [
      {
        id: FIELD_NAME,
        type: "CONCEALED",
        label: FIELD_NAME,
        value: key
      }
    ]
  })

  output = run_command(
    "op", "item", "create",
    "--vault", vault,
    "--category", category,
    "--format", "json",
    "-",
    stdin_data: item_json
  )

  build_reference_from(output)
end

#read_item(reference) ⇒ Object



35
36
37
# File 'lib/pgai/encryption/one_password_client.rb', line 35

def read_item(reference)
  run_command("op", "read", reference).strip
end