Make clan_cli.secrets.sops.SopsKey immutable and remove its __eq__ method
Immutability seems sensible for this type. There is some ambiguity on how to compare keys, in particular when `user.name == ""`, but the rest matches.
This commit is contained in:
@@ -31,7 +31,7 @@ class KeyType(enum.Enum):
|
|||||||
return None
|
return None
|
||||||
|
|
||||||
|
|
||||||
@dataclass
|
@dataclass(frozen=True, eq=False)
|
||||||
class SopsKey:
|
class SopsKey:
|
||||||
pubkey: str
|
pubkey: str
|
||||||
username: str
|
username: str
|
||||||
@@ -108,8 +108,7 @@ def maybe_get_user_or_machine(flake_dir: Path, key: SopsKey) -> SopsKey | None:
|
|||||||
continue
|
continue
|
||||||
this_pub_key, this_key_type = read_key(user)
|
this_pub_key, this_key_type = read_key(user)
|
||||||
if key.pubkey == this_pub_key and key.key_type == this_key_type:
|
if key.pubkey == this_pub_key and key.key_type == this_key_type:
|
||||||
key.username = user.name
|
return SopsKey(key.pubkey, user.name, key.key_type)
|
||||||
return key
|
|
||||||
|
|
||||||
return None
|
return None
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user