feat: realtime updates

This commit is contained in:
d34dscene
2025-08-01 22:45:28 +02:00
parent 3f0126f898
commit 71a4534c9c
67 changed files with 9904 additions and 8347 deletions

View File

@@ -37,12 +37,15 @@ const (
UtilServiceGetVersionProcedure = "/mantrae.v1.UtilService/GetVersion"
// UtilServiceGetPublicIPProcedure is the fully-qualified name of the UtilService's GetPublicIP RPC.
UtilServiceGetPublicIPProcedure = "/mantrae.v1.UtilService/GetPublicIP"
// UtilServiceEventStreamProcedure is the fully-qualified name of the UtilService's EventStream RPC.
UtilServiceEventStreamProcedure = "/mantrae.v1.UtilService/EventStream"
)
// UtilServiceClient is a client for the mantrae.v1.UtilService service.
type UtilServiceClient interface {
GetVersion(context.Context, *connect.Request[v1.GetVersionRequest]) (*connect.Response[v1.GetVersionResponse], error)
GetPublicIP(context.Context, *connect.Request[v1.GetPublicIPRequest]) (*connect.Response[v1.GetPublicIPResponse], error)
EventStream(context.Context, *connect.Request[v1.EventStreamRequest]) (*connect.ServerStreamForClient[v1.EventStreamResponse], error)
}
// NewUtilServiceClient constructs a client for the mantrae.v1.UtilService service. By default, it
@@ -68,6 +71,12 @@ func NewUtilServiceClient(httpClient connect.HTTPClient, baseURL string, opts ..
connect.WithSchema(utilServiceMethods.ByName("GetPublicIP")),
connect.WithClientOptions(opts...),
),
eventStream: connect.NewClient[v1.EventStreamRequest, v1.EventStreamResponse](
httpClient,
baseURL+UtilServiceEventStreamProcedure,
connect.WithSchema(utilServiceMethods.ByName("EventStream")),
connect.WithClientOptions(opts...),
),
}
}
@@ -75,6 +84,7 @@ func NewUtilServiceClient(httpClient connect.HTTPClient, baseURL string, opts ..
type utilServiceClient struct {
getVersion *connect.Client[v1.GetVersionRequest, v1.GetVersionResponse]
getPublicIP *connect.Client[v1.GetPublicIPRequest, v1.GetPublicIPResponse]
eventStream *connect.Client[v1.EventStreamRequest, v1.EventStreamResponse]
}
// GetVersion calls mantrae.v1.UtilService.GetVersion.
@@ -87,10 +97,16 @@ func (c *utilServiceClient) GetPublicIP(ctx context.Context, req *connect.Reques
return c.getPublicIP.CallUnary(ctx, req)
}
// EventStream calls mantrae.v1.UtilService.EventStream.
func (c *utilServiceClient) EventStream(ctx context.Context, req *connect.Request[v1.EventStreamRequest]) (*connect.ServerStreamForClient[v1.EventStreamResponse], error) {
return c.eventStream.CallServerStream(ctx, req)
}
// UtilServiceHandler is an implementation of the mantrae.v1.UtilService service.
type UtilServiceHandler interface {
GetVersion(context.Context, *connect.Request[v1.GetVersionRequest]) (*connect.Response[v1.GetVersionResponse], error)
GetPublicIP(context.Context, *connect.Request[v1.GetPublicIPRequest]) (*connect.Response[v1.GetPublicIPResponse], error)
EventStream(context.Context, *connect.Request[v1.EventStreamRequest], *connect.ServerStream[v1.EventStreamResponse]) error
}
// NewUtilServiceHandler builds an HTTP handler from the service implementation. It returns the path
@@ -112,12 +128,20 @@ func NewUtilServiceHandler(svc UtilServiceHandler, opts ...connect.HandlerOption
connect.WithSchema(utilServiceMethods.ByName("GetPublicIP")),
connect.WithHandlerOptions(opts...),
)
utilServiceEventStreamHandler := connect.NewServerStreamHandler(
UtilServiceEventStreamProcedure,
svc.EventStream,
connect.WithSchema(utilServiceMethods.ByName("EventStream")),
connect.WithHandlerOptions(opts...),
)
return "/mantrae.v1.UtilService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
switch r.URL.Path {
case UtilServiceGetVersionProcedure:
utilServiceGetVersionHandler.ServeHTTP(w, r)
case UtilServiceGetPublicIPProcedure:
utilServiceGetPublicIPHandler.ServeHTTP(w, r)
case UtilServiceEventStreamProcedure:
utilServiceEventStreamHandler.ServeHTTP(w, r)
default:
http.NotFound(w, r)
}
@@ -134,3 +158,7 @@ func (UnimplementedUtilServiceHandler) GetVersion(context.Context, *connect.Requ
func (UnimplementedUtilServiceHandler) GetPublicIP(context.Context, *connect.Request[v1.GetPublicIPRequest]) (*connect.Response[v1.GetPublicIPResponse], error) {
return nil, connect.NewError(connect.CodeUnimplemented, errors.New("mantrae.v1.UtilService.GetPublicIP is not implemented"))
}
func (UnimplementedUtilServiceHandler) EventStream(context.Context, *connect.Request[v1.EventStreamRequest], *connect.ServerStream[v1.EventStreamResponse]) error {
return connect.NewError(connect.CodeUnimplemented, errors.New("mantrae.v1.UtilService.EventStream is not implemented"))
}

View File

@@ -27,17 +27,18 @@ const (
type TraefikInstance struct {
state protoimpl.MessageState `protogen:"open.v1"`
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
Url string `protobuf:"bytes,3,opt,name=url,proto3" json:"url,omitempty"`
Username string `protobuf:"bytes,4,opt,name=username,proto3" json:"username,omitempty"`
Password string `protobuf:"bytes,5,opt,name=password,proto3" json:"password,omitempty"`
Tls bool `protobuf:"varint,6,opt,name=tls,proto3" json:"tls,omitempty"`
EntryPoints *structpb.Struct `protobuf:"bytes,7,opt,name=entry_points,json=entryPoints,proto3" json:"entry_points,omitempty"`
Overview *structpb.Struct `protobuf:"bytes,8,opt,name=overview,proto3" json:"overview,omitempty"`
Config *structpb.Struct `protobuf:"bytes,9,opt,name=config,proto3" json:"config,omitempty"`
Version *structpb.Struct `protobuf:"bytes,10,opt,name=version,proto3" json:"version,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,11,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
ProfileId int64 `protobuf:"varint,2,opt,name=profile_id,json=profileId,proto3" json:"profile_id,omitempty"`
Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
Url string `protobuf:"bytes,4,opt,name=url,proto3" json:"url,omitempty"`
Username string `protobuf:"bytes,5,opt,name=username,proto3" json:"username,omitempty"`
Password string `protobuf:"bytes,6,opt,name=password,proto3" json:"password,omitempty"`
Tls bool `protobuf:"varint,7,opt,name=tls,proto3" json:"tls,omitempty"`
EntryPoints *structpb.Struct `protobuf:"bytes,8,opt,name=entry_points,json=entryPoints,proto3" json:"entry_points,omitempty"`
Overview *structpb.Struct `protobuf:"bytes,9,opt,name=overview,proto3" json:"overview,omitempty"`
Config *structpb.Struct `protobuf:"bytes,10,opt,name=config,proto3" json:"config,omitempty"`
Version *structpb.Struct `protobuf:"bytes,11,opt,name=version,proto3" json:"version,omitempty"`
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,12,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,13,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
@@ -79,6 +80,13 @@ func (x *TraefikInstance) GetId() int64 {
return 0
}
func (x *TraefikInstance) GetProfileId() int64 {
if x != nil {
return x.ProfileId
}
return 0
}
func (x *TraefikInstance) GetName() string {
if x != nil {
return x.Name
@@ -441,23 +449,25 @@ var File_mantrae_v1_traefik_instance_proto protoreflect.FileDescriptor
const file_mantrae_v1_traefik_instance_proto_rawDesc = "" +
"\n" +
"!mantrae/v1/traefik_instance.proto\x12\n" +
"mantrae.v1\x1a\x1bbuf/validate/validate.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xdc\x03\n" +
"mantrae.v1\x1a\x1bbuf/validate/validate.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xfb\x03\n" +
"\x0fTraefikInstance\x12\x0e\n" +
"\x02id\x18\x01 \x01(\x03R\x02id\x12\x12\n" +
"\x04name\x18\x02 \x01(\tR\x04name\x12\x10\n" +
"\x03url\x18\x03 \x01(\tR\x03url\x12\x1a\n" +
"\busername\x18\x04 \x01(\tR\busername\x12\x1a\n" +
"\bpassword\x18\x05 \x01(\tR\bpassword\x12\x10\n" +
"\x03tls\x18\x06 \x01(\bR\x03tls\x12:\n" +
"\fentry_points\x18\a \x01(\v2\x17.google.protobuf.StructR\ventryPoints\x123\n" +
"\boverview\x18\b \x01(\v2\x17.google.protobuf.StructR\boverview\x12/\n" +
"\x06config\x18\t \x01(\v2\x17.google.protobuf.StructR\x06config\x121\n" +
"\aversion\x18\n" +
" \x01(\v2\x17.google.protobuf.StructR\aversion\x129\n" +
"\x02id\x18\x01 \x01(\x03R\x02id\x12\x1d\n" +
"\n" +
"created_at\x18\v \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" +
"profile_id\x18\x02 \x01(\x03R\tprofileId\x12\x12\n" +
"\x04name\x18\x03 \x01(\tR\x04name\x12\x10\n" +
"\x03url\x18\x04 \x01(\tR\x03url\x12\x1a\n" +
"\busername\x18\x05 \x01(\tR\busername\x12\x1a\n" +
"\bpassword\x18\x06 \x01(\tR\bpassword\x12\x10\n" +
"\x03tls\x18\a \x01(\bR\x03tls\x12:\n" +
"\fentry_points\x18\b \x01(\v2\x17.google.protobuf.StructR\ventryPoints\x123\n" +
"\boverview\x18\t \x01(\v2\x17.google.protobuf.StructR\boverview\x12/\n" +
"\x06config\x18\n" +
" \x01(\v2\x17.google.protobuf.StructR\x06config\x121\n" +
"\aversion\x18\v \x01(\v2\x17.google.protobuf.StructR\aversion\x129\n" +
"\n" +
"updated_at\x18\f \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\"4\n" +
"created_at\x18\f \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" +
"\n" +
"updated_at\x18\r \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\"4\n" +
"\x19GetTraefikInstanceRequest\x12\x17\n" +
"\x02id\x18\x01 \x01(\x03B\a\xbaH\x04\"\x02 \x00R\x02id\"d\n" +
"\x1aGetTraefikInstanceResponse\x12F\n" +

View File

@@ -7,6 +7,7 @@
package mantraev1
import (
_ "buf.build/gen/go/bufbuild/protovalidate/protocolbuffers/go/buf/validate"
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
reflect "reflect"
@@ -21,6 +22,58 @@ const (
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)
type EventAction int32
const (
EventAction_EVENT_ACTION_UNSPECIFIED EventAction = 0
EventAction_EVENT_ACTION_CREATED EventAction = 1
EventAction_EVENT_ACTION_UPDATED EventAction = 2
EventAction_EVENT_ACTION_DELETED EventAction = 3
)
// Enum value maps for EventAction.
var (
EventAction_name = map[int32]string{
0: "EVENT_ACTION_UNSPECIFIED",
1: "EVENT_ACTION_CREATED",
2: "EVENT_ACTION_UPDATED",
3: "EVENT_ACTION_DELETED",
}
EventAction_value = map[string]int32{
"EVENT_ACTION_UNSPECIFIED": 0,
"EVENT_ACTION_CREATED": 1,
"EVENT_ACTION_UPDATED": 2,
"EVENT_ACTION_DELETED": 3,
}
)
func (x EventAction) Enum() *EventAction {
p := new(EventAction)
*p = x
return p
}
func (x EventAction) String() string {
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}
func (EventAction) Descriptor() protoreflect.EnumDescriptor {
return file_mantrae_v1_util_proto_enumTypes[0].Descriptor()
}
func (EventAction) Type() protoreflect.EnumType {
return &file_mantrae_v1_util_proto_enumTypes[0]
}
func (x EventAction) Number() protoreflect.EnumNumber {
return protoreflect.EnumNumber(x)
}
// Deprecated: Use EventAction.Descriptor instead.
func (EventAction) EnumDescriptor() ([]byte, []int) {
return file_mantrae_v1_util_proto_rawDescGZIP(), []int{0}
}
type GetVersionRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
unknownFields protoimpl.UnknownFields
@@ -189,23 +242,311 @@ func (x *GetPublicIPResponse) GetIpv6() string {
return ""
}
type EventStreamRequest struct {
state protoimpl.MessageState `protogen:"open.v1"`
ProfileId int64 `protobuf:"varint,1,opt,name=profile_id,json=profileId,proto3" json:"profile_id,omitempty"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *EventStreamRequest) Reset() {
*x = EventStreamRequest{}
mi := &file_mantrae_v1_util_proto_msgTypes[4]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *EventStreamRequest) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*EventStreamRequest) ProtoMessage() {}
func (x *EventStreamRequest) ProtoReflect() protoreflect.Message {
mi := &file_mantrae_v1_util_proto_msgTypes[4]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use EventStreamRequest.ProtoReflect.Descriptor instead.
func (*EventStreamRequest) Descriptor() ([]byte, []int) {
return file_mantrae_v1_util_proto_rawDescGZIP(), []int{4}
}
func (x *EventStreamRequest) GetProfileId() int64 {
if x != nil {
return x.ProfileId
}
return 0
}
type EventStreamResponse struct {
state protoimpl.MessageState `protogen:"open.v1"`
Action EventAction `protobuf:"varint,1,opt,name=action,proto3,enum=mantrae.v1.EventAction" json:"action,omitempty"`
// Types that are valid to be assigned to Data:
//
// *EventStreamResponse_Profile
// *EventStreamResponse_User
// *EventStreamResponse_Agent
// *EventStreamResponse_DnsProvider
// *EventStreamResponse_TraefikInstance
// *EventStreamResponse_Router
// *EventStreamResponse_Service
// *EventStreamResponse_Middleware
// *EventStreamResponse_ServersTransport
// *EventStreamResponse_EntryPoint
Data isEventStreamResponse_Data `protobuf_oneof:"data"`
unknownFields protoimpl.UnknownFields
sizeCache protoimpl.SizeCache
}
func (x *EventStreamResponse) Reset() {
*x = EventStreamResponse{}
mi := &file_mantrae_v1_util_proto_msgTypes[5]
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
ms.StoreMessageInfo(mi)
}
func (x *EventStreamResponse) String() string {
return protoimpl.X.MessageStringOf(x)
}
func (*EventStreamResponse) ProtoMessage() {}
func (x *EventStreamResponse) ProtoReflect() protoreflect.Message {
mi := &file_mantrae_v1_util_proto_msgTypes[5]
if x != nil {
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
if ms.LoadMessageInfo() == nil {
ms.StoreMessageInfo(mi)
}
return ms
}
return mi.MessageOf(x)
}
// Deprecated: Use EventStreamResponse.ProtoReflect.Descriptor instead.
func (*EventStreamResponse) Descriptor() ([]byte, []int) {
return file_mantrae_v1_util_proto_rawDescGZIP(), []int{5}
}
func (x *EventStreamResponse) GetAction() EventAction {
if x != nil {
return x.Action
}
return EventAction_EVENT_ACTION_UNSPECIFIED
}
func (x *EventStreamResponse) GetData() isEventStreamResponse_Data {
if x != nil {
return x.Data
}
return nil
}
func (x *EventStreamResponse) GetProfile() *Profile {
if x != nil {
if x, ok := x.Data.(*EventStreamResponse_Profile); ok {
return x.Profile
}
}
return nil
}
func (x *EventStreamResponse) GetUser() *User {
if x != nil {
if x, ok := x.Data.(*EventStreamResponse_User); ok {
return x.User
}
}
return nil
}
func (x *EventStreamResponse) GetAgent() *Agent {
if x != nil {
if x, ok := x.Data.(*EventStreamResponse_Agent); ok {
return x.Agent
}
}
return nil
}
func (x *EventStreamResponse) GetDnsProvider() *DnsProvider {
if x != nil {
if x, ok := x.Data.(*EventStreamResponse_DnsProvider); ok {
return x.DnsProvider
}
}
return nil
}
func (x *EventStreamResponse) GetTraefikInstance() *TraefikInstance {
if x != nil {
if x, ok := x.Data.(*EventStreamResponse_TraefikInstance); ok {
return x.TraefikInstance
}
}
return nil
}
func (x *EventStreamResponse) GetRouter() *Router {
if x != nil {
if x, ok := x.Data.(*EventStreamResponse_Router); ok {
return x.Router
}
}
return nil
}
func (x *EventStreamResponse) GetService() *Service {
if x != nil {
if x, ok := x.Data.(*EventStreamResponse_Service); ok {
return x.Service
}
}
return nil
}
func (x *EventStreamResponse) GetMiddleware() *Middleware {
if x != nil {
if x, ok := x.Data.(*EventStreamResponse_Middleware); ok {
return x.Middleware
}
}
return nil
}
func (x *EventStreamResponse) GetServersTransport() *ServersTransport {
if x != nil {
if x, ok := x.Data.(*EventStreamResponse_ServersTransport); ok {
return x.ServersTransport
}
}
return nil
}
func (x *EventStreamResponse) GetEntryPoint() *EntryPoint {
if x != nil {
if x, ok := x.Data.(*EventStreamResponse_EntryPoint); ok {
return x.EntryPoint
}
}
return nil
}
type isEventStreamResponse_Data interface {
isEventStreamResponse_Data()
}
type EventStreamResponse_Profile struct {
Profile *Profile `protobuf:"bytes,2,opt,name=profile,proto3,oneof"`
}
type EventStreamResponse_User struct {
User *User `protobuf:"bytes,3,opt,name=user,proto3,oneof"`
}
type EventStreamResponse_Agent struct {
Agent *Agent `protobuf:"bytes,4,opt,name=agent,proto3,oneof"`
}
type EventStreamResponse_DnsProvider struct {
DnsProvider *DnsProvider `protobuf:"bytes,5,opt,name=dns_provider,json=dnsProvider,proto3,oneof"`
}
type EventStreamResponse_TraefikInstance struct {
TraefikInstance *TraefikInstance `protobuf:"bytes,6,opt,name=traefik_instance,json=traefikInstance,proto3,oneof"`
}
type EventStreamResponse_Router struct {
Router *Router `protobuf:"bytes,7,opt,name=router,proto3,oneof"`
}
type EventStreamResponse_Service struct {
Service *Service `protobuf:"bytes,8,opt,name=service,proto3,oneof"`
}
type EventStreamResponse_Middleware struct {
Middleware *Middleware `protobuf:"bytes,9,opt,name=middleware,proto3,oneof"`
}
type EventStreamResponse_ServersTransport struct {
ServersTransport *ServersTransport `protobuf:"bytes,10,opt,name=servers_transport,json=serversTransport,proto3,oneof"`
}
type EventStreamResponse_EntryPoint struct {
EntryPoint *EntryPoint `protobuf:"bytes,11,opt,name=entry_point,json=entryPoint,proto3,oneof"`
}
func (*EventStreamResponse_Profile) isEventStreamResponse_Data() {}
func (*EventStreamResponse_User) isEventStreamResponse_Data() {}
func (*EventStreamResponse_Agent) isEventStreamResponse_Data() {}
func (*EventStreamResponse_DnsProvider) isEventStreamResponse_Data() {}
func (*EventStreamResponse_TraefikInstance) isEventStreamResponse_Data() {}
func (*EventStreamResponse_Router) isEventStreamResponse_Data() {}
func (*EventStreamResponse_Service) isEventStreamResponse_Data() {}
func (*EventStreamResponse_Middleware) isEventStreamResponse_Data() {}
func (*EventStreamResponse_ServersTransport) isEventStreamResponse_Data() {}
func (*EventStreamResponse_EntryPoint) isEventStreamResponse_Data() {}
var File_mantrae_v1_util_proto protoreflect.FileDescriptor
const file_mantrae_v1_util_proto_rawDesc = "" +
"\n" +
"\x15mantrae/v1/util.proto\x12\n" +
"mantrae.v1\"\x13\n" +
"mantrae.v1\x1a\x1bbuf/validate/validate.proto\x1a\x16mantrae/v1/agent.proto\x1a\x1dmantrae/v1/dns_provider.proto\x1a\x1cmantrae/v1/entry_point.proto\x1a\x1bmantrae/v1/middleware.proto\x1a\x18mantrae/v1/profile.proto\x1a\x17mantrae/v1/router.proto\x1a\"mantrae/v1/servers_transport.proto\x1a\x18mantrae/v1/service.proto\x1a!mantrae/v1/traefik_instance.proto\x1a\x15mantrae/v1/user.proto\"\x13\n" +
"\x11GetVersionRequest\".\n" +
"\x12GetVersionResponse\x12\x18\n" +
"\aversion\x18\x01 \x01(\tR\aversion\"\x14\n" +
"\x12GetPublicIPRequest\"=\n" +
"\x13GetPublicIPResponse\x12\x12\n" +
"\x04ipv4\x18\x01 \x01(\tR\x04ipv4\x12\x12\n" +
"\x04ipv6\x18\x02 \x01(\tR\x04ipv62\xaa\x01\n" +
"\x04ipv6\x18\x02 \x01(\tR\x04ipv6\"<\n" +
"\x12EventStreamRequest\x12&\n" +
"\n" +
"profile_id\x18\x01 \x01(\x03B\a\xbaH\x04\"\x02 \x00R\tprofileId\"\xfb\x04\n" +
"\x13EventStreamResponse\x12/\n" +
"\x06action\x18\x01 \x01(\x0e2\x17.mantrae.v1.EventActionR\x06action\x12/\n" +
"\aprofile\x18\x02 \x01(\v2\x13.mantrae.v1.ProfileH\x00R\aprofile\x12&\n" +
"\x04user\x18\x03 \x01(\v2\x10.mantrae.v1.UserH\x00R\x04user\x12)\n" +
"\x05agent\x18\x04 \x01(\v2\x11.mantrae.v1.AgentH\x00R\x05agent\x12<\n" +
"\fdns_provider\x18\x05 \x01(\v2\x17.mantrae.v1.DnsProviderH\x00R\vdnsProvider\x12H\n" +
"\x10traefik_instance\x18\x06 \x01(\v2\x1b.mantrae.v1.TraefikInstanceH\x00R\x0ftraefikInstance\x12,\n" +
"\x06router\x18\a \x01(\v2\x12.mantrae.v1.RouterH\x00R\x06router\x12/\n" +
"\aservice\x18\b \x01(\v2\x13.mantrae.v1.ServiceH\x00R\aservice\x128\n" +
"\n" +
"middleware\x18\t \x01(\v2\x16.mantrae.v1.MiddlewareH\x00R\n" +
"middleware\x12K\n" +
"\x11servers_transport\x18\n" +
" \x01(\v2\x1c.mantrae.v1.ServersTransportH\x00R\x10serversTransport\x129\n" +
"\ventry_point\x18\v \x01(\v2\x16.mantrae.v1.EntryPointH\x00R\n" +
"entryPointB\x06\n" +
"\x04data*y\n" +
"\vEventAction\x12\x1c\n" +
"\x18EVENT_ACTION_UNSPECIFIED\x10\x00\x12\x18\n" +
"\x14EVENT_ACTION_CREATED\x10\x01\x12\x18\n" +
"\x14EVENT_ACTION_UPDATED\x10\x02\x12\x18\n" +
"\x14EVENT_ACTION_DELETED\x10\x032\xfc\x01\n" +
"\vUtilService\x12K\n" +
"\n" +
"GetVersion\x12\x1d.mantrae.v1.GetVersionRequest\x1a\x1e.mantrae.v1.GetVersionResponse\x12N\n" +
"\vGetPublicIP\x12\x1e.mantrae.v1.GetPublicIPRequest\x1a\x1f.mantrae.v1.GetPublicIPResponseB\xa3\x01\n" +
"\vGetPublicIP\x12\x1e.mantrae.v1.GetPublicIPRequest\x1a\x1f.mantrae.v1.GetPublicIPResponse\x12P\n" +
"\vEventStream\x12\x1e.mantrae.v1.EventStreamRequest\x1a\x1f.mantrae.v1.EventStreamResponse0\x01B\xa3\x01\n" +
"\x0ecom.mantrae.v1B\tUtilProtoP\x01Z=github.com/mizuchilabs/mantrae/proto/gen/mantrae/v1;mantraev1\xa2\x02\x03MXX\xaa\x02\n" +
"Mantrae.V1\xca\x02\n" +
"Mantrae\\V1\xe2\x02\x16Mantrae\\V1\\GPBMetadata\xea\x02\vMantrae::V1b\x06proto3"
@@ -222,23 +563,50 @@ func file_mantrae_v1_util_proto_rawDescGZIP() []byte {
return file_mantrae_v1_util_proto_rawDescData
}
var file_mantrae_v1_util_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
var file_mantrae_v1_util_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_mantrae_v1_util_proto_msgTypes = make([]protoimpl.MessageInfo, 6)
var file_mantrae_v1_util_proto_goTypes = []any{
(*GetVersionRequest)(nil), // 0: mantrae.v1.GetVersionRequest
(*GetVersionResponse)(nil), // 1: mantrae.v1.GetVersionResponse
(*GetPublicIPRequest)(nil), // 2: mantrae.v1.GetPublicIPRequest
(*GetPublicIPResponse)(nil), // 3: mantrae.v1.GetPublicIPResponse
(EventAction)(0), // 0: mantrae.v1.EventAction
(*GetVersionRequest)(nil), // 1: mantrae.v1.GetVersionRequest
(*GetVersionResponse)(nil), // 2: mantrae.v1.GetVersionResponse
(*GetPublicIPRequest)(nil), // 3: mantrae.v1.GetPublicIPRequest
(*GetPublicIPResponse)(nil), // 4: mantrae.v1.GetPublicIPResponse
(*EventStreamRequest)(nil), // 5: mantrae.v1.EventStreamRequest
(*EventStreamResponse)(nil), // 6: mantrae.v1.EventStreamResponse
(*Profile)(nil), // 7: mantrae.v1.Profile
(*User)(nil), // 8: mantrae.v1.User
(*Agent)(nil), // 9: mantrae.v1.Agent
(*DnsProvider)(nil), // 10: mantrae.v1.DnsProvider
(*TraefikInstance)(nil), // 11: mantrae.v1.TraefikInstance
(*Router)(nil), // 12: mantrae.v1.Router
(*Service)(nil), // 13: mantrae.v1.Service
(*Middleware)(nil), // 14: mantrae.v1.Middleware
(*ServersTransport)(nil), // 15: mantrae.v1.ServersTransport
(*EntryPoint)(nil), // 16: mantrae.v1.EntryPoint
}
var file_mantrae_v1_util_proto_depIdxs = []int32{
0, // 0: mantrae.v1.UtilService.GetVersion:input_type -> mantrae.v1.GetVersionRequest
2, // 1: mantrae.v1.UtilService.GetPublicIP:input_type -> mantrae.v1.GetPublicIPRequest
1, // 2: mantrae.v1.UtilService.GetVersion:output_type -> mantrae.v1.GetVersionResponse
3, // 3: mantrae.v1.UtilService.GetPublicIP:output_type -> mantrae.v1.GetPublicIPResponse
2, // [2:4] is the sub-list for method output_type
0, // [0:2] is the sub-list for method input_type
0, // [0:0] is the sub-list for extension type_name
0, // [0:0] is the sub-list for extension extendee
0, // [0:0] is the sub-list for field type_name
0, // 0: mantrae.v1.EventStreamResponse.action:type_name -> mantrae.v1.EventAction
7, // 1: mantrae.v1.EventStreamResponse.profile:type_name -> mantrae.v1.Profile
8, // 2: mantrae.v1.EventStreamResponse.user:type_name -> mantrae.v1.User
9, // 3: mantrae.v1.EventStreamResponse.agent:type_name -> mantrae.v1.Agent
10, // 4: mantrae.v1.EventStreamResponse.dns_provider:type_name -> mantrae.v1.DnsProvider
11, // 5: mantrae.v1.EventStreamResponse.traefik_instance:type_name -> mantrae.v1.TraefikInstance
12, // 6: mantrae.v1.EventStreamResponse.router:type_name -> mantrae.v1.Router
13, // 7: mantrae.v1.EventStreamResponse.service:type_name -> mantrae.v1.Service
14, // 8: mantrae.v1.EventStreamResponse.middleware:type_name -> mantrae.v1.Middleware
15, // 9: mantrae.v1.EventStreamResponse.servers_transport:type_name -> mantrae.v1.ServersTransport
16, // 10: mantrae.v1.EventStreamResponse.entry_point:type_name -> mantrae.v1.EntryPoint
1, // 11: mantrae.v1.UtilService.GetVersion:input_type -> mantrae.v1.GetVersionRequest
3, // 12: mantrae.v1.UtilService.GetPublicIP:input_type -> mantrae.v1.GetPublicIPRequest
5, // 13: mantrae.v1.UtilService.EventStream:input_type -> mantrae.v1.EventStreamRequest
2, // 14: mantrae.v1.UtilService.GetVersion:output_type -> mantrae.v1.GetVersionResponse
4, // 15: mantrae.v1.UtilService.GetPublicIP:output_type -> mantrae.v1.GetPublicIPResponse
6, // 16: mantrae.v1.UtilService.EventStream:output_type -> mantrae.v1.EventStreamResponse
14, // [14:17] is the sub-list for method output_type
11, // [11:14] is the sub-list for method input_type
11, // [11:11] is the sub-list for extension type_name
11, // [11:11] is the sub-list for extension extendee
0, // [0:11] is the sub-list for field type_name
}
func init() { file_mantrae_v1_util_proto_init() }
@@ -246,18 +614,41 @@ func file_mantrae_v1_util_proto_init() {
if File_mantrae_v1_util_proto != nil {
return
}
file_mantrae_v1_agent_proto_init()
file_mantrae_v1_dns_provider_proto_init()
file_mantrae_v1_entry_point_proto_init()
file_mantrae_v1_middleware_proto_init()
file_mantrae_v1_profile_proto_init()
file_mantrae_v1_router_proto_init()
file_mantrae_v1_servers_transport_proto_init()
file_mantrae_v1_service_proto_init()
file_mantrae_v1_traefik_instance_proto_init()
file_mantrae_v1_user_proto_init()
file_mantrae_v1_util_proto_msgTypes[5].OneofWrappers = []any{
(*EventStreamResponse_Profile)(nil),
(*EventStreamResponse_User)(nil),
(*EventStreamResponse_Agent)(nil),
(*EventStreamResponse_DnsProvider)(nil),
(*EventStreamResponse_TraefikInstance)(nil),
(*EventStreamResponse_Router)(nil),
(*EventStreamResponse_Service)(nil),
(*EventStreamResponse_Middleware)(nil),
(*EventStreamResponse_ServersTransport)(nil),
(*EventStreamResponse_EntryPoint)(nil),
}
type x struct{}
out := protoimpl.TypeBuilder{
File: protoimpl.DescBuilder{
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: unsafe.Slice(unsafe.StringData(file_mantrae_v1_util_proto_rawDesc), len(file_mantrae_v1_util_proto_rawDesc)),
NumEnums: 0,
NumMessages: 4,
NumEnums: 1,
NumMessages: 6,
NumExtensions: 0,
NumServices: 1,
},
GoTypes: file_mantrae_v1_util_proto_goTypes,
DependencyIndexes: file_mantrae_v1_util_proto_depIdxs,
EnumInfos: file_mantrae_v1_util_proto_enumTypes,
MessageInfos: file_mantrae_v1_util_proto_msgTypes,
}.Build()
File_mantrae_v1_util_proto = out.File

View File

@@ -2338,6 +2338,12 @@ components:
- string
title: id
format: int64
profileId:
type:
- integer
- string
title: profile_id
format: int64
name:
type: string
title: name
@@ -2675,6 +2681,105 @@ components:
$ref: '#/components/schemas/mantrae.v1.User'
title: VerifyOTPResponse
additionalProperties: false
mantrae.v1.EventAction:
type: string
title: EventAction
enum:
- EVENT_ACTION_UNSPECIFIED
- EVENT_ACTION_CREATED
- EVENT_ACTION_UPDATED
- EVENT_ACTION_DELETED
mantrae.v1.EventStreamRequest:
type: object
properties:
profileId:
exclusiveMinimum: 0
type:
- integer
- string
title: profile_id
format: int64
title: EventStreamRequest
additionalProperties: false
mantrae.v1.EventStreamResponse:
type: object
oneOf:
- properties:
agent:
title: agent
$ref: '#/components/schemas/mantrae.v1.Agent'
title: agent
required:
- agent
- properties:
dnsProvider:
title: dns_provider
$ref: '#/components/schemas/mantrae.v1.DnsProvider'
title: dns_provider
required:
- dnsProvider
- properties:
entryPoint:
title: entry_point
$ref: '#/components/schemas/mantrae.v1.EntryPoint'
title: entry_point
required:
- entryPoint
- properties:
middleware:
title: middleware
$ref: '#/components/schemas/mantrae.v1.Middleware'
title: middleware
required:
- middleware
- properties:
profile:
title: profile
$ref: '#/components/schemas/mantrae.v1.Profile'
title: profile
required:
- profile
- properties:
router:
title: router
$ref: '#/components/schemas/mantrae.v1.Router'
title: router
required:
- router
- properties:
serversTransport:
title: servers_transport
$ref: '#/components/schemas/mantrae.v1.ServersTransport'
title: servers_transport
required:
- serversTransport
- properties:
service:
title: service
$ref: '#/components/schemas/mantrae.v1.Service'
title: service
required:
- service
- properties:
traefikInstance:
title: traefik_instance
$ref: '#/components/schemas/mantrae.v1.TraefikInstance'
title: traefik_instance
required:
- traefikInstance
- properties:
user:
title: user
$ref: '#/components/schemas/mantrae.v1.User'
title: user
required:
- user
properties:
action:
title: action
$ref: '#/components/schemas/mantrae.v1.EventAction'
title: EventStreamResponse
additionalProperties: false
mantrae.v1.GetPublicIPRequest:
type: object
title: GetPublicIPRequest
@@ -6356,6 +6461,104 @@ paths:
application/json:
schema:
$ref: '#/components/schemas/mantrae.v1.GetPublicIPResponse'
/mantrae.v1.UtilService/EventStream:
post:
tags:
- mantrae.v1.UtilService
summary: EventStream
operationId: mantrae.v1.UtilService.EventStream
parameters:
- name: Connect-Protocol-Version
in: header
required: true
schema:
$ref: '#/components/schemas/connect-protocol-version'
- name: Connect-Timeout-Ms
in: header
schema:
$ref: '#/components/schemas/connect-timeout-header'
requestBody:
content:
application/connect+json:
schema:
$ref: '#/components/schemas/mantrae.v1.EventStreamRequest'
application/connect+proto:
schema:
$ref: '#/components/schemas/mantrae.v1.EventStreamRequest'
application/grpc:
schema:
$ref: '#/components/schemas/mantrae.v1.EventStreamRequest'
application/grpc+proto:
schema:
$ref: '#/components/schemas/mantrae.v1.EventStreamRequest'
application/grpc+json:
schema:
$ref: '#/components/schemas/mantrae.v1.EventStreamRequest'
application/grpc-web:
schema:
$ref: '#/components/schemas/mantrae.v1.EventStreamRequest'
application/grpc-web+proto:
schema:
$ref: '#/components/schemas/mantrae.v1.EventStreamRequest'
application/grpc-web+json:
schema:
$ref: '#/components/schemas/mantrae.v1.EventStreamRequest'
required: true
responses:
default:
description: Error
content:
application/connect+json:
schema:
$ref: '#/components/schemas/connect.error'
application/connect+proto:
schema:
$ref: '#/components/schemas/connect.error'
application/grpc:
schema:
$ref: '#/components/schemas/connect.error'
application/grpc+proto:
schema:
$ref: '#/components/schemas/connect.error'
application/grpc+json:
schema:
$ref: '#/components/schemas/connect.error'
application/grpc-web:
schema:
$ref: '#/components/schemas/connect.error'
application/grpc-web+proto:
schema:
$ref: '#/components/schemas/connect.error'
application/grpc-web+json:
schema:
$ref: '#/components/schemas/connect.error'
"200":
description: Success
content:
application/connect+json:
schema:
$ref: '#/components/schemas/mantrae.v1.EventStreamResponse'
application/connect+proto:
schema:
$ref: '#/components/schemas/mantrae.v1.EventStreamResponse'
application/grpc:
schema:
$ref: '#/components/schemas/mantrae.v1.EventStreamResponse'
application/grpc+proto:
schema:
$ref: '#/components/schemas/mantrae.v1.EventStreamResponse'
application/grpc+json:
schema:
$ref: '#/components/schemas/mantrae.v1.EventStreamResponse'
application/grpc-web:
schema:
$ref: '#/components/schemas/mantrae.v1.EventStreamResponse'
application/grpc-web+proto:
schema:
$ref: '#/components/schemas/mantrae.v1.EventStreamResponse'
application/grpc-web+json:
schema:
$ref: '#/components/schemas/mantrae.v1.EventStreamResponse'
tags:
- name: mantrae.v1.AgentService
- name: mantrae.v1.AuditLogService

View File

@@ -18,17 +18,18 @@ service TraefikInstanceService {
message TraefikInstance {
int64 id = 1;
string name = 2;
string url = 3;
string username = 4;
string password = 5;
bool tls = 6;
google.protobuf.Struct entry_points = 7;
google.protobuf.Struct overview = 8;
google.protobuf.Struct config = 9;
google.protobuf.Struct version = 10;
google.protobuf.Timestamp created_at = 11;
google.protobuf.Timestamp updated_at = 12;
int64 profile_id = 2;
string name = 3;
string url = 4;
string username = 5;
string password = 6;
bool tls = 7;
google.protobuf.Struct entry_points = 8;
google.protobuf.Struct overview = 9;
google.protobuf.Struct config = 10;
google.protobuf.Struct version = 11;
google.protobuf.Timestamp created_at = 12;
google.protobuf.Timestamp updated_at = 13;
}
message GetTraefikInstanceRequest {

View File

@@ -2,9 +2,29 @@ syntax = "proto3";
package mantrae.v1;
import "buf/validate/validate.proto";
import "mantrae/v1/agent.proto";
import "mantrae/v1/dns_provider.proto";
import "mantrae/v1/entry_point.proto";
import "mantrae/v1/middleware.proto";
import "mantrae/v1/profile.proto";
import "mantrae/v1/router.proto";
import "mantrae/v1/servers_transport.proto";
import "mantrae/v1/service.proto";
import "mantrae/v1/traefik_instance.proto";
import "mantrae/v1/user.proto";
service UtilService {
rpc GetVersion(GetVersionRequest) returns (GetVersionResponse);
rpc GetPublicIP(GetPublicIPRequest) returns (GetPublicIPResponse);
rpc EventStream(EventStreamRequest) returns (stream EventStreamResponse);
}
enum EventAction {
EVENT_ACTION_UNSPECIFIED = 0;
EVENT_ACTION_CREATED = 1;
EVENT_ACTION_UPDATED = 2;
EVENT_ACTION_DELETED = 3;
}
message GetVersionRequest {}
@@ -17,3 +37,22 @@ message GetPublicIPResponse {
string ipv4 = 1;
string ipv6 = 2;
}
message EventStreamRequest {
int64 profile_id = 1 [(buf.validate.field).int64.gt = 0];
}
message EventStreamResponse {
EventAction action = 1;
oneof data {
Profile profile = 2;
User user = 3;
Agent agent = 4;
DnsProvider dns_provider = 5;
TraefikInstance traefik_instance = 6;
Router router = 7;
Service service = 8;
Middleware middleware = 9;
ServersTransport servers_transport = 10;
EntryPoint entry_point = 11;
}
}

View File

@@ -13,8 +13,8 @@ import (
func main() {
// Graceful shutdown
ctx, cancel := context.WithCancel(context.Background())
defer cancel()
ctx, stop := signal.NotifyContext(context.Background(), syscall.SIGINT, syscall.SIGTERM)
defer stop()
app, err := config.Setup(ctx)
if err != nil {
@@ -22,13 +22,6 @@ func main() {
return
}
go func() {
sigCh := make(chan os.Signal, 1)
signal.Notify(sigCh, syscall.SIGINT, syscall.SIGTERM)
<-sigCh
cancel()
}()
srv := server.NewServer(app)
if err := srv.Start(ctx); err != nil {
slog.Error("Server error", "error", err)

View File

@@ -7,6 +7,7 @@ import (
"log"
"log/slog"
"net/http"
"net/http/pprof"
"runtime/debug"
"time"
@@ -166,11 +167,11 @@ func (s *Server) registerServices() {
s.mux.Handle(grpcreflect.NewHandlerV1Alpha(reflector))
// PProf debug endpoints
// s.mux.HandleFunc("/debug/pprof/", pprof.Index)
// s.mux.HandleFunc("/debug/pprof/cmdline", pprof.Cmdline)
// s.mux.HandleFunc("/debug/pprof/profile", pprof.Profile)
// s.mux.HandleFunc("/debug/pprof/symbol", pprof.Symbol)
// s.mux.HandleFunc("/debug/pprof/trace", pprof.Trace)
s.mux.HandleFunc("/debug/pprof/", pprof.Index)
s.mux.HandleFunc("/debug/pprof/cmdline", pprof.Cmdline)
s.mux.HandleFunc("/debug/pprof/profile", pprof.Profile)
s.mux.HandleFunc("/debug/pprof/symbol", pprof.Symbol)
s.mux.HandleFunc("/debug/pprof/trace", pprof.Trace)
// Static files
s.WithStatic()

View File

@@ -51,6 +51,13 @@ func (s *AgentService) CreateAgent(
if err != nil {
return nil, connect.NewError(connect.CodeInternal, err)
}
s.app.Event.Broadcast(&mantraev1.EventStreamResponse{
Action: mantraev1.EventAction_EVENT_ACTION_CREATED,
Data: &mantraev1.EventStreamResponse_Agent{
Agent: result.ToProto(),
},
})
return connect.NewResponse(&mantraev1.CreateAgentResponse{
Agent: result.ToProto(),
}), nil
@@ -78,6 +85,13 @@ func (s *AgentService) UpdateAgent(
if err != nil {
return nil, connect.NewError(connect.CodeInternal, err)
}
s.app.Event.Broadcast(&mantraev1.EventStreamResponse{
Action: mantraev1.EventAction_EVENT_ACTION_UPDATED,
Data: &mantraev1.EventStreamResponse_Agent{
Agent: result.ToProto(),
},
})
return connect.NewResponse(&mantraev1.UpdateAgentResponse{
Agent: result.ToProto(),
}), nil
@@ -87,9 +101,21 @@ func (s *AgentService) DeleteAgent(
ctx context.Context,
req *connect.Request[mantraev1.DeleteAgentRequest],
) (*connect.Response[mantraev1.DeleteAgentResponse], error) {
agent, err := s.app.Conn.GetQuery().GetAgent(ctx, req.Msg.Id)
if err != nil {
return nil, connect.NewError(connect.CodeInternal, err)
}
if err := s.app.Conn.GetQuery().DeleteAgent(ctx, req.Msg.Id); err != nil {
return nil, connect.NewError(connect.CodeInternal, err)
}
s.app.Event.Broadcast(&mantraev1.EventStreamResponse{
Action: mantraev1.EventAction_EVENT_ACTION_DELETED,
Data: &mantraev1.EventStreamResponse_Agent{
Agent: agent.ToProto(),
},
})
return connect.NewResponse(&mantraev1.DeleteAgentResponse{}), nil
}
@@ -155,6 +181,12 @@ func (s *AgentService) HealthCheck(
return nil, connect.NewError(connect.CodeInternal, err)
}
s.app.Event.Broadcast(&mantraev1.EventStreamResponse{
Action: mantraev1.EventAction_EVENT_ACTION_UPDATED,
Data: &mantraev1.EventStreamResponse_Agent{
Agent: result.ToProto(),
},
})
return connect.NewResponse(&mantraev1.HealthCheckResponse{
Agent: result.ToProto(),
}), nil

View File

@@ -75,6 +75,13 @@ func (s *DnsProviderService) CreateDnsProvider(
if err != nil {
return nil, connect.NewError(connect.CodeInternal, err)
}
s.app.Event.Broadcast(&mantraev1.EventStreamResponse{
Action: mantraev1.EventAction_EVENT_ACTION_CREATED,
Data: &mantraev1.EventStreamResponse_DnsProvider{
DnsProvider: result.ToProto(),
},
})
return connect.NewResponse(&mantraev1.CreateDnsProviderResponse{
DnsProvider: result.ToProto(),
}), nil
@@ -123,6 +130,13 @@ func (s *DnsProviderService) UpdateDnsProvider(
if err != nil {
return nil, connect.NewError(connect.CodeInternal, err)
}
s.app.Event.Broadcast(&mantraev1.EventStreamResponse{
Action: mantraev1.EventAction_EVENT_ACTION_UPDATED,
Data: &mantraev1.EventStreamResponse_DnsProvider{
DnsProvider: result.ToProto(),
},
})
return connect.NewResponse(&mantraev1.UpdateDnsProviderResponse{
DnsProvider: result.ToProto(),
}), nil
@@ -132,9 +146,20 @@ func (s *DnsProviderService) DeleteDnsProvider(
ctx context.Context,
req *connect.Request[mantraev1.DeleteDnsProviderRequest],
) (*connect.Response[mantraev1.DeleteDnsProviderResponse], error) {
dnsProvider, err := s.app.Conn.GetQuery().GetDnsProvider(ctx, req.Msg.Id)
if err != nil {
return nil, connect.NewError(connect.CodeInternal, err)
}
if err := s.app.Conn.GetQuery().DeleteDnsProvider(ctx, req.Msg.Id); err != nil {
return nil, connect.NewError(connect.CodeInternal, err)
}
s.app.Event.Broadcast(&mantraev1.EventStreamResponse{
Action: mantraev1.EventAction_EVENT_ACTION_DELETED,
Data: &mantraev1.EventStreamResponse_DnsProvider{
DnsProvider: dnsProvider.ToProto(),
},
})
return connect.NewResponse(&mantraev1.DeleteDnsProviderResponse{}), nil
}

View File

@@ -52,6 +52,13 @@ func (s *EntryPointService) CreateEntryPoint(
if err != nil {
return nil, connect.NewError(connect.CodeInternal, err)
}
s.app.Event.Broadcast(&mantraev1.EventStreamResponse{
Action: mantraev1.EventAction_EVENT_ACTION_CREATED,
Data: &mantraev1.EventStreamResponse_EntryPoint{
EntryPoint: result.ToProto(),
},
})
return connect.NewResponse(&mantraev1.CreateEntryPointResponse{
EntryPoint: result.ToProto(),
}), nil
@@ -82,6 +89,13 @@ func (s *EntryPointService) UpdateEntryPoint(
if err != nil {
return nil, connect.NewError(connect.CodeInternal, err)
}
s.app.Event.Broadcast(&mantraev1.EventStreamResponse{
Action: mantraev1.EventAction_EVENT_ACTION_UPDATED,
Data: &mantraev1.EventStreamResponse_EntryPoint{
EntryPoint: result.ToProto(),
},
})
return connect.NewResponse(&mantraev1.UpdateEntryPointResponse{
EntryPoint: result.ToProto(),
}), nil
@@ -91,12 +105,22 @@ func (s *EntryPointService) DeleteEntryPoint(
ctx context.Context,
req *connect.Request[mantraev1.DeleteEntryPointRequest],
) (*connect.Response[mantraev1.DeleteEntryPointResponse], error) {
entryPoint, err := s.app.Conn.GetQuery().GetEntryPoint(ctx, req.Msg.Id)
if err != nil {
return nil, connect.NewError(connect.CodeInternal, err)
}
if err := s.updateRouterEntrypoints(ctx, req.Msg.Id, ""); err != nil {
return nil, connect.NewError(connect.CodeInternal, err)
}
if err := s.app.Conn.GetQuery().DeleteEntryPointByID(ctx, req.Msg.Id); err != nil {
return nil, connect.NewError(connect.CodeInternal, err)
}
s.app.Event.Broadcast(&mantraev1.EventStreamResponse{
Action: mantraev1.EventAction_EVENT_ACTION_DELETED,
Data: &mantraev1.EventStreamResponse_EntryPoint{
EntryPoint: entryPoint.ToProto(),
},
})
return connect.NewResponse(&mantraev1.DeleteEntryPointResponse{}), nil
}

View File

@@ -94,6 +94,13 @@ func (s *HTTPMiddlewareOps) Create(
if err != nil {
return nil, err
}
s.app.Event.Broadcast(&mantraev1.EventStreamResponse{
Action: mantraev1.EventAction_EVENT_ACTION_CREATED,
Data: &mantraev1.EventStreamResponse_Middleware{
Middleware: result.ToProto(),
},
})
return &mantraev1.CreateMiddlewareResponse{
Middleware: result.ToProto(),
}, nil
@@ -159,6 +166,13 @@ func (s *HTTPMiddlewareOps) Update(
if err != nil {
return nil, err
}
s.app.Event.Broadcast(&mantraev1.EventStreamResponse{
Action: mantraev1.EventAction_EVENT_ACTION_UPDATED,
Data: &mantraev1.EventStreamResponse_Middleware{
Middleware: result.ToProto(),
},
})
return &mantraev1.UpdateMiddlewareResponse{
Middleware: result.ToProto(),
}, nil
@@ -199,6 +213,13 @@ func (s *HTTPMiddlewareOps) Delete(
if err := s.app.Conn.GetQuery().DeleteHttpMiddleware(ctx, req.Id); err != nil {
return nil, err
}
s.app.Event.Broadcast(&mantraev1.EventStreamResponse{
Action: mantraev1.EventAction_EVENT_ACTION_DELETED,
Data: &mantraev1.EventStreamResponse_Middleware{
Middleware: middleware.ToProto(),
},
})
return &mantraev1.DeleteMiddlewareResponse{}, nil
}
@@ -277,6 +298,13 @@ func (s *TCPMiddlewareOps) Create(
if err != nil {
return nil, err
}
s.app.Event.Broadcast(&mantraev1.EventStreamResponse{
Action: mantraev1.EventAction_EVENT_ACTION_CREATED,
Data: &mantraev1.EventStreamResponse_Middleware{
Middleware: result.ToProto(),
},
})
return &mantraev1.CreateMiddlewareResponse{
Middleware: result.ToProto(),
}, nil
@@ -339,6 +367,13 @@ func (s *TCPMiddlewareOps) Update(
if err != nil {
return nil, err
}
s.app.Event.Broadcast(&mantraev1.EventStreamResponse{
Action: mantraev1.EventAction_EVENT_ACTION_UPDATED,
Data: &mantraev1.EventStreamResponse_Middleware{
Middleware: result.ToProto(),
},
})
return &mantraev1.UpdateMiddlewareResponse{
Middleware: result.ToProto(),
}, nil
@@ -379,6 +414,13 @@ func (s *TCPMiddlewareOps) Delete(
if err := s.app.Conn.GetQuery().DeleteTcpMiddleware(ctx, req.Id); err != nil {
return nil, err
}
s.app.Event.Broadcast(&mantraev1.EventStreamResponse{
Action: mantraev1.EventAction_EVENT_ACTION_DELETED,
Data: &mantraev1.EventStreamResponse_Middleware{
Middleware: middleware.ToProto(),
},
})
return &mantraev1.DeleteMiddlewareResponse{}, nil
}

View File

@@ -104,6 +104,12 @@ func (s *HTTPRouterOps) Create(
router.DnsProviders = append(router.DnsProviders, p.ToProto())
}
s.app.Event.Broadcast(&mantraev1.EventStreamResponse{
Action: mantraev1.EventAction_EVENT_ACTION_CREATED,
Data: &mantraev1.EventStreamResponse_Router{
Router: router,
},
})
return &mantraev1.CreateRouterResponse{
Router: router,
}, nil
@@ -183,6 +189,12 @@ func (s *HTTPRouterOps) Update(
router.DnsProviders = append(router.DnsProviders, p.ToProto())
}
s.app.Event.Broadcast(&mantraev1.EventStreamResponse{
Action: mantraev1.EventAction_EVENT_ACTION_UPDATED,
Data: &mantraev1.EventStreamResponse_Router{
Router: router,
},
})
return &mantraev1.UpdateRouterResponse{
Router: router,
}, nil
@@ -213,6 +225,13 @@ func (s *HTTPRouterOps) Delete(
if err := s.app.Conn.GetQuery().DeleteHttpRouter(ctx, req.Id); err != nil {
return nil, err
}
s.app.Event.Broadcast(&mantraev1.EventStreamResponse{
Action: mantraev1.EventAction_EVENT_ACTION_DELETED,
Data: &mantraev1.EventStreamResponse_Router{
Router: router.ToProto(),
},
})
return &mantraev1.DeleteRouterResponse{}, nil
}
@@ -284,6 +303,13 @@ func (s *TCPRouterOps) Create(
if err != nil {
return nil, err
}
s.app.Event.Broadcast(&mantraev1.EventStreamResponse{
Action: mantraev1.EventAction_EVENT_ACTION_CREATED,
Data: &mantraev1.EventStreamResponse_Router{
Router: result.ToProto(),
},
})
return &mantraev1.CreateRouterResponse{
Router: result.ToProto(),
}, nil
@@ -352,6 +378,13 @@ func (s *TCPRouterOps) Update(
if err != nil {
return nil, err
}
s.app.Event.Broadcast(&mantraev1.EventStreamResponse{
Action: mantraev1.EventAction_EVENT_ACTION_UPDATED,
Data: &mantraev1.EventStreamResponse_Router{
Router: result.ToProto(),
},
})
return &mantraev1.UpdateRouterResponse{
Router: result.ToProto(),
}, nil
@@ -381,6 +414,13 @@ func (s *TCPRouterOps) Delete(
if err := s.app.Conn.GetQuery().DeleteTcpRouter(ctx, req.Id); err != nil {
return nil, err
}
s.app.Event.Broadcast(&mantraev1.EventStreamResponse{
Action: mantraev1.EventAction_EVENT_ACTION_DELETED,
Data: &mantraev1.EventStreamResponse_Router{
Router: router.ToProto(),
},
})
return &mantraev1.DeleteRouterResponse{}, nil
}
@@ -452,6 +492,13 @@ func (s *UDPRouterOps) Create(
if err != nil {
return nil, err
}
s.app.Event.Broadcast(&mantraev1.EventStreamResponse{
Action: mantraev1.EventAction_EVENT_ACTION_CREATED,
Data: &mantraev1.EventStreamResponse_Router{
Router: result.ToProto(),
},
})
return &mantraev1.CreateRouterResponse{
Router: result.ToProto(),
}, nil
@@ -478,6 +525,13 @@ func (s *UDPRouterOps) Update(
if err != nil {
return nil, err
}
s.app.Event.Broadcast(&mantraev1.EventStreamResponse{
Action: mantraev1.EventAction_EVENT_ACTION_UPDATED,
Data: &mantraev1.EventStreamResponse_Router{
Router: result.ToProto(),
},
})
return &mantraev1.UpdateRouterResponse{
Router: result.ToProto(),
}, nil
@@ -507,6 +561,13 @@ func (s *UDPRouterOps) Delete(
if err := s.app.Conn.GetQuery().DeleteUdpRouter(ctx, req.Id); err != nil {
return nil, err
}
s.app.Event.Broadcast(&mantraev1.EventStreamResponse{
Action: mantraev1.EventAction_EVENT_ACTION_DELETED,
Data: &mantraev1.EventStreamResponse_Router{
Router: router.ToProto(),
},
})
return &mantraev1.DeleteRouterResponse{}, nil
}

View File

@@ -83,6 +83,13 @@ func (s *HTTPServersTransportOps) Create(
if err != nil {
return nil, err
}
s.app.Event.Broadcast(&mantraev1.EventStreamResponse{
Action: mantraev1.EventAction_EVENT_ACTION_CREATED,
Data: &mantraev1.EventStreamResponse_ServersTransport{
ServersTransport: result.ToProto(),
},
})
return &mantraev1.CreateServersTransportResponse{
ServersTransport: result.ToProto(),
}, nil
@@ -108,6 +115,13 @@ func (s *HTTPServersTransportOps) Update(
if err != nil {
return nil, err
}
s.app.Event.Broadcast(&mantraev1.EventStreamResponse{
Action: mantraev1.EventAction_EVENT_ACTION_UPDATED,
Data: &mantraev1.EventStreamResponse_ServersTransport{
ServersTransport: result.ToProto(),
},
})
return &mantraev1.UpdateServersTransportResponse{
ServersTransport: result.ToProto(),
}, nil
@@ -117,9 +131,20 @@ func (s *HTTPServersTransportOps) Delete(
ctx context.Context,
req *mantraev1.DeleteServersTransportRequest,
) (*mantraev1.DeleteServersTransportResponse, error) {
serversTransport, err := s.app.Conn.GetQuery().GetHttpServersTransport(ctx, req.Id)
if err != nil {
return nil, err
}
if err := s.app.Conn.GetQuery().DeleteHttpServersTransport(ctx, req.Id); err != nil {
return nil, err
}
s.app.Event.Broadcast(&mantraev1.EventStreamResponse{
Action: mantraev1.EventAction_EVENT_ACTION_DELETED,
Data: &mantraev1.EventStreamResponse_ServersTransport{
ServersTransport: serversTransport.ToProto(),
},
})
return &mantraev1.DeleteServersTransportResponse{}, nil
}
@@ -191,6 +216,13 @@ func (s *TCPServersTransportOps) Create(
if err != nil {
return nil, err
}
s.app.Event.Broadcast(&mantraev1.EventStreamResponse{
Action: mantraev1.EventAction_EVENT_ACTION_CREATED,
Data: &mantraev1.EventStreamResponse_ServersTransport{
ServersTransport: result.ToProto(),
},
})
return &mantraev1.CreateServersTransportResponse{
ServersTransport: result.ToProto(),
}, nil
@@ -216,6 +248,13 @@ func (s *TCPServersTransportOps) Update(
if err != nil {
return nil, err
}
s.app.Event.Broadcast(&mantraev1.EventStreamResponse{
Action: mantraev1.EventAction_EVENT_ACTION_UPDATED,
Data: &mantraev1.EventStreamResponse_ServersTransport{
ServersTransport: result.ToProto(),
},
})
return &mantraev1.UpdateServersTransportResponse{
ServersTransport: result.ToProto(),
}, nil
@@ -225,9 +264,20 @@ func (s *TCPServersTransportOps) Delete(
ctx context.Context,
req *mantraev1.DeleteServersTransportRequest,
) (*mantraev1.DeleteServersTransportResponse, error) {
serversTransport, err := s.app.Conn.GetQuery().GetTcpServersTransport(ctx, req.Id)
if err != nil {
return nil, err
}
if err := s.app.Conn.GetQuery().DeleteTcpServersTransport(ctx, req.Id); err != nil {
return nil, err
}
s.app.Event.Broadcast(&mantraev1.EventStreamResponse{
Action: mantraev1.EventAction_EVENT_ACTION_DELETED,
Data: &mantraev1.EventStreamResponse_ServersTransport{
ServersTransport: serversTransport.ToProto(),
},
})
return &mantraev1.DeleteServersTransportResponse{}, nil
}

View File

@@ -68,14 +68,10 @@ func (s *HTTPServiceOps) Get(
switch id := req.GetIdentifier().(type) {
case *mantraev1.GetServiceRequest_Id:
result, err = s.app.Conn.GetQuery().GetHttpServiceByID(ctx, db.GetHttpServiceByIDParams{
ProfileID: req.ProfileId,
ID: id.Id,
})
result, err = s.app.Conn.GetQuery().GetHttpService(ctx, id.Id)
if err != nil {
return nil, err
}
break
case *mantraev1.GetServiceRequest_Name:
result, err = s.app.Conn.GetQuery().GetHttpServiceByName(ctx, db.GetHttpServiceByNameParams{
ProfileID: req.ProfileId,
@@ -84,7 +80,6 @@ func (s *HTTPServiceOps) Get(
if err != nil {
return nil, err
}
break
default:
return nil, errors.New("invalid service identifier")
}
@@ -114,6 +109,13 @@ func (s *HTTPServiceOps) Create(
if err != nil {
return nil, err
}
s.app.Event.Broadcast(&mantraev1.EventStreamResponse{
Action: mantraev1.EventAction_EVENT_ACTION_CREATED,
Data: &mantraev1.EventStreamResponse_Service{
Service: result.ToProto(),
},
})
return &mantraev1.CreateServiceResponse{
Service: result.ToProto(),
}, nil
@@ -139,6 +141,13 @@ func (s *HTTPServiceOps) Update(
if err != nil {
return nil, err
}
s.app.Event.Broadcast(&mantraev1.EventStreamResponse{
Action: mantraev1.EventAction_EVENT_ACTION_UPDATED,
Data: &mantraev1.EventStreamResponse_Service{
Service: result.ToProto(),
},
})
return &mantraev1.UpdateServiceResponse{
Service: result.ToProto(),
}, nil
@@ -148,9 +157,20 @@ func (s *HTTPServiceOps) Delete(
ctx context.Context,
req *mantraev1.DeleteServiceRequest,
) (*mantraev1.DeleteServiceResponse, error) {
service, err := s.app.Conn.GetQuery().GetHttpService(ctx, req.Id)
if err != nil {
return nil, err
}
if err := s.app.Conn.GetQuery().DeleteHttpService(ctx, req.Id); err != nil {
return nil, err
}
s.app.Event.Broadcast(&mantraev1.EventStreamResponse{
Action: mantraev1.EventAction_EVENT_ACTION_DELETED,
Data: &mantraev1.EventStreamResponse_Service{
Service: service.ToProto(),
},
})
return &mantraev1.DeleteServiceResponse{}, nil
}
@@ -197,14 +217,10 @@ func (s *TCPServiceOps) Get(
switch id := req.GetIdentifier().(type) {
case *mantraev1.GetServiceRequest_Id:
result, err = s.app.Conn.GetQuery().GetTcpServiceByID(ctx, db.GetTcpServiceByIDParams{
ProfileID: req.ProfileId,
ID: id.Id,
})
result, err = s.app.Conn.GetQuery().GetTcpService(ctx, id.Id)
if err != nil {
return nil, err
}
break
case *mantraev1.GetServiceRequest_Name:
result, err = s.app.Conn.GetQuery().GetTcpServiceByName(ctx, db.GetTcpServiceByNameParams{
ProfileID: req.ProfileId,
@@ -213,7 +229,6 @@ func (s *TCPServiceOps) Get(
if err != nil {
return nil, err
}
break
default:
return nil, errors.New("invalid service identifier")
}
@@ -243,6 +258,13 @@ func (s *TCPServiceOps) Create(
if err != nil {
return nil, err
}
s.app.Event.Broadcast(&mantraev1.EventStreamResponse{
Action: mantraev1.EventAction_EVENT_ACTION_CREATED,
Data: &mantraev1.EventStreamResponse_Service{
Service: result.ToProto(),
},
})
return &mantraev1.CreateServiceResponse{
Service: result.ToProto(),
}, nil
@@ -268,6 +290,13 @@ func (s *TCPServiceOps) Update(
if err != nil {
return nil, err
}
s.app.Event.Broadcast(&mantraev1.EventStreamResponse{
Action: mantraev1.EventAction_EVENT_ACTION_UPDATED,
Data: &mantraev1.EventStreamResponse_Service{
Service: result.ToProto(),
},
})
return &mantraev1.UpdateServiceResponse{
Service: result.ToProto(),
}, nil
@@ -277,9 +306,20 @@ func (s *TCPServiceOps) Delete(
ctx context.Context,
req *mantraev1.DeleteServiceRequest,
) (*mantraev1.DeleteServiceResponse, error) {
service, err := s.app.Conn.GetQuery().GetTcpService(ctx, req.Id)
if err != nil {
return nil, err
}
if err := s.app.Conn.GetQuery().DeleteTcpService(ctx, req.Id); err != nil {
return nil, err
}
s.app.Event.Broadcast(&mantraev1.EventStreamResponse{
Action: mantraev1.EventAction_EVENT_ACTION_DELETED,
Data: &mantraev1.EventStreamResponse_Service{
Service: service.ToProto(),
},
})
return &mantraev1.DeleteServiceResponse{}, nil
}
@@ -326,14 +366,10 @@ func (s *UDPServiceOps) Get(
switch id := req.GetIdentifier().(type) {
case *mantraev1.GetServiceRequest_Id:
result, err = s.app.Conn.GetQuery().GetUdpServiceByID(ctx, db.GetUdpServiceByIDParams{
ProfileID: req.ProfileId,
ID: id.Id,
})
result, err = s.app.Conn.GetQuery().GetUdpService(ctx, id.Id)
if err != nil {
return nil, err
}
break
case *mantraev1.GetServiceRequest_Name:
result, err = s.app.Conn.GetQuery().GetUdpServiceByName(ctx, db.GetUdpServiceByNameParams{
ProfileID: req.ProfileId,
@@ -342,7 +378,6 @@ func (s *UDPServiceOps) Get(
if err != nil {
return nil, err
}
break
default:
return nil, errors.New("invalid service identifier")
}
@@ -372,6 +407,13 @@ func (s *UDPServiceOps) Create(
if err != nil {
return nil, err
}
s.app.Event.Broadcast(&mantraev1.EventStreamResponse{
Action: mantraev1.EventAction_EVENT_ACTION_CREATED,
Data: &mantraev1.EventStreamResponse_Service{
Service: result.ToProto(),
},
})
return &mantraev1.CreateServiceResponse{
Service: result.ToProto(),
}, nil
@@ -397,6 +439,13 @@ func (s *UDPServiceOps) Update(
if err != nil {
return nil, err
}
s.app.Event.Broadcast(&mantraev1.EventStreamResponse{
Action: mantraev1.EventAction_EVENT_ACTION_UPDATED,
Data: &mantraev1.EventStreamResponse_Service{
Service: result.ToProto(),
},
})
return &mantraev1.UpdateServiceResponse{
Service: result.ToProto(),
}, nil
@@ -406,9 +455,20 @@ func (s *UDPServiceOps) Delete(
ctx context.Context,
req *mantraev1.DeleteServiceRequest,
) (*mantraev1.DeleteServiceResponse, error) {
service, err := s.app.Conn.GetQuery().GetUdpService(ctx, req.Id)
if err != nil {
return nil, err
}
if err := s.app.Conn.GetQuery().DeleteUdpService(ctx, req.Id); err != nil {
return nil, err
}
s.app.Event.Broadcast(&mantraev1.EventStreamResponse{
Action: mantraev1.EventAction_EVENT_ACTION_DELETED,
Data: &mantraev1.EventStreamResponse_Service{
Service: service.ToProto(),
},
})
return &mantraev1.DeleteServiceResponse{}, nil
}

View File

@@ -34,9 +34,20 @@ func (s *TraefikInstanceService) DeleteTraefikInstance(
ctx context.Context,
req *connect.Request[mantraev1.DeleteTraefikInstanceRequest],
) (*connect.Response[mantraev1.DeleteTraefikInstanceResponse], error) {
instance, err := s.app.Conn.GetQuery().GetTraefikInstanceByID(ctx, req.Msg.Id)
if err != nil {
return nil, err
}
if err := s.app.Conn.GetQuery().DeleteTraefikInstance(ctx, req.Msg.Id); err != nil {
return nil, err
}
s.app.Event.Broadcast(&mantraev1.EventStreamResponse{
Action: mantraev1.EventAction_EVENT_ACTION_DELETED,
Data: &mantraev1.EventStreamResponse_TraefikInstance{
TraefikInstance: instance.ToProto(),
},
})
return connect.NewResponse(&mantraev1.DeleteTraefikInstanceResponse{}), nil
}

View File

@@ -248,6 +248,13 @@ func (s *UserService) CreateUser(
if err != nil {
return nil, connect.NewError(connect.CodeInternal, err)
}
s.app.Event.Broadcast(&mantraev1.EventStreamResponse{
Action: mantraev1.EventAction_EVENT_ACTION_CREATED,
Data: &mantraev1.EventStreamResponse_User{
User: result.ToProto(),
},
})
return connect.NewResponse(&mantraev1.CreateUserResponse{
User: result.ToProto(),
}), nil
@@ -262,7 +269,7 @@ func (s *UserService) UpdateUser(
Username: req.Msg.Username,
Email: req.Msg.Email,
}
user, err := s.app.Conn.GetQuery().UpdateUser(ctx, params)
result, err := s.app.Conn.GetQuery().UpdateUser(ctx, params)
if err != nil {
return nil, connect.NewError(connect.CodeInternal, err)
}
@@ -275,15 +282,21 @@ func (s *UserService) UpdateUser(
}
if err := s.app.Conn.GetQuery().UpdateUserPassword(ctx, db.UpdateUserPasswordParams{
ID: user.ID,
ID: result.ID,
Password: hash,
}); err != nil {
return nil, connect.NewError(connect.CodeInternal, err)
}
}
s.app.Event.Broadcast(&mantraev1.EventStreamResponse{
Action: mantraev1.EventAction_EVENT_ACTION_UPDATED,
Data: &mantraev1.EventStreamResponse_User{
User: result.ToProto(),
},
})
return connect.NewResponse(&mantraev1.UpdateUserResponse{
User: user.ToProto(),
User: result.ToProto(),
}), nil
}
@@ -291,9 +304,20 @@ func (s *UserService) DeleteUser(
ctx context.Context,
req *connect.Request[mantraev1.DeleteUserRequest],
) (*connect.Response[mantraev1.DeleteUserResponse], error) {
user, err := s.app.Conn.GetQuery().GetUserByID(ctx, req.Msg.Id)
if err != nil {
return nil, connect.NewError(connect.CodeInternal, err)
}
if err := s.app.Conn.GetQuery().DeleteUser(ctx, req.Msg.Id); err != nil {
return nil, connect.NewError(connect.CodeInternal, err)
}
s.app.Event.Broadcast(&mantraev1.EventStreamResponse{
Action: mantraev1.EventAction_EVENT_ACTION_DELETED,
Data: &mantraev1.EventStreamResponse_User{
User: user.ToProto(),
},
})
return connect.NewResponse(&mantraev1.DeleteUserResponse{}), nil
}

View File

@@ -41,3 +41,27 @@ func (s *UtilService) GetPublicIP(
Ipv6: ips.IPv6,
}), nil
}
func (s *UtilService) EventStream(
ctx context.Context,
req *connect.Request[mantraev1.EventStreamRequest],
stream *connect.ServerStream[mantraev1.EventStreamResponse],
) error {
id, ch := s.app.Event.Subscribe(req.Msg.ProfileId)
defer s.app.Event.Unsubscribe(id)
for {
select {
case <-ctx.Done():
return ctx.Err()
case event, ok := <-ch:
if !ok {
return nil
}
if err := stream.Send(event); err != nil {
return err
}
}
}
}

View File

@@ -13,6 +13,7 @@ import (
"github.com/mizuchilabs/mantrae/pkg/logger"
"github.com/mizuchilabs/mantrae/pkg/util"
"github.com/mizuchilabs/mantrae/server/internal/backup"
"github.com/mizuchilabs/mantrae/server/internal/event"
"github.com/mizuchilabs/mantrae/server/internal/settings"
"github.com/mizuchilabs/mantrae/server/internal/store"
"github.com/mizuchilabs/mantrae/server/internal/store/db"
@@ -23,6 +24,7 @@ type App struct {
Conn *store.Connection
BM *backup.BackupManager
SM *settings.SettingsManager
Event *event.Broadcaster
}
func Setup(ctx context.Context) (*App, error) {
@@ -38,7 +40,6 @@ func Setup(ctx context.Context) (*App, error) {
return nil, err
}
// app.Event = events.NewEventBroadcaster()
app.Conn = store.NewConnection("")
app.SM = settings.NewManager(app.Conn)
app.SM.Start(ctx)
@@ -46,6 +47,8 @@ func Setup(ctx context.Context) (*App, error) {
app.BM = backup.NewManager(app.Conn, app.SM)
app.BM.Start(ctx)
app.Event = event.NewBroadcaster(ctx)
if err := app.setupDefaultData(ctx); err != nil {
return nil, err
}

View File

@@ -0,0 +1,114 @@
package event
import (
"context"
"log/slog"
"sync"
mantraev1 "github.com/mizuchilabs/mantrae/proto/gen/mantrae/v1"
)
type Broadcaster struct {
mu sync.RWMutex
clients map[int]*subscriber
nextID int
ctx context.Context
cancel context.CancelFunc
}
type subscriber struct {
profileID int64
ch chan *mantraev1.EventStreamResponse
}
func NewBroadcaster(parent context.Context) *Broadcaster {
ctx, cancel := context.WithCancel(parent)
b := &Broadcaster{
clients: make(map[int]*subscriber),
ctx: ctx,
cancel: cancel,
}
go b.cleanup()
return b
}
func (b *Broadcaster) Subscribe(
profileID int64,
) (id int, ch <-chan *mantraev1.EventStreamResponse) {
b.mu.Lock()
defer b.mu.Unlock()
id = b.nextID
b.nextID++
c := make(chan *mantraev1.EventStreamResponse, 32)
b.clients[id] = &subscriber{
profileID: profileID,
ch: c,
}
return id, c
}
func (b *Broadcaster) Unsubscribe(id int) {
b.mu.Lock()
defer b.mu.Unlock()
if sub, ok := b.clients[id]; ok {
close(sub.ch)
delete(b.clients, id)
}
}
func (b *Broadcaster) Broadcast(event *mantraev1.EventStreamResponse) {
profileID, isGlobal := getProfileIDFromEvent(event)
b.mu.RLock()
defer b.mu.RUnlock()
for _, sub := range b.clients {
if !isGlobal && sub.profileID != profileID {
continue
}
select {
case sub.ch <- event:
default:
close(sub.ch)
}
}
}
func (b *Broadcaster) cleanup() {
<-b.ctx.Done()
slog.Info("Broadcaster is shutting down")
b.mu.Lock()
defer b.mu.Unlock()
for _, client := range b.clients {
close(client.ch)
}
b.clients = nil
}
func getProfileIDFromEvent(event *mantraev1.EventStreamResponse) (int64, bool) {
switch d := event.Data.(type) {
case *mantraev1.EventStreamResponse_Profile:
return d.Profile.Id, false
case *mantraev1.EventStreamResponse_Agent:
return d.Agent.ProfileId, false
case *mantraev1.EventStreamResponse_EntryPoint:
return d.EntryPoint.ProfileId, false
case *mantraev1.EventStreamResponse_Router:
return d.Router.ProfileId, false
case *mantraev1.EventStreamResponse_Service:
return d.Service.ProfileId, false
case *mantraev1.EventStreamResponse_Middleware:
return d.Middleware.ProfileId, false
case *mantraev1.EventStreamResponse_ServersTransport:
return d.ServersTransport.ProfileId, false
case *mantraev1.EventStreamResponse_TraefikInstance:
return d.TraefikInstance.ProfileId, false
case *mantraev1.EventStreamResponse_DnsProvider:
return 0, true
case *mantraev1.EventStreamResponse_User:
return 0, true
default:
return 0, false
}
}

View File

@@ -249,8 +249,8 @@ func Prepare(ctx context.Context, db DBTX) (*Queries, error) {
if q.getHttpServersTransportStmt, err = db.PrepareContext(ctx, getHttpServersTransport); err != nil {
return nil, fmt.Errorf("error preparing query GetHttpServersTransport: %w", err)
}
if q.getHttpServiceByIDStmt, err = db.PrepareContext(ctx, getHttpServiceByID); err != nil {
return nil, fmt.Errorf("error preparing query GetHttpServiceByID: %w", err)
if q.getHttpServiceStmt, err = db.PrepareContext(ctx, getHttpService); err != nil {
return nil, fmt.Errorf("error preparing query GetHttpService: %w", err)
}
if q.getHttpServiceByNameStmt, err = db.PrepareContext(ctx, getHttpServiceByName); err != nil {
return nil, fmt.Errorf("error preparing query GetHttpServiceByName: %w", err)
@@ -282,8 +282,8 @@ func Prepare(ctx context.Context, db DBTX) (*Queries, error) {
if q.getTcpServersTransportStmt, err = db.PrepareContext(ctx, getTcpServersTransport); err != nil {
return nil, fmt.Errorf("error preparing query GetTcpServersTransport: %w", err)
}
if q.getTcpServiceByIDStmt, err = db.PrepareContext(ctx, getTcpServiceByID); err != nil {
return nil, fmt.Errorf("error preparing query GetTcpServiceByID: %w", err)
if q.getTcpServiceStmt, err = db.PrepareContext(ctx, getTcpService); err != nil {
return nil, fmt.Errorf("error preparing query GetTcpService: %w", err)
}
if q.getTcpServiceByNameStmt, err = db.PrepareContext(ctx, getTcpServiceByName); err != nil {
return nil, fmt.Errorf("error preparing query GetTcpServiceByName: %w", err)
@@ -300,8 +300,8 @@ func Prepare(ctx context.Context, db DBTX) (*Queries, error) {
if q.getUdpRoutersUsingEntryPointStmt, err = db.PrepareContext(ctx, getUdpRoutersUsingEntryPoint); err != nil {
return nil, fmt.Errorf("error preparing query GetUdpRoutersUsingEntryPoint: %w", err)
}
if q.getUdpServiceByIDStmt, err = db.PrepareContext(ctx, getUdpServiceByID); err != nil {
return nil, fmt.Errorf("error preparing query GetUdpServiceByID: %w", err)
if q.getUdpServiceStmt, err = db.PrepareContext(ctx, getUdpService); err != nil {
return nil, fmt.Errorf("error preparing query GetUdpService: %w", err)
}
if q.getUdpServiceByNameStmt, err = db.PrepareContext(ctx, getUdpServiceByName); err != nil {
return nil, fmt.Errorf("error preparing query GetUdpServiceByName: %w", err)
@@ -866,9 +866,9 @@ func (q *Queries) Close() error {
err = fmt.Errorf("error closing getHttpServersTransportStmt: %w", cerr)
}
}
if q.getHttpServiceByIDStmt != nil {
if cerr := q.getHttpServiceByIDStmt.Close(); cerr != nil {
err = fmt.Errorf("error closing getHttpServiceByIDStmt: %w", cerr)
if q.getHttpServiceStmt != nil {
if cerr := q.getHttpServiceStmt.Close(); cerr != nil {
err = fmt.Errorf("error closing getHttpServiceStmt: %w", cerr)
}
}
if q.getHttpServiceByNameStmt != nil {
@@ -921,9 +921,9 @@ func (q *Queries) Close() error {
err = fmt.Errorf("error closing getTcpServersTransportStmt: %w", cerr)
}
}
if q.getTcpServiceByIDStmt != nil {
if cerr := q.getTcpServiceByIDStmt.Close(); cerr != nil {
err = fmt.Errorf("error closing getTcpServiceByIDStmt: %w", cerr)
if q.getTcpServiceStmt != nil {
if cerr := q.getTcpServiceStmt.Close(); cerr != nil {
err = fmt.Errorf("error closing getTcpServiceStmt: %w", cerr)
}
}
if q.getTcpServiceByNameStmt != nil {
@@ -951,9 +951,9 @@ func (q *Queries) Close() error {
err = fmt.Errorf("error closing getUdpRoutersUsingEntryPointStmt: %w", cerr)
}
}
if q.getUdpServiceByIDStmt != nil {
if cerr := q.getUdpServiceByIDStmt.Close(); cerr != nil {
err = fmt.Errorf("error closing getUdpServiceByIDStmt: %w", cerr)
if q.getUdpServiceStmt != nil {
if cerr := q.getUdpServiceStmt.Close(); cerr != nil {
err = fmt.Errorf("error closing getUdpServiceStmt: %w", cerr)
}
}
if q.getUdpServiceByNameStmt != nil {
@@ -1375,7 +1375,7 @@ type Queries struct {
getHttpRoutersUsingEntryPointStmt *sql.Stmt
getHttpRoutersUsingMiddlewareStmt *sql.Stmt
getHttpServersTransportStmt *sql.Stmt
getHttpServiceByIDStmt *sql.Stmt
getHttpServiceStmt *sql.Stmt
getHttpServiceByNameStmt *sql.Stmt
getProfileStmt *sql.Stmt
getProfileByNameStmt *sql.Stmt
@@ -1386,13 +1386,13 @@ type Queries struct {
getTcpRoutersUsingEntryPointStmt *sql.Stmt
getTcpRoutersUsingMiddlewareStmt *sql.Stmt
getTcpServersTransportStmt *sql.Stmt
getTcpServiceByIDStmt *sql.Stmt
getTcpServiceStmt *sql.Stmt
getTcpServiceByNameStmt *sql.Stmt
getTraefikInstanceByIDStmt *sql.Stmt
getTraefikInstanceByNameStmt *sql.Stmt
getUdpRouterStmt *sql.Stmt
getUdpRoutersUsingEntryPointStmt *sql.Stmt
getUdpServiceByIDStmt *sql.Stmt
getUdpServiceStmt *sql.Stmt
getUdpServiceByNameStmt *sql.Stmt
getUserByEmailStmt *sql.Stmt
getUserByIDStmt *sql.Stmt
@@ -1535,7 +1535,7 @@ func (q *Queries) WithTx(tx *sql.Tx) *Queries {
getHttpRoutersUsingEntryPointStmt: q.getHttpRoutersUsingEntryPointStmt,
getHttpRoutersUsingMiddlewareStmt: q.getHttpRoutersUsingMiddlewareStmt,
getHttpServersTransportStmt: q.getHttpServersTransportStmt,
getHttpServiceByIDStmt: q.getHttpServiceByIDStmt,
getHttpServiceStmt: q.getHttpServiceStmt,
getHttpServiceByNameStmt: q.getHttpServiceByNameStmt,
getProfileStmt: q.getProfileStmt,
getProfileByNameStmt: q.getProfileByNameStmt,
@@ -1546,13 +1546,13 @@ func (q *Queries) WithTx(tx *sql.Tx) *Queries {
getTcpRoutersUsingEntryPointStmt: q.getTcpRoutersUsingEntryPointStmt,
getTcpRoutersUsingMiddlewareStmt: q.getTcpRoutersUsingMiddlewareStmt,
getTcpServersTransportStmt: q.getTcpServersTransportStmt,
getTcpServiceByIDStmt: q.getTcpServiceByIDStmt,
getTcpServiceStmt: q.getTcpServiceStmt,
getTcpServiceByNameStmt: q.getTcpServiceByNameStmt,
getTraefikInstanceByIDStmt: q.getTraefikInstanceByIDStmt,
getTraefikInstanceByNameStmt: q.getTraefikInstanceByNameStmt,
getUdpRouterStmt: q.getUdpRouterStmt,
getUdpRoutersUsingEntryPointStmt: q.getUdpRoutersUsingEntryPointStmt,
getUdpServiceByIDStmt: q.getUdpServiceByIDStmt,
getUdpServiceStmt: q.getUdpServiceStmt,
getUdpServiceByNameStmt: q.getUdpServiceByNameStmt,
getUserByEmailStmt: q.getUserByEmailStmt,
getUserByIDStmt: q.getUserByIDStmt,

View File

@@ -89,23 +89,17 @@ func (q *Queries) DeleteHttpService(ctx context.Context, id int64) error {
return err
}
const getHttpServiceByID = `-- name: GetHttpServiceByID :one
const getHttpService = `-- name: GetHttpService :one
SELECT
id, profile_id, agent_id, name, config, enabled, created_at, updated_at
FROM
http_services
WHERE
profile_id = ?
AND id = ?
id = ?
`
type GetHttpServiceByIDParams struct {
ProfileID int64 `json:"profileId"`
ID int64 `json:"id"`
}
func (q *Queries) GetHttpServiceByID(ctx context.Context, arg GetHttpServiceByIDParams) (HttpService, error) {
row := q.queryRow(ctx, q.getHttpServiceByIDStmt, getHttpServiceByID, arg.ProfileID, arg.ID)
func (q *Queries) GetHttpService(ctx context.Context, id int64) (HttpService, error) {
row := q.queryRow(ctx, q.getHttpServiceStmt, getHttpService, id)
var i HttpService
err := row.Scan(
&i.ID,

View File

@@ -84,7 +84,7 @@ type Querier interface {
GetHttpRoutersUsingEntryPoint(ctx context.Context, arg GetHttpRoutersUsingEntryPointParams) ([]GetHttpRoutersUsingEntryPointRow, error)
GetHttpRoutersUsingMiddleware(ctx context.Context, arg GetHttpRoutersUsingMiddlewareParams) ([]GetHttpRoutersUsingMiddlewareRow, error)
GetHttpServersTransport(ctx context.Context, id int64) (HttpServersTransport, error)
GetHttpServiceByID(ctx context.Context, arg GetHttpServiceByIDParams) (HttpService, error)
GetHttpService(ctx context.Context, id int64) (HttpService, error)
GetHttpServiceByName(ctx context.Context, arg GetHttpServiceByNameParams) (HttpService, error)
GetProfile(ctx context.Context, id int64) (Profile, error)
GetProfileByName(ctx context.Context, name string) (Profile, error)
@@ -95,13 +95,13 @@ type Querier interface {
GetTcpRoutersUsingEntryPoint(ctx context.Context, arg GetTcpRoutersUsingEntryPointParams) ([]GetTcpRoutersUsingEntryPointRow, error)
GetTcpRoutersUsingMiddleware(ctx context.Context, arg GetTcpRoutersUsingMiddlewareParams) ([]GetTcpRoutersUsingMiddlewareRow, error)
GetTcpServersTransport(ctx context.Context, id int64) (TcpServersTransport, error)
GetTcpServiceByID(ctx context.Context, arg GetTcpServiceByIDParams) (TcpService, error)
GetTcpService(ctx context.Context, id int64) (TcpService, error)
GetTcpServiceByName(ctx context.Context, arg GetTcpServiceByNameParams) (TcpService, error)
GetTraefikInstanceByID(ctx context.Context, id int64) (TraefikInstance, error)
GetTraefikInstanceByName(ctx context.Context, arg GetTraefikInstanceByNameParams) (TraefikInstance, error)
GetUdpRouter(ctx context.Context, id int64) (UdpRouter, error)
GetUdpRoutersUsingEntryPoint(ctx context.Context, arg GetUdpRoutersUsingEntryPointParams) ([]GetUdpRoutersUsingEntryPointRow, error)
GetUdpServiceByID(ctx context.Context, arg GetUdpServiceByIDParams) (UdpService, error)
GetUdpService(ctx context.Context, id int64) (UdpService, error)
GetUdpServiceByName(ctx context.Context, arg GetUdpServiceByNameParams) (UdpService, error)
GetUserByEmail(ctx context.Context, email *string) (User, error)
GetUserByID(ctx context.Context, id string) (User, error)

View File

@@ -89,23 +89,17 @@ func (q *Queries) DeleteTcpService(ctx context.Context, id int64) error {
return err
}
const getTcpServiceByID = `-- name: GetTcpServiceByID :one
const getTcpService = `-- name: GetTcpService :one
SELECT
id, profile_id, agent_id, name, config, enabled, created_at, updated_at
FROM
tcp_services
WHERE
profile_id = ?
AND id = ?
id = ?
`
type GetTcpServiceByIDParams struct {
ProfileID int64 `json:"profileId"`
ID int64 `json:"id"`
}
func (q *Queries) GetTcpServiceByID(ctx context.Context, arg GetTcpServiceByIDParams) (TcpService, error) {
row := q.queryRow(ctx, q.getTcpServiceByIDStmt, getTcpServiceByID, arg.ProfileID, arg.ID)
func (q *Queries) GetTcpService(ctx context.Context, id int64) (TcpService, error) {
row := q.queryRow(ctx, q.getTcpServiceStmt, getTcpService, id)
var i TcpService
err := row.Scan(
&i.ID,

View File

@@ -89,23 +89,17 @@ func (q *Queries) DeleteUdpService(ctx context.Context, id int64) error {
return err
}
const getUdpServiceByID = `-- name: GetUdpServiceByID :one
const getUdpService = `-- name: GetUdpService :one
SELECT
id, profile_id, agent_id, name, config, enabled, created_at, updated_at
FROM
udp_services
WHERE
profile_id = ?
AND id = ?
id = ?
`
type GetUdpServiceByIDParams struct {
ProfileID int64 `json:"profileId"`
ID int64 `json:"id"`
}
func (q *Queries) GetUdpServiceByID(ctx context.Context, arg GetUdpServiceByIDParams) (UdpService, error) {
row := q.queryRow(ctx, q.getUdpServiceByIDStmt, getUdpServiceByID, arg.ProfileID, arg.ID)
func (q *Queries) GetUdpService(ctx context.Context, id int64) (UdpService, error) {
row := q.queryRow(ctx, q.getUdpServiceStmt, getUdpService, id)
var i UdpService
err := row.Scan(
&i.ID,

View File

@@ -11,14 +11,13 @@ INSERT INTO
VALUES
(?, ?, ?, ?, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP) RETURNING *;
-- name: GetHttpServiceByID :one
-- name: GetHttpService :one
SELECT
*
FROM
http_services
WHERE
profile_id = ?
AND id = ?;
id = ?;
-- name: GetHttpServiceByName :one
SELECT

View File

@@ -11,14 +11,13 @@ INSERT INTO
VALUES
(?, ?, ?, ?, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP) RETURNING *;
-- name: GetTcpServiceByID :one
-- name: GetTcpService :one
SELECT
*
FROM
tcp_services
WHERE
profile_id = ?
AND id = ?;
id = ?;
-- name: GetTcpServiceByName :one
SELECT

View File

@@ -11,14 +11,13 @@ INSERT INTO
VALUES
(?, ?, ?, ?, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP) RETURNING *;
-- name: GetUdpServiceByID :one
-- name: GetUdpService :one
SELECT
*
FROM
udp_services
WHERE
profile_id = ?
AND id = ?;
id = ?;
-- name: GetUdpServiceByName :one
SELECT

View File

@@ -1,12 +1,12 @@
version: "2"
sql:
- engine: "sqlite"
schema: "internal/store/migrations"
queries: "internal/store/queries"
schema: "server/internal/store/migrations"
queries: "server/internal/store/queries"
gen:
go:
package: "db"
out: "internal/store/db"
out: "server/internal/store/db"
json_tags_case_style: "camel"
emit_json_tags: true # Adds JSON tags to generated structs
emit_interface: true # Output a Querier interface in the generated package
@@ -15,86 +15,86 @@ sql:
overrides:
- column: "http_routers.config"
go_type:
import: "github.com/mizuchilabs/mantrae/internal/store/schema"
import: "github.com/mizuchilabs/mantrae/server/internal/store/schema"
type: "HTTPRouter"
pointer: true
- column: "tcp_routers.config"
go_type:
import: "github.com/mizuchilabs/mantrae/internal/store/schema"
import: "github.com/mizuchilabs/mantrae/server/internal/store/schema"
type: "TCPRouter"
pointer: true
- column: "udp_routers.config"
go_type:
import: "github.com/mizuchilabs/mantrae/internal/store/schema"
import: "github.com/mizuchilabs/mantrae/server/internal/store/schema"
type: "UDPRouter"
pointer: true
- column: "http_services.config"
go_type:
import: "github.com/mizuchilabs/mantrae/internal/store/schema"
import: "github.com/mizuchilabs/mantrae/server/internal/store/schema"
type: "HTTPService"
pointer: true
- column: "tcp_services.config"
go_type:
import: "github.com/mizuchilabs/mantrae/internal/store/schema"
import: "github.com/mizuchilabs/mantrae/server/internal/store/schema"
type: "TCPService"
pointer: true
- column: "udp_services.config"
go_type:
import: "github.com/mizuchilabs/mantrae/internal/store/schema"
import: "github.com/mizuchilabs/mantrae/server/internal/store/schema"
type: "UDPService"
pointer: true
- column: "http_middlewares.config"
go_type:
import: "github.com/mizuchilabs/mantrae/internal/store/schema"
import: "github.com/mizuchilabs/mantrae/server/internal/store/schema"
type: "HTTPMiddleware"
pointer: true
- column: "tcp_middlewares.config"
go_type:
import: "github.com/mizuchilabs/mantrae/internal/store/schema"
import: "github.com/mizuchilabs/mantrae/server/internal/store/schema"
type: "TCPMiddleware"
pointer: true
- column: "http_servers_transports.config"
go_type:
import: "github.com/mizuchilabs/mantrae/internal/store/schema"
import: "github.com/mizuchilabs/mantrae/server/internal/store/schema"
type: "HTTPServersTransport"
pointer: true
- column: "tcp_servers_transports.config"
go_type:
import: "github.com/mizuchilabs/mantrae/internal/store/schema"
import: "github.com/mizuchilabs/mantrae/server/internal/store/schema"
type: "TCPServersTransport"
pointer: true
- column: "traefik_instances.config"
go_type:
import: "github.com/mizuchilabs/mantrae/internal/store/schema"
import: "github.com/mizuchilabs/mantrae/server/internal/store/schema"
type: "Configuration"
pointer: true
- column: "traefik_instances.entrypoints"
go_type:
import: "github.com/mizuchilabs/mantrae/internal/store/schema"
import: "github.com/mizuchilabs/mantrae/server/internal/store/schema"
type: "EntryPoints"
pointer: true
- column: "traefik_instances.overview"
go_type:
import: "github.com/mizuchilabs/mantrae/internal/store/schema"
import: "github.com/mizuchilabs/mantrae/server/internal/store/schema"
type: "Overview"
pointer: true
- column: "traefik_instances.version"
go_type:
import: "github.com/mizuchilabs/mantrae/internal/store/schema"
import: "github.com/mizuchilabs/mantrae/server/internal/store/schema"
type: "Version"
pointer: true
- column: "dns_providers.config"
go_type:
import: "github.com/mizuchilabs/mantrae/internal/store/schema"
import: "github.com/mizuchilabs/mantrae/server/internal/store/schema"
type: "DNSProviderConfig"
pointer: true
- column: "agents.private_ips"
go_type:
import: "github.com/mizuchilabs/mantrae/internal/store/schema"
import: "github.com/mizuchilabs/mantrae/server/internal/store/schema"
type: "AgentPrivateIPs"
pointer: true
- column: "agents.containers"
go_type:
import: "github.com/mizuchilabs/mantrae/internal/store/schema"
import: "github.com/mizuchilabs/mantrae/server/internal/store/schema"
type: "AgentContainers"
pointer: true

View File

@@ -1,54 +1,52 @@
import type { DescService } from "@bufbuild/protobuf";
import { createClient, type Client } from "@connectrpc/connect";
import { createConnectTransport } from "@connectrpc/connect-web";
import { ProfileService, type Profile } from "./gen/mantrae/v1/profile_pb";
import { UserService } from "./gen/mantrae/v1/user_pb";
import { RouterService } from "./gen/mantrae/v1/router_pb";
import { ServiceService } from "./gen/mantrae/v1/service_pb";
import { MiddlewareService } from "./gen/mantrae/v1/middleware_pb";
import { SettingService } from "./gen/mantrae/v1/setting_pb";
import { BackupService } from "./gen/mantrae/v1/backup_pb";
import { EntryPointService } from "./gen/mantrae/v1/entry_point_pb";
import { DnsProviderService } from "./gen/mantrae/v1/dns_provider_pb";
import { UtilService } from "./gen/mantrae/v1/util_pb";
import { AgentService } from "./gen/mantrae/v1/agent_pb";
import { AuditLogService } from "./gen/mantrae/v1/auditlog_pb";
import { ServersTransportService } from "./gen/mantrae/v1/servers_transport_pb";
import { TraefikInstanceService } from "./gen/mantrae/v1/traefik_instance_pb";
import { toast } from "svelte-sonner";
import { profile } from "./stores/profile";
import { baseURL } from "./stores/common";
import type { DescService } from '@bufbuild/protobuf';
import { createClient, type Client } from '@connectrpc/connect';
import { createConnectTransport } from '@connectrpc/connect-web';
import { ProfileService, type Profile } from './gen/mantrae/v1/profile_pb';
import { UserService } from './gen/mantrae/v1/user_pb';
import { RouterService } from './gen/mantrae/v1/router_pb';
import { ServiceService } from './gen/mantrae/v1/service_pb';
import { MiddlewareService } from './gen/mantrae/v1/middleware_pb';
import { SettingService } from './gen/mantrae/v1/setting_pb';
import { BackupService } from './gen/mantrae/v1/backup_pb';
import { EntryPointService } from './gen/mantrae/v1/entry_point_pb';
import { DnsProviderService } from './gen/mantrae/v1/dns_provider_pb';
import { UtilService } from './gen/mantrae/v1/util_pb';
import { AgentService } from './gen/mantrae/v1/agent_pb';
import { AuditLogService } from './gen/mantrae/v1/auditlog_pb';
import { ServersTransportService } from './gen/mantrae/v1/servers_transport_pb';
import { TraefikInstanceService } from './gen/mantrae/v1/traefik_instance_pb';
import { toast } from 'svelte-sonner';
import { profile } from './stores/profile';
import { baseURL } from './stores/common';
export function useClient<T extends DescService>(
service: T,
customFetch?: typeof fetch,
customFetch?: typeof fetch
): Client<T> {
const wrappedFetch: typeof fetch = (input, init = {}) => {
return (customFetch || fetch)(input, {
...init,
headers: new Headers(init.headers || {}),
credentials: "include",
credentials: 'include'
});
};
if (!baseURL.value) throw new Error("Base URL not set");
if (!baseURL.value) throw new Error('Base URL not set');
const transport = createConnectTransport({
baseUrl: baseURL.value,
fetch: wrappedFetch,
fetch: wrappedFetch
});
return createClient(service, transport);
}
// Basic health check function
export async function checkHealth(
customFetch?: typeof fetch,
): Promise<boolean> {
export async function checkHealth(customFetch?: typeof fetch): Promise<boolean> {
try {
if (!baseURL.value) throw new Error("Base URL not set");
if (!baseURL.value) throw new Error('Base URL not set');
if (!customFetch) customFetch = fetch;
const res = await customFetch(`${baseURL.value}/healthz`, {
method: "GET",
method: 'GET'
});
return res.ok;
} catch {
@@ -64,52 +62,48 @@ export async function upload(input: HTMLInputElement | null, endpoint: string) {
if (!input?.files?.length) return;
const body = new FormData();
body.append("file", input.files[0]);
body.append('file', input.files[0]);
const response = await fetch(`${baseURL.value}/upload/${endpoint}`, {
method: "POST",
method: 'POST',
body,
credentials: "include",
credentials: 'include'
});
if (!response.ok) {
throw new Error("Failed to upload");
throw new Error('Failed to upload');
}
toast.success("Uploaded successfully");
toast.success('Uploaded successfully');
}
// Get dynamic traefik config
export async function getConfig(format: string) {
if (!profile.isValid() || !profile.token) return "";
if (!profile.isValid() || !profile.token) return '';
const headers = new Headers();
// headers.set("Mantrae-Traefik-Token", profile.token);
if (format === "yaml") {
headers.set("Accept", "application/x-yaml");
if (format === 'yaml') {
headers.set('Accept', 'application/x-yaml');
}
try {
const response = await fetch(
`${baseURL.value}/api/${profile.name}?token=${profile.token}`,
{
headers,
},
);
if (!response.ok) return "";
const response = await fetch(`${baseURL.value}/api/${profile.name}?token=${profile.token}`, {
headers
});
if (!response.ok) return '';
return await response.text();
} catch (err) {
const e = err as Error;
toast.error("Failed to fetch config", { description: e.message });
toast.error('Failed to fetch config', { description: e.message });
}
return "";
return '';
}
// Build traefik connection string
export async function buildConnectionString(p: Profile) {
const item = p ?? profile?.value;
if (!item) return "";
const serverUrl = await settingClient.getSetting({ key: "server_url" });
if (!serverUrl.value) return "";
if (!item) return '';
const serverUrl = await settingClient.getSetting({ key: 'server_url' });
if (!serverUrl.value) return '';
return `${serverUrl.value}/api/${item.name}?token=${item.token}`;
}

View File

@@ -7,7 +7,7 @@
import { Label } from '$lib/components/ui/label/index.js';
import { toast } from 'svelte-sonner';
import Separator from '../ui/separator/separator.svelte';
import { DateFormat, pageIndex, pageSize } from '$lib/stores/common';
import { DateFormat } from '$lib/stores/common';
import { Check, Container, Copy, RotateCcw, X } from '@lucide/svelte';
import { agentClient, settingClient } from '$lib/api';
import { profile } from '$lib/stores/profile';
@@ -19,12 +19,11 @@
import { scale } from 'svelte/transition';
interface Props {
data: Agent[];
item: Agent;
open?: boolean;
}
let { data = $bindable(), item = $bindable(), open = $bindable(false) }: Props = $props();
let { item = $bindable(), open = $bindable(false) }: Props = $props();
let newIP = $state('');
@@ -40,14 +39,6 @@
toast.success(`Agent ${item.hostname} created successfully`);
open = false;
}
// Refresh data
let response = await agentClient.listAgents({
profileId: profile.id,
limit: BigInt(pageSize.value ?? 10),
offset: BigInt(pageIndex.value ?? 0)
});
data = response.agents;
} catch (err) {
const e = ConnectError.from(err);
toast.error('Failed to save agent', { description: e.message });
@@ -58,7 +49,6 @@
try {
await agentClient.deleteAgent({ id: item.id });
data = data.filter((e) => e.id !== item.id);
toast.success('Agent deleted successfully');
} catch (err) {
const e = ConnectError.from(err);
@@ -73,14 +63,6 @@
if (!response.agent) throw new Error('Failed to rotate token');
item.token = response.agent.token;
toast.success('Token rotated successfully');
// Refresh data
let response2 = await agentClient.listAgents({
profileId: profile.id,
limit: BigInt(pageSize.value ?? 10),
offset: BigInt(pageIndex.value ?? 0)
});
data = response2.agents;
} catch (err) {
const e = ConnectError.from(err);
toast.error('Failed to rotate token', { description: e.message });

View File

@@ -17,17 +17,15 @@
} from '$lib/gen/mantrae/v1/dns_provider_pb';
import { dnsClient, utilClient } from '$lib/api';
import { ConnectError } from '@connectrpc/connect';
import { pageIndex, pageSize } from '$lib/stores/common';
import { dnsProviderTypes } from '$lib/types';
import CustomSwitch from '../ui/custom-switch/custom-switch.svelte';
interface Props {
data: DnsProvider[];
item: DnsProvider;
open?: boolean;
}
let { data = $bindable(), item = $bindable(), open = $bindable(false) }: Props = $props();
let { item = $bindable(), open = $bindable(false) }: Props = $props();
const handleSubmit = async () => {
try {
@@ -49,13 +47,6 @@
});
toast.success('DNS Provider created successfully');
}
// Refresh data
let response = await dnsClient.listDnsProviders({
limit: BigInt(pageSize.value ?? 10),
offset: BigInt(pageIndex.value ?? 0)
});
data = response.dnsProviders;
} catch (err) {
const e = ConnectError.from(err);
toast.error('Failed to save dnsProvider', {
@@ -70,7 +61,6 @@
try {
await dnsClient.deleteDnsProvider({ id: item.id });
data = data.filter((e) => e.id !== item.id);
toast.success('EntryPoint deleted successfully');
} catch (err) {
const e = ConnectError.from(err);

View File

@@ -9,16 +9,14 @@
import { ConnectError } from '@connectrpc/connect';
import type { EntryPoint } from '$lib/gen/mantrae/v1/entry_point_pb';
import { profile } from '$lib/stores/profile';
import { pageIndex, pageSize } from '$lib/stores/common';
import CustomSwitch from '../ui/custom-switch/custom-switch.svelte';
interface Props {
data: EntryPoint[];
item: EntryPoint;
open?: boolean;
}
let { data = $bindable(), item = $bindable(), open = $bindable(false) }: Props = $props();
let { item = $bindable(), open = $bindable(false) }: Props = $props();
const handleSubmit = async () => {
try {
@@ -39,14 +37,6 @@
});
toast.success('EntryPoint created successfully');
}
// Refresh data
let response = await entryPointClient.listEntryPoints({
profileId: profile.id,
limit: BigInt(pageSize.value ?? 10),
offset: BigInt(pageIndex.value ?? 0)
});
data = response.entryPoints;
} catch (err) {
const e = ConnectError.from(err);
toast.error('Failed to save entry point', { description: e.message });
@@ -59,7 +49,6 @@
try {
await entryPointClient.deleteEntryPoint({ id: item.id });
data = data.filter((e) => e.id !== item.id);
toast.success('EntryPoint deleted successfully');
} catch (err) {
const e = ConnectError.from(err);

View File

@@ -10,18 +10,16 @@
import { middlewareClient } from '$lib/api';
import { ConnectError } from '@connectrpc/connect';
import { profile } from '$lib/stores/profile';
import { pageIndex, pageSize } from '$lib/stores/common';
import HTTPMiddlewareForm from '../forms/HTTPMiddlewareForm.svelte';
import TCPMiddlewareForm from '../forms/TCPMiddlewareForm.svelte';
import { ProtocolType } from '$lib/gen/mantrae/v1/protocol_pb';
import { protocolTypes } from '$lib/types';
interface Props {
data: Middleware[];
item: Middleware;
open?: boolean;
}
let { data = $bindable(), item = $bindable(), open = $bindable(false) }: Props = $props();
let { item = $bindable(), open = $bindable(false) }: Props = $props();
const handleSubmit = async () => {
try {
@@ -43,14 +41,6 @@
});
toast.success('Middleware created successfully');
}
// Refresh data
const response = await middlewareClient.listMiddlewares({
profileId: profile.id,
limit: BigInt(pageSize.value ?? 10),
offset: BigInt(pageIndex.value ?? 0)
});
data = response.middlewares;
} catch (err) {
const e = ConnectError.from(err);
toast.error('Failed to save item', { description: e.message });
@@ -64,14 +54,6 @@
try {
await middlewareClient.deleteMiddleware({ id: item.id, type: item.type });
toast.success('Middleware deleted successfully');
// Refresh data
const response = await middlewareClient.listMiddlewares({
profileId: profile.id,
limit: BigInt(pageSize.value ?? 10),
offset: BigInt(pageIndex.value ?? 0)
});
data = response.middlewares;
} catch (err) {
const e = ConnectError.from(err);
toast.error('Failed to delete item', { description: e.message });

View File

@@ -11,7 +11,6 @@
import { Label } from '$lib/components/ui/label';
import { type Router } from '$lib/gen/mantrae/v1/router_pb';
import { type Service } from '$lib/gen/mantrae/v1/service_pb';
import { pageIndex, pageSize } from '$lib/stores/common';
import { profile } from '$lib/stores/profile';
import { protocolTypes, unmarshalConfig } from '$lib/types';
import { ConnectError } from '@connectrpc/connect';
@@ -35,12 +34,11 @@
import { ProtocolType } from '$lib/gen/mantrae/v1/protocol_pb';
interface Props {
data: Router[];
item: Router;
open?: boolean;
}
let { data = $bindable(), item = $bindable(), open = $bindable(false) }: Props = $props();
let { item = $bindable(), open = $bindable(false) }: Props = $props();
let service = $state({} as Service);
let hasLoadedService = $state(false);
@@ -130,14 +128,6 @@
enabled: service.enabled
});
}
// Refresh data
const response = await routerClient.listRouters({
profileId: profile.id,
limit: BigInt(pageSize.value ?? 10),
offset: BigInt(pageIndex.value ?? 0)
});
data = response.routers;
} catch (err) {
const e = ConnectError.from(err);
toast.error(`Failed to ${item.id ? 'update' : 'save'} router`, {
@@ -153,7 +143,6 @@
try {
await routerClient.deleteRouter({ id: item.id, type: item.type });
toast.success('Router deleted successfully');
data = data.filter((r) => r.id !== item.id);
} catch (err) {
const e = ConnectError.from(err);
toast.error('Failed to delete router', { description: e.message });
@@ -211,7 +200,6 @@
<Card.Description>Manage DNS providers for this router</Card.Description>
</div>
<DnsProviderSelect
bind:data
bind:item
disabled={item.type === ProtocolType.UDP || !item.id}
/>
@@ -288,11 +276,7 @@
</div>
<!-- DNS Providers -->
<DnsProviderSelect
bind:data
bind:item
disabled={item.type === ProtocolType.UDP || !item.id}
/>
<DnsProviderSelect bind:item disabled={item.type === ProtocolType.UDP || !item.id} />
</Card.Header>
<Card.Content class="space-y-4">
<div class="grid w-full grid-cols-1 gap-4 sm:grid-cols-3 sm:gap-2">

View File

@@ -21,12 +21,11 @@
import { protocolTypes } from '$lib/types';
interface Props {
data: ServersTransport[];
item: ServersTransport;
open?: boolean;
}
let { data = $bindable(), item = $bindable(), open = $bindable(false) }: Props = $props();
let { item = $bindable(), open = $bindable(false) }: Props = $props();
const handleSubmit = async () => {
try {
@@ -48,14 +47,6 @@
});
toast.success('Transport created successfully');
}
// Refresh data
let response = await serversTransportClient.listServersTransports({
profileId: profile.id,
limit: BigInt(pageSize.value ?? 10),
offset: BigInt(pageIndex.value ?? 0)
});
data = response.serversTransports;
} catch (err) {
const e = ConnectError.from(err);
toast.error('Failed to save transport', { description: e.message });
@@ -68,7 +59,6 @@
try {
await serversTransportClient.deleteServersTransport({ id: item.id });
data = data.filter((e) => e.id !== item.id);
toast.success('Transport deleted successfully');
} catch (err) {
const e = ConnectError.from(err);

View File

@@ -9,17 +9,15 @@
import { UpdateUserRequestSchema, type User } from '$lib/gen/mantrae/v1/user_pb';
import { userClient } from '$lib/api';
import { ConnectError } from '@connectrpc/connect';
import { pageIndex, pageSize } from '$lib/stores/common';
import { user } from '$lib/stores/user';
import { create } from '@bufbuild/protobuf';
interface Props {
data?: User[];
item: User;
open?: boolean;
}
let { data = $bindable(), item = $bindable(), open = $bindable(false) }: Props = $props();
let { item = $bindable(), open = $bindable(false) }: Props = $props();
let password = $state('');
let isSelf = $derived(item?.id === user.value?.id);
@@ -44,14 +42,6 @@
});
toast.success(`User ${item.username} created successfully.`);
}
// Refresh data
if (!data) return;
let response = await userClient.listUsers({
limit: BigInt(pageSize.value ?? 10),
offset: BigInt(pageIndex.value ?? 0)
});
data = response.users;
} catch (err) {
const e = ConnectError.from(err);
toast.error(`Failed to update user`, { description: e.message });
@@ -65,7 +55,6 @@
try {
await userClient.deleteUser({ id: item.id });
if (data) data = data.filter((e) => e.id !== item.id);
toast.success('User deleted successfully');
} catch (err) {
const e = ConnectError.from(err);

View File

@@ -69,7 +69,7 @@
<ProfileModal bind:item={modalProfile} bind:open={modalProfileOpen} />
{#if user.isLoggedIn() && user.value}
<UserModal bind:open={modalUserOpen} bind:item={user.value} data={undefined} />
<UserModal bind:open={modalUserOpen} bind:item={user.value} />
{/if}
<Sidebar.Root collapsible="offcanvas" {...restProps}>

View File

@@ -27,7 +27,6 @@
import {
ArrowDown,
ArrowUp,
Check,
ChevronLeft,
ChevronRight,
ChevronsLeft,
@@ -44,8 +43,6 @@
type DataTableProps<TData, TValue> = {
data: TData[];
columns: ColumnDef<TData, TValue>[];
rowCount: number;
viewMode?: 'table' | 'grid';
onPaginationChange?: (pagination: PaginationState) => void;
onSortingChange?: (sorting: SortingState) => void;
onRowSelection?: (rowSelection: RowSelectionState) => void;
@@ -56,26 +53,18 @@
label: string;
onClick: () => void;
};
cardConfig?: {
titleKey?: string;
subtitleKey?: string;
excludeColumns?: string[];
};
};
let {
data,
columns,
rowCount,
viewMode = 'table',
onPaginationChange,
onSortingChange,
onRowSelection,
getRowClassName,
rowClassModifiers,
bulkActions,
createButton,
cardConfig = {}
createButton
}: DataTableProps<TData, TValue> = $props();
// Pagination
@@ -84,7 +73,6 @@
pageIndex: pageIndex.value ?? 0,
pageSize: pageSize.value ?? 10
});
let pageCount = $derived(Math.ceil(rowCount / pagination.pageSize));
let sorting = $state<SortingState>([]);
let columnFilters = $derived<ColumnFiltersState>([]);
let columnVisibility = $state<VisibilityState>({});
@@ -118,13 +106,6 @@
},
...columns
],
manualPagination: true,
get rowCount() {
return rowCount;
},
get pageCount() {
return pageCount;
},
filterFns: {
fuzzy: (row, columnId, value, addMeta) => {
const itemRank = rankItem(row.getValue(columnId), value);
@@ -232,17 +213,6 @@
const column = table.getColumn(columnId);
if (column) column.setFilterValue(undefined);
}
function getVisibleColumns() {
return table
.getAllColumns()
.filter(
(col) =>
col.getIsVisible() &&
col.id !== 'select' &&
col.id !== 'actions' &&
!cardConfig.excludeColumns?.includes(col.id)
);
}
</script>
<div>
@@ -277,7 +247,6 @@
{/if}
<!-- Column Visibility -->
{#if viewMode === 'table'}
<DropdownMenu.Root>
<DropdownMenu.Trigger>
{#snippet child({ props })}
@@ -296,7 +265,6 @@
{/each}
</DropdownMenu.Content>
</DropdownMenu.Root>
{/if}
{#if createButton}
<Button variant="default" onclick={createButton.onClick}>
@@ -306,7 +274,6 @@
{/if}
</div>
{#if viewMode === 'table'}
<!-- Table -->
<div class="rounded-md border">
{#key table.getRowModel().rows}
@@ -358,9 +325,7 @@
</Table.Row>
{:else}
<Table.Row>
<Table.Cell colspan={columns.length} class="h-24 text-center"
>No results.</Table.Cell
>
<Table.Cell colspan={columns.length} class="h-24 text-center">No results.</Table.Cell>
</Table.Row>
{/each}
</Table.Body>
@@ -375,135 +340,6 @@
</Table.Root>
{/key}
</div>
{:else}
<!-- Grid View -->
<div
class="grid grid-cols-1 gap-3 sm:grid-cols-2 lg:grid-cols-3 xl:grid-cols-4 2xl:grid-cols-5"
>
{#each table.getRowModel().rows as row (row.id)}
{@const isSelected = row.getIsSelected()}
{@const titleCell = cardConfig.titleKey
? row.getVisibleCells().find((c) => c.column.id === cardConfig.titleKey)
: null}
{@const subtitleCell = cardConfig.subtitleKey
? row.getVisibleCells().find((c) => c.column.id === cardConfig.subtitleKey)
: null}
{@const actionsCell = row.getVisibleCells().find((c) => c.column.id === 'actions')}
{@const visibleColumns = getVisibleColumns()}
<!-- svelte-ignore a11y_click_events_have_key_events -->
<!-- svelte-ignore a11y_no_static_element_interactions -->
<div
class="group bg-card text-card-foreground hover:shadow-primary/5 relative overflow-hidden rounded-xl border shadow-sm transition-all duration-200 hover:-translate-y-0.5 hover:shadow-md {computeRowClasses(
row.original
)} {isSelected
? 'ring-primary bg-primary/5 border-primary/20 ring-2'
: 'hover:border-primary/20'}"
onclick={() => row.toggleSelected()}
ontouchstart={(e) => {
let touchTimer;
touchTimer = setTimeout(() => {
// Long press action - could show context menu
if (actionsCell) {
e.preventDefault();
// You could dispatch a custom event here for showing actions menu
}
}, 500);
// Clear timer on touch end
const clearTimer = () => {
clearTimeout(touchTimer);
document.removeEventListener('touchend', clearTimer);
document.removeEventListener('touchmove', clearTimer);
};
document.addEventListener('touchend', clearTimer);
document.addEventListener('touchmove', clearTimer);
}}
>
{#if isSelected}
<Check class="absolute bottom-3 left-3 z-10 text-green-500 " />
{/if}
<div class="space-y-3 p-4">
<!-- Header Section -->
<div class="flex items-center justify-between space-y-2">
{#if titleCell && cardConfig.titleKey}
{@const titleColumn = table.getColumn(cardConfig.titleKey)}
<h3 class="line-clamp-2 pr-8 text-base leading-tight font-semibold">
<FlexRender
content={titleColumn?.columnDef.cell}
context={titleCell.getContext()}
/>
</h3>
{/if}
{#if subtitleCell && cardConfig.subtitleKey}
{@const subtitleColumn = table.getColumn(cardConfig.subtitleKey)}
<div class="text-muted-foreground text-sm">
<FlexRender
content={subtitleColumn?.columnDef.cell}
context={subtitleCell.getContext()}
/>
</div>
{/if}
</div>
<!-- Content Section - Show only most important fields -->
{#if visibleColumns.length > 0}
<div class="space-y-2.5 border-t pt-3">
{#each visibleColumns as column (column.id)}
{@const cell = row.getVisibleCells().find((c) => c.column.id === column.id)}
{#if cell && column.id !== cardConfig.titleKey && column.id !== cardConfig.subtitleKey}
<div class="flex items-center justify-between gap-2 text-xs">
<span
class="text-muted-foreground min-w-0 truncate font-medium tracking-wide uppercase"
>
{column.columnDef.header}
</span>
<div class="min-w-0 flex-1 text-right">
<FlexRender
content={cell.column.columnDef.cell}
context={cell.getContext()}
/>
</div>
</div>
{/if}
{/each}
</div>
{/if}
<!-- Actions Section -->
{#if actionsCell}
<div
class="flex justify-end border-t pt-3 opacity-0 transition-opacity duration-200 group-hover:opacity-100 sm:opacity-100"
>
<div class="flex gap-1">
<FlexRender
content={actionsCell.column.columnDef.cell}
context={actionsCell.getContext()}
/>
</div>
</div>
{/if}
</div>
<!-- Hover Overlay -->
<div
class="from-primary/5 pointer-events-none absolute inset-0 bg-gradient-to-t to-transparent opacity-0 transition-opacity duration-200 group-hover:opacity-100"
></div>
</div>
{:else}
<div class="col-span-full flex h-32 items-center justify-center">
<div class="text-center space-y-2">
<div class="text-muted-foreground text-4xl">📋</div>
<p class="text-muted-foreground font-medium">No results found</p>
<p class="text-muted-foreground text-sm">Try adjusting your search or filters</p>
</div>
</div>
{/each}
</div>
{/if}
{#if table.getSelectedRowModel().rows.length > 0 && bulkActions && bulkActions.length > 0}
<BulkActions

File diff suppressed because one or more lines are too long

View File

@@ -2,23 +2,27 @@
// @generated from file mantrae/v1/agent.proto (package mantrae.v1, syntax proto3)
/* eslint-disable */
import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
import { file_buf_validate_validate } from "../../buf/validate/validate_pb";
import type { Timestamp } from "@bufbuild/protobuf/wkt";
import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
import type { Message } from "@bufbuild/protobuf";
import type { GenFile, GenMessage, GenService } from '@bufbuild/protobuf/codegenv2';
import { fileDesc, messageDesc, serviceDesc } from '@bufbuild/protobuf/codegenv2';
import { file_buf_validate_validate } from '../../buf/validate/validate_pb';
import type { Timestamp } from '@bufbuild/protobuf/wkt';
import { file_google_protobuf_timestamp } from '@bufbuild/protobuf/wkt';
import type { Message } from '@bufbuild/protobuf';
/**
* Describes the file mantrae/v1/agent.proto.
*/
export const file_mantrae_v1_agent: GenFile = /*@__PURE__*/
fileDesc("ChZtYW50cmFlL3YxL2FnZW50LnByb3RvEgptYW50cmFlLnYxIo0CCgVBZ2VudBIKCgJpZBgBIAEoCRISCgpwcm9maWxlX2lkGAIgASgDEhAKCGhvc3RuYW1lGAMgASgJEhEKCXB1YmxpY19pcBgEIAEoCRISCgpwcml2YXRlX2lwGAUgASgJEhEKCWFjdGl2ZV9pcBgGIAEoCRINCgV0b2tlbhgHIAEoCRIpCgpjb250YWluZXJzGAggAygLMhUubWFudHJhZS52MS5Db250YWluZXISLgoKY3JlYXRlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiuAIKCUNvbnRhaW5lchIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEjEKBmxhYmVscxgDIAMoCzIhLm1hbnRyYWUudjEuQ29udGFpbmVyLkxhYmVsc0VudHJ5Eg0KBWltYWdlGAQgASgJEjMKB3BvcnRtYXAYBSADKAsyIi5tYW50cmFlLnYxLkNvbnRhaW5lci5Qb3J0bWFwRW50cnkSDgoGc3RhdHVzGAYgASgJEisKB2NyZWF0ZWQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wGi0KC0xhYmVsc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaLgoMUG9ydG1hcEVudHJ5EgsKA2tleRgBIAEoBRINCgV2YWx1ZRgCIAEoBToCOAEiJgoPR2V0QWdlbnRSZXF1ZXN0EhMKAmlkGAEgASgJQge6SARyAhABIjQKEEdldEFnZW50UmVzcG9uc2USIAoFYWdlbnQYASABKAsyES5tYW50cmFlLnYxLkFnZW50IjEKEkNyZWF0ZUFnZW50UmVxdWVzdBIbCgpwcm9maWxlX2lkGAEgASgDQge6SAQiAiAAIjcKE0NyZWF0ZUFnZW50UmVzcG9uc2USIAoFYWdlbnQYASABKAsyES5tYW50cmFlLnYxLkFnZW50InkKElVwZGF0ZUFnZW50UmVxdWVzdBITCgJpZBgBIAEoCUIHukgEcgIQARIbCgJpcBgCIAEoCUIKukgH2AEAcgJwAUgAiAEBEhkKDHJvdGF0ZV90b2tlbhgDIAEoCEgBiAEBQgUKA19pcEIPCg1fcm90YXRlX3Rva2VuIjcKE1VwZGF0ZUFnZW50UmVzcG9uc2USIAoFYWdlbnQYASABKAsyES5tYW50cmFlLnYxLkFnZW50IikKEkRlbGV0ZUFnZW50UmVxdWVzdBITCgJpZBgBIAEoCUIHukgEcgIQASIVChNEZWxldGVBZ2VudFJlc3BvbnNlIs8BChFMaXN0QWdlbnRzUmVxdWVzdBIbCgpwcm9maWxlX2lkGAEgASgDQge6SAQiAiAAEmoKBWxpbWl0GAIgASgDQla6SFO6AVAKC2xpbWl0LnZhbGlkEilsaW1pdCBtdXN0IGJlIGVpdGhlciAtMSBvciBncmVhdGVyIHRoYW4gMBoWdGhpcyA9PSAtMSB8fCB0aGlzID4gMEgAiAEBEhwKBm9mZnNldBgDIAEoA0IHukgEIgIoAEgBiAEBQggKBl9saW1pdEIJCgdfb2Zmc2V0IkwKEkxpc3RBZ2VudHNSZXNwb25zZRIhCgZhZ2VudHMYASADKAsyES5tYW50cmFlLnYxLkFnZW50EhMKC3RvdGFsX2NvdW50GAIgASgDImgKEkhlYWx0aENoZWNrUmVxdWVzdBIZCghob3N0bmFtZRgDIAEoCUIHukgEcgIQARIaCglwdWJsaWNfaXAYBCABKAlCB7pIBHICEAESGwoKcHJpdmF0ZV9pcBgFIAEoCUIHukgEcgIQASI3ChNIZWFsdGhDaGVja1Jlc3BvbnNlEiAKBWFnZW50GAEgASgLMhEubWFudHJhZS52MS5BZ2VudDLsAwoMQWdlbnRTZXJ2aWNlEkoKCEdldEFnZW50EhsubWFudHJhZS52MS5HZXRBZ2VudFJlcXVlc3QaHC5tYW50cmFlLnYxLkdldEFnZW50UmVzcG9uc2UiA5ACARJOCgtDcmVhdGVBZ2VudBIeLm1hbnRyYWUudjEuQ3JlYXRlQWdlbnRSZXF1ZXN0Gh8ubWFudHJhZS52MS5DcmVhdGVBZ2VudFJlc3BvbnNlEk4KC1VwZGF0ZUFnZW50Eh4ubWFudHJhZS52MS5VcGRhdGVBZ2VudFJlcXVlc3QaHy5tYW50cmFlLnYxLlVwZGF0ZUFnZW50UmVzcG9uc2USTgoLRGVsZXRlQWdlbnQSHi5tYW50cmFlLnYxLkRlbGV0ZUFnZW50UmVxdWVzdBofLm1hbnRyYWUudjEuRGVsZXRlQWdlbnRSZXNwb25zZRJQCgpMaXN0QWdlbnRzEh0ubWFudHJhZS52MS5MaXN0QWdlbnRzUmVxdWVzdBoeLm1hbnRyYWUudjEuTGlzdEFnZW50c1Jlc3BvbnNlIgOQAgESTgoLSGVhbHRoQ2hlY2sSHi5tYW50cmFlLnYxLkhlYWx0aENoZWNrUmVxdWVzdBofLm1hbnRyYWUudjEuSGVhbHRoQ2hlY2tSZXNwb25zZUKkAQoOY29tLm1hbnRyYWUudjFCCkFnZW50UHJvdG9QAVo9Z2l0aHViLmNvbS9taXp1Y2hpbGFicy9tYW50cmFlL3Byb3RvL2dlbi9tYW50cmFlL3YxO21hbnRyYWV2MaICA01YWKoCCk1hbnRyYWUuVjHKAgpNYW50cmFlXFYx4gIWTWFudHJhZVxWMVxHUEJNZXRhZGF0YeoCC01hbnRyYWU6OlYxYgZwcm90bzM", [file_buf_validate_validate, file_google_protobuf_timestamp]);
export const file_mantrae_v1_agent: GenFile =
/*@__PURE__*/
fileDesc(
'ChZtYW50cmFlL3YxL2FnZW50LnByb3RvEgptYW50cmFlLnYxIo0CCgVBZ2VudBIKCgJpZBgBIAEoCRISCgpwcm9maWxlX2lkGAIgASgDEhAKCGhvc3RuYW1lGAMgASgJEhEKCXB1YmxpY19pcBgEIAEoCRISCgpwcml2YXRlX2lwGAUgASgJEhEKCWFjdGl2ZV9pcBgGIAEoCRINCgV0b2tlbhgHIAEoCRIpCgpjb250YWluZXJzGAggAygLMhUubWFudHJhZS52MS5Db250YWluZXISLgoKY3JlYXRlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiuAIKCUNvbnRhaW5lchIKCgJpZBgBIAEoCRIMCgRuYW1lGAIgASgJEjEKBmxhYmVscxgDIAMoCzIhLm1hbnRyYWUudjEuQ29udGFpbmVyLkxhYmVsc0VudHJ5Eg0KBWltYWdlGAQgASgJEjMKB3BvcnRtYXAYBSADKAsyIi5tYW50cmFlLnYxLkNvbnRhaW5lci5Qb3J0bWFwRW50cnkSDgoGc3RhdHVzGAYgASgJEisKB2NyZWF0ZWQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wGi0KC0xhYmVsc0VudHJ5EgsKA2tleRgBIAEoCRINCgV2YWx1ZRgCIAEoCToCOAEaLgoMUG9ydG1hcEVudHJ5EgsKA2tleRgBIAEoBRINCgV2YWx1ZRgCIAEoBToCOAEiJgoPR2V0QWdlbnRSZXF1ZXN0EhMKAmlkGAEgASgJQge6SARyAhABIjQKEEdldEFnZW50UmVzcG9uc2USIAoFYWdlbnQYASABKAsyES5tYW50cmFlLnYxLkFnZW50IjEKEkNyZWF0ZUFnZW50UmVxdWVzdBIbCgpwcm9maWxlX2lkGAEgASgDQge6SAQiAiAAIjcKE0NyZWF0ZUFnZW50UmVzcG9uc2USIAoFYWdlbnQYASABKAsyES5tYW50cmFlLnYxLkFnZW50InkKElVwZGF0ZUFnZW50UmVxdWVzdBITCgJpZBgBIAEoCUIHukgEcgIQARIbCgJpcBgCIAEoCUIKukgH2AEAcgJwAUgAiAEBEhkKDHJvdGF0ZV90b2tlbhgDIAEoCEgBiAEBQgUKA19pcEIPCg1fcm90YXRlX3Rva2VuIjcKE1VwZGF0ZUFnZW50UmVzcG9uc2USIAoFYWdlbnQYASABKAsyES5tYW50cmFlLnYxLkFnZW50IikKEkRlbGV0ZUFnZW50UmVxdWVzdBITCgJpZBgBIAEoCUIHukgEcgIQASIVChNEZWxldGVBZ2VudFJlc3BvbnNlIs8BChFMaXN0QWdlbnRzUmVxdWVzdBIbCgpwcm9maWxlX2lkGAEgASgDQge6SAQiAiAAEmoKBWxpbWl0GAIgASgDQla6SFO6AVAKC2xpbWl0LnZhbGlkEilsaW1pdCBtdXN0IGJlIGVpdGhlciAtMSBvciBncmVhdGVyIHRoYW4gMBoWdGhpcyA9PSAtMSB8fCB0aGlzID4gMEgAiAEBEhwKBm9mZnNldBgDIAEoA0IHukgEIgIoAEgBiAEBQggKBl9saW1pdEIJCgdfb2Zmc2V0IkwKEkxpc3RBZ2VudHNSZXNwb25zZRIhCgZhZ2VudHMYASADKAsyES5tYW50cmFlLnYxLkFnZW50EhMKC3RvdGFsX2NvdW50GAIgASgDImgKEkhlYWx0aENoZWNrUmVxdWVzdBIZCghob3N0bmFtZRgDIAEoCUIHukgEcgIQARIaCglwdWJsaWNfaXAYBCABKAlCB7pIBHICEAESGwoKcHJpdmF0ZV9pcBgFIAEoCUIHukgEcgIQASI3ChNIZWFsdGhDaGVja1Jlc3BvbnNlEiAKBWFnZW50GAEgASgLMhEubWFudHJhZS52MS5BZ2VudDLsAwoMQWdlbnRTZXJ2aWNlEkoKCEdldEFnZW50EhsubWFudHJhZS52MS5HZXRBZ2VudFJlcXVlc3QaHC5tYW50cmFlLnYxLkdldEFnZW50UmVzcG9uc2UiA5ACARJOCgtDcmVhdGVBZ2VudBIeLm1hbnRyYWUudjEuQ3JlYXRlQWdlbnRSZXF1ZXN0Gh8ubWFudHJhZS52MS5DcmVhdGVBZ2VudFJlc3BvbnNlEk4KC1VwZGF0ZUFnZW50Eh4ubWFudHJhZS52MS5VcGRhdGVBZ2VudFJlcXVlc3QaHy5tYW50cmFlLnYxLlVwZGF0ZUFnZW50UmVzcG9uc2USTgoLRGVsZXRlQWdlbnQSHi5tYW50cmFlLnYxLkRlbGV0ZUFnZW50UmVxdWVzdBofLm1hbnRyYWUudjEuRGVsZXRlQWdlbnRSZXNwb25zZRJQCgpMaXN0QWdlbnRzEh0ubWFudHJhZS52MS5MaXN0QWdlbnRzUmVxdWVzdBoeLm1hbnRyYWUudjEuTGlzdEFnZW50c1Jlc3BvbnNlIgOQAgESTgoLSGVhbHRoQ2hlY2sSHi5tYW50cmFlLnYxLkhlYWx0aENoZWNrUmVxdWVzdBofLm1hbnRyYWUudjEuSGVhbHRoQ2hlY2tSZXNwb25zZUKkAQoOY29tLm1hbnRyYWUudjFCCkFnZW50UHJvdG9QAVo9Z2l0aHViLmNvbS9taXp1Y2hpbGFicy9tYW50cmFlL3Byb3RvL2dlbi9tYW50cmFlL3YxO21hbnRyYWV2MaICA01YWKoCCk1hbnRyYWUuVjHKAgpNYW50cmFlXFYx4gIWTWFudHJhZVxWMVxHUEJNZXRhZGF0YeoCC01hbnRyYWU6OlYxYgZwcm90bzM',
[file_buf_validate_validate, file_google_protobuf_timestamp]
);
/**
* @generated from message mantrae.v1.Agent
*/
export type Agent = Message<"mantrae.v1.Agent"> & {
export type Agent = Message<'mantrae.v1.Agent'> & {
/**
* @generated from field: string id = 1;
*/
@@ -74,13 +78,12 @@ export type Agent = Message<"mantrae.v1.Agent"> & {
* Describes the message mantrae.v1.Agent.
* Use `create(AgentSchema)` to create a new message.
*/
export const AgentSchema: GenMessage<Agent> = /*@__PURE__*/
messageDesc(file_mantrae_v1_agent, 0);
export const AgentSchema: GenMessage<Agent> = /*@__PURE__*/ messageDesc(file_mantrae_v1_agent, 0);
/**
* @generated from message mantrae.v1.Container
*/
export type Container = Message<"mantrae.v1.Container"> & {
export type Container = Message<'mantrae.v1.Container'> & {
/**
* @generated from field: string id = 1;
*/
@@ -121,13 +124,14 @@ export type Container = Message<"mantrae.v1.Container"> & {
* Describes the message mantrae.v1.Container.
* Use `create(ContainerSchema)` to create a new message.
*/
export const ContainerSchema: GenMessage<Container> = /*@__PURE__*/
export const ContainerSchema: GenMessage<Container> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_agent, 1);
/**
* @generated from message mantrae.v1.GetAgentRequest
*/
export type GetAgentRequest = Message<"mantrae.v1.GetAgentRequest"> & {
export type GetAgentRequest = Message<'mantrae.v1.GetAgentRequest'> & {
/**
* @generated from field: string id = 1;
*/
@@ -138,13 +142,14 @@ export type GetAgentRequest = Message<"mantrae.v1.GetAgentRequest"> & {
* Describes the message mantrae.v1.GetAgentRequest.
* Use `create(GetAgentRequestSchema)` to create a new message.
*/
export const GetAgentRequestSchema: GenMessage<GetAgentRequest> = /*@__PURE__*/
export const GetAgentRequestSchema: GenMessage<GetAgentRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_agent, 2);
/**
* @generated from message mantrae.v1.GetAgentResponse
*/
export type GetAgentResponse = Message<"mantrae.v1.GetAgentResponse"> & {
export type GetAgentResponse = Message<'mantrae.v1.GetAgentResponse'> & {
/**
* @generated from field: mantrae.v1.Agent agent = 1;
*/
@@ -155,13 +160,14 @@ export type GetAgentResponse = Message<"mantrae.v1.GetAgentResponse"> & {
* Describes the message mantrae.v1.GetAgentResponse.
* Use `create(GetAgentResponseSchema)` to create a new message.
*/
export const GetAgentResponseSchema: GenMessage<GetAgentResponse> = /*@__PURE__*/
export const GetAgentResponseSchema: GenMessage<GetAgentResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_agent, 3);
/**
* @generated from message mantrae.v1.CreateAgentRequest
*/
export type CreateAgentRequest = Message<"mantrae.v1.CreateAgentRequest"> & {
export type CreateAgentRequest = Message<'mantrae.v1.CreateAgentRequest'> & {
/**
* @generated from field: int64 profile_id = 1;
*/
@@ -172,13 +178,14 @@ export type CreateAgentRequest = Message<"mantrae.v1.CreateAgentRequest"> & {
* Describes the message mantrae.v1.CreateAgentRequest.
* Use `create(CreateAgentRequestSchema)` to create a new message.
*/
export const CreateAgentRequestSchema: GenMessage<CreateAgentRequest> = /*@__PURE__*/
export const CreateAgentRequestSchema: GenMessage<CreateAgentRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_agent, 4);
/**
* @generated from message mantrae.v1.CreateAgentResponse
*/
export type CreateAgentResponse = Message<"mantrae.v1.CreateAgentResponse"> & {
export type CreateAgentResponse = Message<'mantrae.v1.CreateAgentResponse'> & {
/**
* @generated from field: mantrae.v1.Agent agent = 1;
*/
@@ -189,13 +196,14 @@ export type CreateAgentResponse = Message<"mantrae.v1.CreateAgentResponse"> & {
* Describes the message mantrae.v1.CreateAgentResponse.
* Use `create(CreateAgentResponseSchema)` to create a new message.
*/
export const CreateAgentResponseSchema: GenMessage<CreateAgentResponse> = /*@__PURE__*/
export const CreateAgentResponseSchema: GenMessage<CreateAgentResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_agent, 5);
/**
* @generated from message mantrae.v1.UpdateAgentRequest
*/
export type UpdateAgentRequest = Message<"mantrae.v1.UpdateAgentRequest"> & {
export type UpdateAgentRequest = Message<'mantrae.v1.UpdateAgentRequest'> & {
/**
* @generated from field: string id = 1;
*/
@@ -216,13 +224,14 @@ export type UpdateAgentRequest = Message<"mantrae.v1.UpdateAgentRequest"> & {
* Describes the message mantrae.v1.UpdateAgentRequest.
* Use `create(UpdateAgentRequestSchema)` to create a new message.
*/
export const UpdateAgentRequestSchema: GenMessage<UpdateAgentRequest> = /*@__PURE__*/
export const UpdateAgentRequestSchema: GenMessage<UpdateAgentRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_agent, 6);
/**
* @generated from message mantrae.v1.UpdateAgentResponse
*/
export type UpdateAgentResponse = Message<"mantrae.v1.UpdateAgentResponse"> & {
export type UpdateAgentResponse = Message<'mantrae.v1.UpdateAgentResponse'> & {
/**
* @generated from field: mantrae.v1.Agent agent = 1;
*/
@@ -233,13 +242,14 @@ export type UpdateAgentResponse = Message<"mantrae.v1.UpdateAgentResponse"> & {
* Describes the message mantrae.v1.UpdateAgentResponse.
* Use `create(UpdateAgentResponseSchema)` to create a new message.
*/
export const UpdateAgentResponseSchema: GenMessage<UpdateAgentResponse> = /*@__PURE__*/
export const UpdateAgentResponseSchema: GenMessage<UpdateAgentResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_agent, 7);
/**
* @generated from message mantrae.v1.DeleteAgentRequest
*/
export type DeleteAgentRequest = Message<"mantrae.v1.DeleteAgentRequest"> & {
export type DeleteAgentRequest = Message<'mantrae.v1.DeleteAgentRequest'> & {
/**
* @generated from field: string id = 1;
*/
@@ -250,26 +260,27 @@ export type DeleteAgentRequest = Message<"mantrae.v1.DeleteAgentRequest"> & {
* Describes the message mantrae.v1.DeleteAgentRequest.
* Use `create(DeleteAgentRequestSchema)` to create a new message.
*/
export const DeleteAgentRequestSchema: GenMessage<DeleteAgentRequest> = /*@__PURE__*/
export const DeleteAgentRequestSchema: GenMessage<DeleteAgentRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_agent, 8);
/**
* @generated from message mantrae.v1.DeleteAgentResponse
*/
export type DeleteAgentResponse = Message<"mantrae.v1.DeleteAgentResponse"> & {
};
export type DeleteAgentResponse = Message<'mantrae.v1.DeleteAgentResponse'> & {};
/**
* Describes the message mantrae.v1.DeleteAgentResponse.
* Use `create(DeleteAgentResponseSchema)` to create a new message.
*/
export const DeleteAgentResponseSchema: GenMessage<DeleteAgentResponse> = /*@__PURE__*/
export const DeleteAgentResponseSchema: GenMessage<DeleteAgentResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_agent, 9);
/**
* @generated from message mantrae.v1.ListAgentsRequest
*/
export type ListAgentsRequest = Message<"mantrae.v1.ListAgentsRequest"> & {
export type ListAgentsRequest = Message<'mantrae.v1.ListAgentsRequest'> & {
/**
* @generated from field: int64 profile_id = 1;
*/
@@ -290,13 +301,14 @@ export type ListAgentsRequest = Message<"mantrae.v1.ListAgentsRequest"> & {
* Describes the message mantrae.v1.ListAgentsRequest.
* Use `create(ListAgentsRequestSchema)` to create a new message.
*/
export const ListAgentsRequestSchema: GenMessage<ListAgentsRequest> = /*@__PURE__*/
export const ListAgentsRequestSchema: GenMessage<ListAgentsRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_agent, 10);
/**
* @generated from message mantrae.v1.ListAgentsResponse
*/
export type ListAgentsResponse = Message<"mantrae.v1.ListAgentsResponse"> & {
export type ListAgentsResponse = Message<'mantrae.v1.ListAgentsResponse'> & {
/**
* @generated from field: repeated mantrae.v1.Agent agents = 1;
*/
@@ -312,13 +324,14 @@ export type ListAgentsResponse = Message<"mantrae.v1.ListAgentsResponse"> & {
* Describes the message mantrae.v1.ListAgentsResponse.
* Use `create(ListAgentsResponseSchema)` to create a new message.
*/
export const ListAgentsResponseSchema: GenMessage<ListAgentsResponse> = /*@__PURE__*/
export const ListAgentsResponseSchema: GenMessage<ListAgentsResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_agent, 11);
/**
* @generated from message mantrae.v1.HealthCheckRequest
*/
export type HealthCheckRequest = Message<"mantrae.v1.HealthCheckRequest"> & {
export type HealthCheckRequest = Message<'mantrae.v1.HealthCheckRequest'> & {
/**
* @generated from field: string hostname = 3;
*/
@@ -339,13 +352,14 @@ export type HealthCheckRequest = Message<"mantrae.v1.HealthCheckRequest"> & {
* Describes the message mantrae.v1.HealthCheckRequest.
* Use `create(HealthCheckRequestSchema)` to create a new message.
*/
export const HealthCheckRequestSchema: GenMessage<HealthCheckRequest> = /*@__PURE__*/
export const HealthCheckRequestSchema: GenMessage<HealthCheckRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_agent, 12);
/**
* @generated from message mantrae.v1.HealthCheckResponse
*/
export type HealthCheckResponse = Message<"mantrae.v1.HealthCheckResponse"> & {
export type HealthCheckResponse = Message<'mantrae.v1.HealthCheckResponse'> & {
/**
* @generated from field: mantrae.v1.Agent agent = 1;
*/
@@ -356,7 +370,8 @@ export type HealthCheckResponse = Message<"mantrae.v1.HealthCheckResponse"> & {
* Describes the message mantrae.v1.HealthCheckResponse.
* Use `create(HealthCheckResponseSchema)` to create a new message.
*/
export const HealthCheckResponseSchema: GenMessage<HealthCheckResponse> = /*@__PURE__*/
export const HealthCheckResponseSchema: GenMessage<HealthCheckResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_agent, 13);
/**
@@ -367,50 +382,48 @@ export const AgentService: GenService<{
* @generated from rpc mantrae.v1.AgentService.GetAgent
*/
getAgent: {
methodKind: "unary";
methodKind: 'unary';
input: typeof GetAgentRequestSchema;
output: typeof GetAgentResponseSchema;
},
};
/**
* @generated from rpc mantrae.v1.AgentService.CreateAgent
*/
createAgent: {
methodKind: "unary";
methodKind: 'unary';
input: typeof CreateAgentRequestSchema;
output: typeof CreateAgentResponseSchema;
},
};
/**
* @generated from rpc mantrae.v1.AgentService.UpdateAgent
*/
updateAgent: {
methodKind: "unary";
methodKind: 'unary';
input: typeof UpdateAgentRequestSchema;
output: typeof UpdateAgentResponseSchema;
},
};
/**
* @generated from rpc mantrae.v1.AgentService.DeleteAgent
*/
deleteAgent: {
methodKind: "unary";
methodKind: 'unary';
input: typeof DeleteAgentRequestSchema;
output: typeof DeleteAgentResponseSchema;
},
};
/**
* @generated from rpc mantrae.v1.AgentService.ListAgents
*/
listAgents: {
methodKind: "unary";
methodKind: 'unary';
input: typeof ListAgentsRequestSchema;
output: typeof ListAgentsResponseSchema;
},
};
/**
* @generated from rpc mantrae.v1.AgentService.HealthCheck
*/
healthCheck: {
methodKind: "unary";
methodKind: 'unary';
input: typeof HealthCheckRequestSchema;
output: typeof HealthCheckResponseSchema;
},
}> = /*@__PURE__*/
serviceDesc(file_mantrae_v1_agent, 0);
};
}> = /*@__PURE__*/ serviceDesc(file_mantrae_v1_agent, 0);

View File

@@ -2,23 +2,27 @@
// @generated from file mantrae/v1/auditlog.proto (package mantrae.v1, syntax proto3)
/* eslint-disable */
import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
import { file_buf_validate_validate } from "../../buf/validate/validate_pb";
import type { Timestamp } from "@bufbuild/protobuf/wkt";
import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
import type { Message } from "@bufbuild/protobuf";
import type { GenFile, GenMessage, GenService } from '@bufbuild/protobuf/codegenv2';
import { fileDesc, messageDesc, serviceDesc } from '@bufbuild/protobuf/codegenv2';
import { file_buf_validate_validate } from '../../buf/validate/validate_pb';
import type { Timestamp } from '@bufbuild/protobuf/wkt';
import { file_google_protobuf_timestamp } from '@bufbuild/protobuf/wkt';
import type { Message } from '@bufbuild/protobuf';
/**
* Describes the file mantrae/v1/auditlog.proto.
*/
export const file_mantrae_v1_auditlog: GenFile = /*@__PURE__*/
fileDesc("ChltYW50cmFlL3YxL2F1ZGl0bG9nLnByb3RvEgptYW50cmFlLnYxItoBCghBdWRpdExvZxIKCgJpZBgBIAEoAxISCgpwcm9maWxlX2lkGAIgASgDEhQKDHByb2ZpbGVfbmFtZRgDIAEoCRIPCgd1c2VyX2lkGAQgASgJEhEKCXVzZXJfbmFtZRgFIAEoCRIQCghhZ2VudF9pZBgGIAEoCRISCgphZ2VudF9uYW1lGAcgASgJEg0KBWV2ZW50GAggASgJEg8KB2RldGFpbHMYCSABKAkSLgoKY3JlYXRlZF9hdBgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAitQEKFExpc3RBdWRpdExvZ3NSZXF1ZXN0EmoKBWxpbWl0GAEgASgDQla6SFO6AVAKC2xpbWl0LnZhbGlkEilsaW1pdCBtdXN0IGJlIGVpdGhlciAtMSBvciBncmVhdGVyIHRoYW4gMBoWdGhpcyA9PSAtMSB8fCB0aGlzID4gMEgAiAEBEhwKBm9mZnNldBgCIAEoA0IHukgEIgIoAEgBiAEBQggKBl9saW1pdEIJCgdfb2Zmc2V0IlYKFUxpc3RBdWRpdExvZ3NSZXNwb25zZRIoCgphdWRpdF9sb2dzGAEgAygLMhQubWFudHJhZS52MS5BdWRpdExvZxITCgt0b3RhbF9jb3VudBgCIAEoAzJsCg9BdWRpdExvZ1NlcnZpY2USWQoNTGlzdEF1ZGl0TG9ncxIgLm1hbnRyYWUudjEuTGlzdEF1ZGl0TG9nc1JlcXVlc3QaIS5tYW50cmFlLnYxLkxpc3RBdWRpdExvZ3NSZXNwb25zZSIDkAIBQqcBCg5jb20ubWFudHJhZS52MUINQXVkaXRsb2dQcm90b1ABWj1naXRodWIuY29tL21penVjaGlsYWJzL21hbnRyYWUvcHJvdG8vZ2VuL21hbnRyYWUvdjE7bWFudHJhZXYxogIDTVhYqgIKTWFudHJhZS5WMcoCCk1hbnRyYWVcVjHiAhZNYW50cmFlXFYxXEdQQk1ldGFkYXRh6gILTWFudHJhZTo6VjFiBnByb3RvMw", [file_buf_validate_validate, file_google_protobuf_timestamp]);
export const file_mantrae_v1_auditlog: GenFile =
/*@__PURE__*/
fileDesc(
'ChltYW50cmFlL3YxL2F1ZGl0bG9nLnByb3RvEgptYW50cmFlLnYxItoBCghBdWRpdExvZxIKCgJpZBgBIAEoAxISCgpwcm9maWxlX2lkGAIgASgDEhQKDHByb2ZpbGVfbmFtZRgDIAEoCRIPCgd1c2VyX2lkGAQgASgJEhEKCXVzZXJfbmFtZRgFIAEoCRIQCghhZ2VudF9pZBgGIAEoCRISCgphZ2VudF9uYW1lGAcgASgJEg0KBWV2ZW50GAggASgJEg8KB2RldGFpbHMYCSABKAkSLgoKY3JlYXRlZF9hdBgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAitQEKFExpc3RBdWRpdExvZ3NSZXF1ZXN0EmoKBWxpbWl0GAEgASgDQla6SFO6AVAKC2xpbWl0LnZhbGlkEilsaW1pdCBtdXN0IGJlIGVpdGhlciAtMSBvciBncmVhdGVyIHRoYW4gMBoWdGhpcyA9PSAtMSB8fCB0aGlzID4gMEgAiAEBEhwKBm9mZnNldBgCIAEoA0IHukgEIgIoAEgBiAEBQggKBl9saW1pdEIJCgdfb2Zmc2V0IlYKFUxpc3RBdWRpdExvZ3NSZXNwb25zZRIoCgphdWRpdF9sb2dzGAEgAygLMhQubWFudHJhZS52MS5BdWRpdExvZxITCgt0b3RhbF9jb3VudBgCIAEoAzJsCg9BdWRpdExvZ1NlcnZpY2USWQoNTGlzdEF1ZGl0TG9ncxIgLm1hbnRyYWUudjEuTGlzdEF1ZGl0TG9nc1JlcXVlc3QaIS5tYW50cmFlLnYxLkxpc3RBdWRpdExvZ3NSZXNwb25zZSIDkAIBQqcBCg5jb20ubWFudHJhZS52MUINQXVkaXRsb2dQcm90b1ABWj1naXRodWIuY29tL21penVjaGlsYWJzL21hbnRyYWUvcHJvdG8vZ2VuL21hbnRyYWUvdjE7bWFudHJhZXYxogIDTVhYqgIKTWFudHJhZS5WMcoCCk1hbnRyYWVcVjHiAhZNYW50cmFlXFYxXEdQQk1ldGFkYXRh6gILTWFudHJhZTo6VjFiBnByb3RvMw',
[file_buf_validate_validate, file_google_protobuf_timestamp]
);
/**
* @generated from message mantrae.v1.AuditLog
*/
export type AuditLog = Message<"mantrae.v1.AuditLog"> & {
export type AuditLog = Message<'mantrae.v1.AuditLog'> & {
/**
* @generated from field: int64 id = 1;
*/
@@ -74,13 +78,14 @@ export type AuditLog = Message<"mantrae.v1.AuditLog"> & {
* Describes the message mantrae.v1.AuditLog.
* Use `create(AuditLogSchema)` to create a new message.
*/
export const AuditLogSchema: GenMessage<AuditLog> = /*@__PURE__*/
export const AuditLogSchema: GenMessage<AuditLog> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_auditlog, 0);
/**
* @generated from message mantrae.v1.ListAuditLogsRequest
*/
export type ListAuditLogsRequest = Message<"mantrae.v1.ListAuditLogsRequest"> & {
export type ListAuditLogsRequest = Message<'mantrae.v1.ListAuditLogsRequest'> & {
/**
* @generated from field: optional int64 limit = 1;
*/
@@ -96,13 +101,14 @@ export type ListAuditLogsRequest = Message<"mantrae.v1.ListAuditLogsRequest"> &
* Describes the message mantrae.v1.ListAuditLogsRequest.
* Use `create(ListAuditLogsRequestSchema)` to create a new message.
*/
export const ListAuditLogsRequestSchema: GenMessage<ListAuditLogsRequest> = /*@__PURE__*/
export const ListAuditLogsRequestSchema: GenMessage<ListAuditLogsRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_auditlog, 1);
/**
* @generated from message mantrae.v1.ListAuditLogsResponse
*/
export type ListAuditLogsResponse = Message<"mantrae.v1.ListAuditLogsResponse"> & {
export type ListAuditLogsResponse = Message<'mantrae.v1.ListAuditLogsResponse'> & {
/**
* @generated from field: repeated mantrae.v1.AuditLog audit_logs = 1;
*/
@@ -118,7 +124,8 @@ export type ListAuditLogsResponse = Message<"mantrae.v1.ListAuditLogsResponse">
* Describes the message mantrae.v1.ListAuditLogsResponse.
* Use `create(ListAuditLogsResponseSchema)` to create a new message.
*/
export const ListAuditLogsResponseSchema: GenMessage<ListAuditLogsResponse> = /*@__PURE__*/
export const ListAuditLogsResponseSchema: GenMessage<ListAuditLogsResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_auditlog, 2);
/**
@@ -129,10 +136,8 @@ export const AuditLogService: GenService<{
* @generated from rpc mantrae.v1.AuditLogService.ListAuditLogs
*/
listAuditLogs: {
methodKind: "unary";
methodKind: 'unary';
input: typeof ListAuditLogsRequestSchema;
output: typeof ListAuditLogsResponseSchema;
},
}> = /*@__PURE__*/
serviceDesc(file_mantrae_v1_auditlog, 0);
};
}> = /*@__PURE__*/ serviceDesc(file_mantrae_v1_auditlog, 0);

View File

@@ -2,23 +2,27 @@
// @generated from file mantrae/v1/backup.proto (package mantrae.v1, syntax proto3)
/* eslint-disable */
import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
import { file_buf_validate_validate } from "../../buf/validate/validate_pb";
import type { Timestamp } from "@bufbuild/protobuf/wkt";
import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
import type { Message } from "@bufbuild/protobuf";
import type { GenFile, GenMessage, GenService } from '@bufbuild/protobuf/codegenv2';
import { fileDesc, messageDesc, serviceDesc } from '@bufbuild/protobuf/codegenv2';
import { file_buf_validate_validate } from '../../buf/validate/validate_pb';
import type { Timestamp } from '@bufbuild/protobuf/wkt';
import { file_google_protobuf_timestamp } from '@bufbuild/protobuf/wkt';
import type { Message } from '@bufbuild/protobuf';
/**
* Describes the file mantrae/v1/backup.proto.
*/
export const file_mantrae_v1_backup: GenFile = /*@__PURE__*/
fileDesc("ChdtYW50cmFlL3YxL2JhY2t1cC5wcm90bxIKbWFudHJhZS52MSJUCgZCYWNrdXASDAoEbmFtZRgBIAEoCRIMCgRzaXplGAIgASgDEi4KCmNyZWF0ZWRfYXQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIhUKE0NyZWF0ZUJhY2t1cFJlcXVlc3QiFgoUQ3JlYXRlQmFja3VwUmVzcG9uc2UiLQoUUmVzdG9yZUJhY2t1cFJlcXVlc3QSFQoEbmFtZRgBIAEoCUIHukgEcgIQASIXChVSZXN0b3JlQmFja3VwUmVzcG9uc2UiFAoSTGlzdEJhY2t1cHNSZXF1ZXN0IjoKE0xpc3RCYWNrdXBzUmVzcG9uc2USIwoHYmFja3VwcxgBIAMoCzISLm1hbnRyYWUudjEuQmFja3VwIiwKE0RlbGV0ZUJhY2t1cFJlcXVlc3QSFQoEbmFtZRgBIAEoCUIHukgEcgIQASIWChREZWxldGVCYWNrdXBSZXNwb25zZSIlChVEb3dubG9hZEJhY2t1cFJlcXVlc3QSDAoEbmFtZRgBIAEoCSImChZEb3dubG9hZEJhY2t1cFJlc3BvbnNlEgwKBGRhdGEYASABKAwyuwMKDUJhY2t1cFNlcnZpY2USUQoMQ3JlYXRlQmFja3VwEh8ubWFudHJhZS52MS5DcmVhdGVCYWNrdXBSZXF1ZXN0GiAubWFudHJhZS52MS5DcmVhdGVCYWNrdXBSZXNwb25zZRJUCg1SZXN0b3JlQmFja3VwEiAubWFudHJhZS52MS5SZXN0b3JlQmFja3VwUmVxdWVzdBohLm1hbnRyYWUudjEuUmVzdG9yZUJhY2t1cFJlc3BvbnNlElMKC0xpc3RCYWNrdXBzEh4ubWFudHJhZS52MS5MaXN0QmFja3Vwc1JlcXVlc3QaHy5tYW50cmFlLnYxLkxpc3RCYWNrdXBzUmVzcG9uc2UiA5ACARJRCgxEZWxldGVCYWNrdXASHy5tYW50cmFlLnYxLkRlbGV0ZUJhY2t1cFJlcXVlc3QaIC5tYW50cmFlLnYxLkRlbGV0ZUJhY2t1cFJlc3BvbnNlElkKDkRvd25sb2FkQmFja3VwEiEubWFudHJhZS52MS5Eb3dubG9hZEJhY2t1cFJlcXVlc3QaIi5tYW50cmFlLnYxLkRvd25sb2FkQmFja3VwUmVzcG9uc2UwAUKlAQoOY29tLm1hbnRyYWUudjFCC0JhY2t1cFByb3RvUAFaPWdpdGh1Yi5jb20vbWl6dWNoaWxhYnMvbWFudHJhZS9wcm90by9nZW4vbWFudHJhZS92MTttYW50cmFldjGiAgNNWFiqAgpNYW50cmFlLlYxygIKTWFudHJhZVxWMeICFk1hbnRyYWVcVjFcR1BCTWV0YWRhdGHqAgtNYW50cmFlOjpWMWIGcHJvdG8z", [file_buf_validate_validate, file_google_protobuf_timestamp]);
export const file_mantrae_v1_backup: GenFile =
/*@__PURE__*/
fileDesc(
'ChdtYW50cmFlL3YxL2JhY2t1cC5wcm90bxIKbWFudHJhZS52MSJUCgZCYWNrdXASDAoEbmFtZRgBIAEoCRIMCgRzaXplGAIgASgDEi4KCmNyZWF0ZWRfYXQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIhUKE0NyZWF0ZUJhY2t1cFJlcXVlc3QiFgoUQ3JlYXRlQmFja3VwUmVzcG9uc2UiLQoUUmVzdG9yZUJhY2t1cFJlcXVlc3QSFQoEbmFtZRgBIAEoCUIHukgEcgIQASIXChVSZXN0b3JlQmFja3VwUmVzcG9uc2UiFAoSTGlzdEJhY2t1cHNSZXF1ZXN0IjoKE0xpc3RCYWNrdXBzUmVzcG9uc2USIwoHYmFja3VwcxgBIAMoCzISLm1hbnRyYWUudjEuQmFja3VwIiwKE0RlbGV0ZUJhY2t1cFJlcXVlc3QSFQoEbmFtZRgBIAEoCUIHukgEcgIQASIWChREZWxldGVCYWNrdXBSZXNwb25zZSIlChVEb3dubG9hZEJhY2t1cFJlcXVlc3QSDAoEbmFtZRgBIAEoCSImChZEb3dubG9hZEJhY2t1cFJlc3BvbnNlEgwKBGRhdGEYASABKAwyuwMKDUJhY2t1cFNlcnZpY2USUQoMQ3JlYXRlQmFja3VwEh8ubWFudHJhZS52MS5DcmVhdGVCYWNrdXBSZXF1ZXN0GiAubWFudHJhZS52MS5DcmVhdGVCYWNrdXBSZXNwb25zZRJUCg1SZXN0b3JlQmFja3VwEiAubWFudHJhZS52MS5SZXN0b3JlQmFja3VwUmVxdWVzdBohLm1hbnRyYWUudjEuUmVzdG9yZUJhY2t1cFJlc3BvbnNlElMKC0xpc3RCYWNrdXBzEh4ubWFudHJhZS52MS5MaXN0QmFja3Vwc1JlcXVlc3QaHy5tYW50cmFlLnYxLkxpc3RCYWNrdXBzUmVzcG9uc2UiA5ACARJRCgxEZWxldGVCYWNrdXASHy5tYW50cmFlLnYxLkRlbGV0ZUJhY2t1cFJlcXVlc3QaIC5tYW50cmFlLnYxLkRlbGV0ZUJhY2t1cFJlc3BvbnNlElkKDkRvd25sb2FkQmFja3VwEiEubWFudHJhZS52MS5Eb3dubG9hZEJhY2t1cFJlcXVlc3QaIi5tYW50cmFlLnYxLkRvd25sb2FkQmFja3VwUmVzcG9uc2UwAUKlAQoOY29tLm1hbnRyYWUudjFCC0JhY2t1cFByb3RvUAFaPWdpdGh1Yi5jb20vbWl6dWNoaWxhYnMvbWFudHJhZS9wcm90by9nZW4vbWFudHJhZS92MTttYW50cmFldjGiAgNNWFiqAgpNYW50cmFlLlYxygIKTWFudHJhZVxWMeICFk1hbnRyYWVcVjFcR1BCTWV0YWRhdGHqAgtNYW50cmFlOjpWMWIGcHJvdG8z',
[file_buf_validate_validate, file_google_protobuf_timestamp]
);
/**
* @generated from message mantrae.v1.Backup
*/
export type Backup = Message<"mantrae.v1.Backup"> & {
export type Backup = Message<'mantrae.v1.Backup'> & {
/**
* @generated from field: string name = 1;
*/
@@ -39,39 +43,40 @@ export type Backup = Message<"mantrae.v1.Backup"> & {
* Describes the message mantrae.v1.Backup.
* Use `create(BackupSchema)` to create a new message.
*/
export const BackupSchema: GenMessage<Backup> = /*@__PURE__*/
export const BackupSchema: GenMessage<Backup> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_backup, 0);
/**
* @generated from message mantrae.v1.CreateBackupRequest
*/
export type CreateBackupRequest = Message<"mantrae.v1.CreateBackupRequest"> & {
};
export type CreateBackupRequest = Message<'mantrae.v1.CreateBackupRequest'> & {};
/**
* Describes the message mantrae.v1.CreateBackupRequest.
* Use `create(CreateBackupRequestSchema)` to create a new message.
*/
export const CreateBackupRequestSchema: GenMessage<CreateBackupRequest> = /*@__PURE__*/
export const CreateBackupRequestSchema: GenMessage<CreateBackupRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_backup, 1);
/**
* @generated from message mantrae.v1.CreateBackupResponse
*/
export type CreateBackupResponse = Message<"mantrae.v1.CreateBackupResponse"> & {
};
export type CreateBackupResponse = Message<'mantrae.v1.CreateBackupResponse'> & {};
/**
* Describes the message mantrae.v1.CreateBackupResponse.
* Use `create(CreateBackupResponseSchema)` to create a new message.
*/
export const CreateBackupResponseSchema: GenMessage<CreateBackupResponse> = /*@__PURE__*/
export const CreateBackupResponseSchema: GenMessage<CreateBackupResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_backup, 2);
/**
* @generated from message mantrae.v1.RestoreBackupRequest
*/
export type RestoreBackupRequest = Message<"mantrae.v1.RestoreBackupRequest"> & {
export type RestoreBackupRequest = Message<'mantrae.v1.RestoreBackupRequest'> & {
/**
* @generated from field: string name = 1;
*/
@@ -82,39 +87,40 @@ export type RestoreBackupRequest = Message<"mantrae.v1.RestoreBackupRequest"> &
* Describes the message mantrae.v1.RestoreBackupRequest.
* Use `create(RestoreBackupRequestSchema)` to create a new message.
*/
export const RestoreBackupRequestSchema: GenMessage<RestoreBackupRequest> = /*@__PURE__*/
export const RestoreBackupRequestSchema: GenMessage<RestoreBackupRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_backup, 3);
/**
* @generated from message mantrae.v1.RestoreBackupResponse
*/
export type RestoreBackupResponse = Message<"mantrae.v1.RestoreBackupResponse"> & {
};
export type RestoreBackupResponse = Message<'mantrae.v1.RestoreBackupResponse'> & {};
/**
* Describes the message mantrae.v1.RestoreBackupResponse.
* Use `create(RestoreBackupResponseSchema)` to create a new message.
*/
export const RestoreBackupResponseSchema: GenMessage<RestoreBackupResponse> = /*@__PURE__*/
export const RestoreBackupResponseSchema: GenMessage<RestoreBackupResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_backup, 4);
/**
* @generated from message mantrae.v1.ListBackupsRequest
*/
export type ListBackupsRequest = Message<"mantrae.v1.ListBackupsRequest"> & {
};
export type ListBackupsRequest = Message<'mantrae.v1.ListBackupsRequest'> & {};
/**
* Describes the message mantrae.v1.ListBackupsRequest.
* Use `create(ListBackupsRequestSchema)` to create a new message.
*/
export const ListBackupsRequestSchema: GenMessage<ListBackupsRequest> = /*@__PURE__*/
export const ListBackupsRequestSchema: GenMessage<ListBackupsRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_backup, 5);
/**
* @generated from message mantrae.v1.ListBackupsResponse
*/
export type ListBackupsResponse = Message<"mantrae.v1.ListBackupsResponse"> & {
export type ListBackupsResponse = Message<'mantrae.v1.ListBackupsResponse'> & {
/**
* @generated from field: repeated mantrae.v1.Backup backups = 1;
*/
@@ -125,13 +131,14 @@ export type ListBackupsResponse = Message<"mantrae.v1.ListBackupsResponse"> & {
* Describes the message mantrae.v1.ListBackupsResponse.
* Use `create(ListBackupsResponseSchema)` to create a new message.
*/
export const ListBackupsResponseSchema: GenMessage<ListBackupsResponse> = /*@__PURE__*/
export const ListBackupsResponseSchema: GenMessage<ListBackupsResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_backup, 6);
/**
* @generated from message mantrae.v1.DeleteBackupRequest
*/
export type DeleteBackupRequest = Message<"mantrae.v1.DeleteBackupRequest"> & {
export type DeleteBackupRequest = Message<'mantrae.v1.DeleteBackupRequest'> & {
/**
* @generated from field: string name = 1;
*/
@@ -142,26 +149,27 @@ export type DeleteBackupRequest = Message<"mantrae.v1.DeleteBackupRequest"> & {
* Describes the message mantrae.v1.DeleteBackupRequest.
* Use `create(DeleteBackupRequestSchema)` to create a new message.
*/
export const DeleteBackupRequestSchema: GenMessage<DeleteBackupRequest> = /*@__PURE__*/
export const DeleteBackupRequestSchema: GenMessage<DeleteBackupRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_backup, 7);
/**
* @generated from message mantrae.v1.DeleteBackupResponse
*/
export type DeleteBackupResponse = Message<"mantrae.v1.DeleteBackupResponse"> & {
};
export type DeleteBackupResponse = Message<'mantrae.v1.DeleteBackupResponse'> & {};
/**
* Describes the message mantrae.v1.DeleteBackupResponse.
* Use `create(DeleteBackupResponseSchema)` to create a new message.
*/
export const DeleteBackupResponseSchema: GenMessage<DeleteBackupResponse> = /*@__PURE__*/
export const DeleteBackupResponseSchema: GenMessage<DeleteBackupResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_backup, 8);
/**
* @generated from message mantrae.v1.DownloadBackupRequest
*/
export type DownloadBackupRequest = Message<"mantrae.v1.DownloadBackupRequest"> & {
export type DownloadBackupRequest = Message<'mantrae.v1.DownloadBackupRequest'> & {
/**
* @generated from field: string name = 1;
*/
@@ -172,13 +180,14 @@ export type DownloadBackupRequest = Message<"mantrae.v1.DownloadBackupRequest">
* Describes the message mantrae.v1.DownloadBackupRequest.
* Use `create(DownloadBackupRequestSchema)` to create a new message.
*/
export const DownloadBackupRequestSchema: GenMessage<DownloadBackupRequest> = /*@__PURE__*/
export const DownloadBackupRequestSchema: GenMessage<DownloadBackupRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_backup, 9);
/**
* @generated from message mantrae.v1.DownloadBackupResponse
*/
export type DownloadBackupResponse = Message<"mantrae.v1.DownloadBackupResponse"> & {
export type DownloadBackupResponse = Message<'mantrae.v1.DownloadBackupResponse'> & {
/**
* @generated from field: bytes data = 1;
*/
@@ -189,7 +198,8 @@ export type DownloadBackupResponse = Message<"mantrae.v1.DownloadBackupResponse"
* Describes the message mantrae.v1.DownloadBackupResponse.
* Use `create(DownloadBackupResponseSchema)` to create a new message.
*/
export const DownloadBackupResponseSchema: GenMessage<DownloadBackupResponse> = /*@__PURE__*/
export const DownloadBackupResponseSchema: GenMessage<DownloadBackupResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_backup, 10);
/**
@@ -200,34 +210,34 @@ export const BackupService: GenService<{
* @generated from rpc mantrae.v1.BackupService.CreateBackup
*/
createBackup: {
methodKind: "unary";
methodKind: 'unary';
input: typeof CreateBackupRequestSchema;
output: typeof CreateBackupResponseSchema;
},
};
/**
* @generated from rpc mantrae.v1.BackupService.RestoreBackup
*/
restoreBackup: {
methodKind: "unary";
methodKind: 'unary';
input: typeof RestoreBackupRequestSchema;
output: typeof RestoreBackupResponseSchema;
},
};
/**
* @generated from rpc mantrae.v1.BackupService.ListBackups
*/
listBackups: {
methodKind: "unary";
methodKind: 'unary';
input: typeof ListBackupsRequestSchema;
output: typeof ListBackupsResponseSchema;
},
};
/**
* @generated from rpc mantrae.v1.BackupService.DeleteBackup
*/
deleteBackup: {
methodKind: "unary";
methodKind: 'unary';
input: typeof DeleteBackupRequestSchema;
output: typeof DeleteBackupResponseSchema;
},
};
/**
* See: https://github.com/connectrpc/connect-es/issues/669
* rpc UploadBackup(stream UploadBackupRequest) returns (UploadBackupResponse); // stream doesn't work with connect-es
@@ -235,10 +245,8 @@ export const BackupService: GenService<{
* @generated from rpc mantrae.v1.BackupService.DownloadBackup
*/
downloadBackup: {
methodKind: "server_streaming";
methodKind: 'server_streaming';
input: typeof DownloadBackupRequestSchema;
output: typeof DownloadBackupResponseSchema;
},
}> = /*@__PURE__*/
serviceDesc(file_mantrae_v1_backup, 0);
};
}> = /*@__PURE__*/ serviceDesc(file_mantrae_v1_backup, 0);

View File

@@ -2,23 +2,27 @@
// @generated from file mantrae/v1/dns_provider.proto (package mantrae.v1, syntax proto3)
/* eslint-disable */
import type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
import { enumDesc, fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
import { file_buf_validate_validate } from "../../buf/validate/validate_pb";
import type { Timestamp } from "@bufbuild/protobuf/wkt";
import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
import type { Message } from "@bufbuild/protobuf";
import type { GenEnum, GenFile, GenMessage, GenService } from '@bufbuild/protobuf/codegenv2';
import { enumDesc, fileDesc, messageDesc, serviceDesc } from '@bufbuild/protobuf/codegenv2';
import { file_buf_validate_validate } from '../../buf/validate/validate_pb';
import type { Timestamp } from '@bufbuild/protobuf/wkt';
import { file_google_protobuf_timestamp } from '@bufbuild/protobuf/wkt';
import type { Message } from '@bufbuild/protobuf';
/**
* Describes the file mantrae/v1/dns_provider.proto.
*/
export const file_mantrae_v1_dns_provider: GenFile = /*@__PURE__*/
fileDesc("Ch1tYW50cmFlL3YxL2Ruc19wcm92aWRlci5wcm90bxIKbWFudHJhZS52MSL1AQoLRG5zUHJvdmlkZXISCgoCaWQYASABKAMSDAoEbmFtZRgCIAEoCRIpCgR0eXBlGAMgASgOMhsubWFudHJhZS52MS5EbnNQcm92aWRlclR5cGUSLQoGY29uZmlnGAQgASgLMh0ubWFudHJhZS52MS5EbnNQcm92aWRlckNvbmZpZxISCgppc19kZWZhdWx0GAUgASgIEi4KCmNyZWF0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wInoKEURuc1Byb3ZpZGVyQ29uZmlnEg8KB2FwaV9rZXkYASABKAkSDwoHYXBpX3VybBgCIAEoCRIKCgJpcBgDIAEoCRIPCgdwcm94aWVkGAQgASgIEhMKC2F1dG9fdXBkYXRlGAUgASgIEhEKCXpvbmVfdHlwZRgGIAEoCSIvChVHZXREbnNQcm92aWRlclJlcXVlc3QSFgoCaWQYASABKANCCrpIB8gBASICIAAiRwoWR2V0RG5zUHJvdmlkZXJSZXNwb25zZRItCgxkbnNfcHJvdmlkZXIYASABKAsyFy5tYW50cmFlLnYxLkRuc1Byb3ZpZGVyIq8BChhDcmVhdGVEbnNQcm92aWRlclJlcXVlc3QSGAoEbmFtZRgBIAEoCUIKukgHyAEBcgIQARI2CgR0eXBlGAIgASgOMhsubWFudHJhZS52MS5EbnNQcm92aWRlclR5cGVCC7pICMgBAYIBAhABEi0KBmNvbmZpZxgDIAEoCzIdLm1hbnRyYWUudjEuRG5zUHJvdmlkZXJDb25maWcSEgoKaXNfZGVmYXVsdBgEIAEoCCJKChlDcmVhdGVEbnNQcm92aWRlclJlc3BvbnNlEi0KDGRuc19wcm92aWRlchgBIAEoCzIXLm1hbnRyYWUudjEuRG5zUHJvdmlkZXIixwEKGFVwZGF0ZURuc1Byb3ZpZGVyUmVxdWVzdBIWCgJpZBgBIAEoA0IKukgHyAEBIgIgABIYCgRuYW1lGAIgASgJQgq6SAfIAQFyAhABEjYKBHR5cGUYAyABKA4yGy5tYW50cmFlLnYxLkRuc1Byb3ZpZGVyVHlwZUILukgIyAEBggECEAESLQoGY29uZmlnGAQgASgLMh0ubWFudHJhZS52MS5EbnNQcm92aWRlckNvbmZpZxISCgppc19kZWZhdWx0GAUgASgIIkoKGVVwZGF0ZURuc1Byb3ZpZGVyUmVzcG9uc2USLQoMZG5zX3Byb3ZpZGVyGAEgASgLMhcubWFudHJhZS52MS5EbnNQcm92aWRlciIyChhEZWxldGVEbnNQcm92aWRlclJlcXVlc3QSFgoCaWQYASABKANCCrpIB8gBASICIAAiGwoZRGVsZXRlRG5zUHJvdmlkZXJSZXNwb25zZSK4AQoXTGlzdERuc1Byb3ZpZGVyc1JlcXVlc3QSagoFbGltaXQYASABKANCVrpIU7oBUAoLbGltaXQudmFsaWQSKWxpbWl0IG11c3QgYmUgZWl0aGVyIC0xIG9yIGdyZWF0ZXIgdGhhbiAwGhZ0aGlzID09IC0xIHx8IHRoaXMgPiAwSACIAQESHAoGb2Zmc2V0GAIgASgDQge6SAQiAigASAGIAQFCCAoGX2xpbWl0QgkKB19vZmZzZXQiXwoYTGlzdERuc1Byb3ZpZGVyc1Jlc3BvbnNlEi4KDWRuc19wcm92aWRlcnMYASADKAsyFy5tYW50cmFlLnYxLkRuc1Byb3ZpZGVyEhMKC3RvdGFsX2NvdW50GAIgASgDKpgBCg9EbnNQcm92aWRlclR5cGUSIQodRE5TX1BST1ZJREVSX1RZUEVfVU5TUEVDSUZJRUQQABIgChxETlNfUFJPVklERVJfVFlQRV9DTE9VREZMQVJFEAESHgoaRE5TX1BST1ZJREVSX1RZUEVfUE9XRVJETlMQAhIgChxETlNfUFJPVklERVJfVFlQRV9URUNITklUSVVNEAMy/AMKEkRuc1Byb3ZpZGVyU2VydmljZRJcCg5HZXREbnNQcm92aWRlchIhLm1hbnRyYWUudjEuR2V0RG5zUHJvdmlkZXJSZXF1ZXN0GiIubWFudHJhZS52MS5HZXREbnNQcm92aWRlclJlc3BvbnNlIgOQAgESYAoRQ3JlYXRlRG5zUHJvdmlkZXISJC5tYW50cmFlLnYxLkNyZWF0ZURuc1Byb3ZpZGVyUmVxdWVzdBolLm1hbnRyYWUudjEuQ3JlYXRlRG5zUHJvdmlkZXJSZXNwb25zZRJgChFVcGRhdGVEbnNQcm92aWRlchIkLm1hbnRyYWUudjEuVXBkYXRlRG5zUHJvdmlkZXJSZXF1ZXN0GiUubWFudHJhZS52MS5VcGRhdGVEbnNQcm92aWRlclJlc3BvbnNlEmAKEURlbGV0ZURuc1Byb3ZpZGVyEiQubWFudHJhZS52MS5EZWxldGVEbnNQcm92aWRlclJlcXVlc3QaJS5tYW50cmFlLnYxLkRlbGV0ZURuc1Byb3ZpZGVyUmVzcG9uc2USYgoQTGlzdERuc1Byb3ZpZGVycxIjLm1hbnRyYWUudjEuTGlzdERuc1Byb3ZpZGVyc1JlcXVlc3QaJC5tYW50cmFlLnYxLkxpc3REbnNQcm92aWRlcnNSZXNwb25zZSIDkAIBQqoBCg5jb20ubWFudHJhZS52MUIQRG5zUHJvdmlkZXJQcm90b1ABWj1naXRodWIuY29tL21penVjaGlsYWJzL21hbnRyYWUvcHJvdG8vZ2VuL21hbnRyYWUvdjE7bWFudHJhZXYxogIDTVhYqgIKTWFudHJhZS5WMcoCCk1hbnRyYWVcVjHiAhZNYW50cmFlXFYxXEdQQk1ldGFkYXRh6gILTWFudHJhZTo6VjFiBnByb3RvMw", [file_buf_validate_validate, file_google_protobuf_timestamp]);
export const file_mantrae_v1_dns_provider: GenFile =
/*@__PURE__*/
fileDesc(
'Ch1tYW50cmFlL3YxL2Ruc19wcm92aWRlci5wcm90bxIKbWFudHJhZS52MSL1AQoLRG5zUHJvdmlkZXISCgoCaWQYASABKAMSDAoEbmFtZRgCIAEoCRIpCgR0eXBlGAMgASgOMhsubWFudHJhZS52MS5EbnNQcm92aWRlclR5cGUSLQoGY29uZmlnGAQgASgLMh0ubWFudHJhZS52MS5EbnNQcm92aWRlckNvbmZpZxISCgppc19kZWZhdWx0GAUgASgIEi4KCmNyZWF0ZWRfYXQYBiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wInoKEURuc1Byb3ZpZGVyQ29uZmlnEg8KB2FwaV9rZXkYASABKAkSDwoHYXBpX3VybBgCIAEoCRIKCgJpcBgDIAEoCRIPCgdwcm94aWVkGAQgASgIEhMKC2F1dG9fdXBkYXRlGAUgASgIEhEKCXpvbmVfdHlwZRgGIAEoCSIvChVHZXREbnNQcm92aWRlclJlcXVlc3QSFgoCaWQYASABKANCCrpIB8gBASICIAAiRwoWR2V0RG5zUHJvdmlkZXJSZXNwb25zZRItCgxkbnNfcHJvdmlkZXIYASABKAsyFy5tYW50cmFlLnYxLkRuc1Byb3ZpZGVyIq8BChhDcmVhdGVEbnNQcm92aWRlclJlcXVlc3QSGAoEbmFtZRgBIAEoCUIKukgHyAEBcgIQARI2CgR0eXBlGAIgASgOMhsubWFudHJhZS52MS5EbnNQcm92aWRlclR5cGVCC7pICMgBAYIBAhABEi0KBmNvbmZpZxgDIAEoCzIdLm1hbnRyYWUudjEuRG5zUHJvdmlkZXJDb25maWcSEgoKaXNfZGVmYXVsdBgEIAEoCCJKChlDcmVhdGVEbnNQcm92aWRlclJlc3BvbnNlEi0KDGRuc19wcm92aWRlchgBIAEoCzIXLm1hbnRyYWUudjEuRG5zUHJvdmlkZXIixwEKGFVwZGF0ZURuc1Byb3ZpZGVyUmVxdWVzdBIWCgJpZBgBIAEoA0IKukgHyAEBIgIgABIYCgRuYW1lGAIgASgJQgq6SAfIAQFyAhABEjYKBHR5cGUYAyABKA4yGy5tYW50cmFlLnYxLkRuc1Byb3ZpZGVyVHlwZUILukgIyAEBggECEAESLQoGY29uZmlnGAQgASgLMh0ubWFudHJhZS52MS5EbnNQcm92aWRlckNvbmZpZxISCgppc19kZWZhdWx0GAUgASgIIkoKGVVwZGF0ZURuc1Byb3ZpZGVyUmVzcG9uc2USLQoMZG5zX3Byb3ZpZGVyGAEgASgLMhcubWFudHJhZS52MS5EbnNQcm92aWRlciIyChhEZWxldGVEbnNQcm92aWRlclJlcXVlc3QSFgoCaWQYASABKANCCrpIB8gBASICIAAiGwoZRGVsZXRlRG5zUHJvdmlkZXJSZXNwb25zZSK4AQoXTGlzdERuc1Byb3ZpZGVyc1JlcXVlc3QSagoFbGltaXQYASABKANCVrpIU7oBUAoLbGltaXQudmFsaWQSKWxpbWl0IG11c3QgYmUgZWl0aGVyIC0xIG9yIGdyZWF0ZXIgdGhhbiAwGhZ0aGlzID09IC0xIHx8IHRoaXMgPiAwSACIAQESHAoGb2Zmc2V0GAIgASgDQge6SAQiAigASAGIAQFCCAoGX2xpbWl0QgkKB19vZmZzZXQiXwoYTGlzdERuc1Byb3ZpZGVyc1Jlc3BvbnNlEi4KDWRuc19wcm92aWRlcnMYASADKAsyFy5tYW50cmFlLnYxLkRuc1Byb3ZpZGVyEhMKC3RvdGFsX2NvdW50GAIgASgDKpgBCg9EbnNQcm92aWRlclR5cGUSIQodRE5TX1BST1ZJREVSX1RZUEVfVU5TUEVDSUZJRUQQABIgChxETlNfUFJPVklERVJfVFlQRV9DTE9VREZMQVJFEAESHgoaRE5TX1BST1ZJREVSX1RZUEVfUE9XRVJETlMQAhIgChxETlNfUFJPVklERVJfVFlQRV9URUNITklUSVVNEAMy/AMKEkRuc1Byb3ZpZGVyU2VydmljZRJcCg5HZXREbnNQcm92aWRlchIhLm1hbnRyYWUudjEuR2V0RG5zUHJvdmlkZXJSZXF1ZXN0GiIubWFudHJhZS52MS5HZXREbnNQcm92aWRlclJlc3BvbnNlIgOQAgESYAoRQ3JlYXRlRG5zUHJvdmlkZXISJC5tYW50cmFlLnYxLkNyZWF0ZURuc1Byb3ZpZGVyUmVxdWVzdBolLm1hbnRyYWUudjEuQ3JlYXRlRG5zUHJvdmlkZXJSZXNwb25zZRJgChFVcGRhdGVEbnNQcm92aWRlchIkLm1hbnRyYWUudjEuVXBkYXRlRG5zUHJvdmlkZXJSZXF1ZXN0GiUubWFudHJhZS52MS5VcGRhdGVEbnNQcm92aWRlclJlc3BvbnNlEmAKEURlbGV0ZURuc1Byb3ZpZGVyEiQubWFudHJhZS52MS5EZWxldGVEbnNQcm92aWRlclJlcXVlc3QaJS5tYW50cmFlLnYxLkRlbGV0ZURuc1Byb3ZpZGVyUmVzcG9uc2USYgoQTGlzdERuc1Byb3ZpZGVycxIjLm1hbnRyYWUudjEuTGlzdERuc1Byb3ZpZGVyc1JlcXVlc3QaJC5tYW50cmFlLnYxLkxpc3REbnNQcm92aWRlcnNSZXNwb25zZSIDkAIBQqoBCg5jb20ubWFudHJhZS52MUIQRG5zUHJvdmlkZXJQcm90b1ABWj1naXRodWIuY29tL21penVjaGlsYWJzL21hbnRyYWUvcHJvdG8vZ2VuL21hbnRyYWUvdjE7bWFudHJhZXYxogIDTVhYqgIKTWFudHJhZS5WMcoCCk1hbnRyYWVcVjHiAhZNYW50cmFlXFYxXEdQQk1ldGFkYXRh6gILTWFudHJhZTo6VjFiBnByb3RvMw',
[file_buf_validate_validate, file_google_protobuf_timestamp]
);
/**
* @generated from message mantrae.v1.DnsProvider
*/
export type DnsProvider = Message<"mantrae.v1.DnsProvider"> & {
export type DnsProvider = Message<'mantrae.v1.DnsProvider'> & {
/**
* @generated from field: int64 id = 1;
*/
@@ -59,13 +63,14 @@ export type DnsProvider = Message<"mantrae.v1.DnsProvider"> & {
* Describes the message mantrae.v1.DnsProvider.
* Use `create(DnsProviderSchema)` to create a new message.
*/
export const DnsProviderSchema: GenMessage<DnsProvider> = /*@__PURE__*/
export const DnsProviderSchema: GenMessage<DnsProvider> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_dns_provider, 0);
/**
* @generated from message mantrae.v1.DnsProviderConfig
*/
export type DnsProviderConfig = Message<"mantrae.v1.DnsProviderConfig"> & {
export type DnsProviderConfig = Message<'mantrae.v1.DnsProviderConfig'> & {
/**
* @generated from field: string api_key = 1;
*/
@@ -101,13 +106,14 @@ export type DnsProviderConfig = Message<"mantrae.v1.DnsProviderConfig"> & {
* Describes the message mantrae.v1.DnsProviderConfig.
* Use `create(DnsProviderConfigSchema)` to create a new message.
*/
export const DnsProviderConfigSchema: GenMessage<DnsProviderConfig> = /*@__PURE__*/
export const DnsProviderConfigSchema: GenMessage<DnsProviderConfig> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_dns_provider, 1);
/**
* @generated from message mantrae.v1.GetDnsProviderRequest
*/
export type GetDnsProviderRequest = Message<"mantrae.v1.GetDnsProviderRequest"> & {
export type GetDnsProviderRequest = Message<'mantrae.v1.GetDnsProviderRequest'> & {
/**
* @generated from field: int64 id = 1;
*/
@@ -118,13 +124,14 @@ export type GetDnsProviderRequest = Message<"mantrae.v1.GetDnsProviderRequest">
* Describes the message mantrae.v1.GetDnsProviderRequest.
* Use `create(GetDnsProviderRequestSchema)` to create a new message.
*/
export const GetDnsProviderRequestSchema: GenMessage<GetDnsProviderRequest> = /*@__PURE__*/
export const GetDnsProviderRequestSchema: GenMessage<GetDnsProviderRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_dns_provider, 2);
/**
* @generated from message mantrae.v1.GetDnsProviderResponse
*/
export type GetDnsProviderResponse = Message<"mantrae.v1.GetDnsProviderResponse"> & {
export type GetDnsProviderResponse = Message<'mantrae.v1.GetDnsProviderResponse'> & {
/**
* @generated from field: mantrae.v1.DnsProvider dns_provider = 1;
*/
@@ -135,13 +142,14 @@ export type GetDnsProviderResponse = Message<"mantrae.v1.GetDnsProviderResponse"
* Describes the message mantrae.v1.GetDnsProviderResponse.
* Use `create(GetDnsProviderResponseSchema)` to create a new message.
*/
export const GetDnsProviderResponseSchema: GenMessage<GetDnsProviderResponse> = /*@__PURE__*/
export const GetDnsProviderResponseSchema: GenMessage<GetDnsProviderResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_dns_provider, 3);
/**
* @generated from message mantrae.v1.CreateDnsProviderRequest
*/
export type CreateDnsProviderRequest = Message<"mantrae.v1.CreateDnsProviderRequest"> & {
export type CreateDnsProviderRequest = Message<'mantrae.v1.CreateDnsProviderRequest'> & {
/**
* @generated from field: string name = 1;
*/
@@ -167,13 +175,14 @@ export type CreateDnsProviderRequest = Message<"mantrae.v1.CreateDnsProviderRequ
* Describes the message mantrae.v1.CreateDnsProviderRequest.
* Use `create(CreateDnsProviderRequestSchema)` to create a new message.
*/
export const CreateDnsProviderRequestSchema: GenMessage<CreateDnsProviderRequest> = /*@__PURE__*/
export const CreateDnsProviderRequestSchema: GenMessage<CreateDnsProviderRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_dns_provider, 4);
/**
* @generated from message mantrae.v1.CreateDnsProviderResponse
*/
export type CreateDnsProviderResponse = Message<"mantrae.v1.CreateDnsProviderResponse"> & {
export type CreateDnsProviderResponse = Message<'mantrae.v1.CreateDnsProviderResponse'> & {
/**
* @generated from field: mantrae.v1.DnsProvider dns_provider = 1;
*/
@@ -184,13 +193,14 @@ export type CreateDnsProviderResponse = Message<"mantrae.v1.CreateDnsProviderRes
* Describes the message mantrae.v1.CreateDnsProviderResponse.
* Use `create(CreateDnsProviderResponseSchema)` to create a new message.
*/
export const CreateDnsProviderResponseSchema: GenMessage<CreateDnsProviderResponse> = /*@__PURE__*/
export const CreateDnsProviderResponseSchema: GenMessage<CreateDnsProviderResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_dns_provider, 5);
/**
* @generated from message mantrae.v1.UpdateDnsProviderRequest
*/
export type UpdateDnsProviderRequest = Message<"mantrae.v1.UpdateDnsProviderRequest"> & {
export type UpdateDnsProviderRequest = Message<'mantrae.v1.UpdateDnsProviderRequest'> & {
/**
* @generated from field: int64 id = 1;
*/
@@ -221,13 +231,14 @@ export type UpdateDnsProviderRequest = Message<"mantrae.v1.UpdateDnsProviderRequ
* Describes the message mantrae.v1.UpdateDnsProviderRequest.
* Use `create(UpdateDnsProviderRequestSchema)` to create a new message.
*/
export const UpdateDnsProviderRequestSchema: GenMessage<UpdateDnsProviderRequest> = /*@__PURE__*/
export const UpdateDnsProviderRequestSchema: GenMessage<UpdateDnsProviderRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_dns_provider, 6);
/**
* @generated from message mantrae.v1.UpdateDnsProviderResponse
*/
export type UpdateDnsProviderResponse = Message<"mantrae.v1.UpdateDnsProviderResponse"> & {
export type UpdateDnsProviderResponse = Message<'mantrae.v1.UpdateDnsProviderResponse'> & {
/**
* @generated from field: mantrae.v1.DnsProvider dns_provider = 1;
*/
@@ -238,13 +249,14 @@ export type UpdateDnsProviderResponse = Message<"mantrae.v1.UpdateDnsProviderRes
* Describes the message mantrae.v1.UpdateDnsProviderResponse.
* Use `create(UpdateDnsProviderResponseSchema)` to create a new message.
*/
export const UpdateDnsProviderResponseSchema: GenMessage<UpdateDnsProviderResponse> = /*@__PURE__*/
export const UpdateDnsProviderResponseSchema: GenMessage<UpdateDnsProviderResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_dns_provider, 7);
/**
* @generated from message mantrae.v1.DeleteDnsProviderRequest
*/
export type DeleteDnsProviderRequest = Message<"mantrae.v1.DeleteDnsProviderRequest"> & {
export type DeleteDnsProviderRequest = Message<'mantrae.v1.DeleteDnsProviderRequest'> & {
/**
* @generated from field: int64 id = 1;
*/
@@ -255,26 +267,27 @@ export type DeleteDnsProviderRequest = Message<"mantrae.v1.DeleteDnsProviderRequ
* Describes the message mantrae.v1.DeleteDnsProviderRequest.
* Use `create(DeleteDnsProviderRequestSchema)` to create a new message.
*/
export const DeleteDnsProviderRequestSchema: GenMessage<DeleteDnsProviderRequest> = /*@__PURE__*/
export const DeleteDnsProviderRequestSchema: GenMessage<DeleteDnsProviderRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_dns_provider, 8);
/**
* @generated from message mantrae.v1.DeleteDnsProviderResponse
*/
export type DeleteDnsProviderResponse = Message<"mantrae.v1.DeleteDnsProviderResponse"> & {
};
export type DeleteDnsProviderResponse = Message<'mantrae.v1.DeleteDnsProviderResponse'> & {};
/**
* Describes the message mantrae.v1.DeleteDnsProviderResponse.
* Use `create(DeleteDnsProviderResponseSchema)` to create a new message.
*/
export const DeleteDnsProviderResponseSchema: GenMessage<DeleteDnsProviderResponse> = /*@__PURE__*/
export const DeleteDnsProviderResponseSchema: GenMessage<DeleteDnsProviderResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_dns_provider, 9);
/**
* @generated from message mantrae.v1.ListDnsProvidersRequest
*/
export type ListDnsProvidersRequest = Message<"mantrae.v1.ListDnsProvidersRequest"> & {
export type ListDnsProvidersRequest = Message<'mantrae.v1.ListDnsProvidersRequest'> & {
/**
* @generated from field: optional int64 limit = 1;
*/
@@ -290,13 +303,14 @@ export type ListDnsProvidersRequest = Message<"mantrae.v1.ListDnsProvidersReques
* Describes the message mantrae.v1.ListDnsProvidersRequest.
* Use `create(ListDnsProvidersRequestSchema)` to create a new message.
*/
export const ListDnsProvidersRequestSchema: GenMessage<ListDnsProvidersRequest> = /*@__PURE__*/
export const ListDnsProvidersRequestSchema: GenMessage<ListDnsProvidersRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_dns_provider, 10);
/**
* @generated from message mantrae.v1.ListDnsProvidersResponse
*/
export type ListDnsProvidersResponse = Message<"mantrae.v1.ListDnsProvidersResponse"> & {
export type ListDnsProvidersResponse = Message<'mantrae.v1.ListDnsProvidersResponse'> & {
/**
* @generated from field: repeated mantrae.v1.DnsProvider dns_providers = 1;
*/
@@ -312,7 +326,8 @@ export type ListDnsProvidersResponse = Message<"mantrae.v1.ListDnsProvidersRespo
* Describes the message mantrae.v1.ListDnsProvidersResponse.
* Use `create(ListDnsProvidersResponseSchema)` to create a new message.
*/
export const ListDnsProvidersResponseSchema: GenMessage<ListDnsProvidersResponse> = /*@__PURE__*/
export const ListDnsProvidersResponseSchema: GenMessage<ListDnsProvidersResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_dns_provider, 11);
/**
@@ -337,13 +352,14 @@ export enum DnsProviderType {
/**
* @generated from enum value: DNS_PROVIDER_TYPE_TECHNITIUM = 3;
*/
TECHNITIUM = 3,
TECHNITIUM = 3
}
/**
* Describes the enum mantrae.v1.DnsProviderType.
*/
export const DnsProviderTypeSchema: GenEnum<DnsProviderType> = /*@__PURE__*/
export const DnsProviderTypeSchema: GenEnum<DnsProviderType> =
/*@__PURE__*/
enumDesc(file_mantrae_v1_dns_provider, 0);
/**
@@ -354,42 +370,40 @@ export const DnsProviderService: GenService<{
* @generated from rpc mantrae.v1.DnsProviderService.GetDnsProvider
*/
getDnsProvider: {
methodKind: "unary";
methodKind: 'unary';
input: typeof GetDnsProviderRequestSchema;
output: typeof GetDnsProviderResponseSchema;
},
};
/**
* @generated from rpc mantrae.v1.DnsProviderService.CreateDnsProvider
*/
createDnsProvider: {
methodKind: "unary";
methodKind: 'unary';
input: typeof CreateDnsProviderRequestSchema;
output: typeof CreateDnsProviderResponseSchema;
},
};
/**
* @generated from rpc mantrae.v1.DnsProviderService.UpdateDnsProvider
*/
updateDnsProvider: {
methodKind: "unary";
methodKind: 'unary';
input: typeof UpdateDnsProviderRequestSchema;
output: typeof UpdateDnsProviderResponseSchema;
},
};
/**
* @generated from rpc mantrae.v1.DnsProviderService.DeleteDnsProvider
*/
deleteDnsProvider: {
methodKind: "unary";
methodKind: 'unary';
input: typeof DeleteDnsProviderRequestSchema;
output: typeof DeleteDnsProviderResponseSchema;
},
};
/**
* @generated from rpc mantrae.v1.DnsProviderService.ListDnsProviders
*/
listDnsProviders: {
methodKind: "unary";
methodKind: 'unary';
input: typeof ListDnsProvidersRequestSchema;
output: typeof ListDnsProvidersResponseSchema;
},
}> = /*@__PURE__*/
serviceDesc(file_mantrae_v1_dns_provider, 0);
};
}> = /*@__PURE__*/ serviceDesc(file_mantrae_v1_dns_provider, 0);

View File

@@ -2,23 +2,27 @@
// @generated from file mantrae/v1/entry_point.proto (package mantrae.v1, syntax proto3)
/* eslint-disable */
import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
import { file_buf_validate_validate } from "../../buf/validate/validate_pb";
import type { Timestamp } from "@bufbuild/protobuf/wkt";
import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
import type { Message } from "@bufbuild/protobuf";
import type { GenFile, GenMessage, GenService } from '@bufbuild/protobuf/codegenv2';
import { fileDesc, messageDesc, serviceDesc } from '@bufbuild/protobuf/codegenv2';
import { file_buf_validate_validate } from '../../buf/validate/validate_pb';
import type { Timestamp } from '@bufbuild/protobuf/wkt';
import { file_google_protobuf_timestamp } from '@bufbuild/protobuf/wkt';
import type { Message } from '@bufbuild/protobuf';
/**
* Describes the file mantrae/v1/entry_point.proto.
*/
export const file_mantrae_v1_entry_point: GenFile = /*@__PURE__*/
fileDesc("ChxtYW50cmFlL3YxL2VudHJ5X3BvaW50LnByb3RvEgptYW50cmFlLnYxIr8BCgpFbnRyeVBvaW50EgoKAmlkGAEgASgDEhIKCnByb2ZpbGVfaWQYAiABKAMSDAoEbmFtZRgDIAEoCRIPCgdhZGRyZXNzGAQgASgJEhIKCmlzX2RlZmF1bHQYBSABKAgSLgoKY3JlYXRlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiKwoUR2V0RW50cnlQb2ludFJlcXVlc3QSEwoCaWQYASABKANCB7pIBCICIAAiRAoVR2V0RW50cnlQb2ludFJlc3BvbnNlEisKC2VudHJ5X3BvaW50GAEgASgLMhYubWFudHJhZS52MS5FbnRyeVBvaW50IoMBChdDcmVhdGVFbnRyeVBvaW50UmVxdWVzdBIbCgpwcm9maWxlX2lkGAEgASgDQge6SAQiAiAAEhUKBG5hbWUYAiABKAlCB7pIBHICEAESEgoKaXNfZGVmYXVsdBgDIAEoCBIUCgdhZGRyZXNzGAQgASgJSACIAQFCCgoIX2FkZHJlc3MiRwoYQ3JlYXRlRW50cnlQb2ludFJlc3BvbnNlEisKC2VudHJ5X3BvaW50GAEgASgLMhYubWFudHJhZS52MS5FbnRyeVBvaW50InsKF1VwZGF0ZUVudHJ5UG9pbnRSZXF1ZXN0EhMKAmlkGAEgASgDQge6SAQiAiAAEhUKBG5hbWUYAiABKAlCB7pIBHICEAESEgoKaXNfZGVmYXVsdBgDIAEoCBIUCgdhZGRyZXNzGAQgASgJSACIAQFCCgoIX2FkZHJlc3MiRwoYVXBkYXRlRW50cnlQb2ludFJlc3BvbnNlEisKC2VudHJ5X3BvaW50GAEgASgLMhYubWFudHJhZS52MS5FbnRyeVBvaW50Ii4KF0RlbGV0ZUVudHJ5UG9pbnRSZXF1ZXN0EhMKAmlkGAEgASgDQge6SAQiAiAAIhoKGERlbGV0ZUVudHJ5UG9pbnRSZXNwb25zZSLUAQoWTGlzdEVudHJ5UG9pbnRzUmVxdWVzdBIbCgpwcm9maWxlX2lkGAEgASgDQge6SAQiAiAAEmoKBWxpbWl0GAIgASgDQla6SFO6AVAKC2xpbWl0LnZhbGlkEilsaW1pdCBtdXN0IGJlIGVpdGhlciAtMSBvciBncmVhdGVyIHRoYW4gMBoWdGhpcyA9PSAtMSB8fCB0aGlzID4gMEgAiAEBEhwKBm9mZnNldBgDIAEoA0IHukgEIgIoAEgBiAEBQggKBl9saW1pdEIJCgdfb2Zmc2V0IlwKF0xpc3RFbnRyeVBvaW50c1Jlc3BvbnNlEiwKDGVudHJ5X3BvaW50cxgBIAMoCzIWLm1hbnRyYWUudjEuRW50cnlQb2ludBITCgt0b3RhbF9jb3VudBgCIAEoAzLsAwoRRW50cnlQb2ludFNlcnZpY2USWQoNR2V0RW50cnlQb2ludBIgLm1hbnRyYWUudjEuR2V0RW50cnlQb2ludFJlcXVlc3QaIS5tYW50cmFlLnYxLkdldEVudHJ5UG9pbnRSZXNwb25zZSIDkAIBEl0KEENyZWF0ZUVudHJ5UG9pbnQSIy5tYW50cmFlLnYxLkNyZWF0ZUVudHJ5UG9pbnRSZXF1ZXN0GiQubWFudHJhZS52MS5DcmVhdGVFbnRyeVBvaW50UmVzcG9uc2USXQoQVXBkYXRlRW50cnlQb2ludBIjLm1hbnRyYWUudjEuVXBkYXRlRW50cnlQb2ludFJlcXVlc3QaJC5tYW50cmFlLnYxLlVwZGF0ZUVudHJ5UG9pbnRSZXNwb25zZRJdChBEZWxldGVFbnRyeVBvaW50EiMubWFudHJhZS52MS5EZWxldGVFbnRyeVBvaW50UmVxdWVzdBokLm1hbnRyYWUudjEuRGVsZXRlRW50cnlQb2ludFJlc3BvbnNlEl8KD0xpc3RFbnRyeVBvaW50cxIiLm1hbnRyYWUudjEuTGlzdEVudHJ5UG9pbnRzUmVxdWVzdBojLm1hbnRyYWUudjEuTGlzdEVudHJ5UG9pbnRzUmVzcG9uc2UiA5ACAUKpAQoOY29tLm1hbnRyYWUudjFCD0VudHJ5UG9pbnRQcm90b1ABWj1naXRodWIuY29tL21penVjaGlsYWJzL21hbnRyYWUvcHJvdG8vZ2VuL21hbnRyYWUvdjE7bWFudHJhZXYxogIDTVhYqgIKTWFudHJhZS5WMcoCCk1hbnRyYWVcVjHiAhZNYW50cmFlXFYxXEdQQk1ldGFkYXRh6gILTWFudHJhZTo6VjFiBnByb3RvMw", [file_buf_validate_validate, file_google_protobuf_timestamp]);
export const file_mantrae_v1_entry_point: GenFile =
/*@__PURE__*/
fileDesc(
'ChxtYW50cmFlL3YxL2VudHJ5X3BvaW50LnByb3RvEgptYW50cmFlLnYxIr8BCgpFbnRyeVBvaW50EgoKAmlkGAEgASgDEhIKCnByb2ZpbGVfaWQYAiABKAMSDAoEbmFtZRgDIAEoCRIPCgdhZGRyZXNzGAQgASgJEhIKCmlzX2RlZmF1bHQYBSABKAgSLgoKY3JlYXRlZF9hdBgGIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiKwoUR2V0RW50cnlQb2ludFJlcXVlc3QSEwoCaWQYASABKANCB7pIBCICIAAiRAoVR2V0RW50cnlQb2ludFJlc3BvbnNlEisKC2VudHJ5X3BvaW50GAEgASgLMhYubWFudHJhZS52MS5FbnRyeVBvaW50IoMBChdDcmVhdGVFbnRyeVBvaW50UmVxdWVzdBIbCgpwcm9maWxlX2lkGAEgASgDQge6SAQiAiAAEhUKBG5hbWUYAiABKAlCB7pIBHICEAESEgoKaXNfZGVmYXVsdBgDIAEoCBIUCgdhZGRyZXNzGAQgASgJSACIAQFCCgoIX2FkZHJlc3MiRwoYQ3JlYXRlRW50cnlQb2ludFJlc3BvbnNlEisKC2VudHJ5X3BvaW50GAEgASgLMhYubWFudHJhZS52MS5FbnRyeVBvaW50InsKF1VwZGF0ZUVudHJ5UG9pbnRSZXF1ZXN0EhMKAmlkGAEgASgDQge6SAQiAiAAEhUKBG5hbWUYAiABKAlCB7pIBHICEAESEgoKaXNfZGVmYXVsdBgDIAEoCBIUCgdhZGRyZXNzGAQgASgJSACIAQFCCgoIX2FkZHJlc3MiRwoYVXBkYXRlRW50cnlQb2ludFJlc3BvbnNlEisKC2VudHJ5X3BvaW50GAEgASgLMhYubWFudHJhZS52MS5FbnRyeVBvaW50Ii4KF0RlbGV0ZUVudHJ5UG9pbnRSZXF1ZXN0EhMKAmlkGAEgASgDQge6SAQiAiAAIhoKGERlbGV0ZUVudHJ5UG9pbnRSZXNwb25zZSLUAQoWTGlzdEVudHJ5UG9pbnRzUmVxdWVzdBIbCgpwcm9maWxlX2lkGAEgASgDQge6SAQiAiAAEmoKBWxpbWl0GAIgASgDQla6SFO6AVAKC2xpbWl0LnZhbGlkEilsaW1pdCBtdXN0IGJlIGVpdGhlciAtMSBvciBncmVhdGVyIHRoYW4gMBoWdGhpcyA9PSAtMSB8fCB0aGlzID4gMEgAiAEBEhwKBm9mZnNldBgDIAEoA0IHukgEIgIoAEgBiAEBQggKBl9saW1pdEIJCgdfb2Zmc2V0IlwKF0xpc3RFbnRyeVBvaW50c1Jlc3BvbnNlEiwKDGVudHJ5X3BvaW50cxgBIAMoCzIWLm1hbnRyYWUudjEuRW50cnlQb2ludBITCgt0b3RhbF9jb3VudBgCIAEoAzLsAwoRRW50cnlQb2ludFNlcnZpY2USWQoNR2V0RW50cnlQb2ludBIgLm1hbnRyYWUudjEuR2V0RW50cnlQb2ludFJlcXVlc3QaIS5tYW50cmFlLnYxLkdldEVudHJ5UG9pbnRSZXNwb25zZSIDkAIBEl0KEENyZWF0ZUVudHJ5UG9pbnQSIy5tYW50cmFlLnYxLkNyZWF0ZUVudHJ5UG9pbnRSZXF1ZXN0GiQubWFudHJhZS52MS5DcmVhdGVFbnRyeVBvaW50UmVzcG9uc2USXQoQVXBkYXRlRW50cnlQb2ludBIjLm1hbnRyYWUudjEuVXBkYXRlRW50cnlQb2ludFJlcXVlc3QaJC5tYW50cmFlLnYxLlVwZGF0ZUVudHJ5UG9pbnRSZXNwb25zZRJdChBEZWxldGVFbnRyeVBvaW50EiMubWFudHJhZS52MS5EZWxldGVFbnRyeVBvaW50UmVxdWVzdBokLm1hbnRyYWUudjEuRGVsZXRlRW50cnlQb2ludFJlc3BvbnNlEl8KD0xpc3RFbnRyeVBvaW50cxIiLm1hbnRyYWUudjEuTGlzdEVudHJ5UG9pbnRzUmVxdWVzdBojLm1hbnRyYWUudjEuTGlzdEVudHJ5UG9pbnRzUmVzcG9uc2UiA5ACAUKpAQoOY29tLm1hbnRyYWUudjFCD0VudHJ5UG9pbnRQcm90b1ABWj1naXRodWIuY29tL21penVjaGlsYWJzL21hbnRyYWUvcHJvdG8vZ2VuL21hbnRyYWUvdjE7bWFudHJhZXYxogIDTVhYqgIKTWFudHJhZS5WMcoCCk1hbnRyYWVcVjHiAhZNYW50cmFlXFYxXEdQQk1ldGFkYXRh6gILTWFudHJhZTo6VjFiBnByb3RvMw',
[file_buf_validate_validate, file_google_protobuf_timestamp]
);
/**
* @generated from message mantrae.v1.EntryPoint
*/
export type EntryPoint = Message<"mantrae.v1.EntryPoint"> & {
export type EntryPoint = Message<'mantrae.v1.EntryPoint'> & {
/**
* @generated from field: int64 id = 1;
*/
@@ -59,13 +63,14 @@ export type EntryPoint = Message<"mantrae.v1.EntryPoint"> & {
* Describes the message mantrae.v1.EntryPoint.
* Use `create(EntryPointSchema)` to create a new message.
*/
export const EntryPointSchema: GenMessage<EntryPoint> = /*@__PURE__*/
export const EntryPointSchema: GenMessage<EntryPoint> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_entry_point, 0);
/**
* @generated from message mantrae.v1.GetEntryPointRequest
*/
export type GetEntryPointRequest = Message<"mantrae.v1.GetEntryPointRequest"> & {
export type GetEntryPointRequest = Message<'mantrae.v1.GetEntryPointRequest'> & {
/**
* @generated from field: int64 id = 1;
*/
@@ -76,13 +81,14 @@ export type GetEntryPointRequest = Message<"mantrae.v1.GetEntryPointRequest"> &
* Describes the message mantrae.v1.GetEntryPointRequest.
* Use `create(GetEntryPointRequestSchema)` to create a new message.
*/
export const GetEntryPointRequestSchema: GenMessage<GetEntryPointRequest> = /*@__PURE__*/
export const GetEntryPointRequestSchema: GenMessage<GetEntryPointRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_entry_point, 1);
/**
* @generated from message mantrae.v1.GetEntryPointResponse
*/
export type GetEntryPointResponse = Message<"mantrae.v1.GetEntryPointResponse"> & {
export type GetEntryPointResponse = Message<'mantrae.v1.GetEntryPointResponse'> & {
/**
* @generated from field: mantrae.v1.EntryPoint entry_point = 1;
*/
@@ -93,13 +99,14 @@ export type GetEntryPointResponse = Message<"mantrae.v1.GetEntryPointResponse">
* Describes the message mantrae.v1.GetEntryPointResponse.
* Use `create(GetEntryPointResponseSchema)` to create a new message.
*/
export const GetEntryPointResponseSchema: GenMessage<GetEntryPointResponse> = /*@__PURE__*/
export const GetEntryPointResponseSchema: GenMessage<GetEntryPointResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_entry_point, 2);
/**
* @generated from message mantrae.v1.CreateEntryPointRequest
*/
export type CreateEntryPointRequest = Message<"mantrae.v1.CreateEntryPointRequest"> & {
export type CreateEntryPointRequest = Message<'mantrae.v1.CreateEntryPointRequest'> & {
/**
* @generated from field: int64 profile_id = 1;
*/
@@ -125,13 +132,14 @@ export type CreateEntryPointRequest = Message<"mantrae.v1.CreateEntryPointReques
* Describes the message mantrae.v1.CreateEntryPointRequest.
* Use `create(CreateEntryPointRequestSchema)` to create a new message.
*/
export const CreateEntryPointRequestSchema: GenMessage<CreateEntryPointRequest> = /*@__PURE__*/
export const CreateEntryPointRequestSchema: GenMessage<CreateEntryPointRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_entry_point, 3);
/**
* @generated from message mantrae.v1.CreateEntryPointResponse
*/
export type CreateEntryPointResponse = Message<"mantrae.v1.CreateEntryPointResponse"> & {
export type CreateEntryPointResponse = Message<'mantrae.v1.CreateEntryPointResponse'> & {
/**
* @generated from field: mantrae.v1.EntryPoint entry_point = 1;
*/
@@ -142,13 +150,14 @@ export type CreateEntryPointResponse = Message<"mantrae.v1.CreateEntryPointRespo
* Describes the message mantrae.v1.CreateEntryPointResponse.
* Use `create(CreateEntryPointResponseSchema)` to create a new message.
*/
export const CreateEntryPointResponseSchema: GenMessage<CreateEntryPointResponse> = /*@__PURE__*/
export const CreateEntryPointResponseSchema: GenMessage<CreateEntryPointResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_entry_point, 4);
/**
* @generated from message mantrae.v1.UpdateEntryPointRequest
*/
export type UpdateEntryPointRequest = Message<"mantrae.v1.UpdateEntryPointRequest"> & {
export type UpdateEntryPointRequest = Message<'mantrae.v1.UpdateEntryPointRequest'> & {
/**
* @generated from field: int64 id = 1;
*/
@@ -174,13 +183,14 @@ export type UpdateEntryPointRequest = Message<"mantrae.v1.UpdateEntryPointReques
* Describes the message mantrae.v1.UpdateEntryPointRequest.
* Use `create(UpdateEntryPointRequestSchema)` to create a new message.
*/
export const UpdateEntryPointRequestSchema: GenMessage<UpdateEntryPointRequest> = /*@__PURE__*/
export const UpdateEntryPointRequestSchema: GenMessage<UpdateEntryPointRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_entry_point, 5);
/**
* @generated from message mantrae.v1.UpdateEntryPointResponse
*/
export type UpdateEntryPointResponse = Message<"mantrae.v1.UpdateEntryPointResponse"> & {
export type UpdateEntryPointResponse = Message<'mantrae.v1.UpdateEntryPointResponse'> & {
/**
* @generated from field: mantrae.v1.EntryPoint entry_point = 1;
*/
@@ -191,13 +201,14 @@ export type UpdateEntryPointResponse = Message<"mantrae.v1.UpdateEntryPointRespo
* Describes the message mantrae.v1.UpdateEntryPointResponse.
* Use `create(UpdateEntryPointResponseSchema)` to create a new message.
*/
export const UpdateEntryPointResponseSchema: GenMessage<UpdateEntryPointResponse> = /*@__PURE__*/
export const UpdateEntryPointResponseSchema: GenMessage<UpdateEntryPointResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_entry_point, 6);
/**
* @generated from message mantrae.v1.DeleteEntryPointRequest
*/
export type DeleteEntryPointRequest = Message<"mantrae.v1.DeleteEntryPointRequest"> & {
export type DeleteEntryPointRequest = Message<'mantrae.v1.DeleteEntryPointRequest'> & {
/**
* @generated from field: int64 id = 1;
*/
@@ -208,26 +219,27 @@ export type DeleteEntryPointRequest = Message<"mantrae.v1.DeleteEntryPointReques
* Describes the message mantrae.v1.DeleteEntryPointRequest.
* Use `create(DeleteEntryPointRequestSchema)` to create a new message.
*/
export const DeleteEntryPointRequestSchema: GenMessage<DeleteEntryPointRequest> = /*@__PURE__*/
export const DeleteEntryPointRequestSchema: GenMessage<DeleteEntryPointRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_entry_point, 7);
/**
* @generated from message mantrae.v1.DeleteEntryPointResponse
*/
export type DeleteEntryPointResponse = Message<"mantrae.v1.DeleteEntryPointResponse"> & {
};
export type DeleteEntryPointResponse = Message<'mantrae.v1.DeleteEntryPointResponse'> & {};
/**
* Describes the message mantrae.v1.DeleteEntryPointResponse.
* Use `create(DeleteEntryPointResponseSchema)` to create a new message.
*/
export const DeleteEntryPointResponseSchema: GenMessage<DeleteEntryPointResponse> = /*@__PURE__*/
export const DeleteEntryPointResponseSchema: GenMessage<DeleteEntryPointResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_entry_point, 8);
/**
* @generated from message mantrae.v1.ListEntryPointsRequest
*/
export type ListEntryPointsRequest = Message<"mantrae.v1.ListEntryPointsRequest"> & {
export type ListEntryPointsRequest = Message<'mantrae.v1.ListEntryPointsRequest'> & {
/**
* @generated from field: int64 profile_id = 1;
*/
@@ -248,13 +260,14 @@ export type ListEntryPointsRequest = Message<"mantrae.v1.ListEntryPointsRequest"
* Describes the message mantrae.v1.ListEntryPointsRequest.
* Use `create(ListEntryPointsRequestSchema)` to create a new message.
*/
export const ListEntryPointsRequestSchema: GenMessage<ListEntryPointsRequest> = /*@__PURE__*/
export const ListEntryPointsRequestSchema: GenMessage<ListEntryPointsRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_entry_point, 9);
/**
* @generated from message mantrae.v1.ListEntryPointsResponse
*/
export type ListEntryPointsResponse = Message<"mantrae.v1.ListEntryPointsResponse"> & {
export type ListEntryPointsResponse = Message<'mantrae.v1.ListEntryPointsResponse'> & {
/**
* @generated from field: repeated mantrae.v1.EntryPoint entry_points = 1;
*/
@@ -270,7 +283,8 @@ export type ListEntryPointsResponse = Message<"mantrae.v1.ListEntryPointsRespons
* Describes the message mantrae.v1.ListEntryPointsResponse.
* Use `create(ListEntryPointsResponseSchema)` to create a new message.
*/
export const ListEntryPointsResponseSchema: GenMessage<ListEntryPointsResponse> = /*@__PURE__*/
export const ListEntryPointsResponseSchema: GenMessage<ListEntryPointsResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_entry_point, 10);
/**
@@ -281,42 +295,40 @@ export const EntryPointService: GenService<{
* @generated from rpc mantrae.v1.EntryPointService.GetEntryPoint
*/
getEntryPoint: {
methodKind: "unary";
methodKind: 'unary';
input: typeof GetEntryPointRequestSchema;
output: typeof GetEntryPointResponseSchema;
},
};
/**
* @generated from rpc mantrae.v1.EntryPointService.CreateEntryPoint
*/
createEntryPoint: {
methodKind: "unary";
methodKind: 'unary';
input: typeof CreateEntryPointRequestSchema;
output: typeof CreateEntryPointResponseSchema;
},
};
/**
* @generated from rpc mantrae.v1.EntryPointService.UpdateEntryPoint
*/
updateEntryPoint: {
methodKind: "unary";
methodKind: 'unary';
input: typeof UpdateEntryPointRequestSchema;
output: typeof UpdateEntryPointResponseSchema;
},
};
/**
* @generated from rpc mantrae.v1.EntryPointService.DeleteEntryPoint
*/
deleteEntryPoint: {
methodKind: "unary";
methodKind: 'unary';
input: typeof DeleteEntryPointRequestSchema;
output: typeof DeleteEntryPointResponseSchema;
},
};
/**
* @generated from rpc mantrae.v1.EntryPointService.ListEntryPoints
*/
listEntryPoints: {
methodKind: "unary";
methodKind: 'unary';
input: typeof ListEntryPointsRequestSchema;
output: typeof ListEntryPointsResponseSchema;
},
}> = /*@__PURE__*/
serviceDesc(file_mantrae_v1_entry_point, 0);
};
}> = /*@__PURE__*/ serviceDesc(file_mantrae_v1_entry_point, 0);

View File

@@ -2,25 +2,37 @@
// @generated from file mantrae/v1/middleware.proto (package mantrae.v1, syntax proto3)
/* eslint-disable */
import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
import { file_buf_validate_validate } from "../../buf/validate/validate_pb";
import type { Timestamp } from "@bufbuild/protobuf/wkt";
import { file_google_protobuf_struct, file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
import type { ProtocolType } from "./protocol_pb";
import { file_mantrae_v1_protocol } from "./protocol_pb";
import type { JsonObject, Message } from "@bufbuild/protobuf";
import type { GenFile, GenMessage, GenService } from '@bufbuild/protobuf/codegenv2';
import { fileDesc, messageDesc, serviceDesc } from '@bufbuild/protobuf/codegenv2';
import { file_buf_validate_validate } from '../../buf/validate/validate_pb';
import type { Timestamp } from '@bufbuild/protobuf/wkt';
import {
file_google_protobuf_struct,
file_google_protobuf_timestamp
} from '@bufbuild/protobuf/wkt';
import type { ProtocolType } from './protocol_pb';
import { file_mantrae_v1_protocol } from './protocol_pb';
import type { JsonObject, Message } from '@bufbuild/protobuf';
/**
* Describes the file mantrae/v1/middleware.proto.
*/
export const file_mantrae_v1_middleware: GenFile = /*@__PURE__*/
fileDesc("ChttYW50cmFlL3YxL21pZGRsZXdhcmUucHJvdG8SCm1hbnRyYWUudjEiogIKCk1pZGRsZXdhcmUSCgoCaWQYASABKAMSEgoKcHJvZmlsZV9pZBgCIAEoAxIQCghhZ2VudF9pZBgDIAEoCRIMCgRuYW1lGAQgASgJEicKBmNvbmZpZxgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSDwoHZW5hYmxlZBgGIAEoCBISCgppc19kZWZhdWx0GAcgASgIEiYKBHR5cGUYCCABKA4yGC5tYW50cmFlLnYxLlByb3RvY29sVHlwZRIuCgpjcmVhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKmAgoGUGx1Z2luEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSFAoMZGlzcGxheV9uYW1lGAMgASgJEg4KBmF1dGhvchgEIAEoCRIMCgR0eXBlGAUgASgJEg4KBmltcG9ydBgGIAEoCRIPCgdzdW1tYXJ5GAcgASgJEhAKCGljb25fdXJsGAggASgJEhIKCmJhbm5lcl91cmwYCSABKAkSDgoGcmVhZG1lGAogASgJEhYKDmxhdGVzdF92ZXJzaW9uGAsgASgJEhAKCHZlcnNpb25zGAwgAygJEg0KBXN0YXJzGA0gASgDEioKB3NuaXBwZXQYDiABKAsyGS5tYW50cmFlLnYxLlBsdWdpblNuaXBwZXQSEgoKY3JlYXRlZF9hdBgPIAEoCSI4Cg1QbHVnaW5TbmlwcGV0EgsKA2s4cxgBIAEoCRIMCgR5YW1sGAIgASgJEgwKBHRvbWwYAyABKAkiXQoUR2V0TWlkZGxld2FyZVJlcXVlc3QSEwoCaWQYASABKANCB7pIBCICIAASMAoEdHlwZRgCIAEoDjIYLm1hbnRyYWUudjEuUHJvdG9jb2xUeXBlQgi6SAWCAQIQASJDChVHZXRNaWRkbGV3YXJlUmVzcG9uc2USKgoKbWlkZGxld2FyZRgBIAEoCzIWLm1hbnRyYWUudjEuTWlkZGxld2FyZSLgAQoXQ3JlYXRlTWlkZGxld2FyZVJlcXVlc3QSGwoKcHJvZmlsZV9pZBgBIAEoA0IHukgEIgIgABIVCghhZ2VudF9pZBgCIAEoCUgAiAEBEhUKBG5hbWUYAyABKAlCB7pIBHICEAESMAoEdHlwZRgEIAEoDjIYLm1hbnRyYWUudjEuUHJvdG9jb2xUeXBlQgi6SAWCAQIQARISCgppc19kZWZhdWx0GAUgASgIEicKBmNvbmZpZxgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RCCwoJX2FnZW50X2lkIkYKGENyZWF0ZU1pZGRsZXdhcmVSZXNwb25zZRIqCgptaWRkbGV3YXJlGAEgASgLMhYubWFudHJhZS52MS5NaWRkbGV3YXJlIsUBChdVcGRhdGVNaWRkbGV3YXJlUmVxdWVzdBITCgJpZBgBIAEoA0IHukgEIgIgABIVCgRuYW1lGAIgASgJQge6SARyAhABEjAKBHR5cGUYAyABKA4yGC5tYW50cmFlLnYxLlByb3RvY29sVHlwZUIIukgFggECEAESJwoGY29uZmlnGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIPCgdlbmFibGVkGAUgASgIEhIKCmlzX2RlZmF1bHQYBiABKAgiRgoYVXBkYXRlTWlkZGxld2FyZVJlc3BvbnNlEioKCm1pZGRsZXdhcmUYASABKAsyFi5tYW50cmFlLnYxLk1pZGRsZXdhcmUiYAoXRGVsZXRlTWlkZGxld2FyZVJlcXVlc3QSEwoCaWQYAiABKANCB7pIBCICIAASMAoEdHlwZRgDIAEoDjIYLm1hbnRyYWUudjEuUHJvdG9jb2xUeXBlQgi6SAWCAQIQASIaChhEZWxldGVNaWRkbGV3YXJlUmVzcG9uc2UitwIKFkxpc3RNaWRkbGV3YXJlc1JlcXVlc3QSGwoKcHJvZmlsZV9pZBgBIAEoA0IHukgEIgIgABIeCghhZ2VudF9pZBgCIAEoCUIHukgEcgIQAUgAiAEBEisKBHR5cGUYAyABKA4yGC5tYW50cmFlLnYxLlByb3RvY29sVHlwZUgBiAEBEmoKBWxpbWl0GAQgASgDQla6SFO6AVAKC2xpbWl0LnZhbGlkEilsaW1pdCBtdXN0IGJlIGVpdGhlciAtMSBvciBncmVhdGVyIHRoYW4gMBoWdGhpcyA9PSAtMSB8fCB0aGlzID4gMEgCiAEBEhwKBm9mZnNldBgFIAEoA0IHukgEIgIoAEgDiAEBQgsKCV9hZ2VudF9pZEIHCgVfdHlwZUIICgZfbGltaXRCCQoHX29mZnNldCJbChdMaXN0TWlkZGxld2FyZXNSZXNwb25zZRIrCgttaWRkbGV3YXJlcxgBIAMoCzIWLm1hbnRyYWUudjEuTWlkZGxld2FyZRITCgt0b3RhbF9jb3VudBgCIAEoAyIdChtHZXRNaWRkbGV3YXJlUGx1Z2luc1JlcXVlc3QiQwocR2V0TWlkZGxld2FyZVBsdWdpbnNSZXNwb25zZRIjCgdwbHVnaW5zGAEgAygLMhIubWFudHJhZS52MS5QbHVnaW4y3AQKEU1pZGRsZXdhcmVTZXJ2aWNlElkKDUdldE1pZGRsZXdhcmUSIC5tYW50cmFlLnYxLkdldE1pZGRsZXdhcmVSZXF1ZXN0GiEubWFudHJhZS52MS5HZXRNaWRkbGV3YXJlUmVzcG9uc2UiA5ACARJdChBDcmVhdGVNaWRkbGV3YXJlEiMubWFudHJhZS52MS5DcmVhdGVNaWRkbGV3YXJlUmVxdWVzdBokLm1hbnRyYWUudjEuQ3JlYXRlTWlkZGxld2FyZVJlc3BvbnNlEl0KEFVwZGF0ZU1pZGRsZXdhcmUSIy5tYW50cmFlLnYxLlVwZGF0ZU1pZGRsZXdhcmVSZXF1ZXN0GiQubWFudHJhZS52MS5VcGRhdGVNaWRkbGV3YXJlUmVzcG9uc2USXQoQRGVsZXRlTWlkZGxld2FyZRIjLm1hbnRyYWUudjEuRGVsZXRlTWlkZGxld2FyZVJlcXVlc3QaJC5tYW50cmFlLnYxLkRlbGV0ZU1pZGRsZXdhcmVSZXNwb25zZRJfCg9MaXN0TWlkZGxld2FyZXMSIi5tYW50cmFlLnYxLkxpc3RNaWRkbGV3YXJlc1JlcXVlc3QaIy5tYW50cmFlLnYxLkxpc3RNaWRkbGV3YXJlc1Jlc3BvbnNlIgOQAgESbgoUR2V0TWlkZGxld2FyZVBsdWdpbnMSJy5tYW50cmFlLnYxLkdldE1pZGRsZXdhcmVQbHVnaW5zUmVxdWVzdBooLm1hbnRyYWUudjEuR2V0TWlkZGxld2FyZVBsdWdpbnNSZXNwb25zZSIDkAIBQqkBCg5jb20ubWFudHJhZS52MUIPTWlkZGxld2FyZVByb3RvUAFaPWdpdGh1Yi5jb20vbWl6dWNoaWxhYnMvbWFudHJhZS9wcm90by9nZW4vbWFudHJhZS92MTttYW50cmFldjGiAgNNWFiqAgpNYW50cmFlLlYxygIKTWFudHJhZVxWMeICFk1hbnRyYWVcVjFcR1BCTWV0YWRhdGHqAgtNYW50cmFlOjpWMWIGcHJvdG8z", [file_buf_validate_validate, file_google_protobuf_struct, file_google_protobuf_timestamp, file_mantrae_v1_protocol]);
export const file_mantrae_v1_middleware: GenFile =
/*@__PURE__*/
fileDesc(
'ChttYW50cmFlL3YxL21pZGRsZXdhcmUucHJvdG8SCm1hbnRyYWUudjEiogIKCk1pZGRsZXdhcmUSCgoCaWQYASABKAMSEgoKcHJvZmlsZV9pZBgCIAEoAxIQCghhZ2VudF9pZBgDIAEoCRIMCgRuYW1lGAQgASgJEicKBmNvbmZpZxgFIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSDwoHZW5hYmxlZBgGIAEoCBISCgppc19kZWZhdWx0GAcgASgIEiYKBHR5cGUYCCABKA4yGC5tYW50cmFlLnYxLlByb3RvY29sVHlwZRIuCgpjcmVhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAogASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKmAgoGUGx1Z2luEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSFAoMZGlzcGxheV9uYW1lGAMgASgJEg4KBmF1dGhvchgEIAEoCRIMCgR0eXBlGAUgASgJEg4KBmltcG9ydBgGIAEoCRIPCgdzdW1tYXJ5GAcgASgJEhAKCGljb25fdXJsGAggASgJEhIKCmJhbm5lcl91cmwYCSABKAkSDgoGcmVhZG1lGAogASgJEhYKDmxhdGVzdF92ZXJzaW9uGAsgASgJEhAKCHZlcnNpb25zGAwgAygJEg0KBXN0YXJzGA0gASgDEioKB3NuaXBwZXQYDiABKAsyGS5tYW50cmFlLnYxLlBsdWdpblNuaXBwZXQSEgoKY3JlYXRlZF9hdBgPIAEoCSI4Cg1QbHVnaW5TbmlwcGV0EgsKA2s4cxgBIAEoCRIMCgR5YW1sGAIgASgJEgwKBHRvbWwYAyABKAkiXQoUR2V0TWlkZGxld2FyZVJlcXVlc3QSEwoCaWQYASABKANCB7pIBCICIAASMAoEdHlwZRgCIAEoDjIYLm1hbnRyYWUudjEuUHJvdG9jb2xUeXBlQgi6SAWCAQIQASJDChVHZXRNaWRkbGV3YXJlUmVzcG9uc2USKgoKbWlkZGxld2FyZRgBIAEoCzIWLm1hbnRyYWUudjEuTWlkZGxld2FyZSLgAQoXQ3JlYXRlTWlkZGxld2FyZVJlcXVlc3QSGwoKcHJvZmlsZV9pZBgBIAEoA0IHukgEIgIgABIVCghhZ2VudF9pZBgCIAEoCUgAiAEBEhUKBG5hbWUYAyABKAlCB7pIBHICEAESMAoEdHlwZRgEIAEoDjIYLm1hbnRyYWUudjEuUHJvdG9jb2xUeXBlQgi6SAWCAQIQARISCgppc19kZWZhdWx0GAUgASgIEicKBmNvbmZpZxgGIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3RCCwoJX2FnZW50X2lkIkYKGENyZWF0ZU1pZGRsZXdhcmVSZXNwb25zZRIqCgptaWRkbGV3YXJlGAEgASgLMhYubWFudHJhZS52MS5NaWRkbGV3YXJlIsUBChdVcGRhdGVNaWRkbGV3YXJlUmVxdWVzdBITCgJpZBgBIAEoA0IHukgEIgIgABIVCgRuYW1lGAIgASgJQge6SARyAhABEjAKBHR5cGUYAyABKA4yGC5tYW50cmFlLnYxLlByb3RvY29sVHlwZUIIukgFggECEAESJwoGY29uZmlnGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIPCgdlbmFibGVkGAUgASgIEhIKCmlzX2RlZmF1bHQYBiABKAgiRgoYVXBkYXRlTWlkZGxld2FyZVJlc3BvbnNlEioKCm1pZGRsZXdhcmUYASABKAsyFi5tYW50cmFlLnYxLk1pZGRsZXdhcmUiYAoXRGVsZXRlTWlkZGxld2FyZVJlcXVlc3QSEwoCaWQYAiABKANCB7pIBCICIAASMAoEdHlwZRgDIAEoDjIYLm1hbnRyYWUudjEuUHJvdG9jb2xUeXBlQgi6SAWCAQIQASIaChhEZWxldGVNaWRkbGV3YXJlUmVzcG9uc2UitwIKFkxpc3RNaWRkbGV3YXJlc1JlcXVlc3QSGwoKcHJvZmlsZV9pZBgBIAEoA0IHukgEIgIgABIeCghhZ2VudF9pZBgCIAEoCUIHukgEcgIQAUgAiAEBEisKBHR5cGUYAyABKA4yGC5tYW50cmFlLnYxLlByb3RvY29sVHlwZUgBiAEBEmoKBWxpbWl0GAQgASgDQla6SFO6AVAKC2xpbWl0LnZhbGlkEilsaW1pdCBtdXN0IGJlIGVpdGhlciAtMSBvciBncmVhdGVyIHRoYW4gMBoWdGhpcyA9PSAtMSB8fCB0aGlzID4gMEgCiAEBEhwKBm9mZnNldBgFIAEoA0IHukgEIgIoAEgDiAEBQgsKCV9hZ2VudF9pZEIHCgVfdHlwZUIICgZfbGltaXRCCQoHX29mZnNldCJbChdMaXN0TWlkZGxld2FyZXNSZXNwb25zZRIrCgttaWRkbGV3YXJlcxgBIAMoCzIWLm1hbnRyYWUudjEuTWlkZGxld2FyZRITCgt0b3RhbF9jb3VudBgCIAEoAyIdChtHZXRNaWRkbGV3YXJlUGx1Z2luc1JlcXVlc3QiQwocR2V0TWlkZGxld2FyZVBsdWdpbnNSZXNwb25zZRIjCgdwbHVnaW5zGAEgAygLMhIubWFudHJhZS52MS5QbHVnaW4y3AQKEU1pZGRsZXdhcmVTZXJ2aWNlElkKDUdldE1pZGRsZXdhcmUSIC5tYW50cmFlLnYxLkdldE1pZGRsZXdhcmVSZXF1ZXN0GiEubWFudHJhZS52MS5HZXRNaWRkbGV3YXJlUmVzcG9uc2UiA5ACARJdChBDcmVhdGVNaWRkbGV3YXJlEiMubWFudHJhZS52MS5DcmVhdGVNaWRkbGV3YXJlUmVxdWVzdBokLm1hbnRyYWUudjEuQ3JlYXRlTWlkZGxld2FyZVJlc3BvbnNlEl0KEFVwZGF0ZU1pZGRsZXdhcmUSIy5tYW50cmFlLnYxLlVwZGF0ZU1pZGRsZXdhcmVSZXF1ZXN0GiQubWFudHJhZS52MS5VcGRhdGVNaWRkbGV3YXJlUmVzcG9uc2USXQoQRGVsZXRlTWlkZGxld2FyZRIjLm1hbnRyYWUudjEuRGVsZXRlTWlkZGxld2FyZVJlcXVlc3QaJC5tYW50cmFlLnYxLkRlbGV0ZU1pZGRsZXdhcmVSZXNwb25zZRJfCg9MaXN0TWlkZGxld2FyZXMSIi5tYW50cmFlLnYxLkxpc3RNaWRkbGV3YXJlc1JlcXVlc3QaIy5tYW50cmFlLnYxLkxpc3RNaWRkbGV3YXJlc1Jlc3BvbnNlIgOQAgESbgoUR2V0TWlkZGxld2FyZVBsdWdpbnMSJy5tYW50cmFlLnYxLkdldE1pZGRsZXdhcmVQbHVnaW5zUmVxdWVzdBooLm1hbnRyYWUudjEuR2V0TWlkZGxld2FyZVBsdWdpbnNSZXNwb25zZSIDkAIBQqkBCg5jb20ubWFudHJhZS52MUIPTWlkZGxld2FyZVByb3RvUAFaPWdpdGh1Yi5jb20vbWl6dWNoaWxhYnMvbWFudHJhZS9wcm90by9nZW4vbWFudHJhZS92MTttYW50cmFldjGiAgNNWFiqAgpNYW50cmFlLlYxygIKTWFudHJhZVxWMeICFk1hbnRyYWVcVjFcR1BCTWV0YWRhdGHqAgtNYW50cmFlOjpWMWIGcHJvdG8z',
[
file_buf_validate_validate,
file_google_protobuf_struct,
file_google_protobuf_timestamp,
file_mantrae_v1_protocol
]
);
/**
* @generated from message mantrae.v1.Middleware
*/
export type Middleware = Message<"mantrae.v1.Middleware"> & {
export type Middleware = Message<'mantrae.v1.Middleware'> & {
/**
* @generated from field: int64 id = 1;
*/
@@ -76,13 +88,14 @@ export type Middleware = Message<"mantrae.v1.Middleware"> & {
* Describes the message mantrae.v1.Middleware.
* Use `create(MiddlewareSchema)` to create a new message.
*/
export const MiddlewareSchema: GenMessage<Middleware> = /*@__PURE__*/
export const MiddlewareSchema: GenMessage<Middleware> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_middleware, 0);
/**
* @generated from message mantrae.v1.Plugin
*/
export type Plugin = Message<"mantrae.v1.Plugin"> & {
export type Plugin = Message<'mantrae.v1.Plugin'> & {
/**
* @generated from field: string id = 1;
*/
@@ -163,13 +176,14 @@ export type Plugin = Message<"mantrae.v1.Plugin"> & {
* Describes the message mantrae.v1.Plugin.
* Use `create(PluginSchema)` to create a new message.
*/
export const PluginSchema: GenMessage<Plugin> = /*@__PURE__*/
export const PluginSchema: GenMessage<Plugin> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_middleware, 1);
/**
* @generated from message mantrae.v1.PluginSnippet
*/
export type PluginSnippet = Message<"mantrae.v1.PluginSnippet"> & {
export type PluginSnippet = Message<'mantrae.v1.PluginSnippet'> & {
/**
* @generated from field: string k8s = 1;
*/
@@ -190,13 +204,14 @@ export type PluginSnippet = Message<"mantrae.v1.PluginSnippet"> & {
* Describes the message mantrae.v1.PluginSnippet.
* Use `create(PluginSnippetSchema)` to create a new message.
*/
export const PluginSnippetSchema: GenMessage<PluginSnippet> = /*@__PURE__*/
export const PluginSnippetSchema: GenMessage<PluginSnippet> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_middleware, 2);
/**
* @generated from message mantrae.v1.GetMiddlewareRequest
*/
export type GetMiddlewareRequest = Message<"mantrae.v1.GetMiddlewareRequest"> & {
export type GetMiddlewareRequest = Message<'mantrae.v1.GetMiddlewareRequest'> & {
/**
* @generated from field: int64 id = 1;
*/
@@ -212,13 +227,14 @@ export type GetMiddlewareRequest = Message<"mantrae.v1.GetMiddlewareRequest"> &
* Describes the message mantrae.v1.GetMiddlewareRequest.
* Use `create(GetMiddlewareRequestSchema)` to create a new message.
*/
export const GetMiddlewareRequestSchema: GenMessage<GetMiddlewareRequest> = /*@__PURE__*/
export const GetMiddlewareRequestSchema: GenMessage<GetMiddlewareRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_middleware, 3);
/**
* @generated from message mantrae.v1.GetMiddlewareResponse
*/
export type GetMiddlewareResponse = Message<"mantrae.v1.GetMiddlewareResponse"> & {
export type GetMiddlewareResponse = Message<'mantrae.v1.GetMiddlewareResponse'> & {
/**
* @generated from field: mantrae.v1.Middleware middleware = 1;
*/
@@ -229,13 +245,14 @@ export type GetMiddlewareResponse = Message<"mantrae.v1.GetMiddlewareResponse">
* Describes the message mantrae.v1.GetMiddlewareResponse.
* Use `create(GetMiddlewareResponseSchema)` to create a new message.
*/
export const GetMiddlewareResponseSchema: GenMessage<GetMiddlewareResponse> = /*@__PURE__*/
export const GetMiddlewareResponseSchema: GenMessage<GetMiddlewareResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_middleware, 4);
/**
* @generated from message mantrae.v1.CreateMiddlewareRequest
*/
export type CreateMiddlewareRequest = Message<"mantrae.v1.CreateMiddlewareRequest"> & {
export type CreateMiddlewareRequest = Message<'mantrae.v1.CreateMiddlewareRequest'> & {
/**
* @generated from field: int64 profile_id = 1;
*/
@@ -271,13 +288,14 @@ export type CreateMiddlewareRequest = Message<"mantrae.v1.CreateMiddlewareReques
* Describes the message mantrae.v1.CreateMiddlewareRequest.
* Use `create(CreateMiddlewareRequestSchema)` to create a new message.
*/
export const CreateMiddlewareRequestSchema: GenMessage<CreateMiddlewareRequest> = /*@__PURE__*/
export const CreateMiddlewareRequestSchema: GenMessage<CreateMiddlewareRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_middleware, 5);
/**
* @generated from message mantrae.v1.CreateMiddlewareResponse
*/
export type CreateMiddlewareResponse = Message<"mantrae.v1.CreateMiddlewareResponse"> & {
export type CreateMiddlewareResponse = Message<'mantrae.v1.CreateMiddlewareResponse'> & {
/**
* @generated from field: mantrae.v1.Middleware middleware = 1;
*/
@@ -288,13 +306,14 @@ export type CreateMiddlewareResponse = Message<"mantrae.v1.CreateMiddlewareRespo
* Describes the message mantrae.v1.CreateMiddlewareResponse.
* Use `create(CreateMiddlewareResponseSchema)` to create a new message.
*/
export const CreateMiddlewareResponseSchema: GenMessage<CreateMiddlewareResponse> = /*@__PURE__*/
export const CreateMiddlewareResponseSchema: GenMessage<CreateMiddlewareResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_middleware, 6);
/**
* @generated from message mantrae.v1.UpdateMiddlewareRequest
*/
export type UpdateMiddlewareRequest = Message<"mantrae.v1.UpdateMiddlewareRequest"> & {
export type UpdateMiddlewareRequest = Message<'mantrae.v1.UpdateMiddlewareRequest'> & {
/**
* @generated from field: int64 id = 1;
*/
@@ -330,13 +349,14 @@ export type UpdateMiddlewareRequest = Message<"mantrae.v1.UpdateMiddlewareReques
* Describes the message mantrae.v1.UpdateMiddlewareRequest.
* Use `create(UpdateMiddlewareRequestSchema)` to create a new message.
*/
export const UpdateMiddlewareRequestSchema: GenMessage<UpdateMiddlewareRequest> = /*@__PURE__*/
export const UpdateMiddlewareRequestSchema: GenMessage<UpdateMiddlewareRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_middleware, 7);
/**
* @generated from message mantrae.v1.UpdateMiddlewareResponse
*/
export type UpdateMiddlewareResponse = Message<"mantrae.v1.UpdateMiddlewareResponse"> & {
export type UpdateMiddlewareResponse = Message<'mantrae.v1.UpdateMiddlewareResponse'> & {
/**
* @generated from field: mantrae.v1.Middleware middleware = 1;
*/
@@ -347,13 +367,14 @@ export type UpdateMiddlewareResponse = Message<"mantrae.v1.UpdateMiddlewareRespo
* Describes the message mantrae.v1.UpdateMiddlewareResponse.
* Use `create(UpdateMiddlewareResponseSchema)` to create a new message.
*/
export const UpdateMiddlewareResponseSchema: GenMessage<UpdateMiddlewareResponse> = /*@__PURE__*/
export const UpdateMiddlewareResponseSchema: GenMessage<UpdateMiddlewareResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_middleware, 8);
/**
* @generated from message mantrae.v1.DeleteMiddlewareRequest
*/
export type DeleteMiddlewareRequest = Message<"mantrae.v1.DeleteMiddlewareRequest"> & {
export type DeleteMiddlewareRequest = Message<'mantrae.v1.DeleteMiddlewareRequest'> & {
/**
* @generated from field: int64 id = 2;
*/
@@ -369,26 +390,27 @@ export type DeleteMiddlewareRequest = Message<"mantrae.v1.DeleteMiddlewareReques
* Describes the message mantrae.v1.DeleteMiddlewareRequest.
* Use `create(DeleteMiddlewareRequestSchema)` to create a new message.
*/
export const DeleteMiddlewareRequestSchema: GenMessage<DeleteMiddlewareRequest> = /*@__PURE__*/
export const DeleteMiddlewareRequestSchema: GenMessage<DeleteMiddlewareRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_middleware, 9);
/**
* @generated from message mantrae.v1.DeleteMiddlewareResponse
*/
export type DeleteMiddlewareResponse = Message<"mantrae.v1.DeleteMiddlewareResponse"> & {
};
export type DeleteMiddlewareResponse = Message<'mantrae.v1.DeleteMiddlewareResponse'> & {};
/**
* Describes the message mantrae.v1.DeleteMiddlewareResponse.
* Use `create(DeleteMiddlewareResponseSchema)` to create a new message.
*/
export const DeleteMiddlewareResponseSchema: GenMessage<DeleteMiddlewareResponse> = /*@__PURE__*/
export const DeleteMiddlewareResponseSchema: GenMessage<DeleteMiddlewareResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_middleware, 10);
/**
* @generated from message mantrae.v1.ListMiddlewaresRequest
*/
export type ListMiddlewaresRequest = Message<"mantrae.v1.ListMiddlewaresRequest"> & {
export type ListMiddlewaresRequest = Message<'mantrae.v1.ListMiddlewaresRequest'> & {
/**
* @generated from field: int64 profile_id = 1;
*/
@@ -419,13 +441,14 @@ export type ListMiddlewaresRequest = Message<"mantrae.v1.ListMiddlewaresRequest"
* Describes the message mantrae.v1.ListMiddlewaresRequest.
* Use `create(ListMiddlewaresRequestSchema)` to create a new message.
*/
export const ListMiddlewaresRequestSchema: GenMessage<ListMiddlewaresRequest> = /*@__PURE__*/
export const ListMiddlewaresRequestSchema: GenMessage<ListMiddlewaresRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_middleware, 11);
/**
* @generated from message mantrae.v1.ListMiddlewaresResponse
*/
export type ListMiddlewaresResponse = Message<"mantrae.v1.ListMiddlewaresResponse"> & {
export type ListMiddlewaresResponse = Message<'mantrae.v1.ListMiddlewaresResponse'> & {
/**
* @generated from field: repeated mantrae.v1.Middleware middlewares = 1;
*/
@@ -441,26 +464,27 @@ export type ListMiddlewaresResponse = Message<"mantrae.v1.ListMiddlewaresRespons
* Describes the message mantrae.v1.ListMiddlewaresResponse.
* Use `create(ListMiddlewaresResponseSchema)` to create a new message.
*/
export const ListMiddlewaresResponseSchema: GenMessage<ListMiddlewaresResponse> = /*@__PURE__*/
export const ListMiddlewaresResponseSchema: GenMessage<ListMiddlewaresResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_middleware, 12);
/**
* @generated from message mantrae.v1.GetMiddlewarePluginsRequest
*/
export type GetMiddlewarePluginsRequest = Message<"mantrae.v1.GetMiddlewarePluginsRequest"> & {
};
export type GetMiddlewarePluginsRequest = Message<'mantrae.v1.GetMiddlewarePluginsRequest'> & {};
/**
* Describes the message mantrae.v1.GetMiddlewarePluginsRequest.
* Use `create(GetMiddlewarePluginsRequestSchema)` to create a new message.
*/
export const GetMiddlewarePluginsRequestSchema: GenMessage<GetMiddlewarePluginsRequest> = /*@__PURE__*/
export const GetMiddlewarePluginsRequestSchema: GenMessage<GetMiddlewarePluginsRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_middleware, 13);
/**
* @generated from message mantrae.v1.GetMiddlewarePluginsResponse
*/
export type GetMiddlewarePluginsResponse = Message<"mantrae.v1.GetMiddlewarePluginsResponse"> & {
export type GetMiddlewarePluginsResponse = Message<'mantrae.v1.GetMiddlewarePluginsResponse'> & {
/**
* @generated from field: repeated mantrae.v1.Plugin plugins = 1;
*/
@@ -471,7 +495,8 @@ export type GetMiddlewarePluginsResponse = Message<"mantrae.v1.GetMiddlewarePlug
* Describes the message mantrae.v1.GetMiddlewarePluginsResponse.
* Use `create(GetMiddlewarePluginsResponseSchema)` to create a new message.
*/
export const GetMiddlewarePluginsResponseSchema: GenMessage<GetMiddlewarePluginsResponse> = /*@__PURE__*/
export const GetMiddlewarePluginsResponseSchema: GenMessage<GetMiddlewarePluginsResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_middleware, 14);
/**
@@ -482,50 +507,48 @@ export const MiddlewareService: GenService<{
* @generated from rpc mantrae.v1.MiddlewareService.GetMiddleware
*/
getMiddleware: {
methodKind: "unary";
methodKind: 'unary';
input: typeof GetMiddlewareRequestSchema;
output: typeof GetMiddlewareResponseSchema;
},
};
/**
* @generated from rpc mantrae.v1.MiddlewareService.CreateMiddleware
*/
createMiddleware: {
methodKind: "unary";
methodKind: 'unary';
input: typeof CreateMiddlewareRequestSchema;
output: typeof CreateMiddlewareResponseSchema;
},
};
/**
* @generated from rpc mantrae.v1.MiddlewareService.UpdateMiddleware
*/
updateMiddleware: {
methodKind: "unary";
methodKind: 'unary';
input: typeof UpdateMiddlewareRequestSchema;
output: typeof UpdateMiddlewareResponseSchema;
},
};
/**
* @generated from rpc mantrae.v1.MiddlewareService.DeleteMiddleware
*/
deleteMiddleware: {
methodKind: "unary";
methodKind: 'unary';
input: typeof DeleteMiddlewareRequestSchema;
output: typeof DeleteMiddlewareResponseSchema;
},
};
/**
* @generated from rpc mantrae.v1.MiddlewareService.ListMiddlewares
*/
listMiddlewares: {
methodKind: "unary";
methodKind: 'unary';
input: typeof ListMiddlewaresRequestSchema;
output: typeof ListMiddlewaresResponseSchema;
},
};
/**
* @generated from rpc mantrae.v1.MiddlewareService.GetMiddlewarePlugins
*/
getMiddlewarePlugins: {
methodKind: "unary";
methodKind: 'unary';
input: typeof GetMiddlewarePluginsRequestSchema;
output: typeof GetMiddlewarePluginsResponseSchema;
},
}> = /*@__PURE__*/
serviceDesc(file_mantrae_v1_middleware, 0);
};
}> = /*@__PURE__*/ serviceDesc(file_mantrae_v1_middleware, 0);

View File

@@ -2,23 +2,27 @@
// @generated from file mantrae/v1/profile.proto (package mantrae.v1, syntax proto3)
/* eslint-disable */
import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
import { file_buf_validate_validate } from "../../buf/validate/validate_pb";
import type { Timestamp } from "@bufbuild/protobuf/wkt";
import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
import type { Message } from "@bufbuild/protobuf";
import type { GenFile, GenMessage, GenService } from '@bufbuild/protobuf/codegenv2';
import { fileDesc, messageDesc, serviceDesc } from '@bufbuild/protobuf/codegenv2';
import { file_buf_validate_validate } from '../../buf/validate/validate_pb';
import type { Timestamp } from '@bufbuild/protobuf/wkt';
import { file_google_protobuf_timestamp } from '@bufbuild/protobuf/wkt';
import type { Message } from '@bufbuild/protobuf';
/**
* Describes the file mantrae/v1/profile.proto.
*/
export const file_mantrae_v1_profile: GenFile = /*@__PURE__*/
fileDesc("ChhtYW50cmFlL3YxL3Byb2ZpbGUucHJvdG8SCm1hbnRyYWUudjEipwEKB1Byb2ZpbGUSCgoCaWQYASABKAMSDAoEbmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRINCgV0b2tlbhgEIAEoCRIuCgpjcmVhdGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCIoChFHZXRQcm9maWxlUmVxdWVzdBITCgJpZBgBIAEoA0IHukgEIgIgACI6ChJHZXRQcm9maWxlUmVzcG9uc2USJAoHcHJvZmlsZRgBIAEoCzITLm1hbnRyYWUudjEuUHJvZmlsZSJXChRDcmVhdGVQcm9maWxlUmVxdWVzdBIVCgRuYW1lGAEgASgJQge6SARyAhABEhgKC2Rlc2NyaXB0aW9uGAIgASgJSACIAQFCDgoMX2Rlc2NyaXB0aW9uIj0KFUNyZWF0ZVByb2ZpbGVSZXNwb25zZRIkCgdwcm9maWxlGAEgASgLMhMubWFudHJhZS52MS5Qcm9maWxlIqABChRVcGRhdGVQcm9maWxlUmVxdWVzdBITCgJpZBgBIAEoA0IHukgEIgIgABIVCgRuYW1lGAIgASgJQge6SARyAhABEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESHQoQcmVnZW5lcmF0ZV90b2tlbhgEIAEoCEgBiAEBQg4KDF9kZXNjcmlwdGlvbkITChFfcmVnZW5lcmF0ZV90b2tlbiI9ChVVcGRhdGVQcm9maWxlUmVzcG9uc2USJAoHcHJvZmlsZRgBIAEoCzITLm1hbnRyYWUudjEuUHJvZmlsZSIrChREZWxldGVQcm9maWxlUmVxdWVzdBITCgJpZBgBIAEoA0IHukgEIgIgACIXChVEZWxldGVQcm9maWxlUmVzcG9uc2UitAEKE0xpc3RQcm9maWxlc1JlcXVlc3QSagoFbGltaXQYASABKANCVrpIU7oBUAoLbGltaXQudmFsaWQSKWxpbWl0IG11c3QgYmUgZWl0aGVyIC0xIG9yIGdyZWF0ZXIgdGhhbiAwGhZ0aGlzID09IC0xIHx8IHRoaXMgPiAwSACIAQESHAoGb2Zmc2V0GAIgASgDQge6SAQiAigASAGIAQFCCAoGX2xpbWl0QgkKB19vZmZzZXQiUgoUTGlzdFByb2ZpbGVzUmVzcG9uc2USJQoIcHJvZmlsZXMYASADKAsyEy5tYW50cmFlLnYxLlByb2ZpbGUSEwoLdG90YWxfY291bnQYAiABKAMyvAMKDlByb2ZpbGVTZXJ2aWNlElAKCkdldFByb2ZpbGUSHS5tYW50cmFlLnYxLkdldFByb2ZpbGVSZXF1ZXN0Gh4ubWFudHJhZS52MS5HZXRQcm9maWxlUmVzcG9uc2UiA5ACARJUCg1DcmVhdGVQcm9maWxlEiAubWFudHJhZS52MS5DcmVhdGVQcm9maWxlUmVxdWVzdBohLm1hbnRyYWUudjEuQ3JlYXRlUHJvZmlsZVJlc3BvbnNlElQKDVVwZGF0ZVByb2ZpbGUSIC5tYW50cmFlLnYxLlVwZGF0ZVByb2ZpbGVSZXF1ZXN0GiEubWFudHJhZS52MS5VcGRhdGVQcm9maWxlUmVzcG9uc2USVAoNRGVsZXRlUHJvZmlsZRIgLm1hbnRyYWUudjEuRGVsZXRlUHJvZmlsZVJlcXVlc3QaIS5tYW50cmFlLnYxLkRlbGV0ZVByb2ZpbGVSZXNwb25zZRJWCgxMaXN0UHJvZmlsZXMSHy5tYW50cmFlLnYxLkxpc3RQcm9maWxlc1JlcXVlc3QaIC5tYW50cmFlLnYxLkxpc3RQcm9maWxlc1Jlc3BvbnNlIgOQAgFCpgEKDmNvbS5tYW50cmFlLnYxQgxQcm9maWxlUHJvdG9QAVo9Z2l0aHViLmNvbS9taXp1Y2hpbGFicy9tYW50cmFlL3Byb3RvL2dlbi9tYW50cmFlL3YxO21hbnRyYWV2MaICA01YWKoCCk1hbnRyYWUuVjHKAgpNYW50cmFlXFYx4gIWTWFudHJhZVxWMVxHUEJNZXRhZGF0YeoCC01hbnRyYWU6OlYxYgZwcm90bzM", [file_buf_validate_validate, file_google_protobuf_timestamp]);
export const file_mantrae_v1_profile: GenFile =
/*@__PURE__*/
fileDesc(
'ChhtYW50cmFlL3YxL3Byb2ZpbGUucHJvdG8SCm1hbnRyYWUudjEipwEKB1Byb2ZpbGUSCgoCaWQYASABKAMSDAoEbmFtZRgCIAEoCRITCgtkZXNjcmlwdGlvbhgDIAEoCRINCgV0b2tlbhgEIAEoCRIuCgpjcmVhdGVkX2F0GAUgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAYgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCIoChFHZXRQcm9maWxlUmVxdWVzdBITCgJpZBgBIAEoA0IHukgEIgIgACI6ChJHZXRQcm9maWxlUmVzcG9uc2USJAoHcHJvZmlsZRgBIAEoCzITLm1hbnRyYWUudjEuUHJvZmlsZSJXChRDcmVhdGVQcm9maWxlUmVxdWVzdBIVCgRuYW1lGAEgASgJQge6SARyAhABEhgKC2Rlc2NyaXB0aW9uGAIgASgJSACIAQFCDgoMX2Rlc2NyaXB0aW9uIj0KFUNyZWF0ZVByb2ZpbGVSZXNwb25zZRIkCgdwcm9maWxlGAEgASgLMhMubWFudHJhZS52MS5Qcm9maWxlIqABChRVcGRhdGVQcm9maWxlUmVxdWVzdBITCgJpZBgBIAEoA0IHukgEIgIgABIVCgRuYW1lGAIgASgJQge6SARyAhABEhgKC2Rlc2NyaXB0aW9uGAMgASgJSACIAQESHQoQcmVnZW5lcmF0ZV90b2tlbhgEIAEoCEgBiAEBQg4KDF9kZXNjcmlwdGlvbkITChFfcmVnZW5lcmF0ZV90b2tlbiI9ChVVcGRhdGVQcm9maWxlUmVzcG9uc2USJAoHcHJvZmlsZRgBIAEoCzITLm1hbnRyYWUudjEuUHJvZmlsZSIrChREZWxldGVQcm9maWxlUmVxdWVzdBITCgJpZBgBIAEoA0IHukgEIgIgACIXChVEZWxldGVQcm9maWxlUmVzcG9uc2UitAEKE0xpc3RQcm9maWxlc1JlcXVlc3QSagoFbGltaXQYASABKANCVrpIU7oBUAoLbGltaXQudmFsaWQSKWxpbWl0IG11c3QgYmUgZWl0aGVyIC0xIG9yIGdyZWF0ZXIgdGhhbiAwGhZ0aGlzID09IC0xIHx8IHRoaXMgPiAwSACIAQESHAoGb2Zmc2V0GAIgASgDQge6SAQiAigASAGIAQFCCAoGX2xpbWl0QgkKB19vZmZzZXQiUgoUTGlzdFByb2ZpbGVzUmVzcG9uc2USJQoIcHJvZmlsZXMYASADKAsyEy5tYW50cmFlLnYxLlByb2ZpbGUSEwoLdG90YWxfY291bnQYAiABKAMyvAMKDlByb2ZpbGVTZXJ2aWNlElAKCkdldFByb2ZpbGUSHS5tYW50cmFlLnYxLkdldFByb2ZpbGVSZXF1ZXN0Gh4ubWFudHJhZS52MS5HZXRQcm9maWxlUmVzcG9uc2UiA5ACARJUCg1DcmVhdGVQcm9maWxlEiAubWFudHJhZS52MS5DcmVhdGVQcm9maWxlUmVxdWVzdBohLm1hbnRyYWUudjEuQ3JlYXRlUHJvZmlsZVJlc3BvbnNlElQKDVVwZGF0ZVByb2ZpbGUSIC5tYW50cmFlLnYxLlVwZGF0ZVByb2ZpbGVSZXF1ZXN0GiEubWFudHJhZS52MS5VcGRhdGVQcm9maWxlUmVzcG9uc2USVAoNRGVsZXRlUHJvZmlsZRIgLm1hbnRyYWUudjEuRGVsZXRlUHJvZmlsZVJlcXVlc3QaIS5tYW50cmFlLnYxLkRlbGV0ZVByb2ZpbGVSZXNwb25zZRJWCgxMaXN0UHJvZmlsZXMSHy5tYW50cmFlLnYxLkxpc3RQcm9maWxlc1JlcXVlc3QaIC5tYW50cmFlLnYxLkxpc3RQcm9maWxlc1Jlc3BvbnNlIgOQAgFCpgEKDmNvbS5tYW50cmFlLnYxQgxQcm9maWxlUHJvdG9QAVo9Z2l0aHViLmNvbS9taXp1Y2hpbGFicy9tYW50cmFlL3Byb3RvL2dlbi9tYW50cmFlL3YxO21hbnRyYWV2MaICA01YWKoCCk1hbnRyYWUuVjHKAgpNYW50cmFlXFYx4gIWTWFudHJhZVxWMVxHUEJNZXRhZGF0YeoCC01hbnRyYWU6OlYxYgZwcm90bzM',
[file_buf_validate_validate, file_google_protobuf_timestamp]
);
/**
* @generated from message mantrae.v1.Profile
*/
export type Profile = Message<"mantrae.v1.Profile"> & {
export type Profile = Message<'mantrae.v1.Profile'> & {
/**
* @generated from field: int64 id = 1;
*/
@@ -54,13 +58,14 @@ export type Profile = Message<"mantrae.v1.Profile"> & {
* Describes the message mantrae.v1.Profile.
* Use `create(ProfileSchema)` to create a new message.
*/
export const ProfileSchema: GenMessage<Profile> = /*@__PURE__*/
export const ProfileSchema: GenMessage<Profile> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_profile, 0);
/**
* @generated from message mantrae.v1.GetProfileRequest
*/
export type GetProfileRequest = Message<"mantrae.v1.GetProfileRequest"> & {
export type GetProfileRequest = Message<'mantrae.v1.GetProfileRequest'> & {
/**
* @generated from field: int64 id = 1;
*/
@@ -71,13 +76,14 @@ export type GetProfileRequest = Message<"mantrae.v1.GetProfileRequest"> & {
* Describes the message mantrae.v1.GetProfileRequest.
* Use `create(GetProfileRequestSchema)` to create a new message.
*/
export const GetProfileRequestSchema: GenMessage<GetProfileRequest> = /*@__PURE__*/
export const GetProfileRequestSchema: GenMessage<GetProfileRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_profile, 1);
/**
* @generated from message mantrae.v1.GetProfileResponse
*/
export type GetProfileResponse = Message<"mantrae.v1.GetProfileResponse"> & {
export type GetProfileResponse = Message<'mantrae.v1.GetProfileResponse'> & {
/**
* @generated from field: mantrae.v1.Profile profile = 1;
*/
@@ -88,13 +94,14 @@ export type GetProfileResponse = Message<"mantrae.v1.GetProfileResponse"> & {
* Describes the message mantrae.v1.GetProfileResponse.
* Use `create(GetProfileResponseSchema)` to create a new message.
*/
export const GetProfileResponseSchema: GenMessage<GetProfileResponse> = /*@__PURE__*/
export const GetProfileResponseSchema: GenMessage<GetProfileResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_profile, 2);
/**
* @generated from message mantrae.v1.CreateProfileRequest
*/
export type CreateProfileRequest = Message<"mantrae.v1.CreateProfileRequest"> & {
export type CreateProfileRequest = Message<'mantrae.v1.CreateProfileRequest'> & {
/**
* @generated from field: string name = 1;
*/
@@ -110,13 +117,14 @@ export type CreateProfileRequest = Message<"mantrae.v1.CreateProfileRequest"> &
* Describes the message mantrae.v1.CreateProfileRequest.
* Use `create(CreateProfileRequestSchema)` to create a new message.
*/
export const CreateProfileRequestSchema: GenMessage<CreateProfileRequest> = /*@__PURE__*/
export const CreateProfileRequestSchema: GenMessage<CreateProfileRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_profile, 3);
/**
* @generated from message mantrae.v1.CreateProfileResponse
*/
export type CreateProfileResponse = Message<"mantrae.v1.CreateProfileResponse"> & {
export type CreateProfileResponse = Message<'mantrae.v1.CreateProfileResponse'> & {
/**
* @generated from field: mantrae.v1.Profile profile = 1;
*/
@@ -127,13 +135,14 @@ export type CreateProfileResponse = Message<"mantrae.v1.CreateProfileResponse">
* Describes the message mantrae.v1.CreateProfileResponse.
* Use `create(CreateProfileResponseSchema)` to create a new message.
*/
export const CreateProfileResponseSchema: GenMessage<CreateProfileResponse> = /*@__PURE__*/
export const CreateProfileResponseSchema: GenMessage<CreateProfileResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_profile, 4);
/**
* @generated from message mantrae.v1.UpdateProfileRequest
*/
export type UpdateProfileRequest = Message<"mantrae.v1.UpdateProfileRequest"> & {
export type UpdateProfileRequest = Message<'mantrae.v1.UpdateProfileRequest'> & {
/**
* @generated from field: int64 id = 1;
*/
@@ -159,13 +168,14 @@ export type UpdateProfileRequest = Message<"mantrae.v1.UpdateProfileRequest"> &
* Describes the message mantrae.v1.UpdateProfileRequest.
* Use `create(UpdateProfileRequestSchema)` to create a new message.
*/
export const UpdateProfileRequestSchema: GenMessage<UpdateProfileRequest> = /*@__PURE__*/
export const UpdateProfileRequestSchema: GenMessage<UpdateProfileRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_profile, 5);
/**
* @generated from message mantrae.v1.UpdateProfileResponse
*/
export type UpdateProfileResponse = Message<"mantrae.v1.UpdateProfileResponse"> & {
export type UpdateProfileResponse = Message<'mantrae.v1.UpdateProfileResponse'> & {
/**
* @generated from field: mantrae.v1.Profile profile = 1;
*/
@@ -176,13 +186,14 @@ export type UpdateProfileResponse = Message<"mantrae.v1.UpdateProfileResponse">
* Describes the message mantrae.v1.UpdateProfileResponse.
* Use `create(UpdateProfileResponseSchema)` to create a new message.
*/
export const UpdateProfileResponseSchema: GenMessage<UpdateProfileResponse> = /*@__PURE__*/
export const UpdateProfileResponseSchema: GenMessage<UpdateProfileResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_profile, 6);
/**
* @generated from message mantrae.v1.DeleteProfileRequest
*/
export type DeleteProfileRequest = Message<"mantrae.v1.DeleteProfileRequest"> & {
export type DeleteProfileRequest = Message<'mantrae.v1.DeleteProfileRequest'> & {
/**
* @generated from field: int64 id = 1;
*/
@@ -193,26 +204,27 @@ export type DeleteProfileRequest = Message<"mantrae.v1.DeleteProfileRequest"> &
* Describes the message mantrae.v1.DeleteProfileRequest.
* Use `create(DeleteProfileRequestSchema)` to create a new message.
*/
export const DeleteProfileRequestSchema: GenMessage<DeleteProfileRequest> = /*@__PURE__*/
export const DeleteProfileRequestSchema: GenMessage<DeleteProfileRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_profile, 7);
/**
* @generated from message mantrae.v1.DeleteProfileResponse
*/
export type DeleteProfileResponse = Message<"mantrae.v1.DeleteProfileResponse"> & {
};
export type DeleteProfileResponse = Message<'mantrae.v1.DeleteProfileResponse'> & {};
/**
* Describes the message mantrae.v1.DeleteProfileResponse.
* Use `create(DeleteProfileResponseSchema)` to create a new message.
*/
export const DeleteProfileResponseSchema: GenMessage<DeleteProfileResponse> = /*@__PURE__*/
export const DeleteProfileResponseSchema: GenMessage<DeleteProfileResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_profile, 8);
/**
* @generated from message mantrae.v1.ListProfilesRequest
*/
export type ListProfilesRequest = Message<"mantrae.v1.ListProfilesRequest"> & {
export type ListProfilesRequest = Message<'mantrae.v1.ListProfilesRequest'> & {
/**
* @generated from field: optional int64 limit = 1;
*/
@@ -228,13 +240,14 @@ export type ListProfilesRequest = Message<"mantrae.v1.ListProfilesRequest"> & {
* Describes the message mantrae.v1.ListProfilesRequest.
* Use `create(ListProfilesRequestSchema)` to create a new message.
*/
export const ListProfilesRequestSchema: GenMessage<ListProfilesRequest> = /*@__PURE__*/
export const ListProfilesRequestSchema: GenMessage<ListProfilesRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_profile, 9);
/**
* @generated from message mantrae.v1.ListProfilesResponse
*/
export type ListProfilesResponse = Message<"mantrae.v1.ListProfilesResponse"> & {
export type ListProfilesResponse = Message<'mantrae.v1.ListProfilesResponse'> & {
/**
* @generated from field: repeated mantrae.v1.Profile profiles = 1;
*/
@@ -250,7 +263,8 @@ export type ListProfilesResponse = Message<"mantrae.v1.ListProfilesResponse"> &
* Describes the message mantrae.v1.ListProfilesResponse.
* Use `create(ListProfilesResponseSchema)` to create a new message.
*/
export const ListProfilesResponseSchema: GenMessage<ListProfilesResponse> = /*@__PURE__*/
export const ListProfilesResponseSchema: GenMessage<ListProfilesResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_profile, 10);
/**
@@ -261,42 +275,40 @@ export const ProfileService: GenService<{
* @generated from rpc mantrae.v1.ProfileService.GetProfile
*/
getProfile: {
methodKind: "unary";
methodKind: 'unary';
input: typeof GetProfileRequestSchema;
output: typeof GetProfileResponseSchema;
},
};
/**
* @generated from rpc mantrae.v1.ProfileService.CreateProfile
*/
createProfile: {
methodKind: "unary";
methodKind: 'unary';
input: typeof CreateProfileRequestSchema;
output: typeof CreateProfileResponseSchema;
},
};
/**
* @generated from rpc mantrae.v1.ProfileService.UpdateProfile
*/
updateProfile: {
methodKind: "unary";
methodKind: 'unary';
input: typeof UpdateProfileRequestSchema;
output: typeof UpdateProfileResponseSchema;
},
};
/**
* @generated from rpc mantrae.v1.ProfileService.DeleteProfile
*/
deleteProfile: {
methodKind: "unary";
methodKind: 'unary';
input: typeof DeleteProfileRequestSchema;
output: typeof DeleteProfileResponseSchema;
},
};
/**
* @generated from rpc mantrae.v1.ProfileService.ListProfiles
*/
listProfiles: {
methodKind: "unary";
methodKind: 'unary';
input: typeof ListProfilesRequestSchema;
output: typeof ListProfilesResponseSchema;
},
}> = /*@__PURE__*/
serviceDesc(file_mantrae_v1_profile, 0);
};
}> = /*@__PURE__*/ serviceDesc(file_mantrae_v1_profile, 0);

View File

@@ -2,14 +2,17 @@
// @generated from file mantrae/v1/protocol.proto (package mantrae.v1, syntax proto3)
/* eslint-disable */
import type { GenEnum, GenFile } from "@bufbuild/protobuf/codegenv2";
import { enumDesc, fileDesc } from "@bufbuild/protobuf/codegenv2";
import type { GenEnum, GenFile } from '@bufbuild/protobuf/codegenv2';
import { enumDesc, fileDesc } from '@bufbuild/protobuf/codegenv2';
/**
* Describes the file mantrae/v1/protocol.proto.
*/
export const file_mantrae_v1_protocol: GenFile = /*@__PURE__*/
fileDesc("ChltYW50cmFlL3YxL3Byb3RvY29sLnByb3RvEgptYW50cmFlLnYxKnMKDFByb3RvY29sVHlwZRIdChlQUk9UT0NPTF9UWVBFX1VOU1BFQ0lGSUVEEAASFgoSUFJPVE9DT0xfVFlQRV9IVFRQEAESFQoRUFJPVE9DT0xfVFlQRV9UQ1AQAhIVChFQUk9UT0NPTF9UWVBFX1VEUBADQqcBCg5jb20ubWFudHJhZS52MUINUHJvdG9jb2xQcm90b1ABWj1naXRodWIuY29tL21penVjaGlsYWJzL21hbnRyYWUvcHJvdG8vZ2VuL21hbnRyYWUvdjE7bWFudHJhZXYxogIDTVhYqgIKTWFudHJhZS5WMcoCCk1hbnRyYWVcVjHiAhZNYW50cmFlXFYxXEdQQk1ldGFkYXRh6gILTWFudHJhZTo6VjFiBnByb3RvMw");
export const file_mantrae_v1_protocol: GenFile =
/*@__PURE__*/
fileDesc(
'ChltYW50cmFlL3YxL3Byb3RvY29sLnByb3RvEgptYW50cmFlLnYxKnMKDFByb3RvY29sVHlwZRIdChlQUk9UT0NPTF9UWVBFX1VOU1BFQ0lGSUVEEAASFgoSUFJPVE9DT0xfVFlQRV9IVFRQEAESFQoRUFJPVE9DT0xfVFlQRV9UQ1AQAhIVChFQUk9UT0NPTF9UWVBFX1VEUBADQqcBCg5jb20ubWFudHJhZS52MUINUHJvdG9jb2xQcm90b1ABWj1naXRodWIuY29tL21penVjaGlsYWJzL21hbnRyYWUvcHJvdG8vZ2VuL21hbnRyYWUvdjE7bWFudHJhZXYxogIDTVhYqgIKTWFudHJhZS5WMcoCCk1hbnRyYWVcVjHiAhZNYW50cmFlXFYxXEdQQk1ldGFkYXRh6gILTWFudHJhZTo6VjFiBnByb3RvMw'
);
/**
* @generated from enum mantrae.v1.ProtocolType
@@ -33,12 +36,12 @@ export enum ProtocolType {
/**
* @generated from enum value: PROTOCOL_TYPE_UDP = 3;
*/
UDP = 3,
UDP = 3
}
/**
* Describes the enum mantrae.v1.ProtocolType.
*/
export const ProtocolTypeSchema: GenEnum<ProtocolType> = /*@__PURE__*/
export const ProtocolTypeSchema: GenEnum<ProtocolType> =
/*@__PURE__*/
enumDesc(file_mantrae_v1_protocol, 0);

View File

@@ -2,27 +2,40 @@
// @generated from file mantrae/v1/router.proto (package mantrae.v1, syntax proto3)
/* eslint-disable */
import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
import { file_buf_validate_validate } from "../../buf/validate/validate_pb";
import type { Timestamp } from "@bufbuild/protobuf/wkt";
import { file_google_protobuf_struct, file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
import type { DnsProvider } from "./dns_provider_pb";
import { file_mantrae_v1_dns_provider } from "./dns_provider_pb";
import type { ProtocolType } from "./protocol_pb";
import { file_mantrae_v1_protocol } from "./protocol_pb";
import type { JsonObject, Message } from "@bufbuild/protobuf";
import type { GenFile, GenMessage, GenService } from '@bufbuild/protobuf/codegenv2';
import { fileDesc, messageDesc, serviceDesc } from '@bufbuild/protobuf/codegenv2';
import { file_buf_validate_validate } from '../../buf/validate/validate_pb';
import type { Timestamp } from '@bufbuild/protobuf/wkt';
import {
file_google_protobuf_struct,
file_google_protobuf_timestamp
} from '@bufbuild/protobuf/wkt';
import type { DnsProvider } from './dns_provider_pb';
import { file_mantrae_v1_dns_provider } from './dns_provider_pb';
import type { ProtocolType } from './protocol_pb';
import { file_mantrae_v1_protocol } from './protocol_pb';
import type { JsonObject, Message } from '@bufbuild/protobuf';
/**
* Describes the file mantrae/v1/router.proto.
*/
export const file_mantrae_v1_router: GenFile = /*@__PURE__*/
fileDesc("ChdtYW50cmFlL3YxL3JvdXRlci5wcm90bxIKbWFudHJhZS52MSK6AgoGUm91dGVyEgoKAmlkGAEgASgDEhIKCnByb2ZpbGVfaWQYAiABKAMSEAoIYWdlbnRfaWQYAyABKAkSDAoEbmFtZRgEIAEoCRInCgZjb25maWcYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Eg8KB2VuYWJsZWQYBiABKAgSJgoEdHlwZRgHIAEoDjIYLm1hbnRyYWUudjEuUHJvdG9jb2xUeXBlEi4KDWRuc19wcm92aWRlcnMYCCADKAsyFy5tYW50cmFlLnYxLkRuc1Byb3ZpZGVyEi4KCmNyZWF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIlkKEEdldFJvdXRlclJlcXVlc3QSEwoCaWQYASABKANCB7pIBCICIAASMAoEdHlwZRgCIAEoDjIYLm1hbnRyYWUudjEuUHJvdG9jb2xUeXBlQgi6SAWCAQIQASI3ChFHZXRSb3V0ZXJSZXNwb25zZRIiCgZyb3V0ZXIYASABKAsyEi5tYW50cmFlLnYxLlJvdXRlciLZAQoTQ3JlYXRlUm91dGVyUmVxdWVzdBIbCgpwcm9maWxlX2lkGAEgASgDQge6SAQiAiAAEhUKCGFnZW50X2lkGAIgASgJSACIAQESFQoEbmFtZRgDIAEoCUIHukgEcgIQARInCgZjb25maWcYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Eg8KB2VuYWJsZWQYBSABKAgSMAoEdHlwZRgGIAEoDjIYLm1hbnRyYWUudjEuUHJvdG9jb2xUeXBlQgi6SAWCAQIQAUILCglfYWdlbnRfaWQiOgoUQ3JlYXRlUm91dGVyUmVzcG9uc2USIgoGcm91dGVyGAEgASgLMhIubWFudHJhZS52MS5Sb3V0ZXIi3QEKE1VwZGF0ZVJvdXRlclJlcXVlc3QSEwoCaWQYASABKANCB7pIBCICIAASFQoEbmFtZRgCIAEoCUIHukgEcgIQARIwCgR0eXBlGAMgASgOMhgubWFudHJhZS52MS5Qcm90b2NvbFR5cGVCCLpIBYIBAhABEicKBmNvbmZpZxgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSDwoHZW5hYmxlZBgFIAEoCBIuCg1kbnNfcHJvdmlkZXJzGAYgAygLMhcubWFudHJhZS52MS5EbnNQcm92aWRlciI6ChRVcGRhdGVSb3V0ZXJSZXNwb25zZRIiCgZyb3V0ZXIYASABKAsyEi5tYW50cmFlLnYxLlJvdXRlciJcChNEZWxldGVSb3V0ZXJSZXF1ZXN0EhMKAmlkGAEgASgDQge6SAQiAiAAEjAKBHR5cGUYAiABKA4yGC5tYW50cmFlLnYxLlByb3RvY29sVHlwZUIIukgFggECEAEiFgoURGVsZXRlUm91dGVyUmVzcG9uc2UiswIKEkxpc3RSb3V0ZXJzUmVxdWVzdBIbCgpwcm9maWxlX2lkGAEgASgDQge6SAQiAiAAEh4KCGFnZW50X2lkGAIgASgJQge6SARyAhABSACIAQESKwoEdHlwZRgDIAEoDjIYLm1hbnRyYWUudjEuUHJvdG9jb2xUeXBlSAGIAQESagoFbGltaXQYBCABKANCVrpIU7oBUAoLbGltaXQudmFsaWQSKWxpbWl0IG11c3QgYmUgZWl0aGVyIC0xIG9yIGdyZWF0ZXIgdGhhbiAwGhZ0aGlzID09IC0xIHx8IHRoaXMgPiAwSAKIAQESHAoGb2Zmc2V0GAUgASgDQge6SAQiAigASAOIAQFCCwoJX2FnZW50X2lkQgcKBV90eXBlQggKBl9saW1pdEIJCgdfb2Zmc2V0Ik8KE0xpc3RSb3V0ZXJzUmVzcG9uc2USIwoHcm91dGVycxgBIAMoCzISLm1hbnRyYWUudjEuUm91dGVyEhMKC3RvdGFsX2NvdW50GAIgASgDMqwDCg1Sb3V0ZXJTZXJ2aWNlEk0KCUdldFJvdXRlchIcLm1hbnRyYWUudjEuR2V0Um91dGVyUmVxdWVzdBodLm1hbnRyYWUudjEuR2V0Um91dGVyUmVzcG9uc2UiA5ACARJRCgxDcmVhdGVSb3V0ZXISHy5tYW50cmFlLnYxLkNyZWF0ZVJvdXRlclJlcXVlc3QaIC5tYW50cmFlLnYxLkNyZWF0ZVJvdXRlclJlc3BvbnNlElEKDFVwZGF0ZVJvdXRlchIfLm1hbnRyYWUudjEuVXBkYXRlUm91dGVyUmVxdWVzdBogLm1hbnRyYWUudjEuVXBkYXRlUm91dGVyUmVzcG9uc2USUQoMRGVsZXRlUm91dGVyEh8ubWFudHJhZS52MS5EZWxldGVSb3V0ZXJSZXF1ZXN0GiAubWFudHJhZS52MS5EZWxldGVSb3V0ZXJSZXNwb25zZRJTCgtMaXN0Um91dGVycxIeLm1hbnRyYWUudjEuTGlzdFJvdXRlcnNSZXF1ZXN0Gh8ubWFudHJhZS52MS5MaXN0Um91dGVyc1Jlc3BvbnNlIgOQAgFCpQEKDmNvbS5tYW50cmFlLnYxQgtSb3V0ZXJQcm90b1ABWj1naXRodWIuY29tL21penVjaGlsYWJzL21hbnRyYWUvcHJvdG8vZ2VuL21hbnRyYWUvdjE7bWFudHJhZXYxogIDTVhYqgIKTWFudHJhZS5WMcoCCk1hbnRyYWVcVjHiAhZNYW50cmFlXFYxXEdQQk1ldGFkYXRh6gILTWFudHJhZTo6VjFiBnByb3RvMw", [file_buf_validate_validate, file_google_protobuf_struct, file_google_protobuf_timestamp, file_mantrae_v1_dns_provider, file_mantrae_v1_protocol]);
export const file_mantrae_v1_router: GenFile =
/*@__PURE__*/
fileDesc(
'ChdtYW50cmFlL3YxL3JvdXRlci5wcm90bxIKbWFudHJhZS52MSK6AgoGUm91dGVyEgoKAmlkGAEgASgDEhIKCnByb2ZpbGVfaWQYAiABKAMSEAoIYWdlbnRfaWQYAyABKAkSDAoEbmFtZRgEIAEoCRInCgZjb25maWcYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Eg8KB2VuYWJsZWQYBiABKAgSJgoEdHlwZRgHIAEoDjIYLm1hbnRyYWUudjEuUHJvdG9jb2xUeXBlEi4KDWRuc19wcm92aWRlcnMYCCADKAsyFy5tYW50cmFlLnYxLkRuc1Byb3ZpZGVyEi4KCmNyZWF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIlkKEEdldFJvdXRlclJlcXVlc3QSEwoCaWQYASABKANCB7pIBCICIAASMAoEdHlwZRgCIAEoDjIYLm1hbnRyYWUudjEuUHJvdG9jb2xUeXBlQgi6SAWCAQIQASI3ChFHZXRSb3V0ZXJSZXNwb25zZRIiCgZyb3V0ZXIYASABKAsyEi5tYW50cmFlLnYxLlJvdXRlciLZAQoTQ3JlYXRlUm91dGVyUmVxdWVzdBIbCgpwcm9maWxlX2lkGAEgASgDQge6SAQiAiAAEhUKCGFnZW50X2lkGAIgASgJSACIAQESFQoEbmFtZRgDIAEoCUIHukgEcgIQARInCgZjb25maWcYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Eg8KB2VuYWJsZWQYBSABKAgSMAoEdHlwZRgGIAEoDjIYLm1hbnRyYWUudjEuUHJvdG9jb2xUeXBlQgi6SAWCAQIQAUILCglfYWdlbnRfaWQiOgoUQ3JlYXRlUm91dGVyUmVzcG9uc2USIgoGcm91dGVyGAEgASgLMhIubWFudHJhZS52MS5Sb3V0ZXIi3QEKE1VwZGF0ZVJvdXRlclJlcXVlc3QSEwoCaWQYASABKANCB7pIBCICIAASFQoEbmFtZRgCIAEoCUIHukgEcgIQARIwCgR0eXBlGAMgASgOMhgubWFudHJhZS52MS5Qcm90b2NvbFR5cGVCCLpIBYIBAhABEicKBmNvbmZpZxgEIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSDwoHZW5hYmxlZBgFIAEoCBIuCg1kbnNfcHJvdmlkZXJzGAYgAygLMhcubWFudHJhZS52MS5EbnNQcm92aWRlciI6ChRVcGRhdGVSb3V0ZXJSZXNwb25zZRIiCgZyb3V0ZXIYASABKAsyEi5tYW50cmFlLnYxLlJvdXRlciJcChNEZWxldGVSb3V0ZXJSZXF1ZXN0EhMKAmlkGAEgASgDQge6SAQiAiAAEjAKBHR5cGUYAiABKA4yGC5tYW50cmFlLnYxLlByb3RvY29sVHlwZUIIukgFggECEAEiFgoURGVsZXRlUm91dGVyUmVzcG9uc2UiswIKEkxpc3RSb3V0ZXJzUmVxdWVzdBIbCgpwcm9maWxlX2lkGAEgASgDQge6SAQiAiAAEh4KCGFnZW50X2lkGAIgASgJQge6SARyAhABSACIAQESKwoEdHlwZRgDIAEoDjIYLm1hbnRyYWUudjEuUHJvdG9jb2xUeXBlSAGIAQESagoFbGltaXQYBCABKANCVrpIU7oBUAoLbGltaXQudmFsaWQSKWxpbWl0IG11c3QgYmUgZWl0aGVyIC0xIG9yIGdyZWF0ZXIgdGhhbiAwGhZ0aGlzID09IC0xIHx8IHRoaXMgPiAwSAKIAQESHAoGb2Zmc2V0GAUgASgDQge6SAQiAigASAOIAQFCCwoJX2FnZW50X2lkQgcKBV90eXBlQggKBl9saW1pdEIJCgdfb2Zmc2V0Ik8KE0xpc3RSb3V0ZXJzUmVzcG9uc2USIwoHcm91dGVycxgBIAMoCzISLm1hbnRyYWUudjEuUm91dGVyEhMKC3RvdGFsX2NvdW50GAIgASgDMqwDCg1Sb3V0ZXJTZXJ2aWNlEk0KCUdldFJvdXRlchIcLm1hbnRyYWUudjEuR2V0Um91dGVyUmVxdWVzdBodLm1hbnRyYWUudjEuR2V0Um91dGVyUmVzcG9uc2UiA5ACARJRCgxDcmVhdGVSb3V0ZXISHy5tYW50cmFlLnYxLkNyZWF0ZVJvdXRlclJlcXVlc3QaIC5tYW50cmFlLnYxLkNyZWF0ZVJvdXRlclJlc3BvbnNlElEKDFVwZGF0ZVJvdXRlchIfLm1hbnRyYWUudjEuVXBkYXRlUm91dGVyUmVxdWVzdBogLm1hbnRyYWUudjEuVXBkYXRlUm91dGVyUmVzcG9uc2USUQoMRGVsZXRlUm91dGVyEh8ubWFudHJhZS52MS5EZWxldGVSb3V0ZXJSZXF1ZXN0GiAubWFudHJhZS52MS5EZWxldGVSb3V0ZXJSZXNwb25zZRJTCgtMaXN0Um91dGVycxIeLm1hbnRyYWUudjEuTGlzdFJvdXRlcnNSZXF1ZXN0Gh8ubWFudHJhZS52MS5MaXN0Um91dGVyc1Jlc3BvbnNlIgOQAgFCpQEKDmNvbS5tYW50cmFlLnYxQgtSb3V0ZXJQcm90b1ABWj1naXRodWIuY29tL21penVjaGlsYWJzL21hbnRyYWUvcHJvdG8vZ2VuL21hbnRyYWUvdjE7bWFudHJhZXYxogIDTVhYqgIKTWFudHJhZS5WMcoCCk1hbnRyYWVcVjHiAhZNYW50cmFlXFYxXEdQQk1ldGFkYXRh6gILTWFudHJhZTo6VjFiBnByb3RvMw',
[
file_buf_validate_validate,
file_google_protobuf_struct,
file_google_protobuf_timestamp,
file_mantrae_v1_dns_provider,
file_mantrae_v1_protocol
]
);
/**
* @generated from message mantrae.v1.Router
*/
export type Router = Message<"mantrae.v1.Router"> & {
export type Router = Message<'mantrae.v1.Router'> & {
/**
* @generated from field: int64 id = 1;
*/
@@ -78,13 +91,14 @@ export type Router = Message<"mantrae.v1.Router"> & {
* Describes the message mantrae.v1.Router.
* Use `create(RouterSchema)` to create a new message.
*/
export const RouterSchema: GenMessage<Router> = /*@__PURE__*/
export const RouterSchema: GenMessage<Router> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_router, 0);
/**
* @generated from message mantrae.v1.GetRouterRequest
*/
export type GetRouterRequest = Message<"mantrae.v1.GetRouterRequest"> & {
export type GetRouterRequest = Message<'mantrae.v1.GetRouterRequest'> & {
/**
* @generated from field: int64 id = 1;
*/
@@ -100,13 +114,14 @@ export type GetRouterRequest = Message<"mantrae.v1.GetRouterRequest"> & {
* Describes the message mantrae.v1.GetRouterRequest.
* Use `create(GetRouterRequestSchema)` to create a new message.
*/
export const GetRouterRequestSchema: GenMessage<GetRouterRequest> = /*@__PURE__*/
export const GetRouterRequestSchema: GenMessage<GetRouterRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_router, 1);
/**
* @generated from message mantrae.v1.GetRouterResponse
*/
export type GetRouterResponse = Message<"mantrae.v1.GetRouterResponse"> & {
export type GetRouterResponse = Message<'mantrae.v1.GetRouterResponse'> & {
/**
* @generated from field: mantrae.v1.Router router = 1;
*/
@@ -117,13 +132,14 @@ export type GetRouterResponse = Message<"mantrae.v1.GetRouterResponse"> & {
* Describes the message mantrae.v1.GetRouterResponse.
* Use `create(GetRouterResponseSchema)` to create a new message.
*/
export const GetRouterResponseSchema: GenMessage<GetRouterResponse> = /*@__PURE__*/
export const GetRouterResponseSchema: GenMessage<GetRouterResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_router, 2);
/**
* @generated from message mantrae.v1.CreateRouterRequest
*/
export type CreateRouterRequest = Message<"mantrae.v1.CreateRouterRequest"> & {
export type CreateRouterRequest = Message<'mantrae.v1.CreateRouterRequest'> & {
/**
* @generated from field: int64 profile_id = 1;
*/
@@ -159,13 +175,14 @@ export type CreateRouterRequest = Message<"mantrae.v1.CreateRouterRequest"> & {
* Describes the message mantrae.v1.CreateRouterRequest.
* Use `create(CreateRouterRequestSchema)` to create a new message.
*/
export const CreateRouterRequestSchema: GenMessage<CreateRouterRequest> = /*@__PURE__*/
export const CreateRouterRequestSchema: GenMessage<CreateRouterRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_router, 3);
/**
* @generated from message mantrae.v1.CreateRouterResponse
*/
export type CreateRouterResponse = Message<"mantrae.v1.CreateRouterResponse"> & {
export type CreateRouterResponse = Message<'mantrae.v1.CreateRouterResponse'> & {
/**
* @generated from field: mantrae.v1.Router router = 1;
*/
@@ -176,13 +193,14 @@ export type CreateRouterResponse = Message<"mantrae.v1.CreateRouterResponse"> &
* Describes the message mantrae.v1.CreateRouterResponse.
* Use `create(CreateRouterResponseSchema)` to create a new message.
*/
export const CreateRouterResponseSchema: GenMessage<CreateRouterResponse> = /*@__PURE__*/
export const CreateRouterResponseSchema: GenMessage<CreateRouterResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_router, 4);
/**
* @generated from message mantrae.v1.UpdateRouterRequest
*/
export type UpdateRouterRequest = Message<"mantrae.v1.UpdateRouterRequest"> & {
export type UpdateRouterRequest = Message<'mantrae.v1.UpdateRouterRequest'> & {
/**
* @generated from field: int64 id = 1;
*/
@@ -218,13 +236,14 @@ export type UpdateRouterRequest = Message<"mantrae.v1.UpdateRouterRequest"> & {
* Describes the message mantrae.v1.UpdateRouterRequest.
* Use `create(UpdateRouterRequestSchema)` to create a new message.
*/
export const UpdateRouterRequestSchema: GenMessage<UpdateRouterRequest> = /*@__PURE__*/
export const UpdateRouterRequestSchema: GenMessage<UpdateRouterRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_router, 5);
/**
* @generated from message mantrae.v1.UpdateRouterResponse
*/
export type UpdateRouterResponse = Message<"mantrae.v1.UpdateRouterResponse"> & {
export type UpdateRouterResponse = Message<'mantrae.v1.UpdateRouterResponse'> & {
/**
* @generated from field: mantrae.v1.Router router = 1;
*/
@@ -235,13 +254,14 @@ export type UpdateRouterResponse = Message<"mantrae.v1.UpdateRouterResponse"> &
* Describes the message mantrae.v1.UpdateRouterResponse.
* Use `create(UpdateRouterResponseSchema)` to create a new message.
*/
export const UpdateRouterResponseSchema: GenMessage<UpdateRouterResponse> = /*@__PURE__*/
export const UpdateRouterResponseSchema: GenMessage<UpdateRouterResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_router, 6);
/**
* @generated from message mantrae.v1.DeleteRouterRequest
*/
export type DeleteRouterRequest = Message<"mantrae.v1.DeleteRouterRequest"> & {
export type DeleteRouterRequest = Message<'mantrae.v1.DeleteRouterRequest'> & {
/**
* @generated from field: int64 id = 1;
*/
@@ -257,26 +277,27 @@ export type DeleteRouterRequest = Message<"mantrae.v1.DeleteRouterRequest"> & {
* Describes the message mantrae.v1.DeleteRouterRequest.
* Use `create(DeleteRouterRequestSchema)` to create a new message.
*/
export const DeleteRouterRequestSchema: GenMessage<DeleteRouterRequest> = /*@__PURE__*/
export const DeleteRouterRequestSchema: GenMessage<DeleteRouterRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_router, 7);
/**
* @generated from message mantrae.v1.DeleteRouterResponse
*/
export type DeleteRouterResponse = Message<"mantrae.v1.DeleteRouterResponse"> & {
};
export type DeleteRouterResponse = Message<'mantrae.v1.DeleteRouterResponse'> & {};
/**
* Describes the message mantrae.v1.DeleteRouterResponse.
* Use `create(DeleteRouterResponseSchema)` to create a new message.
*/
export const DeleteRouterResponseSchema: GenMessage<DeleteRouterResponse> = /*@__PURE__*/
export const DeleteRouterResponseSchema: GenMessage<DeleteRouterResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_router, 8);
/**
* @generated from message mantrae.v1.ListRoutersRequest
*/
export type ListRoutersRequest = Message<"mantrae.v1.ListRoutersRequest"> & {
export type ListRoutersRequest = Message<'mantrae.v1.ListRoutersRequest'> & {
/**
* @generated from field: int64 profile_id = 1;
*/
@@ -307,13 +328,14 @@ export type ListRoutersRequest = Message<"mantrae.v1.ListRoutersRequest"> & {
* Describes the message mantrae.v1.ListRoutersRequest.
* Use `create(ListRoutersRequestSchema)` to create a new message.
*/
export const ListRoutersRequestSchema: GenMessage<ListRoutersRequest> = /*@__PURE__*/
export const ListRoutersRequestSchema: GenMessage<ListRoutersRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_router, 9);
/**
* @generated from message mantrae.v1.ListRoutersResponse
*/
export type ListRoutersResponse = Message<"mantrae.v1.ListRoutersResponse"> & {
export type ListRoutersResponse = Message<'mantrae.v1.ListRoutersResponse'> & {
/**
* @generated from field: repeated mantrae.v1.Router routers = 1;
*/
@@ -329,7 +351,8 @@ export type ListRoutersResponse = Message<"mantrae.v1.ListRoutersResponse"> & {
* Describes the message mantrae.v1.ListRoutersResponse.
* Use `create(ListRoutersResponseSchema)` to create a new message.
*/
export const ListRoutersResponseSchema: GenMessage<ListRoutersResponse> = /*@__PURE__*/
export const ListRoutersResponseSchema: GenMessage<ListRoutersResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_router, 10);
/**
@@ -340,42 +363,40 @@ export const RouterService: GenService<{
* @generated from rpc mantrae.v1.RouterService.GetRouter
*/
getRouter: {
methodKind: "unary";
methodKind: 'unary';
input: typeof GetRouterRequestSchema;
output: typeof GetRouterResponseSchema;
},
};
/**
* @generated from rpc mantrae.v1.RouterService.CreateRouter
*/
createRouter: {
methodKind: "unary";
methodKind: 'unary';
input: typeof CreateRouterRequestSchema;
output: typeof CreateRouterResponseSchema;
},
};
/**
* @generated from rpc mantrae.v1.RouterService.UpdateRouter
*/
updateRouter: {
methodKind: "unary";
methodKind: 'unary';
input: typeof UpdateRouterRequestSchema;
output: typeof UpdateRouterResponseSchema;
},
};
/**
* @generated from rpc mantrae.v1.RouterService.DeleteRouter
*/
deleteRouter: {
methodKind: "unary";
methodKind: 'unary';
input: typeof DeleteRouterRequestSchema;
output: typeof DeleteRouterResponseSchema;
},
};
/**
* @generated from rpc mantrae.v1.RouterService.ListRouters
*/
listRouters: {
methodKind: "unary";
methodKind: 'unary';
input: typeof ListRoutersRequestSchema;
output: typeof ListRoutersResponseSchema;
},
}> = /*@__PURE__*/
serviceDesc(file_mantrae_v1_router, 0);
};
}> = /*@__PURE__*/ serviceDesc(file_mantrae_v1_router, 0);

View File

@@ -2,25 +2,37 @@
// @generated from file mantrae/v1/servers_transport.proto (package mantrae.v1, syntax proto3)
/* eslint-disable */
import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
import { file_buf_validate_validate } from "../../buf/validate/validate_pb";
import type { Timestamp } from "@bufbuild/protobuf/wkt";
import { file_google_protobuf_struct, file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
import type { ProtocolType } from "./protocol_pb";
import { file_mantrae_v1_protocol } from "./protocol_pb";
import type { JsonObject, Message } from "@bufbuild/protobuf";
import type { GenFile, GenMessage, GenService } from '@bufbuild/protobuf/codegenv2';
import { fileDesc, messageDesc, serviceDesc } from '@bufbuild/protobuf/codegenv2';
import { file_buf_validate_validate } from '../../buf/validate/validate_pb';
import type { Timestamp } from '@bufbuild/protobuf/wkt';
import {
file_google_protobuf_struct,
file_google_protobuf_timestamp
} from '@bufbuild/protobuf/wkt';
import type { ProtocolType } from './protocol_pb';
import { file_mantrae_v1_protocol } from './protocol_pb';
import type { JsonObject, Message } from '@bufbuild/protobuf';
/**
* Describes the file mantrae/v1/servers_transport.proto.
*/
export const file_mantrae_v1_servers_transport: GenFile = /*@__PURE__*/
fileDesc("CiJtYW50cmFlL3YxL3NlcnZlcnNfdHJhbnNwb3J0LnByb3RvEgptYW50cmFlLnYxIpQCChBTZXJ2ZXJzVHJhbnNwb3J0EgoKAmlkGAEgASgDEhIKCnByb2ZpbGVfaWQYAiABKAMSEAoIYWdlbnRfaWQYAyABKAkSDAoEbmFtZRgEIAEoCRInCgZjb25maWcYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Eg8KB2VuYWJsZWQYBiABKAgSJgoEdHlwZRgHIAEoDjIYLm1hbnRyYWUudjEuUHJvdG9jb2xUeXBlEi4KCmNyZWF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wImMKGkdldFNlcnZlcnNUcmFuc3BvcnRSZXF1ZXN0EhMKAmlkGAEgASgDQge6SAQiAiAAEjAKBHR5cGUYAiABKA4yGC5tYW50cmFlLnYxLlByb3RvY29sVHlwZUIIukgFggECEAEiVgobR2V0U2VydmVyc1RyYW5zcG9ydFJlc3BvbnNlEjcKEXNlcnZlcnNfdHJhbnNwb3J0GAEgASgLMhwubWFudHJhZS52MS5TZXJ2ZXJzVHJhbnNwb3J0IuMBCh1DcmVhdGVTZXJ2ZXJzVHJhbnNwb3J0UmVxdWVzdBIbCgpwcm9maWxlX2lkGAEgASgDQge6SAQiAiAAEhUKCGFnZW50X2lkGAIgASgJSACIAQESFQoEbmFtZRgDIAEoCUIHukgEcgIQARInCgZjb25maWcYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Eg8KB2VuYWJsZWQYBSABKAgSMAoEdHlwZRgGIAEoDjIYLm1hbnRyYWUudjEuUHJvdG9jb2xUeXBlQgi6SAWCAQIQAUILCglfYWdlbnRfaWQiWQoeQ3JlYXRlU2VydmVyc1RyYW5zcG9ydFJlc3BvbnNlEjcKEXNlcnZlcnNfdHJhbnNwb3J0GAEgASgLMhwubWFudHJhZS52MS5TZXJ2ZXJzVHJhbnNwb3J0IrcBCh1VcGRhdGVTZXJ2ZXJzVHJhbnNwb3J0UmVxdWVzdBITCgJpZBgBIAEoA0IHukgEIgIgABIVCgRuYW1lGAIgASgJQge6SARyAhABEicKBmNvbmZpZxgDIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSDwoHZW5hYmxlZBgEIAEoCBIwCgR0eXBlGAUgASgOMhgubWFudHJhZS52MS5Qcm90b2NvbFR5cGVCCLpIBYIBAhABIlkKHlVwZGF0ZVNlcnZlcnNUcmFuc3BvcnRSZXNwb25zZRI3ChFzZXJ2ZXJzX3RyYW5zcG9ydBgBIAEoCzIcLm1hbnRyYWUudjEuU2VydmVyc1RyYW5zcG9ydCJmCh1EZWxldGVTZXJ2ZXJzVHJhbnNwb3J0UmVxdWVzdBITCgJpZBgBIAEoA0IHukgEIgIgABIwCgR0eXBlGAIgASgOMhgubWFudHJhZS52MS5Qcm90b2NvbFR5cGVCCLpIBYIBAhABIiAKHkRlbGV0ZVNlcnZlcnNUcmFuc3BvcnRSZXNwb25zZSK9AgocTGlzdFNlcnZlcnNUcmFuc3BvcnRzUmVxdWVzdBIbCgpwcm9maWxlX2lkGAEgASgDQge6SAQiAiAAEh4KCGFnZW50X2lkGAIgASgJQge6SARyAhABSACIAQESKwoEdHlwZRgDIAEoDjIYLm1hbnRyYWUudjEuUHJvdG9jb2xUeXBlSAGIAQESagoFbGltaXQYBCABKANCVrpIU7oBUAoLbGltaXQudmFsaWQSKWxpbWl0IG11c3QgYmUgZWl0aGVyIC0xIG9yIGdyZWF0ZXIgdGhhbiAwGhZ0aGlzID09IC0xIHx8IHRoaXMgPiAwSAKIAQESHAoGb2Zmc2V0GAUgASgDQge6SAQiAigASAOIAQFCCwoJX2FnZW50X2lkQgcKBV90eXBlQggKBl9saW1pdEIJCgdfb2Zmc2V0Im4KHUxpc3RTZXJ2ZXJzVHJhbnNwb3J0c1Jlc3BvbnNlEjgKEnNlcnZlcnNfdHJhbnNwb3J0cxgBIAMoCzIcLm1hbnRyYWUudjEuU2VydmVyc1RyYW5zcG9ydBITCgt0b3RhbF9jb3VudBgCIAEoAzLMBAoXU2VydmVyc1RyYW5zcG9ydFNlcnZpY2USawoTR2V0U2VydmVyc1RyYW5zcG9ydBImLm1hbnRyYWUudjEuR2V0U2VydmVyc1RyYW5zcG9ydFJlcXVlc3QaJy5tYW50cmFlLnYxLkdldFNlcnZlcnNUcmFuc3BvcnRSZXNwb25zZSIDkAIBEm8KFkNyZWF0ZVNlcnZlcnNUcmFuc3BvcnQSKS5tYW50cmFlLnYxLkNyZWF0ZVNlcnZlcnNUcmFuc3BvcnRSZXF1ZXN0GioubWFudHJhZS52MS5DcmVhdGVTZXJ2ZXJzVHJhbnNwb3J0UmVzcG9uc2USbwoWVXBkYXRlU2VydmVyc1RyYW5zcG9ydBIpLm1hbnRyYWUudjEuVXBkYXRlU2VydmVyc1RyYW5zcG9ydFJlcXVlc3QaKi5tYW50cmFlLnYxLlVwZGF0ZVNlcnZlcnNUcmFuc3BvcnRSZXNwb25zZRJvChZEZWxldGVTZXJ2ZXJzVHJhbnNwb3J0EikubWFudHJhZS52MS5EZWxldGVTZXJ2ZXJzVHJhbnNwb3J0UmVxdWVzdBoqLm1hbnRyYWUudjEuRGVsZXRlU2VydmVyc1RyYW5zcG9ydFJlc3BvbnNlEnEKFUxpc3RTZXJ2ZXJzVHJhbnNwb3J0cxIoLm1hbnRyYWUudjEuTGlzdFNlcnZlcnNUcmFuc3BvcnRzUmVxdWVzdBopLm1hbnRyYWUudjEuTGlzdFNlcnZlcnNUcmFuc3BvcnRzUmVzcG9uc2UiA5ACAUKvAQoOY29tLm1hbnRyYWUudjFCFVNlcnZlcnNUcmFuc3BvcnRQcm90b1ABWj1naXRodWIuY29tL21penVjaGlsYWJzL21hbnRyYWUvcHJvdG8vZ2VuL21hbnRyYWUvdjE7bWFudHJhZXYxogIDTVhYqgIKTWFudHJhZS5WMcoCCk1hbnRyYWVcVjHiAhZNYW50cmFlXFYxXEdQQk1ldGFkYXRh6gILTWFudHJhZTo6VjFiBnByb3RvMw", [file_buf_validate_validate, file_google_protobuf_struct, file_google_protobuf_timestamp, file_mantrae_v1_protocol]);
export const file_mantrae_v1_servers_transport: GenFile =
/*@__PURE__*/
fileDesc(
'CiJtYW50cmFlL3YxL3NlcnZlcnNfdHJhbnNwb3J0LnByb3RvEgptYW50cmFlLnYxIpQCChBTZXJ2ZXJzVHJhbnNwb3J0EgoKAmlkGAEgASgDEhIKCnByb2ZpbGVfaWQYAiABKAMSEAoIYWdlbnRfaWQYAyABKAkSDAoEbmFtZRgEIAEoCRInCgZjb25maWcYBSABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Eg8KB2VuYWJsZWQYBiABKAgSJgoEdHlwZRgHIAEoDjIYLm1hbnRyYWUudjEuUHJvdG9jb2xUeXBlEi4KCmNyZWF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wImMKGkdldFNlcnZlcnNUcmFuc3BvcnRSZXF1ZXN0EhMKAmlkGAEgASgDQge6SAQiAiAAEjAKBHR5cGUYAiABKA4yGC5tYW50cmFlLnYxLlByb3RvY29sVHlwZUIIukgFggECEAEiVgobR2V0U2VydmVyc1RyYW5zcG9ydFJlc3BvbnNlEjcKEXNlcnZlcnNfdHJhbnNwb3J0GAEgASgLMhwubWFudHJhZS52MS5TZXJ2ZXJzVHJhbnNwb3J0IuMBCh1DcmVhdGVTZXJ2ZXJzVHJhbnNwb3J0UmVxdWVzdBIbCgpwcm9maWxlX2lkGAEgASgDQge6SAQiAiAAEhUKCGFnZW50X2lkGAIgASgJSACIAQESFQoEbmFtZRgDIAEoCUIHukgEcgIQARInCgZjb25maWcYBCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Eg8KB2VuYWJsZWQYBSABKAgSMAoEdHlwZRgGIAEoDjIYLm1hbnRyYWUudjEuUHJvdG9jb2xUeXBlQgi6SAWCAQIQAUILCglfYWdlbnRfaWQiWQoeQ3JlYXRlU2VydmVyc1RyYW5zcG9ydFJlc3BvbnNlEjcKEXNlcnZlcnNfdHJhbnNwb3J0GAEgASgLMhwubWFudHJhZS52MS5TZXJ2ZXJzVHJhbnNwb3J0IrcBCh1VcGRhdGVTZXJ2ZXJzVHJhbnNwb3J0UmVxdWVzdBITCgJpZBgBIAEoA0IHukgEIgIgABIVCgRuYW1lGAIgASgJQge6SARyAhABEicKBmNvbmZpZxgDIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSDwoHZW5hYmxlZBgEIAEoCBIwCgR0eXBlGAUgASgOMhgubWFudHJhZS52MS5Qcm90b2NvbFR5cGVCCLpIBYIBAhABIlkKHlVwZGF0ZVNlcnZlcnNUcmFuc3BvcnRSZXNwb25zZRI3ChFzZXJ2ZXJzX3RyYW5zcG9ydBgBIAEoCzIcLm1hbnRyYWUudjEuU2VydmVyc1RyYW5zcG9ydCJmCh1EZWxldGVTZXJ2ZXJzVHJhbnNwb3J0UmVxdWVzdBITCgJpZBgBIAEoA0IHukgEIgIgABIwCgR0eXBlGAIgASgOMhgubWFudHJhZS52MS5Qcm90b2NvbFR5cGVCCLpIBYIBAhABIiAKHkRlbGV0ZVNlcnZlcnNUcmFuc3BvcnRSZXNwb25zZSK9AgocTGlzdFNlcnZlcnNUcmFuc3BvcnRzUmVxdWVzdBIbCgpwcm9maWxlX2lkGAEgASgDQge6SAQiAiAAEh4KCGFnZW50X2lkGAIgASgJQge6SARyAhABSACIAQESKwoEdHlwZRgDIAEoDjIYLm1hbnRyYWUudjEuUHJvdG9jb2xUeXBlSAGIAQESagoFbGltaXQYBCABKANCVrpIU7oBUAoLbGltaXQudmFsaWQSKWxpbWl0IG11c3QgYmUgZWl0aGVyIC0xIG9yIGdyZWF0ZXIgdGhhbiAwGhZ0aGlzID09IC0xIHx8IHRoaXMgPiAwSAKIAQESHAoGb2Zmc2V0GAUgASgDQge6SAQiAigASAOIAQFCCwoJX2FnZW50X2lkQgcKBV90eXBlQggKBl9saW1pdEIJCgdfb2Zmc2V0Im4KHUxpc3RTZXJ2ZXJzVHJhbnNwb3J0c1Jlc3BvbnNlEjgKEnNlcnZlcnNfdHJhbnNwb3J0cxgBIAMoCzIcLm1hbnRyYWUudjEuU2VydmVyc1RyYW5zcG9ydBITCgt0b3RhbF9jb3VudBgCIAEoAzLMBAoXU2VydmVyc1RyYW5zcG9ydFNlcnZpY2USawoTR2V0U2VydmVyc1RyYW5zcG9ydBImLm1hbnRyYWUudjEuR2V0U2VydmVyc1RyYW5zcG9ydFJlcXVlc3QaJy5tYW50cmFlLnYxLkdldFNlcnZlcnNUcmFuc3BvcnRSZXNwb25zZSIDkAIBEm8KFkNyZWF0ZVNlcnZlcnNUcmFuc3BvcnQSKS5tYW50cmFlLnYxLkNyZWF0ZVNlcnZlcnNUcmFuc3BvcnRSZXF1ZXN0GioubWFudHJhZS52MS5DcmVhdGVTZXJ2ZXJzVHJhbnNwb3J0UmVzcG9uc2USbwoWVXBkYXRlU2VydmVyc1RyYW5zcG9ydBIpLm1hbnRyYWUudjEuVXBkYXRlU2VydmVyc1RyYW5zcG9ydFJlcXVlc3QaKi5tYW50cmFlLnYxLlVwZGF0ZVNlcnZlcnNUcmFuc3BvcnRSZXNwb25zZRJvChZEZWxldGVTZXJ2ZXJzVHJhbnNwb3J0EikubWFudHJhZS52MS5EZWxldGVTZXJ2ZXJzVHJhbnNwb3J0UmVxdWVzdBoqLm1hbnRyYWUudjEuRGVsZXRlU2VydmVyc1RyYW5zcG9ydFJlc3BvbnNlEnEKFUxpc3RTZXJ2ZXJzVHJhbnNwb3J0cxIoLm1hbnRyYWUudjEuTGlzdFNlcnZlcnNUcmFuc3BvcnRzUmVxdWVzdBopLm1hbnRyYWUudjEuTGlzdFNlcnZlcnNUcmFuc3BvcnRzUmVzcG9uc2UiA5ACAUKvAQoOY29tLm1hbnRyYWUudjFCFVNlcnZlcnNUcmFuc3BvcnRQcm90b1ABWj1naXRodWIuY29tL21penVjaGlsYWJzL21hbnRyYWUvcHJvdG8vZ2VuL21hbnRyYWUvdjE7bWFudHJhZXYxogIDTVhYqgIKTWFudHJhZS5WMcoCCk1hbnRyYWVcVjHiAhZNYW50cmFlXFYxXEdQQk1ldGFkYXRh6gILTWFudHJhZTo6VjFiBnByb3RvMw',
[
file_buf_validate_validate,
file_google_protobuf_struct,
file_google_protobuf_timestamp,
file_mantrae_v1_protocol
]
);
/**
* @generated from message mantrae.v1.ServersTransport
*/
export type ServersTransport = Message<"mantrae.v1.ServersTransport"> & {
export type ServersTransport = Message<'mantrae.v1.ServersTransport'> & {
/**
* @generated from field: int64 id = 1;
*/
@@ -71,13 +83,14 @@ export type ServersTransport = Message<"mantrae.v1.ServersTransport"> & {
* Describes the message mantrae.v1.ServersTransport.
* Use `create(ServersTransportSchema)` to create a new message.
*/
export const ServersTransportSchema: GenMessage<ServersTransport> = /*@__PURE__*/
export const ServersTransportSchema: GenMessage<ServersTransport> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_servers_transport, 0);
/**
* @generated from message mantrae.v1.GetServersTransportRequest
*/
export type GetServersTransportRequest = Message<"mantrae.v1.GetServersTransportRequest"> & {
export type GetServersTransportRequest = Message<'mantrae.v1.GetServersTransportRequest'> & {
/**
* @generated from field: int64 id = 1;
*/
@@ -93,13 +106,14 @@ export type GetServersTransportRequest = Message<"mantrae.v1.GetServersTransport
* Describes the message mantrae.v1.GetServersTransportRequest.
* Use `create(GetServersTransportRequestSchema)` to create a new message.
*/
export const GetServersTransportRequestSchema: GenMessage<GetServersTransportRequest> = /*@__PURE__*/
export const GetServersTransportRequestSchema: GenMessage<GetServersTransportRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_servers_transport, 1);
/**
* @generated from message mantrae.v1.GetServersTransportResponse
*/
export type GetServersTransportResponse = Message<"mantrae.v1.GetServersTransportResponse"> & {
export type GetServersTransportResponse = Message<'mantrae.v1.GetServersTransportResponse'> & {
/**
* @generated from field: mantrae.v1.ServersTransport servers_transport = 1;
*/
@@ -110,13 +124,14 @@ export type GetServersTransportResponse = Message<"mantrae.v1.GetServersTranspor
* Describes the message mantrae.v1.GetServersTransportResponse.
* Use `create(GetServersTransportResponseSchema)` to create a new message.
*/
export const GetServersTransportResponseSchema: GenMessage<GetServersTransportResponse> = /*@__PURE__*/
export const GetServersTransportResponseSchema: GenMessage<GetServersTransportResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_servers_transport, 2);
/**
* @generated from message mantrae.v1.CreateServersTransportRequest
*/
export type CreateServersTransportRequest = Message<"mantrae.v1.CreateServersTransportRequest"> & {
export type CreateServersTransportRequest = Message<'mantrae.v1.CreateServersTransportRequest'> & {
/**
* @generated from field: int64 profile_id = 1;
*/
@@ -152,30 +167,33 @@ export type CreateServersTransportRequest = Message<"mantrae.v1.CreateServersTra
* Describes the message mantrae.v1.CreateServersTransportRequest.
* Use `create(CreateServersTransportRequestSchema)` to create a new message.
*/
export const CreateServersTransportRequestSchema: GenMessage<CreateServersTransportRequest> = /*@__PURE__*/
export const CreateServersTransportRequestSchema: GenMessage<CreateServersTransportRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_servers_transport, 3);
/**
* @generated from message mantrae.v1.CreateServersTransportResponse
*/
export type CreateServersTransportResponse = Message<"mantrae.v1.CreateServersTransportResponse"> & {
export type CreateServersTransportResponse =
Message<'mantrae.v1.CreateServersTransportResponse'> & {
/**
* @generated from field: mantrae.v1.ServersTransport servers_transport = 1;
*/
serversTransport?: ServersTransport;
};
};
/**
* Describes the message mantrae.v1.CreateServersTransportResponse.
* Use `create(CreateServersTransportResponseSchema)` to create a new message.
*/
export const CreateServersTransportResponseSchema: GenMessage<CreateServersTransportResponse> = /*@__PURE__*/
export const CreateServersTransportResponseSchema: GenMessage<CreateServersTransportResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_servers_transport, 4);
/**
* @generated from message mantrae.v1.UpdateServersTransportRequest
*/
export type UpdateServersTransportRequest = Message<"mantrae.v1.UpdateServersTransportRequest"> & {
export type UpdateServersTransportRequest = Message<'mantrae.v1.UpdateServersTransportRequest'> & {
/**
* @generated from field: int64 id = 1;
*/
@@ -206,30 +224,33 @@ export type UpdateServersTransportRequest = Message<"mantrae.v1.UpdateServersTra
* Describes the message mantrae.v1.UpdateServersTransportRequest.
* Use `create(UpdateServersTransportRequestSchema)` to create a new message.
*/
export const UpdateServersTransportRequestSchema: GenMessage<UpdateServersTransportRequest> = /*@__PURE__*/
export const UpdateServersTransportRequestSchema: GenMessage<UpdateServersTransportRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_servers_transport, 5);
/**
* @generated from message mantrae.v1.UpdateServersTransportResponse
*/
export type UpdateServersTransportResponse = Message<"mantrae.v1.UpdateServersTransportResponse"> & {
export type UpdateServersTransportResponse =
Message<'mantrae.v1.UpdateServersTransportResponse'> & {
/**
* @generated from field: mantrae.v1.ServersTransport servers_transport = 1;
*/
serversTransport?: ServersTransport;
};
};
/**
* Describes the message mantrae.v1.UpdateServersTransportResponse.
* Use `create(UpdateServersTransportResponseSchema)` to create a new message.
*/
export const UpdateServersTransportResponseSchema: GenMessage<UpdateServersTransportResponse> = /*@__PURE__*/
export const UpdateServersTransportResponseSchema: GenMessage<UpdateServersTransportResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_servers_transport, 6);
/**
* @generated from message mantrae.v1.DeleteServersTransportRequest
*/
export type DeleteServersTransportRequest = Message<"mantrae.v1.DeleteServersTransportRequest"> & {
export type DeleteServersTransportRequest = Message<'mantrae.v1.DeleteServersTransportRequest'> & {
/**
* @generated from field: int64 id = 1;
*/
@@ -245,26 +266,28 @@ export type DeleteServersTransportRequest = Message<"mantrae.v1.DeleteServersTra
* Describes the message mantrae.v1.DeleteServersTransportRequest.
* Use `create(DeleteServersTransportRequestSchema)` to create a new message.
*/
export const DeleteServersTransportRequestSchema: GenMessage<DeleteServersTransportRequest> = /*@__PURE__*/
export const DeleteServersTransportRequestSchema: GenMessage<DeleteServersTransportRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_servers_transport, 7);
/**
* @generated from message mantrae.v1.DeleteServersTransportResponse
*/
export type DeleteServersTransportResponse = Message<"mantrae.v1.DeleteServersTransportResponse"> & {
};
export type DeleteServersTransportResponse =
Message<'mantrae.v1.DeleteServersTransportResponse'> & {};
/**
* Describes the message mantrae.v1.DeleteServersTransportResponse.
* Use `create(DeleteServersTransportResponseSchema)` to create a new message.
*/
export const DeleteServersTransportResponseSchema: GenMessage<DeleteServersTransportResponse> = /*@__PURE__*/
export const DeleteServersTransportResponseSchema: GenMessage<DeleteServersTransportResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_servers_transport, 8);
/**
* @generated from message mantrae.v1.ListServersTransportsRequest
*/
export type ListServersTransportsRequest = Message<"mantrae.v1.ListServersTransportsRequest"> & {
export type ListServersTransportsRequest = Message<'mantrae.v1.ListServersTransportsRequest'> & {
/**
* @generated from field: int64 profile_id = 1;
*/
@@ -295,13 +318,14 @@ export type ListServersTransportsRequest = Message<"mantrae.v1.ListServersTransp
* Describes the message mantrae.v1.ListServersTransportsRequest.
* Use `create(ListServersTransportsRequestSchema)` to create a new message.
*/
export const ListServersTransportsRequestSchema: GenMessage<ListServersTransportsRequest> = /*@__PURE__*/
export const ListServersTransportsRequestSchema: GenMessage<ListServersTransportsRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_servers_transport, 9);
/**
* @generated from message mantrae.v1.ListServersTransportsResponse
*/
export type ListServersTransportsResponse = Message<"mantrae.v1.ListServersTransportsResponse"> & {
export type ListServersTransportsResponse = Message<'mantrae.v1.ListServersTransportsResponse'> & {
/**
* @generated from field: repeated mantrae.v1.ServersTransport servers_transports = 1;
*/
@@ -317,7 +341,8 @@ export type ListServersTransportsResponse = Message<"mantrae.v1.ListServersTrans
* Describes the message mantrae.v1.ListServersTransportsResponse.
* Use `create(ListServersTransportsResponseSchema)` to create a new message.
*/
export const ListServersTransportsResponseSchema: GenMessage<ListServersTransportsResponse> = /*@__PURE__*/
export const ListServersTransportsResponseSchema: GenMessage<ListServersTransportsResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_servers_transport, 10);
/**
@@ -328,42 +353,40 @@ export const ServersTransportService: GenService<{
* @generated from rpc mantrae.v1.ServersTransportService.GetServersTransport
*/
getServersTransport: {
methodKind: "unary";
methodKind: 'unary';
input: typeof GetServersTransportRequestSchema;
output: typeof GetServersTransportResponseSchema;
},
};
/**
* @generated from rpc mantrae.v1.ServersTransportService.CreateServersTransport
*/
createServersTransport: {
methodKind: "unary";
methodKind: 'unary';
input: typeof CreateServersTransportRequestSchema;
output: typeof CreateServersTransportResponseSchema;
},
};
/**
* @generated from rpc mantrae.v1.ServersTransportService.UpdateServersTransport
*/
updateServersTransport: {
methodKind: "unary";
methodKind: 'unary';
input: typeof UpdateServersTransportRequestSchema;
output: typeof UpdateServersTransportResponseSchema;
},
};
/**
* @generated from rpc mantrae.v1.ServersTransportService.DeleteServersTransport
*/
deleteServersTransport: {
methodKind: "unary";
methodKind: 'unary';
input: typeof DeleteServersTransportRequestSchema;
output: typeof DeleteServersTransportResponseSchema;
},
};
/**
* @generated from rpc mantrae.v1.ServersTransportService.ListServersTransports
*/
listServersTransports: {
methodKind: "unary";
methodKind: 'unary';
input: typeof ListServersTransportsRequestSchema;
output: typeof ListServersTransportsResponseSchema;
},
}> = /*@__PURE__*/
serviceDesc(file_mantrae_v1_servers_transport, 0);
};
}> = /*@__PURE__*/ serviceDesc(file_mantrae_v1_servers_transport, 0);

View File

@@ -2,25 +2,37 @@
// @generated from file mantrae/v1/service.proto (package mantrae.v1, syntax proto3)
/* eslint-disable */
import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
import { file_buf_validate_validate } from "../../buf/validate/validate_pb";
import type { Timestamp } from "@bufbuild/protobuf/wkt";
import { file_google_protobuf_struct, file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
import type { ProtocolType } from "./protocol_pb";
import { file_mantrae_v1_protocol } from "./protocol_pb";
import type { JsonObject, Message } from "@bufbuild/protobuf";
import type { GenFile, GenMessage, GenService } from '@bufbuild/protobuf/codegenv2';
import { fileDesc, messageDesc, serviceDesc } from '@bufbuild/protobuf/codegenv2';
import { file_buf_validate_validate } from '../../buf/validate/validate_pb';
import type { Timestamp } from '@bufbuild/protobuf/wkt';
import {
file_google_protobuf_struct,
file_google_protobuf_timestamp
} from '@bufbuild/protobuf/wkt';
import type { ProtocolType } from './protocol_pb';
import { file_mantrae_v1_protocol } from './protocol_pb';
import type { JsonObject, Message } from '@bufbuild/protobuf';
/**
* Describes the file mantrae/v1/service.proto.
*/
export const file_mantrae_v1_service: GenFile = /*@__PURE__*/
fileDesc("ChhtYW50cmFlL3YxL3NlcnZpY2UucHJvdG8SCm1hbnRyYWUudjEiiwIKB1NlcnZpY2USCgoCaWQYASABKAMSEgoKcHJvZmlsZV9pZBgCIAEoAxIQCghhZ2VudF9pZBgDIAEoCRIMCgRuYW1lGAQgASgJEg8KB2VuYWJsZWQYBSABKAgSJwoGY29uZmlnGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBImCgR0eXBlGAcgASgOMhgubWFudHJhZS52MS5Qcm90b2NvbFR5cGUSLgoKY3JlYXRlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAipwEKEUdldFNlcnZpY2VSZXF1ZXN0EhsKCnByb2ZpbGVfaWQYASABKANCB7pIBCICIAASMAoEdHlwZRgCIAEoDjIYLm1hbnRyYWUudjEuUHJvdG9jb2xUeXBlQgi6SAWCAQIQARIVCgJpZBgDIAEoA0IHukgEIgIgAEgAEhcKBG5hbWUYBCABKAlCB7pIBHICEAFIAEITCgppZGVudGlmaWVyEgW6SAIIASI6ChJHZXRTZXJ2aWNlUmVzcG9uc2USJAoHc2VydmljZRgBIAEoCzITLm1hbnRyYWUudjEuU2VydmljZSLaAQoUQ3JlYXRlU2VydmljZVJlcXVlc3QSGwoKcHJvZmlsZV9pZBgBIAEoA0IHukgEIgIgABIVCghhZ2VudF9pZBgCIAEoCUgAiAEBEhUKBG5hbWUYAyABKAlCB7pIBHICEAESJwoGY29uZmlnGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIPCgdlbmFibGVkGAUgASgIEjAKBHR5cGUYBiABKA4yGC5tYW50cmFlLnYxLlByb3RvY29sVHlwZUIIukgFggECEAFCCwoJX2FnZW50X2lkIj0KFUNyZWF0ZVNlcnZpY2VSZXNwb25zZRIkCgdzZXJ2aWNlGAEgASgLMhMubWFudHJhZS52MS5TZXJ2aWNlIq4BChRVcGRhdGVTZXJ2aWNlUmVxdWVzdBITCgJpZBgBIAEoA0IHukgEIgIgABIVCgRuYW1lGAIgASgJQge6SARyAhABEg8KB2VuYWJsZWQYAyABKAgSJwoGY29uZmlnGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIwCgR0eXBlGAUgASgOMhgubWFudHJhZS52MS5Qcm90b2NvbFR5cGVCCLpIBYIBAhABIj0KFVVwZGF0ZVNlcnZpY2VSZXNwb25zZRIkCgdzZXJ2aWNlGAEgASgLMhMubWFudHJhZS52MS5TZXJ2aWNlIl0KFERlbGV0ZVNlcnZpY2VSZXF1ZXN0EhMKAmlkGAEgASgDQge6SAQiAiAAEjAKBHR5cGUYAiABKA4yGC5tYW50cmFlLnYxLlByb3RvY29sVHlwZUIIukgFggECEAEiFwoVRGVsZXRlU2VydmljZVJlc3BvbnNlIrQCChNMaXN0U2VydmljZXNSZXF1ZXN0EhsKCnByb2ZpbGVfaWQYASABKANCB7pIBCICIAASHgoIYWdlbnRfaWQYAiABKAlCB7pIBHICEAFIAIgBARIrCgR0eXBlGAMgASgOMhgubWFudHJhZS52MS5Qcm90b2NvbFR5cGVIAYgBARJqCgVsaW1pdBgEIAEoA0JWukhTugFQCgtsaW1pdC52YWxpZBIpbGltaXQgbXVzdCBiZSBlaXRoZXIgLTEgb3IgZ3JlYXRlciB0aGFuIDAaFnRoaXMgPT0gLTEgfHwgdGhpcyA+IDBIAogBARIcCgZvZmZzZXQYBSABKANCB7pIBCICKABIA4gBAUILCglfYWdlbnRfaWRCBwoFX3R5cGVCCAoGX2xpbWl0QgkKB19vZmZzZXQiUgoUTGlzdFNlcnZpY2VzUmVzcG9uc2USJQoIc2VydmljZXMYASADKAsyEy5tYW50cmFlLnYxLlNlcnZpY2USEwoLdG90YWxfY291bnQYAiABKAMyvAMKDlNlcnZpY2VTZXJ2aWNlElAKCkdldFNlcnZpY2USHS5tYW50cmFlLnYxLkdldFNlcnZpY2VSZXF1ZXN0Gh4ubWFudHJhZS52MS5HZXRTZXJ2aWNlUmVzcG9uc2UiA5ACARJUCg1DcmVhdGVTZXJ2aWNlEiAubWFudHJhZS52MS5DcmVhdGVTZXJ2aWNlUmVxdWVzdBohLm1hbnRyYWUudjEuQ3JlYXRlU2VydmljZVJlc3BvbnNlElQKDVVwZGF0ZVNlcnZpY2USIC5tYW50cmFlLnYxLlVwZGF0ZVNlcnZpY2VSZXF1ZXN0GiEubWFudHJhZS52MS5VcGRhdGVTZXJ2aWNlUmVzcG9uc2USVAoNRGVsZXRlU2VydmljZRIgLm1hbnRyYWUudjEuRGVsZXRlU2VydmljZVJlcXVlc3QaIS5tYW50cmFlLnYxLkRlbGV0ZVNlcnZpY2VSZXNwb25zZRJWCgxMaXN0U2VydmljZXMSHy5tYW50cmFlLnYxLkxpc3RTZXJ2aWNlc1JlcXVlc3QaIC5tYW50cmFlLnYxLkxpc3RTZXJ2aWNlc1Jlc3BvbnNlIgOQAgFCpgEKDmNvbS5tYW50cmFlLnYxQgxTZXJ2aWNlUHJvdG9QAVo9Z2l0aHViLmNvbS9taXp1Y2hpbGFicy9tYW50cmFlL3Byb3RvL2dlbi9tYW50cmFlL3YxO21hbnRyYWV2MaICA01YWKoCCk1hbnRyYWUuVjHKAgpNYW50cmFlXFYx4gIWTWFudHJhZVxWMVxHUEJNZXRhZGF0YeoCC01hbnRyYWU6OlYxYgZwcm90bzM", [file_buf_validate_validate, file_google_protobuf_struct, file_google_protobuf_timestamp, file_mantrae_v1_protocol]);
export const file_mantrae_v1_service: GenFile =
/*@__PURE__*/
fileDesc(
'ChhtYW50cmFlL3YxL3NlcnZpY2UucHJvdG8SCm1hbnRyYWUudjEiiwIKB1NlcnZpY2USCgoCaWQYASABKAMSEgoKcHJvZmlsZV9pZBgCIAEoAxIQCghhZ2VudF9pZBgDIAEoCRIMCgRuYW1lGAQgASgJEg8KB2VuYWJsZWQYBSABKAgSJwoGY29uZmlnGAYgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBImCgR0eXBlGAcgASgOMhgubWFudHJhZS52MS5Qcm90b2NvbFR5cGUSLgoKY3JlYXRlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAipwEKEUdldFNlcnZpY2VSZXF1ZXN0EhsKCnByb2ZpbGVfaWQYASABKANCB7pIBCICIAASMAoEdHlwZRgCIAEoDjIYLm1hbnRyYWUudjEuUHJvdG9jb2xUeXBlQgi6SAWCAQIQARIVCgJpZBgDIAEoA0IHukgEIgIgAEgAEhcKBG5hbWUYBCABKAlCB7pIBHICEAFIAEITCgppZGVudGlmaWVyEgW6SAIIASI6ChJHZXRTZXJ2aWNlUmVzcG9uc2USJAoHc2VydmljZRgBIAEoCzITLm1hbnRyYWUudjEuU2VydmljZSLaAQoUQ3JlYXRlU2VydmljZVJlcXVlc3QSGwoKcHJvZmlsZV9pZBgBIAEoA0IHukgEIgIgABIVCghhZ2VudF9pZBgCIAEoCUgAiAEBEhUKBG5hbWUYAyABKAlCB7pIBHICEAESJwoGY29uZmlnGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIPCgdlbmFibGVkGAUgASgIEjAKBHR5cGUYBiABKA4yGC5tYW50cmFlLnYxLlByb3RvY29sVHlwZUIIukgFggECEAFCCwoJX2FnZW50X2lkIj0KFUNyZWF0ZVNlcnZpY2VSZXNwb25zZRIkCgdzZXJ2aWNlGAEgASgLMhMubWFudHJhZS52MS5TZXJ2aWNlIq4BChRVcGRhdGVTZXJ2aWNlUmVxdWVzdBITCgJpZBgBIAEoA0IHukgEIgIgABIVCgRuYW1lGAIgASgJQge6SARyAhABEg8KB2VuYWJsZWQYAyABKAgSJwoGY29uZmlnGAQgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIwCgR0eXBlGAUgASgOMhgubWFudHJhZS52MS5Qcm90b2NvbFR5cGVCCLpIBYIBAhABIj0KFVVwZGF0ZVNlcnZpY2VSZXNwb25zZRIkCgdzZXJ2aWNlGAEgASgLMhMubWFudHJhZS52MS5TZXJ2aWNlIl0KFERlbGV0ZVNlcnZpY2VSZXF1ZXN0EhMKAmlkGAEgASgDQge6SAQiAiAAEjAKBHR5cGUYAiABKA4yGC5tYW50cmFlLnYxLlByb3RvY29sVHlwZUIIukgFggECEAEiFwoVRGVsZXRlU2VydmljZVJlc3BvbnNlIrQCChNMaXN0U2VydmljZXNSZXF1ZXN0EhsKCnByb2ZpbGVfaWQYASABKANCB7pIBCICIAASHgoIYWdlbnRfaWQYAiABKAlCB7pIBHICEAFIAIgBARIrCgR0eXBlGAMgASgOMhgubWFudHJhZS52MS5Qcm90b2NvbFR5cGVIAYgBARJqCgVsaW1pdBgEIAEoA0JWukhTugFQCgtsaW1pdC52YWxpZBIpbGltaXQgbXVzdCBiZSBlaXRoZXIgLTEgb3IgZ3JlYXRlciB0aGFuIDAaFnRoaXMgPT0gLTEgfHwgdGhpcyA+IDBIAogBARIcCgZvZmZzZXQYBSABKANCB7pIBCICKABIA4gBAUILCglfYWdlbnRfaWRCBwoFX3R5cGVCCAoGX2xpbWl0QgkKB19vZmZzZXQiUgoUTGlzdFNlcnZpY2VzUmVzcG9uc2USJQoIc2VydmljZXMYASADKAsyEy5tYW50cmFlLnYxLlNlcnZpY2USEwoLdG90YWxfY291bnQYAiABKAMyvAMKDlNlcnZpY2VTZXJ2aWNlElAKCkdldFNlcnZpY2USHS5tYW50cmFlLnYxLkdldFNlcnZpY2VSZXF1ZXN0Gh4ubWFudHJhZS52MS5HZXRTZXJ2aWNlUmVzcG9uc2UiA5ACARJUCg1DcmVhdGVTZXJ2aWNlEiAubWFudHJhZS52MS5DcmVhdGVTZXJ2aWNlUmVxdWVzdBohLm1hbnRyYWUudjEuQ3JlYXRlU2VydmljZVJlc3BvbnNlElQKDVVwZGF0ZVNlcnZpY2USIC5tYW50cmFlLnYxLlVwZGF0ZVNlcnZpY2VSZXF1ZXN0GiEubWFudHJhZS52MS5VcGRhdGVTZXJ2aWNlUmVzcG9uc2USVAoNRGVsZXRlU2VydmljZRIgLm1hbnRyYWUudjEuRGVsZXRlU2VydmljZVJlcXVlc3QaIS5tYW50cmFlLnYxLkRlbGV0ZVNlcnZpY2VSZXNwb25zZRJWCgxMaXN0U2VydmljZXMSHy5tYW50cmFlLnYxLkxpc3RTZXJ2aWNlc1JlcXVlc3QaIC5tYW50cmFlLnYxLkxpc3RTZXJ2aWNlc1Jlc3BvbnNlIgOQAgFCpgEKDmNvbS5tYW50cmFlLnYxQgxTZXJ2aWNlUHJvdG9QAVo9Z2l0aHViLmNvbS9taXp1Y2hpbGFicy9tYW50cmFlL3Byb3RvL2dlbi9tYW50cmFlL3YxO21hbnRyYWV2MaICA01YWKoCCk1hbnRyYWUuVjHKAgpNYW50cmFlXFYx4gIWTWFudHJhZVxWMVxHUEJNZXRhZGF0YeoCC01hbnRyYWU6OlYxYgZwcm90bzM',
[
file_buf_validate_validate,
file_google_protobuf_struct,
file_google_protobuf_timestamp,
file_mantrae_v1_protocol
]
);
/**
* @generated from message mantrae.v1.Service
*/
export type Service = Message<"mantrae.v1.Service"> & {
export type Service = Message<'mantrae.v1.Service'> & {
/**
* @generated from field: int64 id = 1;
*/
@@ -71,13 +83,14 @@ export type Service = Message<"mantrae.v1.Service"> & {
* Describes the message mantrae.v1.Service.
* Use `create(ServiceSchema)` to create a new message.
*/
export const ServiceSchema: GenMessage<Service> = /*@__PURE__*/
export const ServiceSchema: GenMessage<Service> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_service, 0);
/**
* @generated from message mantrae.v1.GetServiceRequest
*/
export type GetServiceRequest = Message<"mantrae.v1.GetServiceRequest"> & {
export type GetServiceRequest = Message<'mantrae.v1.GetServiceRequest'> & {
/**
* @generated from field: int64 profile_id = 1;
*/
@@ -91,32 +104,36 @@ export type GetServiceRequest = Message<"mantrae.v1.GetServiceRequest"> & {
/**
* @generated from oneof mantrae.v1.GetServiceRequest.identifier
*/
identifier: {
identifier:
| {
/**
* @generated from field: int64 id = 3;
*/
value: bigint;
case: "id";
} | {
case: 'id';
}
| {
/**
* @generated from field: string name = 4;
*/
value: string;
case: "name";
} | { case: undefined; value?: undefined };
case: 'name';
}
| { case: undefined; value?: undefined };
};
/**
* Describes the message mantrae.v1.GetServiceRequest.
* Use `create(GetServiceRequestSchema)` to create a new message.
*/
export const GetServiceRequestSchema: GenMessage<GetServiceRequest> = /*@__PURE__*/
export const GetServiceRequestSchema: GenMessage<GetServiceRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_service, 1);
/**
* @generated from message mantrae.v1.GetServiceResponse
*/
export type GetServiceResponse = Message<"mantrae.v1.GetServiceResponse"> & {
export type GetServiceResponse = Message<'mantrae.v1.GetServiceResponse'> & {
/**
* @generated from field: mantrae.v1.Service service = 1;
*/
@@ -127,13 +144,14 @@ export type GetServiceResponse = Message<"mantrae.v1.GetServiceResponse"> & {
* Describes the message mantrae.v1.GetServiceResponse.
* Use `create(GetServiceResponseSchema)` to create a new message.
*/
export const GetServiceResponseSchema: GenMessage<GetServiceResponse> = /*@__PURE__*/
export const GetServiceResponseSchema: GenMessage<GetServiceResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_service, 2);
/**
* @generated from message mantrae.v1.CreateServiceRequest
*/
export type CreateServiceRequest = Message<"mantrae.v1.CreateServiceRequest"> & {
export type CreateServiceRequest = Message<'mantrae.v1.CreateServiceRequest'> & {
/**
* @generated from field: int64 profile_id = 1;
*/
@@ -169,13 +187,14 @@ export type CreateServiceRequest = Message<"mantrae.v1.CreateServiceRequest"> &
* Describes the message mantrae.v1.CreateServiceRequest.
* Use `create(CreateServiceRequestSchema)` to create a new message.
*/
export const CreateServiceRequestSchema: GenMessage<CreateServiceRequest> = /*@__PURE__*/
export const CreateServiceRequestSchema: GenMessage<CreateServiceRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_service, 3);
/**
* @generated from message mantrae.v1.CreateServiceResponse
*/
export type CreateServiceResponse = Message<"mantrae.v1.CreateServiceResponse"> & {
export type CreateServiceResponse = Message<'mantrae.v1.CreateServiceResponse'> & {
/**
* @generated from field: mantrae.v1.Service service = 1;
*/
@@ -186,13 +205,14 @@ export type CreateServiceResponse = Message<"mantrae.v1.CreateServiceResponse">
* Describes the message mantrae.v1.CreateServiceResponse.
* Use `create(CreateServiceResponseSchema)` to create a new message.
*/
export const CreateServiceResponseSchema: GenMessage<CreateServiceResponse> = /*@__PURE__*/
export const CreateServiceResponseSchema: GenMessage<CreateServiceResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_service, 4);
/**
* @generated from message mantrae.v1.UpdateServiceRequest
*/
export type UpdateServiceRequest = Message<"mantrae.v1.UpdateServiceRequest"> & {
export type UpdateServiceRequest = Message<'mantrae.v1.UpdateServiceRequest'> & {
/**
* @generated from field: int64 id = 1;
*/
@@ -223,13 +243,14 @@ export type UpdateServiceRequest = Message<"mantrae.v1.UpdateServiceRequest"> &
* Describes the message mantrae.v1.UpdateServiceRequest.
* Use `create(UpdateServiceRequestSchema)` to create a new message.
*/
export const UpdateServiceRequestSchema: GenMessage<UpdateServiceRequest> = /*@__PURE__*/
export const UpdateServiceRequestSchema: GenMessage<UpdateServiceRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_service, 5);
/**
* @generated from message mantrae.v1.UpdateServiceResponse
*/
export type UpdateServiceResponse = Message<"mantrae.v1.UpdateServiceResponse"> & {
export type UpdateServiceResponse = Message<'mantrae.v1.UpdateServiceResponse'> & {
/**
* @generated from field: mantrae.v1.Service service = 1;
*/
@@ -240,13 +261,14 @@ export type UpdateServiceResponse = Message<"mantrae.v1.UpdateServiceResponse">
* Describes the message mantrae.v1.UpdateServiceResponse.
* Use `create(UpdateServiceResponseSchema)` to create a new message.
*/
export const UpdateServiceResponseSchema: GenMessage<UpdateServiceResponse> = /*@__PURE__*/
export const UpdateServiceResponseSchema: GenMessage<UpdateServiceResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_service, 6);
/**
* @generated from message mantrae.v1.DeleteServiceRequest
*/
export type DeleteServiceRequest = Message<"mantrae.v1.DeleteServiceRequest"> & {
export type DeleteServiceRequest = Message<'mantrae.v1.DeleteServiceRequest'> & {
/**
* @generated from field: int64 id = 1;
*/
@@ -262,26 +284,27 @@ export type DeleteServiceRequest = Message<"mantrae.v1.DeleteServiceRequest"> &
* Describes the message mantrae.v1.DeleteServiceRequest.
* Use `create(DeleteServiceRequestSchema)` to create a new message.
*/
export const DeleteServiceRequestSchema: GenMessage<DeleteServiceRequest> = /*@__PURE__*/
export const DeleteServiceRequestSchema: GenMessage<DeleteServiceRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_service, 7);
/**
* @generated from message mantrae.v1.DeleteServiceResponse
*/
export type DeleteServiceResponse = Message<"mantrae.v1.DeleteServiceResponse"> & {
};
export type DeleteServiceResponse = Message<'mantrae.v1.DeleteServiceResponse'> & {};
/**
* Describes the message mantrae.v1.DeleteServiceResponse.
* Use `create(DeleteServiceResponseSchema)` to create a new message.
*/
export const DeleteServiceResponseSchema: GenMessage<DeleteServiceResponse> = /*@__PURE__*/
export const DeleteServiceResponseSchema: GenMessage<DeleteServiceResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_service, 8);
/**
* @generated from message mantrae.v1.ListServicesRequest
*/
export type ListServicesRequest = Message<"mantrae.v1.ListServicesRequest"> & {
export type ListServicesRequest = Message<'mantrae.v1.ListServicesRequest'> & {
/**
* @generated from field: int64 profile_id = 1;
*/
@@ -312,13 +335,14 @@ export type ListServicesRequest = Message<"mantrae.v1.ListServicesRequest"> & {
* Describes the message mantrae.v1.ListServicesRequest.
* Use `create(ListServicesRequestSchema)` to create a new message.
*/
export const ListServicesRequestSchema: GenMessage<ListServicesRequest> = /*@__PURE__*/
export const ListServicesRequestSchema: GenMessage<ListServicesRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_service, 9);
/**
* @generated from message mantrae.v1.ListServicesResponse
*/
export type ListServicesResponse = Message<"mantrae.v1.ListServicesResponse"> & {
export type ListServicesResponse = Message<'mantrae.v1.ListServicesResponse'> & {
/**
* @generated from field: repeated mantrae.v1.Service services = 1;
*/
@@ -334,7 +358,8 @@ export type ListServicesResponse = Message<"mantrae.v1.ListServicesResponse"> &
* Describes the message mantrae.v1.ListServicesResponse.
* Use `create(ListServicesResponseSchema)` to create a new message.
*/
export const ListServicesResponseSchema: GenMessage<ListServicesResponse> = /*@__PURE__*/
export const ListServicesResponseSchema: GenMessage<ListServicesResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_service, 10);
/**
@@ -345,42 +370,40 @@ export const ServiceService: GenService<{
* @generated from rpc mantrae.v1.ServiceService.GetService
*/
getService: {
methodKind: "unary";
methodKind: 'unary';
input: typeof GetServiceRequestSchema;
output: typeof GetServiceResponseSchema;
},
};
/**
* @generated from rpc mantrae.v1.ServiceService.CreateService
*/
createService: {
methodKind: "unary";
methodKind: 'unary';
input: typeof CreateServiceRequestSchema;
output: typeof CreateServiceResponseSchema;
},
};
/**
* @generated from rpc mantrae.v1.ServiceService.UpdateService
*/
updateService: {
methodKind: "unary";
methodKind: 'unary';
input: typeof UpdateServiceRequestSchema;
output: typeof UpdateServiceResponseSchema;
},
};
/**
* @generated from rpc mantrae.v1.ServiceService.DeleteService
*/
deleteService: {
methodKind: "unary";
methodKind: 'unary';
input: typeof DeleteServiceRequestSchema;
output: typeof DeleteServiceResponseSchema;
},
};
/**
* @generated from rpc mantrae.v1.ServiceService.ListServices
*/
listServices: {
methodKind: "unary";
methodKind: 'unary';
input: typeof ListServicesRequestSchema;
output: typeof ListServicesResponseSchema;
},
}> = /*@__PURE__*/
serviceDesc(file_mantrae_v1_service, 0);
};
}> = /*@__PURE__*/ serviceDesc(file_mantrae_v1_service, 0);

View File

@@ -2,23 +2,27 @@
// @generated from file mantrae/v1/setting.proto (package mantrae.v1, syntax proto3)
/* eslint-disable */
import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
import { file_buf_validate_validate } from "../../buf/validate/validate_pb";
import type { Timestamp } from "@bufbuild/protobuf/wkt";
import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
import type { Message } from "@bufbuild/protobuf";
import type { GenFile, GenMessage, GenService } from '@bufbuild/protobuf/codegenv2';
import { fileDesc, messageDesc, serviceDesc } from '@bufbuild/protobuf/codegenv2';
import { file_buf_validate_validate } from '../../buf/validate/validate_pb';
import type { Timestamp } from '@bufbuild/protobuf/wkt';
import { file_google_protobuf_timestamp } from '@bufbuild/protobuf/wkt';
import type { Message } from '@bufbuild/protobuf';
/**
* Describes the file mantrae/v1/setting.proto.
*/
export const file_mantrae_v1_setting: GenFile = /*@__PURE__*/
fileDesc("ChhtYW50cmFlL3YxL3NldHRpbmcucHJvdG8SCm1hbnRyYWUudjEiVQoHU2V0dGluZxILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAkSLgoKdXBkYXRlZF9hdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiKQoRR2V0U2V0dGluZ1JlcXVlc3QSFAoDa2V5GAEgASgJQge6SARyAhABIiMKEkdldFNldHRpbmdSZXNwb25zZRINCgV2YWx1ZRgBIAEoCSI7ChRVcGRhdGVTZXR0aW5nUmVxdWVzdBIUCgNrZXkYASABKAlCB7pIBHICEAESDQoFdmFsdWUYAiABKAkiPQoVVXBkYXRlU2V0dGluZ1Jlc3BvbnNlEiQKB3NldHRpbmcYASABKAsyEy5tYW50cmFlLnYxLlNldHRpbmciFQoTTGlzdFNldHRpbmdzUmVxdWVzdCI9ChRMaXN0U2V0dGluZ3NSZXNwb25zZRIlCghzZXR0aW5ncxgBIAMoCzITLm1hbnRyYWUudjEuU2V0dGluZzKQAgoOU2V0dGluZ1NlcnZpY2USUAoKR2V0U2V0dGluZxIdLm1hbnRyYWUudjEuR2V0U2V0dGluZ1JlcXVlc3QaHi5tYW50cmFlLnYxLkdldFNldHRpbmdSZXNwb25zZSIDkAIBElQKDVVwZGF0ZVNldHRpbmcSIC5tYW50cmFlLnYxLlVwZGF0ZVNldHRpbmdSZXF1ZXN0GiEubWFudHJhZS52MS5VcGRhdGVTZXR0aW5nUmVzcG9uc2USVgoMTGlzdFNldHRpbmdzEh8ubWFudHJhZS52MS5MaXN0U2V0dGluZ3NSZXF1ZXN0GiAubWFudHJhZS52MS5MaXN0U2V0dGluZ3NSZXNwb25zZSIDkAIBQqYBCg5jb20ubWFudHJhZS52MUIMU2V0dGluZ1Byb3RvUAFaPWdpdGh1Yi5jb20vbWl6dWNoaWxhYnMvbWFudHJhZS9wcm90by9nZW4vbWFudHJhZS92MTttYW50cmFldjGiAgNNWFiqAgpNYW50cmFlLlYxygIKTWFudHJhZVxWMeICFk1hbnRyYWVcVjFcR1BCTWV0YWRhdGHqAgtNYW50cmFlOjpWMWIGcHJvdG8z", [file_buf_validate_validate, file_google_protobuf_timestamp]);
export const file_mantrae_v1_setting: GenFile =
/*@__PURE__*/
fileDesc(
'ChhtYW50cmFlL3YxL3NldHRpbmcucHJvdG8SCm1hbnRyYWUudjEiVQoHU2V0dGluZxILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAkSLgoKdXBkYXRlZF9hdBgDIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiKQoRR2V0U2V0dGluZ1JlcXVlc3QSFAoDa2V5GAEgASgJQge6SARyAhABIiMKEkdldFNldHRpbmdSZXNwb25zZRINCgV2YWx1ZRgBIAEoCSI7ChRVcGRhdGVTZXR0aW5nUmVxdWVzdBIUCgNrZXkYASABKAlCB7pIBHICEAESDQoFdmFsdWUYAiABKAkiPQoVVXBkYXRlU2V0dGluZ1Jlc3BvbnNlEiQKB3NldHRpbmcYASABKAsyEy5tYW50cmFlLnYxLlNldHRpbmciFQoTTGlzdFNldHRpbmdzUmVxdWVzdCI9ChRMaXN0U2V0dGluZ3NSZXNwb25zZRIlCghzZXR0aW5ncxgBIAMoCzITLm1hbnRyYWUudjEuU2V0dGluZzKQAgoOU2V0dGluZ1NlcnZpY2USUAoKR2V0U2V0dGluZxIdLm1hbnRyYWUudjEuR2V0U2V0dGluZ1JlcXVlc3QaHi5tYW50cmFlLnYxLkdldFNldHRpbmdSZXNwb25zZSIDkAIBElQKDVVwZGF0ZVNldHRpbmcSIC5tYW50cmFlLnYxLlVwZGF0ZVNldHRpbmdSZXF1ZXN0GiEubWFudHJhZS52MS5VcGRhdGVTZXR0aW5nUmVzcG9uc2USVgoMTGlzdFNldHRpbmdzEh8ubWFudHJhZS52MS5MaXN0U2V0dGluZ3NSZXF1ZXN0GiAubWFudHJhZS52MS5MaXN0U2V0dGluZ3NSZXNwb25zZSIDkAIBQqYBCg5jb20ubWFudHJhZS52MUIMU2V0dGluZ1Byb3RvUAFaPWdpdGh1Yi5jb20vbWl6dWNoaWxhYnMvbWFudHJhZS9wcm90by9nZW4vbWFudHJhZS92MTttYW50cmFldjGiAgNNWFiqAgpNYW50cmFlLlYxygIKTWFudHJhZVxWMeICFk1hbnRyYWVcVjFcR1BCTWV0YWRhdGHqAgtNYW50cmFlOjpWMWIGcHJvdG8z',
[file_buf_validate_validate, file_google_protobuf_timestamp]
);
/**
* @generated from message mantrae.v1.Setting
*/
export type Setting = Message<"mantrae.v1.Setting"> & {
export type Setting = Message<'mantrae.v1.Setting'> & {
/**
* @generated from field: string key = 1;
*/
@@ -39,13 +43,14 @@ export type Setting = Message<"mantrae.v1.Setting"> & {
* Describes the message mantrae.v1.Setting.
* Use `create(SettingSchema)` to create a new message.
*/
export const SettingSchema: GenMessage<Setting> = /*@__PURE__*/
export const SettingSchema: GenMessage<Setting> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_setting, 0);
/**
* @generated from message mantrae.v1.GetSettingRequest
*/
export type GetSettingRequest = Message<"mantrae.v1.GetSettingRequest"> & {
export type GetSettingRequest = Message<'mantrae.v1.GetSettingRequest'> & {
/**
* @generated from field: string key = 1;
*/
@@ -56,13 +61,14 @@ export type GetSettingRequest = Message<"mantrae.v1.GetSettingRequest"> & {
* Describes the message mantrae.v1.GetSettingRequest.
* Use `create(GetSettingRequestSchema)` to create a new message.
*/
export const GetSettingRequestSchema: GenMessage<GetSettingRequest> = /*@__PURE__*/
export const GetSettingRequestSchema: GenMessage<GetSettingRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_setting, 1);
/**
* @generated from message mantrae.v1.GetSettingResponse
*/
export type GetSettingResponse = Message<"mantrae.v1.GetSettingResponse"> & {
export type GetSettingResponse = Message<'mantrae.v1.GetSettingResponse'> & {
/**
* @generated from field: string value = 1;
*/
@@ -73,13 +79,14 @@ export type GetSettingResponse = Message<"mantrae.v1.GetSettingResponse"> & {
* Describes the message mantrae.v1.GetSettingResponse.
* Use `create(GetSettingResponseSchema)` to create a new message.
*/
export const GetSettingResponseSchema: GenMessage<GetSettingResponse> = /*@__PURE__*/
export const GetSettingResponseSchema: GenMessage<GetSettingResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_setting, 2);
/**
* @generated from message mantrae.v1.UpdateSettingRequest
*/
export type UpdateSettingRequest = Message<"mantrae.v1.UpdateSettingRequest"> & {
export type UpdateSettingRequest = Message<'mantrae.v1.UpdateSettingRequest'> & {
/**
* @generated from field: string key = 1;
*/
@@ -95,13 +102,14 @@ export type UpdateSettingRequest = Message<"mantrae.v1.UpdateSettingRequest"> &
* Describes the message mantrae.v1.UpdateSettingRequest.
* Use `create(UpdateSettingRequestSchema)` to create a new message.
*/
export const UpdateSettingRequestSchema: GenMessage<UpdateSettingRequest> = /*@__PURE__*/
export const UpdateSettingRequestSchema: GenMessage<UpdateSettingRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_setting, 3);
/**
* @generated from message mantrae.v1.UpdateSettingResponse
*/
export type UpdateSettingResponse = Message<"mantrae.v1.UpdateSettingResponse"> & {
export type UpdateSettingResponse = Message<'mantrae.v1.UpdateSettingResponse'> & {
/**
* @generated from field: mantrae.v1.Setting setting = 1;
*/
@@ -112,26 +120,27 @@ export type UpdateSettingResponse = Message<"mantrae.v1.UpdateSettingResponse">
* Describes the message mantrae.v1.UpdateSettingResponse.
* Use `create(UpdateSettingResponseSchema)` to create a new message.
*/
export const UpdateSettingResponseSchema: GenMessage<UpdateSettingResponse> = /*@__PURE__*/
export const UpdateSettingResponseSchema: GenMessage<UpdateSettingResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_setting, 4);
/**
* @generated from message mantrae.v1.ListSettingsRequest
*/
export type ListSettingsRequest = Message<"mantrae.v1.ListSettingsRequest"> & {
};
export type ListSettingsRequest = Message<'mantrae.v1.ListSettingsRequest'> & {};
/**
* Describes the message mantrae.v1.ListSettingsRequest.
* Use `create(ListSettingsRequestSchema)` to create a new message.
*/
export const ListSettingsRequestSchema: GenMessage<ListSettingsRequest> = /*@__PURE__*/
export const ListSettingsRequestSchema: GenMessage<ListSettingsRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_setting, 5);
/**
* @generated from message mantrae.v1.ListSettingsResponse
*/
export type ListSettingsResponse = Message<"mantrae.v1.ListSettingsResponse"> & {
export type ListSettingsResponse = Message<'mantrae.v1.ListSettingsResponse'> & {
/**
* @generated from field: repeated mantrae.v1.Setting settings = 1;
*/
@@ -142,7 +151,8 @@ export type ListSettingsResponse = Message<"mantrae.v1.ListSettingsResponse"> &
* Describes the message mantrae.v1.ListSettingsResponse.
* Use `create(ListSettingsResponseSchema)` to create a new message.
*/
export const ListSettingsResponseSchema: GenMessage<ListSettingsResponse> = /*@__PURE__*/
export const ListSettingsResponseSchema: GenMessage<ListSettingsResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_setting, 6);
/**
@@ -153,26 +163,24 @@ export const SettingService: GenService<{
* @generated from rpc mantrae.v1.SettingService.GetSetting
*/
getSetting: {
methodKind: "unary";
methodKind: 'unary';
input: typeof GetSettingRequestSchema;
output: typeof GetSettingResponseSchema;
},
};
/**
* @generated from rpc mantrae.v1.SettingService.UpdateSetting
*/
updateSetting: {
methodKind: "unary";
methodKind: 'unary';
input: typeof UpdateSettingRequestSchema;
output: typeof UpdateSettingResponseSchema;
},
};
/**
* @generated from rpc mantrae.v1.SettingService.ListSettings
*/
listSettings: {
methodKind: "unary";
methodKind: 'unary';
input: typeof ListSettingsRequestSchema;
output: typeof ListSettingsResponseSchema;
},
}> = /*@__PURE__*/
serviceDesc(file_mantrae_v1_setting, 0);
};
}> = /*@__PURE__*/ serviceDesc(file_mantrae_v1_setting, 0);

View File

@@ -2,80 +2,92 @@
// @generated from file mantrae/v1/traefik_instance.proto (package mantrae.v1, syntax proto3)
/* eslint-disable */
import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
import { file_buf_validate_validate } from "../../buf/validate/validate_pb";
import type { Timestamp } from "@bufbuild/protobuf/wkt";
import { file_google_protobuf_struct, file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
import type { JsonObject, Message } from "@bufbuild/protobuf";
import type { GenFile, GenMessage, GenService } from '@bufbuild/protobuf/codegenv2';
import { fileDesc, messageDesc, serviceDesc } from '@bufbuild/protobuf/codegenv2';
import { file_buf_validate_validate } from '../../buf/validate/validate_pb';
import type { Timestamp } from '@bufbuild/protobuf/wkt';
import {
file_google_protobuf_struct,
file_google_protobuf_timestamp
} from '@bufbuild/protobuf/wkt';
import type { JsonObject, Message } from '@bufbuild/protobuf';
/**
* Describes the file mantrae/v1/traefik_instance.proto.
*/
export const file_mantrae_v1_traefik_instance: GenFile = /*@__PURE__*/
fileDesc("CiFtYW50cmFlL3YxL3RyYWVmaWtfaW5zdGFuY2UucHJvdG8SCm1hbnRyYWUudjEi9gIKD1RyYWVmaWtJbnN0YW5jZRIKCgJpZBgBIAEoAxIMCgRuYW1lGAIgASgJEgsKA3VybBgDIAEoCRIQCgh1c2VybmFtZRgEIAEoCRIQCghwYXNzd29yZBgFIAEoCRILCgN0bHMYBiABKAgSLQoMZW50cnlfcG9pbnRzGAcgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIpCghvdmVydmlldxgIIAEoCzIXLmdvb2dsZS5wcm90b2J1Zi5TdHJ1Y3QSJwoGY29uZmlnGAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIoCgd2ZXJzaW9uGAogASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBIuCgpjcmVhdGVkX2F0GAsgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAwgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCIwChlHZXRUcmFlZmlrSW5zdGFuY2VSZXF1ZXN0EhMKAmlkGAEgASgDQge6SAQiAiAAIlMKGkdldFRyYWVmaWtJbnN0YW5jZVJlc3BvbnNlEjUKEHRyYWVmaWtfaW5zdGFuY2UYASABKAsyGy5tYW50cmFlLnYxLlRyYWVmaWtJbnN0YW5jZSIzChxEZWxldGVUcmFlZmlrSW5zdGFuY2VSZXF1ZXN0EhMKAmlkGAEgASgDQge6SAQiAiAAIh8KHURlbGV0ZVRyYWVmaWtJbnN0YW5jZVJlc3BvbnNlItkBChtMaXN0VHJhZWZpa0luc3RhbmNlc1JlcXVlc3QSGwoKcHJvZmlsZV9pZBgBIAEoA0IHukgEIgIgABJqCgVsaW1pdBgCIAEoA0JWukhTugFQCgtsaW1pdC52YWxpZBIpbGltaXQgbXVzdCBiZSBlaXRoZXIgLTEgb3IgZ3JlYXRlciB0aGFuIDAaFnRoaXMgPT0gLTEgfHwgdGhpcyA+IDBIAIgBARIcCgZvZmZzZXQYAyABKANCB7pIBCICKABIAYgBAUIICgZfbGltaXRCCQoHX29mZnNldCJrChxMaXN0VHJhZWZpa0luc3RhbmNlc1Jlc3BvbnNlEjYKEXRyYWVmaWtfaW5zdGFuY2VzGAEgAygLMhsubWFudHJhZS52MS5UcmFlZmlrSW5zdGFuY2USEwoLdG90YWxfY291bnQYAiABKAMy4AIKFlRyYWVmaWtJbnN0YW5jZVNlcnZpY2USaAoSR2V0VHJhZWZpa0luc3RhbmNlEiUubWFudHJhZS52MS5HZXRUcmFlZmlrSW5zdGFuY2VSZXF1ZXN0GiYubWFudHJhZS52MS5HZXRUcmFlZmlrSW5zdGFuY2VSZXNwb25zZSIDkAIBEmwKFURlbGV0ZVRyYWVmaWtJbnN0YW5jZRIoLm1hbnRyYWUudjEuRGVsZXRlVHJhZWZpa0luc3RhbmNlUmVxdWVzdBopLm1hbnRyYWUudjEuRGVsZXRlVHJhZWZpa0luc3RhbmNlUmVzcG9uc2USbgoUTGlzdFRyYWVmaWtJbnN0YW5jZXMSJy5tYW50cmFlLnYxLkxpc3RUcmFlZmlrSW5zdGFuY2VzUmVxdWVzdBooLm1hbnRyYWUudjEuTGlzdFRyYWVmaWtJbnN0YW5jZXNSZXNwb25zZSIDkAIBQq4BCg5jb20ubWFudHJhZS52MUIUVHJhZWZpa0luc3RhbmNlUHJvdG9QAVo9Z2l0aHViLmNvbS9taXp1Y2hpbGFicy9tYW50cmFlL3Byb3RvL2dlbi9tYW50cmFlL3YxO21hbnRyYWV2MaICA01YWKoCCk1hbnRyYWUuVjHKAgpNYW50cmFlXFYx4gIWTWFudHJhZVxWMVxHUEJNZXRhZGF0YeoCC01hbnRyYWU6OlYxYgZwcm90bzM", [file_buf_validate_validate, file_google_protobuf_struct, file_google_protobuf_timestamp]);
export const file_mantrae_v1_traefik_instance: GenFile =
/*@__PURE__*/
fileDesc(
'CiFtYW50cmFlL3YxL3RyYWVmaWtfaW5zdGFuY2UucHJvdG8SCm1hbnRyYWUudjEiigMKD1RyYWVmaWtJbnN0YW5jZRIKCgJpZBgBIAEoAxISCgpwcm9maWxlX2lkGAIgASgDEgwKBG5hbWUYAyABKAkSCwoDdXJsGAQgASgJEhAKCHVzZXJuYW1lGAUgASgJEhAKCHBhc3N3b3JkGAYgASgJEgsKA3RscxgHIAEoCBItCgxlbnRyeV9wb2ludHMYCCABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EikKCG92ZXJ2aWV3GAkgASgLMhcuZ29vZ2xlLnByb3RvYnVmLlN0cnVjdBInCgZjb25maWcYCiABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0EigKB3ZlcnNpb24YCyABKAsyFy5nb29nbGUucHJvdG9idWYuU3RydWN0Ei4KCmNyZWF0ZWRfYXQYDCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYDSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIjAKGUdldFRyYWVmaWtJbnN0YW5jZVJlcXVlc3QSEwoCaWQYASABKANCB7pIBCICIAAiUwoaR2V0VHJhZWZpa0luc3RhbmNlUmVzcG9uc2USNQoQdHJhZWZpa19pbnN0YW5jZRgBIAEoCzIbLm1hbnRyYWUudjEuVHJhZWZpa0luc3RhbmNlIjMKHERlbGV0ZVRyYWVmaWtJbnN0YW5jZVJlcXVlc3QSEwoCaWQYASABKANCB7pIBCICIAAiHwodRGVsZXRlVHJhZWZpa0luc3RhbmNlUmVzcG9uc2Ui2QEKG0xpc3RUcmFlZmlrSW5zdGFuY2VzUmVxdWVzdBIbCgpwcm9maWxlX2lkGAEgASgDQge6SAQiAiAAEmoKBWxpbWl0GAIgASgDQla6SFO6AVAKC2xpbWl0LnZhbGlkEilsaW1pdCBtdXN0IGJlIGVpdGhlciAtMSBvciBncmVhdGVyIHRoYW4gMBoWdGhpcyA9PSAtMSB8fCB0aGlzID4gMEgAiAEBEhwKBm9mZnNldBgDIAEoA0IHukgEIgIoAEgBiAEBQggKBl9saW1pdEIJCgdfb2Zmc2V0ImsKHExpc3RUcmFlZmlrSW5zdGFuY2VzUmVzcG9uc2USNgoRdHJhZWZpa19pbnN0YW5jZXMYASADKAsyGy5tYW50cmFlLnYxLlRyYWVmaWtJbnN0YW5jZRITCgt0b3RhbF9jb3VudBgCIAEoAzLgAgoWVHJhZWZpa0luc3RhbmNlU2VydmljZRJoChJHZXRUcmFlZmlrSW5zdGFuY2USJS5tYW50cmFlLnYxLkdldFRyYWVmaWtJbnN0YW5jZVJlcXVlc3QaJi5tYW50cmFlLnYxLkdldFRyYWVmaWtJbnN0YW5jZVJlc3BvbnNlIgOQAgESbAoVRGVsZXRlVHJhZWZpa0luc3RhbmNlEigubWFudHJhZS52MS5EZWxldGVUcmFlZmlrSW5zdGFuY2VSZXF1ZXN0GikubWFudHJhZS52MS5EZWxldGVUcmFlZmlrSW5zdGFuY2VSZXNwb25zZRJuChRMaXN0VHJhZWZpa0luc3RhbmNlcxInLm1hbnRyYWUudjEuTGlzdFRyYWVmaWtJbnN0YW5jZXNSZXF1ZXN0GigubWFudHJhZS52MS5MaXN0VHJhZWZpa0luc3RhbmNlc1Jlc3BvbnNlIgOQAgFCrgEKDmNvbS5tYW50cmFlLnYxQhRUcmFlZmlrSW5zdGFuY2VQcm90b1ABWj1naXRodWIuY29tL21penVjaGlsYWJzL21hbnRyYWUvcHJvdG8vZ2VuL21hbnRyYWUvdjE7bWFudHJhZXYxogIDTVhYqgIKTWFudHJhZS5WMcoCCk1hbnRyYWVcVjHiAhZNYW50cmFlXFYxXEdQQk1ldGFkYXRh6gILTWFudHJhZTo6VjFiBnByb3RvMw',
[file_buf_validate_validate, file_google_protobuf_struct, file_google_protobuf_timestamp]
);
/**
* @generated from message mantrae.v1.TraefikInstance
*/
export type TraefikInstance = Message<"mantrae.v1.TraefikInstance"> & {
export type TraefikInstance = Message<'mantrae.v1.TraefikInstance'> & {
/**
* @generated from field: int64 id = 1;
*/
id: bigint;
/**
* @generated from field: string name = 2;
* @generated from field: int64 profile_id = 2;
*/
profileId: bigint;
/**
* @generated from field: string name = 3;
*/
name: string;
/**
* @generated from field: string url = 3;
* @generated from field: string url = 4;
*/
url: string;
/**
* @generated from field: string username = 4;
* @generated from field: string username = 5;
*/
username: string;
/**
* @generated from field: string password = 5;
* @generated from field: string password = 6;
*/
password: string;
/**
* @generated from field: bool tls = 6;
* @generated from field: bool tls = 7;
*/
tls: boolean;
/**
* @generated from field: google.protobuf.Struct entry_points = 7;
* @generated from field: google.protobuf.Struct entry_points = 8;
*/
entryPoints?: JsonObject;
/**
* @generated from field: google.protobuf.Struct overview = 8;
* @generated from field: google.protobuf.Struct overview = 9;
*/
overview?: JsonObject;
/**
* @generated from field: google.protobuf.Struct config = 9;
* @generated from field: google.protobuf.Struct config = 10;
*/
config?: JsonObject;
/**
* @generated from field: google.protobuf.Struct version = 10;
* @generated from field: google.protobuf.Struct version = 11;
*/
version?: JsonObject;
/**
* @generated from field: google.protobuf.Timestamp created_at = 11;
* @generated from field: google.protobuf.Timestamp created_at = 12;
*/
createdAt?: Timestamp;
/**
* @generated from field: google.protobuf.Timestamp updated_at = 12;
* @generated from field: google.protobuf.Timestamp updated_at = 13;
*/
updatedAt?: Timestamp;
};
@@ -84,13 +96,14 @@ export type TraefikInstance = Message<"mantrae.v1.TraefikInstance"> & {
* Describes the message mantrae.v1.TraefikInstance.
* Use `create(TraefikInstanceSchema)` to create a new message.
*/
export const TraefikInstanceSchema: GenMessage<TraefikInstance> = /*@__PURE__*/
export const TraefikInstanceSchema: GenMessage<TraefikInstance> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_traefik_instance, 0);
/**
* @generated from message mantrae.v1.GetTraefikInstanceRequest
*/
export type GetTraefikInstanceRequest = Message<"mantrae.v1.GetTraefikInstanceRequest"> & {
export type GetTraefikInstanceRequest = Message<'mantrae.v1.GetTraefikInstanceRequest'> & {
/**
* @generated from field: int64 id = 1;
*/
@@ -101,13 +114,14 @@ export type GetTraefikInstanceRequest = Message<"mantrae.v1.GetTraefikInstanceRe
* Describes the message mantrae.v1.GetTraefikInstanceRequest.
* Use `create(GetTraefikInstanceRequestSchema)` to create a new message.
*/
export const GetTraefikInstanceRequestSchema: GenMessage<GetTraefikInstanceRequest> = /*@__PURE__*/
export const GetTraefikInstanceRequestSchema: GenMessage<GetTraefikInstanceRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_traefik_instance, 1);
/**
* @generated from message mantrae.v1.GetTraefikInstanceResponse
*/
export type GetTraefikInstanceResponse = Message<"mantrae.v1.GetTraefikInstanceResponse"> & {
export type GetTraefikInstanceResponse = Message<'mantrae.v1.GetTraefikInstanceResponse'> & {
/**
* @generated from field: mantrae.v1.TraefikInstance traefik_instance = 1;
*/
@@ -118,13 +132,14 @@ export type GetTraefikInstanceResponse = Message<"mantrae.v1.GetTraefikInstanceR
* Describes the message mantrae.v1.GetTraefikInstanceResponse.
* Use `create(GetTraefikInstanceResponseSchema)` to create a new message.
*/
export const GetTraefikInstanceResponseSchema: GenMessage<GetTraefikInstanceResponse> = /*@__PURE__*/
export const GetTraefikInstanceResponseSchema: GenMessage<GetTraefikInstanceResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_traefik_instance, 2);
/**
* @generated from message mantrae.v1.DeleteTraefikInstanceRequest
*/
export type DeleteTraefikInstanceRequest = Message<"mantrae.v1.DeleteTraefikInstanceRequest"> & {
export type DeleteTraefikInstanceRequest = Message<'mantrae.v1.DeleteTraefikInstanceRequest'> & {
/**
* @generated from field: int64 id = 1;
*/
@@ -135,26 +150,28 @@ export type DeleteTraefikInstanceRequest = Message<"mantrae.v1.DeleteTraefikInst
* Describes the message mantrae.v1.DeleteTraefikInstanceRequest.
* Use `create(DeleteTraefikInstanceRequestSchema)` to create a new message.
*/
export const DeleteTraefikInstanceRequestSchema: GenMessage<DeleteTraefikInstanceRequest> = /*@__PURE__*/
export const DeleteTraefikInstanceRequestSchema: GenMessage<DeleteTraefikInstanceRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_traefik_instance, 3);
/**
* @generated from message mantrae.v1.DeleteTraefikInstanceResponse
*/
export type DeleteTraefikInstanceResponse = Message<"mantrae.v1.DeleteTraefikInstanceResponse"> & {
};
export type DeleteTraefikInstanceResponse =
Message<'mantrae.v1.DeleteTraefikInstanceResponse'> & {};
/**
* Describes the message mantrae.v1.DeleteTraefikInstanceResponse.
* Use `create(DeleteTraefikInstanceResponseSchema)` to create a new message.
*/
export const DeleteTraefikInstanceResponseSchema: GenMessage<DeleteTraefikInstanceResponse> = /*@__PURE__*/
export const DeleteTraefikInstanceResponseSchema: GenMessage<DeleteTraefikInstanceResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_traefik_instance, 4);
/**
* @generated from message mantrae.v1.ListTraefikInstancesRequest
*/
export type ListTraefikInstancesRequest = Message<"mantrae.v1.ListTraefikInstancesRequest"> & {
export type ListTraefikInstancesRequest = Message<'mantrae.v1.ListTraefikInstancesRequest'> & {
/**
* @generated from field: int64 profile_id = 1;
*/
@@ -175,13 +192,14 @@ export type ListTraefikInstancesRequest = Message<"mantrae.v1.ListTraefikInstanc
* Describes the message mantrae.v1.ListTraefikInstancesRequest.
* Use `create(ListTraefikInstancesRequestSchema)` to create a new message.
*/
export const ListTraefikInstancesRequestSchema: GenMessage<ListTraefikInstancesRequest> = /*@__PURE__*/
export const ListTraefikInstancesRequestSchema: GenMessage<ListTraefikInstancesRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_traefik_instance, 5);
/**
* @generated from message mantrae.v1.ListTraefikInstancesResponse
*/
export type ListTraefikInstancesResponse = Message<"mantrae.v1.ListTraefikInstancesResponse"> & {
export type ListTraefikInstancesResponse = Message<'mantrae.v1.ListTraefikInstancesResponse'> & {
/**
* @generated from field: repeated mantrae.v1.TraefikInstance traefik_instances = 1;
*/
@@ -197,7 +215,8 @@ export type ListTraefikInstancesResponse = Message<"mantrae.v1.ListTraefikInstan
* Describes the message mantrae.v1.ListTraefikInstancesResponse.
* Use `create(ListTraefikInstancesResponseSchema)` to create a new message.
*/
export const ListTraefikInstancesResponseSchema: GenMessage<ListTraefikInstancesResponse> = /*@__PURE__*/
export const ListTraefikInstancesResponseSchema: GenMessage<ListTraefikInstancesResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_traefik_instance, 6);
/**
@@ -208,26 +227,24 @@ export const TraefikInstanceService: GenService<{
* @generated from rpc mantrae.v1.TraefikInstanceService.GetTraefikInstance
*/
getTraefikInstance: {
methodKind: "unary";
methodKind: 'unary';
input: typeof GetTraefikInstanceRequestSchema;
output: typeof GetTraefikInstanceResponseSchema;
},
};
/**
* @generated from rpc mantrae.v1.TraefikInstanceService.DeleteTraefikInstance
*/
deleteTraefikInstance: {
methodKind: "unary";
methodKind: 'unary';
input: typeof DeleteTraefikInstanceRequestSchema;
output: typeof DeleteTraefikInstanceResponseSchema;
},
};
/**
* @generated from rpc mantrae.v1.TraefikInstanceService.ListTraefikInstances
*/
listTraefikInstances: {
methodKind: "unary";
methodKind: 'unary';
input: typeof ListTraefikInstancesRequestSchema;
output: typeof ListTraefikInstancesResponseSchema;
},
}> = /*@__PURE__*/
serviceDesc(file_mantrae_v1_traefik_instance, 0);
};
}> = /*@__PURE__*/ serviceDesc(file_mantrae_v1_traefik_instance, 0);

View File

@@ -2,23 +2,27 @@
// @generated from file mantrae/v1/user.proto (package mantrae.v1, syntax proto3)
/* eslint-disable */
import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
import { file_buf_validate_validate } from "../../buf/validate/validate_pb";
import type { Timestamp } from "@bufbuild/protobuf/wkt";
import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
import type { Message } from "@bufbuild/protobuf";
import type { GenFile, GenMessage, GenService } from '@bufbuild/protobuf/codegenv2';
import { fileDesc, messageDesc, serviceDesc } from '@bufbuild/protobuf/codegenv2';
import { file_buf_validate_validate } from '../../buf/validate/validate_pb';
import type { Timestamp } from '@bufbuild/protobuf/wkt';
import { file_google_protobuf_timestamp } from '@bufbuild/protobuf/wkt';
import type { Message } from '@bufbuild/protobuf';
/**
* Describes the file mantrae/v1/user.proto.
*/
export const file_mantrae_v1_user: GenFile = /*@__PURE__*/
fileDesc("ChVtYW50cmFlL3YxL3VzZXIucHJvdG8SCm1hbnRyYWUudjEikgIKBFVzZXISCgoCaWQYASABKAkSEAoIdXNlcm5hbWUYAiABKAkSEAoIcGFzc3dvcmQYAyABKAkSDQoFZW1haWwYBCABKAkSCwoDb3RwGAYgASgJEi4KCm90cF9leHBpcnkYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCmxhc3RfbG9naW4YCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCmNyZWF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wInwKEExvZ2luVXNlclJlcXVlc3QSGwoIdXNlcm5hbWUYASABKAlCB7pIBHICEANIABIYCgVlbWFpbBgCIAEoCUIHukgEcgJgAUgAEhwKCHBhc3N3b3JkGAMgASgJQgq6SAfIAQFyAhAIQhMKCmlkZW50aWZpZXISBbpIAggBIjMKEUxvZ2luVXNlclJlc3BvbnNlEh4KBHVzZXIYASABKAsyEC5tYW50cmFlLnYxLlVzZXIiEwoRTG9nb3V0VXNlclJlcXVlc3QiFAoSTG9nb3V0VXNlclJlc3BvbnNlInUKEFZlcmlmeU9UUFJlcXVlc3QSGwoIdXNlcm5hbWUYASABKAlCB7pIBHICEANIABIYCgVlbWFpbBgCIAEoCUIHukgEcgJgAUgAEhUKA290cBgDIAEoCUIIukgFcgOYAQZCEwoKaWRlbnRpZmllchIFukgCCAEiMwoRVmVyaWZ5T1RQUmVzcG9uc2USHgoEdXNlchgBIAEoCzIQLm1hbnRyYWUudjEuVXNlciJcCg5TZW5kT1RQUmVxdWVzdBIbCgh1c2VybmFtZRgBIAEoCUIHukgEcgIQA0gAEhgKBWVtYWlsGAIgASgJQge6SARyAmABSABCEwoKaWRlbnRpZmllchIFukgCCAEiEQoPU2VuZE9UUFJlc3BvbnNlImwKDkdldFVzZXJSZXF1ZXN0EhUKAmlkGAEgASgJQge6SARyAhABSAASGwoIdXNlcm5hbWUYAiABKAlCB7pIBHICEANIABIYCgVlbWFpbBgDIAEoCUIHukgEcgJgAUgAQgwKCmlkZW50aWZpZXIiMQoPR2V0VXNlclJlc3BvbnNlEh4KBHVzZXIYASABKAsyEC5tYW50cmFlLnYxLlVzZXIicwoRQ3JlYXRlVXNlclJlcXVlc3QSGQoIdXNlcm5hbWUYASABKAlCB7pIBHICEAMSGQoIcGFzc3dvcmQYAiABKAlCB7pIBHICEAgSHgoFZW1haWwYAyABKAlCCrpIB9gBAHICYAFIAIgBAUIICgZfZW1haWwiNAoSQ3JlYXRlVXNlclJlc3BvbnNlEh4KBHVzZXIYASABKAsyEC5tYW50cmFlLnYxLlVzZXIinQEKEVVwZGF0ZVVzZXJSZXF1ZXN0EhMKAmlkGAEgASgJQge6SARyAhABEhkKCHVzZXJuYW1lGAIgASgJQge6SARyAhADEh4KBWVtYWlsGAMgASgJQgq6SAfYAQByAmABSACIAQESIQoIcGFzc3dvcmQYBCABKAlCCrpIB9gBAHICEAhIAYgBAUIICgZfZW1haWxCCwoJX3Bhc3N3b3JkIjQKElVwZGF0ZVVzZXJSZXNwb25zZRIeCgR1c2VyGAEgASgLMhAubWFudHJhZS52MS5Vc2VyIigKEURlbGV0ZVVzZXJSZXF1ZXN0EhMKAmlkGAEgASgJQge6SARyAhABIhQKEkRlbGV0ZVVzZXJSZXNwb25zZSKxAQoQTGlzdFVzZXJzUmVxdWVzdBJqCgVsaW1pdBgBIAEoA0JWukhTugFQCgtsaW1pdC52YWxpZBIpbGltaXQgbXVzdCBiZSBlaXRoZXIgLTEgb3IgZ3JlYXRlciB0aGFuIDAaFnRoaXMgPT0gLTEgfHwgdGhpcyA+IDBIAIgBARIcCgZvZmZzZXQYAiABKANCB7pIBCICKABIAYgBAUIICgZfbGltaXRCCQoHX29mZnNldCJJChFMaXN0VXNlcnNSZXNwb25zZRIfCgV1c2VycxgBIAMoCzIQLm1hbnRyYWUudjEuVXNlchITCgt0b3RhbF9jb3VudBgCIAEoAyIWChRHZXRPSURDU3RhdHVzUmVxdWVzdCJWChVHZXRPSURDU3RhdHVzUmVzcG9uc2USFAoMb2lkY19lbmFibGVkGAEgASgIEhUKDWxvZ2luX2VuYWJsZWQYAiABKAgSEAoIcHJvdmlkZXIYAyABKAkyhwYKC1VzZXJTZXJ2aWNlEkgKCUxvZ2luVXNlchIcLm1hbnRyYWUudjEuTG9naW5Vc2VyUmVxdWVzdBodLm1hbnRyYWUudjEuTG9naW5Vc2VyUmVzcG9uc2USSwoKTG9nb3V0VXNlchIdLm1hbnRyYWUudjEuTG9nb3V0VXNlclJlcXVlc3QaHi5tYW50cmFlLnYxLkxvZ291dFVzZXJSZXNwb25zZRJICglWZXJpZnlPVFASHC5tYW50cmFlLnYxLlZlcmlmeU9UUFJlcXVlc3QaHS5tYW50cmFlLnYxLlZlcmlmeU9UUFJlc3BvbnNlEkIKB1NlbmRPVFASGi5tYW50cmFlLnYxLlNlbmRPVFBSZXF1ZXN0GhsubWFudHJhZS52MS5TZW5kT1RQUmVzcG9uc2USRwoHR2V0VXNlchIaLm1hbnRyYWUudjEuR2V0VXNlclJlcXVlc3QaGy5tYW50cmFlLnYxLkdldFVzZXJSZXNwb25zZSIDkAIBEksKCkNyZWF0ZVVzZXISHS5tYW50cmFlLnYxLkNyZWF0ZVVzZXJSZXF1ZXN0Gh4ubWFudHJhZS52MS5DcmVhdGVVc2VyUmVzcG9uc2USSwoKVXBkYXRlVXNlchIdLm1hbnRyYWUudjEuVXBkYXRlVXNlclJlcXVlc3QaHi5tYW50cmFlLnYxLlVwZGF0ZVVzZXJSZXNwb25zZRJLCgpEZWxldGVVc2VyEh0ubWFudHJhZS52MS5EZWxldGVVc2VyUmVxdWVzdBoeLm1hbnRyYWUudjEuRGVsZXRlVXNlclJlc3BvbnNlEk0KCUxpc3RVc2VycxIcLm1hbnRyYWUudjEuTGlzdFVzZXJzUmVxdWVzdBodLm1hbnRyYWUudjEuTGlzdFVzZXJzUmVzcG9uc2UiA5ACARJUCg1HZXRPSURDU3RhdHVzEiAubWFudHJhZS52MS5HZXRPSURDU3RhdHVzUmVxdWVzdBohLm1hbnRyYWUudjEuR2V0T0lEQ1N0YXR1c1Jlc3BvbnNlQqMBCg5jb20ubWFudHJhZS52MUIJVXNlclByb3RvUAFaPWdpdGh1Yi5jb20vbWl6dWNoaWxhYnMvbWFudHJhZS9wcm90by9nZW4vbWFudHJhZS92MTttYW50cmFldjGiAgNNWFiqAgpNYW50cmFlLlYxygIKTWFudHJhZVxWMeICFk1hbnRyYWVcVjFcR1BCTWV0YWRhdGHqAgtNYW50cmFlOjpWMWIGcHJvdG8z", [file_buf_validate_validate, file_google_protobuf_timestamp]);
export const file_mantrae_v1_user: GenFile =
/*@__PURE__*/
fileDesc(
'ChVtYW50cmFlL3YxL3VzZXIucHJvdG8SCm1hbnRyYWUudjEikgIKBFVzZXISCgoCaWQYASABKAkSEAoIdXNlcm5hbWUYAiABKAkSEAoIcGFzc3dvcmQYAyABKAkSDQoFZW1haWwYBCABKAkSCwoDb3RwGAYgASgJEi4KCm90cF9leHBpcnkYByABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCmxhc3RfbG9naW4YCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCmNyZWF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCiABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wInwKEExvZ2luVXNlclJlcXVlc3QSGwoIdXNlcm5hbWUYASABKAlCB7pIBHICEANIABIYCgVlbWFpbBgCIAEoCUIHukgEcgJgAUgAEhwKCHBhc3N3b3JkGAMgASgJQgq6SAfIAQFyAhAIQhMKCmlkZW50aWZpZXISBbpIAggBIjMKEUxvZ2luVXNlclJlc3BvbnNlEh4KBHVzZXIYASABKAsyEC5tYW50cmFlLnYxLlVzZXIiEwoRTG9nb3V0VXNlclJlcXVlc3QiFAoSTG9nb3V0VXNlclJlc3BvbnNlInUKEFZlcmlmeU9UUFJlcXVlc3QSGwoIdXNlcm5hbWUYASABKAlCB7pIBHICEANIABIYCgVlbWFpbBgCIAEoCUIHukgEcgJgAUgAEhUKA290cBgDIAEoCUIIukgFcgOYAQZCEwoKaWRlbnRpZmllchIFukgCCAEiMwoRVmVyaWZ5T1RQUmVzcG9uc2USHgoEdXNlchgBIAEoCzIQLm1hbnRyYWUudjEuVXNlciJcCg5TZW5kT1RQUmVxdWVzdBIbCgh1c2VybmFtZRgBIAEoCUIHukgEcgIQA0gAEhgKBWVtYWlsGAIgASgJQge6SARyAmABSABCEwoKaWRlbnRpZmllchIFukgCCAEiEQoPU2VuZE9UUFJlc3BvbnNlImwKDkdldFVzZXJSZXF1ZXN0EhUKAmlkGAEgASgJQge6SARyAhABSAASGwoIdXNlcm5hbWUYAiABKAlCB7pIBHICEANIABIYCgVlbWFpbBgDIAEoCUIHukgEcgJgAUgAQgwKCmlkZW50aWZpZXIiMQoPR2V0VXNlclJlc3BvbnNlEh4KBHVzZXIYASABKAsyEC5tYW50cmFlLnYxLlVzZXIicwoRQ3JlYXRlVXNlclJlcXVlc3QSGQoIdXNlcm5hbWUYASABKAlCB7pIBHICEAMSGQoIcGFzc3dvcmQYAiABKAlCB7pIBHICEAgSHgoFZW1haWwYAyABKAlCCrpIB9gBAHICYAFIAIgBAUIICgZfZW1haWwiNAoSQ3JlYXRlVXNlclJlc3BvbnNlEh4KBHVzZXIYASABKAsyEC5tYW50cmFlLnYxLlVzZXIinQEKEVVwZGF0ZVVzZXJSZXF1ZXN0EhMKAmlkGAEgASgJQge6SARyAhABEhkKCHVzZXJuYW1lGAIgASgJQge6SARyAhADEh4KBWVtYWlsGAMgASgJQgq6SAfYAQByAmABSACIAQESIQoIcGFzc3dvcmQYBCABKAlCCrpIB9gBAHICEAhIAYgBAUIICgZfZW1haWxCCwoJX3Bhc3N3b3JkIjQKElVwZGF0ZVVzZXJSZXNwb25zZRIeCgR1c2VyGAEgASgLMhAubWFudHJhZS52MS5Vc2VyIigKEURlbGV0ZVVzZXJSZXF1ZXN0EhMKAmlkGAEgASgJQge6SARyAhABIhQKEkRlbGV0ZVVzZXJSZXNwb25zZSKxAQoQTGlzdFVzZXJzUmVxdWVzdBJqCgVsaW1pdBgBIAEoA0JWukhTugFQCgtsaW1pdC52YWxpZBIpbGltaXQgbXVzdCBiZSBlaXRoZXIgLTEgb3IgZ3JlYXRlciB0aGFuIDAaFnRoaXMgPT0gLTEgfHwgdGhpcyA+IDBIAIgBARIcCgZvZmZzZXQYAiABKANCB7pIBCICKABIAYgBAUIICgZfbGltaXRCCQoHX29mZnNldCJJChFMaXN0VXNlcnNSZXNwb25zZRIfCgV1c2VycxgBIAMoCzIQLm1hbnRyYWUudjEuVXNlchITCgt0b3RhbF9jb3VudBgCIAEoAyIWChRHZXRPSURDU3RhdHVzUmVxdWVzdCJWChVHZXRPSURDU3RhdHVzUmVzcG9uc2USFAoMb2lkY19lbmFibGVkGAEgASgIEhUKDWxvZ2luX2VuYWJsZWQYAiABKAgSEAoIcHJvdmlkZXIYAyABKAkyhwYKC1VzZXJTZXJ2aWNlEkgKCUxvZ2luVXNlchIcLm1hbnRyYWUudjEuTG9naW5Vc2VyUmVxdWVzdBodLm1hbnRyYWUudjEuTG9naW5Vc2VyUmVzcG9uc2USSwoKTG9nb3V0VXNlchIdLm1hbnRyYWUudjEuTG9nb3V0VXNlclJlcXVlc3QaHi5tYW50cmFlLnYxLkxvZ291dFVzZXJSZXNwb25zZRJICglWZXJpZnlPVFASHC5tYW50cmFlLnYxLlZlcmlmeU9UUFJlcXVlc3QaHS5tYW50cmFlLnYxLlZlcmlmeU9UUFJlc3BvbnNlEkIKB1NlbmRPVFASGi5tYW50cmFlLnYxLlNlbmRPVFBSZXF1ZXN0GhsubWFudHJhZS52MS5TZW5kT1RQUmVzcG9uc2USRwoHR2V0VXNlchIaLm1hbnRyYWUudjEuR2V0VXNlclJlcXVlc3QaGy5tYW50cmFlLnYxLkdldFVzZXJSZXNwb25zZSIDkAIBEksKCkNyZWF0ZVVzZXISHS5tYW50cmFlLnYxLkNyZWF0ZVVzZXJSZXF1ZXN0Gh4ubWFudHJhZS52MS5DcmVhdGVVc2VyUmVzcG9uc2USSwoKVXBkYXRlVXNlchIdLm1hbnRyYWUudjEuVXBkYXRlVXNlclJlcXVlc3QaHi5tYW50cmFlLnYxLlVwZGF0ZVVzZXJSZXNwb25zZRJLCgpEZWxldGVVc2VyEh0ubWFudHJhZS52MS5EZWxldGVVc2VyUmVxdWVzdBoeLm1hbnRyYWUudjEuRGVsZXRlVXNlclJlc3BvbnNlEk0KCUxpc3RVc2VycxIcLm1hbnRyYWUudjEuTGlzdFVzZXJzUmVxdWVzdBodLm1hbnRyYWUudjEuTGlzdFVzZXJzUmVzcG9uc2UiA5ACARJUCg1HZXRPSURDU3RhdHVzEiAubWFudHJhZS52MS5HZXRPSURDU3RhdHVzUmVxdWVzdBohLm1hbnRyYWUudjEuR2V0T0lEQ1N0YXR1c1Jlc3BvbnNlQqMBCg5jb20ubWFudHJhZS52MUIJVXNlclByb3RvUAFaPWdpdGh1Yi5jb20vbWl6dWNoaWxhYnMvbWFudHJhZS9wcm90by9nZW4vbWFudHJhZS92MTttYW50cmFldjGiAgNNWFiqAgpNYW50cmFlLlYxygIKTWFudHJhZVxWMeICFk1hbnRyYWVcVjFcR1BCTWV0YWRhdGHqAgtNYW50cmFlOjpWMWIGcHJvdG8z',
[file_buf_validate_validate, file_google_protobuf_timestamp]
);
/**
* @generated from message mantrae.v1.User
*/
export type User = Message<"mantrae.v1.User"> & {
export type User = Message<'mantrae.v1.User'> & {
/**
* @generated from field: string id = 1;
*/
@@ -69,29 +73,31 @@ export type User = Message<"mantrae.v1.User"> & {
* Describes the message mantrae.v1.User.
* Use `create(UserSchema)` to create a new message.
*/
export const UserSchema: GenMessage<User> = /*@__PURE__*/
messageDesc(file_mantrae_v1_user, 0);
export const UserSchema: GenMessage<User> = /*@__PURE__*/ messageDesc(file_mantrae_v1_user, 0);
/**
* @generated from message mantrae.v1.LoginUserRequest
*/
export type LoginUserRequest = Message<"mantrae.v1.LoginUserRequest"> & {
export type LoginUserRequest = Message<'mantrae.v1.LoginUserRequest'> & {
/**
* @generated from oneof mantrae.v1.LoginUserRequest.identifier
*/
identifier: {
identifier:
| {
/**
* @generated from field: string username = 1;
*/
value: string;
case: "username";
} | {
case: 'username';
}
| {
/**
* @generated from field: string email = 2;
*/
value: string;
case: "email";
} | { case: undefined; value?: undefined };
case: 'email';
}
| { case: undefined; value?: undefined };
/**
* @generated from field: string password = 3;
@@ -103,13 +109,14 @@ export type LoginUserRequest = Message<"mantrae.v1.LoginUserRequest"> & {
* Describes the message mantrae.v1.LoginUserRequest.
* Use `create(LoginUserRequestSchema)` to create a new message.
*/
export const LoginUserRequestSchema: GenMessage<LoginUserRequest> = /*@__PURE__*/
export const LoginUserRequestSchema: GenMessage<LoginUserRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_user, 1);
/**
* @generated from message mantrae.v1.LoginUserResponse
*/
export type LoginUserResponse = Message<"mantrae.v1.LoginUserResponse"> & {
export type LoginUserResponse = Message<'mantrae.v1.LoginUserResponse'> & {
/**
* @generated from field: mantrae.v1.User user = 1;
*/
@@ -120,55 +127,59 @@ export type LoginUserResponse = Message<"mantrae.v1.LoginUserResponse"> & {
* Describes the message mantrae.v1.LoginUserResponse.
* Use `create(LoginUserResponseSchema)` to create a new message.
*/
export const LoginUserResponseSchema: GenMessage<LoginUserResponse> = /*@__PURE__*/
export const LoginUserResponseSchema: GenMessage<LoginUserResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_user, 2);
/**
* @generated from message mantrae.v1.LogoutUserRequest
*/
export type LogoutUserRequest = Message<"mantrae.v1.LogoutUserRequest"> & {
};
export type LogoutUserRequest = Message<'mantrae.v1.LogoutUserRequest'> & {};
/**
* Describes the message mantrae.v1.LogoutUserRequest.
* Use `create(LogoutUserRequestSchema)` to create a new message.
*/
export const LogoutUserRequestSchema: GenMessage<LogoutUserRequest> = /*@__PURE__*/
export const LogoutUserRequestSchema: GenMessage<LogoutUserRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_user, 3);
/**
* @generated from message mantrae.v1.LogoutUserResponse
*/
export type LogoutUserResponse = Message<"mantrae.v1.LogoutUserResponse"> & {
};
export type LogoutUserResponse = Message<'mantrae.v1.LogoutUserResponse'> & {};
/**
* Describes the message mantrae.v1.LogoutUserResponse.
* Use `create(LogoutUserResponseSchema)` to create a new message.
*/
export const LogoutUserResponseSchema: GenMessage<LogoutUserResponse> = /*@__PURE__*/
export const LogoutUserResponseSchema: GenMessage<LogoutUserResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_user, 4);
/**
* @generated from message mantrae.v1.VerifyOTPRequest
*/
export type VerifyOTPRequest = Message<"mantrae.v1.VerifyOTPRequest"> & {
export type VerifyOTPRequest = Message<'mantrae.v1.VerifyOTPRequest'> & {
/**
* @generated from oneof mantrae.v1.VerifyOTPRequest.identifier
*/
identifier: {
identifier:
| {
/**
* @generated from field: string username = 1;
*/
value: string;
case: "username";
} | {
case: 'username';
}
| {
/**
* @generated from field: string email = 2;
*/
value: string;
case: "email";
} | { case: undefined; value?: undefined };
case: 'email';
}
| { case: undefined; value?: undefined };
/**
* @generated from field: string otp = 3;
@@ -180,13 +191,14 @@ export type VerifyOTPRequest = Message<"mantrae.v1.VerifyOTPRequest"> & {
* Describes the message mantrae.v1.VerifyOTPRequest.
* Use `create(VerifyOTPRequestSchema)` to create a new message.
*/
export const VerifyOTPRequestSchema: GenMessage<VerifyOTPRequest> = /*@__PURE__*/
export const VerifyOTPRequestSchema: GenMessage<VerifyOTPRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_user, 5);
/**
* @generated from message mantrae.v1.VerifyOTPResponse
*/
export type VerifyOTPResponse = Message<"mantrae.v1.VerifyOTPResponse"> & {
export type VerifyOTPResponse = Message<'mantrae.v1.VerifyOTPResponse'> & {
/**
* @generated from field: mantrae.v1.User user = 1;
*/
@@ -197,90 +209,100 @@ export type VerifyOTPResponse = Message<"mantrae.v1.VerifyOTPResponse"> & {
* Describes the message mantrae.v1.VerifyOTPResponse.
* Use `create(VerifyOTPResponseSchema)` to create a new message.
*/
export const VerifyOTPResponseSchema: GenMessage<VerifyOTPResponse> = /*@__PURE__*/
export const VerifyOTPResponseSchema: GenMessage<VerifyOTPResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_user, 6);
/**
* @generated from message mantrae.v1.SendOTPRequest
*/
export type SendOTPRequest = Message<"mantrae.v1.SendOTPRequest"> & {
export type SendOTPRequest = Message<'mantrae.v1.SendOTPRequest'> & {
/**
* @generated from oneof mantrae.v1.SendOTPRequest.identifier
*/
identifier: {
identifier:
| {
/**
* @generated from field: string username = 1;
*/
value: string;
case: "username";
} | {
case: 'username';
}
| {
/**
* @generated from field: string email = 2;
*/
value: string;
case: "email";
} | { case: undefined; value?: undefined };
case: 'email';
}
| { case: undefined; value?: undefined };
};
/**
* Describes the message mantrae.v1.SendOTPRequest.
* Use `create(SendOTPRequestSchema)` to create a new message.
*/
export const SendOTPRequestSchema: GenMessage<SendOTPRequest> = /*@__PURE__*/
export const SendOTPRequestSchema: GenMessage<SendOTPRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_user, 7);
/**
* @generated from message mantrae.v1.SendOTPResponse
*/
export type SendOTPResponse = Message<"mantrae.v1.SendOTPResponse"> & {
};
export type SendOTPResponse = Message<'mantrae.v1.SendOTPResponse'> & {};
/**
* Describes the message mantrae.v1.SendOTPResponse.
* Use `create(SendOTPResponseSchema)` to create a new message.
*/
export const SendOTPResponseSchema: GenMessage<SendOTPResponse> = /*@__PURE__*/
export const SendOTPResponseSchema: GenMessage<SendOTPResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_user, 8);
/**
* @generated from message mantrae.v1.GetUserRequest
*/
export type GetUserRequest = Message<"mantrae.v1.GetUserRequest"> & {
export type GetUserRequest = Message<'mantrae.v1.GetUserRequest'> & {
/**
* @generated from oneof mantrae.v1.GetUserRequest.identifier
*/
identifier: {
identifier:
| {
/**
* @generated from field: string id = 1;
*/
value: string;
case: "id";
} | {
case: 'id';
}
| {
/**
* @generated from field: string username = 2;
*/
value: string;
case: "username";
} | {
case: 'username';
}
| {
/**
* @generated from field: string email = 3;
*/
value: string;
case: "email";
} | { case: undefined; value?: undefined };
case: 'email';
}
| { case: undefined; value?: undefined };
};
/**
* Describes the message mantrae.v1.GetUserRequest.
* Use `create(GetUserRequestSchema)` to create a new message.
*/
export const GetUserRequestSchema: GenMessage<GetUserRequest> = /*@__PURE__*/
export const GetUserRequestSchema: GenMessage<GetUserRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_user, 9);
/**
* @generated from message mantrae.v1.GetUserResponse
*/
export type GetUserResponse = Message<"mantrae.v1.GetUserResponse"> & {
export type GetUserResponse = Message<'mantrae.v1.GetUserResponse'> & {
/**
* @generated from field: mantrae.v1.User user = 1;
*/
@@ -291,13 +313,14 @@ export type GetUserResponse = Message<"mantrae.v1.GetUserResponse"> & {
* Describes the message mantrae.v1.GetUserResponse.
* Use `create(GetUserResponseSchema)` to create a new message.
*/
export const GetUserResponseSchema: GenMessage<GetUserResponse> = /*@__PURE__*/
export const GetUserResponseSchema: GenMessage<GetUserResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_user, 10);
/**
* @generated from message mantrae.v1.CreateUserRequest
*/
export type CreateUserRequest = Message<"mantrae.v1.CreateUserRequest"> & {
export type CreateUserRequest = Message<'mantrae.v1.CreateUserRequest'> & {
/**
* @generated from field: string username = 1;
*/
@@ -318,13 +341,14 @@ export type CreateUserRequest = Message<"mantrae.v1.CreateUserRequest"> & {
* Describes the message mantrae.v1.CreateUserRequest.
* Use `create(CreateUserRequestSchema)` to create a new message.
*/
export const CreateUserRequestSchema: GenMessage<CreateUserRequest> = /*@__PURE__*/
export const CreateUserRequestSchema: GenMessage<CreateUserRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_user, 11);
/**
* @generated from message mantrae.v1.CreateUserResponse
*/
export type CreateUserResponse = Message<"mantrae.v1.CreateUserResponse"> & {
export type CreateUserResponse = Message<'mantrae.v1.CreateUserResponse'> & {
/**
* @generated from field: mantrae.v1.User user = 1;
*/
@@ -335,13 +359,14 @@ export type CreateUserResponse = Message<"mantrae.v1.CreateUserResponse"> & {
* Describes the message mantrae.v1.CreateUserResponse.
* Use `create(CreateUserResponseSchema)` to create a new message.
*/
export const CreateUserResponseSchema: GenMessage<CreateUserResponse> = /*@__PURE__*/
export const CreateUserResponseSchema: GenMessage<CreateUserResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_user, 12);
/**
* @generated from message mantrae.v1.UpdateUserRequest
*/
export type UpdateUserRequest = Message<"mantrae.v1.UpdateUserRequest"> & {
export type UpdateUserRequest = Message<'mantrae.v1.UpdateUserRequest'> & {
/**
* @generated from field: string id = 1;
*/
@@ -367,13 +392,14 @@ export type UpdateUserRequest = Message<"mantrae.v1.UpdateUserRequest"> & {
* Describes the message mantrae.v1.UpdateUserRequest.
* Use `create(UpdateUserRequestSchema)` to create a new message.
*/
export const UpdateUserRequestSchema: GenMessage<UpdateUserRequest> = /*@__PURE__*/
export const UpdateUserRequestSchema: GenMessage<UpdateUserRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_user, 13);
/**
* @generated from message mantrae.v1.UpdateUserResponse
*/
export type UpdateUserResponse = Message<"mantrae.v1.UpdateUserResponse"> & {
export type UpdateUserResponse = Message<'mantrae.v1.UpdateUserResponse'> & {
/**
* @generated from field: mantrae.v1.User user = 1;
*/
@@ -384,13 +410,14 @@ export type UpdateUserResponse = Message<"mantrae.v1.UpdateUserResponse"> & {
* Describes the message mantrae.v1.UpdateUserResponse.
* Use `create(UpdateUserResponseSchema)` to create a new message.
*/
export const UpdateUserResponseSchema: GenMessage<UpdateUserResponse> = /*@__PURE__*/
export const UpdateUserResponseSchema: GenMessage<UpdateUserResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_user, 14);
/**
* @generated from message mantrae.v1.DeleteUserRequest
*/
export type DeleteUserRequest = Message<"mantrae.v1.DeleteUserRequest"> & {
export type DeleteUserRequest = Message<'mantrae.v1.DeleteUserRequest'> & {
/**
* @generated from field: string id = 1;
*/
@@ -401,26 +428,27 @@ export type DeleteUserRequest = Message<"mantrae.v1.DeleteUserRequest"> & {
* Describes the message mantrae.v1.DeleteUserRequest.
* Use `create(DeleteUserRequestSchema)` to create a new message.
*/
export const DeleteUserRequestSchema: GenMessage<DeleteUserRequest> = /*@__PURE__*/
export const DeleteUserRequestSchema: GenMessage<DeleteUserRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_user, 15);
/**
* @generated from message mantrae.v1.DeleteUserResponse
*/
export type DeleteUserResponse = Message<"mantrae.v1.DeleteUserResponse"> & {
};
export type DeleteUserResponse = Message<'mantrae.v1.DeleteUserResponse'> & {};
/**
* Describes the message mantrae.v1.DeleteUserResponse.
* Use `create(DeleteUserResponseSchema)` to create a new message.
*/
export const DeleteUserResponseSchema: GenMessage<DeleteUserResponse> = /*@__PURE__*/
export const DeleteUserResponseSchema: GenMessage<DeleteUserResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_user, 16);
/**
* @generated from message mantrae.v1.ListUsersRequest
*/
export type ListUsersRequest = Message<"mantrae.v1.ListUsersRequest"> & {
export type ListUsersRequest = Message<'mantrae.v1.ListUsersRequest'> & {
/**
* @generated from field: optional int64 limit = 1;
*/
@@ -436,13 +464,14 @@ export type ListUsersRequest = Message<"mantrae.v1.ListUsersRequest"> & {
* Describes the message mantrae.v1.ListUsersRequest.
* Use `create(ListUsersRequestSchema)` to create a new message.
*/
export const ListUsersRequestSchema: GenMessage<ListUsersRequest> = /*@__PURE__*/
export const ListUsersRequestSchema: GenMessage<ListUsersRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_user, 17);
/**
* @generated from message mantrae.v1.ListUsersResponse
*/
export type ListUsersResponse = Message<"mantrae.v1.ListUsersResponse"> & {
export type ListUsersResponse = Message<'mantrae.v1.ListUsersResponse'> & {
/**
* @generated from field: repeated mantrae.v1.User users = 1;
*/
@@ -458,26 +487,27 @@ export type ListUsersResponse = Message<"mantrae.v1.ListUsersResponse"> & {
* Describes the message mantrae.v1.ListUsersResponse.
* Use `create(ListUsersResponseSchema)` to create a new message.
*/
export const ListUsersResponseSchema: GenMessage<ListUsersResponse> = /*@__PURE__*/
export const ListUsersResponseSchema: GenMessage<ListUsersResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_user, 18);
/**
* @generated from message mantrae.v1.GetOIDCStatusRequest
*/
export type GetOIDCStatusRequest = Message<"mantrae.v1.GetOIDCStatusRequest"> & {
};
export type GetOIDCStatusRequest = Message<'mantrae.v1.GetOIDCStatusRequest'> & {};
/**
* Describes the message mantrae.v1.GetOIDCStatusRequest.
* Use `create(GetOIDCStatusRequestSchema)` to create a new message.
*/
export const GetOIDCStatusRequestSchema: GenMessage<GetOIDCStatusRequest> = /*@__PURE__*/
export const GetOIDCStatusRequestSchema: GenMessage<GetOIDCStatusRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_user, 19);
/**
* @generated from message mantrae.v1.GetOIDCStatusResponse
*/
export type GetOIDCStatusResponse = Message<"mantrae.v1.GetOIDCStatusResponse"> & {
export type GetOIDCStatusResponse = Message<'mantrae.v1.GetOIDCStatusResponse'> & {
/**
* @generated from field: bool oidc_enabled = 1;
*/
@@ -498,7 +528,8 @@ export type GetOIDCStatusResponse = Message<"mantrae.v1.GetOIDCStatusResponse">
* Describes the message mantrae.v1.GetOIDCStatusResponse.
* Use `create(GetOIDCStatusResponseSchema)` to create a new message.
*/
export const GetOIDCStatusResponseSchema: GenMessage<GetOIDCStatusResponse> = /*@__PURE__*/
export const GetOIDCStatusResponseSchema: GenMessage<GetOIDCStatusResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_user, 20);
/**
@@ -509,82 +540,80 @@ export const UserService: GenService<{
* @generated from rpc mantrae.v1.UserService.LoginUser
*/
loginUser: {
methodKind: "unary";
methodKind: 'unary';
input: typeof LoginUserRequestSchema;
output: typeof LoginUserResponseSchema;
},
};
/**
* @generated from rpc mantrae.v1.UserService.LogoutUser
*/
logoutUser: {
methodKind: "unary";
methodKind: 'unary';
input: typeof LogoutUserRequestSchema;
output: typeof LogoutUserResponseSchema;
},
};
/**
* @generated from rpc mantrae.v1.UserService.VerifyOTP
*/
verifyOTP: {
methodKind: "unary";
methodKind: 'unary';
input: typeof VerifyOTPRequestSchema;
output: typeof VerifyOTPResponseSchema;
},
};
/**
* @generated from rpc mantrae.v1.UserService.SendOTP
*/
sendOTP: {
methodKind: "unary";
methodKind: 'unary';
input: typeof SendOTPRequestSchema;
output: typeof SendOTPResponseSchema;
},
};
/**
* @generated from rpc mantrae.v1.UserService.GetUser
*/
getUser: {
methodKind: "unary";
methodKind: 'unary';
input: typeof GetUserRequestSchema;
output: typeof GetUserResponseSchema;
},
};
/**
* @generated from rpc mantrae.v1.UserService.CreateUser
*/
createUser: {
methodKind: "unary";
methodKind: 'unary';
input: typeof CreateUserRequestSchema;
output: typeof CreateUserResponseSchema;
},
};
/**
* @generated from rpc mantrae.v1.UserService.UpdateUser
*/
updateUser: {
methodKind: "unary";
methodKind: 'unary';
input: typeof UpdateUserRequestSchema;
output: typeof UpdateUserResponseSchema;
},
};
/**
* @generated from rpc mantrae.v1.UserService.DeleteUser
*/
deleteUser: {
methodKind: "unary";
methodKind: 'unary';
input: typeof DeleteUserRequestSchema;
output: typeof DeleteUserResponseSchema;
},
};
/**
* @generated from rpc mantrae.v1.UserService.ListUsers
*/
listUsers: {
methodKind: "unary";
methodKind: 'unary';
input: typeof ListUsersRequestSchema;
output: typeof ListUsersResponseSchema;
},
};
/**
* @generated from rpc mantrae.v1.UserService.GetOIDCStatus
*/
getOIDCStatus: {
methodKind: "unary";
methodKind: 'unary';
input: typeof GetOIDCStatusRequestSchema;
output: typeof GetOIDCStatusResponseSchema;
},
}> = /*@__PURE__*/
serviceDesc(file_mantrae_v1_user, 0);
};
}> = /*@__PURE__*/ serviceDesc(file_mantrae_v1_user, 0);

View File

@@ -2,33 +2,70 @@
// @generated from file mantrae/v1/util.proto (package mantrae.v1, syntax proto3)
/* eslint-disable */
import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
import type { Message } from "@bufbuild/protobuf";
import type { GenEnum, GenFile, GenMessage, GenService } from '@bufbuild/protobuf/codegenv2';
import { enumDesc, fileDesc, messageDesc, serviceDesc } from '@bufbuild/protobuf/codegenv2';
import { file_buf_validate_validate } from '../../buf/validate/validate_pb';
import type { Agent } from './agent_pb';
import { file_mantrae_v1_agent } from './agent_pb';
import type { DnsProvider } from './dns_provider_pb';
import { file_mantrae_v1_dns_provider } from './dns_provider_pb';
import type { EntryPoint } from './entry_point_pb';
import { file_mantrae_v1_entry_point } from './entry_point_pb';
import type { Middleware } from './middleware_pb';
import { file_mantrae_v1_middleware } from './middleware_pb';
import type { Profile } from './profile_pb';
import { file_mantrae_v1_profile } from './profile_pb';
import type { Router } from './router_pb';
import { file_mantrae_v1_router } from './router_pb';
import type { ServersTransport } from './servers_transport_pb';
import { file_mantrae_v1_servers_transport } from './servers_transport_pb';
import type { Service } from './service_pb';
import { file_mantrae_v1_service } from './service_pb';
import type { TraefikInstance } from './traefik_instance_pb';
import { file_mantrae_v1_traefik_instance } from './traefik_instance_pb';
import type { User } from './user_pb';
import { file_mantrae_v1_user } from './user_pb';
import type { Message } from '@bufbuild/protobuf';
/**
* Describes the file mantrae/v1/util.proto.
*/
export const file_mantrae_v1_util: GenFile = /*@__PURE__*/
fileDesc("ChVtYW50cmFlL3YxL3V0aWwucHJvdG8SCm1hbnRyYWUudjEiEwoRR2V0VmVyc2lvblJlcXVlc3QiJQoSR2V0VmVyc2lvblJlc3BvbnNlEg8KB3ZlcnNpb24YASABKAkiFAoSR2V0UHVibGljSVBSZXF1ZXN0IjEKE0dldFB1YmxpY0lQUmVzcG9uc2USDAoEaXB2NBgBIAEoCRIMCgRpcHY2GAIgASgJMqoBCgtVdGlsU2VydmljZRJLCgpHZXRWZXJzaW9uEh0ubWFudHJhZS52MS5HZXRWZXJzaW9uUmVxdWVzdBoeLm1hbnRyYWUudjEuR2V0VmVyc2lvblJlc3BvbnNlEk4KC0dldFB1YmxpY0lQEh4ubWFudHJhZS52MS5HZXRQdWJsaWNJUFJlcXVlc3QaHy5tYW50cmFlLnYxLkdldFB1YmxpY0lQUmVzcG9uc2VCowEKDmNvbS5tYW50cmFlLnYxQglVdGlsUHJvdG9QAVo9Z2l0aHViLmNvbS9taXp1Y2hpbGFicy9tYW50cmFlL3Byb3RvL2dlbi9tYW50cmFlL3YxO21hbnRyYWV2MaICA01YWKoCCk1hbnRyYWUuVjHKAgpNYW50cmFlXFYx4gIWTWFudHJhZVxWMVxHUEJNZXRhZGF0YeoCC01hbnRyYWU6OlYxYgZwcm90bzM");
export const file_mantrae_v1_util: GenFile =
/*@__PURE__*/
fileDesc(
'ChVtYW50cmFlL3YxL3V0aWwucHJvdG8SCm1hbnRyYWUudjEiEwoRR2V0VmVyc2lvblJlcXVlc3QiJQoSR2V0VmVyc2lvblJlc3BvbnNlEg8KB3ZlcnNpb24YASABKAkiFAoSR2V0UHVibGljSVBSZXF1ZXN0IjEKE0dldFB1YmxpY0lQUmVzcG9uc2USDAoEaXB2NBgBIAEoCRIMCgRpcHY2GAIgASgJIjEKEkV2ZW50U3RyZWFtUmVxdWVzdBIbCgpwcm9maWxlX2lkGAEgASgDQge6SAQiAiAAIoQEChNFdmVudFN0cmVhbVJlc3BvbnNlEicKBmFjdGlvbhgBIAEoDjIXLm1hbnRyYWUudjEuRXZlbnRBY3Rpb24SJgoHcHJvZmlsZRgCIAEoCzITLm1hbnRyYWUudjEuUHJvZmlsZUgAEiAKBHVzZXIYAyABKAsyEC5tYW50cmFlLnYxLlVzZXJIABIiCgVhZ2VudBgEIAEoCzIRLm1hbnRyYWUudjEuQWdlbnRIABIvCgxkbnNfcHJvdmlkZXIYBSABKAsyFy5tYW50cmFlLnYxLkRuc1Byb3ZpZGVySAASNwoQdHJhZWZpa19pbnN0YW5jZRgGIAEoCzIbLm1hbnRyYWUudjEuVHJhZWZpa0luc3RhbmNlSAASJAoGcm91dGVyGAcgASgLMhIubWFudHJhZS52MS5Sb3V0ZXJIABImCgdzZXJ2aWNlGAggASgLMhMubWFudHJhZS52MS5TZXJ2aWNlSAASLAoKbWlkZGxld2FyZRgJIAEoCzIWLm1hbnRyYWUudjEuTWlkZGxld2FyZUgAEjkKEXNlcnZlcnNfdHJhbnNwb3J0GAogASgLMhwubWFudHJhZS52MS5TZXJ2ZXJzVHJhbnNwb3J0SAASLQoLZW50cnlfcG9pbnQYCyABKAsyFi5tYW50cmFlLnYxLkVudHJ5UG9pbnRIAEIGCgRkYXRhKnkKC0V2ZW50QWN0aW9uEhwKGEVWRU5UX0FDVElPTl9VTlNQRUNJRklFRBAAEhgKFEVWRU5UX0FDVElPTl9DUkVBVEVEEAESGAoURVZFTlRfQUNUSU9OX1VQREFURUQQAhIYChRFVkVOVF9BQ1RJT05fREVMRVRFRBADMvwBCgtVdGlsU2VydmljZRJLCgpHZXRWZXJzaW9uEh0ubWFudHJhZS52MS5HZXRWZXJzaW9uUmVxdWVzdBoeLm1hbnRyYWUudjEuR2V0VmVyc2lvblJlc3BvbnNlEk4KC0dldFB1YmxpY0lQEh4ubWFudHJhZS52MS5HZXRQdWJsaWNJUFJlcXVlc3QaHy5tYW50cmFlLnYxLkdldFB1YmxpY0lQUmVzcG9uc2USUAoLRXZlbnRTdHJlYW0SHi5tYW50cmFlLnYxLkV2ZW50U3RyZWFtUmVxdWVzdBofLm1hbnRyYWUudjEuRXZlbnRTdHJlYW1SZXNwb25zZTABQqMBCg5jb20ubWFudHJhZS52MUIJVXRpbFByb3RvUAFaPWdpdGh1Yi5jb20vbWl6dWNoaWxhYnMvbWFudHJhZS9wcm90by9nZW4vbWFudHJhZS92MTttYW50cmFldjGiAgNNWFiqAgpNYW50cmFlLlYxygIKTWFudHJhZVxWMeICFk1hbnRyYWVcVjFcR1BCTWV0YWRhdGHqAgtNYW50cmFlOjpWMWIGcHJvdG8z',
[
file_buf_validate_validate,
file_mantrae_v1_agent,
file_mantrae_v1_dns_provider,
file_mantrae_v1_entry_point,
file_mantrae_v1_middleware,
file_mantrae_v1_profile,
file_mantrae_v1_router,
file_mantrae_v1_servers_transport,
file_mantrae_v1_service,
file_mantrae_v1_traefik_instance,
file_mantrae_v1_user
]
);
/**
* @generated from message mantrae.v1.GetVersionRequest
*/
export type GetVersionRequest = Message<"mantrae.v1.GetVersionRequest"> & {
};
export type GetVersionRequest = Message<'mantrae.v1.GetVersionRequest'> & {};
/**
* Describes the message mantrae.v1.GetVersionRequest.
* Use `create(GetVersionRequestSchema)` to create a new message.
*/
export const GetVersionRequestSchema: GenMessage<GetVersionRequest> = /*@__PURE__*/
export const GetVersionRequestSchema: GenMessage<GetVersionRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_util, 0);
/**
* @generated from message mantrae.v1.GetVersionResponse
*/
export type GetVersionResponse = Message<"mantrae.v1.GetVersionResponse"> & {
export type GetVersionResponse = Message<'mantrae.v1.GetVersionResponse'> & {
/**
* @generated from field: string version = 1;
*/
@@ -39,26 +76,27 @@ export type GetVersionResponse = Message<"mantrae.v1.GetVersionResponse"> & {
* Describes the message mantrae.v1.GetVersionResponse.
* Use `create(GetVersionResponseSchema)` to create a new message.
*/
export const GetVersionResponseSchema: GenMessage<GetVersionResponse> = /*@__PURE__*/
export const GetVersionResponseSchema: GenMessage<GetVersionResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_util, 1);
/**
* @generated from message mantrae.v1.GetPublicIPRequest
*/
export type GetPublicIPRequest = Message<"mantrae.v1.GetPublicIPRequest"> & {
};
export type GetPublicIPRequest = Message<'mantrae.v1.GetPublicIPRequest'> & {};
/**
* Describes the message mantrae.v1.GetPublicIPRequest.
* Use `create(GetPublicIPRequestSchema)` to create a new message.
*/
export const GetPublicIPRequestSchema: GenMessage<GetPublicIPRequest> = /*@__PURE__*/
export const GetPublicIPRequestSchema: GenMessage<GetPublicIPRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_util, 2);
/**
* @generated from message mantrae.v1.GetPublicIPResponse
*/
export type GetPublicIPResponse = Message<"mantrae.v1.GetPublicIPResponse"> & {
export type GetPublicIPResponse = Message<'mantrae.v1.GetPublicIPResponse'> & {
/**
* @generated from field: string ipv4 = 1;
*/
@@ -74,9 +112,154 @@ export type GetPublicIPResponse = Message<"mantrae.v1.GetPublicIPResponse"> & {
* Describes the message mantrae.v1.GetPublicIPResponse.
* Use `create(GetPublicIPResponseSchema)` to create a new message.
*/
export const GetPublicIPResponseSchema: GenMessage<GetPublicIPResponse> = /*@__PURE__*/
export const GetPublicIPResponseSchema: GenMessage<GetPublicIPResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_util, 3);
/**
* @generated from message mantrae.v1.EventStreamRequest
*/
export type EventStreamRequest = Message<'mantrae.v1.EventStreamRequest'> & {
/**
* @generated from field: int64 profile_id = 1;
*/
profileId: bigint;
};
/**
* Describes the message mantrae.v1.EventStreamRequest.
* Use `create(EventStreamRequestSchema)` to create a new message.
*/
export const EventStreamRequestSchema: GenMessage<EventStreamRequest> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_util, 4);
/**
* @generated from message mantrae.v1.EventStreamResponse
*/
export type EventStreamResponse = Message<'mantrae.v1.EventStreamResponse'> & {
/**
* @generated from field: mantrae.v1.EventAction action = 1;
*/
action: EventAction;
/**
* @generated from oneof mantrae.v1.EventStreamResponse.data
*/
data:
| {
/**
* @generated from field: mantrae.v1.Profile profile = 2;
*/
value: Profile;
case: 'profile';
}
| {
/**
* @generated from field: mantrae.v1.User user = 3;
*/
value: User;
case: 'user';
}
| {
/**
* @generated from field: mantrae.v1.Agent agent = 4;
*/
value: Agent;
case: 'agent';
}
| {
/**
* @generated from field: mantrae.v1.DnsProvider dns_provider = 5;
*/
value: DnsProvider;
case: 'dnsProvider';
}
| {
/**
* @generated from field: mantrae.v1.TraefikInstance traefik_instance = 6;
*/
value: TraefikInstance;
case: 'traefikInstance';
}
| {
/**
* @generated from field: mantrae.v1.Router router = 7;
*/
value: Router;
case: 'router';
}
| {
/**
* @generated from field: mantrae.v1.Service service = 8;
*/
value: Service;
case: 'service';
}
| {
/**
* @generated from field: mantrae.v1.Middleware middleware = 9;
*/
value: Middleware;
case: 'middleware';
}
| {
/**
* @generated from field: mantrae.v1.ServersTransport servers_transport = 10;
*/
value: ServersTransport;
case: 'serversTransport';
}
| {
/**
* @generated from field: mantrae.v1.EntryPoint entry_point = 11;
*/
value: EntryPoint;
case: 'entryPoint';
}
| { case: undefined; value?: undefined };
};
/**
* Describes the message mantrae.v1.EventStreamResponse.
* Use `create(EventStreamResponseSchema)` to create a new message.
*/
export const EventStreamResponseSchema: GenMessage<EventStreamResponse> =
/*@__PURE__*/
messageDesc(file_mantrae_v1_util, 5);
/**
* @generated from enum mantrae.v1.EventAction
*/
export enum EventAction {
/**
* @generated from enum value: EVENT_ACTION_UNSPECIFIED = 0;
*/
UNSPECIFIED = 0,
/**
* @generated from enum value: EVENT_ACTION_CREATED = 1;
*/
CREATED = 1,
/**
* @generated from enum value: EVENT_ACTION_UPDATED = 2;
*/
UPDATED = 2,
/**
* @generated from enum value: EVENT_ACTION_DELETED = 3;
*/
DELETED = 3
}
/**
* Describes the enum mantrae.v1.EventAction.
*/
export const EventActionSchema: GenEnum<EventAction> =
/*@__PURE__*/
enumDesc(file_mantrae_v1_util, 0);
/**
* @generated from service mantrae.v1.UtilService
*/
@@ -85,18 +268,24 @@ export const UtilService: GenService<{
* @generated from rpc mantrae.v1.UtilService.GetVersion
*/
getVersion: {
methodKind: "unary";
methodKind: 'unary';
input: typeof GetVersionRequestSchema;
output: typeof GetVersionResponseSchema;
},
};
/**
* @generated from rpc mantrae.v1.UtilService.GetPublicIP
*/
getPublicIP: {
methodKind: "unary";
methodKind: 'unary';
input: typeof GetPublicIPRequestSchema;
output: typeof GetPublicIPResponseSchema;
},
}> = /*@__PURE__*/
serviceDesc(file_mantrae_v1_util, 0);
};
/**
* @generated from rpc mantrae.v1.UtilService.EventStream
*/
eventStream: {
methodKind: 'server_streaming';
input: typeof EventStreamRequestSchema;
output: typeof EventStreamResponseSchema;
};
}> = /*@__PURE__*/ serviceDesc(file_mantrae_v1_util, 0);

View File

@@ -5,23 +5,23 @@ import { z } from 'zod';
export const DomainSchema = z.object({
main: z.string().optional(),
sans: z.string().array().optional(),
})
export type Domain = z.infer<typeof DomainSchema>
sans: z.string().array().optional()
});
export type Domain = z.infer<typeof DomainSchema>;
export const RouterTLSConfigSchema = z.object({
options: z.string().optional(),
certResolver: z.string().optional(),
domains: DomainSchema.array().optional(),
})
export type RouterTLSConfig = z.infer<typeof RouterTLSConfigSchema>
domains: DomainSchema.array().optional()
});
export type RouterTLSConfig = z.infer<typeof RouterTLSConfigSchema>;
export const RouterObservabilityConfigSchema = z.object({
accessLogs: z.boolean().optional(),
tracing: z.boolean().optional(),
metrics: z.boolean().optional(),
})
export type RouterObservabilityConfig = z.infer<typeof RouterObservabilityConfigSchema>
metrics: z.boolean().optional()
});
export type RouterObservabilityConfig = z.infer<typeof RouterObservabilityConfigSchema>;
export const RouterSchema = z.object({
entryPoints: z.string().array().optional(),
@@ -31,9 +31,9 @@ export const RouterSchema = z.object({
ruleSyntax: z.string().optional(),
priority: z.number().optional(),
tls: RouterTLSConfigSchema.optional(),
observability: RouterObservabilityConfigSchema.optional(),
})
export type Router = z.infer<typeof RouterSchema>
observability: RouterObservabilityConfigSchema.optional()
});
export type Router = z.infer<typeof RouterSchema>;
export const CookieSchema = z.object({
name: z.string().optional(),
@@ -42,22 +42,22 @@ export const CookieSchema = z.object({
sameSite: z.string().optional(),
maxAge: z.number().optional(),
path: z.string().optional(),
domain: z.string().optional(),
})
export type Cookie = z.infer<typeof CookieSchema>
domain: z.string().optional()
});
export type Cookie = z.infer<typeof CookieSchema>;
export const StickySchema = z.object({
cookie: CookieSchema.optional(),
})
export type Sticky = z.infer<typeof StickySchema>
cookie: CookieSchema.optional()
});
export type Sticky = z.infer<typeof StickySchema>;
export const ServerSchema = z.object({
url: z.string().optional(),
weight: z.number().optional(),
preservePath: z.boolean().optional(),
fenced: z.boolean().optional(),
})
export type Server = z.infer<typeof ServerSchema>
fenced: z.boolean().optional()
});
export type Server = z.infer<typeof ServerSchema>;
export const ServerHealthCheckSchema = z.object({
scheme: z.string().optional(),
@@ -70,14 +70,14 @@ export const ServerHealthCheckSchema = z.object({
timeout: z.number().optional(),
hostname: z.string().optional(),
followRedirects: z.boolean().optional(),
headers: z.record(z.string(), z.string()).optional(),
})
export type ServerHealthCheck = z.infer<typeof ServerHealthCheckSchema>
headers: z.record(z.string(), z.string()).optional()
});
export type ServerHealthCheck = z.infer<typeof ServerHealthCheckSchema>;
export const ResponseForwardingSchema = z.object({
flushInterval: z.number().optional(),
})
export type ResponseForwarding = z.infer<typeof ResponseForwardingSchema>
flushInterval: z.number().optional()
});
export type ResponseForwarding = z.infer<typeof ResponseForwardingSchema>;
export const ServersLoadBalancerSchema = z.object({
sticky: StickySchema.optional(),
@@ -86,108 +86,107 @@ export const ServersLoadBalancerSchema = z.object({
healthCheck: ServerHealthCheckSchema.optional(),
passHostHeader: z.boolean().nullable(),
responseForwarding: ResponseForwardingSchema.optional(),
serversTransport: z.string().optional(),
})
export type ServersLoadBalancer = z.infer<typeof ServersLoadBalancerSchema>
serversTransport: z.string().optional()
});
export type ServersLoadBalancer = z.infer<typeof ServersLoadBalancerSchema>;
export const WRRServiceSchema = z.object({
name: z.string().optional(),
weight: z.number().optional(),
})
export type WRRService = z.infer<typeof WRRServiceSchema>
weight: z.number().optional()
});
export type WRRService = z.infer<typeof WRRServiceSchema>;
export const HealthCheckSchema = z.object({
})
export type HealthCheck = z.infer<typeof HealthCheckSchema>
export const HealthCheckSchema = z.object({});
export type HealthCheck = z.infer<typeof HealthCheckSchema>;
export const WeightedRoundRobinSchema = z.object({
services: WRRServiceSchema.array().optional(),
sticky: StickySchema.optional(),
healthCheck: HealthCheckSchema.optional(),
})
export type WeightedRoundRobin = z.infer<typeof WeightedRoundRobinSchema>
healthCheck: HealthCheckSchema.optional()
});
export type WeightedRoundRobin = z.infer<typeof WeightedRoundRobinSchema>;
export const MirrorServiceSchema = z.object({
name: z.string().optional(),
percent: z.number().optional(),
})
export type MirrorService = z.infer<typeof MirrorServiceSchema>
percent: z.number().optional()
});
export type MirrorService = z.infer<typeof MirrorServiceSchema>;
export const MirroringSchema = z.object({
service: z.string().optional(),
mirrorBody: z.boolean().optional(),
maxBodySize: z.number().optional(),
mirrors: MirrorServiceSchema.array().optional(),
healthCheck: HealthCheckSchema.optional(),
})
export type Mirroring = z.infer<typeof MirroringSchema>
healthCheck: HealthCheckSchema.optional()
});
export type Mirroring = z.infer<typeof MirroringSchema>;
export const FailoverSchema = z.object({
service: z.string().optional(),
fallback: z.string().optional(),
healthCheck: HealthCheckSchema.optional(),
})
export type Failover = z.infer<typeof FailoverSchema>
healthCheck: HealthCheckSchema.optional()
});
export type Failover = z.infer<typeof FailoverSchema>;
export const ServiceSchema = z.object({
loadBalancer: ServersLoadBalancerSchema.optional(),
weighted: WeightedRoundRobinSchema.optional(),
mirroring: MirroringSchema.optional(),
failover: FailoverSchema.optional(),
})
export type Service = z.infer<typeof ServiceSchema>
failover: FailoverSchema.optional()
});
export type Service = z.infer<typeof ServiceSchema>;
export const AddPrefixSchema = z.object({
prefix: z.string().optional(),
})
export type AddPrefix = z.infer<typeof AddPrefixSchema>
prefix: z.string().optional()
});
export type AddPrefix = z.infer<typeof AddPrefixSchema>;
export const StripPrefixSchema = z.object({
prefixes: z.string().array().optional(),
forceSlash: z.boolean().optional(),
})
export type StripPrefix = z.infer<typeof StripPrefixSchema>
forceSlash: z.boolean().optional()
});
export type StripPrefix = z.infer<typeof StripPrefixSchema>;
export const StripPrefixRegexSchema = z.object({
regex: z.string().array().optional(),
})
export type StripPrefixRegex = z.infer<typeof StripPrefixRegexSchema>
regex: z.string().array().optional()
});
export type StripPrefixRegex = z.infer<typeof StripPrefixRegexSchema>;
export const ReplacePathSchema = z.object({
path: z.string().optional(),
})
export type ReplacePath = z.infer<typeof ReplacePathSchema>
path: z.string().optional()
});
export type ReplacePath = z.infer<typeof ReplacePathSchema>;
export const ReplacePathRegexSchema = z.object({
regex: z.string().optional(),
replacement: z.string().optional(),
})
export type ReplacePathRegex = z.infer<typeof ReplacePathRegexSchema>
replacement: z.string().optional()
});
export type ReplacePathRegex = z.infer<typeof ReplacePathRegexSchema>;
export const ChainSchema = z.object({
middlewares: z.string().array().optional(),
})
export type Chain = z.infer<typeof ChainSchema>
middlewares: z.string().array().optional()
});
export type Chain = z.infer<typeof ChainSchema>;
export const IPStrategySchema = z.object({
depth: z.number().optional(),
excludedIPs: z.string().array().optional(),
ipv6Subnet: z.number().optional(),
})
export type IPStrategy = z.infer<typeof IPStrategySchema>
ipv6Subnet: z.number().optional()
});
export type IPStrategy = z.infer<typeof IPStrategySchema>;
export const IPWhiteListSchema = z.object({
sourceRange: z.string().array().optional(),
ipStrategy: IPStrategySchema.optional(),
})
export type IPWhiteList = z.infer<typeof IPWhiteListSchema>
ipStrategy: IPStrategySchema.optional()
});
export type IPWhiteList = z.infer<typeof IPWhiteListSchema>;
export const IPAllowListSchema = z.object({
sourceRange: z.string().array().optional(),
ipStrategy: IPStrategySchema.optional(),
rejectStatusCode: z.number().optional(),
})
export type IPAllowList = z.infer<typeof IPAllowListSchema>
rejectStatusCode: z.number().optional()
});
export type IPAllowList = z.infer<typeof IPAllowListSchema>;
export const HeadersSchema = z.object({
customRequestHeaders: z.record(z.string(), z.string()).optional(),
@@ -222,32 +221,32 @@ export const HeadersSchema = z.object({
sslRedirect: z.boolean().optional(),
sslTemporaryRedirect: z.boolean().optional(),
sslHost: z.string().optional(),
sslForceHost: z.boolean().optional(),
})
export type Headers = z.infer<typeof HeadersSchema>
sslForceHost: z.boolean().optional()
});
export type Headers = z.infer<typeof HeadersSchema>;
export const ErrorPageSchema = z.object({
status: z.string().array().optional(),
statusRewrites: z.record(z.string(), z.number()).optional(),
service: z.string().optional(),
query: z.string().optional(),
})
export type ErrorPage = z.infer<typeof ErrorPageSchema>
query: z.string().optional()
});
export type ErrorPage = z.infer<typeof ErrorPageSchema>;
export const SourceCriterionSchema = z.object({
ipStrategy: IPStrategySchema.optional(),
requestHeaderName: z.string().optional(),
requestHost: z.boolean().optional(),
})
export type SourceCriterion = z.infer<typeof SourceCriterionSchema>
requestHost: z.boolean().optional()
});
export type SourceCriterion = z.infer<typeof SourceCriterionSchema>;
export const ClientTLSSchema = z.object({
ca: z.string().optional(),
cert: z.string().optional(),
key: z.string().optional(),
insecureSkipVerify: z.boolean().optional(),
})
export type ClientTLS = z.infer<typeof ClientTLSSchema>
insecureSkipVerify: z.boolean().optional()
});
export type ClientTLS = z.infer<typeof ClientTLSSchema>;
export const RedisSchema = z.object({
endpoints: z.string().array().optional(),
@@ -260,50 +259,50 @@ export const RedisSchema = z.object({
maxActiveConns: z.number().optional(),
readTimeout: z.number().optional(),
writeTimeout: z.number().optional(),
dialTimeout: z.number().optional(),
})
export type Redis = z.infer<typeof RedisSchema>
dialTimeout: z.number().optional()
});
export type Redis = z.infer<typeof RedisSchema>;
export const RateLimitSchema = z.object({
average: z.number().optional(),
period: z.number().optional(),
burst: z.number().optional(),
sourceCriterion: SourceCriterionSchema.optional(),
redis: RedisSchema.optional(),
})
export type RateLimit = z.infer<typeof RateLimitSchema>
redis: RedisSchema.optional()
});
export type RateLimit = z.infer<typeof RateLimitSchema>;
export const RedirectRegexSchema = z.object({
regex: z.string().optional(),
replacement: z.string().optional(),
permanent: z.boolean().optional(),
})
export type RedirectRegex = z.infer<typeof RedirectRegexSchema>
permanent: z.boolean().optional()
});
export type RedirectRegex = z.infer<typeof RedirectRegexSchema>;
export const RedirectSchemeSchema = z.object({
scheme: z.string().optional(),
port: z.string().optional(),
permanent: z.boolean().optional(),
})
export type RedirectScheme = z.infer<typeof RedirectSchemeSchema>
permanent: z.boolean().optional()
});
export type RedirectScheme = z.infer<typeof RedirectSchemeSchema>;
export const BasicAuthSchema = z.object({
users: z.string().array().optional(),
usersFile: z.string().optional(),
realm: z.string().optional(),
removeHeader: z.boolean().optional(),
headerField: z.string().optional(),
})
export type BasicAuth = z.infer<typeof BasicAuthSchema>
headerField: z.string().optional()
});
export type BasicAuth = z.infer<typeof BasicAuthSchema>;
export const DigestAuthSchema = z.object({
users: z.string().array().optional(),
usersFile: z.string().optional(),
removeHeader: z.boolean().optional(),
realm: z.string().optional(),
headerField: z.string().optional(),
})
export type DigestAuth = z.infer<typeof DigestAuthSchema>
headerField: z.string().optional()
});
export type DigestAuth = z.infer<typeof DigestAuthSchema>;
export const ForwardAuthSchema = z.object({
address: z.string().optional(),
@@ -317,42 +316,42 @@ export const ForwardAuthSchema = z.object({
forwardBody: z.boolean().optional(),
maxBodySize: z.number().optional(),
preserveLocationHeader: z.boolean().optional(),
preserveRequestMethod: z.boolean().optional(),
})
export type ForwardAuth = z.infer<typeof ForwardAuthSchema>
preserveRequestMethod: z.boolean().optional()
});
export type ForwardAuth = z.infer<typeof ForwardAuthSchema>;
export const InFlightReqSchema = z.object({
amount: z.number().optional(),
sourceCriterion: SourceCriterionSchema.optional(),
})
export type InFlightReq = z.infer<typeof InFlightReqSchema>
sourceCriterion: SourceCriterionSchema.optional()
});
export type InFlightReq = z.infer<typeof InFlightReqSchema>;
export const BufferingSchema = z.object({
maxRequestBodyBytes: z.number().optional(),
memRequestBodyBytes: z.number().optional(),
maxResponseBodyBytes: z.number().optional(),
memResponseBodyBytes: z.number().optional(),
retryExpression: z.string().optional(),
})
export type Buffering = z.infer<typeof BufferingSchema>
retryExpression: z.string().optional()
});
export type Buffering = z.infer<typeof BufferingSchema>;
export const CircuitBreakerSchema = z.object({
expression: z.string().optional(),
checkPeriod: z.number().optional(),
fallbackDuration: z.number().optional(),
recoveryDuration: z.number().optional(),
responseCode: z.number().optional(),
})
export type CircuitBreaker = z.infer<typeof CircuitBreakerSchema>
responseCode: z.number().optional()
});
export type CircuitBreaker = z.infer<typeof CircuitBreakerSchema>;
export const CompressSchema = z.object({
excludedContentTypes: z.string().array().optional(),
includedContentTypes: z.string().array().optional(),
minResponseBodyBytes: z.number().optional(),
encodings: z.string().array().optional(),
defaultEncoding: z.string().optional(),
})
export type Compress = z.infer<typeof CompressSchema>
defaultEncoding: z.string().optional()
});
export type Compress = z.infer<typeof CompressSchema>;
export const TLSClientCertificateSubjectDNInfoSchema = z.object({
country: z.boolean().optional(),
@@ -362,9 +361,11 @@ export const TLSClientCertificateSubjectDNInfoSchema = z.object({
organizationalUnit: z.boolean().optional(),
commonName: z.boolean().optional(),
serialNumber: z.boolean().optional(),
domainComponent: z.boolean().optional(),
})
export type TLSClientCertificateSubjectDNInfo = z.infer<typeof TLSClientCertificateSubjectDNInfoSchema>
domainComponent: z.boolean().optional()
});
export type TLSClientCertificateSubjectDNInfo = z.infer<
typeof TLSClientCertificateSubjectDNInfoSchema
>;
export const TLSClientCertificateIssuerDNInfoSchema = z.object({
country: z.boolean().optional(),
@@ -373,9 +374,11 @@ export const TLSClientCertificateIssuerDNInfoSchema = z.object({
organization: z.boolean().optional(),
commonName: z.boolean().optional(),
serialNumber: z.boolean().optional(),
domainComponent: z.boolean().optional(),
})
export type TLSClientCertificateIssuerDNInfo = z.infer<typeof TLSClientCertificateIssuerDNInfoSchema>
domainComponent: z.boolean().optional()
});
export type TLSClientCertificateIssuerDNInfo = z.infer<
typeof TLSClientCertificateIssuerDNInfoSchema
>;
export const TLSClientCertificateInfoSchema = z.object({
notAfter: z.boolean().optional(),
@@ -383,38 +386,38 @@ export const TLSClientCertificateInfoSchema = z.object({
sans: z.boolean().optional(),
serialNumber: z.boolean().optional(),
subject: TLSClientCertificateSubjectDNInfoSchema.optional(),
issuer: TLSClientCertificateIssuerDNInfoSchema.optional(),
})
export type TLSClientCertificateInfo = z.infer<typeof TLSClientCertificateInfoSchema>
issuer: TLSClientCertificateIssuerDNInfoSchema.optional()
});
export type TLSClientCertificateInfo = z.infer<typeof TLSClientCertificateInfoSchema>;
export const PassTLSClientCertSchema = z.object({
pem: z.boolean().optional(),
info: TLSClientCertificateInfoSchema.optional(),
})
export type PassTLSClientCert = z.infer<typeof PassTLSClientCertSchema>
info: TLSClientCertificateInfoSchema.optional()
});
export type PassTLSClientCert = z.infer<typeof PassTLSClientCertSchema>;
export const RetrySchema = z.object({
attempts: z.number().optional(),
initialInterval: z.number().optional(),
})
export type Retry = z.infer<typeof RetrySchema>
initialInterval: z.number().optional()
});
export type Retry = z.infer<typeof RetrySchema>;
export const ContentTypeSchema = z.object({
autoDetect: z.boolean().optional(),
})
export type ContentType = z.infer<typeof ContentTypeSchema>
autoDetect: z.boolean().optional()
});
export type ContentType = z.infer<typeof ContentTypeSchema>;
export const GrpcWebSchema = z.object({
allowOrigins: z.string().array().optional(),
})
export type GrpcWeb = z.infer<typeof GrpcWebSchema>
allowOrigins: z.string().array().optional()
});
export type GrpcWeb = z.infer<typeof GrpcWebSchema>;
export const HeaderModifierSchema = z.object({
set: z.record(z.string(), z.string()).optional(),
add: z.record(z.string(), z.string()).optional(),
remove: z.string().array().optional(),
})
export type HeaderModifier = z.infer<typeof HeaderModifierSchema>
remove: z.string().array().optional()
});
export type HeaderModifier = z.infer<typeof HeaderModifierSchema>;
export const RequestRedirectSchema = z.object({
scheme: z.string().optional(),
@@ -422,16 +425,16 @@ export const RequestRedirectSchema = z.object({
port: z.string().optional(),
path: z.string().optional(),
pathPrefix: z.string().optional(),
statusCode: z.number().optional(),
})
export type RequestRedirect = z.infer<typeof RequestRedirectSchema>
statusCode: z.number().optional()
});
export type RequestRedirect = z.infer<typeof RequestRedirectSchema>;
export const URLRewriteSchema = z.object({
hostname: z.string().optional(),
path: z.string().optional(),
pathPrefix: z.string().optional(),
})
export type URLRewrite = z.infer<typeof URLRewriteSchema>
pathPrefix: z.string().optional()
});
export type URLRewrite = z.infer<typeof URLRewriteSchema>;
export const MiddlewareSchema = z.object({
addPrefix: AddPrefixSchema.optional(),
@@ -462,37 +465,37 @@ export const MiddlewareSchema = z.object({
requestHeaderModifier: HeaderModifierSchema.optional(),
responseHeaderModifier: HeaderModifierSchema.optional(),
requestRedirect: RequestRedirectSchema.optional(),
URLRewrite: URLRewriteSchema.optional(),
})
export type Middleware = z.infer<typeof MiddlewareSchema>
URLRewrite: URLRewriteSchema.optional()
});
export type Middleware = z.infer<typeof MiddlewareSchema>;
export const ModelSchema = z.object({
middlewares: z.string().array().optional(),
tls: RouterTLSConfigSchema.optional(),
observability: RouterObservabilityConfigSchema,
})
export type Model = z.infer<typeof ModelSchema>
observability: RouterObservabilityConfigSchema
});
export type Model = z.infer<typeof ModelSchema>;
export const CertificateSchema = z.object({
certFile: z.string().optional(),
keyFile: z.string().optional(),
})
export type Certificate = z.infer<typeof CertificateSchema>
keyFile: z.string().optional()
});
export type Certificate = z.infer<typeof CertificateSchema>;
export const ForwardingTimeoutsSchema = z.object({
dialTimeout: z.number().optional(),
responseHeaderTimeout: z.number().optional(),
idleConnTimeout: z.number().optional(),
readIdleTimeout: z.number().optional(),
pingTimeout: z.number().optional(),
})
export type ForwardingTimeouts = z.infer<typeof ForwardingTimeoutsSchema>
pingTimeout: z.number().optional()
});
export type ForwardingTimeouts = z.infer<typeof ForwardingTimeoutsSchema>;
export const SpiffeSchema = z.object({
ids: z.string().array().optional(),
trustDomain: z.string().optional(),
})
export type Spiffe = z.infer<typeof SpiffeSchema>
trustDomain: z.string().optional()
});
export type Spiffe = z.infer<typeof SpiffeSchema>;
export const ServersTransportSchema = z.object({
serverName: z.string().optional(),
@@ -503,26 +506,26 @@ export const ServersTransportSchema = z.object({
forwardingTimeouts: ForwardingTimeoutsSchema.optional(),
disableHTTP2: z.boolean().optional(),
peerCertURI: z.string().optional(),
spiffe: SpiffeSchema.optional(),
})
export type ServersTransport = z.infer<typeof ServersTransportSchema>
spiffe: SpiffeSchema.optional()
});
export type ServersTransport = z.infer<typeof ServersTransportSchema>;
export const HTTPConfigurationSchema = z.object({
routers: z.record(z.string(), RouterSchema).optional(),
services: z.record(z.string(), ServiceSchema).optional(),
middlewares: z.record(z.string(), MiddlewareSchema).optional(),
models: z.record(z.string(), ModelSchema).optional(),
serversTransports: z.record(z.string(), ServersTransportSchema).optional(),
})
export type HTTPConfiguration = z.infer<typeof HTTPConfigurationSchema>
serversTransports: z.record(z.string(), ServersTransportSchema).optional()
});
export type HTTPConfiguration = z.infer<typeof HTTPConfigurationSchema>;
export const RouterTCPTLSConfigSchema = z.object({
passthrough: z.boolean(),
options: z.string().optional(),
certResolver: z.string().optional(),
domains: DomainSchema.array().optional(),
})
export type RouterTCPTLSConfig = z.infer<typeof RouterTCPTLSConfigSchema>
domains: DomainSchema.array().optional()
});
export type RouterTCPTLSConfig = z.infer<typeof RouterTCPTLSConfigSchema>;
export const TCPRouterSchema = z.object({
entryPoints: z.string().array().optional(),
@@ -531,67 +534,67 @@ export const TCPRouterSchema = z.object({
rule: z.string().optional(),
ruleSyntax: z.string().optional(),
priority: z.number().optional(),
tls: RouterTCPTLSConfigSchema.optional(),
})
export type TCPRouter = z.infer<typeof TCPRouterSchema>
tls: RouterTCPTLSConfigSchema.optional()
});
export type TCPRouter = z.infer<typeof TCPRouterSchema>;
export const ProxyProtocolSchema = z.object({
version: z.number().optional(),
})
export type ProxyProtocol = z.infer<typeof ProxyProtocolSchema>
version: z.number().optional()
});
export type ProxyProtocol = z.infer<typeof ProxyProtocolSchema>;
export const TCPServerSchema = z.object({
address: z.string().optional(),
tls: z.boolean().optional(),
})
export type TCPServer = z.infer<typeof TCPServerSchema>
tls: z.boolean().optional()
});
export type TCPServer = z.infer<typeof TCPServerSchema>;
export const TCPServersLoadBalancerSchema = z.object({
proxyProtocol: ProxyProtocolSchema.optional(),
servers: TCPServerSchema.array().optional(),
serversTransport: z.string().optional(),
terminationDelay: z.number().optional(),
})
export type TCPServersLoadBalancer = z.infer<typeof TCPServersLoadBalancerSchema>
terminationDelay: z.number().optional()
});
export type TCPServersLoadBalancer = z.infer<typeof TCPServersLoadBalancerSchema>;
export const TCPWRRServiceSchema = z.object({
name: z.string().optional(),
weight: z.number().optional(),
})
export type TCPWRRService = z.infer<typeof TCPWRRServiceSchema>
weight: z.number().optional()
});
export type TCPWRRService = z.infer<typeof TCPWRRServiceSchema>;
export const TCPWeightedRoundRobinSchema = z.object({
services: TCPWRRServiceSchema.array().optional(),
})
export type TCPWeightedRoundRobin = z.infer<typeof TCPWeightedRoundRobinSchema>
services: TCPWRRServiceSchema.array().optional()
});
export type TCPWeightedRoundRobin = z.infer<typeof TCPWeightedRoundRobinSchema>;
export const TCPServiceSchema = z.object({
loadBalancer: TCPServersLoadBalancerSchema.optional(),
weighted: TCPWeightedRoundRobinSchema.optional(),
})
export type TCPService = z.infer<typeof TCPServiceSchema>
weighted: TCPWeightedRoundRobinSchema.optional()
});
export type TCPService = z.infer<typeof TCPServiceSchema>;
export const TCPInFlightConnSchema = z.object({
amount: z.number().optional(),
})
export type TCPInFlightConn = z.infer<typeof TCPInFlightConnSchema>
amount: z.number().optional()
});
export type TCPInFlightConn = z.infer<typeof TCPInFlightConnSchema>;
export const TCPIPWhiteListSchema = z.object({
sourceRange: z.string().array().optional(),
})
export type TCPIPWhiteList = z.infer<typeof TCPIPWhiteListSchema>
sourceRange: z.string().array().optional()
});
export type TCPIPWhiteList = z.infer<typeof TCPIPWhiteListSchema>;
export const TCPIPAllowListSchema = z.object({
sourceRange: z.string().array().optional(),
})
export type TCPIPAllowList = z.infer<typeof TCPIPAllowListSchema>
sourceRange: z.string().array().optional()
});
export type TCPIPAllowList = z.infer<typeof TCPIPAllowListSchema>;
export const TCPMiddlewareSchema = z.object({
inFlightConn: TCPInFlightConnSchema.optional(),
ipWhiteList: TCPIPWhiteListSchema.optional(),
ipAllowList: TCPIPAllowListSchema.optional(),
})
export type TCPMiddleware = z.infer<typeof TCPMiddlewareSchema>
ipAllowList: TCPIPAllowListSchema.optional()
});
export type TCPMiddleware = z.infer<typeof TCPMiddlewareSchema>;
export const TLSClientConfigSchema = z.object({
serverName: z.string().optional(),
@@ -599,75 +602,77 @@ export const TLSClientConfigSchema = z.object({
rootCAs: z.string().array().optional(),
certificates: CertificateSchema.array().optional(),
peerCertURI: z.string().optional(),
spiffe: SpiffeSchema.optional(),
})
export type TLSClientConfig = z.infer<typeof TLSClientConfigSchema>
spiffe: SpiffeSchema.optional()
});
export type TLSClientConfig = z.infer<typeof TLSClientConfigSchema>;
export const TCPServersTransportSchema = z.object({
dialKeepAlive: z.number().optional(),
dialTimeout: z.number().optional(),
terminationDelay: z.number().optional(),
tls: TLSClientConfigSchema.optional(),
})
export type TCPServersTransport = z.infer<typeof TCPServersTransportSchema>
tls: TLSClientConfigSchema.optional()
});
export type TCPServersTransport = z.infer<typeof TCPServersTransportSchema>;
export const TCPConfigurationSchema = z.object({
routers: z.record(z.string(), TCPRouterSchema).optional(),
services: z.record(z.string(), TCPServiceSchema).optional(),
middlewares: z.record(z.string(), TCPMiddlewareSchema).optional(),
serversTransports: z.record(z.string(), TCPServersTransportSchema).optional(),
})
export type TCPConfiguration = z.infer<typeof TCPConfigurationSchema>
serversTransports: z.record(z.string(), TCPServersTransportSchema).optional()
});
export type TCPConfiguration = z.infer<typeof TCPConfigurationSchema>;
export const UDPRouterSchema = z.object({
entryPoints: z.string().array().optional(),
service: z.string().optional(),
})
export type UDPRouter = z.infer<typeof UDPRouterSchema>
service: z.string().optional()
});
export type UDPRouter = z.infer<typeof UDPRouterSchema>;
export const UDPServerSchema = z.object({
address: z.string().optional(),
})
export type UDPServer = z.infer<typeof UDPServerSchema>
address: z.string().optional()
});
export type UDPServer = z.infer<typeof UDPServerSchema>;
export const UDPServersLoadBalancerSchema = z.object({
servers: UDPServerSchema.array().optional(),
})
export type UDPServersLoadBalancer = z.infer<typeof UDPServersLoadBalancerSchema>
servers: UDPServerSchema.array().optional()
});
export type UDPServersLoadBalancer = z.infer<typeof UDPServersLoadBalancerSchema>;
export const UDPWRRServiceSchema = z.object({
name: z.string().optional(),
weight: z.number().optional(),
})
export type UDPWRRService = z.infer<typeof UDPWRRServiceSchema>
weight: z.number().optional()
});
export type UDPWRRService = z.infer<typeof UDPWRRServiceSchema>;
export const UDPWeightedRoundRobinSchema = z.object({
services: UDPWRRServiceSchema.array().optional(),
})
export type UDPWeightedRoundRobin = z.infer<typeof UDPWeightedRoundRobinSchema>
services: UDPWRRServiceSchema.array().optional()
});
export type UDPWeightedRoundRobin = z.infer<typeof UDPWeightedRoundRobinSchema>;
export const UDPServiceSchema = z.object({
loadBalancer: UDPServersLoadBalancerSchema.optional(),
weighted: UDPWeightedRoundRobinSchema.optional(),
})
export type UDPService = z.infer<typeof UDPServiceSchema>
weighted: UDPWeightedRoundRobinSchema.optional()
});
export type UDPService = z.infer<typeof UDPServiceSchema>;
export const UDPConfigurationSchema = z.object({
routers: z.record(z.string(), UDPRouterSchema).optional(),
services: z.record(z.string(), UDPServiceSchema).optional(),
})
export type UDPConfiguration = z.infer<typeof UDPConfigurationSchema>
services: z.record(z.string(), UDPServiceSchema).optional()
});
export type UDPConfiguration = z.infer<typeof UDPConfigurationSchema>;
export const CertAndStoresSchema = z.object({
stores: z.string().array().optional(),
}).merge(CertificateSchema)
export type CertAndStores = z.infer<typeof CertAndStoresSchema>
export const CertAndStoresSchema = z
.object({
stores: z.string().array().optional()
})
.merge(CertificateSchema);
export type CertAndStores = z.infer<typeof CertAndStoresSchema>;
export const ClientAuthSchema = z.object({
caFiles: z.string().array().optional(),
clientAuthType: z.string().optional(),
})
export type ClientAuth = z.infer<typeof ClientAuthSchema>
clientAuthType: z.string().optional()
});
export type ClientAuth = z.infer<typeof ClientAuthSchema>;
export const OptionsSchema = z.object({
minVersion: z.string().optional(),
@@ -678,35 +683,33 @@ export const OptionsSchema = z.object({
sniStrict: z.boolean().optional(),
alpnProtocols: z.string().array().optional(),
disableSessionTickets: z.boolean().optional(),
preferServerCipherSuites: z.boolean().optional(),
})
export type Options = z.infer<typeof OptionsSchema>
preferServerCipherSuites: z.boolean().optional()
});
export type Options = z.infer<typeof OptionsSchema>;
export const GeneratedCertSchema = z.object({
resolver: z.string().optional(),
domain: DomainSchema.optional(),
})
export type GeneratedCert = z.infer<typeof GeneratedCertSchema>
domain: DomainSchema.optional()
});
export type GeneratedCert = z.infer<typeof GeneratedCertSchema>;
export const StoreSchema = z.object({
defaultCertificate: CertificateSchema.optional(),
defaultGeneratedCert: GeneratedCertSchema.optional(),
})
export type Store = z.infer<typeof StoreSchema>
defaultGeneratedCert: GeneratedCertSchema.optional()
});
export type Store = z.infer<typeof StoreSchema>;
export const TLSConfigurationSchema = z.object({
certificates: CertAndStoresSchema.array().optional(),
options: z.record(z.string(), OptionsSchema).optional(),
stores: z.record(z.string(), StoreSchema).optional(),
})
export type TLSConfiguration = z.infer<typeof TLSConfigurationSchema>
stores: z.record(z.string(), StoreSchema).optional()
});
export type TLSConfiguration = z.infer<typeof TLSConfigurationSchema>;
export const ConfigurationSchema = z.object({
http: HTTPConfigurationSchema.optional(),
tcp: TCPConfigurationSchema.optional(),
udp: UDPConfigurationSchema.optional(),
tls: TLSConfigurationSchema.optional(),
})
export type Configuration = z.infer<typeof ConfigurationSchema>
tls: TLSConfigurationSchema.optional()
});
export type Configuration = z.infer<typeof ConfigurationSchema>;

View File

@@ -0,0 +1,262 @@
import { EventAction, type EventStreamResponse } from '$lib/gen/mantrae/v1/util_pb';
import { utilClient, entryPointClient, middlewareClient, dnsClient } from '$lib/api';
import { profile } from './profile';
import { writable } from 'svelte/store';
import type { ConnectError } from '@connectrpc/connect';
import type { Profile } from '$lib/gen/mantrae/v1/profile_pb';
import type { User } from '$lib/gen/mantrae/v1/user_pb';
import type { Agent } from '$lib/gen/mantrae/v1/agent_pb';
import type { EntryPoint } from '$lib/gen/mantrae/v1/entry_point_pb';
import type { Router } from '$lib/gen/mantrae/v1/router_pb';
import type { Service } from '$lib/gen/mantrae/v1/service_pb';
import type { Middleware } from '$lib/gen/mantrae/v1/middleware_pb';
import type { ServersTransport } from '$lib/gen/mantrae/v1/servers_transport_pb';
import type { DnsProvider } from '$lib/gen/mantrae/v1/dns_provider_pb';
import type { TraefikInstance } from '$lib/gen/mantrae/v1/traefik_instance_pb';
export const profiles = writable<Profile[]>([]);
export const users = writable<User[]>([]);
export const agents = writable<Agent[]>([]);
export const entryPoints = writable<EntryPoint[]>([]);
export const routers = writable<Router[]>([]);
export const services = writable<Service[]>([]);
export const middlewares = writable<Middleware[]>([]);
export const serversTransports = writable<ServersTransport[]>([]);
export const dnsProviders = writable<DnsProvider[]>([]);
export const traefikInstances = writable<TraefikInstance[]>([]);
let currentStream: AbortController | null = null;
export async function subscribe() {
if (!profile.isValid()) return;
// Cleanup previous connection
if (currentStream) {
currentStream.abort();
}
currentStream = new AbortController();
try {
const stream = utilClient.eventStream(
{ profileId: profile.id },
{ signal: currentStream.signal }
);
for await (const event of stream) {
handleEvent(event);
}
} catch (error) {
const err = error as ConnectError;
if (err.name !== 'canceled') {
console.error('Event stream error:', err.message);
// Retry connection after delay
setTimeout(subscribe, 5000);
}
}
}
export function unsubscribe() {
if (currentStream) {
currentStream.abort();
currentStream = null;
}
}
function handleEvent(event: EventStreamResponse) {
const action = event.action;
switch (action) {
case EventAction.CREATED:
switch (event.data.case) {
case 'profile': {
const data = event.data.value;
if (!data) return;
profiles.update((p) => p.concat(data));
break;
}
case 'user': {
const data = event.data.value;
if (!data) return;
users.update((u) => u.concat(data));
break;
}
case 'agent': {
const data = event.data.value;
if (!data) return;
agents.update((a) => a.concat(data));
break;
}
case 'entryPoint': {
const data = event.data.value;
if (!data) return;
entryPoints.update((e) => e.concat(data));
break;
}
case 'router': {
const data = event.data.value;
if (!data) return;
routers.update((r) => r.concat(data));
break;
}
case 'service': {
const data = event.data.value;
if (!data) return;
services.update((s) => s.concat(data));
break;
}
case 'middleware': {
const data = event.data.value;
if (!data) return;
middlewares.update((m) => m.concat(data));
break;
}
case 'serversTransport': {
const data = event.data.value;
if (!data) return;
serversTransports.update((s) => s.concat(data));
break;
}
case 'dnsProvider': {
const data = event.data.value;
if (!data) return;
dnsProviders.update((d) => d.concat(data));
break;
}
case 'traefikInstance': {
const data = event.data.value;
if (!data) return;
traefikInstances.update((t) => t.concat(data));
break;
}
}
break;
case EventAction.UPDATED:
switch (event.data.case) {
case 'profile': {
const data = event.data.value;
if (!data) return;
profiles.update((p) => p.map((p) => (p.id === data.id ? data : p)));
break;
}
case 'user': {
const data = event.data.value;
if (!data) return;
users.update((u) => u.map((u) => (u.id === data.id ? data : u)));
break;
}
case 'agent': {
const data = event.data.value;
if (!data) return;
agents.update((a) => a.map((a) => (a.id === data.id ? data : a)));
break;
}
case 'entryPoint': {
// Refetch since we might update multiple entry points
entryPointClient.listEntryPoints({ profileId: profile.id }).then((response) => {
entryPoints.set(response.entryPoints);
});
break;
}
case 'router': {
const data = event.data.value;
if (!data) return;
routers.update((r) => r.map((r) => (r.id === data.id ? data : r)));
break;
}
case 'service': {
const data = event.data.value;
if (!data) return;
services.update((s) => s.map((s) => (s.id === data.id ? data : s)));
break;
}
case 'middleware': {
middlewareClient.listMiddlewares({ profileId: profile.id }).then((response) => {
middlewares.set(response.middlewares);
});
break;
}
case 'serversTransport': {
const data = event.data.value;
if (!data) return;
serversTransports.update((s) => s.map((s) => (s.id === data.id ? data : s)));
break;
}
case 'dnsProvider': {
dnsClient.listDnsProviders({ profileId: profile.id }).then((response) => {
dnsProviders.set(response.dnsProviders);
});
break;
}
case 'traefikInstance': {
const data = event.data.value;
if (!data) return;
traefikInstances.update((t) => t.map((t) => (t.id === data.id ? data : t)));
break;
}
}
break;
case EventAction.DELETED:
switch (event.data.case) {
case 'profile': {
const data = event.data.value;
if (!data) return;
profiles.update((p) => p.filter((p) => p.id !== data.id));
break;
}
case 'user': {
const data = event.data.value;
if (!data) return;
users.update((u) => u.filter((u) => u.id !== data.id));
break;
}
case 'agent': {
const data = event.data.value;
if (!data) return;
agents.update((a) => a.filter((a) => a.id !== data.id));
break;
}
case 'entryPoint': {
const data = event.data.value;
if (!data) return;
entryPoints.update((e) => e.filter((e) => e.id !== data.id));
break;
}
case 'router': {
const data = event.data.value;
if (!data) return;
routers.update((r) => r.filter((r) => r.id !== data.id));
break;
}
case 'service': {
const data = event.data.value;
if (!data) return;
services.update((s) => s.filter((s) => s.id !== data.id));
break;
}
case 'middleware': {
const data = event.data.value;
if (!data) return;
middlewares.update((m) => m.filter((m) => m.id !== data.id));
break;
}
case 'serversTransport': {
const data = event.data.value;
if (!data) return;
serversTransports.update((s) => s.filter((s) => s.id !== data.id));
break;
}
case 'dnsProvider': {
const data = event.data.value;
if (!data) return;
dnsProviders.update((d) => d.filter((d) => d.id !== data.id));
break;
}
case 'traefikInstance': {
const data = event.data.value;
if (!data) return;
traefikInstances.update((t) => t.filter((t) => t.id !== data.id));
break;
}
}
break;
}
}

View File

@@ -9,11 +9,22 @@
import { user } from '$lib/stores/user';
import { page } from '$app/state';
import '../app.css';
import { onDestroy, onMount } from 'svelte';
import { subscribe, unsubscribe } from '$lib/stores/realtime';
interface Props {
children?: import('svelte').Snippet;
}
let { children }: Props = $props();
onMount(async () => {
if (user.isLoggedIn()) {
await subscribe();
}
});
onDestroy(() => {
unsubscribe();
});
</script>
<ModeWatcher />

View File

@@ -2,7 +2,6 @@
import * as Card from '$lib/components/ui/card/index.js';
import { Badge } from '$lib/components/ui/badge/index.js';
import { Button } from '$lib/components/ui/button/index.js';
import { Progress } from '$lib/components/ui/progress/index.js';
import { Separator } from '$lib/components/ui/separator/index.js';
import {
Globe,
@@ -44,17 +43,25 @@
import AuditLogModal from '$lib/components/modals/AuditLogModal.svelte';
import TraefikConnection from '$lib/components/utils/TraefikConnection.svelte';
import { ProtocolType } from '$lib/gen/mantrae/v1/protocol_pb';
import {
agents,
dnsProviders,
middlewares,
profiles,
routers,
services,
traefikInstances,
users
} from '$lib/stores/realtime';
import { onMount } from 'svelte';
let onlineAgents = $derived.by(async () => {
const response = await agentClient.listAgents({ profileId: profile.id });
const now = Date.now();
let activeAgents = response.agents.reduce((count, agent) => {
let onlineAgents = $derived.by(() => {
let activeAgents = $agents.reduce((count, agent) => {
if (!agent.updatedAt) return 0;
const lastSeen = new Date(timestampDate(agent.updatedAt));
const diffSeconds = (now - lastSeen.getTime()) / 1000;
const diffSeconds = (Date.now() - lastSeen.getTime()) / 1000;
return diffSeconds <= 30 ? count + 1 : count;
return diffSeconds <= 20 ? count + 1 : count;
}, 0);
return BigInt(activeAgents);
});
@@ -85,6 +92,34 @@
let modalProfileOpen = $state(false);
let modalConfigOpen = $state(false);
let modalAuditLogOpen = $state(false);
onMount(async () => {
const p = await profileClient.listProfiles({});
profiles.set(p.profiles);
const u = await userClient.listUsers({});
users.set(u.users);
const d = await dnsClient.listDnsProviders({});
dnsProviders.set(d.dnsProviders);
if (profile.isValid()) {
const a = await agentClient.listAgents({ profileId: profile.id });
agents.set(a.agents);
const r = await routerClient.listRouters({ profileId: profile.id });
routers.set(r.routers);
const s = await serviceClient.listServices({ profileId: profile.id });
services.set(s.services);
const m = await middlewareClient.listMiddlewares({ profileId: profile.id });
middlewares.set(m.middlewares);
const i = await traefikClient.listTraefikInstances({ profileId: profile.id });
traefikInstances.set(i.traefikInstances);
}
});
</script>
<ProfileModal bind:item={modalProfile} bind:open={modalProfileOpen} />
@@ -115,13 +150,11 @@
<Layers2 class="text-muted-foreground h-4 w-4" />
</Card.Header>
<Card.Content>
{#await profileClient.listProfiles({}) then result}
<div class="text-3xl font-bold">{result.totalCount}</div>
<div class="text-3xl font-bold">{$profiles?.length}</div>
<div class="mt-2 flex items-center text-sm">
<TrendingUp class="mr-1 h-3 w-3 text-green-500" />
<span class="text-green-500">Active configurations</span>
</div>
{/await}
</Card.Content>
<div
class="from-primary/5 absolute top-0 right-0 h-16 w-16 rounded-bl-full bg-gradient-to-bl to-transparent"
@@ -136,15 +169,11 @@
<Bot class="text-muted-foreground h-4 w-4" />
</Card.Header>
<Card.Content>
{#await onlineAgents}
<div class="text-3xl font-bold">0</div>
{:then result}
<div class="text-3xl font-bold">{result}</div>
<div class="text-3xl font-bold">{onlineAgents}</div>
<div class="mt-2 flex items-center text-sm">
<Wifi class="mr-1 h-3 w-3 text-blue-500" />
<span class="text-blue-500">Online now</span>
</div>
{/await}
</Card.Content>
<div
class="absolute top-0 right-0 h-16 w-16 rounded-bl-full bg-gradient-to-bl from-blue-500/5 to-transparent"
@@ -158,22 +187,20 @@
<Globe class="text-muted-foreground h-4 w-4" />
</Card.Header>
<Card.Content>
{#await dnsClient.listDnsProviders({}) then result}
<div class="text-3xl font-bold">
{result.totalCount}
{$dnsProviders?.length}
</div>
<div class="mt-2 flex items-center text-sm">
{#if result.dnsProviders.find((p) => p.isDefault)}
{#if $dnsProviders.find((p) => p.isDefault)}
<CheckCircle class="mr-1 h-3 w-3 text-green-500" />
{:else}
<AlertCircle class="mr-1 h-3 w-3 text-yellow-500" />
{/if}
<span class="text-muted-foreground">
{result.dnsProviders.find((p) => p.isDefault)?.name || 'None'}
{$dnsProviders.find((p) => p.isDefault)?.name || 'None'}
set as default
</span>
</div>
{/await}
</Card.Content>
<div
class="absolute top-0 right-0 h-16 w-16 rounded-bl-full bg-gradient-to-bl from-green-500/5 to-transparent"
@@ -187,13 +214,11 @@
<Users class="text-muted-foreground h-4 w-4" />
</Card.Header>
<Card.Content>
{#await userClient.listUsers({}) then result}
<div class="text-3xl font-bold">{result.totalCount}</div>
<div class="text-3xl font-bold">{$users?.length}</div>
<div class="mt-2 flex items-center text-sm">
<Shield class="mr-1 h-3 w-3 text-purple-500" />
<span class="text-muted-foreground">Access managed</span>
</div>
{/await}
</Card.Content>
<div
class="absolute top-0 right-0 h-16 w-16 rounded-bl-full bg-gradient-to-bl from-purple-500/5 to-transparent"
@@ -212,7 +237,6 @@
</Card.Title>
</Card.Header>
<Card.Content class="space-y-4">
{#await routerClient.listRouters({ profileId: profile.id }) then result}
<div class="space-y-3">
<div class="flex items-center justify-between">
<div class="flex items-center gap-2">
@@ -220,7 +244,7 @@
<span class="text-sm">HTTP Routers</span>
</div>
<Badge variant="secondary">
{result.routers.filter((r) => r.type === ProtocolType.HTTP).length}
{$routers.filter((r) => r.type === ProtocolType.HTTP).length}
</Badge>
</div>
<div class="flex items-center justify-between">
@@ -229,7 +253,7 @@
<span class="text-sm">TCP Routers</span>
</div>
<Badge variant="secondary">
{result.routers.filter((r) => r.type === ProtocolType.TCP).length}
{$routers.filter((r) => r.type === ProtocolType.TCP).length}
</Badge>
</div>
<div class="flex items-center justify-between">
@@ -238,11 +262,10 @@
<span class="text-sm">UDP Routers</span>
</div>
<Badge variant="secondary">
{result.routers.filter((r) => r.type === ProtocolType.UDP).length}
{$routers.filter((r) => r.type === ProtocolType.UDP).length}
</Badge>
</div>
</div>
{/await}
</Card.Content>
</Card.Root>
@@ -255,7 +278,6 @@
</Card.Title>
</Card.Header>
<Card.Content class="space-y-4">
{#await middlewareClient.listMiddlewares({ profileId: profile.id }) then result}
<div class="space-y-3">
<div class="flex items-center justify-between">
<div class="flex items-center gap-2">
@@ -263,7 +285,7 @@
<span class="text-sm">HTTP Middlewares</span>
</div>
<Badge variant="secondary">
{result.middlewares.filter((m) => m.type === ProtocolType.HTTP).length}
{$middlewares.filter((m) => m.type === ProtocolType.HTTP).length}
</Badge>
</div>
<div class="flex items-center justify-between">
@@ -272,27 +294,25 @@
<span class="text-sm">TCP Middlewares</span>
</div>
<Badge variant="secondary">
{result.middlewares.filter((m) => m.type === ProtocolType.TCP).length}
{$middlewares.filter((m) => m.type === ProtocolType.TCP).length}
</Badge>
</div>
</div>
{/await}
</Card.Content>
</Card.Root>
<!-- Instances Overview -->
<Card.Root>
{#await traefikClient.listTraefikInstances({ profileId: profile.id }) then result}
<Card.Header class="flex items-center justify-between">
<Card.Title class="flex items-center gap-2">
<Server class="h-5 w-5" />
Traefik Instances
</Card.Title>
<Badge variant="secondary">{result.totalCount}</Badge>
<Badge variant="secondary">{$traefikInstances?.length}</Badge>
</Card.Header>
<Card.Content class="space-y-4">
<div class="max-h-64 space-y-2 overflow-y-auto pr-2">
{#each result.traefikInstances || [] as instance (instance.id)}
{#each $traefikInstances || [] as instance (instance.id)}
<div class="flex items-center justify-between">
<div class="flex items-center gap-2">
<div class="h-3 w-3 rounded-full bg-green-500"></div>
@@ -305,7 +325,6 @@
{/each}
</div>
</Card.Content>
{/await}
</Card.Root>
</div>
@@ -327,8 +346,7 @@
</Card.Header>
<Card.Content>
<div class="space-y-4">
{#await profileClient.listProfiles({}) then result}
{#each result.profiles || [] as profile (profile.id)}
{#each $profiles || [] as profile (profile.id)}
<div class="space-y-4 rounded-lg border p-4">
<div class="flex items-start justify-between">
<div class="flex items-start gap-3">
@@ -350,39 +368,31 @@
<Separator />
<div class="grid grid-cols-2 gap-4 md:grid-cols-4">
{#await agentClient.listAgents({ profileId: profile.id }) then agentResult}
<div class="text-center">
<div class="text-2xl font-bold text-blue-600">{agentResult.totalCount}</div>
<div class="text-2xl font-bold text-blue-600">{$agents?.length}</div>
<div class="text-muted-foreground text-xs">Agents</div>
</div>
{/await}
{#await routerClient.listRouters({ profileId: profile.id }) then routerResult}
<div class="text-center">
<div class="text-2xl font-bold text-green-600">
{routerResult.totalCount}
{$routers?.length}
</div>
<div class="text-muted-foreground text-xs">Routers</div>
</div>
{/await}
{#await serviceClient.listServices( { profileId: profile.id } ) then serviceResult}
<div class="text-center">
<div class="text-2xl font-bold text-orange-600">
{serviceResult.totalCount}
{$services?.length}
</div>
<div class="text-muted-foreground text-xs">Services</div>
</div>
{/await}
{#await middlewareClient.listMiddlewares( { profileId: profile.id } ) then middlewareResult}
<div class="text-center">
<div class="text-2xl font-bold text-purple-600">
{middlewareResult.totalCount}
{$middlewares?.length}
</div>
<div class="text-muted-foreground text-xs">Middlewares</div>
</div>
{/await}
</div>
<div class="grid grid-cols-1 gap-2 lg:grid-cols-3">
@@ -411,54 +421,16 @@
</div>
</div>
{/each}
{/await}
</div>
</Card.Content>
</Card.Root>
<!-- System Health & Quick Actions -->
<div class="space-y-6">
<!-- Traefik Connection -->
{#if profile.value}
<TraefikConnection profile={profile.value} variant="full" />
{/if}
<!-- System Health -->
<!-- <Card.Root> -->
<!-- <Card.Header> -->
<!-- <Card.Title class="flex items-center gap-2"> -->
<!-- <CheckCircle class="h-5 w-5 text-green-500" /> -->
<!-- System Health -->
<!-- </Card.Title> -->
<!-- </Card.Header> -->
<!-- <Card.Content class="space-y-4"> -->
<!-- <div class="space-y-3"> -->
<!-- <div class="flex items-center justify-between"> -->
<!-- <span class="text-sm">Configuration Valid</span> -->
<!-- <CheckCircle class="h-4 w-4 text-green-500" /> -->
<!-- </div> -->
<!-- <div class="flex items-center justify-between"> -->
<!-- <span class="text-sm">DNS Resolution</span> -->
<!-- <CheckCircle class="h-4 w-4 text-green-500" /> -->
<!-- </div> -->
<!-- <div class="flex items-center justify-between"> -->
<!-- <span class="text-sm">Agent Connectivity</span> -->
<!-- {#await Promise.all([totalAgents, onlineAgents]) then [total, online]} -->
<!-- {#if total === online} -->
<!-- <CheckCircle class="h-4 w-4 text-green-500" /> -->
<!-- {:else} -->
<!-- <AlertCircle class="h-4 w-4 text-yellow-500" /> -->
<!-- {/if} -->
<!-- {/await} -->
<!-- </div> -->
<!-- <div class="flex items-center justify-between"> -->
<!-- <span class="text-sm">SSL Certificates</span> -->
<!-- <AlertCircle class="h-4 w-4 text-yellow-500" /> -->
<!-- </div> -->
<!-- </div> -->
<!-- </Card.Content> -->
<!-- </Card.Root> -->
<!-- Recent Activity -->
<Card.Root>
<Card.Header class="flex items-center justify-between">

View File

@@ -7,22 +7,19 @@
import type { BulkAction } from '$lib/components/tables/types';
import { renderComponent } from '$lib/components/ui/data-table';
import type { Agent } from '$lib/gen/mantrae/v1/agent_pb';
import { DateFormat, pageIndex, pageSize } from '$lib/stores/common';
import { DateFormat } from '$lib/stores/common';
import { profile } from '$lib/stores/profile';
import { agents } from '$lib/stores/realtime';
import { timestampDate } from '@bufbuild/protobuf/wkt';
import { ConnectError } from '@connectrpc/connect';
import { Bot, KeyRound, Pencil, Trash } from '@lucide/svelte';
import type { ColumnDef, PaginationState } from '@tanstack/table-core';
import { onMount } from 'svelte';
import type { ColumnDef } from '@tanstack/table-core';
import { toast } from 'svelte-sonner';
import { readable } from 'svelte/store';
let item = $state({} as Agent);
let open = $state(false);
// Data state
let data = $state<Agent[]>([]);
let rowCount = $state<number>(0);
const columns: ColumnDef<Agent>[] = [
{
header: 'Hostname',
@@ -97,11 +94,17 @@
}
];
const now = readable(new Date(), (set) => {
const interval = setInterval(() => {
set(new Date());
}, 1000);
return () => clearInterval(interval);
});
function getAgentStatus(agent: Agent) {
if (!agent.updatedAt) return false;
const lastSeen = new Date(timestampDate(agent.updatedAt));
const lastSeenInSeconds = (new Date().getTime() - lastSeen.getTime()) / 1000;
return lastSeenInSeconds <= 60 ? true : false;
const lastSeenInSeconds = ($now.getTime() - lastSeen.getTime()) / 1000;
return lastSeenInSeconds <= 20 ? true : false;
}
const bulkActions: BulkAction<Agent>[] = [
@@ -114,14 +117,9 @@
}
];
async function onPaginationChange(p: PaginationState) {
await refreshData(p.pageSize, p.pageIndex);
}
const deleteItem = async (item: Agent) => {
try {
await agentClient.deleteAgent({ id: item.id });
await refreshData(pageSize.value ?? 10, pageIndex.value ?? 0);
toast.success(`Agent ${item.hostname ?? item.id} deleted`);
} catch (err) {
const e = ConnectError.from(err);
@@ -137,32 +135,19 @@
for (const row of rows) {
await agentClient.deleteAgent({ id: row.id });
}
await refreshData(pageSize.value ?? 10, pageIndex.value ?? 0);
toast.success(`Successfully deleted ${rows.length} agents`);
} catch (err) {
const e = ConnectError.from(err);
toast.error('Failed to delete agents', { description: e.message });
}
}
async function refreshData(pageSize: number, pageIndex: number) {
const response = await agentClient.listAgents({
profileId: profile.id,
limit: BigInt(pageSize),
offset: BigInt(pageIndex * pageSize)
});
data = response.agents;
rowCount = Number(response.totalCount);
}
async function createAgent() {
try {
const response = await agentClient.createAgent({ profileId: profile.id });
if (!response.agent) return;
item = response.agent;
toast.success('Agent created');
await refreshData(pageSize.value ?? 10, pageIndex.value ?? 0);
item = response.agent;
open = true;
} catch (err) {
const e = ConnectError.from(err);
@@ -170,8 +155,12 @@
}
}
onMount(async () => {
await refreshData(pageSize.value ?? 10, pageIndex.value ?? 0);
$effect(() => {
if (profile.isValid()) {
agentClient.listAgents({ profileId: profile.id }).then((response) => {
agents.set(response.agents);
});
}
});
</script>
@@ -193,10 +182,8 @@
</div>
<DataTable
{data}
data={$agents}
{columns}
{rowCount}
{onPaginationChange}
{bulkActions}
rowClassModifiers={{
'bg-red-300/25 dark:bg-red-700/25': (r) => !getAgentStatus(r)
@@ -208,4 +195,4 @@
/>
</div>
<AgentModal bind:open bind:item bind:data />
<AgentModal bind:open bind:item />

View File

@@ -8,20 +8,16 @@
import type { BulkAction } from '$lib/components/tables/types';
import { renderComponent } from '$lib/components/ui/data-table';
import { DnsProviderType, type DnsProvider } from '$lib/gen/mantrae/v1/dns_provider_pb';
import { pageIndex, pageSize } from '$lib/stores/common';
import { dnsProviders } from '$lib/stores/realtime';
import { ConnectError } from '@connectrpc/connect';
import { CircleCheck, CircleSlash, Globe, Pencil, Trash } from '@lucide/svelte';
import type { ColumnDef, PaginationState } from '@tanstack/table-core';
import type { ColumnDef } from '@tanstack/table-core';
import { onMount } from 'svelte';
import { toast } from 'svelte-sonner';
let item = $state({} as DnsProvider);
let open = $state(false);
// Data state
let data = $state<DnsProvider[]>([]);
let rowCount = $state<number>(0);
const columns: ColumnDef<DnsProvider>[] = [
{
header: 'Name',
@@ -156,14 +152,9 @@
}
];
async function onPaginationChange(p: PaginationState) {
await refreshData(p.pageSize, p.pageIndex);
}
const deleteItem = async (item: DnsProvider) => {
try {
await dnsClient.deleteDnsProvider({ id: item.id });
await refreshData(pageSize.value ?? 10, pageIndex.value ?? 0);
toast.success(`DNS Provider ${item.name} deleted`);
} catch (err) {
const e = ConnectError.from(err);
@@ -180,7 +171,6 @@
config: item.config,
isDefault: isDefault
});
await refreshData(pageSize.value ?? 10, pageIndex.value ?? 0);
toast.success(
`DNS Provider ${item.name} ${isDefault ? 'set as default' : 'removed as default'}`
);
@@ -198,7 +188,6 @@
for (const row of rows) {
await dnsClient.deleteDnsProvider({ id: row.id });
}
await refreshData(pageSize.value ?? 10, pageIndex.value ?? 0);
toast.success(`Successfully deleted ${rows.length} DNS Providers`);
} catch (err) {
const e = ConnectError.from(err);
@@ -206,17 +195,9 @@
}
}
async function refreshData(pageSize: number, pageIndex: number) {
const response = await dnsClient.listDnsProviders({
limit: BigInt(pageSize),
offset: BigInt(pageIndex * pageSize)
});
data = response.dnsProviders;
rowCount = Number(response.totalCount);
}
onMount(async () => {
await refreshData(pageSize.value ?? 10, pageIndex.value ?? 0);
const response = await dnsClient.listDnsProviders({});
dnsProviders.set(response.dnsProviders);
});
</script>
@@ -238,10 +219,8 @@
</div>
<DataTable
{data}
data={$dnsProviders}
{columns}
{rowCount}
{onPaginationChange}
{bulkActions}
createButton={{
label: 'Add Provider',
@@ -253,4 +232,4 @@
/>
</div>
<DNSModal bind:open bind:item bind:data />
<DNSModal bind:open bind:item />

View File

@@ -7,20 +7,16 @@
import type { BulkAction } from '$lib/components/tables/types';
import { renderComponent } from '$lib/components/ui/data-table';
import type { EntryPoint } from '$lib/gen/mantrae/v1/entry_point_pb';
import { pageIndex, pageSize } from '$lib/stores/common';
import { profile } from '$lib/stores/profile';
import { entryPoints } from '$lib/stores/realtime';
import { ConnectError } from '@connectrpc/connect';
import { CircleCheck, CircleSlash, EthernetPort, Pencil, Trash } from '@lucide/svelte';
import type { ColumnDef, PaginationState } from '@tanstack/table-core';
import type { ColumnDef } from '@tanstack/table-core';
import { toast } from 'svelte-sonner';
let item = $state({} as EntryPoint);
let open = $state(false);
// Data state
let data = $state<EntryPoint[]>([]);
let rowCount = $state<number>(0);
const columns: ColumnDef<EntryPoint>[] = [
{
header: 'Name',
@@ -106,14 +102,9 @@
}
];
async function onPaginationChange(p: PaginationState) {
await refreshData(p.pageSize, p.pageIndex);
}
async function deleteItem(id: bigint) {
try {
await entryPointClient.deleteEntryPoint({ id: id });
await refreshData(pageSize.value ?? 10, 0);
toast.success('EntryPoint deleted');
} catch (err) {
const e = ConnectError.from(err);
@@ -129,7 +120,6 @@
address: item.address,
isDefault: isDefault
});
await refreshData(pageSize.value ?? 10, 0);
toast.success(
`Entry point ${item.name} ${isDefault ? 'set as default' : 'removed as default'}`
);
@@ -147,7 +137,6 @@
for (const e of rows) {
await entryPointClient.deleteEntryPoint({ id: e.id });
}
await refreshData(pageSize.value ?? 10, pageIndex.value ?? 0);
toast.success(`Successfully deleted ${rows.length} entrypoints`);
} catch (err) {
const e = ConnectError.from(err);
@@ -155,18 +144,12 @@
}
}
async function refreshData(pageSize: number, pageIndex: number) {
const response = await entryPointClient.listEntryPoints({
profileId: profile.id,
limit: BigInt(pageSize),
offset: BigInt(pageIndex * pageSize)
});
data = response.entryPoints;
rowCount = Number(response.totalCount);
}
$effect(() => {
if (profile) refreshData(pageSize.value ?? 10, pageIndex.value ?? 0);
if (profile.isValid()) {
entryPointClient.listEntryPoints({ profileId: profile.id }).then((response) => {
entryPoints.set(response.entryPoints);
});
}
});
</script>
@@ -188,10 +171,8 @@
</div>
<DataTable
{data}
data={$entryPoints}
{columns}
{rowCount}
{onPaginationChange}
{bulkActions}
createButton={{
label: 'Create EntryPoint',
@@ -203,4 +184,4 @@
/>
</div>
<EntryPointModal bind:open bind:item bind:data />
<EntryPointModal bind:open bind:item />

View File

@@ -3,7 +3,7 @@
import DataTable from '$lib/components/tables/DataTable.svelte';
import MiddlewareModal from '$lib/components/modals/MiddlewareModal.svelte';
import TableActions from '$lib/components/tables/TableActions.svelte';
import type { ColumnDef, PaginationState } from '@tanstack/table-core';
import type { ColumnDef } from '@tanstack/table-core';
import {
Bot,
CircleCheck,
@@ -21,19 +21,15 @@
import { profile } from '$lib/stores/profile';
import type { BulkAction } from '$lib/components/tables/types';
import { type Middleware } from '$lib/gen/mantrae/v1/middleware_pb';
import { pageIndex, pageSize } from '$lib/stores/common';
import { middlewareClient } from '$lib/api';
import { ConnectError } from '@connectrpc/connect';
import ColumnText from '$lib/components/tables/ColumnText.svelte';
import { ProtocolType } from '$lib/gen/mantrae/v1/protocol_pb';
import { middlewares } from '$lib/stores/realtime';
let item = $state({} as Middleware);
let open = $state(false);
// Data state
let data = $state<Middleware[]>([]);
let rowCount = $state<number>(0);
const columns: ColumnDef<Middleware>[] = [
{
header: 'Name',
@@ -194,14 +190,9 @@
}
];
async function onPaginationChange(p: PaginationState) {
await refreshData(p.pageSize, p.pageIndex);
}
const deleteItem = async (id: bigint, type: ProtocolType) => {
try {
await middlewareClient.deleteMiddleware({ id: id, type: type });
await refreshData(pageSize.value ?? 10, 0);
toast.success('Middleware deleted');
} catch (err) {
const e = ConnectError.from(err);
@@ -219,7 +210,6 @@
enabled: item.enabled,
isDefault: item.isDefault
});
await refreshData(pageSize.value ?? 10, 0);
toast.success(`Middleware ${item.name} updated`);
} catch (err) {
const e = ConnectError.from(err);
@@ -238,25 +228,19 @@
for (const row of rows) {
await middlewareClient.deleteMiddleware({ id: row.id, type: row.type });
}
await refreshData(pageSize.value ?? 10, 0);
toast.success(`Successfully deleted ${selectedRows.length} middlewares`);
} catch (err) {
const e = ConnectError.from(err);
toast.error('Failed to delete middlewares', { description: e.message });
}
}
async function refreshData(pageSize: number, pageIndex: number) {
const response = await middlewareClient.listMiddlewares({
profileId: profile.id,
limit: BigInt(pageSize),
offset: BigInt(pageIndex * pageSize)
});
data = response.middlewares;
rowCount = Number(response.totalCount);
}
$effect(() => {
if (profile) refreshData(pageSize.value ?? 10, pageIndex.value ?? 0);
if (profile.isValid()) {
middlewareClient.listMiddlewares({ profileId: profile.id }).then((response) => {
middlewares.set(response.middlewares);
});
}
});
</script>
@@ -278,10 +262,8 @@
</div>
<DataTable
{data}
data={$middlewares}
{columns}
{rowCount}
{onPaginationChange}
{bulkActions}
createButton={{
label: 'Create Middleware',
@@ -293,4 +275,4 @@
/>
</div>
<MiddlewareModal bind:open bind:item bind:data />
<MiddlewareModal bind:open bind:item />

View File

@@ -11,7 +11,6 @@
import { renderComponent } from '$lib/components/ui/data-table';
import { type Router } from '$lib/gen/mantrae/v1/router_pb';
import type { RouterTCPTLSConfig, RouterTLSConfig } from '$lib/gen/zen/traefik-schemas';
import { pageIndex, pageSize } from '$lib/stores/common';
import { profile } from '$lib/stores/profile';
import { ConnectError } from '@connectrpc/connect';
import {
@@ -28,18 +27,15 @@
TriangleAlert,
Waves
} from '@lucide/svelte';
import type { ColumnDef, PaginationState } from '@tanstack/table-core';
import type { ColumnDef } from '@tanstack/table-core';
import { toast } from 'svelte-sonner';
import { type IconComponent } from '$lib/types';
import { ProtocolType } from '$lib/gen/mantrae/v1/protocol_pb';
import { routers } from '$lib/stores/realtime';
let item = $state({} as Router);
let open = $state(false);
// Data state
let data = $state<Router[]>([]);
let rowCount = $state<number>(0);
const columns: ColumnDef<Router>[] = [
{
header: 'Name',
@@ -230,14 +226,9 @@
}
];
async function onPaginationChange(p: PaginationState) {
await refreshData(p.pageSize, p.pageIndex);
}
const deleteItem = async (item: Router) => {
try {
await routerClient.deleteRouter({ id: item.id, type: item.type });
await refreshData(pageSize.value ?? 10, pageIndex.value ?? 0);
toast.success(`Router ${item.name} deleted`);
} catch (err) {
const e = ConnectError.from(err);
@@ -273,7 +264,6 @@
enabled: service.service.enabled
});
}
await refreshData(pageSize.value ?? 10, pageIndex.value ?? 0);
toast.success(`Router ${item.name} updated`);
} catch (err) {
const e = ConnectError.from(err);
@@ -318,25 +308,18 @@
break;
}
await refreshData(pageSize.value ?? 10, pageIndex.value ?? 0);
toast.success(`Successfully ${action}d ${rows.length} routers`);
} catch (err) {
const e = ConnectError.from(err);
toast.error(`Failed to ${action}d routers`, { description: e.message });
}
}
async function refreshData(pageSize: number, pageIndex: number) {
const response = await routerClient.listRouters({
profileId: profile.id,
limit: BigInt(pageSize),
offset: BigInt(pageIndex * pageSize)
});
data = response.routers;
rowCount = Number(response.totalCount);
}
$effect(() => {
if (profile) refreshData(pageSize.value ?? 10, pageIndex.value ?? 0);
if (profile.isValid()) {
routerClient.listRouters({ profileId: profile.id }).then((response) => {
routers.set(response.routers);
});
}
});
</script>
@@ -358,10 +341,8 @@
</div>
<DataTable
{data}
data={$routers}
{columns}
{rowCount}
{onPaginationChange}
{bulkActions}
createButton={{
label: 'Create Router',
@@ -373,4 +354,4 @@
/>
</div>
<RouterModal bind:open bind:item bind:data />
<RouterModal bind:open bind:item />

View File

@@ -6,7 +6,6 @@
import type { BulkAction } from '$lib/components/tables/types';
import { renderComponent } from '$lib/components/ui/data-table';
import { type ServersTransport } from '$lib/gen/mantrae/v1/servers_transport_pb';
import { pageIndex, pageSize } from '$lib/stores/common';
import { profile } from '$lib/stores/profile';
import type { IconComponent } from '$lib/types';
import { ConnectError } from '@connectrpc/connect';
@@ -21,17 +20,14 @@
TriangleAlert,
Truck
} from '@lucide/svelte';
import type { ColumnDef, PaginationState } from '@tanstack/table-core';
import type { ColumnDef } from '@tanstack/table-core';
import { toast } from 'svelte-sonner';
import { ProtocolType } from '$lib/gen/mantrae/v1/protocol_pb';
import { serversTransports } from '$lib/stores/realtime';
let item = $state({} as ServersTransport);
let open = $state(false);
// Data state
let data = $state<ServersTransport[]>([]);
let rowCount = $state<number>(0);
const columns: ColumnDef<ServersTransport>[] = [
{
header: 'Name',
@@ -139,14 +135,9 @@
}
];
async function onPaginationChange(p: PaginationState) {
await refreshData(p.pageSize, p.pageIndex);
}
async function deleteItem(id: bigint) {
try {
await serversTransportClient.deleteServersTransport({ id: id });
await refreshData(pageSize.value ?? 10, pageIndex.value ?? 0);
toast.success('Transport deleted');
} catch (err) {
const e = ConnectError.from(err);
@@ -163,7 +154,6 @@
type: item.type,
enabled: item.enabled
});
await refreshData(pageSize.value ?? 10, pageIndex.value ?? 0);
toast.success(`Transport ${item.name} updated`);
} catch (err) {
const e = ConnectError.from(err);
@@ -179,7 +169,6 @@
for (const s of rows) {
await serversTransportClient.deleteServersTransport({ id: s.id });
}
await refreshData(pageSize.value ?? 10, 0);
toast.success(`Successfully deleted ${rows.length} transports`);
} catch (err) {
const e = ConnectError.from(err);
@@ -187,18 +176,12 @@
}
}
async function refreshData(pageSize: number, pageIndex: number) {
const response = await serversTransportClient.listServersTransports({
profileId: profile.id,
limit: BigInt(pageSize),
offset: BigInt(pageIndex * pageSize)
});
data = response.serversTransports;
rowCount = Number(response.totalCount);
}
$effect(() => {
if (profile) refreshData(pageSize.value ?? 10, pageIndex.value ?? 0);
if (profile.isValid()) {
serversTransportClient.listServersTransports({ profileId: profile.id }).then((response) => {
serversTransports.set(response.serversTransports);
});
}
});
</script>
@@ -220,10 +203,8 @@
</div>
<DataTable
{data}
data={$serversTransports}
{columns}
{rowCount}
{onPaginationChange}
{bulkActions}
createButton={{
label: 'Create Transport',
@@ -235,4 +216,4 @@
/>
</div>
<ServerTransportModal bind:open bind:item bind:data />
<ServerTransportModal bind:open bind:item />

View File

@@ -1,12 +1,12 @@
<script lang="ts">
import DataTable from '$lib/components/tables/DataTable.svelte';
import TableActions from '$lib/components/tables/TableActions.svelte';
import type { ColumnDef, PaginationState } from '@tanstack/table-core';
import type { ColumnDef } from '@tanstack/table-core';
import { Pencil, Trash, Users } from '@lucide/svelte';
import UserModal from '$lib/components/modals/UserModal.svelte';
import { renderComponent } from '$lib/components/ui/data-table';
import { toast } from 'svelte-sonner';
import { DateFormat, pageIndex, pageSize } from '$lib/stores/common';
import { DateFormat } from '$lib/stores/common';
import type { User } from '$lib/gen/mantrae/v1/user_pb';
import { userClient } from '$lib/api';
import { ConnectError } from '@connectrpc/connect';
@@ -14,14 +14,11 @@
import type { BulkAction } from '$lib/components/tables/types';
import { timestampDate } from '@bufbuild/protobuf/wkt';
import ColumnBadge from '$lib/components/tables/ColumnBadge.svelte';
import { users } from '$lib/stores/realtime';
let item = $state({} as User);
let open = $state(false);
// Data state
let data = $state<User[]>([]);
let rowCount = $state<number>(0);
const columns: ColumnDef<User>[] = [
{
header: 'Username',
@@ -93,14 +90,9 @@
}
];
async function onPaginationChange(p: PaginationState) {
await refreshData(p.pageSize, p.pageIndex);
}
const deleteItem = async (item: User) => {
try {
await userClient.deleteUser({ id: item.id });
await refreshData(pageSize.value ?? 10, pageIndex.value ?? 0);
toast.success(`User ${item.username} deleted`);
} catch (err) {
const e = ConnectError.from(err);
@@ -116,7 +108,6 @@
for (const row of rows) {
await userClient.deleteUser({ id: row.id });
}
await refreshData(pageSize.value ?? 10, pageIndex.value ?? 0);
toast.success(`Successfully deleted ${rows.length} Users`);
} catch (err) {
const e = ConnectError.from(err);
@@ -124,17 +115,9 @@
}
}
async function refreshData(pageSize: number, pageIndex: number) {
const response = await userClient.listUsers({
limit: BigInt(pageSize),
offset: BigInt(pageIndex * pageSize)
});
data = response.users;
rowCount = Number(response.totalCount);
}
onMount(async () => {
await refreshData(pageSize.value ?? 10, pageIndex.value ?? 0);
const response = await userClient.listUsers({});
users.set(response.users);
});
</script>
@@ -156,10 +139,8 @@
</div>
<DataTable
{data}
data={$users}
{columns}
{rowCount}
{onPaginationChange}
{bulkActions}
createButton={{
label: 'Add User',
@@ -171,4 +152,4 @@
/>
</div>
<UserModal bind:open bind:item bind:data />
<UserModal bind:open bind:item />

View File

@@ -1,12 +1,12 @@
import { sveltekit } from "@sveltejs/kit/vite";
import { defineConfig } from "vite";
import tailwindcss from "@tailwindcss/vite";
import { compression } from "vite-plugin-compression2";
import { sveltekit } from '@sveltejs/kit/vite';
import { defineConfig } from 'vite';
import tailwindcss from '@tailwindcss/vite';
import { compression } from 'vite-plugin-compression2';
export default defineConfig({
plugins: [tailwindcss(), sveltekit(), compression()],
define: {},
server: {
host: "127.0.0.1",
},
host: '127.0.0.1'
}
});