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

import "google/protobuf/timestamp.proto";
import "headscale/v1/node.proto";

message Route {
    uint64 id         = 1;
    Node   node       = 2;
    string prefix     = 3;
    bool   advertised = 4;
    bool   enabled    = 5;
    bool   is_primary = 6;

    google.protobuf.Timestamp created_at = 7;
    google.protobuf.Timestamp updated_at = 8;
    google.protobuf.Timestamp deleted_at = 9;
}

message GetRoutesRequest {
}

message GetRoutesResponse {
    repeated Route routes = 1;
}

message EnableRouteRequest {
    uint64 route_id = 1;
}

message EnableRouteResponse {
}

message DisableRouteRequest {
    uint64 route_id = 1;
}

message DisableRouteResponse {
}

message GetNodeRoutesRequest {
    uint64 node_id = 1;
}

message GetNodeRoutesResponse {
    repeated Route routes = 1;
}

message DeleteRouteRequest {
    uint64 route_id = 1;
}

message DeleteRouteResponse {
}