syntax = "proto3";
package headscale.v1;
option go_package = "github.com/juanfont/headscale/gen/go/v1";

import "google/protobuf/timestamp.proto";

message PreAuthKey {
  string user = 1;
  string id = 2;
  string key = 3;
  bool reusable = 4;
  bool ephemeral = 5;
  bool used = 6;
  google.protobuf.Timestamp expiration = 7;
  google.protobuf.Timestamp created_at = 8;
  repeated string acl_tags = 9;
}

message CreatePreAuthKeyRequest {
  string user = 1;
  bool reusable = 2;
  bool ephemeral = 3;
  google.protobuf.Timestamp expiration = 4;
  repeated string acl_tags = 5;
}

message CreatePreAuthKeyResponse { PreAuthKey pre_auth_key = 1; }

message ExpirePreAuthKeyRequest {
  string user = 1;
  string key = 2;
}

message ExpirePreAuthKeyResponse {}

message ListPreAuthKeysRequest { string user = 1; }

message ListPreAuthKeysResponse { repeated PreAuthKey pre_auth_keys = 1; }