mirror of
https://github.com/MizuchiLabs/mantrae.git
synced 2026-02-16 11:49:44 -06:00
almost
This commit is contained in:
2
go.mod
2
go.mod
@@ -31,6 +31,7 @@ require (
|
||||
)
|
||||
|
||||
require (
|
||||
connectrpc.com/cors v0.1.0 // indirect
|
||||
github.com/Microsoft/go-winio v0.6.2 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/aws/protocol/eventstream v1.6.10 // indirect
|
||||
github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.16.31 // indirect
|
||||
@@ -79,6 +80,7 @@ require (
|
||||
github.com/patrickmn/go-cache v2.1.0+incompatible // indirect
|
||||
github.com/pkg/errors v0.9.1 // indirect
|
||||
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec // indirect
|
||||
github.com/rs/cors v1.11.1 // indirect
|
||||
github.com/rs/zerolog v1.34.0 // indirect
|
||||
github.com/sethvargo/go-retry v0.3.0 // indirect
|
||||
github.com/unrolled/render v1.7.0 // indirect
|
||||
|
||||
4
go.sum
4
go.sum
@@ -1,5 +1,7 @@
|
||||
connectrpc.com/connect v1.18.1 h1:PAg7CjSAGvscaf6YZKUefjoih5Z/qYkyaTrBW8xvYPw=
|
||||
connectrpc.com/connect v1.18.1/go.mod h1:0292hj1rnx8oFrStN7cB4jjVBeqs+Yx5yDIC2prWDO8=
|
||||
connectrpc.com/cors v0.1.0 h1:f3gTXJyDZPrDIZCQ567jxfD9PAIpopHiRDnJRt3QuOQ=
|
||||
connectrpc.com/cors v0.1.0/go.mod h1:v8SJZCPfHtGH1zsm+Ttajpozd4cYIUryl4dFB6QEpfg=
|
||||
connectrpc.com/grpchealth v1.4.0 h1:MJC96JLelARPgZTiRF9KRfY/2N9OcoQvF2EWX07v2IE=
|
||||
connectrpc.com/grpchealth v1.4.0/go.mod h1:WhW6m1EzTmq3Ky1FE8EfkIpSDc6TfUx2M2KqZO3ts/Q=
|
||||
connectrpc.com/grpcreflect v1.3.0 h1:Y4V+ACf8/vOb1XOc251Qun7jMB75gCUNw6llvB9csXc=
|
||||
@@ -172,6 +174,8 @@ github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec h1:W09IVJc94
|
||||
github.com/remyoudompheng/bigfft v0.0.0-20230129092748-24d4a6f8daec/go.mod h1:qqbHyh8v60DhA7CoWK5oRCqLrMHRGoxYCSS9EjAz6Eo=
|
||||
github.com/rogpeppe/go-internal v1.14.1 h1:UQB4HGPB6osV0SQTLymcB4TgvyWu6ZyliaW0tI/otEQ=
|
||||
github.com/rogpeppe/go-internal v1.14.1/go.mod h1:MaRKkUm5W0goXpeCfT7UZI6fk/L7L7so1lCWt35ZSgc=
|
||||
github.com/rs/cors v1.11.1 h1:eU3gRzXLRK57F5rKMGMZURNdIG4EoAmX8k94r9wXWHA=
|
||||
github.com/rs/cors v1.11.1/go.mod h1:XyqrcTp5zjWr1wsJ8PIRZssZ8b/WMcMf71DJnit4EMU=
|
||||
github.com/rs/xid v1.6.0/go.mod h1:7XoLgs4eV+QndskICGsho+ADou8ySMSjJKDIan90Nz0=
|
||||
github.com/rs/zerolog v1.34.0 h1:k43nTLIwcTVQAncfCw4KZ2VY6ukYoZaBPNOE8txlOeY=
|
||||
github.com/rs/zerolog v1.34.0/go.mod h1:bJsvje4Z08ROH4Nhs5iH600c3IkWhwp44iRc54W6wYQ=
|
||||
|
||||
@@ -1,143 +0,0 @@
|
||||
package handler
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"log/slog"
|
||||
"net/http"
|
||||
"strconv"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/internal/db"
|
||||
"github.com/mizuchilabs/mantrae/internal/source"
|
||||
"github.com/mizuchilabs/mantrae/internal/traefik"
|
||||
"github.com/mizuchilabs/mantrae/internal/util"
|
||||
)
|
||||
|
||||
func ListProfiles(a *config.App) http.HandlerFunc {
|
||||
return func(w http.ResponseWriter, r *http.Request) {
|
||||
q := a.Conn.GetQuery()
|
||||
profiles, err := q.ListProfiles(r.Context())
|
||||
if err != nil {
|
||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
if err := json.NewEncoder(w).Encode(profiles); err != nil {
|
||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func GetProfile(a *config.App) http.HandlerFunc {
|
||||
return func(w http.ResponseWriter, r *http.Request) {
|
||||
q := a.Conn.GetQuery()
|
||||
profile_id, err := strconv.ParseInt(r.PathValue("id"), 10, 64)
|
||||
if err != nil {
|
||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
profile, err := q.GetProfile(r.Context(), profile_id)
|
||||
if err != nil {
|
||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
if err := json.NewEncoder(w).Encode(profile); err != nil {
|
||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func CreateProfile(a *config.App) http.HandlerFunc {
|
||||
return func(w http.ResponseWriter, r *http.Request) {
|
||||
q := a.Conn.GetQuery()
|
||||
var params db.CreateProfileParams
|
||||
if err := json.NewDecoder(r.Body).Decode(¶ms); err != nil {
|
||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
profileID, err := q.CreateProfile(r.Context(), params)
|
||||
if err != nil {
|
||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
|
||||
// Create default local config
|
||||
if err = q.UpsertTraefikConfig(r.Context(), db.UpsertTraefikConfigParams{
|
||||
ProfileID: profileID,
|
||||
Source: source.Local,
|
||||
}); err != nil {
|
||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
|
||||
profile, err := q.GetProfile(r.Context(), profileID)
|
||||
if err != nil {
|
||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
go func() {
|
||||
if err := traefik.UpdateTraefikAPI(a.Conn.Get(), profile); err != nil {
|
||||
slog.Error("Failed to update api data", "error", err)
|
||||
}
|
||||
}()
|
||||
util.Broadcast <- util.EventMessage{
|
||||
Type: util.EventTypeCreate,
|
||||
Category: util.EventCategoryProfile,
|
||||
}
|
||||
w.WriteHeader(http.StatusNoContent)
|
||||
}
|
||||
}
|
||||
|
||||
func UpdateProfile(a *config.App) http.HandlerFunc {
|
||||
return func(w http.ResponseWriter, r *http.Request) {
|
||||
q := a.Conn.GetQuery()
|
||||
var params db.UpdateProfileParams
|
||||
if err := json.NewDecoder(r.Body).Decode(¶ms); err != nil {
|
||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
if err := q.UpdateProfile(r.Context(), params); err != nil {
|
||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
|
||||
profile, err := q.GetProfile(r.Context(), params.ID)
|
||||
if err != nil {
|
||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
go func() {
|
||||
if err := traefik.UpdateTraefikAPI(a.Conn.Get(), profile); err != nil {
|
||||
slog.Error("Failed to update api data", "error", err)
|
||||
}
|
||||
}()
|
||||
util.Broadcast <- util.EventMessage{
|
||||
Type: util.EventTypeUpdate,
|
||||
Category: util.EventCategoryProfile,
|
||||
}
|
||||
w.WriteHeader(http.StatusNoContent)
|
||||
}
|
||||
}
|
||||
|
||||
func DeleteProfile(a *config.App) http.HandlerFunc {
|
||||
return func(w http.ResponseWriter, r *http.Request) {
|
||||
q := a.Conn.GetQuery()
|
||||
profile_id, err := strconv.ParseInt(r.PathValue("id"), 10, 64)
|
||||
if err != nil {
|
||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
if err := q.DeleteProfile(r.Context(), profile_id); err != nil {
|
||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
util.Broadcast <- util.EventMessage{
|
||||
Type: util.EventTypeDelete,
|
||||
Category: util.EventCategoryProfile,
|
||||
}
|
||||
w.WriteHeader(http.StatusNoContent)
|
||||
}
|
||||
}
|
||||
@@ -3,44 +3,11 @@ package handler
|
||||
import (
|
||||
"encoding/json"
|
||||
"net/http"
|
||||
"strconv"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/internal/db"
|
||||
"github.com/mizuchilabs/mantrae/internal/source"
|
||||
"github.com/mizuchilabs/mantrae/internal/traefik"
|
||||
"github.com/traefik/traefik/v3/pkg/config/runtime"
|
||||
"github.com/traefik/traefik/v3/pkg/config/dynamic"
|
||||
)
|
||||
|
||||
func GetTraefikConfig(a *config.App) http.HandlerFunc {
|
||||
return func(w http.ResponseWriter, r *http.Request) {
|
||||
q := a.Conn.GetQuery()
|
||||
profile_id, err := strconv.ParseInt(r.PathValue("id"), 10, 64)
|
||||
if err != nil {
|
||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
src := source.Source(r.PathValue("source"))
|
||||
if !src.Valid() {
|
||||
http.Error(w, "invalid source", http.StatusBadRequest)
|
||||
return
|
||||
}
|
||||
config, err := q.GetTraefikConfigBySource(r.Context(), db.GetTraefikConfigBySourceParams{
|
||||
ProfileID: profile_id,
|
||||
Source: src,
|
||||
})
|
||||
if err != nil {
|
||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
if err := json.NewEncoder(w).Encode(config); err != nil {
|
||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func PublishTraefikConfig(a *config.App) http.HandlerFunc {
|
||||
return func(w http.ResponseWriter, r *http.Request) {
|
||||
q := a.Conn.GetQuery()
|
||||
@@ -49,47 +16,112 @@ func PublishTraefikConfig(a *config.App) http.HandlerFunc {
|
||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
// Initialize merged config
|
||||
merged := &db.TraefikConfiguration{
|
||||
Routers: make(map[string]*runtime.RouterInfo),
|
||||
Middlewares: make(map[string]*runtime.MiddlewareInfo),
|
||||
Services: make(map[string]*db.ServiceInfo),
|
||||
TCPRouters: make(map[string]*runtime.TCPRouterInfo),
|
||||
TCPMiddlewares: make(map[string]*runtime.TCPMiddlewareInfo),
|
||||
TCPServices: make(map[string]*runtime.TCPServiceInfo),
|
||||
UDPRouters: make(map[string]*runtime.UDPRouterInfo),
|
||||
UDPServices: make(map[string]*runtime.UDPServiceInfo),
|
||||
|
||||
cfg := &dynamic.Configuration{
|
||||
HTTP: &dynamic.HTTPConfiguration{
|
||||
Routers: make(map[string]*dynamic.Router),
|
||||
Middlewares: make(map[string]*dynamic.Middleware),
|
||||
Services: make(map[string]*dynamic.Service),
|
||||
},
|
||||
TCP: &dynamic.TCPConfiguration{
|
||||
Routers: make(map[string]*dynamic.TCPRouter),
|
||||
Middlewares: make(map[string]*dynamic.TCPMiddleware),
|
||||
Services: make(map[string]*dynamic.TCPService),
|
||||
},
|
||||
UDP: &dynamic.UDPConfiguration{
|
||||
Routers: make(map[string]*dynamic.UDPRouter),
|
||||
Services: make(map[string]*dynamic.UDPService),
|
||||
},
|
||||
}
|
||||
|
||||
// Get local config
|
||||
local, err := q.GetLocalTraefikConfig(r.Context(), profile.ID)
|
||||
// Routers
|
||||
httpRouters, err := q.GetHttpRoutersByProfile(r.Context(), profile.ID)
|
||||
if err != nil {
|
||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
agents, err := q.GetAgentTraefikConfigs(r.Context(), profile.ID)
|
||||
tcpRouters, err := q.GetTcpRoutersByProfile(r.Context(), profile.ID)
|
||||
if err != nil {
|
||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
udpRouters, err := q.GetUdpRoutersByProfile(r.Context(), profile.ID)
|
||||
if err != nil {
|
||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
|
||||
// Merge agent configurations (agent config)
|
||||
for _, agent := range agents {
|
||||
merged = traefik.MergeConfigs(merged, agent.Config)
|
||||
// Services
|
||||
httpServices, err := q.GetHttpServicesByProfile(r.Context(), profile.ID)
|
||||
if err != nil {
|
||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
if local.Config == nil && merged == nil {
|
||||
w.WriteHeader(http.StatusOK)
|
||||
tcpServices, err := q.GetTcpServicesByProfile(r.Context(), profile.ID)
|
||||
if err != nil {
|
||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
udpServices, err := q.GetUdpServicesByProfile(r.Context(), profile.ID)
|
||||
if err != nil {
|
||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
|
||||
// Merge with local config
|
||||
merged = traefik.MergeConfigs(merged, local.Config)
|
||||
// Middlewares
|
||||
httpMiddlewares, err := q.GetHttpMiddlewaresByProfile(r.Context(), profile.ID)
|
||||
if err != nil {
|
||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
tcpMiddlewares, err := q.GetTcpMiddlewaresByProfile(r.Context(), profile.ID)
|
||||
if err != nil {
|
||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
|
||||
// Convert to dynamic
|
||||
dynamic := traefik.ConvertToDynamicConfig(merged)
|
||||
for _, r := range httpRouters {
|
||||
cfg.HTTP.Routers[r.Name] = r.Config
|
||||
}
|
||||
for _, r := range tcpRouters {
|
||||
cfg.TCP.Routers[r.Name] = r.Config
|
||||
}
|
||||
for _, r := range udpRouters {
|
||||
cfg.UDP.Routers[r.Name] = r.Config
|
||||
}
|
||||
|
||||
for _, s := range httpServices {
|
||||
cfg.HTTP.Services[s.Name] = s.Config
|
||||
}
|
||||
for _, s := range tcpServices {
|
||||
cfg.TCP.Services[s.Name] = s.Config
|
||||
}
|
||||
for _, s := range udpServices {
|
||||
cfg.UDP.Services[s.Name] = s.Config
|
||||
}
|
||||
|
||||
for _, m := range httpMiddlewares {
|
||||
cfg.HTTP.Middlewares[m.Name] = m.Config
|
||||
}
|
||||
for _, m := range tcpMiddlewares {
|
||||
cfg.TCP.Middlewares[m.Name] = m.Config
|
||||
}
|
||||
|
||||
// Cleanup empty sections (to avoid Traefik {} block warnings)
|
||||
if len(cfg.HTTP.Routers) == 0 && len(cfg.HTTP.Middlewares) == 0 &&
|
||||
len(cfg.HTTP.Services) == 0 {
|
||||
cfg.HTTP = nil
|
||||
}
|
||||
if len(cfg.TCP.Routers) == 0 && len(cfg.TCP.Middlewares) == 0 &&
|
||||
len(cfg.TCP.Services) == 0 {
|
||||
cfg.TCP = nil
|
||||
}
|
||||
if len(cfg.UDP.Routers) == 0 && len(cfg.UDP.Services) == 0 {
|
||||
cfg.UDP = nil
|
||||
}
|
||||
|
||||
w.Header().Set("Content-Type", "application/json")
|
||||
if err := json.NewEncoder(w).Encode(dynamic); err != nil {
|
||||
if err := json.NewEncoder(w).Encode(cfg); err != nil {
|
||||
http.Error(w, err.Error(), http.StatusInternalServerError)
|
||||
return
|
||||
}
|
||||
|
||||
@@ -9,7 +9,6 @@ import (
|
||||
|
||||
"connectrpc.com/connect"
|
||||
"github.com/mizuchilabs/mantrae/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/internal/db"
|
||||
"github.com/mizuchilabs/mantrae/internal/util"
|
||||
"github.com/mizuchilabs/mantrae/pkg/meta"
|
||||
"github.com/mizuchilabs/mantrae/proto/gen/mantrae/v1/mantraev1connect"
|
||||
@@ -19,9 +18,8 @@ import (
|
||||
type ctxKey string
|
||||
|
||||
const (
|
||||
AuthUserIDKey ctxKey = "user_id"
|
||||
AuthUserKey ctxKey = "user"
|
||||
AuthAgentKey ctxKey = "agent"
|
||||
AuthUserIDKey ctxKey = "user_id"
|
||||
AuthAgentIDKey ctxKey = "agent_id"
|
||||
)
|
||||
|
||||
// BasicAuth middleware for simple authentication
|
||||
@@ -48,47 +46,7 @@ func (h *MiddlewareHandler) BasicAuth(next http.Handler) http.Handler {
|
||||
return
|
||||
}
|
||||
|
||||
ctx := context.WithValue(r.Context(), AuthUserKey, user)
|
||||
next.ServeHTTP(w, r.WithContext(ctx))
|
||||
})
|
||||
}
|
||||
|
||||
// JWT authentication middleware
|
||||
func (h *MiddlewareHandler) JWT(next http.Handler) http.Handler {
|
||||
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||
cookie, err := r.Cookie(util.CookieName)
|
||||
if err != nil {
|
||||
http.Error(w, "Unauthorized", http.StatusUnauthorized)
|
||||
return
|
||||
}
|
||||
|
||||
token := cookie.Value
|
||||
if token == "" {
|
||||
http.Error(w, "Unauthorized", http.StatusUnauthorized)
|
||||
return
|
||||
}
|
||||
|
||||
claims, err := util.DecodeUserJWT(token, h.app.Config.Secret)
|
||||
if err != nil {
|
||||
http.Error(w, "Invalid token", http.StatusUnauthorized)
|
||||
return
|
||||
}
|
||||
|
||||
if claims.Username == "" {
|
||||
http.Error(w, "Unauthorized", http.StatusUnauthorized)
|
||||
return
|
||||
}
|
||||
|
||||
// Verify user exists in database
|
||||
q := h.app.Conn.GetQuery()
|
||||
user, err := q.GetUserByUsername(r.Context(), claims.Username)
|
||||
if err != nil {
|
||||
http.Error(w, "User not found", http.StatusUnauthorized)
|
||||
return
|
||||
}
|
||||
|
||||
// Add user to context
|
||||
ctx := context.WithValue(r.Context(), AuthUserKey, user)
|
||||
ctx := context.WithValue(r.Context(), AuthUserIDKey, user.ID)
|
||||
next.ServeHTTP(w, r.WithContext(ctx))
|
||||
})
|
||||
}
|
||||
@@ -133,12 +91,12 @@ func Authentication(app *config.App) connect.UnaryInterceptorFunc {
|
||||
errors.New("token mismatch"),
|
||||
)
|
||||
}
|
||||
ctx = context.WithValue(ctx, AuthAgentKey, &agent)
|
||||
ctx = context.WithValue(ctx, AuthAgentIDKey, agent.ID)
|
||||
return next(ctx, req)
|
||||
}
|
||||
|
||||
// Parse and validate the token
|
||||
claims, err := util.DecodeUserJWT(tokenString, app.Config.Secret)
|
||||
claims, err := util.DecodeUserJWT(tokenString, app.Secret)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(
|
||||
connect.CodeUnauthenticated,
|
||||
@@ -154,73 +112,6 @@ func Authentication(app *config.App) connect.UnaryInterceptorFunc {
|
||||
})
|
||||
}
|
||||
|
||||
func (h *MiddlewareHandler) AdminOnly(next http.Handler) http.Handler {
|
||||
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||
// Get the username from the request context
|
||||
user, ok := r.Context().Value(AuthUserKey).(db.GetUserByUsernameRow)
|
||||
if !ok {
|
||||
http.Error(w, "Unauthorized", http.StatusUnauthorized)
|
||||
return
|
||||
}
|
||||
|
||||
if !user.IsAdmin {
|
||||
http.Error(w, "Admin privileges required", http.StatusForbidden)
|
||||
return
|
||||
}
|
||||
|
||||
next.ServeHTTP(w, r)
|
||||
})
|
||||
}
|
||||
|
||||
func GetAgentContext(ctx context.Context) *db.Agent {
|
||||
agent, ok := ctx.Value(AuthAgentKey).(*db.Agent)
|
||||
if !ok {
|
||||
return nil
|
||||
}
|
||||
return agent
|
||||
}
|
||||
|
||||
func AgentAuth(app *config.App) connect.UnaryInterceptorFunc {
|
||||
return func(next connect.UnaryFunc) connect.UnaryFunc {
|
||||
return func(ctx context.Context, req connect.AnyRequest) (connect.AnyResponse, error) {
|
||||
auth := req.Header().Get("Authorization")
|
||||
if auth == "" || !strings.HasPrefix(auth, "Bearer ") {
|
||||
return nil, connect.NewError(
|
||||
connect.CodeUnauthenticated,
|
||||
errors.New("invalid or missing authorization header"),
|
||||
)
|
||||
}
|
||||
|
||||
agentID := req.Header().Get(meta.HeaderAgentID)
|
||||
if agentID == "" {
|
||||
return nil, connect.NewError(
|
||||
connect.CodeUnauthenticated,
|
||||
errors.New("missing mantrae-agent-id header"),
|
||||
)
|
||||
}
|
||||
|
||||
q := app.Conn.GetQuery()
|
||||
dbAgent, err := q.GetAgent(ctx, agentID)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeNotFound, errors.New("agent not found"))
|
||||
}
|
||||
|
||||
token := strings.TrimPrefix(auth, "Bearer ")
|
||||
if dbAgent.Token != token {
|
||||
return nil, connect.NewError(
|
||||
connect.CodeUnauthenticated,
|
||||
errors.New("token mismatch"),
|
||||
)
|
||||
}
|
||||
|
||||
// Store agent in context
|
||||
ctx = context.WithValue(ctx, AuthAgentKey, &dbAgent)
|
||||
|
||||
return next(ctx, req)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
func isPublicEndpoint(procedure string) bool {
|
||||
publicEndpoints := map[string]bool{
|
||||
mantraev1connect.UserServiceLoginUserProcedure: true,
|
||||
@@ -231,7 +122,12 @@ func isPublicEndpoint(procedure string) bool {
|
||||
}
|
||||
|
||||
// Helper functions to get auth info from context
|
||||
func GetUserIDFromContext(ctx context.Context) (int64, bool) {
|
||||
id, ok := ctx.Value(AuthUserIDKey).(int64)
|
||||
func GetUserIDFromContext(ctx context.Context) (string, bool) {
|
||||
id, ok := ctx.Value(AuthUserIDKey).(string)
|
||||
return id, ok
|
||||
}
|
||||
|
||||
func GetAgentIDFromContext(ctx context.Context) (string, bool) {
|
||||
agent, ok := ctx.Value(AuthAgentIDKey).(string)
|
||||
return agent, ok
|
||||
}
|
||||
|
||||
@@ -1,8 +1,15 @@
|
||||
package middlewares
|
||||
|
||||
import (
|
||||
"context"
|
||||
"log/slog"
|
||||
"net/http"
|
||||
"strings"
|
||||
|
||||
connectcors "connectrpc.com/cors"
|
||||
"github.com/mizuchilabs/mantrae/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/internal/settings"
|
||||
"github.com/rs/cors"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -45,3 +52,23 @@ func CORS(allowedOrigins ...string) func(http.Handler) http.Handler {
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
// WithCORS adds CORS support to a Connect HTTP handler.
|
||||
func WithCORS(h http.Handler, app *config.App) http.Handler {
|
||||
serverURL, err := app.Conn.GetQuery().GetSetting(context.Background(), settings.KeyServerURL)
|
||||
if err != nil {
|
||||
slog.Error("Failed to get server URL", "error", err)
|
||||
return h
|
||||
}
|
||||
if serverURL.Value == "" {
|
||||
slog.Error("Server URL not set")
|
||||
return h
|
||||
}
|
||||
middleware := cors.New(cors.Options{
|
||||
AllowedOrigins: []string{serverURL.Value},
|
||||
AllowedMethods: connectcors.AllowedMethods(),
|
||||
AllowedHeaders: connectcors.AllowedHeaders(),
|
||||
ExposedHeaders: connectcors.ExposedHeaders(),
|
||||
})
|
||||
return middleware.Handler(h)
|
||||
}
|
||||
|
||||
@@ -1,135 +0,0 @@
|
||||
package server
|
||||
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/api/handler"
|
||||
"github.com/mizuchilabs/mantrae/internal/api/middlewares"
|
||||
)
|
||||
|
||||
func (s *Server) routes() {
|
||||
// Create middleware handler with database access
|
||||
mw := middlewares.NewMiddlewareHandler(s.app)
|
||||
|
||||
// Middleware chains
|
||||
logChain := middlewares.Chain(
|
||||
mw.Logger,
|
||||
)
|
||||
|
||||
jwtChain := middlewares.Chain(
|
||||
mw.Logger,
|
||||
mw.JWT,
|
||||
)
|
||||
|
||||
basicChain := middlewares.Chain(
|
||||
mw.Logger,
|
||||
mw.BasicAuth,
|
||||
)
|
||||
|
||||
adminChain := middlewares.Chain(
|
||||
mw.Logger,
|
||||
mw.JWT,
|
||||
mw.AdminOnly,
|
||||
)
|
||||
|
||||
// Helper for middleware registration
|
||||
register := func(method, path string, chain middlewares.Middleware, handler http.HandlerFunc) {
|
||||
s.mux.Handle(method+" /api"+path, chain(handler))
|
||||
}
|
||||
|
||||
// Auth
|
||||
register("POST", "/login", logChain, handler.Login(s.app))
|
||||
register("POST", "/logout", logChain, handler.Logout)
|
||||
register("GET", "/verify", jwtChain, handler.Verify)
|
||||
register("POST", "/verify/otp", logChain, handler.VerifyOTP(s.app))
|
||||
register("POST", "/reset/{name}", logChain, handler.SendResetEmail(s.app))
|
||||
register("GET", "/oidc/callback", logChain, handler.OIDCCallback(s.app))
|
||||
register("GET", "/oidc/login", logChain, handler.OIDCLogin(s.app))
|
||||
register("GET", "/oidc/status", logChain, handler.OIDCStatus(s.app))
|
||||
|
||||
// Events
|
||||
register("GET", "/events", logChain, handler.GetEvents)
|
||||
register("GET", "/version", logChain, handler.GetVersion)
|
||||
|
||||
// Profiles
|
||||
register("GET", "/profile", jwtChain, handler.ListProfiles(s.app))
|
||||
register("GET", "/profile/{id}", jwtChain, handler.GetProfile(s.app))
|
||||
register("POST", "/profile", jwtChain, handler.CreateProfile(s.app))
|
||||
register("PUT", "/profile", jwtChain, handler.UpdateProfile(s.app))
|
||||
register("DELETE", "/profile/{id}", jwtChain, handler.DeleteProfile(s.app))
|
||||
|
||||
// Routers/Services
|
||||
register("POST", "/router/{id}", jwtChain, handler.UpsertRouter(s.app))
|
||||
register("DELETE", "/router", jwtChain, handler.DeleteRouter(s.app))
|
||||
register("DELETE", "/router/bulk", jwtChain, handler.BulkDeleteRouter(s.app))
|
||||
|
||||
// Middlewares
|
||||
register("POST", "/middleware/{id}", jwtChain, handler.UpsertMiddleware(s.app))
|
||||
register("DELETE", "/middleware", jwtChain, handler.DeleteMiddleware(s.app))
|
||||
register("DELETE", "/middleware/bulk", jwtChain, handler.BulkDeleteMiddleware(s.app))
|
||||
register("GET", "/middleware/plugins", jwtChain, handler.GetMiddlewarePlugins)
|
||||
|
||||
// Users
|
||||
register("GET", "/user", jwtChain, handler.ListUsers(s.app))
|
||||
register("GET", "/user/{id}", jwtChain, handler.GetUser(s.app))
|
||||
register("POST", "/user", adminChain, handler.CreateUser(s.app))
|
||||
register("PUT", "/user", jwtChain, handler.UpdateUser(s.app))
|
||||
register("DELETE", "/user/{id}", adminChain, handler.DeleteUser(s.app))
|
||||
register("POST", "/user/password", adminChain, handler.UpdateUserPassword(s.app))
|
||||
|
||||
// DNS Provider
|
||||
register("GET", "/dns", jwtChain, handler.ListDNSProviders(s.app))
|
||||
register("GET", "/dns/{id}", jwtChain, handler.GetDNSProvider(s.app))
|
||||
register("POST", "/dns", adminChain, handler.CreateDNSProvider(s.app))
|
||||
register("PUT", "/dns", adminChain, handler.UpdateDNSProvider(s.app))
|
||||
register("DELETE", "/dns/{id}", adminChain, handler.DeleteDNSProvider(s.app))
|
||||
|
||||
// DNS To Router
|
||||
register("GET", "/dns/router", jwtChain, handler.GetRouterDNSProvider(s.app))
|
||||
register("GET", "/dns/router/{id}", jwtChain, handler.ListRouterDNSProviders(s.app))
|
||||
register("POST", "/dns/router", jwtChain, handler.SetRouterDNSProvider(s.app))
|
||||
register("DELETE", "/dns/router", jwtChain, handler.DeleteRouterDNSProvider(s.app))
|
||||
|
||||
// Settings (admin only)
|
||||
register("GET", "/settings", adminChain, handler.ListSettings(s.app.SM))
|
||||
register("GET", "/settings/{key}", adminChain, handler.GetSetting(s.app.SM))
|
||||
register("POST", "/settings", adminChain, handler.UpsertSetting(s.app.SM))
|
||||
|
||||
// Agent
|
||||
register("GET", "/agent", jwtChain, handler.ListAgents(s.app))
|
||||
register("GET", "/agent/list/{id}", jwtChain, handler.ListAgentsByProfile(s.app))
|
||||
register("GET", "/agent/{id}", jwtChain, handler.GetAgent(s.app))
|
||||
register("POST", "/agent/{id}", jwtChain, handler.CreateAgent(s.app))
|
||||
register("PUT", "/agent", jwtChain, handler.UpdateAgentIP(s.app))
|
||||
register("DELETE", "/agent/{id}", jwtChain, handler.DeleteAgent(s.app))
|
||||
register("POST", "/agent/token/{id}", jwtChain, handler.RotateAgentToken(s.app))
|
||||
|
||||
// Backup & Restore (admin only)
|
||||
register("GET", "/backups", adminChain, handler.ListBackups(s.app.BM))
|
||||
register("GET", "/backups/download", adminChain, handler.DownloadBackup(s.app.BM))
|
||||
register("GET", "/backups/download/{name}", adminChain, handler.DownloadBackupByName(s.app.BM))
|
||||
register("POST", "/backups", adminChain, handler.CreateBackup(s.app.BM))
|
||||
register("POST", "/backups/restore", adminChain, handler.RestoreBackup(s.app.BM))
|
||||
register("POST", "/backups/restore/{name}", adminChain, handler.RestoreBackupByName(s.app.BM))
|
||||
register("DELETE", "/backups/{name}", adminChain, handler.DeleteBackup(s.app.BM))
|
||||
register("POST", "/dynamic/restore/{id}", adminChain, handler.RestoreDynamicConfig(s.app.BM))
|
||||
|
||||
// Errors
|
||||
register("GET", "/errors", jwtChain, handler.ListErrors(s.app))
|
||||
register("GET", "/errors/{id}", jwtChain, handler.GetErrorsByProfile(s.app))
|
||||
register("DELETE", "/errors/{id}", jwtChain, handler.DeleteErrorByID(s.app))
|
||||
register("DELETE", "/errors/profile/{id}", jwtChain, handler.DeleteErrorsByProfile(s.app))
|
||||
|
||||
// Current IP
|
||||
register("GET", "/ip", jwtChain, handler.GetPublicIP)
|
||||
|
||||
// Traefik
|
||||
register("GET", "/traefik/{id}/{source}", jwtChain, handler.GetTraefikConfig(s.app))
|
||||
|
||||
// Dynamic config
|
||||
if s.app.Config.Server.BasicAuth {
|
||||
register("GET", "/{name}", basicChain, handler.PublishTraefikConfig(s.app))
|
||||
} else {
|
||||
register("GET", "/{name}", logChain, handler.PublishTraefikConfig(s.app))
|
||||
}
|
||||
}
|
||||
@@ -8,45 +8,68 @@ import (
|
||||
"log/slog"
|
||||
"net/http"
|
||||
"runtime/debug"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
"connectrpc.com/connect"
|
||||
"connectrpc.com/grpchealth"
|
||||
"connectrpc.com/grpcreflect"
|
||||
"github.com/caarlos0/env/v11"
|
||||
"github.com/mizuchilabs/mantrae/internal/api/handler"
|
||||
"github.com/mizuchilabs/mantrae/internal/api/middlewares"
|
||||
"github.com/mizuchilabs/mantrae/internal/api/service"
|
||||
"github.com/mizuchilabs/mantrae/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/internal/util"
|
||||
"github.com/mizuchilabs/mantrae/proto/gen/mantrae/v1/mantraev1connect"
|
||||
"github.com/mizuchilabs/mantrae/web"
|
||||
)
|
||||
|
||||
const elementsHTML = `<!DOCTYPE html>
|
||||
<html lang="en">
|
||||
<head>
|
||||
<meta charset="utf-8">
|
||||
<title>API Documentation</title>
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||||
<script src="https://unpkg.com/@stoplight/elements/web-components.min.js"></script>
|
||||
<link rel="stylesheet" href="https://unpkg.com/@stoplight/elements/styles.min.css">
|
||||
</head>
|
||||
<body>
|
||||
<elements-api
|
||||
apiDescriptionUrl="/openapi.yaml"
|
||||
router="hash"
|
||||
layout="sidebar"
|
||||
/>
|
||||
</body>
|
||||
</html>
|
||||
`
|
||||
|
||||
type Server struct {
|
||||
mux *http.ServeMux
|
||||
app *config.App
|
||||
Host string `env:"HOST" envDefault:"0.0.0.0"`
|
||||
Port string `env:"PORT" envDefault:"3000"`
|
||||
SecureTraefik bool `env:"SECURE_TRAEFIK" envDefault:"false"`
|
||||
mux *http.ServeMux
|
||||
app *config.App
|
||||
}
|
||||
|
||||
func NewServer(app *config.App) *Server {
|
||||
cfg, err := env.ParseAs[Server]()
|
||||
if err != nil {
|
||||
log.Fatal(err)
|
||||
}
|
||||
|
||||
return &Server{
|
||||
mux: http.NewServeMux(),
|
||||
app: app,
|
||||
Host: cfg.Host,
|
||||
Port: cfg.Port,
|
||||
mux: http.NewServeMux(),
|
||||
app: app,
|
||||
}
|
||||
}
|
||||
|
||||
func (s *Server) Start(ctx context.Context) error {
|
||||
// Start the event processor before registering services
|
||||
util.StartEventProcessor(ctx)
|
||||
|
||||
s.registerServices()
|
||||
defer s.app.Conn.Close()
|
||||
host := s.app.Config.Server.Host
|
||||
port := s.app.Config.Server.Port
|
||||
allowedOrigins := s.getAllowedOrigins(ctx)
|
||||
|
||||
server := &http.Server{
|
||||
Addr: host + ":" + port,
|
||||
Handler: middlewares.CORS(allowedOrigins...)(s.mux),
|
||||
Addr: s.Host + ":" + s.Port,
|
||||
Handler: middlewares.WithCORS(s.mux, s.app),
|
||||
ReadHeaderTimeout: 3 * time.Second,
|
||||
ReadTimeout: 5 * time.Minute,
|
||||
WriteTimeout: 5 * time.Minute,
|
||||
@@ -58,7 +81,7 @@ func (s *Server) Start(ctx context.Context) error {
|
||||
|
||||
// Start server in a goroutine
|
||||
go func() {
|
||||
slog.Info("Server starting", "host", host, "port", port)
|
||||
slog.Info("Server starting", "host", s.Host, "port", s.Port)
|
||||
if err := server.ListenAndServe(); err != nil && err != http.ErrServerClosed {
|
||||
serverErr <- err
|
||||
}
|
||||
@@ -81,34 +104,6 @@ func (s *Server) Start(ctx context.Context) error {
|
||||
}
|
||||
}
|
||||
|
||||
func (s *Server) getAllowedOrigins(ctx context.Context) []string {
|
||||
var origins []string
|
||||
|
||||
// Always allow development frontend
|
||||
devOrigin := "http://127.0.0.1:5173"
|
||||
origins = append(origins, devOrigin)
|
||||
|
||||
// Get server URL from settings for production
|
||||
if serverURL, err := s.app.SM.Get(ctx, "server_url"); err == nil {
|
||||
if url := serverURL.String(""); url != "" && url != devOrigin {
|
||||
origins = append(origins, strings.TrimSuffix(url, "/"))
|
||||
}
|
||||
}
|
||||
|
||||
// Remove duplicates
|
||||
seen := make(map[string]bool)
|
||||
var uniqueOrigins []string
|
||||
for _, origin := range origins {
|
||||
if !seen[origin] {
|
||||
uniqueOrigins = append(uniqueOrigins, origin)
|
||||
seen[origin] = true
|
||||
}
|
||||
}
|
||||
|
||||
slog.Debug("CORS allowed origins", "origins", uniqueOrigins)
|
||||
return uniqueOrigins
|
||||
}
|
||||
|
||||
func (s *Server) registerServices() {
|
||||
// Common interceptors
|
||||
opts := []connect.HandlerOption{
|
||||
@@ -138,15 +133,16 @@ func (s *Server) registerServices() {
|
||||
}
|
||||
s.mux.Handle("/", http.FileServer(http.FS(staticContent)))
|
||||
|
||||
// Routes
|
||||
s.routes()
|
||||
|
||||
serviceNames := []string{
|
||||
mantraev1connect.ProfileServiceName,
|
||||
mantraev1connect.UserServiceName,
|
||||
mantraev1connect.EntryPointServiceName,
|
||||
mantraev1connect.SettingServiceName,
|
||||
mantraev1connect.AgentServiceName,
|
||||
mantraev1connect.AgentManagementServiceName,
|
||||
mantraev1connect.RouterServiceName,
|
||||
mantraev1connect.ServiceServiceName,
|
||||
mantraev1connect.MiddlewareServiceName,
|
||||
}
|
||||
|
||||
checker := grpchealth.NewStaticChecker(serviceNames...)
|
||||
@@ -156,6 +152,19 @@ func (s *Server) registerServices() {
|
||||
s.mux.Handle(grpcreflect.NewHandlerV1(reflector))
|
||||
s.mux.Handle(grpcreflect.NewHandlerV1Alpha(reflector))
|
||||
|
||||
// Serve OpenAPI specs file
|
||||
s.mux.HandleFunc("/openapi.yaml", func(w http.ResponseWriter, r *http.Request) {
|
||||
http.ServeFile(w, r, "proto/gen/openapi/openapi.yaml")
|
||||
})
|
||||
|
||||
// Serve Elements UI
|
||||
s.mux.HandleFunc("/docs", func(w http.ResponseWriter, r *http.Request) {
|
||||
w.Header().Set("Content-Type", "text/html")
|
||||
if _, err := w.Write([]byte(elementsHTML)); err != nil {
|
||||
slog.Error("failed to write elements HTML", "error", err)
|
||||
}
|
||||
})
|
||||
|
||||
// Service implementations
|
||||
s.mux.Handle(mantraev1connect.NewProfileServiceHandler(
|
||||
service.NewProfileService(s.app),
|
||||
@@ -177,4 +186,34 @@ func (s *Server) registerServices() {
|
||||
service.NewAgentService(s.app),
|
||||
opts...,
|
||||
))
|
||||
s.mux.Handle(mantraev1connect.NewAgentManagementServiceHandler(
|
||||
service.NewAgentManagementService(s.app),
|
||||
opts...,
|
||||
))
|
||||
s.mux.Handle(mantraev1connect.NewRouterServiceHandler(
|
||||
service.NewRouterService(s.app),
|
||||
opts...,
|
||||
))
|
||||
s.mux.Handle(mantraev1connect.NewServiceServiceHandler(
|
||||
service.NewServiceService(s.app),
|
||||
opts...,
|
||||
))
|
||||
s.mux.Handle(mantraev1connect.NewMiddlewareServiceHandler(
|
||||
service.NewMiddlewareService(s.app),
|
||||
opts...,
|
||||
))
|
||||
|
||||
// Traefik endpoint (HTTP) ------------------------------------------------
|
||||
mw := middlewares.NewMiddlewareHandler(s.app)
|
||||
logChain := middlewares.Chain(mw.Logger)
|
||||
basicChain := middlewares.Chain(mw.Logger, mw.BasicAuth)
|
||||
|
||||
if s.SecureTraefik {
|
||||
s.mux.Handle("GET /{name}", basicChain(handler.PublishTraefikConfig(s.app)))
|
||||
} else {
|
||||
s.mux.Handle("GET /{name}", logChain(handler.PublishTraefikConfig(s.app)))
|
||||
}
|
||||
|
||||
// TODO: OIDC
|
||||
// TODO: Public IP
|
||||
}
|
||||
|
||||
@@ -11,12 +11,14 @@ import (
|
||||
"github.com/golang-jwt/jwt/v5"
|
||||
"github.com/mizuchilabs/mantrae/internal/api/middlewares"
|
||||
"github.com/mizuchilabs/mantrae/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/internal/db"
|
||||
"github.com/mizuchilabs/mantrae/internal/settings"
|
||||
"github.com/mizuchilabs/mantrae/internal/traefik"
|
||||
"github.com/mizuchilabs/mantrae/internal/store/db"
|
||||
"github.com/mizuchilabs/mantrae/internal/store/schema"
|
||||
"github.com/mizuchilabs/mantrae/internal/util"
|
||||
"github.com/mizuchilabs/mantrae/pkg/meta"
|
||||
mantraev1 "github.com/mizuchilabs/mantrae/proto/gen/mantrae/v1"
|
||||
"github.com/traefik/paerser/parser"
|
||||
"github.com/traefik/traefik/v3/pkg/config/dynamic"
|
||||
)
|
||||
|
||||
type AgentService struct {
|
||||
@@ -47,38 +49,38 @@ func (s *AgentService) GetContainer(
|
||||
ctx context.Context,
|
||||
req *connect.Request[mantraev1.GetContainerRequest],
|
||||
) (*connect.Response[mantraev1.GetContainerResponse], error) {
|
||||
agent := middlewares.GetAgentContext(ctx)
|
||||
if agent == nil {
|
||||
return nil, connect.NewError(
|
||||
connect.CodeInternal,
|
||||
errors.New("agent context missing"),
|
||||
)
|
||||
agentID, ok := middlewares.GetAgentIDFromContext(ctx)
|
||||
if !ok {
|
||||
return nil, connect.NewError(connect.CodeInternal, errors.New("agent context missing"))
|
||||
}
|
||||
|
||||
// Upsert agent
|
||||
params := db.UpdateAgentParams{
|
||||
ID: agent.ID,
|
||||
ID: agentID,
|
||||
Hostname: &req.Msg.Hostname,
|
||||
PublicIp: &req.Msg.PublicIp,
|
||||
}
|
||||
if agent.ActiveIp == nil {
|
||||
params.ActiveIp = &req.Msg.PublicIp
|
||||
}
|
||||
// if agent.ActiveIp == nil {
|
||||
// params.ActiveIp = &req.Msg.PublicIp
|
||||
// }
|
||||
|
||||
privateIPs := db.AgentPrivateIPs{IPs: make([]string, len(req.Msg.PrivateIps))}
|
||||
privateIPs := schema.AgentPrivateIPs{
|
||||
IPs: make([]string, len(req.Msg.PrivateIps)),
|
||||
}
|
||||
privateIPs.IPs = req.Msg.PrivateIps
|
||||
params.PrivateIps = &privateIPs
|
||||
|
||||
var containers db.AgentContainers
|
||||
var containers schema.AgentContainers
|
||||
for _, container := range req.Msg.Containers {
|
||||
containers = append(containers, db.AgentContainer{
|
||||
created := container.Created.AsTime()
|
||||
containers = append(containers, schema.AgentContainer{
|
||||
ID: container.Id,
|
||||
Name: container.Name,
|
||||
Labels: container.Labels,
|
||||
Image: container.Image,
|
||||
Portmap: container.Portmap,
|
||||
Status: container.Status,
|
||||
Created: container.Created.AsTime(),
|
||||
Created: &created,
|
||||
})
|
||||
}
|
||||
params.Containers = &containers
|
||||
@@ -89,8 +91,8 @@ func (s *AgentService) GetContainer(
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
|
||||
// Update agent config
|
||||
if err = traefik.DecodeAgentConfig(s.app.Conn.Get(), updatedAgent); err != nil {
|
||||
// Update dynamic config
|
||||
if err = s.DecodeAgentConfig(updatedAgent); err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
|
||||
@@ -108,7 +110,7 @@ func (s *AgentService) updateToken(ctx context.Context, id string) (*string, err
|
||||
return nil, err
|
||||
}
|
||||
|
||||
claims, err := DecodeJWT(agent.Token, s.app.Config.Secret)
|
||||
claims, err := DecodeJWT(agent.Token, s.app.Secret)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -125,7 +127,7 @@ func (s *AgentService) updateToken(ctx context.Context, id string) (*string, err
|
||||
return nil, err
|
||||
}
|
||||
|
||||
token, err := claims.EncodeJWT(s.app.Config.Secret, agentInterval.Duration(time.Hour*72))
|
||||
token, err := claims.EncodeJWT(s.app.Secret, agentInterval.Duration(time.Hour*72))
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@@ -187,3 +189,99 @@ func DecodeJWT(tokenString, secret string) (*AgentClaims, error) {
|
||||
}
|
||||
return claims, nil
|
||||
}
|
||||
|
||||
func (s *AgentService) DecodeAgentConfig(agent db.Agent) error {
|
||||
ctx := context.Background()
|
||||
|
||||
q := s.app.Conn.GetQuery()
|
||||
for _, container := range *agent.Containers {
|
||||
dynConfig := &dynamic.Configuration{
|
||||
HTTP: &dynamic.HTTPConfiguration{},
|
||||
TCP: &dynamic.TCPConfiguration{},
|
||||
UDP: &dynamic.UDPConfiguration{},
|
||||
TLS: &dynamic.TLSConfiguration{},
|
||||
}
|
||||
|
||||
err := parser.Decode(
|
||||
container.Labels,
|
||||
dynConfig,
|
||||
parser.DefaultRootName,
|
||||
"traefik.http",
|
||||
"traefik.tcp",
|
||||
"traefik.udp",
|
||||
"traefik.tls.stores.default",
|
||||
)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
for k, r := range dynConfig.HTTP.Routers {
|
||||
q.CreateHttpRouter(ctx, db.CreateHttpRouterParams{
|
||||
ProfileID: agent.ProfileID,
|
||||
AgentID: &agent.ID,
|
||||
Name: k,
|
||||
Config: r,
|
||||
})
|
||||
}
|
||||
for k, r := range dynConfig.TCP.Routers {
|
||||
q.CreateTcpRouter(ctx, db.CreateTcpRouterParams{
|
||||
ProfileID: agent.ProfileID,
|
||||
AgentID: &agent.ID,
|
||||
Name: k,
|
||||
Config: r,
|
||||
})
|
||||
}
|
||||
for k, r := range dynConfig.UDP.Routers {
|
||||
q.CreateUdpRouter(ctx, db.CreateUdpRouterParams{
|
||||
ProfileID: agent.ProfileID,
|
||||
AgentID: &agent.ID,
|
||||
Name: k,
|
||||
Config: r,
|
||||
})
|
||||
}
|
||||
|
||||
for k, r := range dynConfig.HTTP.Services {
|
||||
q.CreateHttpService(ctx, db.CreateHttpServiceParams{
|
||||
ProfileID: agent.ProfileID,
|
||||
AgentID: &agent.ID,
|
||||
Name: k,
|
||||
Config: r,
|
||||
})
|
||||
}
|
||||
for k, r := range dynConfig.TCP.Services {
|
||||
q.CreateTcpService(ctx, db.CreateTcpServiceParams{
|
||||
ProfileID: agent.ProfileID,
|
||||
AgentID: &agent.ID,
|
||||
Name: k,
|
||||
Config: r,
|
||||
})
|
||||
}
|
||||
for k, r := range dynConfig.UDP.Services {
|
||||
q.CreateUdpService(ctx, db.CreateUdpServiceParams{
|
||||
ProfileID: agent.ProfileID,
|
||||
AgentID: &agent.ID,
|
||||
Name: k,
|
||||
Config: r,
|
||||
})
|
||||
}
|
||||
|
||||
for k, r := range dynConfig.HTTP.Middlewares {
|
||||
q.CreateHttpMiddleware(ctx, db.CreateHttpMiddlewareParams{
|
||||
ProfileID: agent.ProfileID,
|
||||
AgentID: &agent.ID,
|
||||
Name: k,
|
||||
Config: r,
|
||||
})
|
||||
}
|
||||
for k, r := range dynConfig.TCP.Middlewares {
|
||||
q.CreateTcpMiddleware(ctx, db.CreateTcpMiddlewareParams{
|
||||
ProfileID: agent.ProfileID,
|
||||
AgentID: &agent.ID,
|
||||
Name: k,
|
||||
Config: r,
|
||||
})
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
214
internal/api/service/agentManagement.go
Normal file
214
internal/api/service/agentManagement.go
Normal file
@@ -0,0 +1,214 @@
|
||||
package service
|
||||
|
||||
import (
|
||||
"context"
|
||||
"time"
|
||||
|
||||
"connectrpc.com/connect"
|
||||
|
||||
"github.com/google/uuid"
|
||||
"github.com/mizuchilabs/mantrae/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/internal/settings"
|
||||
"github.com/mizuchilabs/mantrae/internal/store/db"
|
||||
mantraev1 "github.com/mizuchilabs/mantrae/proto/gen/mantrae/v1"
|
||||
)
|
||||
|
||||
type AgentManagementService struct {
|
||||
app *config.App
|
||||
}
|
||||
|
||||
func NewAgentManagementService(app *config.App) *AgentManagementService {
|
||||
return &AgentManagementService{app: app}
|
||||
}
|
||||
|
||||
func (s *AgentManagementService) GetAgent(
|
||||
ctx context.Context,
|
||||
req *connect.Request[mantraev1.GetAgentRequest],
|
||||
) (*connect.Response[mantraev1.GetAgentResponse], error) {
|
||||
agent, err := s.app.Conn.GetQuery().GetAgent(ctx, req.Msg.Id)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
|
||||
// var containers []*mantraev1.Container
|
||||
// err = json.Unmarshal(containers, &agent.Containers)
|
||||
// if err != nil {
|
||||
// return nil, connect.NewError(connect.CodeInternal, err)
|
||||
// }
|
||||
|
||||
return connect.NewResponse(&mantraev1.GetAgentResponse{
|
||||
Agent: &mantraev1.Agent{
|
||||
Id: agent.ID,
|
||||
ProfileId: agent.ProfileID,
|
||||
Hostname: SafeString(agent.Hostname),
|
||||
PublicIp: SafeString(agent.PublicIp),
|
||||
ActiveIp: SafeString(agent.ActiveIp),
|
||||
Token: agent.Token,
|
||||
PrivateIps: agent.PrivateIps.IPs,
|
||||
// Containers: containers,
|
||||
CreatedAt: SafeTimestamp(agent.CreatedAt),
|
||||
UpdatedAt: SafeTimestamp(agent.UpdatedAt),
|
||||
},
|
||||
}), nil
|
||||
}
|
||||
|
||||
func (s *AgentManagementService) CreateAgent(
|
||||
ctx context.Context,
|
||||
req *connect.Request[mantraev1.CreateAgentRequest],
|
||||
) (*connect.Response[mantraev1.CreateAgentResponse], error) {
|
||||
id, err := uuid.NewV7()
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
|
||||
serverUrl, err := s.app.Conn.GetQuery().GetSetting(ctx, settings.KeyServerURL)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
|
||||
claims := &AgentClaims{
|
||||
AgentID: id.String(),
|
||||
ProfileID: req.Msg.ProfileId,
|
||||
ServerURL: serverUrl.Value,
|
||||
}
|
||||
token, err := claims.EncodeJWT(s.app.Secret, time.Hour*72)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
|
||||
agent, err := s.app.Conn.GetQuery().CreateAgent(ctx, db.CreateAgentParams{
|
||||
ID: claims.AgentID,
|
||||
ProfileID: claims.ProfileID,
|
||||
Token: token,
|
||||
})
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
|
||||
return connect.NewResponse(&mantraev1.CreateAgentResponse{
|
||||
Agent: &mantraev1.Agent{
|
||||
Id: agent.ID,
|
||||
ProfileId: agent.ProfileID,
|
||||
Token: agent.Token,
|
||||
},
|
||||
}), nil
|
||||
}
|
||||
|
||||
func (s *AgentManagementService) UpdateAgentIP(
|
||||
ctx context.Context,
|
||||
req *connect.Request[mantraev1.UpdateAgentIPRequest],
|
||||
) (*connect.Response[mantraev1.UpdateAgentIPResponse], error) {
|
||||
if err := s.app.Conn.GetQuery().UpdateAgentIP(ctx, db.UpdateAgentIPParams{
|
||||
ID: req.Msg.Id,
|
||||
ActiveIp: &req.Msg.Ip,
|
||||
}); err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
agent, err := s.app.Conn.GetQuery().GetAgent(ctx, req.Msg.Id)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
|
||||
return connect.NewResponse(&mantraev1.UpdateAgentIPResponse{
|
||||
Agent: &mantraev1.Agent{
|
||||
Id: agent.ID,
|
||||
ProfileId: agent.ProfileID,
|
||||
Hostname: SafeString(agent.Hostname),
|
||||
PublicIp: SafeString(agent.PublicIp),
|
||||
ActiveIp: SafeString(agent.ActiveIp),
|
||||
Token: agent.Token,
|
||||
PrivateIps: agent.PrivateIps.IPs,
|
||||
CreatedAt: SafeTimestamp(agent.CreatedAt),
|
||||
UpdatedAt: SafeTimestamp(agent.UpdatedAt),
|
||||
},
|
||||
}), nil
|
||||
}
|
||||
|
||||
func (s *AgentManagementService) DeleteAgent(
|
||||
ctx context.Context,
|
||||
req *connect.Request[mantraev1.DeleteAgentRequest],
|
||||
) (*connect.Response[mantraev1.DeleteAgentResponse], error) {
|
||||
if err := s.app.Conn.GetQuery().DeleteAgent(ctx, req.Msg.Id); err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
return connect.NewResponse(&mantraev1.DeleteAgentResponse{}), nil
|
||||
}
|
||||
|
||||
func (s *AgentManagementService) ListAgents(
|
||||
ctx context.Context,
|
||||
req *connect.Request[mantraev1.ListAgentsRequest],
|
||||
) (*connect.Response[mantraev1.ListAgentsResponse], error) {
|
||||
var params db.ListAgentsParams
|
||||
if req.Msg.Limit == nil {
|
||||
params.Limit = 100
|
||||
} else {
|
||||
params.Limit = *req.Msg.Limit
|
||||
}
|
||||
if req.Msg.Offset == nil {
|
||||
params.Offset = 0
|
||||
} else {
|
||||
params.Offset = *req.Msg.Offset
|
||||
}
|
||||
|
||||
dbAgents, err := s.app.Conn.GetQuery().ListAgents(ctx, params)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
totalCount, err := s.app.Conn.GetQuery().CountAgents(ctx)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
|
||||
var agents []*mantraev1.Agent
|
||||
for _, agent := range dbAgents {
|
||||
agents = append(agents, &mantraev1.Agent{
|
||||
Id: agent.ID,
|
||||
ProfileId: agent.ProfileID,
|
||||
Hostname: SafeString(agent.Hostname),
|
||||
PublicIp: SafeString(agent.PublicIp),
|
||||
ActiveIp: SafeString(agent.ActiveIp),
|
||||
Token: agent.Token,
|
||||
PrivateIps: agent.PrivateIps.IPs,
|
||||
CreatedAt: SafeTimestamp(agent.CreatedAt),
|
||||
UpdatedAt: SafeTimestamp(agent.UpdatedAt),
|
||||
})
|
||||
}
|
||||
return connect.NewResponse(&mantraev1.ListAgentsResponse{
|
||||
Agents: agents,
|
||||
TotalCount: totalCount,
|
||||
}), nil
|
||||
}
|
||||
|
||||
func (s *AgentManagementService) RotateAgentToken(
|
||||
ctx context.Context,
|
||||
req *connect.Request[mantraev1.RotateAgentTokenRequest],
|
||||
) (*connect.Response[mantraev1.RotateAgentTokenResponse], error) {
|
||||
agent, err := s.app.Conn.GetQuery().GetAgent(ctx, req.Msg.Id)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
|
||||
serverUrl, err := s.app.Conn.GetQuery().GetSetting(ctx, settings.KeyServerURL)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
|
||||
claims := &AgentClaims{
|
||||
AgentID: agent.ID,
|
||||
ProfileID: agent.ProfileID,
|
||||
ServerURL: serverUrl.Value,
|
||||
}
|
||||
token, err := claims.EncodeJWT(s.app.Secret, time.Hour*72)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
|
||||
if err := s.app.Conn.GetQuery().UpdateAgentToken(ctx, db.UpdateAgentTokenParams{
|
||||
ID: agent.ID,
|
||||
Token: token,
|
||||
}); err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
|
||||
return connect.NewResponse(&mantraev1.RotateAgentTokenResponse{}), nil
|
||||
}
|
||||
161
internal/api/service/backup.go
Normal file
161
internal/api/service/backup.go
Normal file
@@ -0,0 +1,161 @@
|
||||
package service
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"fmt"
|
||||
"io"
|
||||
"time"
|
||||
|
||||
"connectrpc.com/connect"
|
||||
"github.com/mizuchilabs/mantrae/internal/config"
|
||||
mantraev1 "github.com/mizuchilabs/mantrae/proto/gen/mantrae/v1"
|
||||
)
|
||||
|
||||
type BackupService struct {
|
||||
app *config.App
|
||||
}
|
||||
|
||||
func NewBackupService(app *config.App) *BackupService {
|
||||
return &BackupService{app: app}
|
||||
}
|
||||
|
||||
func (s *BackupService) CreateBackup(
|
||||
ctx context.Context,
|
||||
req *connect.Request[mantraev1.CreateBackupRequest],
|
||||
) (*connect.Response[mantraev1.CreateBackupResponse], error) {
|
||||
if err := s.app.BM.Create(ctx); err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
|
||||
return connect.NewResponse(&mantraev1.CreateBackupResponse{}), nil
|
||||
}
|
||||
|
||||
func (s *BackupService) ListBackups(
|
||||
ctx context.Context,
|
||||
req *connect.Request[mantraev1.ListBackupsRequest],
|
||||
) (*connect.Response[mantraev1.ListBackupsResponse], error) {
|
||||
files, err := s.app.BM.List(ctx)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
|
||||
var backups []*mantraev1.Backup
|
||||
for _, file := range files {
|
||||
backups = append(backups, &mantraev1.Backup{
|
||||
Name: file.Name,
|
||||
Size: file.Size,
|
||||
CreatedAt: SafeTimestamp(&file.Timestamp),
|
||||
})
|
||||
}
|
||||
return connect.NewResponse(&mantraev1.ListBackupsResponse{
|
||||
Backups: backups,
|
||||
}), nil
|
||||
}
|
||||
|
||||
func (s *BackupService) DeleteBackup(
|
||||
ctx context.Context,
|
||||
req *connect.Request[mantraev1.DeleteBackupRequest],
|
||||
) (*connect.Response[mantraev1.DeleteBackupResponse], error) {
|
||||
if err := s.app.BM.Delete(ctx, req.Msg.Name); err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
return connect.NewResponse(&mantraev1.DeleteBackupResponse{}), nil
|
||||
}
|
||||
|
||||
func (s *BackupService) RestoreBackup(
|
||||
ctx context.Context,
|
||||
req *connect.Request[mantraev1.RestoreBackupRequest],
|
||||
) (*connect.Response[mantraev1.RestoreBackupResponse], error) {
|
||||
if !s.app.BM.IsValidBackupFile(req.Msg.Name) {
|
||||
return nil, connect.NewError(
|
||||
connect.CodeInvalidArgument,
|
||||
errors.New("invalid backup file name"),
|
||||
)
|
||||
}
|
||||
if err := s.app.BM.Restore(ctx, req.Msg.Name); err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
|
||||
return connect.NewResponse(&mantraev1.RestoreBackupResponse{}), nil
|
||||
}
|
||||
|
||||
func (s *BackupService) DownloadBackup(
|
||||
ctx context.Context,
|
||||
req *connect.Request[mantraev1.DownloadBackupRequest],
|
||||
stream *connect.ServerStream[mantraev1.DownloadBackupResponse],
|
||||
) error {
|
||||
filename := req.Msg.Name
|
||||
if req.Msg.Name == "" {
|
||||
files, err := s.app.BM.Storage.List(ctx)
|
||||
if err != nil {
|
||||
return connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
filename = files[0].Name // Use latest backup
|
||||
}
|
||||
|
||||
reader, err := s.app.BM.Storage.Retrieve(ctx, filename)
|
||||
if err != nil {
|
||||
return connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
defer reader.Close()
|
||||
|
||||
buf := make([]byte, 32*1024)
|
||||
for {
|
||||
n, err := reader.Read(buf)
|
||||
if err != nil {
|
||||
if err == io.EOF {
|
||||
break
|
||||
}
|
||||
return connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
if err := stream.Send(&mantraev1.DownloadBackupResponse{
|
||||
Data: buf[:n],
|
||||
}); err != nil {
|
||||
return connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (s *BackupService) UploadBackup(
|
||||
ctx context.Context,
|
||||
stream *connect.ClientStream[mantraev1.UploadBackupRequest],
|
||||
) (*connect.Response[mantraev1.UploadBackupResponse], error) {
|
||||
// Create a pipe to stream data from gRPC into storage
|
||||
pr, pw := io.Pipe()
|
||||
defer pr.Close()
|
||||
|
||||
// Start storage write in background
|
||||
filename := fmt.Sprintf("upload_%s.db", time.Now().UTC().Format("20060102_150405"))
|
||||
storeErrChan := make(chan error, 1)
|
||||
go func() {
|
||||
defer pw.Close()
|
||||
err := s.app.BM.Storage.Store(ctx, filename, pr)
|
||||
storeErrChan <- err
|
||||
}()
|
||||
|
||||
for stream.Receive() {
|
||||
chunk := stream.Msg()
|
||||
if len(chunk.Data) == 0 {
|
||||
continue
|
||||
}
|
||||
if _, err := pw.Write(chunk.Data); err != nil {
|
||||
pw.CloseWithError(err)
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
}
|
||||
|
||||
if err := stream.Err(); err != nil {
|
||||
pw.CloseWithError(err)
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
|
||||
// Wait for store to finish
|
||||
if err := <-storeErrChan; err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
|
||||
return connect.NewResponse(&mantraev1.UploadBackupResponse{}), nil
|
||||
}
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
"connectrpc.com/connect"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/internal/db"
|
||||
"github.com/mizuchilabs/mantrae/internal/store/db"
|
||||
mantraev1 "github.com/mizuchilabs/mantrae/proto/gen/mantrae/v1"
|
||||
)
|
||||
|
||||
|
||||
311
internal/api/service/middleware.go
Normal file
311
internal/api/service/middleware.go
Normal file
@@ -0,0 +1,311 @@
|
||||
package service
|
||||
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
"log/slog"
|
||||
"net/http"
|
||||
"slices"
|
||||
|
||||
"connectrpc.com/connect"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/internal/store/db"
|
||||
mantraev1 "github.com/mizuchilabs/mantrae/proto/gen/mantrae/v1"
|
||||
)
|
||||
|
||||
type MiddlewareService struct {
|
||||
app *config.App
|
||||
}
|
||||
|
||||
func NewMiddlewareService(app *config.App) *MiddlewareService {
|
||||
return &MiddlewareService{app: app}
|
||||
}
|
||||
|
||||
func (s *MiddlewareService) GetMiddleware(
|
||||
ctx context.Context,
|
||||
req *connect.Request[mantraev1.GetMiddlewareRequest],
|
||||
) (*connect.Response[mantraev1.GetMiddlewareResponse], error) {
|
||||
var middleware *mantraev1.Middleware
|
||||
|
||||
switch req.Msg.Type {
|
||||
case mantraev1.MiddlewareType_MIDDLEWARE_TYPE_HTTP:
|
||||
res, err := s.app.Conn.GetQuery().GetHttpMiddleware(ctx, req.Msg.Id)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
|
||||
middleware, err = buildProtoHttpMiddleware(res)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
|
||||
case mantraev1.MiddlewareType_MIDDLEWARE_TYPE_TCP:
|
||||
res, err := s.app.Conn.GetQuery().GetTcpMiddleware(ctx, req.Msg.Id)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
middleware, err = buildProtoTcpMiddleware(res)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
|
||||
default:
|
||||
return nil, connect.NewError(
|
||||
connect.CodeInvalidArgument,
|
||||
errors.New("invalid middleware type"),
|
||||
)
|
||||
}
|
||||
|
||||
return connect.NewResponse(&mantraev1.GetMiddlewareResponse{Middleware: middleware}), nil
|
||||
}
|
||||
|
||||
func (s *MiddlewareService) CreateMiddleware(
|
||||
ctx context.Context,
|
||||
req *connect.Request[mantraev1.CreateMiddlewareRequest],
|
||||
) (*connect.Response[mantraev1.CreateMiddlewareResponse], error) {
|
||||
var middleware *mantraev1.Middleware
|
||||
|
||||
switch req.Msg.Type {
|
||||
case mantraev1.MiddlewareType_MIDDLEWARE_TYPE_HTTP:
|
||||
var params db.CreateHttpMiddlewareParams
|
||||
if err := json.Unmarshal([]byte(req.Msg.Config), ¶ms.Config); err != nil {
|
||||
return nil, connect.NewError(connect.CodeInvalidArgument, err)
|
||||
}
|
||||
params.ProfileID = req.Msg.ProfileId
|
||||
params.Name = req.Msg.Name
|
||||
if req.Msg.AgentId != "" {
|
||||
params.AgentID = &req.Msg.AgentId
|
||||
}
|
||||
|
||||
dbMiddleware, err := s.app.Conn.GetQuery().CreateHttpMiddleware(ctx, params)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
|
||||
middleware, err = buildProtoHttpMiddleware(dbMiddleware)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
|
||||
case mantraev1.MiddlewareType_MIDDLEWARE_TYPE_TCP:
|
||||
var params db.CreateTcpMiddlewareParams
|
||||
if err := json.Unmarshal([]byte(req.Msg.Config), ¶ms.Config); err != nil {
|
||||
return nil, connect.NewError(connect.CodeInvalidArgument, err)
|
||||
}
|
||||
params.ProfileID = req.Msg.ProfileId
|
||||
params.Name = req.Msg.Name
|
||||
if req.Msg.AgentId != "" {
|
||||
params.AgentID = &req.Msg.AgentId
|
||||
}
|
||||
|
||||
dbMiddleware, err := s.app.Conn.GetQuery().CreateTcpMiddleware(ctx, params)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
|
||||
middleware, err = buildProtoTcpMiddleware(dbMiddleware)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
|
||||
default:
|
||||
return nil, connect.NewError(
|
||||
connect.CodeInvalidArgument,
|
||||
errors.New("invalid middleware type"),
|
||||
)
|
||||
}
|
||||
|
||||
return connect.NewResponse(&mantraev1.CreateMiddlewareResponse{Middleware: middleware}), nil
|
||||
}
|
||||
|
||||
func (s *MiddlewareService) UpdateMiddleware(
|
||||
ctx context.Context,
|
||||
req *connect.Request[mantraev1.UpdateMiddlewareRequest],
|
||||
) (*connect.Response[mantraev1.UpdateMiddlewareResponse], error) {
|
||||
var middleware *mantraev1.Middleware
|
||||
|
||||
switch req.Msg.Type {
|
||||
case mantraev1.MiddlewareType_MIDDLEWARE_TYPE_HTTP:
|
||||
var params db.UpdateHttpMiddlewareParams
|
||||
if err := json.Unmarshal([]byte(req.Msg.Config), ¶ms.Config); err != nil {
|
||||
return nil, connect.NewError(connect.CodeInvalidArgument, err)
|
||||
}
|
||||
params.ID = req.Msg.Id
|
||||
params.Name = req.Msg.Name
|
||||
|
||||
dbMiddleware, err := s.app.Conn.GetQuery().UpdateHttpMiddleware(ctx, params)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
|
||||
middleware, err = buildProtoHttpMiddleware(dbMiddleware)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
|
||||
case mantraev1.MiddlewareType_MIDDLEWARE_TYPE_TCP:
|
||||
var params db.UpdateTcpMiddlewareParams
|
||||
if err := json.Unmarshal([]byte(req.Msg.Config), ¶ms.Config); err != nil {
|
||||
return nil, connect.NewError(connect.CodeInvalidArgument, err)
|
||||
}
|
||||
params.ID = req.Msg.Id
|
||||
params.Name = req.Msg.Name
|
||||
|
||||
dbMiddleware, err := s.app.Conn.GetQuery().UpdateTcpMiddleware(ctx, params)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
|
||||
middleware, err = buildProtoTcpMiddleware(dbMiddleware)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
|
||||
default:
|
||||
return nil, connect.NewError(
|
||||
connect.CodeInvalidArgument,
|
||||
errors.New("invalid middleware type"),
|
||||
)
|
||||
}
|
||||
|
||||
return connect.NewResponse(&mantraev1.UpdateMiddlewareResponse{Middleware: middleware}), nil
|
||||
}
|
||||
|
||||
func (s *MiddlewareService) DeleteMiddleware(
|
||||
ctx context.Context,
|
||||
req *connect.Request[mantraev1.DeleteMiddlewareRequest],
|
||||
) (*connect.Response[mantraev1.DeleteMiddlewareResponse], error) {
|
||||
err := s.app.Conn.GetQuery().DeleteHttpMiddleware(ctx, req.Msg.Id)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
return connect.NewResponse(&mantraev1.DeleteMiddlewareResponse{}), nil
|
||||
}
|
||||
|
||||
func (s *MiddlewareService) ListMiddlewares(
|
||||
ctx context.Context,
|
||||
req *connect.Request[mantraev1.ListMiddlewaresRequest],
|
||||
) (*connect.Response[mantraev1.ListMiddlewaresResponse], error) {
|
||||
var limit int64
|
||||
var offset int64
|
||||
if req.Msg.Limit == nil {
|
||||
limit = 100
|
||||
} else {
|
||||
limit = *req.Msg.Limit
|
||||
}
|
||||
if req.Msg.Offset == nil {
|
||||
offset = 0
|
||||
} else {
|
||||
offset = *req.Msg.Offset
|
||||
}
|
||||
|
||||
var middlewares []*mantraev1.Middleware
|
||||
var totalCount int64
|
||||
switch req.Msg.Type {
|
||||
case mantraev1.MiddlewareType_MIDDLEWARE_TYPE_HTTP:
|
||||
params := db.ListHttpMiddlewaresParams{Limit: limit, Offset: offset}
|
||||
dbMiddlewares, err := s.app.Conn.GetQuery().ListHttpMiddlewares(ctx, params)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
totalCount, err = s.app.Conn.GetQuery().CountHttpMiddlewares(ctx)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
|
||||
for _, dbMiddleware := range dbMiddlewares {
|
||||
middleware, err := buildProtoHttpMiddleware(dbMiddleware)
|
||||
if err != nil {
|
||||
slog.Error("Failed to build proto middleware", "error", err)
|
||||
continue
|
||||
}
|
||||
middlewares = append(middlewares, middleware)
|
||||
}
|
||||
|
||||
case mantraev1.MiddlewareType_MIDDLEWARE_TYPE_TCP:
|
||||
params := db.ListTcpMiddlewaresParams{Limit: limit, Offset: offset}
|
||||
dbMiddlewares, err := s.app.Conn.GetQuery().ListTcpMiddlewares(ctx, params)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
totalCount, err = s.app.Conn.GetQuery().CountTcpMiddlewares(ctx)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
for _, dbMiddleware := range dbMiddlewares {
|
||||
middleware, err := buildProtoTcpMiddleware(dbMiddleware)
|
||||
if err != nil {
|
||||
slog.Error("Failed to build proto middleware", "error", err)
|
||||
continue
|
||||
}
|
||||
middlewares = append(middlewares, middleware)
|
||||
}
|
||||
|
||||
default:
|
||||
return nil, connect.NewError(
|
||||
connect.CodeInvalidArgument,
|
||||
errors.New("invalid middleware type"),
|
||||
)
|
||||
}
|
||||
|
||||
return connect.NewResponse(&mantraev1.ListMiddlewaresResponse{
|
||||
Middlewares: middlewares,
|
||||
TotalCount: totalCount,
|
||||
}), nil
|
||||
}
|
||||
|
||||
func buildProtoHttpMiddleware(r db.HttpMiddleware) (*mantraev1.Middleware, error) {
|
||||
configBytes, err := json.Marshal(r.Config)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("failed to marshal HTTP config: %w", err)
|
||||
}
|
||||
return &mantraev1.Middleware{
|
||||
Id: r.ID,
|
||||
ProfileId: r.ProfileID,
|
||||
Name: r.Name,
|
||||
Config: string(configBytes),
|
||||
Type: mantraev1.MiddlewareType_MIDDLEWARE_TYPE_HTTP,
|
||||
CreatedAt: SafeTimestamp(r.CreatedAt),
|
||||
UpdatedAt: SafeTimestamp(r.UpdatedAt),
|
||||
}, nil
|
||||
}
|
||||
|
||||
func buildProtoTcpMiddleware(r db.TcpMiddleware) (*mantraev1.Middleware, error) {
|
||||
configBytes, err := json.Marshal(r.Config)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("failed to marshal TCP config: %w", err)
|
||||
}
|
||||
return &mantraev1.Middleware{
|
||||
Id: r.ID,
|
||||
ProfileId: r.ProfileID,
|
||||
Name: r.Name,
|
||||
Config: string(configBytes),
|
||||
Type: mantraev1.MiddlewareType_MIDDLEWARE_TYPE_TCP,
|
||||
CreatedAt: SafeTimestamp(r.CreatedAt),
|
||||
UpdatedAt: SafeTimestamp(r.UpdatedAt),
|
||||
}, nil
|
||||
}
|
||||
|
||||
func (s *MiddlewareService) GetMiddlewarePlugins(
|
||||
ctx context.Context,
|
||||
req *connect.Request[mantraev1.GetMiddlewarePluginsRequest],
|
||||
) (*connect.Response[mantraev1.GetMiddlewarePluginsResponse], error) {
|
||||
resp, err := http.Get("https://plugins.traefik.io/api/services/plugins")
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
defer resp.Body.Close()
|
||||
|
||||
var allPlugins []*mantraev1.Plugin
|
||||
if err := json.NewDecoder(resp.Body).Decode(&allPlugins); err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
plugins := slices.DeleteFunc(allPlugins, func(p *mantraev1.Plugin) bool {
|
||||
return p.Type != "middleware"
|
||||
})
|
||||
|
||||
return connect.NewResponse(&mantraev1.GetMiddlewarePluginsResponse{Plugins: plugins}), nil
|
||||
}
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
"connectrpc.com/connect"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/internal/db"
|
||||
"github.com/mizuchilabs/mantrae/internal/store/db"
|
||||
mantraev1 "github.com/mizuchilabs/mantrae/proto/gen/mantrae/v1"
|
||||
)
|
||||
|
||||
|
||||
@@ -81,8 +81,8 @@ func (s *RouterService) CreateRouter(
|
||||
}
|
||||
params.ProfileID = req.Msg.ProfileId
|
||||
params.Name = req.Msg.Name
|
||||
if req.Msg.Source != "" {
|
||||
params.Source = &req.Msg.Source
|
||||
if req.Msg.AgentId != "" {
|
||||
params.AgentID = &req.Msg.AgentId
|
||||
}
|
||||
|
||||
dbRouter, err := s.app.Conn.GetQuery().CreateHttpRouter(ctx, params)
|
||||
@@ -102,8 +102,8 @@ func (s *RouterService) CreateRouter(
|
||||
}
|
||||
params.ProfileID = req.Msg.ProfileId
|
||||
params.Name = req.Msg.Name
|
||||
if req.Msg.Source != "" {
|
||||
params.Source = &req.Msg.Source
|
||||
if req.Msg.AgentId != "" {
|
||||
params.AgentID = &req.Msg.AgentId
|
||||
}
|
||||
|
||||
dbRouter, err := s.app.Conn.GetQuery().CreateTcpRouter(ctx, params)
|
||||
@@ -123,8 +123,8 @@ func (s *RouterService) CreateRouter(
|
||||
}
|
||||
params.ProfileID = req.Msg.ProfileId
|
||||
params.Name = req.Msg.Name
|
||||
if req.Msg.Source != "" {
|
||||
params.Source = &req.Msg.Source
|
||||
if req.Msg.AgentId != "" {
|
||||
params.AgentID = &req.Msg.AgentId
|
||||
}
|
||||
|
||||
dbRouter, err := s.app.Conn.GetQuery().CreateUdpRouter(ctx, params)
|
||||
@@ -158,9 +158,6 @@ func (s *RouterService) UpdateRouter(
|
||||
}
|
||||
params.ID = req.Msg.Id
|
||||
params.Name = req.Msg.Name
|
||||
if req.Msg.Source != "" {
|
||||
params.Source = &req.Msg.Source
|
||||
}
|
||||
|
||||
dbRouter, err := s.app.Conn.GetQuery().UpdateHttpRouter(ctx, params)
|
||||
if err != nil {
|
||||
@@ -179,9 +176,6 @@ func (s *RouterService) UpdateRouter(
|
||||
}
|
||||
params.ID = req.Msg.Id
|
||||
params.Name = req.Msg.Name
|
||||
if req.Msg.Source != "" {
|
||||
params.Source = &req.Msg.Source
|
||||
}
|
||||
|
||||
dbRouter, err := s.app.Conn.GetQuery().UpdateTcpRouter(ctx, params)
|
||||
if err != nil {
|
||||
@@ -200,9 +194,6 @@ func (s *RouterService) UpdateRouter(
|
||||
}
|
||||
params.ID = req.Msg.Id
|
||||
params.Name = req.Msg.Name
|
||||
if req.Msg.Source != "" {
|
||||
params.Source = &req.Msg.Source
|
||||
}
|
||||
|
||||
dbRouter, err := s.app.Conn.GetQuery().UpdateUdpRouter(ctx, params)
|
||||
if err != nil {
|
||||
@@ -338,9 +329,9 @@ func buildProtoHttpRouter(r db.HttpRouter) (*mantraev1.Router, error) {
|
||||
}
|
||||
return &mantraev1.Router{
|
||||
Id: r.ID,
|
||||
ProfileId: r.ProfileID,
|
||||
Name: r.Name,
|
||||
Config: string(configBytes),
|
||||
Source: SafeString(r.Source),
|
||||
Enabled: r.Enabled,
|
||||
Type: mantraev1.RouterType_ROUTER_TYPE_HTTP,
|
||||
CreatedAt: SafeTimestamp(r.CreatedAt),
|
||||
@@ -355,9 +346,9 @@ func buildProtoTcpRouter(r db.TcpRouter) (*mantraev1.Router, error) {
|
||||
}
|
||||
return &mantraev1.Router{
|
||||
Id: r.ID,
|
||||
ProfileId: r.ProfileID,
|
||||
Name: r.Name,
|
||||
Config: string(configBytes),
|
||||
Source: SafeString(r.Source),
|
||||
Enabled: r.Enabled,
|
||||
Type: mantraev1.RouterType_ROUTER_TYPE_TCP,
|
||||
CreatedAt: SafeTimestamp(r.CreatedAt),
|
||||
@@ -372,9 +363,9 @@ func buildProtoUdpRouter(r db.UdpRouter) (*mantraev1.Router, error) {
|
||||
}
|
||||
return &mantraev1.Router{
|
||||
Id: r.ID,
|
||||
ProfileId: r.ProfileID,
|
||||
Name: r.Name,
|
||||
Config: string(configBytes),
|
||||
Source: SafeString(r.Source),
|
||||
Enabled: r.Enabled,
|
||||
Type: mantraev1.RouterType_ROUTER_TYPE_UDP,
|
||||
CreatedAt: SafeTimestamp(r.CreatedAt),
|
||||
|
||||
357
internal/api/service/service.go
Normal file
357
internal/api/service/service.go
Normal file
@@ -0,0 +1,357 @@
|
||||
package service
|
||||
|
||||
import (
|
||||
"context"
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"log/slog"
|
||||
|
||||
"connectrpc.com/connect"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/internal/store/db"
|
||||
mantraev1 "github.com/mizuchilabs/mantrae/proto/gen/mantrae/v1"
|
||||
)
|
||||
|
||||
type Service struct {
|
||||
app *config.App
|
||||
}
|
||||
|
||||
func NewServiceService(app *config.App) *Service {
|
||||
return &Service{app: app}
|
||||
}
|
||||
|
||||
func (s *Service) GetService(
|
||||
ctx context.Context,
|
||||
req *connect.Request[mantraev1.GetServiceRequest],
|
||||
) (*connect.Response[mantraev1.GetServiceResponse], error) {
|
||||
var service *mantraev1.Service
|
||||
|
||||
switch req.Msg.Type {
|
||||
case mantraev1.ServiceType_SERVICE_TYPE_HTTP:
|
||||
res, err := s.app.Conn.GetQuery().GetHttpService(ctx, req.Msg.Id)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
|
||||
service, err = buildProtoHttpService(res)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
|
||||
case mantraev1.ServiceType_SERVICE_TYPE_TCP:
|
||||
res, err := s.app.Conn.GetQuery().GetTcpService(ctx, req.Msg.Id)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
service, err = buildProtoTcpService(res)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
|
||||
case mantraev1.ServiceType_SERVICE_TYPE_UDP:
|
||||
res, err := s.app.Conn.GetQuery().GetUdpService(ctx, req.Msg.Id)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
service, err = buildProtoUdpService(res)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
|
||||
default:
|
||||
return nil, connect.NewError(connect.CodeInvalidArgument, nil)
|
||||
}
|
||||
|
||||
return connect.NewResponse(&mantraev1.GetServiceResponse{Service: service}), nil
|
||||
}
|
||||
|
||||
func (s *Service) CreateService(
|
||||
ctx context.Context,
|
||||
req *connect.Request[mantraev1.CreateServiceRequest],
|
||||
) (*connect.Response[mantraev1.CreateServiceResponse], error) {
|
||||
var service *mantraev1.Service
|
||||
|
||||
switch req.Msg.Type {
|
||||
case mantraev1.ServiceType_SERVICE_TYPE_HTTP:
|
||||
var params db.CreateHttpServiceParams
|
||||
if err := json.Unmarshal([]byte(req.Msg.Config), ¶ms.Config); err != nil {
|
||||
return nil, connect.NewError(connect.CodeInvalidArgument, err)
|
||||
}
|
||||
params.ProfileID = req.Msg.ProfileId
|
||||
params.Name = req.Msg.Name
|
||||
if req.Msg.AgentId != "" {
|
||||
params.AgentID = &req.Msg.AgentId
|
||||
}
|
||||
|
||||
dbService, err := s.app.Conn.GetQuery().CreateHttpService(ctx, params)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
|
||||
service, err = buildProtoHttpService(dbService)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
|
||||
case mantraev1.ServiceType_SERVICE_TYPE_TCP:
|
||||
var params db.CreateTcpServiceParams
|
||||
if err := json.Unmarshal([]byte(req.Msg.Config), ¶ms.Config); err != nil {
|
||||
return nil, connect.NewError(connect.CodeInvalidArgument, err)
|
||||
}
|
||||
params.ProfileID = req.Msg.ProfileId
|
||||
params.Name = req.Msg.Name
|
||||
if req.Msg.AgentId != "" {
|
||||
params.AgentID = &req.Msg.AgentId
|
||||
}
|
||||
|
||||
dbService, err := s.app.Conn.GetQuery().CreateTcpService(ctx, params)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
|
||||
service, err = buildProtoTcpService(dbService)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
|
||||
case mantraev1.ServiceType_SERVICE_TYPE_UDP:
|
||||
var params db.CreateUdpServiceParams
|
||||
if err := json.Unmarshal([]byte(req.Msg.Config), ¶ms.Config); err != nil {
|
||||
return nil, connect.NewError(connect.CodeInvalidArgument, err)
|
||||
}
|
||||
params.ProfileID = req.Msg.ProfileId
|
||||
params.Name = req.Msg.Name
|
||||
if req.Msg.AgentId != "" {
|
||||
params.AgentID = &req.Msg.AgentId
|
||||
}
|
||||
|
||||
dbService, err := s.app.Conn.GetQuery().CreateUdpService(ctx, params)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
|
||||
service, err = buildProtoUdpService(dbService)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
|
||||
default:
|
||||
return nil, connect.NewError(connect.CodeInvalidArgument, nil)
|
||||
}
|
||||
return connect.NewResponse(&mantraev1.CreateServiceResponse{Service: service}), nil
|
||||
}
|
||||
|
||||
func (s *Service) UpdateService(
|
||||
ctx context.Context,
|
||||
req *connect.Request[mantraev1.UpdateServiceRequest],
|
||||
) (*connect.Response[mantraev1.UpdateServiceResponse], error) {
|
||||
var service *mantraev1.Service
|
||||
|
||||
switch req.Msg.Type {
|
||||
case mantraev1.ServiceType_SERVICE_TYPE_HTTP:
|
||||
var params db.UpdateHttpServiceParams
|
||||
if err := json.Unmarshal([]byte(req.Msg.Config), ¶ms.Config); err != nil {
|
||||
return nil, connect.NewError(connect.CodeInvalidArgument, err)
|
||||
}
|
||||
params.ID = req.Msg.Id
|
||||
params.Name = req.Msg.Name
|
||||
|
||||
dbService, err := s.app.Conn.GetQuery().UpdateHttpService(ctx, params)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
|
||||
service, err = buildProtoHttpService(dbService)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
|
||||
case mantraev1.ServiceType_SERVICE_TYPE_TCP:
|
||||
var params db.UpdateTcpServiceParams
|
||||
if err := json.Unmarshal([]byte(req.Msg.Config), ¶ms.Config); err != nil {
|
||||
return nil, connect.NewError(connect.CodeInvalidArgument, err)
|
||||
}
|
||||
params.ID = req.Msg.Id
|
||||
params.Name = req.Msg.Name
|
||||
|
||||
dbService, err := s.app.Conn.GetQuery().UpdateTcpService(ctx, params)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
|
||||
service, err = buildProtoTcpService(dbService)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
|
||||
case mantraev1.ServiceType_SERVICE_TYPE_UDP:
|
||||
var params db.UpdateUdpServiceParams
|
||||
if err := json.Unmarshal([]byte(req.Msg.Config), ¶ms.Config); err != nil {
|
||||
return nil, connect.NewError(connect.CodeInvalidArgument, err)
|
||||
}
|
||||
params.ID = req.Msg.Id
|
||||
params.Name = req.Msg.Name
|
||||
|
||||
dbService, err := s.app.Conn.GetQuery().UpdateUdpService(ctx, params)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
|
||||
service, err = buildProtoUdpService(dbService)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
|
||||
default:
|
||||
return nil, connect.NewError(connect.CodeInvalidArgument, nil)
|
||||
}
|
||||
return connect.NewResponse(&mantraev1.UpdateServiceResponse{Service: service}), nil
|
||||
}
|
||||
|
||||
func (s *Service) DeleteService(
|
||||
ctx context.Context,
|
||||
req *connect.Request[mantraev1.DeleteServiceRequest],
|
||||
) (*connect.Response[mantraev1.DeleteServiceResponse], error) {
|
||||
err := s.app.Conn.GetQuery().DeleteHttpService(ctx, req.Msg.Id)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
return connect.NewResponse(&mantraev1.DeleteServiceResponse{}), nil
|
||||
}
|
||||
|
||||
func (s *Service) ListServices(
|
||||
ctx context.Context,
|
||||
req *connect.Request[mantraev1.ListServicesRequest],
|
||||
) (*connect.Response[mantraev1.ListServicesResponse], error) {
|
||||
var limit int64
|
||||
var offset int64
|
||||
if req.Msg.Limit == nil {
|
||||
limit = 100
|
||||
} else {
|
||||
limit = *req.Msg.Limit
|
||||
}
|
||||
if req.Msg.Offset == nil {
|
||||
offset = 0
|
||||
} else {
|
||||
offset = *req.Msg.Offset
|
||||
}
|
||||
|
||||
var services []*mantraev1.Service
|
||||
var totalCount int64
|
||||
switch req.Msg.Type {
|
||||
case mantraev1.ServiceType_SERVICE_TYPE_HTTP:
|
||||
params := db.ListHttpServicesParams{Limit: limit, Offset: offset}
|
||||
dbServices, err := s.app.Conn.GetQuery().ListHttpServices(ctx, params)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
totalCount, err = s.app.Conn.GetQuery().CountHttpServices(ctx)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
|
||||
for _, dbService := range dbServices {
|
||||
service, err := buildProtoHttpService(dbService)
|
||||
if err != nil {
|
||||
slog.Error("Failed to build proto service", "error", err)
|
||||
continue
|
||||
}
|
||||
services = append(services, service)
|
||||
}
|
||||
|
||||
case mantraev1.ServiceType_SERVICE_TYPE_TCP:
|
||||
params := db.ListTcpServicesParams{Limit: limit, Offset: offset}
|
||||
dbServices, err := s.app.Conn.GetQuery().ListTcpServices(ctx, params)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
totalCount, err = s.app.Conn.GetQuery().CountTcpServices(ctx)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
for _, dbService := range dbServices {
|
||||
service, err := buildProtoTcpService(dbService)
|
||||
if err != nil {
|
||||
slog.Error("Failed to build proto service", "error", err)
|
||||
continue
|
||||
}
|
||||
services = append(services, service)
|
||||
}
|
||||
|
||||
case mantraev1.ServiceType_SERVICE_TYPE_UDP:
|
||||
params := db.ListUdpServicesParams{Limit: limit, Offset: offset}
|
||||
dbServices, err := s.app.Conn.GetQuery().ListUdpServices(ctx, params)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
totalCount, err = s.app.Conn.GetQuery().CountUdpServices(ctx)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
for _, dbService := range dbServices {
|
||||
service, err := buildProtoUdpService(dbService)
|
||||
if err != nil {
|
||||
slog.Error("Failed to build proto service", "error", err)
|
||||
continue
|
||||
}
|
||||
services = append(services, service)
|
||||
}
|
||||
|
||||
default:
|
||||
return nil, connect.NewError(connect.CodeInvalidArgument, nil)
|
||||
}
|
||||
|
||||
return connect.NewResponse(&mantraev1.ListServicesResponse{
|
||||
Services: services,
|
||||
TotalCount: totalCount,
|
||||
}), nil
|
||||
}
|
||||
|
||||
func buildProtoHttpService(r db.HttpService) (*mantraev1.Service, error) {
|
||||
configBytes, err := json.Marshal(r.Config)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("failed to marshal HTTP config: %w", err)
|
||||
}
|
||||
return &mantraev1.Service{
|
||||
Id: r.ID,
|
||||
ProfileId: r.ProfileID,
|
||||
Name: r.Name,
|
||||
Config: string(configBytes),
|
||||
Type: mantraev1.ServiceType_SERVICE_TYPE_HTTP,
|
||||
CreatedAt: SafeTimestamp(r.CreatedAt),
|
||||
UpdatedAt: SafeTimestamp(r.UpdatedAt),
|
||||
}, nil
|
||||
}
|
||||
|
||||
func buildProtoTcpService(r db.TcpService) (*mantraev1.Service, error) {
|
||||
configBytes, err := json.Marshal(r.Config)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("failed to marshal TCP config: %w", err)
|
||||
}
|
||||
return &mantraev1.Service{
|
||||
Id: r.ID,
|
||||
ProfileId: r.ProfileID,
|
||||
Name: r.Name,
|
||||
Config: string(configBytes),
|
||||
Type: mantraev1.ServiceType_SERVICE_TYPE_TCP,
|
||||
CreatedAt: SafeTimestamp(r.CreatedAt),
|
||||
UpdatedAt: SafeTimestamp(r.UpdatedAt),
|
||||
}, nil
|
||||
}
|
||||
|
||||
func buildProtoUdpService(r db.UdpService) (*mantraev1.Service, error) {
|
||||
configBytes, err := json.Marshal(r.Config)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("failed to marshal UDP config: %w", err)
|
||||
}
|
||||
return &mantraev1.Service{
|
||||
Id: r.ID,
|
||||
ProfileId: r.ProfileID,
|
||||
Name: r.Name,
|
||||
Config: string(configBytes),
|
||||
Type: mantraev1.ServiceType_SERVICE_TYPE_UDP,
|
||||
CreatedAt: SafeTimestamp(r.CreatedAt),
|
||||
UpdatedAt: SafeTimestamp(r.UpdatedAt),
|
||||
}, nil
|
||||
}
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
"connectrpc.com/connect"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/internal/db"
|
||||
"github.com/mizuchilabs/mantrae/internal/store/db"
|
||||
mantraev1 "github.com/mizuchilabs/mantrae/proto/gen/mantrae/v1"
|
||||
)
|
||||
|
||||
|
||||
@@ -8,11 +8,12 @@ import (
|
||||
"connectrpc.com/connect"
|
||||
"golang.org/x/crypto/bcrypt"
|
||||
|
||||
"github.com/google/uuid"
|
||||
"github.com/mizuchilabs/mantrae/internal/api/middlewares"
|
||||
"github.com/mizuchilabs/mantrae/internal/config"
|
||||
"github.com/mizuchilabs/mantrae/internal/db"
|
||||
"github.com/mizuchilabs/mantrae/internal/mail"
|
||||
"github.com/mizuchilabs/mantrae/internal/settings"
|
||||
"github.com/mizuchilabs/mantrae/internal/store/db"
|
||||
"github.com/mizuchilabs/mantrae/internal/util"
|
||||
mantraev1 "github.com/mizuchilabs/mantrae/proto/gen/mantrae/v1"
|
||||
)
|
||||
@@ -51,7 +52,7 @@ func (s *UserService) LoginUser(
|
||||
if req.Msg.Remember {
|
||||
expirationTime = time.Now().Add(30 * 24 * time.Hour)
|
||||
}
|
||||
token, err := util.EncodeUserJWT(user.Username, s.app.Config.Secret, expirationTime)
|
||||
token, err := util.EncodeUserJWT(user.Username, s.app.Secret, expirationTime)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
@@ -109,7 +110,7 @@ func (s *UserService) VerifyOTP(
|
||||
}
|
||||
|
||||
expirationTime := time.Now().Add(1 * time.Hour)
|
||||
token, err := util.EncodeUserJWT(user.Username, s.app.Config.Secret, expirationTime)
|
||||
token, err := util.EncodeUserJWT(user.Username, s.app.Secret, expirationTime)
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
@@ -223,7 +224,13 @@ func (s *UserService) CreateUser(
|
||||
ctx context.Context,
|
||||
req *connect.Request[mantraev1.CreateUserRequest],
|
||||
) (*connect.Response[mantraev1.CreateUserResponse], error) {
|
||||
id, err := uuid.NewV7()
|
||||
if err != nil {
|
||||
return nil, connect.NewError(connect.CodeInternal, err)
|
||||
}
|
||||
|
||||
params := db.CreateUserParams{
|
||||
ID: id.String(),
|
||||
Username: req.Msg.Username,
|
||||
Password: req.Msg.Password,
|
||||
IsAdmin: req.Msg.IsAdmin,
|
||||
|
||||
@@ -1,66 +0,0 @@
|
||||
package app
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"log"
|
||||
"os"
|
||||
"path/filepath"
|
||||
|
||||
"github.com/caarlos0/env/v11"
|
||||
)
|
||||
|
||||
// Config holds all application configuration
|
||||
type Config struct {
|
||||
Server ServerConfig
|
||||
Traefik TraefikConfig
|
||||
Secret string `env:"SECRET" envDefault:""`
|
||||
}
|
||||
|
||||
type ServerConfig struct {
|
||||
Host string `env:"SERVER_HOST" envDefault:"0.0.0.0"`
|
||||
Port string `env:"SERVER_PORT" envDefault:"3000"`
|
||||
ServerURL string `env:"SERVER_URL" envDefault:"http://127.0.0.1"`
|
||||
BasicAuth bool `env:"SERVER_BASIC_AUTH" envDefault:"false"`
|
||||
}
|
||||
|
||||
type TraefikConfig struct {
|
||||
Profile string `env:"TRAEFIK_PROFILE" envDefault:"default"`
|
||||
URL string `env:"TRAEFIK_URL" envDefault:""`
|
||||
Username string `env:"TRAEFIK_USERNAME" envDefault:""`
|
||||
Password string `env:"TRAEFIK_PASSWORD" envDefault:""`
|
||||
TLS bool `env:"TRAEFIK_TLS" envDefault:""`
|
||||
}
|
||||
|
||||
func ReadConfig() (*Config, error) {
|
||||
var config Config
|
||||
if err := env.Parse(&config); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
if config.Secret == "" {
|
||||
return nil, fmt.Errorf("SECRET environment variable not set")
|
||||
}
|
||||
|
||||
return &config, nil
|
||||
}
|
||||
|
||||
func ResolvePath(path string) string {
|
||||
var basePath string
|
||||
if dbPath := os.Getenv("DB_PATH"); dbPath != "" {
|
||||
basePath = dbPath
|
||||
} else {
|
||||
basePath = "data"
|
||||
}
|
||||
|
||||
// If the provided path is absolute, return it as-is
|
||||
if filepath.IsAbs(path) {
|
||||
return path
|
||||
}
|
||||
|
||||
// Create the base directory if it doesn't exist
|
||||
if err := os.MkdirAll(basePath, 0755); err != nil {
|
||||
log.Printf("Warning: failed to create base directory: %v", err)
|
||||
}
|
||||
|
||||
return filepath.Join(basePath, path)
|
||||
}
|
||||
@@ -11,14 +11,14 @@ import (
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/app"
|
||||
"github.com/mizuchilabs/mantrae/internal/db"
|
||||
"github.com/mizuchilabs/mantrae/internal/settings"
|
||||
"github.com/mizuchilabs/mantrae/internal/storage"
|
||||
"github.com/mizuchilabs/mantrae/internal/store"
|
||||
"github.com/mizuchilabs/mantrae/internal/util"
|
||||
)
|
||||
|
||||
type BackupManager struct {
|
||||
Conn *db.Connection
|
||||
Conn *store.Connection
|
||||
Settings *settings.SettingsManager
|
||||
Storage storage.Backend
|
||||
stopChan chan struct{}
|
||||
@@ -26,10 +26,7 @@ type BackupManager struct {
|
||||
mu sync.Mutex
|
||||
}
|
||||
|
||||
func NewManager(
|
||||
conn *db.Connection,
|
||||
settings *settings.SettingsManager,
|
||||
) *BackupManager {
|
||||
func NewManager(conn *store.Connection, settings *settings.SettingsManager) *BackupManager {
|
||||
return &BackupManager{
|
||||
Conn: conn,
|
||||
Settings: settings,
|
||||
@@ -184,7 +181,7 @@ func (m *BackupManager) Restore(ctx context.Context, backupName string) error {
|
||||
return fmt.Errorf("invalid backup file name")
|
||||
}
|
||||
|
||||
dbPath := app.ResolvePath("mantrae.db")
|
||||
dbPath := util.ResolvePath("mantrae.db")
|
||||
walPath := dbPath + "-wal"
|
||||
shmPath := dbPath + "-shm"
|
||||
|
||||
|
||||
@@ -5,21 +5,19 @@ import (
|
||||
"fmt"
|
||||
"log/slog"
|
||||
"os"
|
||||
"strings"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/app"
|
||||
"github.com/caarlos0/env/v11"
|
||||
"github.com/google/uuid"
|
||||
"github.com/mizuchilabs/mantrae/internal/backup"
|
||||
"github.com/mizuchilabs/mantrae/internal/settings"
|
||||
"github.com/mizuchilabs/mantrae/internal/source"
|
||||
"github.com/mizuchilabs/mantrae/internal/store"
|
||||
"github.com/mizuchilabs/mantrae/internal/store/db"
|
||||
"github.com/mizuchilabs/mantrae/internal/util"
|
||||
"github.com/mizuchilabs/mantrae/pkg/logger"
|
||||
"golang.org/x/crypto/bcrypt"
|
||||
)
|
||||
|
||||
type App struct {
|
||||
Config *app.Config
|
||||
Secret string `env:"SECRET"`
|
||||
Conn *store.Connection
|
||||
BM *backup.BackupManager
|
||||
SM *settings.SettingsManager
|
||||
@@ -33,33 +31,21 @@ func Setup(ctx context.Context) (*App, error) {
|
||||
ParseFlags()
|
||||
|
||||
// Read environment variables
|
||||
config, err := app.ReadConfig()
|
||||
app, err := env.ParseAs[App]()
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
conn := store.NewConnection("")
|
||||
app.Conn = store.NewConnection("")
|
||||
app.BM = backup.NewManager(app.Conn, app.SM)
|
||||
app.BM.Start(ctx)
|
||||
|
||||
// Setup settings manager
|
||||
sm := settings.NewSettingsManager(conn)
|
||||
if err := sm.Initialize(ctx); err != nil {
|
||||
app.SM = settings.NewManager(app.Conn)
|
||||
if err := app.SM.Initialize(ctx); err != nil {
|
||||
return nil, fmt.Errorf("failed to initialize settings: %w", err)
|
||||
}
|
||||
|
||||
bm := backup.NewManager(conn, sm)
|
||||
bm.Start(ctx)
|
||||
|
||||
app := App{
|
||||
Config: config,
|
||||
Conn: conn,
|
||||
BM: bm,
|
||||
SM: sm,
|
||||
}
|
||||
|
||||
if err := app.setDefaultAdminUser(ctx); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if err := app.setDefaultProfile(ctx); err != nil {
|
||||
if err := app.setupDefaultData(ctx); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -68,128 +54,64 @@ func Setup(ctx context.Context) (*App, error) {
|
||||
return &app, nil
|
||||
}
|
||||
|
||||
func (a *App) setDefaultAdminUser(ctx context.Context) error {
|
||||
// Generate password if not provided
|
||||
password := os.Getenv("ADMIN_PASSWORD")
|
||||
if password == "" {
|
||||
password = util.GenPassword(32)
|
||||
slog.Info(
|
||||
"Generated new admin password (Please use ADMIN_PASSWORD env var to set it)",
|
||||
"password",
|
||||
password,
|
||||
)
|
||||
}
|
||||
|
||||
hash, err := util.HashPassword(password)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to hash password: %w", err)
|
||||
}
|
||||
|
||||
// Try to get existing admin user
|
||||
func (a *App) setupDefaultData(ctx context.Context) error {
|
||||
q := a.Conn.GetQuery()
|
||||
user, err := q.GetUser(ctx, 1)
|
||||
// If admin doesn't exist, create new admin
|
||||
|
||||
// Ensure at least one admin user exists
|
||||
admins, err := q.ListAdminUsers(ctx, db.ListAdminUsersParams{Limit: 1, Offset: 0})
|
||||
if err != nil {
|
||||
adminMail := "admin@mantrae"
|
||||
return fmt.Errorf("failed to list admin users: %w", err)
|
||||
}
|
||||
|
||||
if len(admins) == 0 {
|
||||
// Generate password if not provided
|
||||
password := os.Getenv("ADMIN_PASSWORD")
|
||||
if password == "" {
|
||||
password = util.GenPassword(32)
|
||||
slog.Info("Generated new admin", "password", password)
|
||||
}
|
||||
|
||||
hash, err := util.HashPassword(password)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to hash password: %w", err)
|
||||
}
|
||||
|
||||
email := os.Getenv("ADMIN_EMAIL")
|
||||
if email == "" {
|
||||
email = "admin@localhost"
|
||||
}
|
||||
|
||||
id, err := uuid.NewV7()
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to generate UUID: %w", err)
|
||||
}
|
||||
|
||||
if _, err = q.CreateUser(ctx, db.CreateUserParams{
|
||||
ID: id.String(),
|
||||
Username: "admin",
|
||||
Email: &adminMail,
|
||||
Password: hash,
|
||||
Email: &email,
|
||||
IsAdmin: true,
|
||||
}); err != nil {
|
||||
return fmt.Errorf("failed to create default admin user: %w", err)
|
||||
return fmt.Errorf("failed to create admin user: %w", err)
|
||||
}
|
||||
slog.Info("Generated default 'admin' user")
|
||||
return nil
|
||||
}
|
||||
|
||||
userPassword, err := q.GetUserPassword(ctx, user.ID)
|
||||
// Ensure default profile exists
|
||||
profiles, err := q.ListProfiles(ctx, db.ListProfilesParams{Limit: 1, Offset: 0})
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to get user password: %w", err)
|
||||
return fmt.Errorf("failed to list profiles: %w", err)
|
||||
}
|
||||
// Skip if password is correct
|
||||
passwordErr := bcrypt.CompareHashAndPassword([]byte(userPassword), []byte(password))
|
||||
if passwordErr == nil {
|
||||
return nil
|
||||
} else {
|
||||
// Update password on change
|
||||
if err = q.UpdateUserPassword(ctx, db.UpdateUserPasswordParams{
|
||||
ID: user.ID,
|
||||
Password: hash,
|
||||
|
||||
if len(profiles) == 0 {
|
||||
description := "Default profile"
|
||||
if _, err := q.CreateProfile(ctx, db.CreateProfileParams{
|
||||
Name: "default",
|
||||
Description: &description,
|
||||
}); err != nil {
|
||||
return fmt.Errorf("failed to update default admin user password: %w", err)
|
||||
return fmt.Errorf("failed to create default profile: %w", err)
|
||||
}
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
func (a *App) setDefaultProfile(ctx context.Context) error {
|
||||
if a.Config.Traefik.URL == "" {
|
||||
return nil
|
||||
}
|
||||
|
||||
if !strings.HasPrefix(a.Config.Traefik.URL, "http://") &&
|
||||
!strings.HasPrefix(a.Config.Traefik.URL, "https://") {
|
||||
a.Config.Traefik.URL = "http://" + a.Config.Traefik.URL
|
||||
}
|
||||
|
||||
q := a.Conn.GetQuery()
|
||||
profile, err := q.GetProfileByName(ctx, a.Config.Traefik.Profile)
|
||||
if err != nil {
|
||||
profile, err := q.CreateProfile(ctx, db.CreateProfileParams{
|
||||
Name: a.Config.Traefik.Profile,
|
||||
})
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to create default profile: %w", err)
|
||||
}
|
||||
|
||||
// Create default local config
|
||||
if err := q.UpsertTraefikConfig(ctx, db.UpsertTraefikConfigParams{
|
||||
ProfileID: profile.ID,
|
||||
Source: source.Local,
|
||||
}); err != nil {
|
||||
return fmt.Errorf("failed to create default profile: %w", err)
|
||||
}
|
||||
|
||||
slog.Info(
|
||||
"Created default profile",
|
||||
"url",
|
||||
a.Config.Traefik.URL,
|
||||
"username",
|
||||
a.Config.Traefik.Username,
|
||||
"password",
|
||||
a.Config.Traefik.Password,
|
||||
)
|
||||
return nil
|
||||
}
|
||||
|
||||
// Skip if profile is correct
|
||||
if profile.Url == a.Config.Traefik.URL &&
|
||||
util.SafeDeref(profile.Username) == a.Config.Traefik.Username &&
|
||||
util.SafeDeref(profile.Password) == a.Config.Traefik.Password &&
|
||||
profile.Tls == a.Config.Traefik.TLS {
|
||||
return nil
|
||||
}
|
||||
|
||||
if err := q.UpdateProfile(ctx, db.UpdateProfileParams{
|
||||
ID: profile.ID,
|
||||
Name: a.Config.Traefik.Profile,
|
||||
Url: a.Config.Traefik.URL,
|
||||
Username: &a.Config.Traefik.Username,
|
||||
Password: &a.Config.Traefik.Password,
|
||||
Tls: a.Config.Traefik.TLS,
|
||||
}); err != nil {
|
||||
return fmt.Errorf("failed to update default profile: %w", err)
|
||||
}
|
||||
slog.Info(
|
||||
"Updated default profile",
|
||||
"url",
|
||||
a.Config.Traefik.URL,
|
||||
"username",
|
||||
a.Config.Traefik.Username,
|
||||
"password",
|
||||
a.Config.Traefik.Password,
|
||||
)
|
||||
return nil
|
||||
}
|
||||
|
||||
@@ -29,13 +29,23 @@ func (a *App) syncTraefik(ctx context.Context) {
|
||||
ticker := time.NewTicker(duration.Duration(time.Hour))
|
||||
defer ticker.Stop()
|
||||
|
||||
traefik.GetTraefikConfig(a.Conn.Get())
|
||||
for {
|
||||
select {
|
||||
case <-ctx.Done():
|
||||
return
|
||||
case <-ticker.C:
|
||||
traefik.GetTraefikConfig(a.Conn.Get())
|
||||
instances, err := a.Conn.GetQuery().ListTraefikInstances(ctx)
|
||||
if err != nil {
|
||||
slog.Error("failed to list traefik instances", "error", err)
|
||||
continue
|
||||
}
|
||||
|
||||
for _, instance := range instances {
|
||||
if err := traefik.UpdateTraefikAPI(a.Conn.Get(), instance.ID); err != nil {
|
||||
slog.Error("failed to update traefik api", "error", err)
|
||||
continue
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
"fmt"
|
||||
"log/slog"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/db"
|
||||
"github.com/mizuchilabs/mantrae/internal/store/db"
|
||||
"github.com/mizuchilabs/mantrae/internal/util"
|
||||
)
|
||||
|
||||
@@ -34,7 +34,7 @@ func getProvider(id int64, q *db.Queries) (DNSProvider, error) {
|
||||
return nil, fmt.Errorf("invalid provider id")
|
||||
}
|
||||
|
||||
provider, err := q.GetDNSProvider(context.Background(), id)
|
||||
provider, err := q.GetDnsProvider(context.Background(), id)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -8,7 +8,8 @@ import (
|
||||
"strconv"
|
||||
"time"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/db"
|
||||
"github.com/mizuchilabs/mantrae/internal/store"
|
||||
"github.com/mizuchilabs/mantrae/internal/store/db"
|
||||
)
|
||||
|
||||
type SettingWithDescription struct {
|
||||
@@ -51,11 +52,11 @@ type Settings struct {
|
||||
}
|
||||
|
||||
type SettingsManager struct {
|
||||
conn *db.Connection
|
||||
conn *store.Connection
|
||||
defaults *Settings
|
||||
}
|
||||
|
||||
func NewSettingsManager(conn *db.Connection) *SettingsManager {
|
||||
func NewManager(conn *store.Connection) *SettingsManager {
|
||||
return &SettingsManager{
|
||||
conn: conn,
|
||||
defaults: getDefaults(),
|
||||
|
||||
@@ -6,7 +6,7 @@ import (
|
||||
"strconv"
|
||||
"strings"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/db"
|
||||
"github.com/mizuchilabs/mantrae/internal/store/db"
|
||||
)
|
||||
|
||||
func (sm *SettingsManager) validateSetting(
|
||||
|
||||
@@ -8,7 +8,7 @@ import (
|
||||
"path/filepath"
|
||||
"sort"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/app"
|
||||
"github.com/mizuchilabs/mantrae/internal/util"
|
||||
)
|
||||
|
||||
// LocalStorage implements StorageBackend for local filesystem
|
||||
@@ -17,7 +17,7 @@ type LocalStorage struct {
|
||||
}
|
||||
|
||||
func NewLocalStorage(path string) (*LocalStorage, error) {
|
||||
resolvedPath := app.ResolvePath(path)
|
||||
resolvedPath := util.ResolvePath(path)
|
||||
if err := os.MkdirAll(resolvedPath, 0755); err != nil {
|
||||
return nil, fmt.Errorf("failed to create storage directory: %w", err)
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
-- +goose Up
|
||||
CREATE TABLE "profiles" (
|
||||
CREATE TABLE profiles (
|
||||
id INTEGER PRIMARY KEY,
|
||||
name TEXT NOT NULL UNIQUE,
|
||||
description TEXT,
|
||||
@@ -7,7 +7,7 @@ CREATE TABLE "profiles" (
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
|
||||
);
|
||||
|
||||
CREATE TABLE "entry_points" (
|
||||
CREATE TABLE entry_points (
|
||||
id INTEGER PRIMARY KEY,
|
||||
profile_id INTEGER NOT NULL,
|
||||
name TEXT NOT NULL,
|
||||
@@ -21,13 +21,14 @@ CREATE TABLE "entry_points" (
|
||||
CREATE TABLE http_routers (
|
||||
id INTEGER PRIMARY KEY,
|
||||
profile_id INTEGER NOT NULL,
|
||||
agent_id TEXT,
|
||||
name TEXT NOT NULL,
|
||||
config TEXT NOT NULL,
|
||||
source TEXT DEFAULT 'user' CHECK (source IN ('user', 'agent')),
|
||||
enabled BOOLEAN NOT NULL DEFAULT TRUE,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
FOREIGN KEY (profile_id) REFERENCES profiles (id) ON DELETE CASCADE,
|
||||
FOREIGN KEY (agent_id) REFERENCES agents (id) ON DELETE CASCADE,
|
||||
UNIQUE (profile_id, name)
|
||||
);
|
||||
|
||||
@@ -36,13 +37,14 @@ CREATE INDEX idx_http_routers_profile_name ON http_routers (profile_id, name);
|
||||
CREATE TABLE tcp_routers (
|
||||
id INTEGER PRIMARY KEY,
|
||||
profile_id INTEGER NOT NULL,
|
||||
agent_id TEXT,
|
||||
name TEXT NOT NULL,
|
||||
config TEXT NOT NULL,
|
||||
source TEXT DEFAULT 'user' CHECK (source IN ('user', 'agent')),
|
||||
enabled BOOLEAN NOT NULL DEFAULT TRUE,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
FOREIGN KEY (profile_id) REFERENCES profiles (id) ON DELETE CASCADE,
|
||||
FOREIGN KEY (agent_id) REFERENCES agents (id) ON DELETE CASCADE,
|
||||
UNIQUE (profile_id, name)
|
||||
);
|
||||
|
||||
@@ -51,13 +53,14 @@ CREATE INDEX idx_tcp_middlewares_profile_name ON tcp_middlewares (profile_id, na
|
||||
CREATE TABLE udp_routers (
|
||||
id INTEGER PRIMARY KEY,
|
||||
profile_id INTEGER NOT NULL,
|
||||
agent_id TEXT,
|
||||
name TEXT NOT NULL,
|
||||
config TEXT NOT NULL,
|
||||
source TEXT DEFAULT 'user' CHECK (source IN ('user', 'agent')),
|
||||
enabled BOOLEAN NOT NULL DEFAULT TRUE,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
FOREIGN KEY (profile_id) REFERENCES profiles (id) ON DELETE CASCADE,
|
||||
FOREIGN KEY (agent_id) REFERENCES agents (id) ON DELETE CASCADE,
|
||||
UNIQUE (profile_id, name)
|
||||
);
|
||||
|
||||
@@ -66,12 +69,13 @@ CREATE INDEX idx_udp_routers_profile_name ON udp_routers (profile_id, name);
|
||||
CREATE TABLE http_services (
|
||||
id INTEGER PRIMARY KEY,
|
||||
profile_id INTEGER NOT NULL,
|
||||
agent_id TEXT,
|
||||
name TEXT NOT NULL,
|
||||
config TEXT NOT NULL,
|
||||
source TEXT DEFAULT 'user' CHECK (source IN ('user', 'agent')),
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
FOREIGN KEY (profile_id) REFERENCES profiles (id) ON DELETE CASCADE,
|
||||
FOREIGN KEY (agent_id) REFERENCES agents (id) ON DELETE CASCADE,
|
||||
UNIQUE (profile_id, name)
|
||||
);
|
||||
|
||||
@@ -80,12 +84,13 @@ CREATE INDEX idx_http_services_profile_name ON http_services (profile_id, name);
|
||||
CREATE TABLE tcp_services (
|
||||
id INTEGER PRIMARY KEY,
|
||||
profile_id INTEGER NOT NULL,
|
||||
agent_id TEXT,
|
||||
name TEXT NOT NULL,
|
||||
config TEXT NOT NULL,
|
||||
source TEXT DEFAULT 'user' CHECK (source IN ('user', 'agent')),
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
FOREIGN KEY (profile_id) REFERENCES profiles (id) ON DELETE CASCADE,
|
||||
FOREIGN KEY (agent_id) REFERENCES agents (id) ON DELETE CASCADE,
|
||||
UNIQUE (profile_id, name)
|
||||
);
|
||||
|
||||
@@ -94,12 +99,13 @@ CREATE INDEX idx_tcp_services_profile_name ON tcp_services (profile_id, name);
|
||||
CREATE TABLE udp_services (
|
||||
id INTEGER PRIMARY KEY,
|
||||
profile_id INTEGER NOT NULL,
|
||||
agent_id TEXT,
|
||||
name TEXT NOT NULL,
|
||||
config TEXT NOT NULL,
|
||||
source TEXT DEFAULT 'user' CHECK (source IN ('user', 'agent')),
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
FOREIGN KEY (profile_id) REFERENCES profiles (id) ON DELETE CASCADE,
|
||||
FOREIGN KEY (agent_id) REFERENCES agents (id) ON DELETE CASCADE,
|
||||
UNIQUE (profile_id, name)
|
||||
);
|
||||
|
||||
@@ -108,13 +114,14 @@ CREATE INDEX idx_udp_services_profile_name ON udp_services (profile_id, name);
|
||||
CREATE TABLE http_middlewares (
|
||||
id INTEGER PRIMARY KEY,
|
||||
profile_id INTEGER NOT NULL,
|
||||
agent_id TEXT,
|
||||
name TEXT NOT NULL,
|
||||
config TEXT NOT NULL,
|
||||
source TEXT DEFAULT 'user' CHECK (source IN ('user', 'agent')),
|
||||
enabled BOOLEAN NOT NULL DEFAULT TRUE,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
FOREIGN KEY (profile_id) REFERENCES profiles (id) ON DELETE CASCADE,
|
||||
FOREIGN KEY (agent_id) REFERENCES agents (id) ON DELETE CASCADE,
|
||||
UNIQUE (profile_id, name)
|
||||
);
|
||||
|
||||
@@ -123,13 +130,14 @@ CREATE INDEX idx_http_middlewares_profile_name ON http_middlewares (profile_id,
|
||||
CREATE TABLE tcp_middlewares (
|
||||
id INTEGER PRIMARY KEY,
|
||||
profile_id INTEGER NOT NULL,
|
||||
agent_id TEXT,
|
||||
name TEXT NOT NULL,
|
||||
config TEXT NOT NULL,
|
||||
source TEXT DEFAULT 'user' CHECK (source IN ('user', 'agent')),
|
||||
enabled BOOLEAN NOT NULL DEFAULT TRUE,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
FOREIGN KEY (profile_id) REFERENCES profiles (id) ON DELETE CASCADE,
|
||||
FOREIGN KEY (agent_id) REFERENCES agents (id) ON DELETE CASCADE,
|
||||
UNIQUE (profile_id, name)
|
||||
);
|
||||
|
||||
@@ -142,6 +150,10 @@ CREATE TABLE traefik_instances (
|
||||
overview TEXT,
|
||||
config TEXT,
|
||||
version TEXT,
|
||||
url TEXT NOT NULL,
|
||||
username TEXT,
|
||||
password TEXT,
|
||||
tls BOOLEAN NOT NULL DEFAULT FALSE,
|
||||
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
|
||||
FOREIGN KEY (profile_id) REFERENCES profiles (id) ON DELETE CASCADE
|
||||
|
||||
@@ -10,8 +10,8 @@ import (
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/app"
|
||||
"github.com/mizuchilabs/mantrae/internal/store/db"
|
||||
"github.com/mizuchilabs/mantrae/internal/util"
|
||||
"github.com/pressly/goose/v3"
|
||||
_ "modernc.org/sqlite"
|
||||
)
|
||||
@@ -30,7 +30,7 @@ type Connection struct {
|
||||
func NewConnection(path string) *Connection {
|
||||
var dataSource string
|
||||
if path == "" {
|
||||
dataSource = fmt.Sprintf("file:%s", filepath.ToSlash(app.ResolvePath("mantrae.db")))
|
||||
dataSource = fmt.Sprintf("file:%s", filepath.ToSlash(util.ResolvePath("mantrae.db")))
|
||||
} else {
|
||||
dataSource = path
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.29.0
|
||||
// sqlc v1.28.0
|
||||
// source: agents.sql
|
||||
|
||||
package db
|
||||
@@ -11,11 +11,25 @@ import (
|
||||
"github.com/mizuchilabs/mantrae/internal/store/schema"
|
||||
)
|
||||
|
||||
const createAgent = `-- name: CreateAgent :exec
|
||||
const countAgents = `-- name: CountAgents :one
|
||||
SELECT
|
||||
COUNT(*)
|
||||
FROM
|
||||
agents
|
||||
`
|
||||
|
||||
func (q *Queries) CountAgents(ctx context.Context) (int64, error) {
|
||||
row := q.queryRow(ctx, q.countAgentsStmt, countAgents)
|
||||
var count int64
|
||||
err := row.Scan(&count)
|
||||
return count, err
|
||||
}
|
||||
|
||||
const createAgent = `-- name: CreateAgent :one
|
||||
INSERT INTO
|
||||
agents (id, profile_id, token, created_at)
|
||||
VALUES
|
||||
(?, ?, ?, CURRENT_TIMESTAMP)
|
||||
(?, ?, ?, CURRENT_TIMESTAMP) RETURNING id, profile_id, hostname, public_ip, private_ips, containers, active_ip, token, created_at, updated_at
|
||||
`
|
||||
|
||||
type CreateAgentParams struct {
|
||||
@@ -24,9 +38,22 @@ type CreateAgentParams struct {
|
||||
Token string `json:"token"`
|
||||
}
|
||||
|
||||
func (q *Queries) CreateAgent(ctx context.Context, arg CreateAgentParams) error {
|
||||
_, err := q.exec(ctx, q.createAgentStmt, createAgent, arg.ID, arg.ProfileID, arg.Token)
|
||||
return err
|
||||
func (q *Queries) CreateAgent(ctx context.Context, arg CreateAgentParams) (Agent, error) {
|
||||
row := q.queryRow(ctx, q.createAgentStmt, createAgent, arg.ID, arg.ProfileID, arg.Token)
|
||||
var i Agent
|
||||
err := row.Scan(
|
||||
&i.ID,
|
||||
&i.ProfileID,
|
||||
&i.Hostname,
|
||||
&i.PublicIp,
|
||||
&i.PrivateIps,
|
||||
&i.Containers,
|
||||
&i.ActiveIp,
|
||||
&i.Token,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
)
|
||||
return i, err
|
||||
}
|
||||
|
||||
const deleteAgent = `-- name: DeleteAgent :exec
|
||||
@@ -68,59 +95,28 @@ func (q *Queries) GetAgent(ctx context.Context, id string) (Agent, error) {
|
||||
}
|
||||
|
||||
const listAgents = `-- name: ListAgents :many
|
||||
SELECT
|
||||
id, profile_id, hostname, public_ip, private_ips, containers, active_ip, token, created_at, updated_at
|
||||
FROM
|
||||
agents
|
||||
ORDER BY
|
||||
hostname
|
||||
`
|
||||
|
||||
func (q *Queries) ListAgents(ctx context.Context) ([]Agent, error) {
|
||||
rows, err := q.query(ctx, q.listAgentsStmt, listAgents)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer rows.Close()
|
||||
var items []Agent
|
||||
for rows.Next() {
|
||||
var i Agent
|
||||
if err := rows.Scan(
|
||||
&i.ID,
|
||||
&i.ProfileID,
|
||||
&i.Hostname,
|
||||
&i.PublicIp,
|
||||
&i.PrivateIps,
|
||||
&i.Containers,
|
||||
&i.ActiveIp,
|
||||
&i.Token,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
items = append(items, i)
|
||||
}
|
||||
if err := rows.Close(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if err := rows.Err(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return items, nil
|
||||
}
|
||||
|
||||
const listAgentsByProfile = `-- name: ListAgentsByProfile :many
|
||||
SELECT
|
||||
id, profile_id, hostname, public_ip, private_ips, containers, active_ip, token, created_at, updated_at
|
||||
FROM
|
||||
agents
|
||||
WHERE
|
||||
profile_id = ?
|
||||
ORDER BY
|
||||
created_at DESC
|
||||
LIMIT
|
||||
?
|
||||
OFFSET
|
||||
?
|
||||
`
|
||||
|
||||
func (q *Queries) ListAgentsByProfile(ctx context.Context, profileID int64) ([]Agent, error) {
|
||||
rows, err := q.query(ctx, q.listAgentsByProfileStmt, listAgentsByProfile, profileID)
|
||||
type ListAgentsParams struct {
|
||||
ProfileID int64 `json:"profileId"`
|
||||
Limit int64 `json:"limit"`
|
||||
Offset int64 `json:"offset"`
|
||||
}
|
||||
|
||||
func (q *Queries) ListAgents(ctx context.Context, arg ListAgentsParams) ([]Agent, error) {
|
||||
rows, err := q.query(ctx, q.listAgentsStmt, listAgents, arg.ProfileID, arg.Limit, arg.Offset)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.29.0
|
||||
// sqlc v1.28.0
|
||||
|
||||
package db
|
||||
|
||||
@@ -24,6 +24,9 @@ func New(db DBTX) *Queries {
|
||||
func Prepare(ctx context.Context, db DBTX) (*Queries, error) {
|
||||
q := Queries{db: db}
|
||||
var err error
|
||||
if q.countAgentsStmt, err = db.PrepareContext(ctx, countAgents); err != nil {
|
||||
return nil, fmt.Errorf("error preparing query CountAgents: %w", err)
|
||||
}
|
||||
if q.countDnsProvidersStmt, err = db.PrepareContext(ctx, countDnsProviders); err != nil {
|
||||
return nil, fmt.Errorf("error preparing query CountDnsProviders: %w", err)
|
||||
}
|
||||
@@ -195,23 +198,23 @@ func Prepare(ctx context.Context, db DBTX) (*Queries, error) {
|
||||
if q.getHttpMiddlewareStmt, err = db.PrepareContext(ctx, getHttpMiddleware); err != nil {
|
||||
return nil, fmt.Errorf("error preparing query GetHttpMiddleware: %w", err)
|
||||
}
|
||||
if q.getHttpMiddlewareByProfileStmt, err = db.PrepareContext(ctx, getHttpMiddlewareByProfile); err != nil {
|
||||
return nil, fmt.Errorf("error preparing query GetHttpMiddlewareByProfile: %w", err)
|
||||
if q.getHttpMiddlewaresByProfileStmt, err = db.PrepareContext(ctx, getHttpMiddlewaresByProfile); err != nil {
|
||||
return nil, fmt.Errorf("error preparing query GetHttpMiddlewaresByProfile: %w", err)
|
||||
}
|
||||
if q.getHttpRouterStmt, err = db.PrepareContext(ctx, getHttpRouter); err != nil {
|
||||
return nil, fmt.Errorf("error preparing query GetHttpRouter: %w", err)
|
||||
}
|
||||
if q.getHttpRouterByProfileStmt, err = db.PrepareContext(ctx, getHttpRouterByProfile); err != nil {
|
||||
return nil, fmt.Errorf("error preparing query GetHttpRouterByProfile: %w", err)
|
||||
}
|
||||
if q.getHttpRouterDNSProviderStmt, err = db.PrepareContext(ctx, getHttpRouterDNSProvider); err != nil {
|
||||
return nil, fmt.Errorf("error preparing query GetHttpRouterDNSProvider: %w", err)
|
||||
}
|
||||
if q.getHttpRoutersByProfileStmt, err = db.PrepareContext(ctx, getHttpRoutersByProfile); err != nil {
|
||||
return nil, fmt.Errorf("error preparing query GetHttpRoutersByProfile: %w", err)
|
||||
}
|
||||
if q.getHttpServiceStmt, err = db.PrepareContext(ctx, getHttpService); err != nil {
|
||||
return nil, fmt.Errorf("error preparing query GetHttpService: %w", err)
|
||||
}
|
||||
if q.getHttpServiceByProfileStmt, err = db.PrepareContext(ctx, getHttpServiceByProfile); err != nil {
|
||||
return nil, fmt.Errorf("error preparing query GetHttpServiceByProfile: %w", err)
|
||||
if q.getHttpServicesByProfileStmt, err = db.PrepareContext(ctx, getHttpServicesByProfile); err != nil {
|
||||
return nil, fmt.Errorf("error preparing query GetHttpServicesByProfile: %w", err)
|
||||
}
|
||||
if q.getProfileStmt, err = db.PrepareContext(ctx, getProfile); err != nil {
|
||||
return nil, fmt.Errorf("error preparing query GetProfile: %w", err)
|
||||
@@ -225,23 +228,23 @@ func Prepare(ctx context.Context, db DBTX) (*Queries, error) {
|
||||
if q.getTcpMiddlewareStmt, err = db.PrepareContext(ctx, getTcpMiddleware); err != nil {
|
||||
return nil, fmt.Errorf("error preparing query GetTcpMiddleware: %w", err)
|
||||
}
|
||||
if q.getTcpMiddlewareByProfileStmt, err = db.PrepareContext(ctx, getTcpMiddlewareByProfile); err != nil {
|
||||
return nil, fmt.Errorf("error preparing query GetTcpMiddlewareByProfile: %w", err)
|
||||
if q.getTcpMiddlewaresByProfileStmt, err = db.PrepareContext(ctx, getTcpMiddlewaresByProfile); err != nil {
|
||||
return nil, fmt.Errorf("error preparing query GetTcpMiddlewaresByProfile: %w", err)
|
||||
}
|
||||
if q.getTcpRouterStmt, err = db.PrepareContext(ctx, getTcpRouter); err != nil {
|
||||
return nil, fmt.Errorf("error preparing query GetTcpRouter: %w", err)
|
||||
}
|
||||
if q.getTcpRouterByProfileStmt, err = db.PrepareContext(ctx, getTcpRouterByProfile); err != nil {
|
||||
return nil, fmt.Errorf("error preparing query GetTcpRouterByProfile: %w", err)
|
||||
}
|
||||
if q.getTcpRouterDNSProviderStmt, err = db.PrepareContext(ctx, getTcpRouterDNSProvider); err != nil {
|
||||
return nil, fmt.Errorf("error preparing query GetTcpRouterDNSProvider: %w", err)
|
||||
}
|
||||
if q.getTcpRoutersByProfileStmt, err = db.PrepareContext(ctx, getTcpRoutersByProfile); err != nil {
|
||||
return nil, fmt.Errorf("error preparing query GetTcpRoutersByProfile: %w", err)
|
||||
}
|
||||
if q.getTcpServiceStmt, err = db.PrepareContext(ctx, getTcpService); err != nil {
|
||||
return nil, fmt.Errorf("error preparing query GetTcpService: %w", err)
|
||||
}
|
||||
if q.getTcpServiceByProfileStmt, err = db.PrepareContext(ctx, getTcpServiceByProfile); err != nil {
|
||||
return nil, fmt.Errorf("error preparing query GetTcpServiceByProfile: %w", err)
|
||||
if q.getTcpServicesByProfileStmt, err = db.PrepareContext(ctx, getTcpServicesByProfile); err != nil {
|
||||
return nil, fmt.Errorf("error preparing query GetTcpServicesByProfile: %w", err)
|
||||
}
|
||||
if q.getTraefikInstanceStmt, err = db.PrepareContext(ctx, getTraefikInstance); err != nil {
|
||||
return nil, fmt.Errorf("error preparing query GetTraefikInstance: %w", err)
|
||||
@@ -252,17 +255,17 @@ func Prepare(ctx context.Context, db DBTX) (*Queries, error) {
|
||||
if q.getUdpRouterStmt, err = db.PrepareContext(ctx, getUdpRouter); err != nil {
|
||||
return nil, fmt.Errorf("error preparing query GetUdpRouter: %w", err)
|
||||
}
|
||||
if q.getUdpRouterByProfileStmt, err = db.PrepareContext(ctx, getUdpRouterByProfile); err != nil {
|
||||
return nil, fmt.Errorf("error preparing query GetUdpRouterByProfile: %w", err)
|
||||
}
|
||||
if q.getUdpRouterDNSProviderStmt, err = db.PrepareContext(ctx, getUdpRouterDNSProvider); err != nil {
|
||||
return nil, fmt.Errorf("error preparing query GetUdpRouterDNSProvider: %w", err)
|
||||
}
|
||||
if q.getUdpRoutersByProfileStmt, err = db.PrepareContext(ctx, getUdpRoutersByProfile); err != nil {
|
||||
return nil, fmt.Errorf("error preparing query GetUdpRoutersByProfile: %w", err)
|
||||
}
|
||||
if q.getUdpServiceStmt, err = db.PrepareContext(ctx, getUdpService); err != nil {
|
||||
return nil, fmt.Errorf("error preparing query GetUdpService: %w", err)
|
||||
}
|
||||
if q.getUdpServiceByProfileStmt, err = db.PrepareContext(ctx, getUdpServiceByProfile); err != nil {
|
||||
return nil, fmt.Errorf("error preparing query GetUdpServiceByProfile: %w", err)
|
||||
if q.getUdpServicesByProfileStmt, err = db.PrepareContext(ctx, getUdpServicesByProfile); err != nil {
|
||||
return nil, fmt.Errorf("error preparing query GetUdpServicesByProfile: %w", err)
|
||||
}
|
||||
if q.getUserByEmailStmt, err = db.PrepareContext(ctx, getUserByEmail); err != nil {
|
||||
return nil, fmt.Errorf("error preparing query GetUserByEmail: %w", err)
|
||||
@@ -273,12 +276,12 @@ func Prepare(ctx context.Context, db DBTX) (*Queries, error) {
|
||||
if q.getUserByUsernameStmt, err = db.PrepareContext(ctx, getUserByUsername); err != nil {
|
||||
return nil, fmt.Errorf("error preparing query GetUserByUsername: %w", err)
|
||||
}
|
||||
if q.listAdminUsersStmt, err = db.PrepareContext(ctx, listAdminUsers); err != nil {
|
||||
return nil, fmt.Errorf("error preparing query ListAdminUsers: %w", err)
|
||||
}
|
||||
if q.listAgentsStmt, err = db.PrepareContext(ctx, listAgents); err != nil {
|
||||
return nil, fmt.Errorf("error preparing query ListAgents: %w", err)
|
||||
}
|
||||
if q.listAgentsByProfileStmt, err = db.PrepareContext(ctx, listAgentsByProfile); err != nil {
|
||||
return nil, fmt.Errorf("error preparing query ListAgentsByProfile: %w", err)
|
||||
}
|
||||
if q.listDnsProvidersStmt, err = db.PrepareContext(ctx, listDnsProviders); err != nil {
|
||||
return nil, fmt.Errorf("error preparing query ListDnsProviders: %w", err)
|
||||
}
|
||||
@@ -404,6 +407,11 @@ func Prepare(ctx context.Context, db DBTX) (*Queries, error) {
|
||||
|
||||
func (q *Queries) Close() error {
|
||||
var err error
|
||||
if q.countAgentsStmt != nil {
|
||||
if cerr := q.countAgentsStmt.Close(); cerr != nil {
|
||||
err = fmt.Errorf("error closing countAgentsStmt: %w", cerr)
|
||||
}
|
||||
}
|
||||
if q.countDnsProvidersStmt != nil {
|
||||
if cerr := q.countDnsProvidersStmt.Close(); cerr != nil {
|
||||
err = fmt.Errorf("error closing countDnsProvidersStmt: %w", cerr)
|
||||
@@ -689,9 +697,9 @@ func (q *Queries) Close() error {
|
||||
err = fmt.Errorf("error closing getHttpMiddlewareStmt: %w", cerr)
|
||||
}
|
||||
}
|
||||
if q.getHttpMiddlewareByProfileStmt != nil {
|
||||
if cerr := q.getHttpMiddlewareByProfileStmt.Close(); cerr != nil {
|
||||
err = fmt.Errorf("error closing getHttpMiddlewareByProfileStmt: %w", cerr)
|
||||
if q.getHttpMiddlewaresByProfileStmt != nil {
|
||||
if cerr := q.getHttpMiddlewaresByProfileStmt.Close(); cerr != nil {
|
||||
err = fmt.Errorf("error closing getHttpMiddlewaresByProfileStmt: %w", cerr)
|
||||
}
|
||||
}
|
||||
if q.getHttpRouterStmt != nil {
|
||||
@@ -699,24 +707,24 @@ func (q *Queries) Close() error {
|
||||
err = fmt.Errorf("error closing getHttpRouterStmt: %w", cerr)
|
||||
}
|
||||
}
|
||||
if q.getHttpRouterByProfileStmt != nil {
|
||||
if cerr := q.getHttpRouterByProfileStmt.Close(); cerr != nil {
|
||||
err = fmt.Errorf("error closing getHttpRouterByProfileStmt: %w", cerr)
|
||||
}
|
||||
}
|
||||
if q.getHttpRouterDNSProviderStmt != nil {
|
||||
if cerr := q.getHttpRouterDNSProviderStmt.Close(); cerr != nil {
|
||||
err = fmt.Errorf("error closing getHttpRouterDNSProviderStmt: %w", cerr)
|
||||
}
|
||||
}
|
||||
if q.getHttpRoutersByProfileStmt != nil {
|
||||
if cerr := q.getHttpRoutersByProfileStmt.Close(); cerr != nil {
|
||||
err = fmt.Errorf("error closing getHttpRoutersByProfileStmt: %w", cerr)
|
||||
}
|
||||
}
|
||||
if q.getHttpServiceStmt != nil {
|
||||
if cerr := q.getHttpServiceStmt.Close(); cerr != nil {
|
||||
err = fmt.Errorf("error closing getHttpServiceStmt: %w", cerr)
|
||||
}
|
||||
}
|
||||
if q.getHttpServiceByProfileStmt != nil {
|
||||
if cerr := q.getHttpServiceByProfileStmt.Close(); cerr != nil {
|
||||
err = fmt.Errorf("error closing getHttpServiceByProfileStmt: %w", cerr)
|
||||
if q.getHttpServicesByProfileStmt != nil {
|
||||
if cerr := q.getHttpServicesByProfileStmt.Close(); cerr != nil {
|
||||
err = fmt.Errorf("error closing getHttpServicesByProfileStmt: %w", cerr)
|
||||
}
|
||||
}
|
||||
if q.getProfileStmt != nil {
|
||||
@@ -739,9 +747,9 @@ func (q *Queries) Close() error {
|
||||
err = fmt.Errorf("error closing getTcpMiddlewareStmt: %w", cerr)
|
||||
}
|
||||
}
|
||||
if q.getTcpMiddlewareByProfileStmt != nil {
|
||||
if cerr := q.getTcpMiddlewareByProfileStmt.Close(); cerr != nil {
|
||||
err = fmt.Errorf("error closing getTcpMiddlewareByProfileStmt: %w", cerr)
|
||||
if q.getTcpMiddlewaresByProfileStmt != nil {
|
||||
if cerr := q.getTcpMiddlewaresByProfileStmt.Close(); cerr != nil {
|
||||
err = fmt.Errorf("error closing getTcpMiddlewaresByProfileStmt: %w", cerr)
|
||||
}
|
||||
}
|
||||
if q.getTcpRouterStmt != nil {
|
||||
@@ -749,24 +757,24 @@ func (q *Queries) Close() error {
|
||||
err = fmt.Errorf("error closing getTcpRouterStmt: %w", cerr)
|
||||
}
|
||||
}
|
||||
if q.getTcpRouterByProfileStmt != nil {
|
||||
if cerr := q.getTcpRouterByProfileStmt.Close(); cerr != nil {
|
||||
err = fmt.Errorf("error closing getTcpRouterByProfileStmt: %w", cerr)
|
||||
}
|
||||
}
|
||||
if q.getTcpRouterDNSProviderStmt != nil {
|
||||
if cerr := q.getTcpRouterDNSProviderStmt.Close(); cerr != nil {
|
||||
err = fmt.Errorf("error closing getTcpRouterDNSProviderStmt: %w", cerr)
|
||||
}
|
||||
}
|
||||
if q.getTcpRoutersByProfileStmt != nil {
|
||||
if cerr := q.getTcpRoutersByProfileStmt.Close(); cerr != nil {
|
||||
err = fmt.Errorf("error closing getTcpRoutersByProfileStmt: %w", cerr)
|
||||
}
|
||||
}
|
||||
if q.getTcpServiceStmt != nil {
|
||||
if cerr := q.getTcpServiceStmt.Close(); cerr != nil {
|
||||
err = fmt.Errorf("error closing getTcpServiceStmt: %w", cerr)
|
||||
}
|
||||
}
|
||||
if q.getTcpServiceByProfileStmt != nil {
|
||||
if cerr := q.getTcpServiceByProfileStmt.Close(); cerr != nil {
|
||||
err = fmt.Errorf("error closing getTcpServiceByProfileStmt: %w", cerr)
|
||||
if q.getTcpServicesByProfileStmt != nil {
|
||||
if cerr := q.getTcpServicesByProfileStmt.Close(); cerr != nil {
|
||||
err = fmt.Errorf("error closing getTcpServicesByProfileStmt: %w", cerr)
|
||||
}
|
||||
}
|
||||
if q.getTraefikInstanceStmt != nil {
|
||||
@@ -784,24 +792,24 @@ func (q *Queries) Close() error {
|
||||
err = fmt.Errorf("error closing getUdpRouterStmt: %w", cerr)
|
||||
}
|
||||
}
|
||||
if q.getUdpRouterByProfileStmt != nil {
|
||||
if cerr := q.getUdpRouterByProfileStmt.Close(); cerr != nil {
|
||||
err = fmt.Errorf("error closing getUdpRouterByProfileStmt: %w", cerr)
|
||||
}
|
||||
}
|
||||
if q.getUdpRouterDNSProviderStmt != nil {
|
||||
if cerr := q.getUdpRouterDNSProviderStmt.Close(); cerr != nil {
|
||||
err = fmt.Errorf("error closing getUdpRouterDNSProviderStmt: %w", cerr)
|
||||
}
|
||||
}
|
||||
if q.getUdpRoutersByProfileStmt != nil {
|
||||
if cerr := q.getUdpRoutersByProfileStmt.Close(); cerr != nil {
|
||||
err = fmt.Errorf("error closing getUdpRoutersByProfileStmt: %w", cerr)
|
||||
}
|
||||
}
|
||||
if q.getUdpServiceStmt != nil {
|
||||
if cerr := q.getUdpServiceStmt.Close(); cerr != nil {
|
||||
err = fmt.Errorf("error closing getUdpServiceStmt: %w", cerr)
|
||||
}
|
||||
}
|
||||
if q.getUdpServiceByProfileStmt != nil {
|
||||
if cerr := q.getUdpServiceByProfileStmt.Close(); cerr != nil {
|
||||
err = fmt.Errorf("error closing getUdpServiceByProfileStmt: %w", cerr)
|
||||
if q.getUdpServicesByProfileStmt != nil {
|
||||
if cerr := q.getUdpServicesByProfileStmt.Close(); cerr != nil {
|
||||
err = fmt.Errorf("error closing getUdpServicesByProfileStmt: %w", cerr)
|
||||
}
|
||||
}
|
||||
if q.getUserByEmailStmt != nil {
|
||||
@@ -819,16 +827,16 @@ func (q *Queries) Close() error {
|
||||
err = fmt.Errorf("error closing getUserByUsernameStmt: %w", cerr)
|
||||
}
|
||||
}
|
||||
if q.listAdminUsersStmt != nil {
|
||||
if cerr := q.listAdminUsersStmt.Close(); cerr != nil {
|
||||
err = fmt.Errorf("error closing listAdminUsersStmt: %w", cerr)
|
||||
}
|
||||
}
|
||||
if q.listAgentsStmt != nil {
|
||||
if cerr := q.listAgentsStmt.Close(); cerr != nil {
|
||||
err = fmt.Errorf("error closing listAgentsStmt: %w", cerr)
|
||||
}
|
||||
}
|
||||
if q.listAgentsByProfileStmt != nil {
|
||||
if cerr := q.listAgentsByProfileStmt.Close(); cerr != nil {
|
||||
err = fmt.Errorf("error closing listAgentsByProfileStmt: %w", cerr)
|
||||
}
|
||||
}
|
||||
if q.listDnsProvidersStmt != nil {
|
||||
if cerr := q.listDnsProvidersStmt.Close(); cerr != nil {
|
||||
err = fmt.Errorf("error closing listDnsProvidersStmt: %w", cerr)
|
||||
@@ -1068,6 +1076,7 @@ func (q *Queries) queryRow(ctx context.Context, stmt *sql.Stmt, query string, ar
|
||||
type Queries struct {
|
||||
db DBTX
|
||||
tx *sql.Tx
|
||||
countAgentsStmt *sql.Stmt
|
||||
countDnsProvidersStmt *sql.Stmt
|
||||
countEntryPointsStmt *sql.Stmt
|
||||
countHttpMiddlewaresStmt *sql.Stmt
|
||||
@@ -1125,34 +1134,34 @@ type Queries struct {
|
||||
getEntryPointStmt *sql.Stmt
|
||||
getErrorsByProfileStmt *sql.Stmt
|
||||
getHttpMiddlewareStmt *sql.Stmt
|
||||
getHttpMiddlewareByProfileStmt *sql.Stmt
|
||||
getHttpMiddlewaresByProfileStmt *sql.Stmt
|
||||
getHttpRouterStmt *sql.Stmt
|
||||
getHttpRouterByProfileStmt *sql.Stmt
|
||||
getHttpRouterDNSProviderStmt *sql.Stmt
|
||||
getHttpRoutersByProfileStmt *sql.Stmt
|
||||
getHttpServiceStmt *sql.Stmt
|
||||
getHttpServiceByProfileStmt *sql.Stmt
|
||||
getHttpServicesByProfileStmt *sql.Stmt
|
||||
getProfileStmt *sql.Stmt
|
||||
getProfileByNameStmt *sql.Stmt
|
||||
getSettingStmt *sql.Stmt
|
||||
getTcpMiddlewareStmt *sql.Stmt
|
||||
getTcpMiddlewareByProfileStmt *sql.Stmt
|
||||
getTcpMiddlewaresByProfileStmt *sql.Stmt
|
||||
getTcpRouterStmt *sql.Stmt
|
||||
getTcpRouterByProfileStmt *sql.Stmt
|
||||
getTcpRouterDNSProviderStmt *sql.Stmt
|
||||
getTcpRoutersByProfileStmt *sql.Stmt
|
||||
getTcpServiceStmt *sql.Stmt
|
||||
getTcpServiceByProfileStmt *sql.Stmt
|
||||
getTcpServicesByProfileStmt *sql.Stmt
|
||||
getTraefikInstanceStmt *sql.Stmt
|
||||
getTraefikInstanceByProfileStmt *sql.Stmt
|
||||
getUdpRouterStmt *sql.Stmt
|
||||
getUdpRouterByProfileStmt *sql.Stmt
|
||||
getUdpRouterDNSProviderStmt *sql.Stmt
|
||||
getUdpRoutersByProfileStmt *sql.Stmt
|
||||
getUdpServiceStmt *sql.Stmt
|
||||
getUdpServiceByProfileStmt *sql.Stmt
|
||||
getUdpServicesByProfileStmt *sql.Stmt
|
||||
getUserByEmailStmt *sql.Stmt
|
||||
getUserByIDStmt *sql.Stmt
|
||||
getUserByUsernameStmt *sql.Stmt
|
||||
listAdminUsersStmt *sql.Stmt
|
||||
listAgentsStmt *sql.Stmt
|
||||
listAgentsByProfileStmt *sql.Stmt
|
||||
listDnsProvidersStmt *sql.Stmt
|
||||
listEntryPointsStmt *sql.Stmt
|
||||
listErrorsStmt *sql.Stmt
|
||||
@@ -1199,6 +1208,7 @@ func (q *Queries) WithTx(tx *sql.Tx) *Queries {
|
||||
return &Queries{
|
||||
db: tx,
|
||||
tx: tx,
|
||||
countAgentsStmt: q.countAgentsStmt,
|
||||
countDnsProvidersStmt: q.countDnsProvidersStmt,
|
||||
countEntryPointsStmt: q.countEntryPointsStmt,
|
||||
countHttpMiddlewaresStmt: q.countHttpMiddlewaresStmt,
|
||||
@@ -1256,34 +1266,34 @@ func (q *Queries) WithTx(tx *sql.Tx) *Queries {
|
||||
getEntryPointStmt: q.getEntryPointStmt,
|
||||
getErrorsByProfileStmt: q.getErrorsByProfileStmt,
|
||||
getHttpMiddlewareStmt: q.getHttpMiddlewareStmt,
|
||||
getHttpMiddlewareByProfileStmt: q.getHttpMiddlewareByProfileStmt,
|
||||
getHttpMiddlewaresByProfileStmt: q.getHttpMiddlewaresByProfileStmt,
|
||||
getHttpRouterStmt: q.getHttpRouterStmt,
|
||||
getHttpRouterByProfileStmt: q.getHttpRouterByProfileStmt,
|
||||
getHttpRouterDNSProviderStmt: q.getHttpRouterDNSProviderStmt,
|
||||
getHttpRoutersByProfileStmt: q.getHttpRoutersByProfileStmt,
|
||||
getHttpServiceStmt: q.getHttpServiceStmt,
|
||||
getHttpServiceByProfileStmt: q.getHttpServiceByProfileStmt,
|
||||
getHttpServicesByProfileStmt: q.getHttpServicesByProfileStmt,
|
||||
getProfileStmt: q.getProfileStmt,
|
||||
getProfileByNameStmt: q.getProfileByNameStmt,
|
||||
getSettingStmt: q.getSettingStmt,
|
||||
getTcpMiddlewareStmt: q.getTcpMiddlewareStmt,
|
||||
getTcpMiddlewareByProfileStmt: q.getTcpMiddlewareByProfileStmt,
|
||||
getTcpMiddlewaresByProfileStmt: q.getTcpMiddlewaresByProfileStmt,
|
||||
getTcpRouterStmt: q.getTcpRouterStmt,
|
||||
getTcpRouterByProfileStmt: q.getTcpRouterByProfileStmt,
|
||||
getTcpRouterDNSProviderStmt: q.getTcpRouterDNSProviderStmt,
|
||||
getTcpRoutersByProfileStmt: q.getTcpRoutersByProfileStmt,
|
||||
getTcpServiceStmt: q.getTcpServiceStmt,
|
||||
getTcpServiceByProfileStmt: q.getTcpServiceByProfileStmt,
|
||||
getTcpServicesByProfileStmt: q.getTcpServicesByProfileStmt,
|
||||
getTraefikInstanceStmt: q.getTraefikInstanceStmt,
|
||||
getTraefikInstanceByProfileStmt: q.getTraefikInstanceByProfileStmt,
|
||||
getUdpRouterStmt: q.getUdpRouterStmt,
|
||||
getUdpRouterByProfileStmt: q.getUdpRouterByProfileStmt,
|
||||
getUdpRouterDNSProviderStmt: q.getUdpRouterDNSProviderStmt,
|
||||
getUdpRoutersByProfileStmt: q.getUdpRoutersByProfileStmt,
|
||||
getUdpServiceStmt: q.getUdpServiceStmt,
|
||||
getUdpServiceByProfileStmt: q.getUdpServiceByProfileStmt,
|
||||
getUdpServicesByProfileStmt: q.getUdpServicesByProfileStmt,
|
||||
getUserByEmailStmt: q.getUserByEmailStmt,
|
||||
getUserByIDStmt: q.getUserByIDStmt,
|
||||
getUserByUsernameStmt: q.getUserByUsernameStmt,
|
||||
listAdminUsersStmt: q.listAdminUsersStmt,
|
||||
listAgentsStmt: q.listAgentsStmt,
|
||||
listAgentsByProfileStmt: q.listAgentsByProfileStmt,
|
||||
listDnsProvidersStmt: q.listDnsProvidersStmt,
|
||||
listEntryPointsStmt: q.listEntryPointsStmt,
|
||||
listErrorsStmt: q.listErrorsStmt,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.29.0
|
||||
// sqlc v1.28.0
|
||||
// source: dns_providers.sql
|
||||
|
||||
package db
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.29.0
|
||||
// sqlc v1.28.0
|
||||
// source: entry_points.sql
|
||||
|
||||
package db
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.29.0
|
||||
// sqlc v1.28.0
|
||||
// source: errors.sql
|
||||
|
||||
package db
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.29.0
|
||||
// sqlc v1.28.0
|
||||
// source: http_middlewares.sql
|
||||
|
||||
package db
|
||||
@@ -29,9 +29,9 @@ const createHttpMiddleware = `-- name: CreateHttpMiddleware :one
|
||||
INSERT INTO
|
||||
http_middlewares (
|
||||
profile_id,
|
||||
agent_id,
|
||||
name,
|
||||
config,
|
||||
source,
|
||||
enabled,
|
||||
created_at,
|
||||
updated_at
|
||||
@@ -45,32 +45,32 @@ VALUES
|
||||
?,
|
||||
CURRENT_TIMESTAMP,
|
||||
CURRENT_TIMESTAMP
|
||||
) RETURNING id, profile_id, name, config, source, enabled, created_at, updated_at
|
||||
) RETURNING id, profile_id, agent_id, name, config, enabled, created_at, updated_at
|
||||
`
|
||||
|
||||
type CreateHttpMiddlewareParams struct {
|
||||
ProfileID int64 `json:"profileId"`
|
||||
AgentID *string `json:"agentId"`
|
||||
Name string `json:"name"`
|
||||
Config *dynamic.Middleware `json:"config"`
|
||||
Source *string `json:"source"`
|
||||
Enabled bool `json:"enabled"`
|
||||
}
|
||||
|
||||
func (q *Queries) CreateHttpMiddleware(ctx context.Context, arg CreateHttpMiddlewareParams) (HttpMiddleware, error) {
|
||||
row := q.queryRow(ctx, q.createHttpMiddlewareStmt, createHttpMiddleware,
|
||||
arg.ProfileID,
|
||||
arg.AgentID,
|
||||
arg.Name,
|
||||
arg.Config,
|
||||
arg.Source,
|
||||
arg.Enabled,
|
||||
)
|
||||
var i HttpMiddleware
|
||||
err := row.Scan(
|
||||
&i.ID,
|
||||
&i.ProfileID,
|
||||
&i.AgentID,
|
||||
&i.Name,
|
||||
&i.Config,
|
||||
&i.Source,
|
||||
&i.Enabled,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
@@ -91,7 +91,7 @@ func (q *Queries) DeleteHttpMiddleware(ctx context.Context, id int64) error {
|
||||
|
||||
const getHttpMiddleware = `-- name: GetHttpMiddleware :one
|
||||
SELECT
|
||||
id, profile_id, name, config, source, enabled, created_at, updated_at
|
||||
id, profile_id, agent_id, name, config, enabled, created_at, updated_at
|
||||
FROM
|
||||
http_middlewares
|
||||
WHERE
|
||||
@@ -104,9 +104,9 @@ func (q *Queries) GetHttpMiddleware(ctx context.Context, id int64) (HttpMiddlewa
|
||||
err := row.Scan(
|
||||
&i.ID,
|
||||
&i.ProfileID,
|
||||
&i.AgentID,
|
||||
&i.Name,
|
||||
&i.Config,
|
||||
&i.Source,
|
||||
&i.Enabled,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
@@ -114,34 +114,50 @@ func (q *Queries) GetHttpMiddleware(ctx context.Context, id int64) (HttpMiddlewa
|
||||
return i, err
|
||||
}
|
||||
|
||||
const getHttpMiddlewareByProfile = `-- name: GetHttpMiddlewareByProfile :one
|
||||
const getHttpMiddlewaresByProfile = `-- name: GetHttpMiddlewaresByProfile :many
|
||||
SELECT
|
||||
id, profile_id, name, config, source, enabled, created_at, updated_at
|
||||
id, profile_id, agent_id, name, config, enabled, created_at, updated_at
|
||||
FROM
|
||||
http_middlewares
|
||||
WHERE
|
||||
profile_id = ?
|
||||
`
|
||||
|
||||
func (q *Queries) GetHttpMiddlewareByProfile(ctx context.Context, profileID int64) (HttpMiddleware, error) {
|
||||
row := q.queryRow(ctx, q.getHttpMiddlewareByProfileStmt, getHttpMiddlewareByProfile, profileID)
|
||||
var i HttpMiddleware
|
||||
err := row.Scan(
|
||||
&i.ID,
|
||||
&i.ProfileID,
|
||||
&i.Name,
|
||||
&i.Config,
|
||||
&i.Source,
|
||||
&i.Enabled,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
)
|
||||
return i, err
|
||||
func (q *Queries) GetHttpMiddlewaresByProfile(ctx context.Context, profileID int64) ([]HttpMiddleware, error) {
|
||||
rows, err := q.query(ctx, q.getHttpMiddlewaresByProfileStmt, getHttpMiddlewaresByProfile, profileID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer rows.Close()
|
||||
var items []HttpMiddleware
|
||||
for rows.Next() {
|
||||
var i HttpMiddleware
|
||||
if err := rows.Scan(
|
||||
&i.ID,
|
||||
&i.ProfileID,
|
||||
&i.AgentID,
|
||||
&i.Name,
|
||||
&i.Config,
|
||||
&i.Enabled,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
items = append(items, i)
|
||||
}
|
||||
if err := rows.Close(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if err := rows.Err(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return items, nil
|
||||
}
|
||||
|
||||
const listHttpMiddlewares = `-- name: ListHttpMiddlewares :many
|
||||
SELECT
|
||||
id, profile_id, name, config, source, enabled, created_at, updated_at
|
||||
id, profile_id, agent_id, name, config, enabled, created_at, updated_at
|
||||
FROM
|
||||
http_middlewares
|
||||
ORDER BY
|
||||
@@ -169,9 +185,9 @@ func (q *Queries) ListHttpMiddlewares(ctx context.Context, arg ListHttpMiddlewar
|
||||
if err := rows.Scan(
|
||||
&i.ID,
|
||||
&i.ProfileID,
|
||||
&i.AgentID,
|
||||
&i.Name,
|
||||
&i.Config,
|
||||
&i.Source,
|
||||
&i.Enabled,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
@@ -194,17 +210,15 @@ UPDATE http_middlewares
|
||||
SET
|
||||
name = ?,
|
||||
config = ?,
|
||||
source = ?,
|
||||
enabled = ?,
|
||||
updated_at = CURRENT_TIMESTAMP
|
||||
WHERE
|
||||
id = ? RETURNING id, profile_id, name, config, source, enabled, created_at, updated_at
|
||||
id = ? RETURNING id, profile_id, agent_id, name, config, enabled, created_at, updated_at
|
||||
`
|
||||
|
||||
type UpdateHttpMiddlewareParams struct {
|
||||
Name string `json:"name"`
|
||||
Config *dynamic.Middleware `json:"config"`
|
||||
Source *string `json:"source"`
|
||||
Enabled bool `json:"enabled"`
|
||||
ID int64 `json:"id"`
|
||||
}
|
||||
@@ -213,7 +227,6 @@ func (q *Queries) UpdateHttpMiddleware(ctx context.Context, arg UpdateHttpMiddle
|
||||
row := q.queryRow(ctx, q.updateHttpMiddlewareStmt, updateHttpMiddleware,
|
||||
arg.Name,
|
||||
arg.Config,
|
||||
arg.Source,
|
||||
arg.Enabled,
|
||||
arg.ID,
|
||||
)
|
||||
@@ -221,9 +234,9 @@ func (q *Queries) UpdateHttpMiddleware(ctx context.Context, arg UpdateHttpMiddle
|
||||
err := row.Scan(
|
||||
&i.ID,
|
||||
&i.ProfileID,
|
||||
&i.AgentID,
|
||||
&i.Name,
|
||||
&i.Config,
|
||||
&i.Source,
|
||||
&i.Enabled,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.29.0
|
||||
// sqlc v1.28.0
|
||||
// source: http_router_dns_provider.sql
|
||||
|
||||
package db
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.29.0
|
||||
// sqlc v1.28.0
|
||||
// source: http_routers.sql
|
||||
|
||||
package db
|
||||
@@ -29,37 +29,37 @@ const createHttpRouter = `-- name: CreateHttpRouter :one
|
||||
INSERT INTO
|
||||
http_routers (
|
||||
profile_id,
|
||||
agent_id,
|
||||
name,
|
||||
config,
|
||||
source,
|
||||
created_at,
|
||||
updated_at
|
||||
)
|
||||
VALUES
|
||||
(?, ?, ?, ?, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP) RETURNING id, profile_id, name, config, source, enabled, created_at, updated_at
|
||||
(?, ?, ?, ?, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP) RETURNING id, profile_id, agent_id, name, config, enabled, created_at, updated_at
|
||||
`
|
||||
|
||||
type CreateHttpRouterParams struct {
|
||||
ProfileID int64 `json:"profileId"`
|
||||
AgentID *string `json:"agentId"`
|
||||
Name string `json:"name"`
|
||||
Config *dynamic.Router `json:"config"`
|
||||
Source *string `json:"source"`
|
||||
}
|
||||
|
||||
func (q *Queries) CreateHttpRouter(ctx context.Context, arg CreateHttpRouterParams) (HttpRouter, error) {
|
||||
row := q.queryRow(ctx, q.createHttpRouterStmt, createHttpRouter,
|
||||
arg.ProfileID,
|
||||
arg.AgentID,
|
||||
arg.Name,
|
||||
arg.Config,
|
||||
arg.Source,
|
||||
)
|
||||
var i HttpRouter
|
||||
err := row.Scan(
|
||||
&i.ID,
|
||||
&i.ProfileID,
|
||||
&i.AgentID,
|
||||
&i.Name,
|
||||
&i.Config,
|
||||
&i.Source,
|
||||
&i.Enabled,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
@@ -80,7 +80,7 @@ func (q *Queries) DeleteHttpRouter(ctx context.Context, id int64) error {
|
||||
|
||||
const getHttpRouter = `-- name: GetHttpRouter :one
|
||||
SELECT
|
||||
id, profile_id, name, config, source, enabled, created_at, updated_at
|
||||
id, profile_id, agent_id, name, config, enabled, created_at, updated_at
|
||||
FROM
|
||||
http_routers
|
||||
WHERE
|
||||
@@ -93,9 +93,9 @@ func (q *Queries) GetHttpRouter(ctx context.Context, id int64) (HttpRouter, erro
|
||||
err := row.Scan(
|
||||
&i.ID,
|
||||
&i.ProfileID,
|
||||
&i.AgentID,
|
||||
&i.Name,
|
||||
&i.Config,
|
||||
&i.Source,
|
||||
&i.Enabled,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
@@ -103,34 +103,50 @@ func (q *Queries) GetHttpRouter(ctx context.Context, id int64) (HttpRouter, erro
|
||||
return i, err
|
||||
}
|
||||
|
||||
const getHttpRouterByProfile = `-- name: GetHttpRouterByProfile :one
|
||||
const getHttpRoutersByProfile = `-- name: GetHttpRoutersByProfile :many
|
||||
SELECT
|
||||
id, profile_id, name, config, source, enabled, created_at, updated_at
|
||||
id, profile_id, agent_id, name, config, enabled, created_at, updated_at
|
||||
FROM
|
||||
http_routers
|
||||
WHERE
|
||||
profile_id = ?
|
||||
`
|
||||
|
||||
func (q *Queries) GetHttpRouterByProfile(ctx context.Context, profileID int64) (HttpRouter, error) {
|
||||
row := q.queryRow(ctx, q.getHttpRouterByProfileStmt, getHttpRouterByProfile, profileID)
|
||||
var i HttpRouter
|
||||
err := row.Scan(
|
||||
&i.ID,
|
||||
&i.ProfileID,
|
||||
&i.Name,
|
||||
&i.Config,
|
||||
&i.Source,
|
||||
&i.Enabled,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
)
|
||||
return i, err
|
||||
func (q *Queries) GetHttpRoutersByProfile(ctx context.Context, profileID int64) ([]HttpRouter, error) {
|
||||
rows, err := q.query(ctx, q.getHttpRoutersByProfileStmt, getHttpRoutersByProfile, profileID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer rows.Close()
|
||||
var items []HttpRouter
|
||||
for rows.Next() {
|
||||
var i HttpRouter
|
||||
if err := rows.Scan(
|
||||
&i.ID,
|
||||
&i.ProfileID,
|
||||
&i.AgentID,
|
||||
&i.Name,
|
||||
&i.Config,
|
||||
&i.Enabled,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
items = append(items, i)
|
||||
}
|
||||
if err := rows.Close(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if err := rows.Err(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return items, nil
|
||||
}
|
||||
|
||||
const listHttpRouters = `-- name: ListHttpRouters :many
|
||||
SELECT
|
||||
id, profile_id, name, config, source, enabled, created_at, updated_at
|
||||
id, profile_id, agent_id, name, config, enabled, created_at, updated_at
|
||||
FROM
|
||||
http_routers
|
||||
ORDER BY
|
||||
@@ -158,9 +174,9 @@ func (q *Queries) ListHttpRouters(ctx context.Context, arg ListHttpRoutersParams
|
||||
if err := rows.Scan(
|
||||
&i.ID,
|
||||
&i.ProfileID,
|
||||
&i.AgentID,
|
||||
&i.Name,
|
||||
&i.Config,
|
||||
&i.Source,
|
||||
&i.Enabled,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
@@ -183,33 +199,26 @@ UPDATE http_routers
|
||||
SET
|
||||
name = ?,
|
||||
config = ?,
|
||||
source = ?,
|
||||
updated_at = CURRENT_TIMESTAMP
|
||||
WHERE
|
||||
id = ? RETURNING id, profile_id, name, config, source, enabled, created_at, updated_at
|
||||
id = ? RETURNING id, profile_id, agent_id, name, config, enabled, created_at, updated_at
|
||||
`
|
||||
|
||||
type UpdateHttpRouterParams struct {
|
||||
Name string `json:"name"`
|
||||
Config *dynamic.Router `json:"config"`
|
||||
Source *string `json:"source"`
|
||||
ID int64 `json:"id"`
|
||||
}
|
||||
|
||||
func (q *Queries) UpdateHttpRouter(ctx context.Context, arg UpdateHttpRouterParams) (HttpRouter, error) {
|
||||
row := q.queryRow(ctx, q.updateHttpRouterStmt, updateHttpRouter,
|
||||
arg.Name,
|
||||
arg.Config,
|
||||
arg.Source,
|
||||
arg.ID,
|
||||
)
|
||||
row := q.queryRow(ctx, q.updateHttpRouterStmt, updateHttpRouter, arg.Name, arg.Config, arg.ID)
|
||||
var i HttpRouter
|
||||
err := row.Scan(
|
||||
&i.ID,
|
||||
&i.ProfileID,
|
||||
&i.AgentID,
|
||||
&i.Name,
|
||||
&i.Config,
|
||||
&i.Source,
|
||||
&i.Enabled,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.29.0
|
||||
// sqlc v1.28.0
|
||||
// source: http_services.sql
|
||||
|
||||
package db
|
||||
@@ -29,37 +29,37 @@ const createHttpService = `-- name: CreateHttpService :one
|
||||
INSERT INTO
|
||||
http_services (
|
||||
profile_id,
|
||||
agent_id,
|
||||
name,
|
||||
config,
|
||||
source,
|
||||
created_at,
|
||||
updated_at
|
||||
)
|
||||
VALUES
|
||||
(?, ?, ?, ?, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP) RETURNING id, profile_id, name, config, source, created_at, updated_at
|
||||
(?, ?, ?, ?, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP) RETURNING id, profile_id, agent_id, name, config, created_at, updated_at
|
||||
`
|
||||
|
||||
type CreateHttpServiceParams struct {
|
||||
ProfileID int64 `json:"profileId"`
|
||||
AgentID *string `json:"agentId"`
|
||||
Name string `json:"name"`
|
||||
Config *dynamic.Service `json:"config"`
|
||||
Source *string `json:"source"`
|
||||
}
|
||||
|
||||
func (q *Queries) CreateHttpService(ctx context.Context, arg CreateHttpServiceParams) (HttpService, error) {
|
||||
row := q.queryRow(ctx, q.createHttpServiceStmt, createHttpService,
|
||||
arg.ProfileID,
|
||||
arg.AgentID,
|
||||
arg.Name,
|
||||
arg.Config,
|
||||
arg.Source,
|
||||
)
|
||||
var i HttpService
|
||||
err := row.Scan(
|
||||
&i.ID,
|
||||
&i.ProfileID,
|
||||
&i.AgentID,
|
||||
&i.Name,
|
||||
&i.Config,
|
||||
&i.Source,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
)
|
||||
@@ -79,7 +79,7 @@ func (q *Queries) DeleteHttpService(ctx context.Context, id int64) error {
|
||||
|
||||
const getHttpService = `-- name: GetHttpService :one
|
||||
SELECT
|
||||
id, profile_id, name, config, source, created_at, updated_at
|
||||
id, profile_id, agent_id, name, config, created_at, updated_at
|
||||
FROM
|
||||
http_services
|
||||
WHERE
|
||||
@@ -92,42 +92,58 @@ func (q *Queries) GetHttpService(ctx context.Context, id int64) (HttpService, er
|
||||
err := row.Scan(
|
||||
&i.ID,
|
||||
&i.ProfileID,
|
||||
&i.AgentID,
|
||||
&i.Name,
|
||||
&i.Config,
|
||||
&i.Source,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
)
|
||||
return i, err
|
||||
}
|
||||
|
||||
const getHttpServiceByProfile = `-- name: GetHttpServiceByProfile :one
|
||||
const getHttpServicesByProfile = `-- name: GetHttpServicesByProfile :many
|
||||
SELECT
|
||||
id, profile_id, name, config, source, created_at, updated_at
|
||||
id, profile_id, agent_id, name, config, created_at, updated_at
|
||||
FROM
|
||||
http_services
|
||||
WHERE
|
||||
profile_id = ?
|
||||
`
|
||||
|
||||
func (q *Queries) GetHttpServiceByProfile(ctx context.Context, profileID int64) (HttpService, error) {
|
||||
row := q.queryRow(ctx, q.getHttpServiceByProfileStmt, getHttpServiceByProfile, profileID)
|
||||
var i HttpService
|
||||
err := row.Scan(
|
||||
&i.ID,
|
||||
&i.ProfileID,
|
||||
&i.Name,
|
||||
&i.Config,
|
||||
&i.Source,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
)
|
||||
return i, err
|
||||
func (q *Queries) GetHttpServicesByProfile(ctx context.Context, profileID int64) ([]HttpService, error) {
|
||||
rows, err := q.query(ctx, q.getHttpServicesByProfileStmt, getHttpServicesByProfile, profileID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer rows.Close()
|
||||
var items []HttpService
|
||||
for rows.Next() {
|
||||
var i HttpService
|
||||
if err := rows.Scan(
|
||||
&i.ID,
|
||||
&i.ProfileID,
|
||||
&i.AgentID,
|
||||
&i.Name,
|
||||
&i.Config,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
items = append(items, i)
|
||||
}
|
||||
if err := rows.Close(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if err := rows.Err(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return items, nil
|
||||
}
|
||||
|
||||
const listHttpServices = `-- name: ListHttpServices :many
|
||||
SELECT
|
||||
id, profile_id, name, config, source, created_at, updated_at
|
||||
id, profile_id, agent_id, name, config, created_at, updated_at
|
||||
FROM
|
||||
http_services
|
||||
ORDER BY
|
||||
@@ -155,9 +171,9 @@ func (q *Queries) ListHttpServices(ctx context.Context, arg ListHttpServicesPara
|
||||
if err := rows.Scan(
|
||||
&i.ID,
|
||||
&i.ProfileID,
|
||||
&i.AgentID,
|
||||
&i.Name,
|
||||
&i.Config,
|
||||
&i.Source,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
); err != nil {
|
||||
@@ -179,33 +195,26 @@ UPDATE http_services
|
||||
SET
|
||||
name = ?,
|
||||
config = ?,
|
||||
source = ?,
|
||||
updated_at = CURRENT_TIMESTAMP
|
||||
WHERE
|
||||
id = ? RETURNING id, profile_id, name, config, source, created_at, updated_at
|
||||
id = ? RETURNING id, profile_id, agent_id, name, config, created_at, updated_at
|
||||
`
|
||||
|
||||
type UpdateHttpServiceParams struct {
|
||||
Name string `json:"name"`
|
||||
Config *dynamic.Service `json:"config"`
|
||||
Source *string `json:"source"`
|
||||
ID int64 `json:"id"`
|
||||
}
|
||||
|
||||
func (q *Queries) UpdateHttpService(ctx context.Context, arg UpdateHttpServiceParams) (HttpService, error) {
|
||||
row := q.queryRow(ctx, q.updateHttpServiceStmt, updateHttpService,
|
||||
arg.Name,
|
||||
arg.Config,
|
||||
arg.Source,
|
||||
arg.ID,
|
||||
)
|
||||
row := q.queryRow(ctx, q.updateHttpServiceStmt, updateHttpService, arg.Name, arg.Config, arg.ID)
|
||||
var i HttpService
|
||||
err := row.Scan(
|
||||
&i.ID,
|
||||
&i.ProfileID,
|
||||
&i.AgentID,
|
||||
&i.Name,
|
||||
&i.Config,
|
||||
&i.Source,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.29.0
|
||||
// sqlc v1.28.0
|
||||
|
||||
package db
|
||||
|
||||
@@ -56,9 +56,9 @@ type Error struct {
|
||||
type HttpMiddleware struct {
|
||||
ID int64 `json:"id"`
|
||||
ProfileID int64 `json:"profileId"`
|
||||
AgentID *string `json:"agentId"`
|
||||
Name string `json:"name"`
|
||||
Config *dynamic.Middleware `json:"config"`
|
||||
Source *string `json:"source"`
|
||||
Enabled bool `json:"enabled"`
|
||||
CreatedAt *time.Time `json:"createdAt"`
|
||||
UpdatedAt *time.Time `json:"updatedAt"`
|
||||
@@ -67,9 +67,9 @@ type HttpMiddleware struct {
|
||||
type HttpRouter struct {
|
||||
ID int64 `json:"id"`
|
||||
ProfileID int64 `json:"profileId"`
|
||||
AgentID *string `json:"agentId"`
|
||||
Name string `json:"name"`
|
||||
Config *dynamic.Router `json:"config"`
|
||||
Source *string `json:"source"`
|
||||
Enabled bool `json:"enabled"`
|
||||
CreatedAt *time.Time `json:"createdAt"`
|
||||
UpdatedAt *time.Time `json:"updatedAt"`
|
||||
@@ -83,9 +83,9 @@ type HttpRouterDnsProvider struct {
|
||||
type HttpService struct {
|
||||
ID int64 `json:"id"`
|
||||
ProfileID int64 `json:"profileId"`
|
||||
AgentID *string `json:"agentId"`
|
||||
Name string `json:"name"`
|
||||
Config *dynamic.Service `json:"config"`
|
||||
Source *string `json:"source"`
|
||||
CreatedAt *time.Time `json:"createdAt"`
|
||||
UpdatedAt *time.Time `json:"updatedAt"`
|
||||
}
|
||||
@@ -108,9 +108,9 @@ type Setting struct {
|
||||
type TcpMiddleware struct {
|
||||
ID int64 `json:"id"`
|
||||
ProfileID int64 `json:"profileId"`
|
||||
AgentID *string `json:"agentId"`
|
||||
Name string `json:"name"`
|
||||
Config *dynamic.TCPMiddleware `json:"config"`
|
||||
Source *string `json:"source"`
|
||||
Enabled bool `json:"enabled"`
|
||||
CreatedAt *time.Time `json:"createdAt"`
|
||||
UpdatedAt *time.Time `json:"updatedAt"`
|
||||
@@ -119,9 +119,9 @@ type TcpMiddleware struct {
|
||||
type TcpRouter struct {
|
||||
ID int64 `json:"id"`
|
||||
ProfileID int64 `json:"profileId"`
|
||||
AgentID *string `json:"agentId"`
|
||||
Name string `json:"name"`
|
||||
Config *dynamic.TCPRouter `json:"config"`
|
||||
Source *string `json:"source"`
|
||||
Enabled bool `json:"enabled"`
|
||||
CreatedAt *time.Time `json:"createdAt"`
|
||||
UpdatedAt *time.Time `json:"updatedAt"`
|
||||
@@ -135,9 +135,9 @@ type TcpRouterDnsProvider struct {
|
||||
type TcpService struct {
|
||||
ID int64 `json:"id"`
|
||||
ProfileID int64 `json:"profileId"`
|
||||
AgentID *string `json:"agentId"`
|
||||
Name string `json:"name"`
|
||||
Config *dynamic.TCPService `json:"config"`
|
||||
Source *string `json:"source"`
|
||||
CreatedAt *time.Time `json:"createdAt"`
|
||||
UpdatedAt *time.Time `json:"updatedAt"`
|
||||
}
|
||||
@@ -145,10 +145,14 @@ type TcpService struct {
|
||||
type TraefikInstance struct {
|
||||
ID int64 `json:"id"`
|
||||
ProfileID int64 `json:"profileId"`
|
||||
Entrypoints *schema.EntryPoint `json:"entrypoints"`
|
||||
Entrypoints *schema.EntryPoints `json:"entrypoints"`
|
||||
Overview *schema.Overview `json:"overview"`
|
||||
Config *schema.Configuration `json:"config"`
|
||||
Version *string `json:"version"`
|
||||
Url string `json:"url"`
|
||||
Username *string `json:"username"`
|
||||
Password *string `json:"password"`
|
||||
Tls bool `json:"tls"`
|
||||
CreatedAt *time.Time `json:"createdAt"`
|
||||
UpdatedAt *time.Time `json:"updatedAt"`
|
||||
}
|
||||
@@ -156,9 +160,9 @@ type TraefikInstance struct {
|
||||
type UdpRouter struct {
|
||||
ID int64 `json:"id"`
|
||||
ProfileID int64 `json:"profileId"`
|
||||
AgentID *string `json:"agentId"`
|
||||
Name string `json:"name"`
|
||||
Config *dynamic.UDPRouter `json:"config"`
|
||||
Source *string `json:"source"`
|
||||
Enabled bool `json:"enabled"`
|
||||
CreatedAt *time.Time `json:"createdAt"`
|
||||
UpdatedAt *time.Time `json:"updatedAt"`
|
||||
@@ -172,9 +176,9 @@ type UdpRouterDnsProvider struct {
|
||||
type UdpService struct {
|
||||
ID int64 `json:"id"`
|
||||
ProfileID int64 `json:"profileId"`
|
||||
AgentID *string `json:"agentId"`
|
||||
Name string `json:"name"`
|
||||
Config *dynamic.UDPService `json:"config"`
|
||||
Source *string `json:"source"`
|
||||
CreatedAt *time.Time `json:"createdAt"`
|
||||
UpdatedAt *time.Time `json:"updatedAt"`
|
||||
}
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.29.0
|
||||
// sqlc v1.28.0
|
||||
// source: profiles.sql
|
||||
|
||||
package db
|
||||
@@ -25,19 +25,18 @@ func (q *Queries) CountProfiles(ctx context.Context) (int64, error) {
|
||||
|
||||
const createProfile = `-- name: CreateProfile :one
|
||||
INSERT INTO
|
||||
profiles (id, name, description, created_at, updated_at)
|
||||
profiles (name, description, created_at, updated_at)
|
||||
VALUES
|
||||
(?, ?, ?, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP) RETURNING id, name, description, created_at, updated_at
|
||||
(?, ?, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP) RETURNING id, name, description, created_at, updated_at
|
||||
`
|
||||
|
||||
type CreateProfileParams struct {
|
||||
ID int64 `json:"id"`
|
||||
Name string `json:"name"`
|
||||
Description *string `json:"description"`
|
||||
}
|
||||
|
||||
func (q *Queries) CreateProfile(ctx context.Context, arg CreateProfileParams) (Profile, error) {
|
||||
row := q.queryRow(ctx, q.createProfileStmt, createProfile, arg.ID, arg.Name, arg.Description)
|
||||
row := q.queryRow(ctx, q.createProfileStmt, createProfile, arg.Name, arg.Description)
|
||||
var i Profile
|
||||
err := row.Scan(
|
||||
&i.ID,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.29.0
|
||||
// sqlc v1.28.0
|
||||
|
||||
package db
|
||||
|
||||
@@ -9,6 +9,7 @@ import (
|
||||
)
|
||||
|
||||
type Querier interface {
|
||||
CountAgents(ctx context.Context) (int64, error)
|
||||
CountDnsProviders(ctx context.Context) (int64, error)
|
||||
CountEntryPoints(ctx context.Context) (int64, error)
|
||||
CountHttpMiddlewares(ctx context.Context) (int64, error)
|
||||
@@ -22,7 +23,7 @@ type Querier interface {
|
||||
CountUdpRouters(ctx context.Context) (int64, error)
|
||||
CountUdpServices(ctx context.Context) (int64, error)
|
||||
CountUsers(ctx context.Context) (int64, error)
|
||||
CreateAgent(ctx context.Context, arg CreateAgentParams) error
|
||||
CreateAgent(ctx context.Context, arg CreateAgentParams) (Agent, error)
|
||||
CreateDnsProvider(ctx context.Context, arg CreateDnsProviderParams) (DnsProvider, error)
|
||||
CreateEntryPoint(ctx context.Context, arg CreateEntryPointParams) (EntryPoint, error)
|
||||
CreateHttpMiddleware(ctx context.Context, arg CreateHttpMiddlewareParams) (HttpMiddleware, error)
|
||||
@@ -66,34 +67,34 @@ type Querier interface {
|
||||
GetEntryPoint(ctx context.Context, id int64) (EntryPoint, error)
|
||||
GetErrorsByProfile(ctx context.Context, profileID int64) ([]Error, error)
|
||||
GetHttpMiddleware(ctx context.Context, id int64) (HttpMiddleware, error)
|
||||
GetHttpMiddlewareByProfile(ctx context.Context, profileID int64) (HttpMiddleware, error)
|
||||
GetHttpMiddlewaresByProfile(ctx context.Context, profileID int64) ([]HttpMiddleware, error)
|
||||
GetHttpRouter(ctx context.Context, id int64) (HttpRouter, error)
|
||||
GetHttpRouterByProfile(ctx context.Context, profileID int64) (HttpRouter, error)
|
||||
GetHttpRouterDNSProvider(ctx context.Context, arg GetHttpRouterDNSProviderParams) (HttpRouterDnsProvider, error)
|
||||
GetHttpRoutersByProfile(ctx context.Context, profileID int64) ([]HttpRouter, error)
|
||||
GetHttpService(ctx context.Context, id int64) (HttpService, error)
|
||||
GetHttpServiceByProfile(ctx context.Context, profileID int64) (HttpService, error)
|
||||
GetHttpServicesByProfile(ctx context.Context, profileID int64) ([]HttpService, error)
|
||||
GetProfile(ctx context.Context, id int64) (Profile, error)
|
||||
GetProfileByName(ctx context.Context, name string) (Profile, error)
|
||||
GetSetting(ctx context.Context, key string) (Setting, error)
|
||||
GetTcpMiddleware(ctx context.Context, id int64) (TcpMiddleware, error)
|
||||
GetTcpMiddlewareByProfile(ctx context.Context, profileID int64) (TcpMiddleware, error)
|
||||
GetTcpMiddlewaresByProfile(ctx context.Context, profileID int64) ([]TcpMiddleware, error)
|
||||
GetTcpRouter(ctx context.Context, id int64) (TcpRouter, error)
|
||||
GetTcpRouterByProfile(ctx context.Context, profileID int64) (TcpRouter, error)
|
||||
GetTcpRouterDNSProvider(ctx context.Context, arg GetTcpRouterDNSProviderParams) (TcpRouterDnsProvider, error)
|
||||
GetTcpRoutersByProfile(ctx context.Context, profileID int64) ([]TcpRouter, error)
|
||||
GetTcpService(ctx context.Context, id int64) (TcpService, error)
|
||||
GetTcpServiceByProfile(ctx context.Context, profileID int64) (TcpService, error)
|
||||
GetTcpServicesByProfile(ctx context.Context, profileID int64) ([]TcpService, error)
|
||||
GetTraefikInstance(ctx context.Context, id int64) (TraefikInstance, error)
|
||||
GetTraefikInstanceByProfile(ctx context.Context, profileID int64) (TraefikInstance, error)
|
||||
GetUdpRouter(ctx context.Context, id int64) (UdpRouter, error)
|
||||
GetUdpRouterByProfile(ctx context.Context, profileID int64) (UdpRouter, error)
|
||||
GetUdpRouterDNSProvider(ctx context.Context, arg GetUdpRouterDNSProviderParams) (UdpRouterDnsProvider, error)
|
||||
GetUdpRoutersByProfile(ctx context.Context, profileID int64) ([]UdpRouter, error)
|
||||
GetUdpService(ctx context.Context, id int64) (UdpService, error)
|
||||
GetUdpServiceByProfile(ctx context.Context, profileID int64) (UdpService, error)
|
||||
GetUdpServicesByProfile(ctx context.Context, profileID int64) ([]UdpService, error)
|
||||
GetUserByEmail(ctx context.Context, email *string) (User, error)
|
||||
GetUserByID(ctx context.Context, id string) (User, error)
|
||||
GetUserByUsername(ctx context.Context, username string) (User, error)
|
||||
ListAgents(ctx context.Context) ([]Agent, error)
|
||||
ListAgentsByProfile(ctx context.Context, profileID int64) ([]Agent, error)
|
||||
ListAdminUsers(ctx context.Context, arg ListAdminUsersParams) ([]User, error)
|
||||
ListAgents(ctx context.Context, arg ListAgentsParams) ([]Agent, error)
|
||||
ListDnsProviders(ctx context.Context, arg ListDnsProvidersParams) ([]DnsProvider, error)
|
||||
ListEntryPoints(ctx context.Context, arg ListEntryPointsParams) ([]EntryPoint, error)
|
||||
ListErrors(ctx context.Context) ([]Error, error)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.29.0
|
||||
// sqlc v1.28.0
|
||||
// source: settings.sql
|
||||
|
||||
package db
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.29.0
|
||||
// sqlc v1.28.0
|
||||
// source: tcp_middlewares.sql
|
||||
|
||||
package db
|
||||
@@ -29,9 +29,9 @@ const createTcpMiddleware = `-- name: CreateTcpMiddleware :one
|
||||
INSERT INTO
|
||||
tcp_middlewares (
|
||||
profile_id,
|
||||
agent_id,
|
||||
name,
|
||||
config,
|
||||
source,
|
||||
enabled,
|
||||
created_at,
|
||||
updated_at
|
||||
@@ -45,32 +45,32 @@ VALUES
|
||||
?,
|
||||
CURRENT_TIMESTAMP,
|
||||
CURRENT_TIMESTAMP
|
||||
) RETURNING id, profile_id, name, config, source, enabled, created_at, updated_at
|
||||
) RETURNING id, profile_id, agent_id, name, config, enabled, created_at, updated_at
|
||||
`
|
||||
|
||||
type CreateTcpMiddlewareParams struct {
|
||||
ProfileID int64 `json:"profileId"`
|
||||
AgentID *string `json:"agentId"`
|
||||
Name string `json:"name"`
|
||||
Config *dynamic.TCPMiddleware `json:"config"`
|
||||
Source *string `json:"source"`
|
||||
Enabled bool `json:"enabled"`
|
||||
}
|
||||
|
||||
func (q *Queries) CreateTcpMiddleware(ctx context.Context, arg CreateTcpMiddlewareParams) (TcpMiddleware, error) {
|
||||
row := q.queryRow(ctx, q.createTcpMiddlewareStmt, createTcpMiddleware,
|
||||
arg.ProfileID,
|
||||
arg.AgentID,
|
||||
arg.Name,
|
||||
arg.Config,
|
||||
arg.Source,
|
||||
arg.Enabled,
|
||||
)
|
||||
var i TcpMiddleware
|
||||
err := row.Scan(
|
||||
&i.ID,
|
||||
&i.ProfileID,
|
||||
&i.AgentID,
|
||||
&i.Name,
|
||||
&i.Config,
|
||||
&i.Source,
|
||||
&i.Enabled,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
@@ -91,7 +91,7 @@ func (q *Queries) DeleteTcpMiddleware(ctx context.Context, id int64) error {
|
||||
|
||||
const getTcpMiddleware = `-- name: GetTcpMiddleware :one
|
||||
SELECT
|
||||
id, profile_id, name, config, source, enabled, created_at, updated_at
|
||||
id, profile_id, agent_id, name, config, enabled, created_at, updated_at
|
||||
FROM
|
||||
tcp_middlewares
|
||||
WHERE
|
||||
@@ -104,9 +104,9 @@ func (q *Queries) GetTcpMiddleware(ctx context.Context, id int64) (TcpMiddleware
|
||||
err := row.Scan(
|
||||
&i.ID,
|
||||
&i.ProfileID,
|
||||
&i.AgentID,
|
||||
&i.Name,
|
||||
&i.Config,
|
||||
&i.Source,
|
||||
&i.Enabled,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
@@ -114,34 +114,50 @@ func (q *Queries) GetTcpMiddleware(ctx context.Context, id int64) (TcpMiddleware
|
||||
return i, err
|
||||
}
|
||||
|
||||
const getTcpMiddlewareByProfile = `-- name: GetTcpMiddlewareByProfile :one
|
||||
const getTcpMiddlewaresByProfile = `-- name: GetTcpMiddlewaresByProfile :many
|
||||
SELECT
|
||||
id, profile_id, name, config, source, enabled, created_at, updated_at
|
||||
id, profile_id, agent_id, name, config, enabled, created_at, updated_at
|
||||
FROM
|
||||
tcp_middlewares
|
||||
WHERE
|
||||
profile_id = ?
|
||||
`
|
||||
|
||||
func (q *Queries) GetTcpMiddlewareByProfile(ctx context.Context, profileID int64) (TcpMiddleware, error) {
|
||||
row := q.queryRow(ctx, q.getTcpMiddlewareByProfileStmt, getTcpMiddlewareByProfile, profileID)
|
||||
var i TcpMiddleware
|
||||
err := row.Scan(
|
||||
&i.ID,
|
||||
&i.ProfileID,
|
||||
&i.Name,
|
||||
&i.Config,
|
||||
&i.Source,
|
||||
&i.Enabled,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
)
|
||||
return i, err
|
||||
func (q *Queries) GetTcpMiddlewaresByProfile(ctx context.Context, profileID int64) ([]TcpMiddleware, error) {
|
||||
rows, err := q.query(ctx, q.getTcpMiddlewaresByProfileStmt, getTcpMiddlewaresByProfile, profileID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer rows.Close()
|
||||
var items []TcpMiddleware
|
||||
for rows.Next() {
|
||||
var i TcpMiddleware
|
||||
if err := rows.Scan(
|
||||
&i.ID,
|
||||
&i.ProfileID,
|
||||
&i.AgentID,
|
||||
&i.Name,
|
||||
&i.Config,
|
||||
&i.Enabled,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
items = append(items, i)
|
||||
}
|
||||
if err := rows.Close(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if err := rows.Err(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return items, nil
|
||||
}
|
||||
|
||||
const listTcpMiddlewares = `-- name: ListTcpMiddlewares :many
|
||||
SELECT
|
||||
id, profile_id, name, config, source, enabled, created_at, updated_at
|
||||
id, profile_id, agent_id, name, config, enabled, created_at, updated_at
|
||||
FROM
|
||||
tcp_middlewares
|
||||
ORDER BY
|
||||
@@ -169,9 +185,9 @@ func (q *Queries) ListTcpMiddlewares(ctx context.Context, arg ListTcpMiddlewares
|
||||
if err := rows.Scan(
|
||||
&i.ID,
|
||||
&i.ProfileID,
|
||||
&i.AgentID,
|
||||
&i.Name,
|
||||
&i.Config,
|
||||
&i.Source,
|
||||
&i.Enabled,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
@@ -194,17 +210,15 @@ UPDATE tcp_middlewares
|
||||
SET
|
||||
name = ?,
|
||||
config = ?,
|
||||
source = ?,
|
||||
enabled = ?,
|
||||
updated_at = CURRENT_TIMESTAMP
|
||||
WHERE
|
||||
id = ? RETURNING id, profile_id, name, config, source, enabled, created_at, updated_at
|
||||
id = ? RETURNING id, profile_id, agent_id, name, config, enabled, created_at, updated_at
|
||||
`
|
||||
|
||||
type UpdateTcpMiddlewareParams struct {
|
||||
Name string `json:"name"`
|
||||
Config *dynamic.TCPMiddleware `json:"config"`
|
||||
Source *string `json:"source"`
|
||||
Enabled bool `json:"enabled"`
|
||||
ID int64 `json:"id"`
|
||||
}
|
||||
@@ -213,7 +227,6 @@ func (q *Queries) UpdateTcpMiddleware(ctx context.Context, arg UpdateTcpMiddlewa
|
||||
row := q.queryRow(ctx, q.updateTcpMiddlewareStmt, updateTcpMiddleware,
|
||||
arg.Name,
|
||||
arg.Config,
|
||||
arg.Source,
|
||||
arg.Enabled,
|
||||
arg.ID,
|
||||
)
|
||||
@@ -221,9 +234,9 @@ func (q *Queries) UpdateTcpMiddleware(ctx context.Context, arg UpdateTcpMiddlewa
|
||||
err := row.Scan(
|
||||
&i.ID,
|
||||
&i.ProfileID,
|
||||
&i.AgentID,
|
||||
&i.Name,
|
||||
&i.Config,
|
||||
&i.Source,
|
||||
&i.Enabled,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.29.0
|
||||
// sqlc v1.28.0
|
||||
// source: tcp_router_dns_provider.sql
|
||||
|
||||
package db
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.29.0
|
||||
// sqlc v1.28.0
|
||||
// source: tcp_routers.sql
|
||||
|
||||
package db
|
||||
@@ -29,37 +29,37 @@ const createTcpRouter = `-- name: CreateTcpRouter :one
|
||||
INSERT INTO
|
||||
tcp_routers (
|
||||
profile_id,
|
||||
agent_id,
|
||||
name,
|
||||
config,
|
||||
source,
|
||||
created_at,
|
||||
updated_at
|
||||
)
|
||||
VALUES
|
||||
(?, ?, ?, ?, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP) RETURNING id, profile_id, name, config, source, enabled, created_at, updated_at
|
||||
(?, ?, ?, ?, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP) RETURNING id, profile_id, agent_id, name, config, enabled, created_at, updated_at
|
||||
`
|
||||
|
||||
type CreateTcpRouterParams struct {
|
||||
ProfileID int64 `json:"profileId"`
|
||||
AgentID *string `json:"agentId"`
|
||||
Name string `json:"name"`
|
||||
Config *dynamic.TCPRouter `json:"config"`
|
||||
Source *string `json:"source"`
|
||||
}
|
||||
|
||||
func (q *Queries) CreateTcpRouter(ctx context.Context, arg CreateTcpRouterParams) (TcpRouter, error) {
|
||||
row := q.queryRow(ctx, q.createTcpRouterStmt, createTcpRouter,
|
||||
arg.ProfileID,
|
||||
arg.AgentID,
|
||||
arg.Name,
|
||||
arg.Config,
|
||||
arg.Source,
|
||||
)
|
||||
var i TcpRouter
|
||||
err := row.Scan(
|
||||
&i.ID,
|
||||
&i.ProfileID,
|
||||
&i.AgentID,
|
||||
&i.Name,
|
||||
&i.Config,
|
||||
&i.Source,
|
||||
&i.Enabled,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
@@ -80,7 +80,7 @@ func (q *Queries) DeleteTcpRouter(ctx context.Context, id int64) error {
|
||||
|
||||
const getTcpRouter = `-- name: GetTcpRouter :one
|
||||
SELECT
|
||||
id, profile_id, name, config, source, enabled, created_at, updated_at
|
||||
id, profile_id, agent_id, name, config, enabled, created_at, updated_at
|
||||
FROM
|
||||
tcp_routers
|
||||
WHERE
|
||||
@@ -93,9 +93,9 @@ func (q *Queries) GetTcpRouter(ctx context.Context, id int64) (TcpRouter, error)
|
||||
err := row.Scan(
|
||||
&i.ID,
|
||||
&i.ProfileID,
|
||||
&i.AgentID,
|
||||
&i.Name,
|
||||
&i.Config,
|
||||
&i.Source,
|
||||
&i.Enabled,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
@@ -103,34 +103,50 @@ func (q *Queries) GetTcpRouter(ctx context.Context, id int64) (TcpRouter, error)
|
||||
return i, err
|
||||
}
|
||||
|
||||
const getTcpRouterByProfile = `-- name: GetTcpRouterByProfile :one
|
||||
const getTcpRoutersByProfile = `-- name: GetTcpRoutersByProfile :many
|
||||
SELECT
|
||||
id, profile_id, name, config, source, enabled, created_at, updated_at
|
||||
id, profile_id, agent_id, name, config, enabled, created_at, updated_at
|
||||
FROM
|
||||
tcp_routers
|
||||
WHERE
|
||||
profile_id = ?
|
||||
`
|
||||
|
||||
func (q *Queries) GetTcpRouterByProfile(ctx context.Context, profileID int64) (TcpRouter, error) {
|
||||
row := q.queryRow(ctx, q.getTcpRouterByProfileStmt, getTcpRouterByProfile, profileID)
|
||||
var i TcpRouter
|
||||
err := row.Scan(
|
||||
&i.ID,
|
||||
&i.ProfileID,
|
||||
&i.Name,
|
||||
&i.Config,
|
||||
&i.Source,
|
||||
&i.Enabled,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
)
|
||||
return i, err
|
||||
func (q *Queries) GetTcpRoutersByProfile(ctx context.Context, profileID int64) ([]TcpRouter, error) {
|
||||
rows, err := q.query(ctx, q.getTcpRoutersByProfileStmt, getTcpRoutersByProfile, profileID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer rows.Close()
|
||||
var items []TcpRouter
|
||||
for rows.Next() {
|
||||
var i TcpRouter
|
||||
if err := rows.Scan(
|
||||
&i.ID,
|
||||
&i.ProfileID,
|
||||
&i.AgentID,
|
||||
&i.Name,
|
||||
&i.Config,
|
||||
&i.Enabled,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
items = append(items, i)
|
||||
}
|
||||
if err := rows.Close(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if err := rows.Err(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return items, nil
|
||||
}
|
||||
|
||||
const listTcpRouters = `-- name: ListTcpRouters :many
|
||||
SELECT
|
||||
id, profile_id, name, config, source, enabled, created_at, updated_at
|
||||
id, profile_id, agent_id, name, config, enabled, created_at, updated_at
|
||||
FROM
|
||||
tcp_routers
|
||||
ORDER BY
|
||||
@@ -158,9 +174,9 @@ func (q *Queries) ListTcpRouters(ctx context.Context, arg ListTcpRoutersParams)
|
||||
if err := rows.Scan(
|
||||
&i.ID,
|
||||
&i.ProfileID,
|
||||
&i.AgentID,
|
||||
&i.Name,
|
||||
&i.Config,
|
||||
&i.Source,
|
||||
&i.Enabled,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
@@ -183,33 +199,26 @@ UPDATE tcp_routers
|
||||
SET
|
||||
name = ?,
|
||||
config = ?,
|
||||
source = ?,
|
||||
updated_at = CURRENT_TIMESTAMP
|
||||
WHERE
|
||||
id = ? RETURNING id, profile_id, name, config, source, enabled, created_at, updated_at
|
||||
id = ? RETURNING id, profile_id, agent_id, name, config, enabled, created_at, updated_at
|
||||
`
|
||||
|
||||
type UpdateTcpRouterParams struct {
|
||||
Name string `json:"name"`
|
||||
Config *dynamic.TCPRouter `json:"config"`
|
||||
Source *string `json:"source"`
|
||||
ID int64 `json:"id"`
|
||||
}
|
||||
|
||||
func (q *Queries) UpdateTcpRouter(ctx context.Context, arg UpdateTcpRouterParams) (TcpRouter, error) {
|
||||
row := q.queryRow(ctx, q.updateTcpRouterStmt, updateTcpRouter,
|
||||
arg.Name,
|
||||
arg.Config,
|
||||
arg.Source,
|
||||
arg.ID,
|
||||
)
|
||||
row := q.queryRow(ctx, q.updateTcpRouterStmt, updateTcpRouter, arg.Name, arg.Config, arg.ID)
|
||||
var i TcpRouter
|
||||
err := row.Scan(
|
||||
&i.ID,
|
||||
&i.ProfileID,
|
||||
&i.AgentID,
|
||||
&i.Name,
|
||||
&i.Config,
|
||||
&i.Source,
|
||||
&i.Enabled,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.29.0
|
||||
// sqlc v1.28.0
|
||||
// source: tcp_services.sql
|
||||
|
||||
package db
|
||||
@@ -29,37 +29,37 @@ const createTcpService = `-- name: CreateTcpService :one
|
||||
INSERT INTO
|
||||
tcp_services (
|
||||
profile_id,
|
||||
agent_id,
|
||||
name,
|
||||
config,
|
||||
source,
|
||||
created_at,
|
||||
updated_at
|
||||
)
|
||||
VALUES
|
||||
(?, ?, ?, ?, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP) RETURNING id, profile_id, name, config, source, created_at, updated_at
|
||||
(?, ?, ?, ?, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP) RETURNING id, profile_id, agent_id, name, config, created_at, updated_at
|
||||
`
|
||||
|
||||
type CreateTcpServiceParams struct {
|
||||
ProfileID int64 `json:"profileId"`
|
||||
AgentID *string `json:"agentId"`
|
||||
Name string `json:"name"`
|
||||
Config *dynamic.TCPService `json:"config"`
|
||||
Source *string `json:"source"`
|
||||
}
|
||||
|
||||
func (q *Queries) CreateTcpService(ctx context.Context, arg CreateTcpServiceParams) (TcpService, error) {
|
||||
row := q.queryRow(ctx, q.createTcpServiceStmt, createTcpService,
|
||||
arg.ProfileID,
|
||||
arg.AgentID,
|
||||
arg.Name,
|
||||
arg.Config,
|
||||
arg.Source,
|
||||
)
|
||||
var i TcpService
|
||||
err := row.Scan(
|
||||
&i.ID,
|
||||
&i.ProfileID,
|
||||
&i.AgentID,
|
||||
&i.Name,
|
||||
&i.Config,
|
||||
&i.Source,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
)
|
||||
@@ -79,7 +79,7 @@ func (q *Queries) DeleteTcpService(ctx context.Context, id int64) error {
|
||||
|
||||
const getTcpService = `-- name: GetTcpService :one
|
||||
SELECT
|
||||
id, profile_id, name, config, source, created_at, updated_at
|
||||
id, profile_id, agent_id, name, config, created_at, updated_at
|
||||
FROM
|
||||
tcp_services
|
||||
WHERE
|
||||
@@ -92,42 +92,58 @@ func (q *Queries) GetTcpService(ctx context.Context, id int64) (TcpService, erro
|
||||
err := row.Scan(
|
||||
&i.ID,
|
||||
&i.ProfileID,
|
||||
&i.AgentID,
|
||||
&i.Name,
|
||||
&i.Config,
|
||||
&i.Source,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
)
|
||||
return i, err
|
||||
}
|
||||
|
||||
const getTcpServiceByProfile = `-- name: GetTcpServiceByProfile :one
|
||||
const getTcpServicesByProfile = `-- name: GetTcpServicesByProfile :many
|
||||
SELECT
|
||||
id, profile_id, name, config, source, created_at, updated_at
|
||||
id, profile_id, agent_id, name, config, created_at, updated_at
|
||||
FROM
|
||||
tcp_services
|
||||
WHERE
|
||||
profile_id = ?
|
||||
`
|
||||
|
||||
func (q *Queries) GetTcpServiceByProfile(ctx context.Context, profileID int64) (TcpService, error) {
|
||||
row := q.queryRow(ctx, q.getTcpServiceByProfileStmt, getTcpServiceByProfile, profileID)
|
||||
var i TcpService
|
||||
err := row.Scan(
|
||||
&i.ID,
|
||||
&i.ProfileID,
|
||||
&i.Name,
|
||||
&i.Config,
|
||||
&i.Source,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
)
|
||||
return i, err
|
||||
func (q *Queries) GetTcpServicesByProfile(ctx context.Context, profileID int64) ([]TcpService, error) {
|
||||
rows, err := q.query(ctx, q.getTcpServicesByProfileStmt, getTcpServicesByProfile, profileID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer rows.Close()
|
||||
var items []TcpService
|
||||
for rows.Next() {
|
||||
var i TcpService
|
||||
if err := rows.Scan(
|
||||
&i.ID,
|
||||
&i.ProfileID,
|
||||
&i.AgentID,
|
||||
&i.Name,
|
||||
&i.Config,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
items = append(items, i)
|
||||
}
|
||||
if err := rows.Close(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if err := rows.Err(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return items, nil
|
||||
}
|
||||
|
||||
const listTcpServices = `-- name: ListTcpServices :many
|
||||
SELECT
|
||||
id, profile_id, name, config, source, created_at, updated_at
|
||||
id, profile_id, agent_id, name, config, created_at, updated_at
|
||||
FROM
|
||||
tcp_services
|
||||
ORDER BY
|
||||
@@ -155,9 +171,9 @@ func (q *Queries) ListTcpServices(ctx context.Context, arg ListTcpServicesParams
|
||||
if err := rows.Scan(
|
||||
&i.ID,
|
||||
&i.ProfileID,
|
||||
&i.AgentID,
|
||||
&i.Name,
|
||||
&i.Config,
|
||||
&i.Source,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
); err != nil {
|
||||
@@ -179,33 +195,26 @@ UPDATE tcp_services
|
||||
SET
|
||||
name = ?,
|
||||
config = ?,
|
||||
source = ?,
|
||||
updated_at = CURRENT_TIMESTAMP
|
||||
WHERE
|
||||
id = ? RETURNING id, profile_id, name, config, source, created_at, updated_at
|
||||
id = ? RETURNING id, profile_id, agent_id, name, config, created_at, updated_at
|
||||
`
|
||||
|
||||
type UpdateTcpServiceParams struct {
|
||||
Name string `json:"name"`
|
||||
Config *dynamic.TCPService `json:"config"`
|
||||
Source *string `json:"source"`
|
||||
ID int64 `json:"id"`
|
||||
}
|
||||
|
||||
func (q *Queries) UpdateTcpService(ctx context.Context, arg UpdateTcpServiceParams) (TcpService, error) {
|
||||
row := q.queryRow(ctx, q.updateTcpServiceStmt, updateTcpService,
|
||||
arg.Name,
|
||||
arg.Config,
|
||||
arg.Source,
|
||||
arg.ID,
|
||||
)
|
||||
row := q.queryRow(ctx, q.updateTcpServiceStmt, updateTcpService, arg.Name, arg.Config, arg.ID)
|
||||
var i TcpService
|
||||
err := row.Scan(
|
||||
&i.ID,
|
||||
&i.ProfileID,
|
||||
&i.AgentID,
|
||||
&i.Name,
|
||||
&i.Config,
|
||||
&i.Source,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.29.0
|
||||
// sqlc v1.28.0
|
||||
// source: traefik_instances.sql
|
||||
|
||||
package db
|
||||
@@ -30,10 +30,10 @@ INSERT INTO
|
||||
traefik_instances (
|
||||
id,
|
||||
profile_id,
|
||||
entrypoints,
|
||||
overview,
|
||||
config,
|
||||
version,
|
||||
url,
|
||||
username,
|
||||
password,
|
||||
tls,
|
||||
created_at,
|
||||
updated_at
|
||||
)
|
||||
@@ -47,26 +47,26 @@ VALUES
|
||||
?,
|
||||
CURRENT_TIMESTAMP,
|
||||
CURRENT_TIMESTAMP
|
||||
) RETURNING id, profile_id, entrypoints, overview, config, version, created_at, updated_at
|
||||
) RETURNING id, profile_id, entrypoints, overview, config, version, url, username, password, tls, created_at, updated_at
|
||||
`
|
||||
|
||||
type CreateTraefikInstanceParams struct {
|
||||
ID int64 `json:"id"`
|
||||
ProfileID int64 `json:"profileId"`
|
||||
Entrypoints *schema.EntryPoint `json:"entrypoints"`
|
||||
Overview *schema.Overview `json:"overview"`
|
||||
Config *schema.Configuration `json:"config"`
|
||||
Version *string `json:"version"`
|
||||
ID int64 `json:"id"`
|
||||
ProfileID int64 `json:"profileId"`
|
||||
Url string `json:"url"`
|
||||
Username *string `json:"username"`
|
||||
Password *string `json:"password"`
|
||||
Tls bool `json:"tls"`
|
||||
}
|
||||
|
||||
func (q *Queries) CreateTraefikInstance(ctx context.Context, arg CreateTraefikInstanceParams) (TraefikInstance, error) {
|
||||
row := q.queryRow(ctx, q.createTraefikInstanceStmt, createTraefikInstance,
|
||||
arg.ID,
|
||||
arg.ProfileID,
|
||||
arg.Entrypoints,
|
||||
arg.Overview,
|
||||
arg.Config,
|
||||
arg.Version,
|
||||
arg.Url,
|
||||
arg.Username,
|
||||
arg.Password,
|
||||
arg.Tls,
|
||||
)
|
||||
var i TraefikInstance
|
||||
err := row.Scan(
|
||||
@@ -76,6 +76,10 @@ func (q *Queries) CreateTraefikInstance(ctx context.Context, arg CreateTraefikIn
|
||||
&i.Overview,
|
||||
&i.Config,
|
||||
&i.Version,
|
||||
&i.Url,
|
||||
&i.Username,
|
||||
&i.Password,
|
||||
&i.Tls,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
)
|
||||
@@ -95,7 +99,7 @@ func (q *Queries) DeleteTraefikInstance(ctx context.Context, id int64) error {
|
||||
|
||||
const getTraefikInstance = `-- name: GetTraefikInstance :one
|
||||
SELECT
|
||||
id, profile_id, entrypoints, overview, config, version, created_at, updated_at
|
||||
id, profile_id, entrypoints, overview, config, version, url, username, password, tls, created_at, updated_at
|
||||
FROM
|
||||
traefik_instances
|
||||
WHERE
|
||||
@@ -112,6 +116,10 @@ func (q *Queries) GetTraefikInstance(ctx context.Context, id int64) (TraefikInst
|
||||
&i.Overview,
|
||||
&i.Config,
|
||||
&i.Version,
|
||||
&i.Url,
|
||||
&i.Username,
|
||||
&i.Password,
|
||||
&i.Tls,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
)
|
||||
@@ -120,7 +128,7 @@ func (q *Queries) GetTraefikInstance(ctx context.Context, id int64) (TraefikInst
|
||||
|
||||
const getTraefikInstanceByProfile = `-- name: GetTraefikInstanceByProfile :one
|
||||
SELECT
|
||||
id, profile_id, entrypoints, overview, config, version, created_at, updated_at
|
||||
id, profile_id, entrypoints, overview, config, version, url, username, password, tls, created_at, updated_at
|
||||
FROM
|
||||
traefik_instances
|
||||
WHERE
|
||||
@@ -137,6 +145,10 @@ func (q *Queries) GetTraefikInstanceByProfile(ctx context.Context, profileID int
|
||||
&i.Overview,
|
||||
&i.Config,
|
||||
&i.Version,
|
||||
&i.Url,
|
||||
&i.Username,
|
||||
&i.Password,
|
||||
&i.Tls,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
)
|
||||
@@ -145,7 +157,7 @@ func (q *Queries) GetTraefikInstanceByProfile(ctx context.Context, profileID int
|
||||
|
||||
const listTraefikInstances = `-- name: ListTraefikInstances :many
|
||||
SELECT
|
||||
id, profile_id, entrypoints, overview, config, version, created_at, updated_at
|
||||
id, profile_id, entrypoints, overview, config, version, url, username, password, tls, created_at, updated_at
|
||||
FROM
|
||||
traefik_instances
|
||||
ORDER BY
|
||||
@@ -168,6 +180,10 @@ func (q *Queries) ListTraefikInstances(ctx context.Context) ([]TraefikInstance,
|
||||
&i.Overview,
|
||||
&i.Config,
|
||||
&i.Version,
|
||||
&i.Url,
|
||||
&i.Username,
|
||||
&i.Password,
|
||||
&i.Tls,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
); err != nil {
|
||||
@@ -187,17 +203,25 @@ func (q *Queries) ListTraefikInstances(ctx context.Context) ([]TraefikInstance,
|
||||
const updateTraefikInstance = `-- name: UpdateTraefikInstance :one
|
||||
UPDATE traefik_instances
|
||||
SET
|
||||
url = ?,
|
||||
username = ?,
|
||||
password = ?,
|
||||
tls = ?,
|
||||
entrypoints = ?,
|
||||
overview = ?,
|
||||
config = ?,
|
||||
version = ?,
|
||||
updated_at = CURRENT_TIMESTAMP
|
||||
WHERE
|
||||
id = ? RETURNING id, profile_id, entrypoints, overview, config, version, created_at, updated_at
|
||||
id = ? RETURNING id, profile_id, entrypoints, overview, config, version, url, username, password, tls, created_at, updated_at
|
||||
`
|
||||
|
||||
type UpdateTraefikInstanceParams struct {
|
||||
Entrypoints *schema.EntryPoint `json:"entrypoints"`
|
||||
Url string `json:"url"`
|
||||
Username *string `json:"username"`
|
||||
Password *string `json:"password"`
|
||||
Tls bool `json:"tls"`
|
||||
Entrypoints *schema.EntryPoints `json:"entrypoints"`
|
||||
Overview *schema.Overview `json:"overview"`
|
||||
Config *schema.Configuration `json:"config"`
|
||||
Version *string `json:"version"`
|
||||
@@ -206,6 +230,10 @@ type UpdateTraefikInstanceParams struct {
|
||||
|
||||
func (q *Queries) UpdateTraefikInstance(ctx context.Context, arg UpdateTraefikInstanceParams) (TraefikInstance, error) {
|
||||
row := q.queryRow(ctx, q.updateTraefikInstanceStmt, updateTraefikInstance,
|
||||
arg.Url,
|
||||
arg.Username,
|
||||
arg.Password,
|
||||
arg.Tls,
|
||||
arg.Entrypoints,
|
||||
arg.Overview,
|
||||
arg.Config,
|
||||
@@ -220,6 +248,10 @@ func (q *Queries) UpdateTraefikInstance(ctx context.Context, arg UpdateTraefikIn
|
||||
&i.Overview,
|
||||
&i.Config,
|
||||
&i.Version,
|
||||
&i.Url,
|
||||
&i.Username,
|
||||
&i.Password,
|
||||
&i.Tls,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.29.0
|
||||
// sqlc v1.28.0
|
||||
// source: udp_router_dns_provider.sql
|
||||
|
||||
package db
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.29.0
|
||||
// sqlc v1.28.0
|
||||
// source: udp_routers.sql
|
||||
|
||||
package db
|
||||
@@ -29,37 +29,37 @@ const createUdpRouter = `-- name: CreateUdpRouter :one
|
||||
INSERT INTO
|
||||
udp_routers (
|
||||
profile_id,
|
||||
agent_id,
|
||||
name,
|
||||
config,
|
||||
source,
|
||||
created_at,
|
||||
updated_at
|
||||
)
|
||||
VALUES
|
||||
(?, ?, ?, ?, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP) RETURNING id, profile_id, name, config, source, enabled, created_at, updated_at
|
||||
(?, ?, ?, ?, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP) RETURNING id, profile_id, agent_id, name, config, enabled, created_at, updated_at
|
||||
`
|
||||
|
||||
type CreateUdpRouterParams struct {
|
||||
ProfileID int64 `json:"profileId"`
|
||||
AgentID *string `json:"agentId"`
|
||||
Name string `json:"name"`
|
||||
Config *dynamic.UDPRouter `json:"config"`
|
||||
Source *string `json:"source"`
|
||||
}
|
||||
|
||||
func (q *Queries) CreateUdpRouter(ctx context.Context, arg CreateUdpRouterParams) (UdpRouter, error) {
|
||||
row := q.queryRow(ctx, q.createUdpRouterStmt, createUdpRouter,
|
||||
arg.ProfileID,
|
||||
arg.AgentID,
|
||||
arg.Name,
|
||||
arg.Config,
|
||||
arg.Source,
|
||||
)
|
||||
var i UdpRouter
|
||||
err := row.Scan(
|
||||
&i.ID,
|
||||
&i.ProfileID,
|
||||
&i.AgentID,
|
||||
&i.Name,
|
||||
&i.Config,
|
||||
&i.Source,
|
||||
&i.Enabled,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
@@ -80,7 +80,7 @@ func (q *Queries) DeleteUdpRouter(ctx context.Context, id int64) error {
|
||||
|
||||
const getUdpRouter = `-- name: GetUdpRouter :one
|
||||
SELECT
|
||||
id, profile_id, name, config, source, enabled, created_at, updated_at
|
||||
id, profile_id, agent_id, name, config, enabled, created_at, updated_at
|
||||
FROM
|
||||
udp_routers
|
||||
WHERE
|
||||
@@ -93,9 +93,9 @@ func (q *Queries) GetUdpRouter(ctx context.Context, id int64) (UdpRouter, error)
|
||||
err := row.Scan(
|
||||
&i.ID,
|
||||
&i.ProfileID,
|
||||
&i.AgentID,
|
||||
&i.Name,
|
||||
&i.Config,
|
||||
&i.Source,
|
||||
&i.Enabled,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
@@ -103,34 +103,50 @@ func (q *Queries) GetUdpRouter(ctx context.Context, id int64) (UdpRouter, error)
|
||||
return i, err
|
||||
}
|
||||
|
||||
const getUdpRouterByProfile = `-- name: GetUdpRouterByProfile :one
|
||||
const getUdpRoutersByProfile = `-- name: GetUdpRoutersByProfile :many
|
||||
SELECT
|
||||
id, profile_id, name, config, source, enabled, created_at, updated_at
|
||||
id, profile_id, agent_id, name, config, enabled, created_at, updated_at
|
||||
FROM
|
||||
udp_routers
|
||||
WHERE
|
||||
profile_id = ?
|
||||
`
|
||||
|
||||
func (q *Queries) GetUdpRouterByProfile(ctx context.Context, profileID int64) (UdpRouter, error) {
|
||||
row := q.queryRow(ctx, q.getUdpRouterByProfileStmt, getUdpRouterByProfile, profileID)
|
||||
var i UdpRouter
|
||||
err := row.Scan(
|
||||
&i.ID,
|
||||
&i.ProfileID,
|
||||
&i.Name,
|
||||
&i.Config,
|
||||
&i.Source,
|
||||
&i.Enabled,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
)
|
||||
return i, err
|
||||
func (q *Queries) GetUdpRoutersByProfile(ctx context.Context, profileID int64) ([]UdpRouter, error) {
|
||||
rows, err := q.query(ctx, q.getUdpRoutersByProfileStmt, getUdpRoutersByProfile, profileID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer rows.Close()
|
||||
var items []UdpRouter
|
||||
for rows.Next() {
|
||||
var i UdpRouter
|
||||
if err := rows.Scan(
|
||||
&i.ID,
|
||||
&i.ProfileID,
|
||||
&i.AgentID,
|
||||
&i.Name,
|
||||
&i.Config,
|
||||
&i.Enabled,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
items = append(items, i)
|
||||
}
|
||||
if err := rows.Close(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if err := rows.Err(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return items, nil
|
||||
}
|
||||
|
||||
const listUdpRouters = `-- name: ListUdpRouters :many
|
||||
SELECT
|
||||
id, profile_id, name, config, source, enabled, created_at, updated_at
|
||||
id, profile_id, agent_id, name, config, enabled, created_at, updated_at
|
||||
FROM
|
||||
udp_routers
|
||||
ORDER BY
|
||||
@@ -158,9 +174,9 @@ func (q *Queries) ListUdpRouters(ctx context.Context, arg ListUdpRoutersParams)
|
||||
if err := rows.Scan(
|
||||
&i.ID,
|
||||
&i.ProfileID,
|
||||
&i.AgentID,
|
||||
&i.Name,
|
||||
&i.Config,
|
||||
&i.Source,
|
||||
&i.Enabled,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
@@ -183,33 +199,26 @@ UPDATE udp_routers
|
||||
SET
|
||||
name = ?,
|
||||
config = ?,
|
||||
source = ?,
|
||||
updated_at = CURRENT_TIMESTAMP
|
||||
WHERE
|
||||
id = ? RETURNING id, profile_id, name, config, source, enabled, created_at, updated_at
|
||||
id = ? RETURNING id, profile_id, agent_id, name, config, enabled, created_at, updated_at
|
||||
`
|
||||
|
||||
type UpdateUdpRouterParams struct {
|
||||
Name string `json:"name"`
|
||||
Config *dynamic.UDPRouter `json:"config"`
|
||||
Source *string `json:"source"`
|
||||
ID int64 `json:"id"`
|
||||
}
|
||||
|
||||
func (q *Queries) UpdateUdpRouter(ctx context.Context, arg UpdateUdpRouterParams) (UdpRouter, error) {
|
||||
row := q.queryRow(ctx, q.updateUdpRouterStmt, updateUdpRouter,
|
||||
arg.Name,
|
||||
arg.Config,
|
||||
arg.Source,
|
||||
arg.ID,
|
||||
)
|
||||
row := q.queryRow(ctx, q.updateUdpRouterStmt, updateUdpRouter, arg.Name, arg.Config, arg.ID)
|
||||
var i UdpRouter
|
||||
err := row.Scan(
|
||||
&i.ID,
|
||||
&i.ProfileID,
|
||||
&i.AgentID,
|
||||
&i.Name,
|
||||
&i.Config,
|
||||
&i.Source,
|
||||
&i.Enabled,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.29.0
|
||||
// sqlc v1.28.0
|
||||
// source: udp_services.sql
|
||||
|
||||
package db
|
||||
@@ -29,37 +29,37 @@ const createUdpService = `-- name: CreateUdpService :one
|
||||
INSERT INTO
|
||||
udp_services (
|
||||
profile_id,
|
||||
agent_id,
|
||||
name,
|
||||
config,
|
||||
source,
|
||||
created_at,
|
||||
updated_at
|
||||
)
|
||||
VALUES
|
||||
(?, ?, ?, ?, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP) RETURNING id, profile_id, name, config, source, created_at, updated_at
|
||||
(?, ?, ?, ?, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP) RETURNING id, profile_id, agent_id, name, config, created_at, updated_at
|
||||
`
|
||||
|
||||
type CreateUdpServiceParams struct {
|
||||
ProfileID int64 `json:"profileId"`
|
||||
AgentID *string `json:"agentId"`
|
||||
Name string `json:"name"`
|
||||
Config *dynamic.UDPService `json:"config"`
|
||||
Source *string `json:"source"`
|
||||
}
|
||||
|
||||
func (q *Queries) CreateUdpService(ctx context.Context, arg CreateUdpServiceParams) (UdpService, error) {
|
||||
row := q.queryRow(ctx, q.createUdpServiceStmt, createUdpService,
|
||||
arg.ProfileID,
|
||||
arg.AgentID,
|
||||
arg.Name,
|
||||
arg.Config,
|
||||
arg.Source,
|
||||
)
|
||||
var i UdpService
|
||||
err := row.Scan(
|
||||
&i.ID,
|
||||
&i.ProfileID,
|
||||
&i.AgentID,
|
||||
&i.Name,
|
||||
&i.Config,
|
||||
&i.Source,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
)
|
||||
@@ -79,7 +79,7 @@ func (q *Queries) DeleteUdpService(ctx context.Context, id int64) error {
|
||||
|
||||
const getUdpService = `-- name: GetUdpService :one
|
||||
SELECT
|
||||
id, profile_id, name, config, source, created_at, updated_at
|
||||
id, profile_id, agent_id, name, config, created_at, updated_at
|
||||
FROM
|
||||
udp_services
|
||||
WHERE
|
||||
@@ -92,42 +92,58 @@ func (q *Queries) GetUdpService(ctx context.Context, id int64) (UdpService, erro
|
||||
err := row.Scan(
|
||||
&i.ID,
|
||||
&i.ProfileID,
|
||||
&i.AgentID,
|
||||
&i.Name,
|
||||
&i.Config,
|
||||
&i.Source,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
)
|
||||
return i, err
|
||||
}
|
||||
|
||||
const getUdpServiceByProfile = `-- name: GetUdpServiceByProfile :one
|
||||
const getUdpServicesByProfile = `-- name: GetUdpServicesByProfile :many
|
||||
SELECT
|
||||
id, profile_id, name, config, source, created_at, updated_at
|
||||
id, profile_id, agent_id, name, config, created_at, updated_at
|
||||
FROM
|
||||
udp_services
|
||||
WHERE
|
||||
profile_id = ?
|
||||
`
|
||||
|
||||
func (q *Queries) GetUdpServiceByProfile(ctx context.Context, profileID int64) (UdpService, error) {
|
||||
row := q.queryRow(ctx, q.getUdpServiceByProfileStmt, getUdpServiceByProfile, profileID)
|
||||
var i UdpService
|
||||
err := row.Scan(
|
||||
&i.ID,
|
||||
&i.ProfileID,
|
||||
&i.Name,
|
||||
&i.Config,
|
||||
&i.Source,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
)
|
||||
return i, err
|
||||
func (q *Queries) GetUdpServicesByProfile(ctx context.Context, profileID int64) ([]UdpService, error) {
|
||||
rows, err := q.query(ctx, q.getUdpServicesByProfileStmt, getUdpServicesByProfile, profileID)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer rows.Close()
|
||||
var items []UdpService
|
||||
for rows.Next() {
|
||||
var i UdpService
|
||||
if err := rows.Scan(
|
||||
&i.ID,
|
||||
&i.ProfileID,
|
||||
&i.AgentID,
|
||||
&i.Name,
|
||||
&i.Config,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
items = append(items, i)
|
||||
}
|
||||
if err := rows.Close(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if err := rows.Err(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return items, nil
|
||||
}
|
||||
|
||||
const listUdpServices = `-- name: ListUdpServices :many
|
||||
SELECT
|
||||
id, profile_id, name, config, source, created_at, updated_at
|
||||
id, profile_id, agent_id, name, config, created_at, updated_at
|
||||
FROM
|
||||
udp_services
|
||||
ORDER BY
|
||||
@@ -155,9 +171,9 @@ func (q *Queries) ListUdpServices(ctx context.Context, arg ListUdpServicesParams
|
||||
if err := rows.Scan(
|
||||
&i.ID,
|
||||
&i.ProfileID,
|
||||
&i.AgentID,
|
||||
&i.Name,
|
||||
&i.Config,
|
||||
&i.Source,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
); err != nil {
|
||||
@@ -179,33 +195,26 @@ UPDATE udp_services
|
||||
SET
|
||||
name = ?,
|
||||
config = ?,
|
||||
source = ?,
|
||||
updated_at = CURRENT_TIMESTAMP
|
||||
WHERE
|
||||
id = ? RETURNING id, profile_id, name, config, source, created_at, updated_at
|
||||
id = ? RETURNING id, profile_id, agent_id, name, config, created_at, updated_at
|
||||
`
|
||||
|
||||
type UpdateUdpServiceParams struct {
|
||||
Name string `json:"name"`
|
||||
Config *dynamic.UDPService `json:"config"`
|
||||
Source *string `json:"source"`
|
||||
ID int64 `json:"id"`
|
||||
}
|
||||
|
||||
func (q *Queries) UpdateUdpService(ctx context.Context, arg UpdateUdpServiceParams) (UdpService, error) {
|
||||
row := q.queryRow(ctx, q.updateUdpServiceStmt, updateUdpService,
|
||||
arg.Name,
|
||||
arg.Config,
|
||||
arg.Source,
|
||||
arg.ID,
|
||||
)
|
||||
row := q.queryRow(ctx, q.updateUdpServiceStmt, updateUdpService, arg.Name, arg.Config, arg.ID)
|
||||
var i UdpService
|
||||
err := row.Scan(
|
||||
&i.ID,
|
||||
&i.ProfileID,
|
||||
&i.AgentID,
|
||||
&i.Name,
|
||||
&i.Config,
|
||||
&i.Source,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
)
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by sqlc. DO NOT EDIT.
|
||||
// versions:
|
||||
// sqlc v1.29.0
|
||||
// sqlc v1.28.0
|
||||
// source: users.sql
|
||||
|
||||
package db
|
||||
@@ -26,12 +26,13 @@ func (q *Queries) CountUsers(ctx context.Context) (int64, error) {
|
||||
|
||||
const createUser = `-- name: CreateUser :one
|
||||
INSERT INTO
|
||||
users (username, password, email, is_admin)
|
||||
users (id, username, password, email, is_admin)
|
||||
VALUES
|
||||
(?, ?, ?, ?) RETURNING id, username, password, email, is_admin, otp, otp_expiry, last_login, created_at, updated_at
|
||||
(?, ?, ?, ?, ?) RETURNING id, username, password, email, is_admin, otp, otp_expiry, last_login, created_at, updated_at
|
||||
`
|
||||
|
||||
type CreateUserParams struct {
|
||||
ID string `json:"id"`
|
||||
Username string `json:"username"`
|
||||
Password string `json:"password"`
|
||||
Email *string `json:"email"`
|
||||
@@ -40,6 +41,7 @@ type CreateUserParams struct {
|
||||
|
||||
func (q *Queries) CreateUser(ctx context.Context, arg CreateUserParams) (User, error) {
|
||||
row := q.queryRow(ctx, q.createUserStmt, createUser,
|
||||
arg.ID,
|
||||
arg.Username,
|
||||
arg.Password,
|
||||
arg.Email,
|
||||
@@ -153,6 +155,60 @@ func (q *Queries) GetUserByUsername(ctx context.Context, username string) (User,
|
||||
return i, err
|
||||
}
|
||||
|
||||
const listAdminUsers = `-- name: ListAdminUsers :many
|
||||
SELECT
|
||||
id, username, password, email, is_admin, otp, otp_expiry, last_login, created_at, updated_at
|
||||
FROM
|
||||
users
|
||||
WHERE
|
||||
is_admin = TRUE
|
||||
ORDER BY
|
||||
username
|
||||
LIMIT
|
||||
?
|
||||
OFFSET
|
||||
?
|
||||
`
|
||||
|
||||
type ListAdminUsersParams struct {
|
||||
Limit int64 `json:"limit"`
|
||||
Offset int64 `json:"offset"`
|
||||
}
|
||||
|
||||
func (q *Queries) ListAdminUsers(ctx context.Context, arg ListAdminUsersParams) ([]User, error) {
|
||||
rows, err := q.query(ctx, q.listAdminUsersStmt, listAdminUsers, arg.Limit, arg.Offset)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
defer rows.Close()
|
||||
var items []User
|
||||
for rows.Next() {
|
||||
var i User
|
||||
if err := rows.Scan(
|
||||
&i.ID,
|
||||
&i.Username,
|
||||
&i.Password,
|
||||
&i.Email,
|
||||
&i.IsAdmin,
|
||||
&i.Otp,
|
||||
&i.OtpExpiry,
|
||||
&i.LastLogin,
|
||||
&i.CreatedAt,
|
||||
&i.UpdatedAt,
|
||||
); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
items = append(items, i)
|
||||
}
|
||||
if err := rows.Close(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if err := rows.Err(); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return items, nil
|
||||
}
|
||||
|
||||
const listUsers = `-- name: ListUsers :many
|
||||
SELECT
|
||||
id, username, password, email, is_admin, otp, otp_expiry, last_login, created_at, updated_at
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
-- name: CreateAgent :exec
|
||||
-- name: CreateAgent :one
|
||||
INSERT INTO
|
||||
agents (id, profile_id, token, created_at)
|
||||
VALUES
|
||||
(?, ?, ?, CURRENT_TIMESTAMP);
|
||||
(?, ?, ?, CURRENT_TIMESTAMP) RETURNING *;
|
||||
|
||||
-- name: GetAgent :one
|
||||
SELECT
|
||||
@@ -13,20 +13,24 @@ WHERE
|
||||
id = ?;
|
||||
|
||||
-- name: ListAgents :many
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
agents
|
||||
ORDER BY
|
||||
hostname;
|
||||
|
||||
-- name: ListAgentsByProfile :many
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
agents
|
||||
WHERE
|
||||
profile_id = ?;
|
||||
profile_id = ?
|
||||
ORDER BY
|
||||
created_at DESC
|
||||
LIMIT
|
||||
?
|
||||
OFFSET
|
||||
?;
|
||||
|
||||
-- name: CountAgents :one
|
||||
SELECT
|
||||
COUNT(*)
|
||||
FROM
|
||||
agents;
|
||||
|
||||
-- name: UpdateAgent :one
|
||||
UPDATE agents
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
INSERT INTO
|
||||
http_middlewares (
|
||||
profile_id,
|
||||
agent_id,
|
||||
name,
|
||||
config,
|
||||
source,
|
||||
enabled,
|
||||
created_at,
|
||||
updated_at
|
||||
@@ -28,7 +28,7 @@ FROM
|
||||
WHERE
|
||||
id = ?;
|
||||
|
||||
-- name: GetHttpMiddlewareByProfile :one
|
||||
-- name: GetHttpMiddlewaresByProfile :many
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
@@ -59,7 +59,6 @@ UPDATE http_middlewares
|
||||
SET
|
||||
name = ?,
|
||||
config = ?,
|
||||
source = ?,
|
||||
enabled = ?,
|
||||
updated_at = CURRENT_TIMESTAMP
|
||||
WHERE
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
INSERT INTO
|
||||
http_routers (
|
||||
profile_id,
|
||||
agent_id,
|
||||
name,
|
||||
config,
|
||||
source,
|
||||
created_at,
|
||||
updated_at
|
||||
)
|
||||
@@ -19,7 +19,7 @@ FROM
|
||||
WHERE
|
||||
id = ?;
|
||||
|
||||
-- name: GetHttpRouterByProfile :one
|
||||
-- name: GetHttpRoutersByProfile :many
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
@@ -50,7 +50,6 @@ UPDATE http_routers
|
||||
SET
|
||||
name = ?,
|
||||
config = ?,
|
||||
source = ?,
|
||||
updated_at = CURRENT_TIMESTAMP
|
||||
WHERE
|
||||
id = ? RETURNING *;
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
INSERT INTO
|
||||
http_services (
|
||||
profile_id,
|
||||
agent_id,
|
||||
name,
|
||||
config,
|
||||
source,
|
||||
created_at,
|
||||
updated_at
|
||||
)
|
||||
@@ -19,7 +19,7 @@ FROM
|
||||
WHERE
|
||||
id = ?;
|
||||
|
||||
-- name: GetHttpServiceByProfile :one
|
||||
-- name: GetHttpServicesByProfile :many
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
@@ -50,7 +50,6 @@ UPDATE http_services
|
||||
SET
|
||||
name = ?,
|
||||
config = ?,
|
||||
source = ?,
|
||||
updated_at = CURRENT_TIMESTAMP
|
||||
WHERE
|
||||
id = ? RETURNING *;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
-- name: CreateProfile :one
|
||||
INSERT INTO
|
||||
profiles (id, name, description, created_at, updated_at)
|
||||
profiles (name, description, created_at, updated_at)
|
||||
VALUES
|
||||
(?, ?, ?, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP) RETURNING *;
|
||||
(?, ?, CURRENT_TIMESTAMP, CURRENT_TIMESTAMP) RETURNING *;
|
||||
|
||||
-- name: GetProfile :one
|
||||
SELECT
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
INSERT INTO
|
||||
tcp_middlewares (
|
||||
profile_id,
|
||||
agent_id,
|
||||
name,
|
||||
config,
|
||||
source,
|
||||
enabled,
|
||||
created_at,
|
||||
updated_at
|
||||
@@ -28,7 +28,7 @@ FROM
|
||||
WHERE
|
||||
id = ?;
|
||||
|
||||
-- name: GetTcpMiddlewareByProfile :one
|
||||
-- name: GetTcpMiddlewaresByProfile :many
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
@@ -59,7 +59,6 @@ UPDATE tcp_middlewares
|
||||
SET
|
||||
name = ?,
|
||||
config = ?,
|
||||
source = ?,
|
||||
enabled = ?,
|
||||
updated_at = CURRENT_TIMESTAMP
|
||||
WHERE
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
INSERT INTO
|
||||
tcp_routers (
|
||||
profile_id,
|
||||
agent_id,
|
||||
name,
|
||||
config,
|
||||
source,
|
||||
created_at,
|
||||
updated_at
|
||||
)
|
||||
@@ -19,7 +19,7 @@ FROM
|
||||
WHERE
|
||||
id = ?;
|
||||
|
||||
-- name: GetTcpRouterByProfile :one
|
||||
-- name: GetTcpRoutersByProfile :many
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
@@ -50,7 +50,6 @@ UPDATE tcp_routers
|
||||
SET
|
||||
name = ?,
|
||||
config = ?,
|
||||
source = ?,
|
||||
updated_at = CURRENT_TIMESTAMP
|
||||
WHERE
|
||||
id = ? RETURNING *;
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
INSERT INTO
|
||||
tcp_services (
|
||||
profile_id,
|
||||
agent_id,
|
||||
name,
|
||||
config,
|
||||
source,
|
||||
created_at,
|
||||
updated_at
|
||||
)
|
||||
@@ -19,7 +19,7 @@ FROM
|
||||
WHERE
|
||||
id = ?;
|
||||
|
||||
-- name: GetTcpServiceByProfile :one
|
||||
-- name: GetTcpServicesByProfile :many
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
@@ -50,7 +50,6 @@ UPDATE tcp_services
|
||||
SET
|
||||
name = ?,
|
||||
config = ?,
|
||||
source = ?,
|
||||
updated_at = CURRENT_TIMESTAMP
|
||||
WHERE
|
||||
id = ? RETURNING *;
|
||||
|
||||
@@ -3,10 +3,10 @@ INSERT INTO
|
||||
traefik_instances (
|
||||
id,
|
||||
profile_id,
|
||||
entrypoints,
|
||||
overview,
|
||||
config,
|
||||
version,
|
||||
url,
|
||||
username,
|
||||
password,
|
||||
tls,
|
||||
created_at,
|
||||
updated_at
|
||||
)
|
||||
@@ -55,6 +55,10 @@ FROM
|
||||
-- name: UpdateTraefikInstance :one
|
||||
UPDATE traefik_instances
|
||||
SET
|
||||
url = ?,
|
||||
username = ?,
|
||||
password = ?,
|
||||
tls = ?,
|
||||
entrypoints = ?,
|
||||
overview = ?,
|
||||
config = ?,
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
INSERT INTO
|
||||
udp_routers (
|
||||
profile_id,
|
||||
agent_id,
|
||||
name,
|
||||
config,
|
||||
source,
|
||||
created_at,
|
||||
updated_at
|
||||
)
|
||||
@@ -19,7 +19,7 @@ FROM
|
||||
WHERE
|
||||
id = ?;
|
||||
|
||||
-- name: GetUdpRouterByProfile :one
|
||||
-- name: GetUdpRoutersByProfile :many
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
@@ -50,7 +50,6 @@ UPDATE udp_routers
|
||||
SET
|
||||
name = ?,
|
||||
config = ?,
|
||||
source = ?,
|
||||
updated_at = CURRENT_TIMESTAMP
|
||||
WHERE
|
||||
id = ? RETURNING *;
|
||||
|
||||
@@ -2,9 +2,9 @@
|
||||
INSERT INTO
|
||||
udp_services (
|
||||
profile_id,
|
||||
agent_id,
|
||||
name,
|
||||
config,
|
||||
source,
|
||||
created_at,
|
||||
updated_at
|
||||
)
|
||||
@@ -19,7 +19,7 @@ FROM
|
||||
WHERE
|
||||
id = ?;
|
||||
|
||||
-- name: GetUdpServiceByProfile :one
|
||||
-- name: GetUdpServicesByProfile :many
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
@@ -50,7 +50,6 @@ UPDATE udp_services
|
||||
SET
|
||||
name = ?,
|
||||
config = ?,
|
||||
source = ?,
|
||||
updated_at = CURRENT_TIMESTAMP
|
||||
WHERE
|
||||
id = ? RETURNING *;
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
-- name: CreateUser :one
|
||||
INSERT INTO
|
||||
users (username, password, email, is_admin)
|
||||
users (id, username, password, email, is_admin)
|
||||
VALUES
|
||||
(?, ?, ?, ?) RETURNING *;
|
||||
(?, ?, ?, ?, ?) RETURNING *;
|
||||
|
||||
-- name: GetUserByID :one
|
||||
SELECT
|
||||
@@ -40,6 +40,20 @@ LIMIT
|
||||
OFFSET
|
||||
?;
|
||||
|
||||
-- name: ListAdminUsers :many
|
||||
SELECT
|
||||
*
|
||||
FROM
|
||||
users
|
||||
WHERE
|
||||
is_admin = TRUE
|
||||
ORDER BY
|
||||
username
|
||||
LIMIT
|
||||
?
|
||||
OFFSET
|
||||
?;
|
||||
|
||||
-- name: CountUsers :one
|
||||
SELECT
|
||||
COUNT(*)
|
||||
|
||||
@@ -1,25 +1,29 @@
|
||||
package schema
|
||||
|
||||
import (
|
||||
"time"
|
||||
|
||||
"github.com/traefik/traefik/v3/pkg/config/runtime"
|
||||
"github.com/traefik/traefik/v3/pkg/types"
|
||||
)
|
||||
|
||||
// EntryPoint -----------------------------------------------------------------
|
||||
type EntryPoints []EntryPoint
|
||||
|
||||
type EntryPoint struct {
|
||||
Name string `json:"name,omitempty"`
|
||||
Address string `json:"address,omitempty"`
|
||||
AllowACMEByPass bool `json:"allow_acme_by_pass,omitempty"`
|
||||
ReusePort bool `json:"reuse_port,omitempty"`
|
||||
AsDefault bool `json:"as_default,omitempty"`
|
||||
// Transport *EntryPointsTransport `json:"transport,omitempty"`
|
||||
ProxyProtocol *ProxyProtocol `json:"proxy_protocol,omitempty"`
|
||||
ForwardedHeaders *ForwardedHeaders `json:"forwarded_headers,omitempty"`
|
||||
HTTP HTTPConfig `json:"http"`
|
||||
HTTP2 *HTTP2Config `json:"http_2,omitempty"`
|
||||
HTTP3 *HTTP3Config `json:"http_3,omitempty"`
|
||||
// UDP *UDPConfig `json:"udp,omitempty"`
|
||||
Observability *ObservabilityConfig `json:"observability,omitempty"`
|
||||
Name string `json:"name,omitempty"`
|
||||
Address string `json:"address,omitempty"`
|
||||
AllowACMEByPass bool `json:"allow_acme_by_pass,omitempty"`
|
||||
ReusePort bool `json:"reuse_port,omitempty"`
|
||||
AsDefault bool `json:"as_default,omitempty"`
|
||||
Transport *EntryPointsTransport `json:"transport,omitempty"`
|
||||
ProxyProtocol *ProxyProtocol `json:"proxy_protocol,omitempty"`
|
||||
ForwardedHeaders *ForwardedHeaders `json:"forwarded_headers,omitempty"`
|
||||
HTTP HTTPConfig `json:"http"`
|
||||
HTTP2 *HTTP2Config `json:"http_2,omitempty"`
|
||||
HTTP3 *HTTP3Config `json:"http_3,omitempty"`
|
||||
UDP *UDPConfig `json:"udp,omitempty"`
|
||||
Observability *ObservabilityConfig `json:"observability,omitempty"`
|
||||
}
|
||||
|
||||
type TLSConfig struct {
|
||||
@@ -51,9 +55,9 @@ type HTTP3Config struct {
|
||||
AdvertisedPort int `json:"advertised_port,omitempty"`
|
||||
}
|
||||
|
||||
// type UDPConfig struct {
|
||||
// Timeout ptypes.Duration `json:"timeout,omitempty"`
|
||||
// }
|
||||
type UDPConfig struct {
|
||||
Timeout time.Duration `json:"timeout,omitempty"`
|
||||
}
|
||||
|
||||
type ObservabilityConfig struct {
|
||||
AccessLogs *bool `json:"access_logs,omitempty"`
|
||||
@@ -77,12 +81,12 @@ type ProxyProtocol struct {
|
||||
TrustedIPs []string `json:"trusted_i_ps,omitempty"`
|
||||
}
|
||||
|
||||
// type EntryPointsTransport struct {
|
||||
// // LifeCycle *LifeCycle
|
||||
// // RespondingTimeouts *RespondingTimeouts
|
||||
// KeepAliveMaxTime ptypes.Duration
|
||||
// KeepAliveMaxRequests int
|
||||
// }
|
||||
type EntryPointsTransport struct {
|
||||
// LifeCycle *LifeCycle
|
||||
// RespondingTimeouts *RespondingTimeouts
|
||||
KeepAliveMaxTime time.Duration
|
||||
KeepAliveMaxRequests int
|
||||
}
|
||||
|
||||
// Overview -------------------------------------------------------------------
|
||||
type Overview struct {
|
||||
@@ -123,3 +127,10 @@ type serviceInfoRepresentation struct {
|
||||
*runtime.ServiceInfo
|
||||
ServerStatus map[string]string `json:"serverStatus,omitempty"`
|
||||
}
|
||||
|
||||
// Version -------------------------------------------------------------------
|
||||
type Version struct {
|
||||
Version string `json:"version,omitempty"`
|
||||
Codename string `json:"codename,omitempty"`
|
||||
StartDate string `json:"startDate,omitempty"`
|
||||
}
|
||||
|
||||
@@ -1,104 +0,0 @@
|
||||
package traefik
|
||||
|
||||
import (
|
||||
"context"
|
||||
"database/sql"
|
||||
"fmt"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/db"
|
||||
"github.com/traefik/paerser/parser"
|
||||
"github.com/traefik/traefik/v3/pkg/config/dynamic"
|
||||
"github.com/traefik/traefik/v3/pkg/config/runtime"
|
||||
"golang.org/x/exp/maps"
|
||||
)
|
||||
|
||||
func DecodeAgentConfig(DB *sql.DB, agent db.Agent) error {
|
||||
// Initialize merged configuration
|
||||
params := db.UpsertTraefikAgentConfigParams{
|
||||
ProfileID: agent.ProfileID,
|
||||
AgentID: &agent.ID,
|
||||
Config: &db.TraefikConfiguration{
|
||||
Routers: make(map[string]*runtime.RouterInfo),
|
||||
Middlewares: make(map[string]*runtime.MiddlewareInfo),
|
||||
Services: make(map[string]*db.ServiceInfo),
|
||||
TCPRouters: make(map[string]*runtime.TCPRouterInfo),
|
||||
TCPMiddlewares: make(map[string]*runtime.TCPMiddlewareInfo),
|
||||
TCPServices: make(map[string]*runtime.TCPServiceInfo),
|
||||
UDPRouters: make(map[string]*runtime.UDPRouterInfo),
|
||||
UDPServices: make(map[string]*runtime.UDPServiceInfo),
|
||||
},
|
||||
}
|
||||
|
||||
for _, container := range *agent.Containers {
|
||||
dynConfig := &dynamic.Configuration{
|
||||
HTTP: &dynamic.HTTPConfiguration{},
|
||||
TCP: &dynamic.TCPConfiguration{},
|
||||
UDP: &dynamic.UDPConfiguration{},
|
||||
TLS: &dynamic.TLSConfiguration{},
|
||||
}
|
||||
|
||||
err := parser.Decode(
|
||||
container.Labels,
|
||||
dynConfig,
|
||||
parser.DefaultRootName,
|
||||
"traefik.http",
|
||||
"traefik.tcp",
|
||||
"traefik.udp",
|
||||
"traefik.tls.stores.default",
|
||||
)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
runtimeConfig := runtime.NewConfig(*dynConfig)
|
||||
|
||||
// Merge routers
|
||||
maps.Copy(params.Config.Routers, runtimeConfig.Routers)
|
||||
maps.Copy(params.Config.TCPRouters, runtimeConfig.TCPRouters)
|
||||
maps.Copy(params.Config.UDPRouters, runtimeConfig.UDPRouters)
|
||||
|
||||
// Merge services
|
||||
for k, v := range runtimeConfig.Services {
|
||||
service := v.Service
|
||||
for i, svc := range service.LoadBalancer.Servers {
|
||||
if svc.Scheme == "" {
|
||||
svc.Scheme = "http"
|
||||
}
|
||||
url := fmt.Sprintf("%s://%s:%s", svc.Scheme, *agent.ActiveIp, svc.Port)
|
||||
service.LoadBalancer.Servers[i].URL = url
|
||||
}
|
||||
params.Config.Services[k] = &db.ServiceInfo{
|
||||
ServiceInfo: &runtime.ServiceInfo{Service: service},
|
||||
}
|
||||
}
|
||||
|
||||
for k, v := range runtimeConfig.TCPServices {
|
||||
service := v.TCPService
|
||||
for i, svc := range service.LoadBalancer.Servers {
|
||||
address := fmt.Sprintf("%s:%s", *agent.ActiveIp, svc.Port)
|
||||
service.LoadBalancer.Servers[i].Address = address
|
||||
}
|
||||
params.Config.TCPServices[k] = &runtime.TCPServiceInfo{TCPService: service}
|
||||
}
|
||||
|
||||
for k, v := range runtimeConfig.UDPServices {
|
||||
service := v.UDPService
|
||||
for i, svc := range service.LoadBalancer.Servers {
|
||||
address := fmt.Sprintf("%s:%s", *agent.ActiveIp, svc.Port)
|
||||
service.LoadBalancer.Servers[i].Address = address
|
||||
}
|
||||
params.Config.UDPServices[k] = &runtime.UDPServiceInfo{UDPService: service}
|
||||
}
|
||||
|
||||
// Merge middlewares
|
||||
maps.Copy(params.Config.Middlewares, runtimeConfig.Middlewares)
|
||||
maps.Copy(params.Config.TCPMiddlewares, runtimeConfig.TCPMiddlewares)
|
||||
}
|
||||
|
||||
q := db.New(DB)
|
||||
if err := q.UpsertTraefikAgentConfig(context.Background(), params); err != nil {
|
||||
return err
|
||||
}
|
||||
|
||||
return nil
|
||||
}
|
||||
@@ -7,13 +7,11 @@ import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"io"
|
||||
"log/slog"
|
||||
"net/http"
|
||||
"time"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/db"
|
||||
"github.com/mizuchilabs/mantrae/internal/source"
|
||||
"github.com/mizuchilabs/mantrae/internal/util"
|
||||
"github.com/mizuchilabs/mantrae/internal/store/db"
|
||||
"github.com/mizuchilabs/mantrae/internal/store/schema"
|
||||
)
|
||||
|
||||
const (
|
||||
@@ -23,64 +21,67 @@ const (
|
||||
VersionAPI = "/api/version"
|
||||
)
|
||||
|
||||
func UpdateTraefikAPI(DB *sql.DB, profile db.Profile) error {
|
||||
rawResponse, err := fetch(profile, RawAPI)
|
||||
func UpdateTraefikAPI(DB *sql.DB, instanceID int64) error {
|
||||
q := db.New(DB)
|
||||
instance, err := q.GetTraefikInstance(context.Background(), instanceID)
|
||||
if err != nil {
|
||||
slog.Error("Failed to fetch raw data", "error", err)
|
||||
|
||||
// Clear api data
|
||||
if err = ClearTraefikAPI(DB, profile.ID); err != nil {
|
||||
slog.Error("Failed to clear API data", "error", err)
|
||||
}
|
||||
return err
|
||||
return fmt.Errorf("failed to get traefik instance: %w", err)
|
||||
}
|
||||
defer rawResponse.Close()
|
||||
|
||||
var config db.TraefikConfiguration
|
||||
if err = json.NewDecoder(rawResponse).Decode(&config); err != nil {
|
||||
rawResp, err := fetch(instance, RawAPI)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to fetch %s: %w", instance.Url+RawAPI, err)
|
||||
}
|
||||
defer rawResp.Close()
|
||||
|
||||
var config schema.Configuration
|
||||
if err = json.NewDecoder(rawResp).Decode(&config); err != nil {
|
||||
return fmt.Errorf("failed to decode raw data: %w", err)
|
||||
}
|
||||
|
||||
epResponse, err := fetch(profile, EntrypointsAPI)
|
||||
entrypointsResp, err := fetch(instance, EntrypointsAPI)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to fetch %s: %w", profile.Url+EntrypointsAPI, err)
|
||||
return fmt.Errorf("failed to fetch %s: %w", instance.Url+EntrypointsAPI, err)
|
||||
}
|
||||
defer epResponse.Close()
|
||||
defer entrypointsResp.Close()
|
||||
|
||||
var entrypoints db.TraefikEntryPoints
|
||||
if err = json.NewDecoder(epResponse).Decode(&entrypoints); err != nil {
|
||||
var entrypoints schema.EntryPoints
|
||||
if err = json.NewDecoder(entrypointsResp).Decode(&entrypoints); err != nil {
|
||||
return fmt.Errorf("failed to decode entrypoints: %w", err)
|
||||
}
|
||||
oResponse, err := fetch(profile, OverviewAPI)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to fetch %s: %w", profile.Url+OverviewAPI, err)
|
||||
}
|
||||
defer epResponse.Close()
|
||||
|
||||
var overview db.TraefikOverview
|
||||
if err = json.NewDecoder(oResponse).Decode(&overview); err != nil {
|
||||
overviewResp, err := fetch(instance, OverviewAPI)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to fetch %s: %w", instance.Url+OverviewAPI, err)
|
||||
}
|
||||
defer overviewResp.Close()
|
||||
|
||||
var overview schema.Overview
|
||||
if err = json.NewDecoder(overviewResp).Decode(&overview); err != nil {
|
||||
return fmt.Errorf("failed to decode overview: %w", err)
|
||||
}
|
||||
|
||||
vResponse, err := fetch(profile, VersionAPI)
|
||||
versionResp, err := fetch(instance, VersionAPI)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to fetch %s: %w", profile.Url+VersionAPI, err)
|
||||
return fmt.Errorf("failed to fetch %s: %w", instance.Url+VersionAPI, err)
|
||||
}
|
||||
defer vResponse.Close()
|
||||
defer versionResp.Close()
|
||||
|
||||
var version db.TraefikVersion
|
||||
if err := json.NewDecoder(vResponse).Decode(&version); err != nil {
|
||||
var version schema.Version
|
||||
if err := json.NewDecoder(versionResp).Decode(&version); err != nil {
|
||||
return fmt.Errorf("failed to decode version: %w", err)
|
||||
}
|
||||
|
||||
q := db.New(DB)
|
||||
if err := q.UpsertTraefikConfig(context.Background(), db.UpsertTraefikConfigParams{
|
||||
ProfileID: profile.ID,
|
||||
if _, err := q.UpdateTraefikInstance(context.Background(), db.UpdateTraefikInstanceParams{
|
||||
ID: instance.ID,
|
||||
Url: instance.Url,
|
||||
Username: instance.Username,
|
||||
Password: instance.Password,
|
||||
Tls: instance.Tls,
|
||||
Entrypoints: &entrypoints,
|
||||
Overview: &overview,
|
||||
Version: &version.Version,
|
||||
Config: &config,
|
||||
Source: source.API,
|
||||
}); err != nil {
|
||||
return fmt.Errorf("failed to update api data: %w", err)
|
||||
}
|
||||
@@ -88,72 +89,31 @@ func UpdateTraefikAPI(DB *sql.DB, profile db.Profile) error {
|
||||
return nil
|
||||
}
|
||||
|
||||
func ClearTraefikAPI(DB *sql.DB, profileID int64) error {
|
||||
q := db.New(DB)
|
||||
if err := q.UpsertTraefikConfig(context.Background(), db.UpsertTraefikConfigParams{
|
||||
ProfileID: profileID,
|
||||
Source: source.API,
|
||||
Entrypoints: nil,
|
||||
Overview: nil,
|
||||
Version: nil,
|
||||
Config: nil,
|
||||
}); err != nil {
|
||||
return fmt.Errorf("Failed to clear API data: %w", err)
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func GetTraefikConfig(DB *sql.DB) {
|
||||
q := db.New(DB)
|
||||
profiles, err := q.ListProfiles(context.Background())
|
||||
if err != nil {
|
||||
slog.Error("Failed to get profiles", "error", err)
|
||||
return
|
||||
}
|
||||
|
||||
for _, profile := range profiles {
|
||||
if profile.Url == "" {
|
||||
continue
|
||||
}
|
||||
|
||||
if err := UpdateTraefikAPI(DB, profile); err != nil {
|
||||
slog.Error("Failed to update api data", "error", err)
|
||||
continue
|
||||
}
|
||||
}
|
||||
|
||||
// Broadcast the update to all clients
|
||||
util.Broadcast <- util.EventMessage{
|
||||
Type: util.EventTypeUpdate,
|
||||
Category: util.EventCategoryTraefik,
|
||||
}
|
||||
}
|
||||
|
||||
func fetch(profile db.Profile, endpoint string) (io.ReadCloser, error) {
|
||||
if profile.Url == "" {
|
||||
func fetch(instance db.TraefikInstance, endpoint string) (io.ReadCloser, error) {
|
||||
if instance.Url == "" {
|
||||
return nil, fmt.Errorf("invalid URL or endpoint")
|
||||
}
|
||||
|
||||
client := http.Client{Timeout: time.Second * 10}
|
||||
if !profile.Tls {
|
||||
if !instance.Tls {
|
||||
client.Transport = &http.Transport{
|
||||
TLSClientConfig: &tls.Config{InsecureSkipVerify: true},
|
||||
}
|
||||
}
|
||||
|
||||
req, err := http.NewRequest("GET", profile.Url+endpoint, nil)
|
||||
req, err := http.NewRequest("GET", instance.Url+endpoint, nil)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("failed to create request: %w", err)
|
||||
}
|
||||
|
||||
req.Header.Set("Content-Type", "application/json")
|
||||
if profile.Username != nil && profile.Password != nil {
|
||||
req.SetBasicAuth(*profile.Username, *profile.Password)
|
||||
if instance.Username != nil && instance.Password != nil {
|
||||
req.SetBasicAuth(*instance.Username, *instance.Password)
|
||||
}
|
||||
|
||||
resp, err := client.Do(req)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("failed to fetch %s: %w", profile.Url+endpoint, err)
|
||||
return nil, fmt.Errorf("failed to fetch %s: %w", instance.Url+endpoint, err)
|
||||
}
|
||||
|
||||
if resp.StatusCode != http.StatusOK {
|
||||
|
||||
@@ -1,195 +0,0 @@
|
||||
package traefik
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"io"
|
||||
"mime/multipart"
|
||||
|
||||
"github.com/mizuchilabs/mantrae/internal/db"
|
||||
"github.com/traefik/traefik/v3/pkg/config/dynamic"
|
||||
"github.com/traefik/traefik/v3/pkg/config/runtime"
|
||||
"golang.org/x/exp/maps"
|
||||
"sigs.k8s.io/yaml"
|
||||
)
|
||||
|
||||
func ConvertToDynamicConfig(rc *db.TraefikConfiguration) *dynamic.Configuration {
|
||||
dc := &dynamic.Configuration{}
|
||||
|
||||
// Only create HTTP config if there are HTTP components
|
||||
if len(rc.Routers) > 0 || len(rc.Middlewares) > 0 || len(rc.Services) > 0 {
|
||||
dc.HTTP = &dynamic.HTTPConfiguration{
|
||||
Routers: make(map[string]*dynamic.Router),
|
||||
Middlewares: make(map[string]*dynamic.Middleware),
|
||||
Services: make(map[string]*dynamic.Service),
|
||||
}
|
||||
|
||||
for name, router := range rc.Routers {
|
||||
dc.HTTP.Routers[name] = router.Router
|
||||
}
|
||||
for name, service := range rc.Services {
|
||||
dc.HTTP.Services[name] = service.Service
|
||||
}
|
||||
for name, middleware := range rc.Middlewares {
|
||||
dc.HTTP.Middlewares[name] = middleware.Middleware
|
||||
}
|
||||
}
|
||||
|
||||
// Only create TCP config if there are TCP components
|
||||
if len(rc.TCPRouters) > 0 || len(rc.TCPMiddlewares) > 0 || len(rc.TCPServices) > 0 {
|
||||
dc.TCP = &dynamic.TCPConfiguration{
|
||||
Routers: make(map[string]*dynamic.TCPRouter),
|
||||
Middlewares: make(map[string]*dynamic.TCPMiddleware),
|
||||
Services: make(map[string]*dynamic.TCPService),
|
||||
}
|
||||
|
||||
for name, router := range rc.TCPRouters {
|
||||
dc.TCP.Routers[name] = router.TCPRouter
|
||||
}
|
||||
for name, service := range rc.TCPServices {
|
||||
dc.TCP.Services[name] = service.TCPService
|
||||
}
|
||||
for name, middleware := range rc.TCPMiddlewares {
|
||||
dc.TCP.Middlewares[name] = middleware.TCPMiddleware
|
||||
}
|
||||
}
|
||||
|
||||
// Only create UDP config if there are UDP components
|
||||
if len(rc.UDPRouters) > 0 || len(rc.UDPServices) > 0 {
|
||||
dc.UDP = &dynamic.UDPConfiguration{
|
||||
Routers: make(map[string]*dynamic.UDPRouter),
|
||||
Services: make(map[string]*dynamic.UDPService),
|
||||
}
|
||||
|
||||
for name, router := range rc.UDPRouters {
|
||||
dc.UDP.Routers[name] = router.UDPRouter
|
||||
}
|
||||
for name, service := range rc.UDPServices {
|
||||
dc.UDP.Services[name] = service.UDPService
|
||||
}
|
||||
}
|
||||
|
||||
return dc
|
||||
}
|
||||
|
||||
func ConvertFileToDynamicConfig(
|
||||
file multipart.File,
|
||||
extension string,
|
||||
) (*dynamic.Configuration, error) {
|
||||
// Read the file content
|
||||
content, err := io.ReadAll(file)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("failed to read file: %w", err)
|
||||
}
|
||||
|
||||
// Create a new configuration
|
||||
configuration := &dynamic.Configuration{
|
||||
HTTP: &dynamic.HTTPConfiguration{
|
||||
Routers: make(map[string]*dynamic.Router),
|
||||
Middlewares: make(map[string]*dynamic.Middleware),
|
||||
Services: make(map[string]*dynamic.Service),
|
||||
ServersTransports: make(map[string]*dynamic.ServersTransport),
|
||||
},
|
||||
TCP: &dynamic.TCPConfiguration{
|
||||
Routers: make(map[string]*dynamic.TCPRouter),
|
||||
Services: make(map[string]*dynamic.TCPService),
|
||||
Middlewares: make(map[string]*dynamic.TCPMiddleware),
|
||||
ServersTransports: make(map[string]*dynamic.TCPServersTransport),
|
||||
},
|
||||
UDP: &dynamic.UDPConfiguration{
|
||||
Routers: make(map[string]*dynamic.UDPRouter),
|
||||
Services: make(map[string]*dynamic.UDPService),
|
||||
},
|
||||
}
|
||||
|
||||
// Unmarshal yaml or json
|
||||
if extension == ".json" {
|
||||
if err := json.Unmarshal(content, configuration); err != nil {
|
||||
return nil, fmt.Errorf("failed to parse JSON: %w", err)
|
||||
}
|
||||
}
|
||||
if extension == ".yaml" || extension == ".yml" {
|
||||
if err := yaml.Unmarshal(content, configuration); err != nil {
|
||||
return nil, fmt.Errorf("failed to parse YAML: %w", err)
|
||||
}
|
||||
}
|
||||
return configuration, nil
|
||||
}
|
||||
|
||||
func ConvertDynamicToRuntime(dc *dynamic.Configuration) *db.TraefikConfiguration {
|
||||
rc := runtime.NewConfig(*dc)
|
||||
config := &db.TraefikConfiguration{
|
||||
Routers: rc.Routers,
|
||||
Middlewares: rc.Middlewares,
|
||||
TCPRouters: rc.TCPRouters,
|
||||
TCPMiddlewares: rc.TCPMiddlewares,
|
||||
TCPServices: rc.TCPServices,
|
||||
UDPRouters: rc.UDPRouters,
|
||||
UDPServices: rc.UDPServices,
|
||||
}
|
||||
config.Services = make(map[string]*db.ServiceInfo)
|
||||
for k, v := range rc.Services {
|
||||
config.Services[k] = db.FromRuntimeServiceInfo(v)
|
||||
}
|
||||
return config
|
||||
}
|
||||
|
||||
func MergeConfigs(base, overlay *db.TraefikConfiguration) *db.TraefikConfiguration {
|
||||
if base == nil {
|
||||
return overlay
|
||||
}
|
||||
if overlay == nil {
|
||||
return base
|
||||
}
|
||||
|
||||
initializeMaps(base)
|
||||
|
||||
// Merge components
|
||||
mergeMaps(base.Routers, overlay.Routers)
|
||||
mergeMaps(base.Middlewares, overlay.Middlewares)
|
||||
mergeMaps(base.Services, overlay.Services)
|
||||
mergeMaps(base.TCPRouters, overlay.TCPRouters)
|
||||
mergeMaps(base.TCPMiddlewares, overlay.TCPMiddlewares)
|
||||
mergeMaps(base.TCPServices, overlay.TCPServices)
|
||||
mergeMaps(base.UDPRouters, overlay.UDPRouters)
|
||||
mergeMaps(base.UDPServices, overlay.UDPServices)
|
||||
|
||||
return base
|
||||
}
|
||||
|
||||
// Initialize nil maps in the configuration
|
||||
func initializeMaps(config *db.TraefikConfiguration) {
|
||||
if config.Routers == nil {
|
||||
config.Routers = make(map[string]*runtime.RouterInfo)
|
||||
}
|
||||
if config.Middlewares == nil {
|
||||
config.Middlewares = make(map[string]*runtime.MiddlewareInfo)
|
||||
}
|
||||
if config.Services == nil {
|
||||
config.Services = make(map[string]*db.ServiceInfo)
|
||||
}
|
||||
if config.TCPRouters == nil {
|
||||
config.TCPRouters = make(map[string]*runtime.TCPRouterInfo)
|
||||
}
|
||||
if config.TCPMiddlewares == nil {
|
||||
config.TCPMiddlewares = make(map[string]*runtime.TCPMiddlewareInfo)
|
||||
}
|
||||
if config.TCPServices == nil {
|
||||
config.TCPServices = make(map[string]*runtime.TCPServiceInfo)
|
||||
}
|
||||
if config.UDPRouters == nil {
|
||||
config.UDPRouters = make(map[string]*runtime.UDPRouterInfo)
|
||||
}
|
||||
if config.UDPServices == nil {
|
||||
config.UDPServices = make(map[string]*runtime.UDPServiceInfo)
|
||||
}
|
||||
}
|
||||
|
||||
// Generic merge function for maps
|
||||
func mergeMaps[K comparable, V any](base, overlay map[K]V) {
|
||||
if base == nil || overlay == nil {
|
||||
return
|
||||
}
|
||||
|
||||
maps.Copy(base, overlay)
|
||||
}
|
||||
@@ -7,11 +7,13 @@ import (
|
||||
"crypto/tls"
|
||||
"encoding/hex"
|
||||
"fmt"
|
||||
"log"
|
||||
"math/big"
|
||||
"net"
|
||||
"net/http"
|
||||
"net/url"
|
||||
"os"
|
||||
"path/filepath"
|
||||
"regexp"
|
||||
"strconv"
|
||||
"strings"
|
||||
@@ -25,11 +27,23 @@ func IsTest() bool {
|
||||
return strings.HasSuffix(os.Args[0], ".test")
|
||||
}
|
||||
|
||||
func SafeDeref(s *string) string {
|
||||
if s == nil {
|
||||
return ""
|
||||
func ResolvePath(path string) string {
|
||||
basePath := "data"
|
||||
if dbPath := os.Getenv("BASE_PATH"); dbPath != "" {
|
||||
basePath = dbPath
|
||||
}
|
||||
return *s
|
||||
|
||||
// If the provided path is absolute, return it as-is
|
||||
if filepath.IsAbs(path) {
|
||||
return path
|
||||
}
|
||||
|
||||
// Create the base directory if it doesn't exist
|
||||
if err := os.MkdirAll(basePath, 0755); err != nil {
|
||||
log.Printf("Warning: failed to create base directory: %v", err)
|
||||
}
|
||||
|
||||
return filepath.Join(basePath, path)
|
||||
}
|
||||
|
||||
// GenPassword generates a random password of the specified length
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.36.6
|
||||
// protoc-gen-go v1.36.5
|
||||
// protoc (unknown)
|
||||
// source: mantrae/v1/agent.proto
|
||||
|
||||
@@ -316,45 +316,80 @@ func (x *HealthCheckResponse) GetToken() string {
|
||||
|
||||
var File_mantrae_v1_agent_proto protoreflect.FileDescriptor
|
||||
|
||||
const file_mantrae_v1_agent_proto_rawDesc = "" +
|
||||
"\n" +
|
||||
"\x16mantrae/v1/agent.proto\x12\n" +
|
||||
"mantrae.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"\x83\x03\n" +
|
||||
"\tContainer\x12\x0e\n" +
|
||||
"\x02id\x18\x01 \x01(\tR\x02id\x12\x12\n" +
|
||||
"\x04name\x18\x02 \x01(\tR\x04name\x129\n" +
|
||||
"\x06labels\x18\x03 \x03(\v2!.mantrae.v1.Container.LabelsEntryR\x06labels\x12\x14\n" +
|
||||
"\x05image\x18\x04 \x01(\tR\x05image\x12<\n" +
|
||||
"\aportmap\x18\x05 \x03(\v2\".mantrae.v1.Container.PortmapEntryR\aportmap\x12\x16\n" +
|
||||
"\x06status\x18\x06 \x01(\tR\x06status\x124\n" +
|
||||
"\acreated\x18\a \x01(\v2\x1a.google.protobuf.TimestampR\acreated\x1a9\n" +
|
||||
"\vLabelsEntry\x12\x10\n" +
|
||||
"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
|
||||
"\x05value\x18\x02 \x01(\tR\x05value:\x028\x01\x1a:\n" +
|
||||
"\fPortmapEntry\x12\x10\n" +
|
||||
"\x03key\x18\x01 \x01(\x05R\x03key\x12\x14\n" +
|
||||
"\x05value\x18\x02 \x01(\x05R\x05value:\x028\x01\"\xdc\x01\n" +
|
||||
"\x13GetContainerRequest\x12\x1a\n" +
|
||||
"\bhostname\x18\x01 \x01(\tR\bhostname\x12\x1b\n" +
|
||||
"\tpublic_ip\x18\x02 \x01(\tR\bpublicIp\x12\x1f\n" +
|
||||
"\vprivate_ips\x18\x03 \x03(\tR\n" +
|
||||
"privateIps\x125\n" +
|
||||
"\n" +
|
||||
"containers\x18\x04 \x03(\v2\x15.mantrae.v1.ContainerR\n" +
|
||||
"containers\x124\n" +
|
||||
"\aupdated\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\aupdated\"\x16\n" +
|
||||
"\x14GetContainerResponse\"\x14\n" +
|
||||
"\x12HealthCheckRequest\";\n" +
|
||||
"\x13HealthCheckResponse\x12\x0e\n" +
|
||||
"\x02ok\x18\x01 \x01(\bR\x02ok\x12\x14\n" +
|
||||
"\x05token\x18\x02 \x01(\tR\x05token2\xb1\x01\n" +
|
||||
"\fAgentService\x12Q\n" +
|
||||
"\fGetContainer\x12\x1f.mantrae.v1.GetContainerRequest\x1a .mantrae.v1.GetContainerResponse\x12N\n" +
|
||||
"\vHealthCheck\x12\x1e.mantrae.v1.HealthCheckRequest\x1a\x1f.mantrae.v1.HealthCheckResponseB\xa4\x01\n" +
|
||||
"\x0ecom.mantrae.v1B\n" +
|
||||
"AgentProtoP\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"
|
||||
var file_mantrae_v1_agent_proto_rawDesc = string([]byte{
|
||||
0x0a, 0x16, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x67, 0x65,
|
||||
0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61,
|
||||
0x65, 0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f,
|
||||
0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x83, 0x03, 0x0a, 0x09, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69,
|
||||
0x6e, 0x65, 0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x39, 0x0a, 0x06, 0x6c, 0x61, 0x62, 0x65, 0x6c,
|
||||
0x73, 0x18, 0x03, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x21, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61,
|
||||
0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x2e, 0x4c,
|
||||
0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x06, 0x6c, 0x61, 0x62, 0x65,
|
||||
0x6c, 0x73, 0x12, 0x14, 0x0a, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x05, 0x69, 0x6d, 0x61, 0x67, 0x65, 0x12, 0x3c, 0x0a, 0x07, 0x70, 0x6f, 0x72, 0x74,
|
||||
0x6d, 0x61, 0x70, 0x18, 0x05, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x22, 0x2e, 0x6d, 0x61, 0x6e, 0x74,
|
||||
0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72,
|
||||
0x2e, 0x50, 0x6f, 0x72, 0x74, 0x6d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x07, 0x70,
|
||||
0x6f, 0x72, 0x74, 0x6d, 0x61, 0x70, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73,
|
||||
0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x73, 0x74, 0x61, 0x74, 0x75, 0x73, 0x12, 0x34,
|
||||
0x0a, 0x07, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
||||
0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75,
|
||||
0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x07, 0x63, 0x72, 0x65,
|
||||
0x61, 0x74, 0x65, 0x64, 0x1a, 0x39, 0x0a, 0x0b, 0x4c, 0x61, 0x62, 0x65, 0x6c, 0x73, 0x45, 0x6e,
|
||||
0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a,
|
||||
0x3a, 0x0a, 0x0c, 0x50, 0x6f, 0x72, 0x74, 0x6d, 0x61, 0x70, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x12,
|
||||
0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x05, 0x52, 0x03, 0x6b, 0x65,
|
||||
0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x05,
|
||||
0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x22, 0xdc, 0x01, 0x0a, 0x13,
|
||||
0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75,
|
||||
0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18,
|
||||
0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12,
|
||||
0x1b, 0x0a, 0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x69, 0x70, 0x18, 0x02, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x08, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x49, 0x70, 0x12, 0x1f, 0x0a, 0x0b,
|
||||
0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x70, 0x73, 0x18, 0x03, 0x20, 0x03, 0x28,
|
||||
0x09, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x49, 0x70, 0x73, 0x12, 0x35, 0x0a,
|
||||
0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28,
|
||||
0x0b, 0x32, 0x15, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43,
|
||||
0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69,
|
||||
0x6e, 0x65, 0x72, 0x73, 0x12, 0x34, 0x0a, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x18,
|
||||
0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
|
||||
0x70, 0x52, 0x07, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x22, 0x16, 0x0a, 0x14, 0x47, 0x65,
|
||||
0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
|
||||
0x73, 0x65, 0x22, 0x14, 0x0a, 0x12, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63,
|
||||
0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x3b, 0x0a, 0x13, 0x48, 0x65, 0x61, 0x6c,
|
||||
0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
|
||||
0x0e, 0x0a, 0x02, 0x6f, 0x6b, 0x18, 0x01, 0x20, 0x01, 0x28, 0x08, 0x52, 0x02, 0x6f, 0x6b, 0x12,
|
||||
0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05,
|
||||
0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x32, 0xb1, 0x01, 0x0a, 0x0c, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x53,
|
||||
0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x51, 0x0a, 0x0c, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e,
|
||||
0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x12, 0x1f, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65,
|
||||
0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72,
|
||||
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61,
|
||||
0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65,
|
||||
0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x0b, 0x48, 0x65, 0x61,
|
||||
0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63, 0x6b, 0x12, 0x1e, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72,
|
||||
0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63,
|
||||
0x6b, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72,
|
||||
0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x48, 0x65, 0x61, 0x6c, 0x74, 0x68, 0x43, 0x68, 0x65, 0x63,
|
||||
0x6b, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0xa4, 0x01, 0x0a, 0x0e, 0x63, 0x6f,
|
||||
0x6d, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x0a, 0x41, 0x67,
|
||||
0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3d, 0x67, 0x69, 0x74, 0x68,
|
||||
0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6d, 0x69, 0x7a, 0x75, 0x63, 0x68, 0x69, 0x6c, 0x61,
|
||||
0x62, 0x73, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||
0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2f, 0x76, 0x31, 0x3b,
|
||||
0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x4d, 0x58, 0x58, 0xaa,
|
||||
0x02, 0x0a, 0x4d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x0a, 0x4d,
|
||||
0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x16, 0x4d, 0x61, 0x6e, 0x74,
|
||||
0x72, 0x61, 0x65, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61,
|
||||
0x74, 0x61, 0xea, 0x02, 0x0b, 0x4d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x3a, 0x3a, 0x56, 0x31,
|
||||
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
})
|
||||
|
||||
var (
|
||||
file_mantrae_v1_agent_proto_rawDescOnce sync.Once
|
||||
|
||||
898
proto/gen/mantrae/v1/agent_management.pb.go
Normal file
898
proto/gen/mantrae/v1/agent_management.pb.go
Normal file
@@ -0,0 +1,898 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.36.5
|
||||
// protoc (unknown)
|
||||
// source: mantrae/v1/agent_management.proto
|
||||
|
||||
package mantraev1
|
||||
|
||||
import (
|
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
unsafe "unsafe"
|
||||
)
|
||||
|
||||
const (
|
||||
// Verify that this generated code is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
||||
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
||||
)
|
||||
|
||||
type Agent struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
ProfileId int64 `protobuf:"varint,2,opt,name=profile_id,json=profileId,proto3" json:"profile_id,omitempty"`
|
||||
Hostname string `protobuf:"bytes,3,opt,name=hostname,proto3" json:"hostname,omitempty"`
|
||||
PublicIp string `protobuf:"bytes,4,opt,name=public_ip,json=publicIp,proto3" json:"public_ip,omitempty"`
|
||||
ActiveIp string `protobuf:"bytes,5,opt,name=active_ip,json=activeIp,proto3" json:"active_ip,omitempty"`
|
||||
Token string `protobuf:"bytes,6,opt,name=token,proto3" json:"token,omitempty"`
|
||||
PrivateIps []string `protobuf:"bytes,7,rep,name=private_ips,json=privateIps,proto3" json:"private_ips,omitempty"`
|
||||
Containers []*Container `protobuf:"bytes,8,rep,name=containers,proto3" json:"containers,omitempty"`
|
||||
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,9,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
|
||||
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,10,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *Agent) Reset() {
|
||||
*x = Agent{}
|
||||
mi := &file_mantrae_v1_agent_management_proto_msgTypes[0]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
||||
func (x *Agent) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*Agent) ProtoMessage() {}
|
||||
|
||||
func (x *Agent) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_mantrae_v1_agent_management_proto_msgTypes[0]
|
||||
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 Agent.ProtoReflect.Descriptor instead.
|
||||
func (*Agent) Descriptor() ([]byte, []int) {
|
||||
return file_mantrae_v1_agent_management_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
func (x *Agent) GetId() string {
|
||||
if x != nil {
|
||||
return x.Id
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Agent) GetProfileId() int64 {
|
||||
if x != nil {
|
||||
return x.ProfileId
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *Agent) GetHostname() string {
|
||||
if x != nil {
|
||||
return x.Hostname
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Agent) GetPublicIp() string {
|
||||
if x != nil {
|
||||
return x.PublicIp
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Agent) GetActiveIp() string {
|
||||
if x != nil {
|
||||
return x.ActiveIp
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Agent) GetToken() string {
|
||||
if x != nil {
|
||||
return x.Token
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Agent) GetPrivateIps() []string {
|
||||
if x != nil {
|
||||
return x.PrivateIps
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *Agent) GetContainers() []*Container {
|
||||
if x != nil {
|
||||
return x.Containers
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *Agent) GetCreatedAt() *timestamppb.Timestamp {
|
||||
if x != nil {
|
||||
return x.CreatedAt
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *Agent) GetUpdatedAt() *timestamppb.Timestamp {
|
||||
if x != nil {
|
||||
return x.UpdatedAt
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type GetAgentRequest struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *GetAgentRequest) Reset() {
|
||||
*x = GetAgentRequest{}
|
||||
mi := &file_mantrae_v1_agent_management_proto_msgTypes[1]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
||||
func (x *GetAgentRequest) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*GetAgentRequest) ProtoMessage() {}
|
||||
|
||||
func (x *GetAgentRequest) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_mantrae_v1_agent_management_proto_msgTypes[1]
|
||||
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 GetAgentRequest.ProtoReflect.Descriptor instead.
|
||||
func (*GetAgentRequest) Descriptor() ([]byte, []int) {
|
||||
return file_mantrae_v1_agent_management_proto_rawDescGZIP(), []int{1}
|
||||
}
|
||||
|
||||
func (x *GetAgentRequest) GetId() string {
|
||||
if x != nil {
|
||||
return x.Id
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
type GetAgentResponse struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
Agent *Agent `protobuf:"bytes,1,opt,name=agent,proto3" json:"agent,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *GetAgentResponse) Reset() {
|
||||
*x = GetAgentResponse{}
|
||||
mi := &file_mantrae_v1_agent_management_proto_msgTypes[2]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
||||
func (x *GetAgentResponse) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*GetAgentResponse) ProtoMessage() {}
|
||||
|
||||
func (x *GetAgentResponse) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_mantrae_v1_agent_management_proto_msgTypes[2]
|
||||
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 GetAgentResponse.ProtoReflect.Descriptor instead.
|
||||
func (*GetAgentResponse) Descriptor() ([]byte, []int) {
|
||||
return file_mantrae_v1_agent_management_proto_rawDescGZIP(), []int{2}
|
||||
}
|
||||
|
||||
func (x *GetAgentResponse) GetAgent() *Agent {
|
||||
if x != nil {
|
||||
return x.Agent
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type CreateAgentRequest 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 *CreateAgentRequest) Reset() {
|
||||
*x = CreateAgentRequest{}
|
||||
mi := &file_mantrae_v1_agent_management_proto_msgTypes[3]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
||||
func (x *CreateAgentRequest) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*CreateAgentRequest) ProtoMessage() {}
|
||||
|
||||
func (x *CreateAgentRequest) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_mantrae_v1_agent_management_proto_msgTypes[3]
|
||||
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 CreateAgentRequest.ProtoReflect.Descriptor instead.
|
||||
func (*CreateAgentRequest) Descriptor() ([]byte, []int) {
|
||||
return file_mantrae_v1_agent_management_proto_rawDescGZIP(), []int{3}
|
||||
}
|
||||
|
||||
func (x *CreateAgentRequest) GetProfileId() int64 {
|
||||
if x != nil {
|
||||
return x.ProfileId
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
type CreateAgentResponse struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
Agent *Agent `protobuf:"bytes,1,opt,name=agent,proto3" json:"agent,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *CreateAgentResponse) Reset() {
|
||||
*x = CreateAgentResponse{}
|
||||
mi := &file_mantrae_v1_agent_management_proto_msgTypes[4]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
||||
func (x *CreateAgentResponse) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*CreateAgentResponse) ProtoMessage() {}
|
||||
|
||||
func (x *CreateAgentResponse) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_mantrae_v1_agent_management_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 CreateAgentResponse.ProtoReflect.Descriptor instead.
|
||||
func (*CreateAgentResponse) Descriptor() ([]byte, []int) {
|
||||
return file_mantrae_v1_agent_management_proto_rawDescGZIP(), []int{4}
|
||||
}
|
||||
|
||||
func (x *CreateAgentResponse) GetAgent() *Agent {
|
||||
if x != nil {
|
||||
return x.Agent
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type UpdateAgentIPRequest struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
Ip string `protobuf:"bytes,2,opt,name=ip,proto3" json:"ip,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *UpdateAgentIPRequest) Reset() {
|
||||
*x = UpdateAgentIPRequest{}
|
||||
mi := &file_mantrae_v1_agent_management_proto_msgTypes[5]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
||||
func (x *UpdateAgentIPRequest) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*UpdateAgentIPRequest) ProtoMessage() {}
|
||||
|
||||
func (x *UpdateAgentIPRequest) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_mantrae_v1_agent_management_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 UpdateAgentIPRequest.ProtoReflect.Descriptor instead.
|
||||
func (*UpdateAgentIPRequest) Descriptor() ([]byte, []int) {
|
||||
return file_mantrae_v1_agent_management_proto_rawDescGZIP(), []int{5}
|
||||
}
|
||||
|
||||
func (x *UpdateAgentIPRequest) GetId() string {
|
||||
if x != nil {
|
||||
return x.Id
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *UpdateAgentIPRequest) GetIp() string {
|
||||
if x != nil {
|
||||
return x.Ip
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
type UpdateAgentIPResponse struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
Agent *Agent `protobuf:"bytes,1,opt,name=agent,proto3" json:"agent,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *UpdateAgentIPResponse) Reset() {
|
||||
*x = UpdateAgentIPResponse{}
|
||||
mi := &file_mantrae_v1_agent_management_proto_msgTypes[6]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
||||
func (x *UpdateAgentIPResponse) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*UpdateAgentIPResponse) ProtoMessage() {}
|
||||
|
||||
func (x *UpdateAgentIPResponse) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_mantrae_v1_agent_management_proto_msgTypes[6]
|
||||
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 UpdateAgentIPResponse.ProtoReflect.Descriptor instead.
|
||||
func (*UpdateAgentIPResponse) Descriptor() ([]byte, []int) {
|
||||
return file_mantrae_v1_agent_management_proto_rawDescGZIP(), []int{6}
|
||||
}
|
||||
|
||||
func (x *UpdateAgentIPResponse) GetAgent() *Agent {
|
||||
if x != nil {
|
||||
return x.Agent
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type DeleteAgentRequest struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *DeleteAgentRequest) Reset() {
|
||||
*x = DeleteAgentRequest{}
|
||||
mi := &file_mantrae_v1_agent_management_proto_msgTypes[7]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
||||
func (x *DeleteAgentRequest) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*DeleteAgentRequest) ProtoMessage() {}
|
||||
|
||||
func (x *DeleteAgentRequest) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_mantrae_v1_agent_management_proto_msgTypes[7]
|
||||
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 DeleteAgentRequest.ProtoReflect.Descriptor instead.
|
||||
func (*DeleteAgentRequest) Descriptor() ([]byte, []int) {
|
||||
return file_mantrae_v1_agent_management_proto_rawDescGZIP(), []int{7}
|
||||
}
|
||||
|
||||
func (x *DeleteAgentRequest) GetId() string {
|
||||
if x != nil {
|
||||
return x.Id
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
type DeleteAgentResponse struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *DeleteAgentResponse) Reset() {
|
||||
*x = DeleteAgentResponse{}
|
||||
mi := &file_mantrae_v1_agent_management_proto_msgTypes[8]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
||||
func (x *DeleteAgentResponse) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*DeleteAgentResponse) ProtoMessage() {}
|
||||
|
||||
func (x *DeleteAgentResponse) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_mantrae_v1_agent_management_proto_msgTypes[8]
|
||||
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 DeleteAgentResponse.ProtoReflect.Descriptor instead.
|
||||
func (*DeleteAgentResponse) Descriptor() ([]byte, []int) {
|
||||
return file_mantrae_v1_agent_management_proto_rawDescGZIP(), []int{8}
|
||||
}
|
||||
|
||||
type ListAgentsRequest struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
ProfileId int64 `protobuf:"varint,1,opt,name=profile_id,json=profileId,proto3" json:"profile_id,omitempty"`
|
||||
Limit *int64 `protobuf:"varint,2,opt,name=limit,proto3,oneof" json:"limit,omitempty"`
|
||||
Offset *int64 `protobuf:"varint,3,opt,name=offset,proto3,oneof" json:"offset,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *ListAgentsRequest) Reset() {
|
||||
*x = ListAgentsRequest{}
|
||||
mi := &file_mantrae_v1_agent_management_proto_msgTypes[9]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
||||
func (x *ListAgentsRequest) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*ListAgentsRequest) ProtoMessage() {}
|
||||
|
||||
func (x *ListAgentsRequest) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_mantrae_v1_agent_management_proto_msgTypes[9]
|
||||
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 ListAgentsRequest.ProtoReflect.Descriptor instead.
|
||||
func (*ListAgentsRequest) Descriptor() ([]byte, []int) {
|
||||
return file_mantrae_v1_agent_management_proto_rawDescGZIP(), []int{9}
|
||||
}
|
||||
|
||||
func (x *ListAgentsRequest) GetProfileId() int64 {
|
||||
if x != nil {
|
||||
return x.ProfileId
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *ListAgentsRequest) GetLimit() int64 {
|
||||
if x != nil && x.Limit != nil {
|
||||
return *x.Limit
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *ListAgentsRequest) GetOffset() int64 {
|
||||
if x != nil && x.Offset != nil {
|
||||
return *x.Offset
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
type ListAgentsResponse struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
Agents []*Agent `protobuf:"bytes,1,rep,name=agents,proto3" json:"agents,omitempty"`
|
||||
TotalCount int64 `protobuf:"varint,2,opt,name=total_count,json=totalCount,proto3" json:"total_count,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *ListAgentsResponse) Reset() {
|
||||
*x = ListAgentsResponse{}
|
||||
mi := &file_mantrae_v1_agent_management_proto_msgTypes[10]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
||||
func (x *ListAgentsResponse) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*ListAgentsResponse) ProtoMessage() {}
|
||||
|
||||
func (x *ListAgentsResponse) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_mantrae_v1_agent_management_proto_msgTypes[10]
|
||||
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 ListAgentsResponse.ProtoReflect.Descriptor instead.
|
||||
func (*ListAgentsResponse) Descriptor() ([]byte, []int) {
|
||||
return file_mantrae_v1_agent_management_proto_rawDescGZIP(), []int{10}
|
||||
}
|
||||
|
||||
func (x *ListAgentsResponse) GetAgents() []*Agent {
|
||||
if x != nil {
|
||||
return x.Agents
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *ListAgentsResponse) GetTotalCount() int64 {
|
||||
if x != nil {
|
||||
return x.TotalCount
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
type RotateAgentTokenRequest struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *RotateAgentTokenRequest) Reset() {
|
||||
*x = RotateAgentTokenRequest{}
|
||||
mi := &file_mantrae_v1_agent_management_proto_msgTypes[11]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
||||
func (x *RotateAgentTokenRequest) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*RotateAgentTokenRequest) ProtoMessage() {}
|
||||
|
||||
func (x *RotateAgentTokenRequest) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_mantrae_v1_agent_management_proto_msgTypes[11]
|
||||
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 RotateAgentTokenRequest.ProtoReflect.Descriptor instead.
|
||||
func (*RotateAgentTokenRequest) Descriptor() ([]byte, []int) {
|
||||
return file_mantrae_v1_agent_management_proto_rawDescGZIP(), []int{11}
|
||||
}
|
||||
|
||||
func (x *RotateAgentTokenRequest) GetId() string {
|
||||
if x != nil {
|
||||
return x.Id
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
type RotateAgentTokenResponse struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
Token string `protobuf:"bytes,1,opt,name=token,proto3" json:"token,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *RotateAgentTokenResponse) Reset() {
|
||||
*x = RotateAgentTokenResponse{}
|
||||
mi := &file_mantrae_v1_agent_management_proto_msgTypes[12]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
||||
func (x *RotateAgentTokenResponse) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*RotateAgentTokenResponse) ProtoMessage() {}
|
||||
|
||||
func (x *RotateAgentTokenResponse) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_mantrae_v1_agent_management_proto_msgTypes[12]
|
||||
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 RotateAgentTokenResponse.ProtoReflect.Descriptor instead.
|
||||
func (*RotateAgentTokenResponse) Descriptor() ([]byte, []int) {
|
||||
return file_mantrae_v1_agent_management_proto_rawDescGZIP(), []int{12}
|
||||
}
|
||||
|
||||
func (x *RotateAgentTokenResponse) GetToken() string {
|
||||
if x != nil {
|
||||
return x.Token
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
var File_mantrae_v1_agent_management_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_mantrae_v1_agent_management_proto_rawDesc = string([]byte{
|
||||
0x0a, 0x21, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x67, 0x65,
|
||||
0x6e, 0x74, 0x5f, 0x6d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x2e, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x1a,
|
||||
0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66,
|
||||
0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||
0x1a, 0x16, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x61, 0x67, 0x65,
|
||||
0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xf0, 0x02, 0x0a, 0x05, 0x41, 0x67, 0x65,
|
||||
0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02,
|
||||
0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64,
|
||||
0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49,
|
||||
0x64, 0x12, 0x1a, 0x0a, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x08, 0x68, 0x6f, 0x73, 0x74, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1b, 0x0a,
|
||||
0x09, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x5f, 0x69, 0x70, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x08, 0x70, 0x75, 0x62, 0x6c, 0x69, 0x63, 0x49, 0x70, 0x12, 0x1b, 0x0a, 0x09, 0x61, 0x63,
|
||||
0x74, 0x69, 0x76, 0x65, 0x5f, 0x69, 0x70, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x61,
|
||||
0x63, 0x74, 0x69, 0x76, 0x65, 0x49, 0x70, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
|
||||
0x18, 0x06, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x1f, 0x0a,
|
||||
0x0b, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x5f, 0x69, 0x70, 0x73, 0x18, 0x07, 0x20, 0x03,
|
||||
0x28, 0x09, 0x52, 0x0a, 0x70, 0x72, 0x69, 0x76, 0x61, 0x74, 0x65, 0x49, 0x70, 0x73, 0x12, 0x35,
|
||||
0x0a, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x73, 0x18, 0x08, 0x20, 0x03,
|
||||
0x28, 0x0b, 0x32, 0x15, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e,
|
||||
0x43, 0x6f, 0x6e, 0x74, 0x61, 0x69, 0x6e, 0x65, 0x72, 0x52, 0x0a, 0x63, 0x6f, 0x6e, 0x74, 0x61,
|
||||
0x69, 0x6e, 0x65, 0x72, 0x73, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64,
|
||||
0x5f, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67,
|
||||
0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65,
|
||||
0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74,
|
||||
0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0a,
|
||||
0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
|
||||
0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x21, 0x0a, 0x0f, 0x47,
|
||||
0x65, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e,
|
||||
0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x3b,
|
||||
0x0a, 0x10, 0x47, 0x65, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
|
||||
0x73, 0x65, 0x12, 0x27, 0x0a, 0x05, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41,
|
||||
0x67, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x22, 0x33, 0x0a, 0x12, 0x43,
|
||||
0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||
0x74, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18,
|
||||
0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x64,
|
||||
0x22, 0x3e, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52,
|
||||
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x27, 0x0a, 0x05, 0x61, 0x67, 0x65, 0x6e, 0x74,
|
||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x11, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65,
|
||||
0x2e, 0x76, 0x31, 0x2e, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x05, 0x61, 0x67, 0x65, 0x6e, 0x74,
|
||||
0x22, 0x36, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49,
|
||||
0x50, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x70, 0x18, 0x02,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x70, 0x22, 0x40, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61,
|
||||
0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x50, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
|
||||
0x65, 0x12, 0x27, 0x0a, 0x05, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
|
||||
0x32, 0x11, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x67,
|
||||
0x65, 0x6e, 0x74, 0x52, 0x05, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x22, 0x24, 0x0a, 0x12, 0x44, 0x65,
|
||||
0x6c, 0x65, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
||||
0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64,
|
||||
0x22, 0x15, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52,
|
||||
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x7f, 0x0a, 0x11, 0x4c, 0x69, 0x73, 0x74, 0x41,
|
||||
0x67, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a,
|
||||
0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
|
||||
0x52, 0x09, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x05, 0x6c,
|
||||
0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x69,
|
||||
0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74,
|
||||
0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74,
|
||||
0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x09, 0x0a,
|
||||
0x07, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x60, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74,
|
||||
0x41, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x29,
|
||||
0x0a, 0x06, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x11,
|
||||
0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x41, 0x67, 0x65, 0x6e,
|
||||
0x74, 0x52, 0x06, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74,
|
||||
0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a,
|
||||
0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x22, 0x29, 0x0a, 0x17, 0x52, 0x6f,
|
||||
0x74, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65,
|
||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x02, 0x69, 0x64, 0x22, 0x30, 0x0a, 0x18, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x41,
|
||||
0x67, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
|
||||
0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x32, 0x8b, 0x04, 0x0a, 0x16, 0x41, 0x67, 0x65, 0x6e,
|
||||
0x74, 0x4d, 0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69,
|
||||
0x63, 0x65, 0x12, 0x4a, 0x0a, 0x08, 0x47, 0x65, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x1b,
|
||||
0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41,
|
||||
0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1c, 0x2e, 0x6d, 0x61,
|
||||
0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x41, 0x67, 0x65, 0x6e,
|
||||
0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x4e,
|
||||
0x0a, 0x0b, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x12, 0x1e, 0x2e,
|
||||
0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74,
|
||||
0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e,
|
||||
0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74,
|
||||
0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54,
|
||||
0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x50, 0x12,
|
||||
0x20, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64,
|
||||
0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x50, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||
0x74, 0x1a, 0x21, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55,
|
||||
0x70, 0x64, 0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x50, 0x52, 0x65, 0x73, 0x70,
|
||||
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4e, 0x0a, 0x0b, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x67,
|
||||
0x65, 0x6e, 0x74, 0x12, 0x1e, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31,
|
||||
0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75,
|
||||
0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31,
|
||||
0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70,
|
||||
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x50, 0x0a, 0x0a, 0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e,
|
||||
0x74, 0x73, 0x12, 0x1d, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e,
|
||||
0x4c, 0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||
0x74, 0x1a, 0x1e, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c,
|
||||
0x69, 0x73, 0x74, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
|
||||
0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x5d, 0x0a, 0x10, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65,
|
||||
0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x12, 0x23, 0x2e, 0x6d, 0x61, 0x6e,
|
||||
0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x74, 0x61, 0x74, 0x65, 0x41, 0x67,
|
||||
0x65, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
|
||||
0x24, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x74,
|
||||
0x61, 0x74, 0x65, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x54, 0x6f, 0x6b, 0x65, 0x6e, 0x52, 0x65, 0x73,
|
||||
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x42, 0xae, 0x01, 0x0a, 0x0e, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x61,
|
||||
0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x14, 0x41, 0x67, 0x65, 0x6e, 0x74, 0x4d,
|
||||
0x61, 0x6e, 0x61, 0x67, 0x65, 0x6d, 0x65, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01,
|
||||
0x5a, 0x3d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6d, 0x69, 0x7a,
|
||||
0x75, 0x63, 0x68, 0x69, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65,
|
||||
0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x72,
|
||||
0x61, 0x65, 0x2f, 0x76, 0x31, 0x3b, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x76, 0x31, 0xa2,
|
||||
0x02, 0x03, 0x4d, 0x58, 0x58, 0xaa, 0x02, 0x0a, 0x4d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e,
|
||||
0x56, 0x31, 0xca, 0x02, 0x0a, 0x4d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x5c, 0x56, 0x31, 0xe2,
|
||||
0x02, 0x16, 0x4d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42,
|
||||
0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0b, 0x4d, 0x61, 0x6e, 0x74, 0x72,
|
||||
0x61, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
})
|
||||
|
||||
var (
|
||||
file_mantrae_v1_agent_management_proto_rawDescOnce sync.Once
|
||||
file_mantrae_v1_agent_management_proto_rawDescData []byte
|
||||
)
|
||||
|
||||
func file_mantrae_v1_agent_management_proto_rawDescGZIP() []byte {
|
||||
file_mantrae_v1_agent_management_proto_rawDescOnce.Do(func() {
|
||||
file_mantrae_v1_agent_management_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_mantrae_v1_agent_management_proto_rawDesc), len(file_mantrae_v1_agent_management_proto_rawDesc)))
|
||||
})
|
||||
return file_mantrae_v1_agent_management_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_mantrae_v1_agent_management_proto_msgTypes = make([]protoimpl.MessageInfo, 13)
|
||||
var file_mantrae_v1_agent_management_proto_goTypes = []any{
|
||||
(*Agent)(nil), // 0: mantrae.v1.Agent
|
||||
(*GetAgentRequest)(nil), // 1: mantrae.v1.GetAgentRequest
|
||||
(*GetAgentResponse)(nil), // 2: mantrae.v1.GetAgentResponse
|
||||
(*CreateAgentRequest)(nil), // 3: mantrae.v1.CreateAgentRequest
|
||||
(*CreateAgentResponse)(nil), // 4: mantrae.v1.CreateAgentResponse
|
||||
(*UpdateAgentIPRequest)(nil), // 5: mantrae.v1.UpdateAgentIPRequest
|
||||
(*UpdateAgentIPResponse)(nil), // 6: mantrae.v1.UpdateAgentIPResponse
|
||||
(*DeleteAgentRequest)(nil), // 7: mantrae.v1.DeleteAgentRequest
|
||||
(*DeleteAgentResponse)(nil), // 8: mantrae.v1.DeleteAgentResponse
|
||||
(*ListAgentsRequest)(nil), // 9: mantrae.v1.ListAgentsRequest
|
||||
(*ListAgentsResponse)(nil), // 10: mantrae.v1.ListAgentsResponse
|
||||
(*RotateAgentTokenRequest)(nil), // 11: mantrae.v1.RotateAgentTokenRequest
|
||||
(*RotateAgentTokenResponse)(nil), // 12: mantrae.v1.RotateAgentTokenResponse
|
||||
(*Container)(nil), // 13: mantrae.v1.Container
|
||||
(*timestamppb.Timestamp)(nil), // 14: google.protobuf.Timestamp
|
||||
}
|
||||
var file_mantrae_v1_agent_management_proto_depIdxs = []int32{
|
||||
13, // 0: mantrae.v1.Agent.containers:type_name -> mantrae.v1.Container
|
||||
14, // 1: mantrae.v1.Agent.created_at:type_name -> google.protobuf.Timestamp
|
||||
14, // 2: mantrae.v1.Agent.updated_at:type_name -> google.protobuf.Timestamp
|
||||
0, // 3: mantrae.v1.GetAgentResponse.agent:type_name -> mantrae.v1.Agent
|
||||
0, // 4: mantrae.v1.CreateAgentResponse.agent:type_name -> mantrae.v1.Agent
|
||||
0, // 5: mantrae.v1.UpdateAgentIPResponse.agent:type_name -> mantrae.v1.Agent
|
||||
0, // 6: mantrae.v1.ListAgentsResponse.agents:type_name -> mantrae.v1.Agent
|
||||
1, // 7: mantrae.v1.AgentManagementService.GetAgent:input_type -> mantrae.v1.GetAgentRequest
|
||||
3, // 8: mantrae.v1.AgentManagementService.CreateAgent:input_type -> mantrae.v1.CreateAgentRequest
|
||||
5, // 9: mantrae.v1.AgentManagementService.UpdateAgentIP:input_type -> mantrae.v1.UpdateAgentIPRequest
|
||||
7, // 10: mantrae.v1.AgentManagementService.DeleteAgent:input_type -> mantrae.v1.DeleteAgentRequest
|
||||
9, // 11: mantrae.v1.AgentManagementService.ListAgents:input_type -> mantrae.v1.ListAgentsRequest
|
||||
11, // 12: mantrae.v1.AgentManagementService.RotateAgentToken:input_type -> mantrae.v1.RotateAgentTokenRequest
|
||||
2, // 13: mantrae.v1.AgentManagementService.GetAgent:output_type -> mantrae.v1.GetAgentResponse
|
||||
4, // 14: mantrae.v1.AgentManagementService.CreateAgent:output_type -> mantrae.v1.CreateAgentResponse
|
||||
6, // 15: mantrae.v1.AgentManagementService.UpdateAgentIP:output_type -> mantrae.v1.UpdateAgentIPResponse
|
||||
8, // 16: mantrae.v1.AgentManagementService.DeleteAgent:output_type -> mantrae.v1.DeleteAgentResponse
|
||||
10, // 17: mantrae.v1.AgentManagementService.ListAgents:output_type -> mantrae.v1.ListAgentsResponse
|
||||
12, // 18: mantrae.v1.AgentManagementService.RotateAgentToken:output_type -> mantrae.v1.RotateAgentTokenResponse
|
||||
13, // [13:19] is the sub-list for method output_type
|
||||
7, // [7:13] is the sub-list for method input_type
|
||||
7, // [7:7] is the sub-list for extension type_name
|
||||
7, // [7:7] is the sub-list for extension extendee
|
||||
0, // [0:7] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_mantrae_v1_agent_management_proto_init() }
|
||||
func file_mantrae_v1_agent_management_proto_init() {
|
||||
if File_mantrae_v1_agent_management_proto != nil {
|
||||
return
|
||||
}
|
||||
file_mantrae_v1_agent_proto_init()
|
||||
file_mantrae_v1_agent_management_proto_msgTypes[9].OneofWrappers = []any{}
|
||||
type x struct{}
|
||||
out := protoimpl.TypeBuilder{
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: unsafe.Slice(unsafe.StringData(file_mantrae_v1_agent_management_proto_rawDesc), len(file_mantrae_v1_agent_management_proto_rawDesc)),
|
||||
NumEnums: 0,
|
||||
NumMessages: 13,
|
||||
NumExtensions: 0,
|
||||
NumServices: 1,
|
||||
},
|
||||
GoTypes: file_mantrae_v1_agent_management_proto_goTypes,
|
||||
DependencyIndexes: file_mantrae_v1_agent_management_proto_depIdxs,
|
||||
MessageInfos: file_mantrae_v1_agent_management_proto_msgTypes,
|
||||
}.Build()
|
||||
File_mantrae_v1_agent_management_proto = out.File
|
||||
file_mantrae_v1_agent_management_proto_goTypes = nil
|
||||
file_mantrae_v1_agent_management_proto_depIdxs = nil
|
||||
}
|
||||
726
proto/gen/mantrae/v1/backup.pb.go
Normal file
726
proto/gen/mantrae/v1/backup.pb.go
Normal file
@@ -0,0 +1,726 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.36.5
|
||||
// protoc (unknown)
|
||||
// source: mantrae/v1/backup.proto
|
||||
|
||||
package mantraev1
|
||||
|
||||
import (
|
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||
timestamppb "google.golang.org/protobuf/types/known/timestamppb"
|
||||
reflect "reflect"
|
||||
sync "sync"
|
||||
unsafe "unsafe"
|
||||
)
|
||||
|
||||
const (
|
||||
// Verify that this generated code is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
|
||||
// Verify that runtime/protoimpl is sufficiently up-to-date.
|
||||
_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
|
||||
)
|
||||
|
||||
type Backup struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
|
||||
Size int64 `protobuf:"varint,2,opt,name=size,proto3" json:"size,omitempty"`
|
||||
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,3,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *Backup) Reset() {
|
||||
*x = Backup{}
|
||||
mi := &file_mantrae_v1_backup_proto_msgTypes[0]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
||||
func (x *Backup) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*Backup) ProtoMessage() {}
|
||||
|
||||
func (x *Backup) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_mantrae_v1_backup_proto_msgTypes[0]
|
||||
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 Backup.ProtoReflect.Descriptor instead.
|
||||
func (*Backup) Descriptor() ([]byte, []int) {
|
||||
return file_mantrae_v1_backup_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
func (x *Backup) GetName() string {
|
||||
if x != nil {
|
||||
return x.Name
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Backup) GetSize() int64 {
|
||||
if x != nil {
|
||||
return x.Size
|
||||
}
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *Backup) GetCreatedAt() *timestamppb.Timestamp {
|
||||
if x != nil {
|
||||
return x.CreatedAt
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type CreateBackupRequest struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *CreateBackupRequest) Reset() {
|
||||
*x = CreateBackupRequest{}
|
||||
mi := &file_mantrae_v1_backup_proto_msgTypes[1]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
||||
func (x *CreateBackupRequest) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*CreateBackupRequest) ProtoMessage() {}
|
||||
|
||||
func (x *CreateBackupRequest) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_mantrae_v1_backup_proto_msgTypes[1]
|
||||
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 CreateBackupRequest.ProtoReflect.Descriptor instead.
|
||||
func (*CreateBackupRequest) Descriptor() ([]byte, []int) {
|
||||
return file_mantrae_v1_backup_proto_rawDescGZIP(), []int{1}
|
||||
}
|
||||
|
||||
type CreateBackupResponse struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *CreateBackupResponse) Reset() {
|
||||
*x = CreateBackupResponse{}
|
||||
mi := &file_mantrae_v1_backup_proto_msgTypes[2]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
||||
func (x *CreateBackupResponse) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*CreateBackupResponse) ProtoMessage() {}
|
||||
|
||||
func (x *CreateBackupResponse) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_mantrae_v1_backup_proto_msgTypes[2]
|
||||
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 CreateBackupResponse.ProtoReflect.Descriptor instead.
|
||||
func (*CreateBackupResponse) Descriptor() ([]byte, []int) {
|
||||
return file_mantrae_v1_backup_proto_rawDescGZIP(), []int{2}
|
||||
}
|
||||
|
||||
type RestoreBackupRequest struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *RestoreBackupRequest) Reset() {
|
||||
*x = RestoreBackupRequest{}
|
||||
mi := &file_mantrae_v1_backup_proto_msgTypes[3]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
||||
func (x *RestoreBackupRequest) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*RestoreBackupRequest) ProtoMessage() {}
|
||||
|
||||
func (x *RestoreBackupRequest) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_mantrae_v1_backup_proto_msgTypes[3]
|
||||
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 RestoreBackupRequest.ProtoReflect.Descriptor instead.
|
||||
func (*RestoreBackupRequest) Descriptor() ([]byte, []int) {
|
||||
return file_mantrae_v1_backup_proto_rawDescGZIP(), []int{3}
|
||||
}
|
||||
|
||||
func (x *RestoreBackupRequest) GetName() string {
|
||||
if x != nil {
|
||||
return x.Name
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
type RestoreBackupResponse struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *RestoreBackupResponse) Reset() {
|
||||
*x = RestoreBackupResponse{}
|
||||
mi := &file_mantrae_v1_backup_proto_msgTypes[4]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
||||
func (x *RestoreBackupResponse) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*RestoreBackupResponse) ProtoMessage() {}
|
||||
|
||||
func (x *RestoreBackupResponse) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_mantrae_v1_backup_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 RestoreBackupResponse.ProtoReflect.Descriptor instead.
|
||||
func (*RestoreBackupResponse) Descriptor() ([]byte, []int) {
|
||||
return file_mantrae_v1_backup_proto_rawDescGZIP(), []int{4}
|
||||
}
|
||||
|
||||
type ListBackupsRequest struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *ListBackupsRequest) Reset() {
|
||||
*x = ListBackupsRequest{}
|
||||
mi := &file_mantrae_v1_backup_proto_msgTypes[5]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
||||
func (x *ListBackupsRequest) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*ListBackupsRequest) ProtoMessage() {}
|
||||
|
||||
func (x *ListBackupsRequest) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_mantrae_v1_backup_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 ListBackupsRequest.ProtoReflect.Descriptor instead.
|
||||
func (*ListBackupsRequest) Descriptor() ([]byte, []int) {
|
||||
return file_mantrae_v1_backup_proto_rawDescGZIP(), []int{5}
|
||||
}
|
||||
|
||||
type ListBackupsResponse struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
Backups []*Backup `protobuf:"bytes,1,rep,name=backups,proto3" json:"backups,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *ListBackupsResponse) Reset() {
|
||||
*x = ListBackupsResponse{}
|
||||
mi := &file_mantrae_v1_backup_proto_msgTypes[6]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
||||
func (x *ListBackupsResponse) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*ListBackupsResponse) ProtoMessage() {}
|
||||
|
||||
func (x *ListBackupsResponse) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_mantrae_v1_backup_proto_msgTypes[6]
|
||||
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 ListBackupsResponse.ProtoReflect.Descriptor instead.
|
||||
func (*ListBackupsResponse) Descriptor() ([]byte, []int) {
|
||||
return file_mantrae_v1_backup_proto_rawDescGZIP(), []int{6}
|
||||
}
|
||||
|
||||
func (x *ListBackupsResponse) GetBackups() []*Backup {
|
||||
if x != nil {
|
||||
return x.Backups
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type DeleteBackupRequest struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *DeleteBackupRequest) Reset() {
|
||||
*x = DeleteBackupRequest{}
|
||||
mi := &file_mantrae_v1_backup_proto_msgTypes[7]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
||||
func (x *DeleteBackupRequest) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*DeleteBackupRequest) ProtoMessage() {}
|
||||
|
||||
func (x *DeleteBackupRequest) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_mantrae_v1_backup_proto_msgTypes[7]
|
||||
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 DeleteBackupRequest.ProtoReflect.Descriptor instead.
|
||||
func (*DeleteBackupRequest) Descriptor() ([]byte, []int) {
|
||||
return file_mantrae_v1_backup_proto_rawDescGZIP(), []int{7}
|
||||
}
|
||||
|
||||
func (x *DeleteBackupRequest) GetName() string {
|
||||
if x != nil {
|
||||
return x.Name
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
type DeleteBackupResponse struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *DeleteBackupResponse) Reset() {
|
||||
*x = DeleteBackupResponse{}
|
||||
mi := &file_mantrae_v1_backup_proto_msgTypes[8]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
||||
func (x *DeleteBackupResponse) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*DeleteBackupResponse) ProtoMessage() {}
|
||||
|
||||
func (x *DeleteBackupResponse) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_mantrae_v1_backup_proto_msgTypes[8]
|
||||
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 DeleteBackupResponse.ProtoReflect.Descriptor instead.
|
||||
func (*DeleteBackupResponse) Descriptor() ([]byte, []int) {
|
||||
return file_mantrae_v1_backup_proto_rawDescGZIP(), []int{8}
|
||||
}
|
||||
|
||||
type DownloadBackupRequest struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *DownloadBackupRequest) Reset() {
|
||||
*x = DownloadBackupRequest{}
|
||||
mi := &file_mantrae_v1_backup_proto_msgTypes[9]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
||||
func (x *DownloadBackupRequest) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*DownloadBackupRequest) ProtoMessage() {}
|
||||
|
||||
func (x *DownloadBackupRequest) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_mantrae_v1_backup_proto_msgTypes[9]
|
||||
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 DownloadBackupRequest.ProtoReflect.Descriptor instead.
|
||||
func (*DownloadBackupRequest) Descriptor() ([]byte, []int) {
|
||||
return file_mantrae_v1_backup_proto_rawDescGZIP(), []int{9}
|
||||
}
|
||||
|
||||
func (x *DownloadBackupRequest) GetName() string {
|
||||
if x != nil {
|
||||
return x.Name
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
type DownloadBackupResponse struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *DownloadBackupResponse) Reset() {
|
||||
*x = DownloadBackupResponse{}
|
||||
mi := &file_mantrae_v1_backup_proto_msgTypes[10]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
||||
func (x *DownloadBackupResponse) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*DownloadBackupResponse) ProtoMessage() {}
|
||||
|
||||
func (x *DownloadBackupResponse) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_mantrae_v1_backup_proto_msgTypes[10]
|
||||
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 DownloadBackupResponse.ProtoReflect.Descriptor instead.
|
||||
func (*DownloadBackupResponse) Descriptor() ([]byte, []int) {
|
||||
return file_mantrae_v1_backup_proto_rawDescGZIP(), []int{10}
|
||||
}
|
||||
|
||||
func (x *DownloadBackupResponse) GetData() []byte {
|
||||
if x != nil {
|
||||
return x.Data
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type UploadBackupRequest struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
Data []byte `protobuf:"bytes,1,opt,name=data,proto3" json:"data,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *UploadBackupRequest) Reset() {
|
||||
*x = UploadBackupRequest{}
|
||||
mi := &file_mantrae_v1_backup_proto_msgTypes[11]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
||||
func (x *UploadBackupRequest) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*UploadBackupRequest) ProtoMessage() {}
|
||||
|
||||
func (x *UploadBackupRequest) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_mantrae_v1_backup_proto_msgTypes[11]
|
||||
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 UploadBackupRequest.ProtoReflect.Descriptor instead.
|
||||
func (*UploadBackupRequest) Descriptor() ([]byte, []int) {
|
||||
return file_mantrae_v1_backup_proto_rawDescGZIP(), []int{11}
|
||||
}
|
||||
|
||||
func (x *UploadBackupRequest) GetData() []byte {
|
||||
if x != nil {
|
||||
return x.Data
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
type UploadBackupResponse struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *UploadBackupResponse) Reset() {
|
||||
*x = UploadBackupResponse{}
|
||||
mi := &file_mantrae_v1_backup_proto_msgTypes[12]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
||||
func (x *UploadBackupResponse) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*UploadBackupResponse) ProtoMessage() {}
|
||||
|
||||
func (x *UploadBackupResponse) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_mantrae_v1_backup_proto_msgTypes[12]
|
||||
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 UploadBackupResponse.ProtoReflect.Descriptor instead.
|
||||
func (*UploadBackupResponse) Descriptor() ([]byte, []int) {
|
||||
return file_mantrae_v1_backup_proto_rawDescGZIP(), []int{12}
|
||||
}
|
||||
|
||||
var File_mantrae_v1_backup_proto protoreflect.FileDescriptor
|
||||
|
||||
var file_mantrae_v1_backup_proto_rawDesc = string([]byte{
|
||||
0x0a, 0x17, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x62, 0x61, 0x63,
|
||||
0x6b, 0x75, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x6d, 0x61, 0x6e, 0x74, 0x72,
|
||||
0x61, 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
|
||||
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x6b, 0x0a, 0x06, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70,
|
||||
0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04,
|
||||
0x6e, 0x61, 0x6d, 0x65, 0x12, 0x12, 0x0a, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x18, 0x02, 0x20, 0x01,
|
||||
0x28, 0x03, 0x52, 0x04, 0x73, 0x69, 0x7a, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61,
|
||||
0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
|
||||
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
|
||||
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
|
||||
0x64, 0x41, 0x74, 0x22, 0x15, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63,
|
||||
0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x16, 0x0a, 0x14, 0x43, 0x72,
|
||||
0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
|
||||
0x73, 0x65, 0x22, 0x2a, 0x0a, 0x14, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x42, 0x61, 0x63,
|
||||
0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
|
||||
0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x17,
|
||||
0x0a, 0x15, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52,
|
||||
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x14, 0x0a, 0x12, 0x4c, 0x69, 0x73, 0x74, 0x42,
|
||||
0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x22, 0x43, 0x0a,
|
||||
0x13, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70,
|
||||
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2c, 0x0a, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x18,
|
||||
0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e,
|
||||
0x76, 0x31, 0x2e, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x07, 0x62, 0x61, 0x63, 0x6b, 0x75,
|
||||
0x70, 0x73, 0x22, 0x29, 0x0a, 0x13, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b,
|
||||
0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d,
|
||||
0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x22, 0x16, 0x0a,
|
||||
0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73,
|
||||
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x2b, 0x0a, 0x15, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61,
|
||||
0x64, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12,
|
||||
0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61,
|
||||
0x6d, 0x65, 0x22, 0x2c, 0x0a, 0x16, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x61,
|
||||
0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x12, 0x0a, 0x04,
|
||||
0x64, 0x61, 0x74, 0x61, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61,
|
||||
0x22, 0x29, 0x0a, 0x13, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70,
|
||||
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x61, 0x18,
|
||||
0x01, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x04, 0x64, 0x61, 0x74, 0x61, 0x22, 0x16, 0x0a, 0x14, 0x55,
|
||||
0x70, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
||||
0x6e, 0x73, 0x65, 0x32, 0x90, 0x04, 0x0a, 0x0d, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x53, 0x65,
|
||||
0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x51, 0x0a, 0x0c, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42,
|
||||
0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x1f, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e,
|
||||
0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52,
|
||||
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65,
|
||||
0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70,
|
||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x0d, 0x52, 0x65, 0x73, 0x74,
|
||||
0x6f, 0x72, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x20, 0x2e, 0x6d, 0x61, 0x6e, 0x74,
|
||||
0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65, 0x42, 0x61,
|
||||
0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6d, 0x61,
|
||||
0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x65, 0x73, 0x74, 0x6f, 0x72, 0x65,
|
||||
0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53,
|
||||
0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x12, 0x1e, 0x2e,
|
||||
0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42,
|
||||
0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e,
|
||||
0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x42,
|
||||
0x61, 0x63, 0x6b, 0x75, 0x70, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03,
|
||||
0x90, 0x02, 0x01, 0x12, 0x51, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x61, 0x63,
|
||||
0x6b, 0x75, 0x70, 0x12, 0x1f, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31,
|
||||
0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71,
|
||||
0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76,
|
||||
0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65,
|
||||
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x59, 0x0a, 0x0e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f,
|
||||
0x61, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x12, 0x21, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72,
|
||||
0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x61,
|
||||
0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x22, 0x2e, 0x6d, 0x61,
|
||||
0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x6f, 0x77, 0x6e, 0x6c, 0x6f, 0x61,
|
||||
0x64, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x30,
|
||||
0x01, 0x12, 0x53, 0x0a, 0x0c, 0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x75,
|
||||
0x70, 0x12, 0x1f, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55,
|
||||
0x70, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||
0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e,
|
||||
0x55, 0x70, 0x6c, 0x6f, 0x61, 0x64, 0x42, 0x61, 0x63, 0x6b, 0x75, 0x70, 0x52, 0x65, 0x73, 0x70,
|
||||
0x6f, 0x6e, 0x73, 0x65, 0x28, 0x01, 0x42, 0xa5, 0x01, 0x0a, 0x0e, 0x63, 0x6f, 0x6d, 0x2e, 0x6d,
|
||||
0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x0b, 0x42, 0x61, 0x63, 0x6b, 0x75,
|
||||
0x70, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62,
|
||||
0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6d, 0x69, 0x7a, 0x75, 0x63, 0x68, 0x69, 0x6c, 0x61, 0x62, 0x73,
|
||||
0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67,
|
||||
0x65, 0x6e, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2f, 0x76, 0x31, 0x3b, 0x6d, 0x61,
|
||||
0x6e, 0x74, 0x72, 0x61, 0x65, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x4d, 0x58, 0x58, 0xaa, 0x02, 0x0a,
|
||||
0x4d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x0a, 0x4d, 0x61, 0x6e,
|
||||
0x74, 0x72, 0x61, 0x65, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x16, 0x4d, 0x61, 0x6e, 0x74, 0x72, 0x61,
|
||||
0x65, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61,
|
||||
0xea, 0x02, 0x0b, 0x4d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
})
|
||||
|
||||
var (
|
||||
file_mantrae_v1_backup_proto_rawDescOnce sync.Once
|
||||
file_mantrae_v1_backup_proto_rawDescData []byte
|
||||
)
|
||||
|
||||
func file_mantrae_v1_backup_proto_rawDescGZIP() []byte {
|
||||
file_mantrae_v1_backup_proto_rawDescOnce.Do(func() {
|
||||
file_mantrae_v1_backup_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_mantrae_v1_backup_proto_rawDesc), len(file_mantrae_v1_backup_proto_rawDesc)))
|
||||
})
|
||||
return file_mantrae_v1_backup_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_mantrae_v1_backup_proto_msgTypes = make([]protoimpl.MessageInfo, 13)
|
||||
var file_mantrae_v1_backup_proto_goTypes = []any{
|
||||
(*Backup)(nil), // 0: mantrae.v1.Backup
|
||||
(*CreateBackupRequest)(nil), // 1: mantrae.v1.CreateBackupRequest
|
||||
(*CreateBackupResponse)(nil), // 2: mantrae.v1.CreateBackupResponse
|
||||
(*RestoreBackupRequest)(nil), // 3: mantrae.v1.RestoreBackupRequest
|
||||
(*RestoreBackupResponse)(nil), // 4: mantrae.v1.RestoreBackupResponse
|
||||
(*ListBackupsRequest)(nil), // 5: mantrae.v1.ListBackupsRequest
|
||||
(*ListBackupsResponse)(nil), // 6: mantrae.v1.ListBackupsResponse
|
||||
(*DeleteBackupRequest)(nil), // 7: mantrae.v1.DeleteBackupRequest
|
||||
(*DeleteBackupResponse)(nil), // 8: mantrae.v1.DeleteBackupResponse
|
||||
(*DownloadBackupRequest)(nil), // 9: mantrae.v1.DownloadBackupRequest
|
||||
(*DownloadBackupResponse)(nil), // 10: mantrae.v1.DownloadBackupResponse
|
||||
(*UploadBackupRequest)(nil), // 11: mantrae.v1.UploadBackupRequest
|
||||
(*UploadBackupResponse)(nil), // 12: mantrae.v1.UploadBackupResponse
|
||||
(*timestamppb.Timestamp)(nil), // 13: google.protobuf.Timestamp
|
||||
}
|
||||
var file_mantrae_v1_backup_proto_depIdxs = []int32{
|
||||
13, // 0: mantrae.v1.Backup.created_at:type_name -> google.protobuf.Timestamp
|
||||
0, // 1: mantrae.v1.ListBackupsResponse.backups:type_name -> mantrae.v1.Backup
|
||||
1, // 2: mantrae.v1.BackupService.CreateBackup:input_type -> mantrae.v1.CreateBackupRequest
|
||||
3, // 3: mantrae.v1.BackupService.RestoreBackup:input_type -> mantrae.v1.RestoreBackupRequest
|
||||
5, // 4: mantrae.v1.BackupService.ListBackups:input_type -> mantrae.v1.ListBackupsRequest
|
||||
7, // 5: mantrae.v1.BackupService.DeleteBackup:input_type -> mantrae.v1.DeleteBackupRequest
|
||||
9, // 6: mantrae.v1.BackupService.DownloadBackup:input_type -> mantrae.v1.DownloadBackupRequest
|
||||
11, // 7: mantrae.v1.BackupService.UploadBackup:input_type -> mantrae.v1.UploadBackupRequest
|
||||
2, // 8: mantrae.v1.BackupService.CreateBackup:output_type -> mantrae.v1.CreateBackupResponse
|
||||
4, // 9: mantrae.v1.BackupService.RestoreBackup:output_type -> mantrae.v1.RestoreBackupResponse
|
||||
6, // 10: mantrae.v1.BackupService.ListBackups:output_type -> mantrae.v1.ListBackupsResponse
|
||||
8, // 11: mantrae.v1.BackupService.DeleteBackup:output_type -> mantrae.v1.DeleteBackupResponse
|
||||
10, // 12: mantrae.v1.BackupService.DownloadBackup:output_type -> mantrae.v1.DownloadBackupResponse
|
||||
12, // 13: mantrae.v1.BackupService.UploadBackup:output_type -> mantrae.v1.UploadBackupResponse
|
||||
8, // [8:14] is the sub-list for method output_type
|
||||
2, // [2:8] is the sub-list for method input_type
|
||||
2, // [2:2] is the sub-list for extension type_name
|
||||
2, // [2:2] is the sub-list for extension extendee
|
||||
0, // [0:2] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_mantrae_v1_backup_proto_init() }
|
||||
func file_mantrae_v1_backup_proto_init() {
|
||||
if File_mantrae_v1_backup_proto != nil {
|
||||
return
|
||||
}
|
||||
type x struct{}
|
||||
out := protoimpl.TypeBuilder{
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: unsafe.Slice(unsafe.StringData(file_mantrae_v1_backup_proto_rawDesc), len(file_mantrae_v1_backup_proto_rawDesc)),
|
||||
NumEnums: 0,
|
||||
NumMessages: 13,
|
||||
NumExtensions: 0,
|
||||
NumServices: 1,
|
||||
},
|
||||
GoTypes: file_mantrae_v1_backup_proto_goTypes,
|
||||
DependencyIndexes: file_mantrae_v1_backup_proto_depIdxs,
|
||||
MessageInfos: file_mantrae_v1_backup_proto_msgTypes,
|
||||
}.Build()
|
||||
File_mantrae_v1_backup_proto = out.File
|
||||
file_mantrae_v1_backup_proto_goTypes = nil
|
||||
file_mantrae_v1_backup_proto_depIdxs = nil
|
||||
}
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.36.6
|
||||
// protoc-gen-go v1.36.5
|
||||
// protoc (unknown)
|
||||
// source: mantrae/v1/entry_point.proto
|
||||
|
||||
@@ -596,64 +596,120 @@ func (x *ListEntryPointsResponse) GetTotalCount() int64 {
|
||||
|
||||
var File_mantrae_v1_entry_point_proto protoreflect.FileDescriptor
|
||||
|
||||
const file_mantrae_v1_entry_point_proto_rawDesc = "" +
|
||||
"\n" +
|
||||
"\x1cmantrae/v1/entry_point.proto\x12\n" +
|
||||
"mantrae.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"\xdf\x01\n" +
|
||||
"\n" +
|
||||
"EntryPoint\x12\x0e\n" +
|
||||
"\x02id\x18\x01 \x01(\x03R\x02id\x12\x12\n" +
|
||||
"\x04name\x18\x02 \x01(\tR\x04name\x12\x18\n" +
|
||||
"\aaddress\x18\x03 \x01(\tR\aaddress\x12\x1d\n" +
|
||||
"\n" +
|
||||
"is_default\x18\x04 \x01(\bR\tisDefault\x129\n" +
|
||||
"\n" +
|
||||
"created_at\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" +
|
||||
"\n" +
|
||||
"updated_at\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\"&\n" +
|
||||
"\x14GetEntryPointRequest\x12\x0e\n" +
|
||||
"\x02id\x18\x01 \x01(\x03R\x02id\"P\n" +
|
||||
"\x15GetEntryPointResponse\x127\n" +
|
||||
"\ventry_point\x18\x01 \x01(\v2\x16.mantrae.v1.EntryPointR\n" +
|
||||
"entryPoint\"f\n" +
|
||||
"\x17CreateEntryPointRequest\x12\x12\n" +
|
||||
"\x04name\x18\x01 \x01(\tR\x04name\x12\x18\n" +
|
||||
"\aaddress\x18\x02 \x01(\tR\aaddress\x12\x1d\n" +
|
||||
"\n" +
|
||||
"is_default\x18\x03 \x01(\bR\tisDefault\"S\n" +
|
||||
"\x18CreateEntryPointResponse\x127\n" +
|
||||
"\ventry_point\x18\x01 \x01(\v2\x16.mantrae.v1.EntryPointR\n" +
|
||||
"entryPoint\"v\n" +
|
||||
"\x17UpdateEntryPointRequest\x12\x0e\n" +
|
||||
"\x02id\x18\x01 \x01(\x03R\x02id\x12\x12\n" +
|
||||
"\x04name\x18\x02 \x01(\tR\x04name\x12\x18\n" +
|
||||
"\aaddress\x18\x03 \x01(\tR\aaddress\x12\x1d\n" +
|
||||
"\n" +
|
||||
"is_default\x18\x04 \x01(\bR\tisDefault\"S\n" +
|
||||
"\x18UpdateEntryPointResponse\x127\n" +
|
||||
"\ventry_point\x18\x01 \x01(\v2\x16.mantrae.v1.EntryPointR\n" +
|
||||
"entryPoint\")\n" +
|
||||
"\x17DeleteEntryPointRequest\x12\x0e\n" +
|
||||
"\x02id\x18\x01 \x01(\x03R\x02id\"\x1a\n" +
|
||||
"\x18DeleteEntryPointResponse\"e\n" +
|
||||
"\x16ListEntryPointsRequest\x12\x19\n" +
|
||||
"\x05limit\x18\x01 \x01(\x03H\x00R\x05limit\x88\x01\x01\x12\x1b\n" +
|
||||
"\x06offset\x18\x02 \x01(\x03H\x01R\x06offset\x88\x01\x01B\b\n" +
|
||||
"\x06_limitB\t\n" +
|
||||
"\a_offset\"u\n" +
|
||||
"\x17ListEntryPointsResponse\x129\n" +
|
||||
"\fentry_points\x18\x01 \x03(\v2\x16.mantrae.v1.EntryPointR\ventryPoints\x12\x1f\n" +
|
||||
"\vtotal_count\x18\x02 \x01(\x03R\n" +
|
||||
"totalCount2\xec\x03\n" +
|
||||
"\x11EntryPointService\x12Y\n" +
|
||||
"\rGetEntryPoint\x12 .mantrae.v1.GetEntryPointRequest\x1a!.mantrae.v1.GetEntryPointResponse\"\x03\x90\x02\x01\x12]\n" +
|
||||
"\x10CreateEntryPoint\x12#.mantrae.v1.CreateEntryPointRequest\x1a$.mantrae.v1.CreateEntryPointResponse\x12]\n" +
|
||||
"\x10UpdateEntryPoint\x12#.mantrae.v1.UpdateEntryPointRequest\x1a$.mantrae.v1.UpdateEntryPointResponse\x12]\n" +
|
||||
"\x10DeleteEntryPoint\x12#.mantrae.v1.DeleteEntryPointRequest\x1a$.mantrae.v1.DeleteEntryPointResponse\x12_\n" +
|
||||
"\x0fListEntryPoints\x12\".mantrae.v1.ListEntryPointsRequest\x1a#.mantrae.v1.ListEntryPointsResponse\"\x03\x90\x02\x01B\xa9\x01\n" +
|
||||
"\x0ecom.mantrae.v1B\x0fEntryPointProtoP\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"
|
||||
var file_mantrae_v1_entry_point_proto_rawDesc = string([]byte{
|
||||
0x0a, 0x1c, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x65, 0x6e, 0x74,
|
||||
0x72, 0x79, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a,
|
||||
0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67,
|
||||
0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65,
|
||||
0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xdf, 0x01, 0x0a, 0x0a,
|
||||
0x45, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64,
|
||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61,
|
||||
0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18,
|
||||
0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x64,
|
||||
0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73,
|
||||
0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74,
|
||||
0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f,
|
||||
0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69,
|
||||
0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64,
|
||||
0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74,
|
||||
0x18, 0x06, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61,
|
||||
0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x26, 0x0a,
|
||||
0x14, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65,
|
||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0x50, 0x0a, 0x15, 0x47, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x72,
|
||||
0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37,
|
||||
0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31,
|
||||
0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0a, 0x65, 0x6e, 0x74,
|
||||
0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x22, 0x66, 0x0a, 0x17, 0x43, 0x72, 0x65, 0x61, 0x74,
|
||||
0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||
0x73, 0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73,
|
||||
0x73, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73,
|
||||
0x12, 0x1d, 0x0a, 0x0a, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x03,
|
||||
0x20, 0x01, 0x28, 0x08, 0x52, 0x09, 0x69, 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x22,
|
||||
0x53, 0x0a, 0x18, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f,
|
||||
0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0b, 0x65,
|
||||
0x6e, 0x74, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
|
||||
0x32, 0x16, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e,
|
||||
0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50,
|
||||
0x6f, 0x69, 0x6e, 0x74, 0x22, 0x76, 0x0a, 0x17, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e,
|
||||
0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
|
||||
0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12,
|
||||
0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
|
||||
0x61, 0x6d, 0x65, 0x12, 0x18, 0x0a, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x18, 0x03,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x64, 0x64, 0x72, 0x65, 0x73, 0x73, 0x12, 0x1d, 0x0a,
|
||||
0x0a, 0x69, 0x73, 0x5f, 0x64, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28,
|
||||
0x08, 0x52, 0x09, 0x69, 0x73, 0x44, 0x65, 0x66, 0x61, 0x75, 0x6c, 0x74, 0x22, 0x53, 0x0a, 0x18,
|
||||
0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74,
|
||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x37, 0x0a, 0x0b, 0x65, 0x6e, 0x74, 0x72,
|
||||
0x79, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x16, 0x2e,
|
||||
0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e, 0x74, 0x72, 0x79,
|
||||
0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0a, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e,
|
||||
0x74, 0x22, 0x29, 0x0a, 0x17, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79,
|
||||
0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02,
|
||||
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0x1a, 0x0a, 0x18,
|
||||
0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74,
|
||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x65, 0x0a, 0x16, 0x4c, 0x69, 0x73, 0x74,
|
||||
0x45, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||
0x73, 0x74, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x03, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a,
|
||||
0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52,
|
||||
0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c,
|
||||
0x69, 0x6d, 0x69, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22,
|
||||
0x75, 0x0a, 0x17, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e,
|
||||
0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x39, 0x0a, 0x0c, 0x65, 0x6e,
|
||||
0x74, 0x72, 0x79, 0x5f, 0x70, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b,
|
||||
0x32, 0x16, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x45, 0x6e,
|
||||
0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x0b, 0x65, 0x6e, 0x74, 0x72, 0x79, 0x50,
|
||||
0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63,
|
||||
0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61,
|
||||
0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x32, 0xec, 0x03, 0x0a, 0x11, 0x45, 0x6e, 0x74, 0x72, 0x79,
|
||||
0x50, 0x6f, 0x69, 0x6e, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x59, 0x0a, 0x0d,
|
||||
0x47, 0x65, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x20, 0x2e,
|
||||
0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x45, 0x6e,
|
||||
0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
|
||||
0x21, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74,
|
||||
0x45, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e,
|
||||
0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x5d, 0x0a, 0x10, 0x43, 0x72, 0x65, 0x61, 0x74,
|
||||
0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x23, 0x2e, 0x6d, 0x61,
|
||||
0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x45,
|
||||
0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
||||
0x1a, 0x24, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72,
|
||||
0x65, 0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65,
|
||||
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x10, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
|
||||
0x45, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x23, 0x2e, 0x6d, 0x61, 0x6e,
|
||||
0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x45, 0x6e,
|
||||
0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
|
||||
0x24, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64,
|
||||
0x61, 0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73,
|
||||
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5d, 0x0a, 0x10, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45,
|
||||
0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x12, 0x23, 0x2e, 0x6d, 0x61, 0x6e, 0x74,
|
||||
0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x45, 0x6e, 0x74,
|
||||
0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x24,
|
||||
0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65,
|
||||
0x74, 0x65, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x52, 0x65, 0x73, 0x70,
|
||||
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x5f, 0x0a, 0x0f, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72,
|
||||
0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x12, 0x22, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61,
|
||||
0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x50, 0x6f,
|
||||
0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x23, 0x2e, 0x6d, 0x61,
|
||||
0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x45, 0x6e, 0x74,
|
||||
0x72, 0x79, 0x50, 0x6f, 0x69, 0x6e, 0x74, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
||||
0x22, 0x03, 0x90, 0x02, 0x01, 0x42, 0xa9, 0x01, 0x0a, 0x0e, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x61,
|
||||
0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x0f, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x50,
|
||||
0x6f, 0x69, 0x6e, 0x74, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3d, 0x67, 0x69, 0x74,
|
||||
0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6d, 0x69, 0x7a, 0x75, 0x63, 0x68, 0x69, 0x6c,
|
||||
0x61, 0x62, 0x73, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2f, 0x76, 0x31,
|
||||
0x3b, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x4d, 0x58, 0x58,
|
||||
0xaa, 0x02, 0x0a, 0x4d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x0a,
|
||||
0x4d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x16, 0x4d, 0x61, 0x6e,
|
||||
0x74, 0x72, 0x61, 0x65, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64,
|
||||
0x61, 0x74, 0x61, 0xea, 0x02, 0x0b, 0x4d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x3a, 0x3a, 0x56,
|
||||
0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
})
|
||||
|
||||
var (
|
||||
file_mantrae_v1_entry_point_proto_rawDescOnce sync.Once
|
||||
|
||||
@@ -0,0 +1,259 @@
|
||||
// Code generated by protoc-gen-connect-go. DO NOT EDIT.
|
||||
//
|
||||
// Source: mantrae/v1/agent_management.proto
|
||||
|
||||
package mantraev1connect
|
||||
|
||||
import (
|
||||
connect "connectrpc.com/connect"
|
||||
context "context"
|
||||
errors "errors"
|
||||
v1 "github.com/mizuchilabs/mantrae/proto/gen/mantrae/v1"
|
||||
http "net/http"
|
||||
strings "strings"
|
||||
)
|
||||
|
||||
// This is a compile-time assertion to ensure that this generated file and the connect package are
|
||||
// compatible. If you get a compiler error that this constant is not defined, this code was
|
||||
// generated with a version of connect newer than the one compiled into your binary. You can fix the
|
||||
// problem by either regenerating this code with an older version of connect or updating the connect
|
||||
// version compiled into your binary.
|
||||
const _ = connect.IsAtLeastVersion1_13_0
|
||||
|
||||
const (
|
||||
// AgentManagementServiceName is the fully-qualified name of the AgentManagementService service.
|
||||
AgentManagementServiceName = "mantrae.v1.AgentManagementService"
|
||||
)
|
||||
|
||||
// These constants are the fully-qualified names of the RPCs defined in this package. They're
|
||||
// exposed at runtime as Spec.Procedure and as the final two segments of the HTTP route.
|
||||
//
|
||||
// Note that these are different from the fully-qualified method names used by
|
||||
// google.golang.org/protobuf/reflect/protoreflect. To convert from these constants to
|
||||
// reflection-formatted method names, remove the leading slash and convert the remaining slash to a
|
||||
// period.
|
||||
const (
|
||||
// AgentManagementServiceGetAgentProcedure is the fully-qualified name of the
|
||||
// AgentManagementService's GetAgent RPC.
|
||||
AgentManagementServiceGetAgentProcedure = "/mantrae.v1.AgentManagementService/GetAgent"
|
||||
// AgentManagementServiceCreateAgentProcedure is the fully-qualified name of the
|
||||
// AgentManagementService's CreateAgent RPC.
|
||||
AgentManagementServiceCreateAgentProcedure = "/mantrae.v1.AgentManagementService/CreateAgent"
|
||||
// AgentManagementServiceUpdateAgentIPProcedure is the fully-qualified name of the
|
||||
// AgentManagementService's UpdateAgentIP RPC.
|
||||
AgentManagementServiceUpdateAgentIPProcedure = "/mantrae.v1.AgentManagementService/UpdateAgentIP"
|
||||
// AgentManagementServiceDeleteAgentProcedure is the fully-qualified name of the
|
||||
// AgentManagementService's DeleteAgent RPC.
|
||||
AgentManagementServiceDeleteAgentProcedure = "/mantrae.v1.AgentManagementService/DeleteAgent"
|
||||
// AgentManagementServiceListAgentsProcedure is the fully-qualified name of the
|
||||
// AgentManagementService's ListAgents RPC.
|
||||
AgentManagementServiceListAgentsProcedure = "/mantrae.v1.AgentManagementService/ListAgents"
|
||||
// AgentManagementServiceRotateAgentTokenProcedure is the fully-qualified name of the
|
||||
// AgentManagementService's RotateAgentToken RPC.
|
||||
AgentManagementServiceRotateAgentTokenProcedure = "/mantrae.v1.AgentManagementService/RotateAgentToken"
|
||||
)
|
||||
|
||||
// AgentManagementServiceClient is a client for the mantrae.v1.AgentManagementService service.
|
||||
type AgentManagementServiceClient interface {
|
||||
GetAgent(context.Context, *connect.Request[v1.GetAgentRequest]) (*connect.Response[v1.GetAgentResponse], error)
|
||||
CreateAgent(context.Context, *connect.Request[v1.CreateAgentRequest]) (*connect.Response[v1.CreateAgentResponse], error)
|
||||
UpdateAgentIP(context.Context, *connect.Request[v1.UpdateAgentIPRequest]) (*connect.Response[v1.UpdateAgentIPResponse], error)
|
||||
DeleteAgent(context.Context, *connect.Request[v1.DeleteAgentRequest]) (*connect.Response[v1.DeleteAgentResponse], error)
|
||||
ListAgents(context.Context, *connect.Request[v1.ListAgentsRequest]) (*connect.Response[v1.ListAgentsResponse], error)
|
||||
RotateAgentToken(context.Context, *connect.Request[v1.RotateAgentTokenRequest]) (*connect.Response[v1.RotateAgentTokenResponse], error)
|
||||
}
|
||||
|
||||
// NewAgentManagementServiceClient constructs a client for the mantrae.v1.AgentManagementService
|
||||
// service. By default, it uses the Connect protocol with the binary Protobuf Codec, asks for
|
||||
// gzipped responses, and sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply
|
||||
// the connect.WithGRPC() or connect.WithGRPCWeb() options.
|
||||
//
|
||||
// The URL supplied here should be the base URL for the Connect or gRPC server (for example,
|
||||
// http://api.acme.com or https://acme.com/grpc).
|
||||
func NewAgentManagementServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) AgentManagementServiceClient {
|
||||
baseURL = strings.TrimRight(baseURL, "/")
|
||||
agentManagementServiceMethods := v1.File_mantrae_v1_agent_management_proto.Services().ByName("AgentManagementService").Methods()
|
||||
return &agentManagementServiceClient{
|
||||
getAgent: connect.NewClient[v1.GetAgentRequest, v1.GetAgentResponse](
|
||||
httpClient,
|
||||
baseURL+AgentManagementServiceGetAgentProcedure,
|
||||
connect.WithSchema(agentManagementServiceMethods.ByName("GetAgent")),
|
||||
connect.WithIdempotency(connect.IdempotencyNoSideEffects),
|
||||
connect.WithClientOptions(opts...),
|
||||
),
|
||||
createAgent: connect.NewClient[v1.CreateAgentRequest, v1.CreateAgentResponse](
|
||||
httpClient,
|
||||
baseURL+AgentManagementServiceCreateAgentProcedure,
|
||||
connect.WithSchema(agentManagementServiceMethods.ByName("CreateAgent")),
|
||||
connect.WithClientOptions(opts...),
|
||||
),
|
||||
updateAgentIP: connect.NewClient[v1.UpdateAgentIPRequest, v1.UpdateAgentIPResponse](
|
||||
httpClient,
|
||||
baseURL+AgentManagementServiceUpdateAgentIPProcedure,
|
||||
connect.WithSchema(agentManagementServiceMethods.ByName("UpdateAgentIP")),
|
||||
connect.WithClientOptions(opts...),
|
||||
),
|
||||
deleteAgent: connect.NewClient[v1.DeleteAgentRequest, v1.DeleteAgentResponse](
|
||||
httpClient,
|
||||
baseURL+AgentManagementServiceDeleteAgentProcedure,
|
||||
connect.WithSchema(agentManagementServiceMethods.ByName("DeleteAgent")),
|
||||
connect.WithClientOptions(opts...),
|
||||
),
|
||||
listAgents: connect.NewClient[v1.ListAgentsRequest, v1.ListAgentsResponse](
|
||||
httpClient,
|
||||
baseURL+AgentManagementServiceListAgentsProcedure,
|
||||
connect.WithSchema(agentManagementServiceMethods.ByName("ListAgents")),
|
||||
connect.WithIdempotency(connect.IdempotencyNoSideEffects),
|
||||
connect.WithClientOptions(opts...),
|
||||
),
|
||||
rotateAgentToken: connect.NewClient[v1.RotateAgentTokenRequest, v1.RotateAgentTokenResponse](
|
||||
httpClient,
|
||||
baseURL+AgentManagementServiceRotateAgentTokenProcedure,
|
||||
connect.WithSchema(agentManagementServiceMethods.ByName("RotateAgentToken")),
|
||||
connect.WithClientOptions(opts...),
|
||||
),
|
||||
}
|
||||
}
|
||||
|
||||
// agentManagementServiceClient implements AgentManagementServiceClient.
|
||||
type agentManagementServiceClient struct {
|
||||
getAgent *connect.Client[v1.GetAgentRequest, v1.GetAgentResponse]
|
||||
createAgent *connect.Client[v1.CreateAgentRequest, v1.CreateAgentResponse]
|
||||
updateAgentIP *connect.Client[v1.UpdateAgentIPRequest, v1.UpdateAgentIPResponse]
|
||||
deleteAgent *connect.Client[v1.DeleteAgentRequest, v1.DeleteAgentResponse]
|
||||
listAgents *connect.Client[v1.ListAgentsRequest, v1.ListAgentsResponse]
|
||||
rotateAgentToken *connect.Client[v1.RotateAgentTokenRequest, v1.RotateAgentTokenResponse]
|
||||
}
|
||||
|
||||
// GetAgent calls mantrae.v1.AgentManagementService.GetAgent.
|
||||
func (c *agentManagementServiceClient) GetAgent(ctx context.Context, req *connect.Request[v1.GetAgentRequest]) (*connect.Response[v1.GetAgentResponse], error) {
|
||||
return c.getAgent.CallUnary(ctx, req)
|
||||
}
|
||||
|
||||
// CreateAgent calls mantrae.v1.AgentManagementService.CreateAgent.
|
||||
func (c *agentManagementServiceClient) CreateAgent(ctx context.Context, req *connect.Request[v1.CreateAgentRequest]) (*connect.Response[v1.CreateAgentResponse], error) {
|
||||
return c.createAgent.CallUnary(ctx, req)
|
||||
}
|
||||
|
||||
// UpdateAgentIP calls mantrae.v1.AgentManagementService.UpdateAgentIP.
|
||||
func (c *agentManagementServiceClient) UpdateAgentIP(ctx context.Context, req *connect.Request[v1.UpdateAgentIPRequest]) (*connect.Response[v1.UpdateAgentIPResponse], error) {
|
||||
return c.updateAgentIP.CallUnary(ctx, req)
|
||||
}
|
||||
|
||||
// DeleteAgent calls mantrae.v1.AgentManagementService.DeleteAgent.
|
||||
func (c *agentManagementServiceClient) DeleteAgent(ctx context.Context, req *connect.Request[v1.DeleteAgentRequest]) (*connect.Response[v1.DeleteAgentResponse], error) {
|
||||
return c.deleteAgent.CallUnary(ctx, req)
|
||||
}
|
||||
|
||||
// ListAgents calls mantrae.v1.AgentManagementService.ListAgents.
|
||||
func (c *agentManagementServiceClient) ListAgents(ctx context.Context, req *connect.Request[v1.ListAgentsRequest]) (*connect.Response[v1.ListAgentsResponse], error) {
|
||||
return c.listAgents.CallUnary(ctx, req)
|
||||
}
|
||||
|
||||
// RotateAgentToken calls mantrae.v1.AgentManagementService.RotateAgentToken.
|
||||
func (c *agentManagementServiceClient) RotateAgentToken(ctx context.Context, req *connect.Request[v1.RotateAgentTokenRequest]) (*connect.Response[v1.RotateAgentTokenResponse], error) {
|
||||
return c.rotateAgentToken.CallUnary(ctx, req)
|
||||
}
|
||||
|
||||
// AgentManagementServiceHandler is an implementation of the mantrae.v1.AgentManagementService
|
||||
// service.
|
||||
type AgentManagementServiceHandler interface {
|
||||
GetAgent(context.Context, *connect.Request[v1.GetAgentRequest]) (*connect.Response[v1.GetAgentResponse], error)
|
||||
CreateAgent(context.Context, *connect.Request[v1.CreateAgentRequest]) (*connect.Response[v1.CreateAgentResponse], error)
|
||||
UpdateAgentIP(context.Context, *connect.Request[v1.UpdateAgentIPRequest]) (*connect.Response[v1.UpdateAgentIPResponse], error)
|
||||
DeleteAgent(context.Context, *connect.Request[v1.DeleteAgentRequest]) (*connect.Response[v1.DeleteAgentResponse], error)
|
||||
ListAgents(context.Context, *connect.Request[v1.ListAgentsRequest]) (*connect.Response[v1.ListAgentsResponse], error)
|
||||
RotateAgentToken(context.Context, *connect.Request[v1.RotateAgentTokenRequest]) (*connect.Response[v1.RotateAgentTokenResponse], error)
|
||||
}
|
||||
|
||||
// NewAgentManagementServiceHandler builds an HTTP handler from the service implementation. It
|
||||
// returns the path on which to mount the handler and the handler itself.
|
||||
//
|
||||
// By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf
|
||||
// and JSON codecs. They also support gzip compression.
|
||||
func NewAgentManagementServiceHandler(svc AgentManagementServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) {
|
||||
agentManagementServiceMethods := v1.File_mantrae_v1_agent_management_proto.Services().ByName("AgentManagementService").Methods()
|
||||
agentManagementServiceGetAgentHandler := connect.NewUnaryHandler(
|
||||
AgentManagementServiceGetAgentProcedure,
|
||||
svc.GetAgent,
|
||||
connect.WithSchema(agentManagementServiceMethods.ByName("GetAgent")),
|
||||
connect.WithIdempotency(connect.IdempotencyNoSideEffects),
|
||||
connect.WithHandlerOptions(opts...),
|
||||
)
|
||||
agentManagementServiceCreateAgentHandler := connect.NewUnaryHandler(
|
||||
AgentManagementServiceCreateAgentProcedure,
|
||||
svc.CreateAgent,
|
||||
connect.WithSchema(agentManagementServiceMethods.ByName("CreateAgent")),
|
||||
connect.WithHandlerOptions(opts...),
|
||||
)
|
||||
agentManagementServiceUpdateAgentIPHandler := connect.NewUnaryHandler(
|
||||
AgentManagementServiceUpdateAgentIPProcedure,
|
||||
svc.UpdateAgentIP,
|
||||
connect.WithSchema(agentManagementServiceMethods.ByName("UpdateAgentIP")),
|
||||
connect.WithHandlerOptions(opts...),
|
||||
)
|
||||
agentManagementServiceDeleteAgentHandler := connect.NewUnaryHandler(
|
||||
AgentManagementServiceDeleteAgentProcedure,
|
||||
svc.DeleteAgent,
|
||||
connect.WithSchema(agentManagementServiceMethods.ByName("DeleteAgent")),
|
||||
connect.WithHandlerOptions(opts...),
|
||||
)
|
||||
agentManagementServiceListAgentsHandler := connect.NewUnaryHandler(
|
||||
AgentManagementServiceListAgentsProcedure,
|
||||
svc.ListAgents,
|
||||
connect.WithSchema(agentManagementServiceMethods.ByName("ListAgents")),
|
||||
connect.WithIdempotency(connect.IdempotencyNoSideEffects),
|
||||
connect.WithHandlerOptions(opts...),
|
||||
)
|
||||
agentManagementServiceRotateAgentTokenHandler := connect.NewUnaryHandler(
|
||||
AgentManagementServiceRotateAgentTokenProcedure,
|
||||
svc.RotateAgentToken,
|
||||
connect.WithSchema(agentManagementServiceMethods.ByName("RotateAgentToken")),
|
||||
connect.WithHandlerOptions(opts...),
|
||||
)
|
||||
return "/mantrae.v1.AgentManagementService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||
switch r.URL.Path {
|
||||
case AgentManagementServiceGetAgentProcedure:
|
||||
agentManagementServiceGetAgentHandler.ServeHTTP(w, r)
|
||||
case AgentManagementServiceCreateAgentProcedure:
|
||||
agentManagementServiceCreateAgentHandler.ServeHTTP(w, r)
|
||||
case AgentManagementServiceUpdateAgentIPProcedure:
|
||||
agentManagementServiceUpdateAgentIPHandler.ServeHTTP(w, r)
|
||||
case AgentManagementServiceDeleteAgentProcedure:
|
||||
agentManagementServiceDeleteAgentHandler.ServeHTTP(w, r)
|
||||
case AgentManagementServiceListAgentsProcedure:
|
||||
agentManagementServiceListAgentsHandler.ServeHTTP(w, r)
|
||||
case AgentManagementServiceRotateAgentTokenProcedure:
|
||||
agentManagementServiceRotateAgentTokenHandler.ServeHTTP(w, r)
|
||||
default:
|
||||
http.NotFound(w, r)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// UnimplementedAgentManagementServiceHandler returns CodeUnimplemented from all methods.
|
||||
type UnimplementedAgentManagementServiceHandler struct{}
|
||||
|
||||
func (UnimplementedAgentManagementServiceHandler) GetAgent(context.Context, *connect.Request[v1.GetAgentRequest]) (*connect.Response[v1.GetAgentResponse], error) {
|
||||
return nil, connect.NewError(connect.CodeUnimplemented, errors.New("mantrae.v1.AgentManagementService.GetAgent is not implemented"))
|
||||
}
|
||||
|
||||
func (UnimplementedAgentManagementServiceHandler) CreateAgent(context.Context, *connect.Request[v1.CreateAgentRequest]) (*connect.Response[v1.CreateAgentResponse], error) {
|
||||
return nil, connect.NewError(connect.CodeUnimplemented, errors.New("mantrae.v1.AgentManagementService.CreateAgent is not implemented"))
|
||||
}
|
||||
|
||||
func (UnimplementedAgentManagementServiceHandler) UpdateAgentIP(context.Context, *connect.Request[v1.UpdateAgentIPRequest]) (*connect.Response[v1.UpdateAgentIPResponse], error) {
|
||||
return nil, connect.NewError(connect.CodeUnimplemented, errors.New("mantrae.v1.AgentManagementService.UpdateAgentIP is not implemented"))
|
||||
}
|
||||
|
||||
func (UnimplementedAgentManagementServiceHandler) DeleteAgent(context.Context, *connect.Request[v1.DeleteAgentRequest]) (*connect.Response[v1.DeleteAgentResponse], error) {
|
||||
return nil, connect.NewError(connect.CodeUnimplemented, errors.New("mantrae.v1.AgentManagementService.DeleteAgent is not implemented"))
|
||||
}
|
||||
|
||||
func (UnimplementedAgentManagementServiceHandler) ListAgents(context.Context, *connect.Request[v1.ListAgentsRequest]) (*connect.Response[v1.ListAgentsResponse], error) {
|
||||
return nil, connect.NewError(connect.CodeUnimplemented, errors.New("mantrae.v1.AgentManagementService.ListAgents is not implemented"))
|
||||
}
|
||||
|
||||
func (UnimplementedAgentManagementServiceHandler) RotateAgentToken(context.Context, *connect.Request[v1.RotateAgentTokenRequest]) (*connect.Response[v1.RotateAgentTokenResponse], error) {
|
||||
return nil, connect.NewError(connect.CodeUnimplemented, errors.New("mantrae.v1.AgentManagementService.RotateAgentToken is not implemented"))
|
||||
}
|
||||
256
proto/gen/mantrae/v1/mantraev1connect/backup.connect.go
Normal file
256
proto/gen/mantrae/v1/mantraev1connect/backup.connect.go
Normal file
@@ -0,0 +1,256 @@
|
||||
// Code generated by protoc-gen-connect-go. DO NOT EDIT.
|
||||
//
|
||||
// Source: mantrae/v1/backup.proto
|
||||
|
||||
package mantraev1connect
|
||||
|
||||
import (
|
||||
connect "connectrpc.com/connect"
|
||||
context "context"
|
||||
errors "errors"
|
||||
v1 "github.com/mizuchilabs/mantrae/proto/gen/mantrae/v1"
|
||||
http "net/http"
|
||||
strings "strings"
|
||||
)
|
||||
|
||||
// This is a compile-time assertion to ensure that this generated file and the connect package are
|
||||
// compatible. If you get a compiler error that this constant is not defined, this code was
|
||||
// generated with a version of connect newer than the one compiled into your binary. You can fix the
|
||||
// problem by either regenerating this code with an older version of connect or updating the connect
|
||||
// version compiled into your binary.
|
||||
const _ = connect.IsAtLeastVersion1_13_0
|
||||
|
||||
const (
|
||||
// BackupServiceName is the fully-qualified name of the BackupService service.
|
||||
BackupServiceName = "mantrae.v1.BackupService"
|
||||
)
|
||||
|
||||
// These constants are the fully-qualified names of the RPCs defined in this package. They're
|
||||
// exposed at runtime as Spec.Procedure and as the final two segments of the HTTP route.
|
||||
//
|
||||
// Note that these are different from the fully-qualified method names used by
|
||||
// google.golang.org/protobuf/reflect/protoreflect. To convert from these constants to
|
||||
// reflection-formatted method names, remove the leading slash and convert the remaining slash to a
|
||||
// period.
|
||||
const (
|
||||
// BackupServiceCreateBackupProcedure is the fully-qualified name of the BackupService's
|
||||
// CreateBackup RPC.
|
||||
BackupServiceCreateBackupProcedure = "/mantrae.v1.BackupService/CreateBackup"
|
||||
// BackupServiceRestoreBackupProcedure is the fully-qualified name of the BackupService's
|
||||
// RestoreBackup RPC.
|
||||
BackupServiceRestoreBackupProcedure = "/mantrae.v1.BackupService/RestoreBackup"
|
||||
// BackupServiceListBackupsProcedure is the fully-qualified name of the BackupService's ListBackups
|
||||
// RPC.
|
||||
BackupServiceListBackupsProcedure = "/mantrae.v1.BackupService/ListBackups"
|
||||
// BackupServiceDeleteBackupProcedure is the fully-qualified name of the BackupService's
|
||||
// DeleteBackup RPC.
|
||||
BackupServiceDeleteBackupProcedure = "/mantrae.v1.BackupService/DeleteBackup"
|
||||
// BackupServiceDownloadBackupProcedure is the fully-qualified name of the BackupService's
|
||||
// DownloadBackup RPC.
|
||||
BackupServiceDownloadBackupProcedure = "/mantrae.v1.BackupService/DownloadBackup"
|
||||
// BackupServiceUploadBackupProcedure is the fully-qualified name of the BackupService's
|
||||
// UploadBackup RPC.
|
||||
BackupServiceUploadBackupProcedure = "/mantrae.v1.BackupService/UploadBackup"
|
||||
)
|
||||
|
||||
// BackupServiceClient is a client for the mantrae.v1.BackupService service.
|
||||
type BackupServiceClient interface {
|
||||
CreateBackup(context.Context, *connect.Request[v1.CreateBackupRequest]) (*connect.Response[v1.CreateBackupResponse], error)
|
||||
RestoreBackup(context.Context, *connect.Request[v1.RestoreBackupRequest]) (*connect.Response[v1.RestoreBackupResponse], error)
|
||||
ListBackups(context.Context, *connect.Request[v1.ListBackupsRequest]) (*connect.Response[v1.ListBackupsResponse], error)
|
||||
DeleteBackup(context.Context, *connect.Request[v1.DeleteBackupRequest]) (*connect.Response[v1.DeleteBackupResponse], error)
|
||||
DownloadBackup(context.Context, *connect.Request[v1.DownloadBackupRequest]) (*connect.ServerStreamForClient[v1.DownloadBackupResponse], error)
|
||||
UploadBackup(context.Context) *connect.ClientStreamForClient[v1.UploadBackupRequest, v1.UploadBackupResponse]
|
||||
}
|
||||
|
||||
// NewBackupServiceClient constructs a client for the mantrae.v1.BackupService service. By default,
|
||||
// it uses the Connect protocol with the binary Protobuf Codec, asks for gzipped responses, and
|
||||
// sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply the connect.WithGRPC()
|
||||
// or connect.WithGRPCWeb() options.
|
||||
//
|
||||
// The URL supplied here should be the base URL for the Connect or gRPC server (for example,
|
||||
// http://api.acme.com or https://acme.com/grpc).
|
||||
func NewBackupServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) BackupServiceClient {
|
||||
baseURL = strings.TrimRight(baseURL, "/")
|
||||
backupServiceMethods := v1.File_mantrae_v1_backup_proto.Services().ByName("BackupService").Methods()
|
||||
return &backupServiceClient{
|
||||
createBackup: connect.NewClient[v1.CreateBackupRequest, v1.CreateBackupResponse](
|
||||
httpClient,
|
||||
baseURL+BackupServiceCreateBackupProcedure,
|
||||
connect.WithSchema(backupServiceMethods.ByName("CreateBackup")),
|
||||
connect.WithClientOptions(opts...),
|
||||
),
|
||||
restoreBackup: connect.NewClient[v1.RestoreBackupRequest, v1.RestoreBackupResponse](
|
||||
httpClient,
|
||||
baseURL+BackupServiceRestoreBackupProcedure,
|
||||
connect.WithSchema(backupServiceMethods.ByName("RestoreBackup")),
|
||||
connect.WithClientOptions(opts...),
|
||||
),
|
||||
listBackups: connect.NewClient[v1.ListBackupsRequest, v1.ListBackupsResponse](
|
||||
httpClient,
|
||||
baseURL+BackupServiceListBackupsProcedure,
|
||||
connect.WithSchema(backupServiceMethods.ByName("ListBackups")),
|
||||
connect.WithIdempotency(connect.IdempotencyNoSideEffects),
|
||||
connect.WithClientOptions(opts...),
|
||||
),
|
||||
deleteBackup: connect.NewClient[v1.DeleteBackupRequest, v1.DeleteBackupResponse](
|
||||
httpClient,
|
||||
baseURL+BackupServiceDeleteBackupProcedure,
|
||||
connect.WithSchema(backupServiceMethods.ByName("DeleteBackup")),
|
||||
connect.WithClientOptions(opts...),
|
||||
),
|
||||
downloadBackup: connect.NewClient[v1.DownloadBackupRequest, v1.DownloadBackupResponse](
|
||||
httpClient,
|
||||
baseURL+BackupServiceDownloadBackupProcedure,
|
||||
connect.WithSchema(backupServiceMethods.ByName("DownloadBackup")),
|
||||
connect.WithClientOptions(opts...),
|
||||
),
|
||||
uploadBackup: connect.NewClient[v1.UploadBackupRequest, v1.UploadBackupResponse](
|
||||
httpClient,
|
||||
baseURL+BackupServiceUploadBackupProcedure,
|
||||
connect.WithSchema(backupServiceMethods.ByName("UploadBackup")),
|
||||
connect.WithClientOptions(opts...),
|
||||
),
|
||||
}
|
||||
}
|
||||
|
||||
// backupServiceClient implements BackupServiceClient.
|
||||
type backupServiceClient struct {
|
||||
createBackup *connect.Client[v1.CreateBackupRequest, v1.CreateBackupResponse]
|
||||
restoreBackup *connect.Client[v1.RestoreBackupRequest, v1.RestoreBackupResponse]
|
||||
listBackups *connect.Client[v1.ListBackupsRequest, v1.ListBackupsResponse]
|
||||
deleteBackup *connect.Client[v1.DeleteBackupRequest, v1.DeleteBackupResponse]
|
||||
downloadBackup *connect.Client[v1.DownloadBackupRequest, v1.DownloadBackupResponse]
|
||||
uploadBackup *connect.Client[v1.UploadBackupRequest, v1.UploadBackupResponse]
|
||||
}
|
||||
|
||||
// CreateBackup calls mantrae.v1.BackupService.CreateBackup.
|
||||
func (c *backupServiceClient) CreateBackup(ctx context.Context, req *connect.Request[v1.CreateBackupRequest]) (*connect.Response[v1.CreateBackupResponse], error) {
|
||||
return c.createBackup.CallUnary(ctx, req)
|
||||
}
|
||||
|
||||
// RestoreBackup calls mantrae.v1.BackupService.RestoreBackup.
|
||||
func (c *backupServiceClient) RestoreBackup(ctx context.Context, req *connect.Request[v1.RestoreBackupRequest]) (*connect.Response[v1.RestoreBackupResponse], error) {
|
||||
return c.restoreBackup.CallUnary(ctx, req)
|
||||
}
|
||||
|
||||
// ListBackups calls mantrae.v1.BackupService.ListBackups.
|
||||
func (c *backupServiceClient) ListBackups(ctx context.Context, req *connect.Request[v1.ListBackupsRequest]) (*connect.Response[v1.ListBackupsResponse], error) {
|
||||
return c.listBackups.CallUnary(ctx, req)
|
||||
}
|
||||
|
||||
// DeleteBackup calls mantrae.v1.BackupService.DeleteBackup.
|
||||
func (c *backupServiceClient) DeleteBackup(ctx context.Context, req *connect.Request[v1.DeleteBackupRequest]) (*connect.Response[v1.DeleteBackupResponse], error) {
|
||||
return c.deleteBackup.CallUnary(ctx, req)
|
||||
}
|
||||
|
||||
// DownloadBackup calls mantrae.v1.BackupService.DownloadBackup.
|
||||
func (c *backupServiceClient) DownloadBackup(ctx context.Context, req *connect.Request[v1.DownloadBackupRequest]) (*connect.ServerStreamForClient[v1.DownloadBackupResponse], error) {
|
||||
return c.downloadBackup.CallServerStream(ctx, req)
|
||||
}
|
||||
|
||||
// UploadBackup calls mantrae.v1.BackupService.UploadBackup.
|
||||
func (c *backupServiceClient) UploadBackup(ctx context.Context) *connect.ClientStreamForClient[v1.UploadBackupRequest, v1.UploadBackupResponse] {
|
||||
return c.uploadBackup.CallClientStream(ctx)
|
||||
}
|
||||
|
||||
// BackupServiceHandler is an implementation of the mantrae.v1.BackupService service.
|
||||
type BackupServiceHandler interface {
|
||||
CreateBackup(context.Context, *connect.Request[v1.CreateBackupRequest]) (*connect.Response[v1.CreateBackupResponse], error)
|
||||
RestoreBackup(context.Context, *connect.Request[v1.RestoreBackupRequest]) (*connect.Response[v1.RestoreBackupResponse], error)
|
||||
ListBackups(context.Context, *connect.Request[v1.ListBackupsRequest]) (*connect.Response[v1.ListBackupsResponse], error)
|
||||
DeleteBackup(context.Context, *connect.Request[v1.DeleteBackupRequest]) (*connect.Response[v1.DeleteBackupResponse], error)
|
||||
DownloadBackup(context.Context, *connect.Request[v1.DownloadBackupRequest], *connect.ServerStream[v1.DownloadBackupResponse]) error
|
||||
UploadBackup(context.Context, *connect.ClientStream[v1.UploadBackupRequest]) (*connect.Response[v1.UploadBackupResponse], error)
|
||||
}
|
||||
|
||||
// NewBackupServiceHandler builds an HTTP handler from the service implementation. It returns the
|
||||
// path on which to mount the handler and the handler itself.
|
||||
//
|
||||
// By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf
|
||||
// and JSON codecs. They also support gzip compression.
|
||||
func NewBackupServiceHandler(svc BackupServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) {
|
||||
backupServiceMethods := v1.File_mantrae_v1_backup_proto.Services().ByName("BackupService").Methods()
|
||||
backupServiceCreateBackupHandler := connect.NewUnaryHandler(
|
||||
BackupServiceCreateBackupProcedure,
|
||||
svc.CreateBackup,
|
||||
connect.WithSchema(backupServiceMethods.ByName("CreateBackup")),
|
||||
connect.WithHandlerOptions(opts...),
|
||||
)
|
||||
backupServiceRestoreBackupHandler := connect.NewUnaryHandler(
|
||||
BackupServiceRestoreBackupProcedure,
|
||||
svc.RestoreBackup,
|
||||
connect.WithSchema(backupServiceMethods.ByName("RestoreBackup")),
|
||||
connect.WithHandlerOptions(opts...),
|
||||
)
|
||||
backupServiceListBackupsHandler := connect.NewUnaryHandler(
|
||||
BackupServiceListBackupsProcedure,
|
||||
svc.ListBackups,
|
||||
connect.WithSchema(backupServiceMethods.ByName("ListBackups")),
|
||||
connect.WithIdempotency(connect.IdempotencyNoSideEffects),
|
||||
connect.WithHandlerOptions(opts...),
|
||||
)
|
||||
backupServiceDeleteBackupHandler := connect.NewUnaryHandler(
|
||||
BackupServiceDeleteBackupProcedure,
|
||||
svc.DeleteBackup,
|
||||
connect.WithSchema(backupServiceMethods.ByName("DeleteBackup")),
|
||||
connect.WithHandlerOptions(opts...),
|
||||
)
|
||||
backupServiceDownloadBackupHandler := connect.NewServerStreamHandler(
|
||||
BackupServiceDownloadBackupProcedure,
|
||||
svc.DownloadBackup,
|
||||
connect.WithSchema(backupServiceMethods.ByName("DownloadBackup")),
|
||||
connect.WithHandlerOptions(opts...),
|
||||
)
|
||||
backupServiceUploadBackupHandler := connect.NewClientStreamHandler(
|
||||
BackupServiceUploadBackupProcedure,
|
||||
svc.UploadBackup,
|
||||
connect.WithSchema(backupServiceMethods.ByName("UploadBackup")),
|
||||
connect.WithHandlerOptions(opts...),
|
||||
)
|
||||
return "/mantrae.v1.BackupService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||
switch r.URL.Path {
|
||||
case BackupServiceCreateBackupProcedure:
|
||||
backupServiceCreateBackupHandler.ServeHTTP(w, r)
|
||||
case BackupServiceRestoreBackupProcedure:
|
||||
backupServiceRestoreBackupHandler.ServeHTTP(w, r)
|
||||
case BackupServiceListBackupsProcedure:
|
||||
backupServiceListBackupsHandler.ServeHTTP(w, r)
|
||||
case BackupServiceDeleteBackupProcedure:
|
||||
backupServiceDeleteBackupHandler.ServeHTTP(w, r)
|
||||
case BackupServiceDownloadBackupProcedure:
|
||||
backupServiceDownloadBackupHandler.ServeHTTP(w, r)
|
||||
case BackupServiceUploadBackupProcedure:
|
||||
backupServiceUploadBackupHandler.ServeHTTP(w, r)
|
||||
default:
|
||||
http.NotFound(w, r)
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
// UnimplementedBackupServiceHandler returns CodeUnimplemented from all methods.
|
||||
type UnimplementedBackupServiceHandler struct{}
|
||||
|
||||
func (UnimplementedBackupServiceHandler) CreateBackup(context.Context, *connect.Request[v1.CreateBackupRequest]) (*connect.Response[v1.CreateBackupResponse], error) {
|
||||
return nil, connect.NewError(connect.CodeUnimplemented, errors.New("mantrae.v1.BackupService.CreateBackup is not implemented"))
|
||||
}
|
||||
|
||||
func (UnimplementedBackupServiceHandler) RestoreBackup(context.Context, *connect.Request[v1.RestoreBackupRequest]) (*connect.Response[v1.RestoreBackupResponse], error) {
|
||||
return nil, connect.NewError(connect.CodeUnimplemented, errors.New("mantrae.v1.BackupService.RestoreBackup is not implemented"))
|
||||
}
|
||||
|
||||
func (UnimplementedBackupServiceHandler) ListBackups(context.Context, *connect.Request[v1.ListBackupsRequest]) (*connect.Response[v1.ListBackupsResponse], error) {
|
||||
return nil, connect.NewError(connect.CodeUnimplemented, errors.New("mantrae.v1.BackupService.ListBackups is not implemented"))
|
||||
}
|
||||
|
||||
func (UnimplementedBackupServiceHandler) DeleteBackup(context.Context, *connect.Request[v1.DeleteBackupRequest]) (*connect.Response[v1.DeleteBackupResponse], error) {
|
||||
return nil, connect.NewError(connect.CodeUnimplemented, errors.New("mantrae.v1.BackupService.DeleteBackup is not implemented"))
|
||||
}
|
||||
|
||||
func (UnimplementedBackupServiceHandler) DownloadBackup(context.Context, *connect.Request[v1.DownloadBackupRequest], *connect.ServerStream[v1.DownloadBackupResponse]) error {
|
||||
return connect.NewError(connect.CodeUnimplemented, errors.New("mantrae.v1.BackupService.DownloadBackup is not implemented"))
|
||||
}
|
||||
|
||||
func (UnimplementedBackupServiceHandler) UploadBackup(context.Context, *connect.ClientStream[v1.UploadBackupRequest]) (*connect.Response[v1.UploadBackupResponse], error) {
|
||||
return nil, connect.NewError(connect.CodeUnimplemented, errors.New("mantrae.v1.BackupService.UploadBackup is not implemented"))
|
||||
}
|
||||
@@ -48,6 +48,9 @@ const (
|
||||
// MiddlewareServiceListMiddlewaresProcedure is the fully-qualified name of the MiddlewareService's
|
||||
// ListMiddlewares RPC.
|
||||
MiddlewareServiceListMiddlewaresProcedure = "/mantrae.v1.MiddlewareService/ListMiddlewares"
|
||||
// MiddlewareServiceGetMiddlewarePluginsProcedure is the fully-qualified name of the
|
||||
// MiddlewareService's GetMiddlewarePlugins RPC.
|
||||
MiddlewareServiceGetMiddlewarePluginsProcedure = "/mantrae.v1.MiddlewareService/GetMiddlewarePlugins"
|
||||
)
|
||||
|
||||
// MiddlewareServiceClient is a client for the mantrae.v1.MiddlewareService service.
|
||||
@@ -57,6 +60,7 @@ type MiddlewareServiceClient interface {
|
||||
UpdateMiddleware(context.Context, *connect.Request[v1.UpdateMiddlewareRequest]) (*connect.Response[v1.UpdateMiddlewareResponse], error)
|
||||
DeleteMiddleware(context.Context, *connect.Request[v1.DeleteMiddlewareRequest]) (*connect.Response[v1.DeleteMiddlewareResponse], error)
|
||||
ListMiddlewares(context.Context, *connect.Request[v1.ListMiddlewaresRequest]) (*connect.Response[v1.ListMiddlewaresResponse], error)
|
||||
GetMiddlewarePlugins(context.Context, *connect.Request[v1.GetMiddlewarePluginsRequest]) (*connect.Response[v1.GetMiddlewarePluginsResponse], error)
|
||||
}
|
||||
|
||||
// NewMiddlewareServiceClient constructs a client for the mantrae.v1.MiddlewareService service. By
|
||||
@@ -102,16 +106,24 @@ func NewMiddlewareServiceClient(httpClient connect.HTTPClient, baseURL string, o
|
||||
connect.WithIdempotency(connect.IdempotencyNoSideEffects),
|
||||
connect.WithClientOptions(opts...),
|
||||
),
|
||||
getMiddlewarePlugins: connect.NewClient[v1.GetMiddlewarePluginsRequest, v1.GetMiddlewarePluginsResponse](
|
||||
httpClient,
|
||||
baseURL+MiddlewareServiceGetMiddlewarePluginsProcedure,
|
||||
connect.WithSchema(middlewareServiceMethods.ByName("GetMiddlewarePlugins")),
|
||||
connect.WithIdempotency(connect.IdempotencyNoSideEffects),
|
||||
connect.WithClientOptions(opts...),
|
||||
),
|
||||
}
|
||||
}
|
||||
|
||||
// middlewareServiceClient implements MiddlewareServiceClient.
|
||||
type middlewareServiceClient struct {
|
||||
getMiddleware *connect.Client[v1.GetMiddlewareRequest, v1.GetMiddlewareResponse]
|
||||
createMiddleware *connect.Client[v1.CreateMiddlewareRequest, v1.CreateMiddlewareResponse]
|
||||
updateMiddleware *connect.Client[v1.UpdateMiddlewareRequest, v1.UpdateMiddlewareResponse]
|
||||
deleteMiddleware *connect.Client[v1.DeleteMiddlewareRequest, v1.DeleteMiddlewareResponse]
|
||||
listMiddlewares *connect.Client[v1.ListMiddlewaresRequest, v1.ListMiddlewaresResponse]
|
||||
getMiddleware *connect.Client[v1.GetMiddlewareRequest, v1.GetMiddlewareResponse]
|
||||
createMiddleware *connect.Client[v1.CreateMiddlewareRequest, v1.CreateMiddlewareResponse]
|
||||
updateMiddleware *connect.Client[v1.UpdateMiddlewareRequest, v1.UpdateMiddlewareResponse]
|
||||
deleteMiddleware *connect.Client[v1.DeleteMiddlewareRequest, v1.DeleteMiddlewareResponse]
|
||||
listMiddlewares *connect.Client[v1.ListMiddlewaresRequest, v1.ListMiddlewaresResponse]
|
||||
getMiddlewarePlugins *connect.Client[v1.GetMiddlewarePluginsRequest, v1.GetMiddlewarePluginsResponse]
|
||||
}
|
||||
|
||||
// GetMiddleware calls mantrae.v1.MiddlewareService.GetMiddleware.
|
||||
@@ -139,6 +151,11 @@ func (c *middlewareServiceClient) ListMiddlewares(ctx context.Context, req *conn
|
||||
return c.listMiddlewares.CallUnary(ctx, req)
|
||||
}
|
||||
|
||||
// GetMiddlewarePlugins calls mantrae.v1.MiddlewareService.GetMiddlewarePlugins.
|
||||
func (c *middlewareServiceClient) GetMiddlewarePlugins(ctx context.Context, req *connect.Request[v1.GetMiddlewarePluginsRequest]) (*connect.Response[v1.GetMiddlewarePluginsResponse], error) {
|
||||
return c.getMiddlewarePlugins.CallUnary(ctx, req)
|
||||
}
|
||||
|
||||
// MiddlewareServiceHandler is an implementation of the mantrae.v1.MiddlewareService service.
|
||||
type MiddlewareServiceHandler interface {
|
||||
GetMiddleware(context.Context, *connect.Request[v1.GetMiddlewareRequest]) (*connect.Response[v1.GetMiddlewareResponse], error)
|
||||
@@ -146,6 +163,7 @@ type MiddlewareServiceHandler interface {
|
||||
UpdateMiddleware(context.Context, *connect.Request[v1.UpdateMiddlewareRequest]) (*connect.Response[v1.UpdateMiddlewareResponse], error)
|
||||
DeleteMiddleware(context.Context, *connect.Request[v1.DeleteMiddlewareRequest]) (*connect.Response[v1.DeleteMiddlewareResponse], error)
|
||||
ListMiddlewares(context.Context, *connect.Request[v1.ListMiddlewaresRequest]) (*connect.Response[v1.ListMiddlewaresResponse], error)
|
||||
GetMiddlewarePlugins(context.Context, *connect.Request[v1.GetMiddlewarePluginsRequest]) (*connect.Response[v1.GetMiddlewarePluginsResponse], error)
|
||||
}
|
||||
|
||||
// NewMiddlewareServiceHandler builds an HTTP handler from the service implementation. It returns
|
||||
@@ -187,6 +205,13 @@ func NewMiddlewareServiceHandler(svc MiddlewareServiceHandler, opts ...connect.H
|
||||
connect.WithIdempotency(connect.IdempotencyNoSideEffects),
|
||||
connect.WithHandlerOptions(opts...),
|
||||
)
|
||||
middlewareServiceGetMiddlewarePluginsHandler := connect.NewUnaryHandler(
|
||||
MiddlewareServiceGetMiddlewarePluginsProcedure,
|
||||
svc.GetMiddlewarePlugins,
|
||||
connect.WithSchema(middlewareServiceMethods.ByName("GetMiddlewarePlugins")),
|
||||
connect.WithIdempotency(connect.IdempotencyNoSideEffects),
|
||||
connect.WithHandlerOptions(opts...),
|
||||
)
|
||||
return "/mantrae.v1.MiddlewareService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
||||
switch r.URL.Path {
|
||||
case MiddlewareServiceGetMiddlewareProcedure:
|
||||
@@ -199,6 +224,8 @@ func NewMiddlewareServiceHandler(svc MiddlewareServiceHandler, opts ...connect.H
|
||||
middlewareServiceDeleteMiddlewareHandler.ServeHTTP(w, r)
|
||||
case MiddlewareServiceListMiddlewaresProcedure:
|
||||
middlewareServiceListMiddlewaresHandler.ServeHTTP(w, r)
|
||||
case MiddlewareServiceGetMiddlewarePluginsProcedure:
|
||||
middlewareServiceGetMiddlewarePluginsHandler.ServeHTTP(w, r)
|
||||
default:
|
||||
http.NotFound(w, r)
|
||||
}
|
||||
@@ -227,3 +254,7 @@ func (UnimplementedMiddlewareServiceHandler) DeleteMiddleware(context.Context, *
|
||||
func (UnimplementedMiddlewareServiceHandler) ListMiddlewares(context.Context, *connect.Request[v1.ListMiddlewaresRequest]) (*connect.Response[v1.ListMiddlewaresResponse], error) {
|
||||
return nil, connect.NewError(connect.CodeUnimplemented, errors.New("mantrae.v1.MiddlewareService.ListMiddlewares is not implemented"))
|
||||
}
|
||||
|
||||
func (UnimplementedMiddlewareServiceHandler) GetMiddlewarePlugins(context.Context, *connect.Request[v1.GetMiddlewarePluginsRequest]) (*connect.Response[v1.GetMiddlewarePluginsResponse], error) {
|
||||
return nil, connect.NewError(connect.CodeUnimplemented, errors.New("mantrae.v1.MiddlewareService.GetMiddlewarePlugins is not implemented"))
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,6 +1,6 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.36.6
|
||||
// protoc-gen-go v1.36.5
|
||||
// protoc (unknown)
|
||||
// source: mantrae/v1/profile.proto
|
||||
|
||||
@@ -572,57 +572,110 @@ func (x *ListProfilesResponse) GetTotalCount() int64 {
|
||||
|
||||
var File_mantrae_v1_profile_proto protoreflect.FileDescriptor
|
||||
|
||||
const file_mantrae_v1_profile_proto_rawDesc = "" +
|
||||
"\n" +
|
||||
"\x18mantrae/v1/profile.proto\x12\n" +
|
||||
"mantrae.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"\xc5\x01\n" +
|
||||
"\aProfile\x12\x0e\n" +
|
||||
"\x02id\x18\x01 \x01(\x03R\x02id\x12\x12\n" +
|
||||
"\x04name\x18\x02 \x01(\tR\x04name\x12 \n" +
|
||||
"\vdescription\x18\x03 \x01(\tR\vdescription\x129\n" +
|
||||
"\n" +
|
||||
"created_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" +
|
||||
"\n" +
|
||||
"updated_at\x18\x05 \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\"#\n" +
|
||||
"\x11GetProfileRequest\x12\x0e\n" +
|
||||
"\x02id\x18\x01 \x01(\x03R\x02id\"C\n" +
|
||||
"\x12GetProfileResponse\x12-\n" +
|
||||
"\aprofile\x18\x01 \x01(\v2\x13.mantrae.v1.ProfileR\aprofile\"a\n" +
|
||||
"\x14CreateProfileRequest\x12\x12\n" +
|
||||
"\x04name\x18\x01 \x01(\tR\x04name\x12%\n" +
|
||||
"\vdescription\x18\x02 \x01(\tH\x00R\vdescription\x88\x01\x01B\x0e\n" +
|
||||
"\f_description\"F\n" +
|
||||
"\x15CreateProfileResponse\x12-\n" +
|
||||
"\aprofile\x18\x01 \x01(\v2\x13.mantrae.v1.ProfileR\aprofile\"q\n" +
|
||||
"\x14UpdateProfileRequest\x12\x0e\n" +
|
||||
"\x02id\x18\x01 \x01(\x03R\x02id\x12\x12\n" +
|
||||
"\x04name\x18\x02 \x01(\tR\x04name\x12%\n" +
|
||||
"\vdescription\x18\x03 \x01(\tH\x00R\vdescription\x88\x01\x01B\x0e\n" +
|
||||
"\f_description\"F\n" +
|
||||
"\x15UpdateProfileResponse\x12-\n" +
|
||||
"\aprofile\x18\x01 \x01(\v2\x13.mantrae.v1.ProfileR\aprofile\"&\n" +
|
||||
"\x14DeleteProfileRequest\x12\x0e\n" +
|
||||
"\x02id\x18\x01 \x01(\x03R\x02id\"\x17\n" +
|
||||
"\x15DeleteProfileResponse\"b\n" +
|
||||
"\x13ListProfilesRequest\x12\x19\n" +
|
||||
"\x05limit\x18\x01 \x01(\x03H\x00R\x05limit\x88\x01\x01\x12\x1b\n" +
|
||||
"\x06offset\x18\x02 \x01(\x03H\x01R\x06offset\x88\x01\x01B\b\n" +
|
||||
"\x06_limitB\t\n" +
|
||||
"\a_offset\"h\n" +
|
||||
"\x14ListProfilesResponse\x12/\n" +
|
||||
"\bprofiles\x18\x01 \x03(\v2\x13.mantrae.v1.ProfileR\bprofiles\x12\x1f\n" +
|
||||
"\vtotal_count\x18\x02 \x01(\x03R\n" +
|
||||
"totalCount2\xbc\x03\n" +
|
||||
"\x0eProfileService\x12P\n" +
|
||||
"\n" +
|
||||
"GetProfile\x12\x1d.mantrae.v1.GetProfileRequest\x1a\x1e.mantrae.v1.GetProfileResponse\"\x03\x90\x02\x01\x12T\n" +
|
||||
"\rCreateProfile\x12 .mantrae.v1.CreateProfileRequest\x1a!.mantrae.v1.CreateProfileResponse\x12T\n" +
|
||||
"\rUpdateProfile\x12 .mantrae.v1.UpdateProfileRequest\x1a!.mantrae.v1.UpdateProfileResponse\x12T\n" +
|
||||
"\rDeleteProfile\x12 .mantrae.v1.DeleteProfileRequest\x1a!.mantrae.v1.DeleteProfileResponse\x12V\n" +
|
||||
"\fListProfiles\x12\x1f.mantrae.v1.ListProfilesRequest\x1a .mantrae.v1.ListProfilesResponse\"\x03\x90\x02\x01B\xa6\x01\n" +
|
||||
"\x0ecom.mantrae.v1B\fProfileProtoP\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"
|
||||
var file_mantrae_v1_profile_proto_rawDesc = string([]byte{
|
||||
0x0a, 0x18, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x70, 0x72, 0x6f,
|
||||
0x66, 0x69, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x6d, 0x61, 0x6e, 0x74,
|
||||
0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
|
||||
0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xc5, 0x01, 0x0a, 0x07, 0x50, 0x72, 0x6f, 0x66,
|
||||
0x69, 0x6c, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
|
||||
0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72,
|
||||
0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65,
|
||||
0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65,
|
||||
0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
|
||||
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
|
||||
0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74,
|
||||
0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f,
|
||||
0x61, 0x74, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c,
|
||||
0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73,
|
||||
0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22,
|
||||
0x23, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71,
|
||||
0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
|
||||
0x52, 0x02, 0x69, 0x64, 0x22, 0x43, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69,
|
||||
0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x07, 0x70, 0x72,
|
||||
0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6d, 0x61,
|
||||
0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65,
|
||||
0x52, 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x22, 0x61, 0x0a, 0x14, 0x43, 0x72, 0x65,
|
||||
0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||
0x74, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
|
||||
0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65,
|
||||
0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c,
|
||||
0x5f, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x46, 0x0a, 0x15,
|
||||
0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73,
|
||||
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65,
|
||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65,
|
||||
0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x07, 0x70, 0x72, 0x6f,
|
||||
0x66, 0x69, 0x6c, 0x65, 0x22, 0x71, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72,
|
||||
0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02,
|
||||
0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04,
|
||||
0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65,
|
||||
0x12, 0x25, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18,
|
||||
0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70,
|
||||
0x74, 0x69, 0x6f, 0x6e, 0x88, 0x01, 0x01, 0x42, 0x0e, 0x0a, 0x0c, 0x5f, 0x64, 0x65, 0x73, 0x63,
|
||||
0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x46, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74,
|
||||
0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
||||
0x12, 0x2d, 0x0a, 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x0b, 0x32, 0x13, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50,
|
||||
0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x07, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x22,
|
||||
0x26, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65,
|
||||
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0x17, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65, 0x74,
|
||||
0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
||||
0x22, 0x62, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73,
|
||||
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74,
|
||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x88,
|
||||
0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01,
|
||||
0x28, 0x03, 0x48, 0x01, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x88, 0x01, 0x01, 0x42,
|
||||
0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6f, 0x66,
|
||||
0x66, 0x73, 0x65, 0x74, 0x22, 0x68, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x66,
|
||||
0x69, 0x6c, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x08,
|
||||
0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13,
|
||||
0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x50, 0x72, 0x6f, 0x66,
|
||||
0x69, 0x6c, 0x65, 0x52, 0x08, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x1f, 0x0a,
|
||||
0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01,
|
||||
0x28, 0x03, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x32, 0xbc,
|
||||
0x03, 0x0a, 0x0e, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
|
||||
0x65, 0x12, 0x50, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12,
|
||||
0x1d, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74,
|
||||
0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e,
|
||||
0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x50,
|
||||
0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03,
|
||||
0x90, 0x02, 0x01, 0x12, 0x54, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f,
|
||||
0x66, 0x69, 0x6c, 0x65, 0x12, 0x20, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76,
|
||||
0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52,
|
||||
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65,
|
||||
0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c,
|
||||
0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x0d, 0x55, 0x70, 0x64,
|
||||
0x61, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x12, 0x20, 0x2e, 0x6d, 0x61, 0x6e,
|
||||
0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x50, 0x72,
|
||||
0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6d,
|
||||
0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
|
||||
0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
|
||||
0x54, 0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65,
|
||||
0x12, 0x20, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65,
|
||||
0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||
0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e,
|
||||
0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x52, 0x65, 0x73,
|
||||
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f,
|
||||
0x66, 0x69, 0x6c, 0x65, 0x73, 0x12, 0x1f, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e,
|
||||
0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73, 0x52,
|
||||
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65,
|
||||
0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x73,
|
||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x42, 0xa6, 0x01,
|
||||
0x0a, 0x0e, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31,
|
||||
0x42, 0x0c, 0x50, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01,
|
||||
0x5a, 0x3d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6d, 0x69, 0x7a,
|
||||
0x75, 0x63, 0x68, 0x69, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65,
|
||||
0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x72,
|
||||
0x61, 0x65, 0x2f, 0x76, 0x31, 0x3b, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x76, 0x31, 0xa2,
|
||||
0x02, 0x03, 0x4d, 0x58, 0x58, 0xaa, 0x02, 0x0a, 0x4d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e,
|
||||
0x56, 0x31, 0xca, 0x02, 0x0a, 0x4d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x5c, 0x56, 0x31, 0xe2,
|
||||
0x02, 0x16, 0x4d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42,
|
||||
0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0b, 0x4d, 0x61, 0x6e, 0x74, 0x72,
|
||||
0x61, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
})
|
||||
|
||||
var (
|
||||
file_mantrae_v1_profile_proto_rawDescOnce sync.Once
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.36.6
|
||||
// protoc-gen-go v1.36.5
|
||||
// protoc (unknown)
|
||||
// source: mantrae/v1/router.proto
|
||||
|
||||
@@ -78,9 +78,9 @@ type Router struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,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"`
|
||||
Config string `protobuf:"bytes,4,opt,name=config,proto3" json:"config,omitempty"`
|
||||
Source string `protobuf:"bytes,5,opt,name=source,proto3" json:"source,omitempty"`
|
||||
AgentId string `protobuf:"bytes,3,opt,name=agent_id,json=agentId,proto3" json:"agent_id,omitempty"`
|
||||
Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
|
||||
Config string `protobuf:"bytes,5,opt,name=config,proto3" json:"config,omitempty"`
|
||||
Enabled bool `protobuf:"varint,6,opt,name=enabled,proto3" json:"enabled,omitempty"`
|
||||
Type RouterType `protobuf:"varint,7,opt,name=type,proto3,enum=mantrae.v1.RouterType" json:"type,omitempty"`
|
||||
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
|
||||
@@ -133,6 +133,13 @@ func (x *Router) GetProfileId() int64 {
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *Router) GetAgentId() string {
|
||||
if x != nil {
|
||||
return x.AgentId
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Router) GetName() string {
|
||||
if x != nil {
|
||||
return x.Name
|
||||
@@ -147,13 +154,6 @@ func (x *Router) GetConfig() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Router) GetSource() string {
|
||||
if x != nil {
|
||||
return x.Source
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Router) GetEnabled() bool {
|
||||
if x != nil {
|
||||
return x.Enabled
|
||||
@@ -281,9 +281,9 @@ func (x *GetRouterResponse) GetRouter() *Router {
|
||||
type CreateRouterRequest struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
ProfileId int64 `protobuf:"varint,1,opt,name=profile_id,json=profileId,proto3" json:"profile_id,omitempty"`
|
||||
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
|
||||
Config string `protobuf:"bytes,3,opt,name=config,proto3" json:"config,omitempty"`
|
||||
Source string `protobuf:"bytes,4,opt,name=source,proto3" json:"source,omitempty"`
|
||||
AgentId string `protobuf:"bytes,2,opt,name=agent_id,json=agentId,proto3" json:"agent_id,omitempty"`
|
||||
Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
|
||||
Config string `protobuf:"bytes,4,opt,name=config,proto3" json:"config,omitempty"`
|
||||
Enabled bool `protobuf:"varint,5,opt,name=enabled,proto3" json:"enabled,omitempty"`
|
||||
Type RouterType `protobuf:"varint,6,opt,name=type,proto3,enum=mantrae.v1.RouterType" json:"type,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
@@ -327,6 +327,13 @@ func (x *CreateRouterRequest) GetProfileId() int64 {
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *CreateRouterRequest) GetAgentId() string {
|
||||
if x != nil {
|
||||
return x.AgentId
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *CreateRouterRequest) GetName() string {
|
||||
if x != nil {
|
||||
return x.Name
|
||||
@@ -341,13 +348,6 @@ func (x *CreateRouterRequest) GetConfig() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *CreateRouterRequest) GetSource() string {
|
||||
if x != nil {
|
||||
return x.Source
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *CreateRouterRequest) GetEnabled() bool {
|
||||
if x != nil {
|
||||
return x.Enabled
|
||||
@@ -411,9 +411,8 @@ type UpdateRouterRequest struct {
|
||||
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
|
||||
Config string `protobuf:"bytes,3,opt,name=config,proto3" json:"config,omitempty"`
|
||||
Source string `protobuf:"bytes,4,opt,name=source,proto3" json:"source,omitempty"`
|
||||
Enabled bool `protobuf:"varint,5,opt,name=enabled,proto3" json:"enabled,omitempty"`
|
||||
Type RouterType `protobuf:"varint,6,opt,name=type,proto3,enum=mantrae.v1.RouterType" json:"type,omitempty"`
|
||||
Enabled bool `protobuf:"varint,4,opt,name=enabled,proto3" json:"enabled,omitempty"`
|
||||
Type RouterType `protobuf:"varint,5,opt,name=type,proto3,enum=mantrae.v1.RouterType" json:"type,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
@@ -469,13 +468,6 @@ func (x *UpdateRouterRequest) GetConfig() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *UpdateRouterRequest) GetSource() string {
|
||||
if x != nil {
|
||||
return x.Source
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *UpdateRouterRequest) GetEnabled() bool {
|
||||
if x != nil {
|
||||
return x.Enabled
|
||||
@@ -728,75 +720,136 @@ func (x *ListRoutersResponse) GetTotalCount() int64 {
|
||||
|
||||
var File_mantrae_v1_router_proto protoreflect.FileDescriptor
|
||||
|
||||
const file_mantrae_v1_router_proto_rawDesc = "" +
|
||||
"\n" +
|
||||
"\x17mantrae/v1/router.proto\x12\n" +
|
||||
"mantrae.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"\xb7\x02\n" +
|
||||
"\x06Router\x12\x0e\n" +
|
||||
"\x02id\x18\x01 \x01(\x03R\x02id\x12\x1d\n" +
|
||||
"\n" +
|
||||
"profile_id\x18\x02 \x01(\x03R\tprofileId\x12\x12\n" +
|
||||
"\x04name\x18\x03 \x01(\tR\x04name\x12\x16\n" +
|
||||
"\x06config\x18\x04 \x01(\tR\x06config\x12\x16\n" +
|
||||
"\x06source\x18\x05 \x01(\tR\x06source\x12\x18\n" +
|
||||
"\aenabled\x18\x06 \x01(\bR\aenabled\x12*\n" +
|
||||
"\x04type\x18\a \x01(\x0e2\x16.mantrae.v1.RouterTypeR\x04type\x129\n" +
|
||||
"\n" +
|
||||
"created_at\x18\b \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" +
|
||||
"\n" +
|
||||
"updated_at\x18\t \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\"N\n" +
|
||||
"\x10GetRouterRequest\x12\x0e\n" +
|
||||
"\x02id\x18\x01 \x01(\x03R\x02id\x12*\n" +
|
||||
"\x04type\x18\x02 \x01(\x0e2\x16.mantrae.v1.RouterTypeR\x04type\"?\n" +
|
||||
"\x11GetRouterResponse\x12*\n" +
|
||||
"\x06router\x18\x01 \x01(\v2\x12.mantrae.v1.RouterR\x06router\"\xbe\x01\n" +
|
||||
"\x13CreateRouterRequest\x12\x1d\n" +
|
||||
"\n" +
|
||||
"profile_id\x18\x01 \x01(\x03R\tprofileId\x12\x12\n" +
|
||||
"\x04name\x18\x02 \x01(\tR\x04name\x12\x16\n" +
|
||||
"\x06config\x18\x03 \x01(\tR\x06config\x12\x16\n" +
|
||||
"\x06source\x18\x04 \x01(\tR\x06source\x12\x18\n" +
|
||||
"\aenabled\x18\x05 \x01(\bR\aenabled\x12*\n" +
|
||||
"\x04type\x18\x06 \x01(\x0e2\x16.mantrae.v1.RouterTypeR\x04type\"B\n" +
|
||||
"\x14CreateRouterResponse\x12*\n" +
|
||||
"\x06router\x18\x01 \x01(\v2\x12.mantrae.v1.RouterR\x06router\"\xaf\x01\n" +
|
||||
"\x13UpdateRouterRequest\x12\x0e\n" +
|
||||
"\x02id\x18\x01 \x01(\x03R\x02id\x12\x12\n" +
|
||||
"\x04name\x18\x02 \x01(\tR\x04name\x12\x16\n" +
|
||||
"\x06config\x18\x03 \x01(\tR\x06config\x12\x16\n" +
|
||||
"\x06source\x18\x04 \x01(\tR\x06source\x12\x18\n" +
|
||||
"\aenabled\x18\x05 \x01(\bR\aenabled\x12*\n" +
|
||||
"\x04type\x18\x06 \x01(\x0e2\x16.mantrae.v1.RouterTypeR\x04type\"B\n" +
|
||||
"\x14UpdateRouterResponse\x12*\n" +
|
||||
"\x06router\x18\x01 \x01(\v2\x12.mantrae.v1.RouterR\x06router\"%\n" +
|
||||
"\x13DeleteRouterRequest\x12\x0e\n" +
|
||||
"\x02id\x18\x01 \x01(\x03R\x02id\"\x16\n" +
|
||||
"\x14DeleteRouterResponse\"\x8d\x01\n" +
|
||||
"\x12ListRoutersRequest\x12*\n" +
|
||||
"\x04type\x18\x01 \x01(\x0e2\x16.mantrae.v1.RouterTypeR\x04type\x12\x19\n" +
|
||||
"\x05limit\x18\x02 \x01(\x03H\x00R\x05limit\x88\x01\x01\x12\x1b\n" +
|
||||
"\x06offset\x18\x03 \x01(\x03H\x01R\x06offset\x88\x01\x01B\b\n" +
|
||||
"\x06_limitB\t\n" +
|
||||
"\a_offset\"d\n" +
|
||||
"\x13ListRoutersResponse\x12,\n" +
|
||||
"\arouters\x18\x01 \x03(\v2\x12.mantrae.v1.RouterR\arouters\x12\x1f\n" +
|
||||
"\vtotal_count\x18\x02 \x01(\x03R\n" +
|
||||
"totalCount*i\n" +
|
||||
"\n" +
|
||||
"RouterType\x12\x1b\n" +
|
||||
"\x17ROUTER_TYPE_UNSPECIFIED\x10\x00\x12\x14\n" +
|
||||
"\x10ROUTER_TYPE_HTTP\x10\x01\x12\x13\n" +
|
||||
"\x0fROUTER_TYPE_TCP\x10\x02\x12\x13\n" +
|
||||
"\x0fROUTER_TYPE_UDP\x10\x032\xac\x03\n" +
|
||||
"\rRouterService\x12M\n" +
|
||||
"\tGetRouter\x12\x1c.mantrae.v1.GetRouterRequest\x1a\x1d.mantrae.v1.GetRouterResponse\"\x03\x90\x02\x01\x12Q\n" +
|
||||
"\fCreateRouter\x12\x1f.mantrae.v1.CreateRouterRequest\x1a .mantrae.v1.CreateRouterResponse\x12Q\n" +
|
||||
"\fUpdateRouter\x12\x1f.mantrae.v1.UpdateRouterRequest\x1a .mantrae.v1.UpdateRouterResponse\x12Q\n" +
|
||||
"\fDeleteRouter\x12\x1f.mantrae.v1.DeleteRouterRequest\x1a .mantrae.v1.DeleteRouterResponse\x12S\n" +
|
||||
"\vListRouters\x12\x1e.mantrae.v1.ListRoutersRequest\x1a\x1f.mantrae.v1.ListRoutersResponse\"\x03\x90\x02\x01B\xa5\x01\n" +
|
||||
"\x0ecom.mantrae.v1B\vRouterProtoP\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"
|
||||
var file_mantrae_v1_router_proto_rawDesc = string([]byte{
|
||||
0x0a, 0x17, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x72, 0x6f, 0x75,
|
||||
0x74, 0x65, 0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x6d, 0x61, 0x6e, 0x74, 0x72,
|
||||
0x61, 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72,
|
||||
0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70,
|
||||
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xba, 0x02, 0x0a, 0x06, 0x52, 0x6f, 0x75, 0x74, 0x65,
|
||||
0x72, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69,
|
||||
0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18,
|
||||
0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x64,
|
||||
0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e,
|
||||
0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12,
|
||||
0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c,
|
||||
0x65, 0x64, 0x18, 0x06, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65,
|
||||
0x64, 0x12, 0x2a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0e, 0x32,
|
||||
0x16, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75,
|
||||
0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a,
|
||||
0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x08, 0x20, 0x01, 0x28,
|
||||
0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||
0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63,
|
||||
0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61,
|
||||
0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
|
||||
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
|
||||
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65,
|
||||
0x64, 0x41, 0x74, 0x22, 0x4e, 0x0a, 0x10, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72,
|
||||
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12, 0x2a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18,
|
||||
0x02, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e,
|
||||
0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74,
|
||||
0x79, 0x70, 0x65, 0x22, 0x3f, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72,
|
||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74,
|
||||
0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72,
|
||||
0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x06, 0x72, 0x6f,
|
||||
0x75, 0x74, 0x65, 0x72, 0x22, 0xc1, 0x01, 0x0a, 0x13, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52,
|
||||
0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a,
|
||||
0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
|
||||
0x52, 0x09, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x61,
|
||||
0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61,
|
||||
0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f,
|
||||
0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66,
|
||||
0x69, 0x67, 0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x05, 0x20,
|
||||
0x01, 0x28, 0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x04,
|
||||
0x74, 0x79, 0x70, 0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x6d, 0x61, 0x6e,
|
||||
0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x54, 0x79,
|
||||
0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x42, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61,
|
||||
0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
||||
0x12, 0x2a, 0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b,
|
||||
0x32, 0x12, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f,
|
||||
0x75, 0x74, 0x65, 0x72, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x22, 0x97, 0x01, 0x0a,
|
||||
0x13, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71,
|
||||
0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
|
||||
0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66,
|
||||
0x69, 0x67, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67,
|
||||
0x12, 0x18, 0x0a, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x18, 0x04, 0x20, 0x01, 0x28,
|
||||
0x08, 0x52, 0x07, 0x65, 0x6e, 0x61, 0x62, 0x6c, 0x65, 0x64, 0x12, 0x2a, 0x0a, 0x04, 0x74, 0x79,
|
||||
0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72,
|
||||
0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65,
|
||||
0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x42, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65,
|
||||
0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2a,
|
||||
0x0a, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x12,
|
||||
0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74,
|
||||
0x65, 0x72, 0x52, 0x06, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x22, 0x25, 0x0a, 0x13, 0x44, 0x65,
|
||||
0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||
0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69,
|
||||
0x64, 0x22, 0x16, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65,
|
||||
0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x8d, 0x01, 0x0a, 0x12, 0x4c, 0x69,
|
||||
0x73, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74,
|
||||
0x12, 0x2a, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x16,
|
||||
0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52, 0x6f, 0x75, 0x74,
|
||||
0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x05,
|
||||
0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x05, 0x6c,
|
||||
0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65,
|
||||
0x74, 0x18, 0x03, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65,
|
||||
0x74, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x09,
|
||||
0x0a, 0x07, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x64, 0x0a, 0x13, 0x4c, 0x69, 0x73,
|
||||
0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
||||
0x12, 0x2c, 0x0a, 0x07, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28,
|
||||
0x0b, 0x32, 0x12, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x52,
|
||||
0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x07, 0x72, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, 0x12, 0x1f,
|
||||
0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20,
|
||||
0x01, 0x28, 0x03, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x2a,
|
||||
0x69, 0x0a, 0x0a, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1b, 0x0a,
|
||||
0x17, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53,
|
||||
0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x14, 0x0a, 0x10, 0x52, 0x4f,
|
||||
0x55, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x48, 0x54, 0x54, 0x50, 0x10, 0x01,
|
||||
0x12, 0x13, 0x0a, 0x0f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x52, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f,
|
||||
0x54, 0x43, 0x50, 0x10, 0x02, 0x12, 0x13, 0x0a, 0x0f, 0x52, 0x4f, 0x55, 0x54, 0x45, 0x52, 0x5f,
|
||||
0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x44, 0x50, 0x10, 0x03, 0x32, 0xac, 0x03, 0x0a, 0x0d, 0x52,
|
||||
0x6f, 0x75, 0x74, 0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x4d, 0x0a, 0x09,
|
||||
0x47, 0x65, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x12, 0x1c, 0x2e, 0x6d, 0x61, 0x6e, 0x74,
|
||||
0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72,
|
||||
0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61,
|
||||
0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65,
|
||||
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x12, 0x51, 0x0a, 0x0c, 0x43,
|
||||
0x72, 0x65, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x12, 0x1f, 0x2e, 0x6d, 0x61,
|
||||
0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x52,
|
||||
0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d,
|
||||
0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65,
|
||||
0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x51,
|
||||
0x0a, 0x0c, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x12, 0x1f,
|
||||
0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61,
|
||||
0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a,
|
||||
0x20, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64,
|
||||
0x61, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
|
||||
0x65, 0x12, 0x51, 0x0a, 0x0c, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65,
|
||||
0x72, 0x12, 0x1f, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44,
|
||||
0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||
0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e,
|
||||
0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70,
|
||||
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x53, 0x0a, 0x0b, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x75, 0x74,
|
||||
0x65, 0x72, 0x73, 0x12, 0x1e, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31,
|
||||
0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75,
|
||||
0x65, 0x73, 0x74, 0x1a, 0x1f, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31,
|
||||
0x2e, 0x4c, 0x69, 0x73, 0x74, 0x52, 0x6f, 0x75, 0x74, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70,
|
||||
0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x42, 0xa5, 0x01, 0x0a, 0x0e, 0x63, 0x6f,
|
||||
0x6d, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x0b, 0x52, 0x6f,
|
||||
0x75, 0x74, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3d, 0x67, 0x69, 0x74,
|
||||
0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6d, 0x69, 0x7a, 0x75, 0x63, 0x68, 0x69, 0x6c,
|
||||
0x61, 0x62, 0x73, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2f, 0x76, 0x31,
|
||||
0x3b, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x4d, 0x58, 0x58,
|
||||
0xaa, 0x02, 0x0a, 0x4d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x0a,
|
||||
0x4d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x16, 0x4d, 0x61, 0x6e,
|
||||
0x74, 0x72, 0x61, 0x65, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64,
|
||||
0x61, 0x74, 0x61, 0xea, 0x02, 0x0b, 0x4d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x3a, 0x3a, 0x56,
|
||||
0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
})
|
||||
|
||||
var (
|
||||
file_mantrae_v1_router_proto_rawDescOnce sync.Once
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.36.6
|
||||
// protoc-gen-go v1.36.5
|
||||
// protoc (unknown)
|
||||
// source: mantrae/v1/service.proto
|
||||
|
||||
@@ -78,9 +78,9 @@ type Service struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,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"`
|
||||
Config string `protobuf:"bytes,4,opt,name=config,proto3" json:"config,omitempty"`
|
||||
Source string `protobuf:"bytes,5,opt,name=source,proto3" json:"source,omitempty"`
|
||||
AgentId string `protobuf:"bytes,3,opt,name=agent_id,json=agentId,proto3" json:"agent_id,omitempty"`
|
||||
Name string `protobuf:"bytes,4,opt,name=name,proto3" json:"name,omitempty"`
|
||||
Config string `protobuf:"bytes,5,opt,name=config,proto3" json:"config,omitempty"`
|
||||
Type ServiceType `protobuf:"varint,6,opt,name=type,proto3,enum=mantrae.v1.ServiceType" json:"type,omitempty"`
|
||||
CreatedAt *timestamppb.Timestamp `protobuf:"bytes,7,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"`
|
||||
UpdatedAt *timestamppb.Timestamp `protobuf:"bytes,8,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"`
|
||||
@@ -132,6 +132,13 @@ func (x *Service) GetProfileId() int64 {
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *Service) GetAgentId() string {
|
||||
if x != nil {
|
||||
return x.AgentId
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Service) GetName() string {
|
||||
if x != nil {
|
||||
return x.Name
|
||||
@@ -146,13 +153,6 @@ func (x *Service) GetConfig() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Service) GetSource() string {
|
||||
if x != nil {
|
||||
return x.Source
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *Service) GetType() ServiceType {
|
||||
if x != nil {
|
||||
return x.Type
|
||||
@@ -273,9 +273,9 @@ func (x *GetServiceResponse) GetService() *Service {
|
||||
type CreateServiceRequest struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
ProfileId int64 `protobuf:"varint,1,opt,name=profile_id,json=profileId,proto3" json:"profile_id,omitempty"`
|
||||
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
|
||||
Config string `protobuf:"bytes,3,opt,name=config,proto3" json:"config,omitempty"`
|
||||
Source string `protobuf:"bytes,4,opt,name=source,proto3" json:"source,omitempty"`
|
||||
AgentId string `protobuf:"bytes,2,opt,name=agent_id,json=agentId,proto3" json:"agent_id,omitempty"`
|
||||
Name string `protobuf:"bytes,3,opt,name=name,proto3" json:"name,omitempty"`
|
||||
Config string `protobuf:"bytes,4,opt,name=config,proto3" json:"config,omitempty"`
|
||||
Type ServiceType `protobuf:"varint,5,opt,name=type,proto3,enum=mantrae.v1.ServiceType" json:"type,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
@@ -318,6 +318,13 @@ func (x *CreateServiceRequest) GetProfileId() int64 {
|
||||
return 0
|
||||
}
|
||||
|
||||
func (x *CreateServiceRequest) GetAgentId() string {
|
||||
if x != nil {
|
||||
return x.AgentId
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *CreateServiceRequest) GetName() string {
|
||||
if x != nil {
|
||||
return x.Name
|
||||
@@ -332,13 +339,6 @@ func (x *CreateServiceRequest) GetConfig() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *CreateServiceRequest) GetSource() string {
|
||||
if x != nil {
|
||||
return x.Source
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *CreateServiceRequest) GetType() ServiceType {
|
||||
if x != nil {
|
||||
return x.Type
|
||||
@@ -395,8 +395,7 @@ type UpdateServiceRequest struct {
|
||||
Id int64 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
|
||||
Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
|
||||
Config string `protobuf:"bytes,3,opt,name=config,proto3" json:"config,omitempty"`
|
||||
Source string `protobuf:"bytes,4,opt,name=source,proto3" json:"source,omitempty"`
|
||||
Type ServiceType `protobuf:"varint,5,opt,name=type,proto3,enum=mantrae.v1.ServiceType" json:"type,omitempty"`
|
||||
Type ServiceType `protobuf:"varint,4,opt,name=type,proto3,enum=mantrae.v1.ServiceType" json:"type,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
@@ -452,13 +451,6 @@ func (x *UpdateServiceRequest) GetConfig() string {
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *UpdateServiceRequest) GetSource() string {
|
||||
if x != nil {
|
||||
return x.Source
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
func (x *UpdateServiceRequest) GetType() ServiceType {
|
||||
if x != nil {
|
||||
return x.Type
|
||||
@@ -704,72 +696,134 @@ func (x *ListServicesResponse) GetTotalCount() int64 {
|
||||
|
||||
var File_mantrae_v1_service_proto protoreflect.FileDescriptor
|
||||
|
||||
const file_mantrae_v1_service_proto_rawDesc = "" +
|
||||
"\n" +
|
||||
"\x18mantrae/v1/service.proto\x12\n" +
|
||||
"mantrae.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"\x9f\x02\n" +
|
||||
"\aService\x12\x0e\n" +
|
||||
"\x02id\x18\x01 \x01(\x03R\x02id\x12\x1d\n" +
|
||||
"\n" +
|
||||
"profile_id\x18\x02 \x01(\x03R\tprofileId\x12\x12\n" +
|
||||
"\x04name\x18\x03 \x01(\tR\x04name\x12\x16\n" +
|
||||
"\x06config\x18\x04 \x01(\tR\x06config\x12\x16\n" +
|
||||
"\x06source\x18\x05 \x01(\tR\x06source\x12+\n" +
|
||||
"\x04type\x18\x06 \x01(\x0e2\x17.mantrae.v1.ServiceTypeR\x04type\x129\n" +
|
||||
"\n" +
|
||||
"created_at\x18\a \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" +
|
||||
"\n" +
|
||||
"updated_at\x18\b \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\"P\n" +
|
||||
"\x11GetServiceRequest\x12\x0e\n" +
|
||||
"\x02id\x18\x01 \x01(\x03R\x02id\x12+\n" +
|
||||
"\x04type\x18\x02 \x01(\x0e2\x17.mantrae.v1.ServiceTypeR\x04type\"C\n" +
|
||||
"\x12GetServiceResponse\x12-\n" +
|
||||
"\aservice\x18\x01 \x01(\v2\x13.mantrae.v1.ServiceR\aservice\"\xa6\x01\n" +
|
||||
"\x14CreateServiceRequest\x12\x1d\n" +
|
||||
"\n" +
|
||||
"profile_id\x18\x01 \x01(\x03R\tprofileId\x12\x12\n" +
|
||||
"\x04name\x18\x02 \x01(\tR\x04name\x12\x16\n" +
|
||||
"\x06config\x18\x03 \x01(\tR\x06config\x12\x16\n" +
|
||||
"\x06source\x18\x04 \x01(\tR\x06source\x12+\n" +
|
||||
"\x04type\x18\x05 \x01(\x0e2\x17.mantrae.v1.ServiceTypeR\x04type\"F\n" +
|
||||
"\x15CreateServiceResponse\x12-\n" +
|
||||
"\aservice\x18\x01 \x01(\v2\x13.mantrae.v1.ServiceR\aservice\"\x97\x01\n" +
|
||||
"\x14UpdateServiceRequest\x12\x0e\n" +
|
||||
"\x02id\x18\x01 \x01(\x03R\x02id\x12\x12\n" +
|
||||
"\x04name\x18\x02 \x01(\tR\x04name\x12\x16\n" +
|
||||
"\x06config\x18\x03 \x01(\tR\x06config\x12\x16\n" +
|
||||
"\x06source\x18\x04 \x01(\tR\x06source\x12+\n" +
|
||||
"\x04type\x18\x05 \x01(\x0e2\x17.mantrae.v1.ServiceTypeR\x04type\"F\n" +
|
||||
"\x15UpdateServiceResponse\x12-\n" +
|
||||
"\aservice\x18\x01 \x01(\v2\x13.mantrae.v1.ServiceR\aservice\"&\n" +
|
||||
"\x14DeleteServiceRequest\x12\x0e\n" +
|
||||
"\x02id\x18\x01 \x01(\x03R\x02id\"\x17\n" +
|
||||
"\x15DeleteServiceResponse\"\x8f\x01\n" +
|
||||
"\x13ListServicesRequest\x12+\n" +
|
||||
"\x04type\x18\x01 \x01(\x0e2\x17.mantrae.v1.ServiceTypeR\x04type\x12\x19\n" +
|
||||
"\x05limit\x18\x02 \x01(\x03H\x00R\x05limit\x88\x01\x01\x12\x1b\n" +
|
||||
"\x06offset\x18\x03 \x01(\x03H\x01R\x06offset\x88\x01\x01B\b\n" +
|
||||
"\x06_limitB\t\n" +
|
||||
"\a_offset\"h\n" +
|
||||
"\x14ListServicesResponse\x12/\n" +
|
||||
"\bservices\x18\x01 \x03(\v2\x13.mantrae.v1.ServiceR\bservices\x12\x1f\n" +
|
||||
"\vtotal_count\x18\x02 \x01(\x03R\n" +
|
||||
"totalCount*n\n" +
|
||||
"\vServiceType\x12\x1c\n" +
|
||||
"\x18SERVICE_TYPE_UNSPECIFIED\x10\x00\x12\x15\n" +
|
||||
"\x11SERVICE_TYPE_HTTP\x10\x01\x12\x14\n" +
|
||||
"\x10SERVICE_TYPE_TCP\x10\x02\x12\x14\n" +
|
||||
"\x10SERVICE_TYPE_UDP\x10\x032\xbc\x03\n" +
|
||||
"\x0eServiceService\x12P\n" +
|
||||
"\n" +
|
||||
"GetService\x12\x1d.mantrae.v1.GetServiceRequest\x1a\x1e.mantrae.v1.GetServiceResponse\"\x03\x90\x02\x01\x12T\n" +
|
||||
"\rCreateService\x12 .mantrae.v1.CreateServiceRequest\x1a!.mantrae.v1.CreateServiceResponse\x12T\n" +
|
||||
"\rUpdateService\x12 .mantrae.v1.UpdateServiceRequest\x1a!.mantrae.v1.UpdateServiceResponse\x12T\n" +
|
||||
"\rDeleteService\x12 .mantrae.v1.DeleteServiceRequest\x1a!.mantrae.v1.DeleteServiceResponse\x12V\n" +
|
||||
"\fListServices\x12\x1f.mantrae.v1.ListServicesRequest\x1a .mantrae.v1.ListServicesResponse\"\x03\x90\x02\x01B\xa6\x01\n" +
|
||||
"\x0ecom.mantrae.v1B\fServiceProtoP\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"
|
||||
var file_mantrae_v1_service_proto_rawDesc = string([]byte{
|
||||
0x0a, 0x18, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x72,
|
||||
0x76, 0x69, 0x63, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x6d, 0x61, 0x6e, 0x74,
|
||||
0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
|
||||
0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0xa2, 0x02, 0x0a, 0x07, 0x53, 0x65, 0x72, 0x76,
|
||||
0x69, 0x63, 0x65, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52,
|
||||
0x02, 0x69, 0x64, 0x12, 0x1d, 0x0a, 0x0a, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69,
|
||||
0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x09, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65,
|
||||
0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x03,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61, 0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a,
|
||||
0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d,
|
||||
0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x05, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2b, 0x0a, 0x04, 0x74, 0x79, 0x70,
|
||||
0x65, 0x18, 0x06, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61,
|
||||
0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65,
|
||||
0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x39, 0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65,
|
||||
0x64, 0x5f, 0x61, 0x74, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f,
|
||||
0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d,
|
||||
0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41,
|
||||
0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18,
|
||||
0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
|
||||
0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x50, 0x0a, 0x11,
|
||||
0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||
0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69,
|
||||
0x64, 0x12, 0x2b, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x0e, 0x32,
|
||||
0x17, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72,
|
||||
0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x43,
|
||||
0x0a, 0x12, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70,
|
||||
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18,
|
||||
0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e,
|
||||
0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76,
|
||||
0x69, 0x63, 0x65, 0x22, 0xa9, 0x01, 0x0a, 0x14, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65,
|
||||
0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1d, 0x0a, 0x0a,
|
||||
0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03,
|
||||
0x52, 0x09, 0x70, 0x72, 0x6f, 0x66, 0x69, 0x6c, 0x65, 0x49, 0x64, 0x12, 0x19, 0x0a, 0x08, 0x61,
|
||||
0x67, 0x65, 0x6e, 0x74, 0x5f, 0x69, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x61,
|
||||
0x67, 0x65, 0x6e, 0x74, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x03,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f,
|
||||
0x6e, 0x66, 0x69, 0x67, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66,
|
||||
0x69, 0x67, 0x12, 0x2b, 0x0a, 0x04, 0x74, 0x79, 0x70, 0x65, 0x18, 0x05, 0x20, 0x01, 0x28, 0x0e,
|
||||
0x32, 0x17, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65,
|
||||
0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22,
|
||||
0x46, 0x0a, 0x15, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
|
||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76,
|
||||
0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6d, 0x61, 0x6e, 0x74,
|
||||
0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x07,
|
||||
0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x7f, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74,
|
||||
0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
|
||||
0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x12,
|
||||
0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e,
|
||||
0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x18, 0x03, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x06, 0x63, 0x6f, 0x6e, 0x66, 0x69, 0x67, 0x12, 0x2b, 0x0a, 0x04, 0x74,
|
||||
0x79, 0x70, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x6d, 0x61, 0x6e, 0x74,
|
||||
0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79,
|
||||
0x70, 0x65, 0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x22, 0x46, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61,
|
||||
0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
|
||||
0x65, 0x12, 0x2d, 0x0a, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x18, 0x01, 0x20, 0x01,
|
||||
0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e,
|
||||
0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x07, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
|
||||
0x22, 0x26, 0x0a, 0x14, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
|
||||
0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01,
|
||||
0x20, 0x01, 0x28, 0x03, 0x52, 0x02, 0x69, 0x64, 0x22, 0x17, 0x0a, 0x15, 0x44, 0x65, 0x6c, 0x65,
|
||||
0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
|
||||
0x65, 0x22, 0x8f, 0x01, 0x0a, 0x13, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63,
|
||||
0x65, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x2b, 0x0a, 0x04, 0x74, 0x79, 0x70,
|
||||
0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0e, 0x32, 0x17, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61,
|
||||
0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65,
|
||||
0x52, 0x04, 0x74, 0x79, 0x70, 0x65, 0x12, 0x19, 0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18,
|
||||
0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01,
|
||||
0x01, 0x12, 0x1b, 0x0a, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x18, 0x03, 0x20, 0x01, 0x28,
|
||||
0x03, 0x48, 0x01, 0x52, 0x06, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x88, 0x01, 0x01, 0x42, 0x08,
|
||||
0x0a, 0x06, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6f, 0x66, 0x66,
|
||||
0x73, 0x65, 0x74, 0x22, 0x68, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69,
|
||||
0x63, 0x65, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x08, 0x73,
|
||||
0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e,
|
||||
0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x72, 0x76, 0x69,
|
||||
0x63, 0x65, 0x52, 0x08, 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x12, 0x1f, 0x0a, 0x0b,
|
||||
0x74, 0x6f, 0x74, 0x61, 0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28,
|
||||
0x03, 0x52, 0x0a, 0x74, 0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x2a, 0x6e, 0x0a,
|
||||
0x0b, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x54, 0x79, 0x70, 0x65, 0x12, 0x1c, 0x0a, 0x18,
|
||||
0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x4e, 0x53,
|
||||
0x50, 0x45, 0x43, 0x49, 0x46, 0x49, 0x45, 0x44, 0x10, 0x00, 0x12, 0x15, 0x0a, 0x11, 0x53, 0x45,
|
||||
0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x48, 0x54, 0x54, 0x50, 0x10,
|
||||
0x01, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x45, 0x52, 0x56, 0x49, 0x43, 0x45, 0x5f, 0x54, 0x59, 0x50,
|
||||
0x45, 0x5f, 0x54, 0x43, 0x50, 0x10, 0x02, 0x12, 0x14, 0x0a, 0x10, 0x53, 0x45, 0x52, 0x56, 0x49,
|
||||
0x43, 0x45, 0x5f, 0x54, 0x59, 0x50, 0x45, 0x5f, 0x55, 0x44, 0x50, 0x10, 0x03, 0x32, 0xbc, 0x03,
|
||||
0x0a, 0x0e, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
|
||||
0x12, 0x50, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x1d,
|
||||
0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53,
|
||||
0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e,
|
||||
0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65,
|
||||
0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90,
|
||||
0x02, 0x01, 0x12, 0x54, 0x0a, 0x0d, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76,
|
||||
0x69, 0x63, 0x65, 0x12, 0x20, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31,
|
||||
0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65,
|
||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e,
|
||||
0x76, 0x31, 0x2e, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65,
|
||||
0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61,
|
||||
0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x20, 0x2e, 0x6d, 0x61, 0x6e, 0x74,
|
||||
0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x72,
|
||||
0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6d, 0x61,
|
||||
0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53,
|
||||
0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x54,
|
||||
0x0a, 0x0d, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12,
|
||||
0x20, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c,
|
||||
0x65, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||
0x74, 0x1a, 0x21, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44,
|
||||
0x65, 0x6c, 0x65, 0x74, 0x65, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x52, 0x65, 0x73, 0x70,
|
||||
0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76,
|
||||
0x69, 0x63, 0x65, 0x73, 0x12, 0x1f, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76,
|
||||
0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x52, 0x65,
|
||||
0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e,
|
||||
0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x73, 0x52,
|
||||
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x42, 0xa6, 0x01, 0x0a,
|
||||
0x0e, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x42,
|
||||
0x0c, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a,
|
||||
0x3d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6d, 0x69, 0x7a, 0x75,
|
||||
0x63, 0x68, 0x69, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2f,
|
||||
0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61,
|
||||
0x65, 0x2f, 0x76, 0x31, 0x3b, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x76, 0x31, 0xa2, 0x02,
|
||||
0x03, 0x4d, 0x58, 0x58, 0xaa, 0x02, 0x0a, 0x4d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x56,
|
||||
0x31, 0xca, 0x02, 0x0a, 0x4d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x5c, 0x56, 0x31, 0xe2, 0x02,
|
||||
0x16, 0x4d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d,
|
||||
0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0b, 0x4d, 0x61, 0x6e, 0x74, 0x72, 0x61,
|
||||
0x65, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
})
|
||||
|
||||
var (
|
||||
file_mantrae_v1_service_proto_rawDescOnce sync.Once
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.36.6
|
||||
// protoc-gen-go v1.36.5
|
||||
// protoc (unknown)
|
||||
// source: mantrae/v1/setting.proto
|
||||
|
||||
@@ -356,36 +356,71 @@ func (x *ListSettingsResponse) GetSettings() []*Setting {
|
||||
|
||||
var File_mantrae_v1_setting_proto protoreflect.FileDescriptor
|
||||
|
||||
const file_mantrae_v1_setting_proto_rawDesc = "" +
|
||||
"\n" +
|
||||
"\x18mantrae/v1/setting.proto\x12\n" +
|
||||
"mantrae.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"\x8e\x01\n" +
|
||||
"\aSetting\x12\x10\n" +
|
||||
"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
|
||||
"\x05value\x18\x02 \x01(\tR\x05value\x12 \n" +
|
||||
"\vdescription\x18\x03 \x01(\tR\vdescription\x129\n" +
|
||||
"\n" +
|
||||
"updated_at\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\"%\n" +
|
||||
"\x11GetSettingRequest\x12\x10\n" +
|
||||
"\x03key\x18\x01 \x01(\tR\x03key\"C\n" +
|
||||
"\x12GetSettingResponse\x12-\n" +
|
||||
"\asetting\x18\x01 \x01(\v2\x13.mantrae.v1.SettingR\asetting\">\n" +
|
||||
"\x14UpdateSettingRequest\x12\x10\n" +
|
||||
"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
|
||||
"\x05value\x18\x02 \x01(\tR\x05value\"F\n" +
|
||||
"\x15UpdateSettingResponse\x12-\n" +
|
||||
"\asetting\x18\x01 \x01(\v2\x13.mantrae.v1.SettingR\asetting\"\x15\n" +
|
||||
"\x13ListSettingsRequest\"G\n" +
|
||||
"\x14ListSettingsResponse\x12/\n" +
|
||||
"\bsettings\x18\x01 \x03(\v2\x13.mantrae.v1.SettingR\bsettings2\x90\x02\n" +
|
||||
"\x0eSettingService\x12P\n" +
|
||||
"\n" +
|
||||
"GetSetting\x12\x1d.mantrae.v1.GetSettingRequest\x1a\x1e.mantrae.v1.GetSettingResponse\"\x03\x90\x02\x01\x12T\n" +
|
||||
"\rUpdateSetting\x12 .mantrae.v1.UpdateSettingRequest\x1a!.mantrae.v1.UpdateSettingResponse\x12V\n" +
|
||||
"\fListSettings\x12\x1f.mantrae.v1.ListSettingsRequest\x1a .mantrae.v1.ListSettingsResponse\"\x03\x90\x02\x01B\xa6\x01\n" +
|
||||
"\x0ecom.mantrae.v1B\fSettingProtoP\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"
|
||||
var file_mantrae_v1_setting_proto_rawDesc = string([]byte{
|
||||
0x0a, 0x18, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x73, 0x65, 0x74,
|
||||
0x74, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x6d, 0x61, 0x6e, 0x74,
|
||||
0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d,
|
||||
0x70, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x8e, 0x01, 0x0a, 0x07, 0x53, 0x65, 0x74, 0x74,
|
||||
0x69, 0x6e, 0x67, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x12, 0x20, 0x0a, 0x0b, 0x64,
|
||||
0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x39, 0x0a,
|
||||
0x0a, 0x75, 0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x04, 0x20, 0x01, 0x28,
|
||||
0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||
0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75,
|
||||
0x70, 0x64, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x22, 0x25, 0x0a, 0x11, 0x47, 0x65, 0x74, 0x53,
|
||||
0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a,
|
||||
0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x22,
|
||||
0x43, 0x0a, 0x12, 0x47, 0x65, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73,
|
||||
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a, 0x07, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
|
||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65,
|
||||
0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x07, 0x73, 0x65, 0x74,
|
||||
0x74, 0x69, 0x6e, 0x67, 0x22, 0x3e, 0x0a, 0x14, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65,
|
||||
0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x03,
|
||||
0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14,
|
||||
0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76,
|
||||
0x61, 0x6c, 0x75, 0x65, 0x22, 0x46, 0x0a, 0x15, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65,
|
||||
0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2d, 0x0a,
|
||||
0x07, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x13,
|
||||
0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74,
|
||||
0x69, 0x6e, 0x67, 0x52, 0x07, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x22, 0x15, 0x0a, 0x13,
|
||||
0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x52, 0x65, 0x71, 0x75,
|
||||
0x65, 0x73, 0x74, 0x22, 0x47, 0x0a, 0x14, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69,
|
||||
0x6e, 0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x2f, 0x0a, 0x08, 0x73,
|
||||
0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x13, 0x2e,
|
||||
0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x74, 0x74, 0x69,
|
||||
0x6e, 0x67, 0x52, 0x08, 0x73, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x32, 0x90, 0x02, 0x0a,
|
||||
0x0e, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12,
|
||||
0x50, 0x0a, 0x0a, 0x47, 0x65, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x12, 0x1d, 0x2e,
|
||||
0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65,
|
||||
0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6d,
|
||||
0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x53, 0x65, 0x74,
|
||||
0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02,
|
||||
0x01, 0x12, 0x54, 0x0a, 0x0d, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69,
|
||||
0x6e, 0x67, 0x12, 0x20, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e,
|
||||
0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52, 0x65, 0x71,
|
||||
0x75, 0x65, 0x73, 0x74, 0x1a, 0x21, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76,
|
||||
0x31, 0x2e, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x52,
|
||||
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x56, 0x0a, 0x0c, 0x4c, 0x69, 0x73, 0x74, 0x53,
|
||||
0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x73, 0x12, 0x1f, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61,
|
||||
0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67,
|
||||
0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x20, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72,
|
||||
0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e,
|
||||
0x67, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x42,
|
||||
0xa6, 0x01, 0x0a, 0x0e, 0x63, 0x6f, 0x6d, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e,
|
||||
0x76, 0x31, 0x42, 0x0c, 0x53, 0x65, 0x74, 0x74, 0x69, 0x6e, 0x67, 0x50, 0x72, 0x6f, 0x74, 0x6f,
|
||||
0x50, 0x01, 0x5a, 0x3d, 0x67, 0x69, 0x74, 0x68, 0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6d,
|
||||
0x69, 0x7a, 0x75, 0x63, 0x68, 0x69, 0x6c, 0x61, 0x62, 0x73, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x72,
|
||||
0x61, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x6d, 0x61, 0x6e,
|
||||
0x74, 0x72, 0x61, 0x65, 0x2f, 0x76, 0x31, 0x3b, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x76,
|
||||
0x31, 0xa2, 0x02, 0x03, 0x4d, 0x58, 0x58, 0xaa, 0x02, 0x0a, 0x4d, 0x61, 0x6e, 0x74, 0x72, 0x61,
|
||||
0x65, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x0a, 0x4d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x5c, 0x56,
|
||||
0x31, 0xe2, 0x02, 0x16, 0x4d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x5c, 0x56, 0x31, 0x5c, 0x47,
|
||||
0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61, 0x74, 0x61, 0xea, 0x02, 0x0b, 0x4d, 0x61, 0x6e,
|
||||
0x74, 0x72, 0x61, 0x65, 0x3a, 0x3a, 0x56, 0x31, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
})
|
||||
|
||||
var (
|
||||
file_mantrae_v1_setting_proto_rawDescOnce sync.Once
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.36.6
|
||||
// protoc-gen-go v1.36.5
|
||||
// protoc (unknown)
|
||||
// source: mantrae/v1/user.proto
|
||||
|
||||
@@ -1172,103 +1172,172 @@ func (x *ListUsersResponse) GetTotalCount() int64 {
|
||||
|
||||
var File_mantrae_v1_user_proto protoreflect.FileDescriptor
|
||||
|
||||
const file_mantrae_v1_user_proto_rawDesc = "" +
|
||||
"\n" +
|
||||
"\x15mantrae/v1/user.proto\x12\n" +
|
||||
"mantrae.v1\x1a\x1fgoogle/protobuf/timestamp.proto\"\xfd\x02\n" +
|
||||
"\x04User\x12\x0e\n" +
|
||||
"\x02id\x18\x01 \x01(\tR\x02id\x12\x1a\n" +
|
||||
"\busername\x18\x02 \x01(\tR\busername\x12\x1a\n" +
|
||||
"\bpassword\x18\x03 \x01(\tR\bpassword\x12\x14\n" +
|
||||
"\x05email\x18\x04 \x01(\tR\x05email\x12\x19\n" +
|
||||
"\bis_admin\x18\x05 \x01(\bR\aisAdmin\x12\x10\n" +
|
||||
"\x03otp\x18\x06 \x01(\tR\x03otp\x129\n" +
|
||||
"\n" +
|
||||
"otp_expiry\x18\a \x01(\v2\x1a.google.protobuf.TimestampR\totpExpiry\x129\n" +
|
||||
"\n" +
|
||||
"last_login\x18\b \x01(\v2\x1a.google.protobuf.TimestampR\tlastLogin\x129\n" +
|
||||
"\n" +
|
||||
"created_at\x18\t \x01(\v2\x1a.google.protobuf.TimestampR\tcreatedAt\x129\n" +
|
||||
"\n" +
|
||||
"updated_at\x18\n" +
|
||||
" \x01(\v2\x1a.google.protobuf.TimestampR\tupdatedAt\"\x8e\x01\n" +
|
||||
"\x10LoginUserRequest\x12\x1c\n" +
|
||||
"\busername\x18\x01 \x01(\tH\x00R\busername\x12\x16\n" +
|
||||
"\x05email\x18\x02 \x01(\tH\x00R\x05email\x12\x1a\n" +
|
||||
"\bpassword\x18\x03 \x01(\tR\bpassword\x12\x1a\n" +
|
||||
"\bremember\x18\x04 \x01(\bR\brememberB\f\n" +
|
||||
"\n" +
|
||||
"identifier\")\n" +
|
||||
"\x11LoginUserResponse\x12\x14\n" +
|
||||
"\x05token\x18\x01 \x01(\tR\x05token\"(\n" +
|
||||
"\x10VerifyJWTRequest\x12\x14\n" +
|
||||
"\x05token\x18\x01 \x01(\tR\x05token\",\n" +
|
||||
"\x11VerifyJWTResponse\x12\x17\n" +
|
||||
"\auser_id\x18\x01 \x01(\tR\x06userId\"h\n" +
|
||||
"\x10VerifyOTPRequest\x12\x1c\n" +
|
||||
"\busername\x18\x01 \x01(\tH\x00R\busername\x12\x16\n" +
|
||||
"\x05email\x18\x02 \x01(\tH\x00R\x05email\x12\x10\n" +
|
||||
"\x03otp\x18\x03 \x01(\tR\x03otpB\f\n" +
|
||||
"\n" +
|
||||
"identifier\")\n" +
|
||||
"\x11VerifyOTPResponse\x12\x14\n" +
|
||||
"\x05token\x18\x01 \x01(\tR\x05token\"T\n" +
|
||||
"\x0eSendOTPRequest\x12\x1c\n" +
|
||||
"\busername\x18\x01 \x01(\tH\x00R\busername\x12\x16\n" +
|
||||
"\x05email\x18\x02 \x01(\tH\x00R\x05emailB\f\n" +
|
||||
"\n" +
|
||||
"identifier\"\x11\n" +
|
||||
"\x0fSendOTPResponse\"f\n" +
|
||||
"\x0eGetUserRequest\x12\x10\n" +
|
||||
"\x02id\x18\x01 \x01(\tH\x00R\x02id\x12\x1c\n" +
|
||||
"\busername\x18\x02 \x01(\tH\x00R\busername\x12\x16\n" +
|
||||
"\x05email\x18\x03 \x01(\tH\x00R\x05emailB\f\n" +
|
||||
"\n" +
|
||||
"identifier\"7\n" +
|
||||
"\x0fGetUserResponse\x12$\n" +
|
||||
"\x04user\x18\x01 \x01(\v2\x10.mantrae.v1.UserR\x04user\"|\n" +
|
||||
"\x11CreateUserRequest\x12\x1a\n" +
|
||||
"\busername\x18\x01 \x01(\tR\busername\x12\x1a\n" +
|
||||
"\bpassword\x18\x02 \x01(\tR\bpassword\x12\x14\n" +
|
||||
"\x05email\x18\x03 \x01(\tR\x05email\x12\x19\n" +
|
||||
"\bis_admin\x18\x04 \x01(\bR\aisAdmin\":\n" +
|
||||
"\x12CreateUserResponse\x12$\n" +
|
||||
"\x04user\x18\x01 \x01(\v2\x10.mantrae.v1.UserR\x04user\"p\n" +
|
||||
"\x11UpdateUserRequest\x12\x0e\n" +
|
||||
"\x02id\x18\x01 \x01(\tR\x02id\x12\x1a\n" +
|
||||
"\busername\x18\x02 \x01(\tR\busername\x12\x14\n" +
|
||||
"\x05email\x18\x03 \x01(\tR\x05email\x12\x19\n" +
|
||||
"\bis_admin\x18\x04 \x01(\bR\aisAdmin\":\n" +
|
||||
"\x12UpdateUserResponse\x12$\n" +
|
||||
"\x04user\x18\x01 \x01(\v2\x10.mantrae.v1.UserR\x04user\"#\n" +
|
||||
"\x11DeleteUserRequest\x12\x0e\n" +
|
||||
"\x02id\x18\x01 \x01(\tR\x02id\"\x14\n" +
|
||||
"\x12DeleteUserResponse\"_\n" +
|
||||
"\x10ListUsersRequest\x12\x19\n" +
|
||||
"\x05limit\x18\x01 \x01(\x03H\x00R\x05limit\x88\x01\x01\x12\x1b\n" +
|
||||
"\x06offset\x18\x02 \x01(\x03H\x01R\x06offset\x88\x01\x01B\b\n" +
|
||||
"\x06_limitB\t\n" +
|
||||
"\a_offset\"\\\n" +
|
||||
"\x11ListUsersResponse\x12&\n" +
|
||||
"\x05users\x18\x01 \x03(\v2\x10.mantrae.v1.UserR\x05users\x12\x1f\n" +
|
||||
"\vtotal_count\x18\x02 \x01(\x03R\n" +
|
||||
"totalCount2\xae\x05\n" +
|
||||
"\vUserService\x12H\n" +
|
||||
"\tLoginUser\x12\x1c.mantrae.v1.LoginUserRequest\x1a\x1d.mantrae.v1.LoginUserResponse\x12H\n" +
|
||||
"\tVerifyJWT\x12\x1c.mantrae.v1.VerifyJWTRequest\x1a\x1d.mantrae.v1.VerifyJWTResponse\x12H\n" +
|
||||
"\tVerifyOTP\x12\x1c.mantrae.v1.VerifyOTPRequest\x1a\x1d.mantrae.v1.VerifyOTPResponse\x12B\n" +
|
||||
"\aSendOTP\x12\x1a.mantrae.v1.SendOTPRequest\x1a\x1b.mantrae.v1.SendOTPResponse\x12G\n" +
|
||||
"\aGetUser\x12\x1a.mantrae.v1.GetUserRequest\x1a\x1b.mantrae.v1.GetUserResponse\"\x03\x90\x02\x01\x12K\n" +
|
||||
"\n" +
|
||||
"CreateUser\x12\x1d.mantrae.v1.CreateUserRequest\x1a\x1e.mantrae.v1.CreateUserResponse\x12K\n" +
|
||||
"\n" +
|
||||
"UpdateUser\x12\x1d.mantrae.v1.UpdateUserRequest\x1a\x1e.mantrae.v1.UpdateUserResponse\x12K\n" +
|
||||
"\n" +
|
||||
"DeleteUser\x12\x1d.mantrae.v1.DeleteUserRequest\x1a\x1e.mantrae.v1.DeleteUserResponse\x12M\n" +
|
||||
"\tListUsers\x12\x1c.mantrae.v1.ListUsersRequest\x1a\x1d.mantrae.v1.ListUsersResponse\"\x03\x90\x02\x01B\xa3\x01\n" +
|
||||
"\x0ecom.mantrae.v1B\tUserProtoP\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"
|
||||
var file_mantrae_v1_user_proto_rawDesc = string([]byte{
|
||||
0x0a, 0x15, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2f, 0x76, 0x31, 0x2f, 0x75, 0x73, 0x65,
|
||||
0x72, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x0a, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65,
|
||||
0x2e, 0x76, 0x31, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, 0x70,
|
||||
0x72, 0x6f, 0x74, 0x6f, 0x22, 0xfd, 0x02, 0x0a, 0x04, 0x55, 0x73, 0x65, 0x72, 0x12, 0x0e, 0x0a,
|
||||
0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a,
|
||||
0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73,
|
||||
0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73,
|
||||
0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x04,
|
||||
0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x69,
|
||||
0x73, 0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69,
|
||||
0x73, 0x41, 0x64, 0x6d, 0x69, 0x6e, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x74, 0x70, 0x18, 0x06, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x03, 0x6f, 0x74, 0x70, 0x12, 0x39, 0x0a, 0x0a, 0x6f, 0x74, 0x70, 0x5f,
|
||||
0x65, 0x78, 0x70, 0x69, 0x72, 0x79, 0x18, 0x07, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67,
|
||||
0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54,
|
||||
0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x6f, 0x74, 0x70, 0x45, 0x78, 0x70,
|
||||
0x69, 0x72, 0x79, 0x12, 0x39, 0x0a, 0x0a, 0x6c, 0x61, 0x73, 0x74, 0x5f, 0x6c, 0x6f, 0x67, 0x69,
|
||||
0x6e, 0x18, 0x08, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65,
|
||||
0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74,
|
||||
0x61, 0x6d, 0x70, 0x52, 0x09, 0x6c, 0x61, 0x73, 0x74, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x12, 0x39,
|
||||
0x0a, 0x0a, 0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x09, 0x20, 0x01,
|
||||
0x28, 0x0b, 0x32, 0x1a, 0x2e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74,
|
||||
0x6f, 0x62, 0x75, 0x66, 0x2e, 0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09,
|
||||
0x63, 0x72, 0x65, 0x61, 0x74, 0x65, 0x64, 0x41, 0x74, 0x12, 0x39, 0x0a, 0x0a, 0x75, 0x70, 0x64,
|
||||
0x61, 0x74, 0x65, 0x64, 0x5f, 0x61, 0x74, 0x18, 0x0a, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x1a, 0x2e,
|
||||
0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2e,
|
||||
0x54, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x52, 0x09, 0x75, 0x70, 0x64, 0x61, 0x74,
|
||||
0x65, 0x64, 0x41, 0x74, 0x22, 0x8e, 0x01, 0x0a, 0x10, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x55, 0x73,
|
||||
0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x08, 0x75, 0x73, 0x65,
|
||||
0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08, 0x75,
|
||||
0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c,
|
||||
0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12,
|
||||
0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x18, 0x03, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73, 0x77, 0x6f, 0x72, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x72,
|
||||
0x65, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x08, 0x72,
|
||||
0x65, 0x6d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x42, 0x0c, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74,
|
||||
0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0x29, 0x0a, 0x11, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x55, 0x73,
|
||||
0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f,
|
||||
0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
|
||||
0x22, 0x28, 0x0a, 0x10, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x4a, 0x57, 0x54, 0x52, 0x65, 0x71,
|
||||
0x75, 0x65, 0x73, 0x74, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x18, 0x01, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x2c, 0x0a, 0x11, 0x56, 0x65,
|
||||
0x72, 0x69, 0x66, 0x79, 0x4a, 0x57, 0x54, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12,
|
||||
0x17, 0x0a, 0x07, 0x75, 0x73, 0x65, 0x72, 0x5f, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x06, 0x75, 0x73, 0x65, 0x72, 0x49, 0x64, 0x22, 0x68, 0x0a, 0x10, 0x56, 0x65, 0x72, 0x69,
|
||||
0x66, 0x79, 0x4f, 0x54, 0x50, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1c, 0x0a, 0x08,
|
||||
0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00,
|
||||
0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x05, 0x65, 0x6d,
|
||||
0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x65, 0x6d, 0x61,
|
||||
0x69, 0x6c, 0x12, 0x10, 0x0a, 0x03, 0x6f, 0x74, 0x70, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52,
|
||||
0x03, 0x6f, 0x74, 0x70, 0x42, 0x0c, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69,
|
||||
0x65, 0x72, 0x22, 0x29, 0x0a, 0x11, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x4f, 0x54, 0x50, 0x52,
|
||||
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e,
|
||||
0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x74, 0x6f, 0x6b, 0x65, 0x6e, 0x22, 0x54, 0x0a,
|
||||
0x0e, 0x53, 0x65, 0x6e, 0x64, 0x4f, 0x54, 0x50, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12,
|
||||
0x1c, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28,
|
||||
0x09, 0x48, 0x00, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a,
|
||||
0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05,
|
||||
0x65, 0x6d, 0x61, 0x69, 0x6c, 0x42, 0x0c, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66,
|
||||
0x69, 0x65, 0x72, 0x22, 0x11, 0x0a, 0x0f, 0x53, 0x65, 0x6e, 0x64, 0x4f, 0x54, 0x50, 0x52, 0x65,
|
||||
0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x66, 0x0a, 0x0e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65,
|
||||
0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x10, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01,
|
||||
0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1c, 0x0a, 0x08, 0x75, 0x73,
|
||||
0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x08,
|
||||
0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69,
|
||||
0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x48, 0x00, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c,
|
||||
0x42, 0x0c, 0x0a, 0x0a, 0x69, 0x64, 0x65, 0x6e, 0x74, 0x69, 0x66, 0x69, 0x65, 0x72, 0x22, 0x37,
|
||||
0x0a, 0x0f, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
|
||||
0x65, 0x12, 0x24, 0x0a, 0x04, 0x75, 0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32,
|
||||
0x10, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65,
|
||||
0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x22, 0x7c, 0x0a, 0x11, 0x43, 0x72, 0x65, 0x61, 0x74,
|
||||
0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x1a, 0x0a, 0x08,
|
||||
0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08,
|
||||
0x75, 0x73, 0x65, 0x72, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x1a, 0x0a, 0x08, 0x70, 0x61, 0x73, 0x73,
|
||||
0x77, 0x6f, 0x72, 0x64, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x70, 0x61, 0x73, 0x73,
|
||||
0x77, 0x6f, 0x72, 0x64, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20,
|
||||
0x01, 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73,
|
||||
0x5f, 0x61, 0x64, 0x6d, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73,
|
||||
0x41, 0x64, 0x6d, 0x69, 0x6e, 0x22, 0x3a, 0x0a, 0x12, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55,
|
||||
0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x04, 0x75,
|
||||
0x73, 0x65, 0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6d, 0x61, 0x6e, 0x74,
|
||||
0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65,
|
||||
0x72, 0x22, 0x70, 0x0a, 0x11, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52,
|
||||
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01,
|
||||
0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x1a, 0x0a, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61,
|
||||
0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x75, 0x73, 0x65, 0x72, 0x6e, 0x61,
|
||||
0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28,
|
||||
0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x12, 0x19, 0x0a, 0x08, 0x69, 0x73, 0x5f, 0x61,
|
||||
0x64, 0x6d, 0x69, 0x6e, 0x18, 0x04, 0x20, 0x01, 0x28, 0x08, 0x52, 0x07, 0x69, 0x73, 0x41, 0x64,
|
||||
0x6d, 0x69, 0x6e, 0x22, 0x3a, 0x0a, 0x12, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65,
|
||||
0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x24, 0x0a, 0x04, 0x75, 0x73, 0x65,
|
||||
0x72, 0x18, 0x01, 0x20, 0x01, 0x28, 0x0b, 0x32, 0x10, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61,
|
||||
0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x04, 0x75, 0x73, 0x65, 0x72, 0x22,
|
||||
0x23, 0x0a, 0x11, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71,
|
||||
0x75, 0x65, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09,
|
||||
0x52, 0x02, 0x69, 0x64, 0x22, 0x14, 0x0a, 0x12, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73,
|
||||
0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x5f, 0x0a, 0x10, 0x4c, 0x69,
|
||||
0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x12, 0x19,
|
||||
0x0a, 0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x18, 0x01, 0x20, 0x01, 0x28, 0x03, 0x48, 0x00, 0x52,
|
||||
0x05, 0x6c, 0x69, 0x6d, 0x69, 0x74, 0x88, 0x01, 0x01, 0x12, 0x1b, 0x0a, 0x06, 0x6f, 0x66, 0x66,
|
||||
0x73, 0x65, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x48, 0x01, 0x52, 0x06, 0x6f, 0x66, 0x66,
|
||||
0x73, 0x65, 0x74, 0x88, 0x01, 0x01, 0x42, 0x08, 0x0a, 0x06, 0x5f, 0x6c, 0x69, 0x6d, 0x69, 0x74,
|
||||
0x42, 0x09, 0x0a, 0x07, 0x5f, 0x6f, 0x66, 0x66, 0x73, 0x65, 0x74, 0x22, 0x5c, 0x0a, 0x11, 0x4c,
|
||||
0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65,
|
||||
0x12, 0x26, 0x0a, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x18, 0x01, 0x20, 0x03, 0x28, 0x0b, 0x32,
|
||||
0x10, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x73, 0x65,
|
||||
0x72, 0x52, 0x05, 0x75, 0x73, 0x65, 0x72, 0x73, 0x12, 0x1f, 0x0a, 0x0b, 0x74, 0x6f, 0x74, 0x61,
|
||||
0x6c, 0x5f, 0x63, 0x6f, 0x75, 0x6e, 0x74, 0x18, 0x02, 0x20, 0x01, 0x28, 0x03, 0x52, 0x0a, 0x74,
|
||||
0x6f, 0x74, 0x61, 0x6c, 0x43, 0x6f, 0x75, 0x6e, 0x74, 0x32, 0xae, 0x05, 0x0a, 0x0b, 0x55, 0x73,
|
||||
0x65, 0x72, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x12, 0x48, 0x0a, 0x09, 0x4c, 0x6f, 0x67,
|
||||
0x69, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1c, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65,
|
||||
0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71,
|
||||
0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76,
|
||||
0x31, 0x2e, 0x4c, 0x6f, 0x67, 0x69, 0x6e, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f,
|
||||
0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a, 0x09, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x4a, 0x57, 0x54,
|
||||
0x12, 0x1c, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65,
|
||||
0x72, 0x69, 0x66, 0x79, 0x4a, 0x57, 0x54, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d,
|
||||
0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x69,
|
||||
0x66, 0x79, 0x4a, 0x57, 0x54, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x48, 0x0a,
|
||||
0x09, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x4f, 0x54, 0x50, 0x12, 0x1c, 0x2e, 0x6d, 0x61, 0x6e,
|
||||
0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x4f, 0x54,
|
||||
0x50, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72,
|
||||
0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x56, 0x65, 0x72, 0x69, 0x66, 0x79, 0x4f, 0x54, 0x50, 0x52,
|
||||
0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x42, 0x0a, 0x07, 0x53, 0x65, 0x6e, 0x64, 0x4f,
|
||||
0x54, 0x50, 0x12, 0x1a, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e,
|
||||
0x53, 0x65, 0x6e, 0x64, 0x4f, 0x54, 0x50, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1b,
|
||||
0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x53, 0x65, 0x6e, 0x64,
|
||||
0x4f, 0x54, 0x50, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x47, 0x0a, 0x07, 0x47,
|
||||
0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1a, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65,
|
||||
0x2e, 0x76, 0x31, 0x2e, 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65,
|
||||
0x73, 0x74, 0x1a, 0x1b, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e,
|
||||
0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22,
|
||||
0x03, 0x90, 0x02, 0x01, 0x12, 0x4b, 0x0a, 0x0a, 0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73,
|
||||
0x65, 0x72, 0x12, 0x1d, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e,
|
||||
0x43, 0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73,
|
||||
0x74, 0x1a, 0x1e, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x43,
|
||||
0x72, 0x65, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73,
|
||||
0x65, 0x12, 0x4b, 0x0a, 0x0a, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12,
|
||||
0x1d, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64,
|
||||
0x61, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e,
|
||||
0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x55, 0x70, 0x64, 0x61,
|
||||
0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4b,
|
||||
0x0a, 0x0a, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55, 0x73, 0x65, 0x72, 0x12, 0x1d, 0x2e, 0x6d,
|
||||
0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65,
|
||||
0x55, 0x73, 0x65, 0x72, 0x52, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1e, 0x2e, 0x6d, 0x61,
|
||||
0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x44, 0x65, 0x6c, 0x65, 0x74, 0x65, 0x55,
|
||||
0x73, 0x65, 0x72, 0x52, 0x65, 0x73, 0x70, 0x6f, 0x6e, 0x73, 0x65, 0x12, 0x4d, 0x0a, 0x09, 0x4c,
|
||||
0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x12, 0x1c, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72,
|
||||
0x61, 0x65, 0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52,
|
||||
0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x1a, 0x1d, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65,
|
||||
0x2e, 0x76, 0x31, 0x2e, 0x4c, 0x69, 0x73, 0x74, 0x55, 0x73, 0x65, 0x72, 0x73, 0x52, 0x65, 0x73,
|
||||
0x70, 0x6f, 0x6e, 0x73, 0x65, 0x22, 0x03, 0x90, 0x02, 0x01, 0x42, 0xa3, 0x01, 0x0a, 0x0e, 0x63,
|
||||
0x6f, 0x6d, 0x2e, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x76, 0x31, 0x42, 0x09, 0x55,
|
||||
0x73, 0x65, 0x72, 0x50, 0x72, 0x6f, 0x74, 0x6f, 0x50, 0x01, 0x5a, 0x3d, 0x67, 0x69, 0x74, 0x68,
|
||||
0x75, 0x62, 0x2e, 0x63, 0x6f, 0x6d, 0x2f, 0x6d, 0x69, 0x7a, 0x75, 0x63, 0x68, 0x69, 0x6c, 0x61,
|
||||
0x62, 0x73, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2f, 0x70, 0x72, 0x6f, 0x74, 0x6f,
|
||||
0x2f, 0x67, 0x65, 0x6e, 0x2f, 0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2f, 0x76, 0x31, 0x3b,
|
||||
0x6d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x76, 0x31, 0xa2, 0x02, 0x03, 0x4d, 0x58, 0x58, 0xaa,
|
||||
0x02, 0x0a, 0x4d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x2e, 0x56, 0x31, 0xca, 0x02, 0x0a, 0x4d,
|
||||
0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x5c, 0x56, 0x31, 0xe2, 0x02, 0x16, 0x4d, 0x61, 0x6e, 0x74,
|
||||
0x72, 0x61, 0x65, 0x5c, 0x56, 0x31, 0x5c, 0x47, 0x50, 0x42, 0x4d, 0x65, 0x74, 0x61, 0x64, 0x61,
|
||||
0x74, 0x61, 0xea, 0x02, 0x0b, 0x4d, 0x61, 0x6e, 0x74, 0x72, 0x61, 0x65, 0x3a, 0x3a, 0x56, 0x31,
|
||||
0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
|
||||
})
|
||||
|
||||
var (
|
||||
file_mantrae_v1_user_proto_rawDescOnce sync.Once
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
76
proto/mantrae/v1/agent_management.proto
Normal file
76
proto/mantrae/v1/agent_management.proto
Normal file
@@ -0,0 +1,76 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package mantrae.v1;
|
||||
|
||||
import "google/protobuf/timestamp.proto";
|
||||
import "mantrae/v1/agent.proto";
|
||||
|
||||
service AgentManagementService {
|
||||
rpc GetAgent(GetAgentRequest) returns (GetAgentResponse) {
|
||||
option idempotency_level = NO_SIDE_EFFECTS;
|
||||
}
|
||||
rpc CreateAgent(CreateAgentRequest) returns (CreateAgentResponse);
|
||||
rpc UpdateAgentIP(UpdateAgentIPRequest) returns (UpdateAgentIPResponse);
|
||||
rpc DeleteAgent(DeleteAgentRequest) returns (DeleteAgentResponse);
|
||||
rpc ListAgents(ListAgentsRequest) returns (ListAgentsResponse) {
|
||||
option idempotency_level = NO_SIDE_EFFECTS;
|
||||
}
|
||||
rpc RotateAgentToken(RotateAgentTokenRequest) returns (RotateAgentTokenResponse);
|
||||
}
|
||||
|
||||
message Agent {
|
||||
string id = 1;
|
||||
int64 profile_id = 2;
|
||||
string hostname = 3;
|
||||
string public_ip = 4;
|
||||
string active_ip = 5;
|
||||
string token = 6;
|
||||
repeated string private_ips = 7;
|
||||
repeated Container containers = 8;
|
||||
google.protobuf.Timestamp created_at = 9;
|
||||
google.protobuf.Timestamp updated_at = 10;
|
||||
}
|
||||
|
||||
message GetAgentRequest {
|
||||
string id = 1;
|
||||
}
|
||||
message GetAgentResponse {
|
||||
Agent agent = 1;
|
||||
}
|
||||
|
||||
message CreateAgentRequest {
|
||||
int64 profile_id = 1;
|
||||
}
|
||||
message CreateAgentResponse {
|
||||
Agent agent = 1;
|
||||
}
|
||||
|
||||
message UpdateAgentIPRequest {
|
||||
string id = 1;
|
||||
string ip = 2;
|
||||
}
|
||||
message UpdateAgentIPResponse {
|
||||
Agent agent = 1;
|
||||
}
|
||||
|
||||
message DeleteAgentRequest {
|
||||
string id = 1;
|
||||
}
|
||||
message DeleteAgentResponse {}
|
||||
|
||||
message ListAgentsRequest {
|
||||
int64 profile_id = 1;
|
||||
optional int64 limit = 2;
|
||||
optional int64 offset = 3;
|
||||
}
|
||||
message ListAgentsResponse {
|
||||
repeated Agent agents = 1;
|
||||
int64 total_count = 2;
|
||||
}
|
||||
|
||||
message RotateAgentTokenRequest {
|
||||
string id = 1;
|
||||
}
|
||||
message RotateAgentTokenResponse {
|
||||
string token = 1;
|
||||
}
|
||||
52
proto/mantrae/v1/backup.proto
Normal file
52
proto/mantrae/v1/backup.proto
Normal file
@@ -0,0 +1,52 @@
|
||||
syntax = "proto3";
|
||||
|
||||
package mantrae.v1;
|
||||
|
||||
import "google/protobuf/timestamp.proto";
|
||||
|
||||
service BackupService {
|
||||
rpc CreateBackup(CreateBackupRequest) returns (CreateBackupResponse);
|
||||
rpc RestoreBackup(RestoreBackupRequest) returns (RestoreBackupResponse);
|
||||
rpc ListBackups(ListBackupsRequest) returns (ListBackupsResponse) {
|
||||
option idempotency_level = NO_SIDE_EFFECTS;
|
||||
}
|
||||
rpc DeleteBackup(DeleteBackupRequest) returns (DeleteBackupResponse);
|
||||
rpc DownloadBackup(DownloadBackupRequest) returns (stream DownloadBackupResponse);
|
||||
rpc UploadBackup(stream UploadBackupRequest) returns (UploadBackupResponse);
|
||||
}
|
||||
|
||||
message Backup {
|
||||
string name = 1;
|
||||
int64 size = 2;
|
||||
google.protobuf.Timestamp created_at = 3;
|
||||
}
|
||||
|
||||
message CreateBackupRequest {}
|
||||
message CreateBackupResponse {}
|
||||
|
||||
message RestoreBackupRequest {
|
||||
string name = 1;
|
||||
}
|
||||
message RestoreBackupResponse {}
|
||||
|
||||
message ListBackupsRequest {}
|
||||
message ListBackupsResponse {
|
||||
repeated Backup backups = 1;
|
||||
}
|
||||
|
||||
message DeleteBackupRequest {
|
||||
string name = 1;
|
||||
}
|
||||
message DeleteBackupResponse {}
|
||||
|
||||
message DownloadBackupRequest {
|
||||
string name = 1;
|
||||
}
|
||||
message DownloadBackupResponse {
|
||||
bytes data = 1;
|
||||
}
|
||||
|
||||
message UploadBackupRequest {
|
||||
bytes data = 1;
|
||||
}
|
||||
message UploadBackupResponse {}
|
||||
@@ -14,6 +14,9 @@ service MiddlewareService {
|
||||
rpc ListMiddlewares(ListMiddlewaresRequest) returns (ListMiddlewaresResponse) {
|
||||
option idempotency_level = NO_SIDE_EFFECTS;
|
||||
}
|
||||
rpc GetMiddlewarePlugins(GetMiddlewarePluginsRequest) returns (GetMiddlewarePluginsResponse) {
|
||||
option idempotency_level = NO_SIDE_EFFECTS;
|
||||
}
|
||||
}
|
||||
|
||||
enum MiddlewareType {
|
||||
@@ -25,14 +28,36 @@ enum MiddlewareType {
|
||||
message Middleware {
|
||||
int64 id = 1;
|
||||
int64 profile_id = 2;
|
||||
string name = 3;
|
||||
string config = 4;
|
||||
string source = 5;
|
||||
string agent_id = 3;
|
||||
string name = 4;
|
||||
string config = 5;
|
||||
MiddlewareType type = 6;
|
||||
google.protobuf.Timestamp created_at = 7;
|
||||
google.protobuf.Timestamp updated_at = 8;
|
||||
}
|
||||
|
||||
message Plugin {
|
||||
string id = 1;
|
||||
string name = 2;
|
||||
string display_name = 3;
|
||||
string author = 4;
|
||||
string type = 5;
|
||||
string import = 6;
|
||||
string summary = 7;
|
||||
string icon_url = 8;
|
||||
string banner_url = 9;
|
||||
string readme = 10;
|
||||
string latest_version = 11;
|
||||
repeated string versions = 12;
|
||||
int64 stars = 13;
|
||||
PluginSnippet snippet = 14;
|
||||
string created_at = 15;
|
||||
}
|
||||
|
||||
message PluginSnippet {
|
||||
string yaml = 1;
|
||||
}
|
||||
|
||||
message GetMiddlewareRequest {
|
||||
int64 id = 1;
|
||||
MiddlewareType type = 2;
|
||||
@@ -43,9 +68,9 @@ message GetMiddlewareResponse {
|
||||
|
||||
message CreateMiddlewareRequest {
|
||||
int64 profile_id = 1;
|
||||
string name = 2;
|
||||
string config = 3;
|
||||
string source = 4;
|
||||
string agent_id = 2;
|
||||
string name = 3;
|
||||
string config = 4;
|
||||
MiddlewareType type = 5;
|
||||
}
|
||||
message CreateMiddlewareResponse {
|
||||
@@ -56,8 +81,7 @@ message UpdateMiddlewareRequest {
|
||||
int64 id = 1;
|
||||
string name = 2;
|
||||
string config = 3;
|
||||
string source = 4;
|
||||
MiddlewareType type = 5;
|
||||
MiddlewareType type = 4;
|
||||
}
|
||||
message UpdateMiddlewareResponse {
|
||||
Middleware middleware = 1;
|
||||
@@ -77,3 +101,8 @@ message ListMiddlewaresResponse {
|
||||
repeated Middleware middlewares = 1;
|
||||
int64 total_count = 2;
|
||||
}
|
||||
|
||||
message GetMiddlewarePluginsRequest {}
|
||||
message GetMiddlewarePluginsResponse {
|
||||
repeated Plugin plugins = 1;
|
||||
}
|
||||
|
||||
@@ -26,9 +26,9 @@ enum RouterType {
|
||||
message Router {
|
||||
int64 id = 1;
|
||||
int64 profile_id = 2;
|
||||
string name = 3;
|
||||
string config = 4;
|
||||
string source = 5;
|
||||
string agent_id = 3;
|
||||
string name = 4;
|
||||
string config = 5;
|
||||
bool enabled = 6;
|
||||
RouterType type = 7;
|
||||
google.protobuf.Timestamp created_at = 8;
|
||||
@@ -45,9 +45,9 @@ message GetRouterResponse {
|
||||
|
||||
message CreateRouterRequest {
|
||||
int64 profile_id = 1;
|
||||
string name = 2;
|
||||
string config = 3;
|
||||
string source = 4;
|
||||
string agent_id = 2;
|
||||
string name = 3;
|
||||
string config = 4;
|
||||
bool enabled = 5;
|
||||
RouterType type = 6;
|
||||
}
|
||||
@@ -59,9 +59,8 @@ message UpdateRouterRequest {
|
||||
int64 id = 1;
|
||||
string name = 2;
|
||||
string config = 3;
|
||||
string source = 4;
|
||||
bool enabled = 5;
|
||||
RouterType type = 6;
|
||||
bool enabled = 4;
|
||||
RouterType type = 5;
|
||||
}
|
||||
message UpdateRouterResponse {
|
||||
Router router = 1;
|
||||
|
||||
@@ -26,9 +26,9 @@ enum ServiceType {
|
||||
message Service {
|
||||
int64 id = 1;
|
||||
int64 profile_id = 2;
|
||||
string name = 3;
|
||||
string config = 4;
|
||||
string source = 5;
|
||||
string agent_id = 3;
|
||||
string name = 4;
|
||||
string config = 5;
|
||||
ServiceType type = 6;
|
||||
google.protobuf.Timestamp created_at = 7;
|
||||
google.protobuf.Timestamp updated_at = 8;
|
||||
@@ -44,9 +44,9 @@ message GetServiceResponse {
|
||||
|
||||
message CreateServiceRequest {
|
||||
int64 profile_id = 1;
|
||||
string name = 2;
|
||||
string config = 3;
|
||||
string source = 4;
|
||||
string agent_id = 2;
|
||||
string name = 3;
|
||||
string config = 4;
|
||||
ServiceType type = 5;
|
||||
}
|
||||
message CreateServiceResponse {
|
||||
@@ -57,8 +57,7 @@ message UpdateServiceRequest {
|
||||
int64 id = 1;
|
||||
string name = 2;
|
||||
string config = 3;
|
||||
string source = 4;
|
||||
ServiceType type = 5;
|
||||
ServiceType type = 4;
|
||||
}
|
||||
message UpdateServiceResponse {
|
||||
Service service = 1;
|
||||
|
||||
2
sqlc.yml
2
sqlc.yml
@@ -62,7 +62,7 @@ sql:
|
||||
- column: "traefik_instances.entrypoints"
|
||||
go_type:
|
||||
import: "github.com/mizuchilabs/mantrae/internal/store/schema"
|
||||
type: "EntryPoint"
|
||||
type: "EntryPoints"
|
||||
pointer: true
|
||||
- column: "traefik_instances.overview"
|
||||
go_type:
|
||||
|
||||
355
web/src/lib/gen/mantrae/v1/agent_management_pb.ts
Normal file
355
web/src/lib/gen/mantrae/v1/agent_management_pb.ts
Normal file
@@ -0,0 +1,355 @@
|
||||
// @generated by protoc-gen-es v2.2.3 with parameter "target=ts"
|
||||
// @generated from file mantrae/v1/agent_management.proto (package mantrae.v1, syntax proto3)
|
||||
/* eslint-disable */
|
||||
|
||||
import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv1";
|
||||
import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv1";
|
||||
import type { Timestamp } from "@bufbuild/protobuf/wkt";
|
||||
import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
|
||||
import type { Container } from "./agent_pb";
|
||||
import { file_mantrae_v1_agent } from "./agent_pb";
|
||||
import type { Message } from "@bufbuild/protobuf";
|
||||
|
||||
/**
|
||||
* Describes the file mantrae/v1/agent_management.proto.
|
||||
*/
|
||||
export const file_mantrae_v1_agent_management: GenFile = /*@__PURE__*/
|
||||
fileDesc("CiFtYW50cmFlL3YxL2FnZW50X21hbmFnZW1lbnQucHJvdG8SCm1hbnRyYWUudjEijgIKBUFnZW50EgoKAmlkGAEgASgJEhIKCnByb2ZpbGVfaWQYAiABKAMSEAoIaG9zdG5hbWUYAyABKAkSEQoJcHVibGljX2lwGAQgASgJEhEKCWFjdGl2ZV9pcBgFIAEoCRINCgV0b2tlbhgGIAEoCRITCgtwcml2YXRlX2lwcxgHIAMoCRIpCgpjb250YWluZXJzGAggAygLMhUubWFudHJhZS52MS5Db250YWluZXISLgoKY3JlYXRlZF9hdBgJIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgKIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiHQoPR2V0QWdlbnRSZXF1ZXN0EgoKAmlkGAEgASgJIjQKEEdldEFnZW50UmVzcG9uc2USIAoFYWdlbnQYASABKAsyES5tYW50cmFlLnYxLkFnZW50IigKEkNyZWF0ZUFnZW50UmVxdWVzdBISCgpwcm9maWxlX2lkGAEgASgDIjcKE0NyZWF0ZUFnZW50UmVzcG9uc2USIAoFYWdlbnQYASABKAsyES5tYW50cmFlLnYxLkFnZW50Ii4KFFVwZGF0ZUFnZW50SVBSZXF1ZXN0EgoKAmlkGAEgASgJEgoKAmlwGAIgASgJIjkKFVVwZGF0ZUFnZW50SVBSZXNwb25zZRIgCgVhZ2VudBgBIAEoCzIRLm1hbnRyYWUudjEuQWdlbnQiIAoSRGVsZXRlQWdlbnRSZXF1ZXN0EgoKAmlkGAEgASgJIhUKE0RlbGV0ZUFnZW50UmVzcG9uc2UiZQoRTGlzdEFnZW50c1JlcXVlc3QSEgoKcHJvZmlsZV9pZBgBIAEoAxISCgVsaW1pdBgCIAEoA0gAiAEBEhMKBm9mZnNldBgDIAEoA0gBiAEBQggKBl9saW1pdEIJCgdfb2Zmc2V0IkwKEkxpc3RBZ2VudHNSZXNwb25zZRIhCgZhZ2VudHMYASADKAsyES5tYW50cmFlLnYxLkFnZW50EhMKC3RvdGFsX2NvdW50GAIgASgDIiUKF1JvdGF0ZUFnZW50VG9rZW5SZXF1ZXN0EgoKAmlkGAEgASgJIikKGFJvdGF0ZUFnZW50VG9rZW5SZXNwb25zZRINCgV0b2tlbhgBIAEoCTKLBAoWQWdlbnRNYW5hZ2VtZW50U2VydmljZRJKCghHZXRBZ2VudBIbLm1hbnRyYWUudjEuR2V0QWdlbnRSZXF1ZXN0GhwubWFudHJhZS52MS5HZXRBZ2VudFJlc3BvbnNlIgOQAgESTgoLQ3JlYXRlQWdlbnQSHi5tYW50cmFlLnYxLkNyZWF0ZUFnZW50UmVxdWVzdBofLm1hbnRyYWUudjEuQ3JlYXRlQWdlbnRSZXNwb25zZRJUCg1VcGRhdGVBZ2VudElQEiAubWFudHJhZS52MS5VcGRhdGVBZ2VudElQUmVxdWVzdBohLm1hbnRyYWUudjEuVXBkYXRlQWdlbnRJUFJlc3BvbnNlEk4KC0RlbGV0ZUFnZW50Eh4ubWFudHJhZS52MS5EZWxldGVBZ2VudFJlcXVlc3QaHy5tYW50cmFlLnYxLkRlbGV0ZUFnZW50UmVzcG9uc2USUAoKTGlzdEFnZW50cxIdLm1hbnRyYWUudjEuTGlzdEFnZW50c1JlcXVlc3QaHi5tYW50cmFlLnYxLkxpc3RBZ2VudHNSZXNwb25zZSIDkAIBEl0KEFJvdGF0ZUFnZW50VG9rZW4SIy5tYW50cmFlLnYxLlJvdGF0ZUFnZW50VG9rZW5SZXF1ZXN0GiQubWFudHJhZS52MS5Sb3RhdGVBZ2VudFRva2VuUmVzcG9uc2VCrgEKDmNvbS5tYW50cmFlLnYxQhRBZ2VudE1hbmFnZW1lbnRQcm90b1ABWj1naXRodWIuY29tL21penVjaGlsYWJzL21hbnRyYWUvcHJvdG8vZ2VuL21hbnRyYWUvdjE7bWFudHJhZXYxogIDTVhYqgIKTWFudHJhZS5WMcoCCk1hbnRyYWVcVjHiAhZNYW50cmFlXFYxXEdQQk1ldGFkYXRh6gILTWFudHJhZTo6VjFiBnByb3RvMw", [file_google_protobuf_timestamp, file_mantrae_v1_agent]);
|
||||
|
||||
/**
|
||||
* @generated from message mantrae.v1.Agent
|
||||
*/
|
||||
export type Agent = Message<"mantrae.v1.Agent"> & {
|
||||
/**
|
||||
* @generated from field: string id = 1;
|
||||
*/
|
||||
id: string;
|
||||
|
||||
/**
|
||||
* @generated from field: int64 profile_id = 2;
|
||||
*/
|
||||
profileId: bigint;
|
||||
|
||||
/**
|
||||
* @generated from field: string hostname = 3;
|
||||
*/
|
||||
hostname: string;
|
||||
|
||||
/**
|
||||
* @generated from field: string public_ip = 4;
|
||||
*/
|
||||
publicIp: string;
|
||||
|
||||
/**
|
||||
* @generated from field: string active_ip = 5;
|
||||
*/
|
||||
activeIp: string;
|
||||
|
||||
/**
|
||||
* @generated from field: string token = 6;
|
||||
*/
|
||||
token: string;
|
||||
|
||||
/**
|
||||
* @generated from field: repeated string private_ips = 7;
|
||||
*/
|
||||
privateIps: string[];
|
||||
|
||||
/**
|
||||
* @generated from field: repeated mantrae.v1.Container containers = 8;
|
||||
*/
|
||||
containers: Container[];
|
||||
|
||||
/**
|
||||
* @generated from field: google.protobuf.Timestamp created_at = 9;
|
||||
*/
|
||||
createdAt?: Timestamp;
|
||||
|
||||
/**
|
||||
* @generated from field: google.protobuf.Timestamp updated_at = 10;
|
||||
*/
|
||||
updatedAt?: Timestamp;
|
||||
};
|
||||
|
||||
/**
|
||||
* 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_management, 0);
|
||||
|
||||
/**
|
||||
* @generated from message mantrae.v1.GetAgentRequest
|
||||
*/
|
||||
export type GetAgentRequest = Message<"mantrae.v1.GetAgentRequest"> & {
|
||||
/**
|
||||
* @generated from field: string id = 1;
|
||||
*/
|
||||
id: string;
|
||||
};
|
||||
|
||||
/**
|
||||
* Describes the message mantrae.v1.GetAgentRequest.
|
||||
* Use `create(GetAgentRequestSchema)` to create a new message.
|
||||
*/
|
||||
export const GetAgentRequestSchema: GenMessage<GetAgentRequest> = /*@__PURE__*/
|
||||
messageDesc(file_mantrae_v1_agent_management, 1);
|
||||
|
||||
/**
|
||||
* @generated from message mantrae.v1.GetAgentResponse
|
||||
*/
|
||||
export type GetAgentResponse = Message<"mantrae.v1.GetAgentResponse"> & {
|
||||
/**
|
||||
* @generated from field: mantrae.v1.Agent agent = 1;
|
||||
*/
|
||||
agent?: Agent;
|
||||
};
|
||||
|
||||
/**
|
||||
* Describes the message mantrae.v1.GetAgentResponse.
|
||||
* Use `create(GetAgentResponseSchema)` to create a new message.
|
||||
*/
|
||||
export const GetAgentResponseSchema: GenMessage<GetAgentResponse> = /*@__PURE__*/
|
||||
messageDesc(file_mantrae_v1_agent_management, 2);
|
||||
|
||||
/**
|
||||
* @generated from message mantrae.v1.CreateAgentRequest
|
||||
*/
|
||||
export type CreateAgentRequest = Message<"mantrae.v1.CreateAgentRequest"> & {
|
||||
/**
|
||||
* @generated from field: int64 profile_id = 1;
|
||||
*/
|
||||
profileId: bigint;
|
||||
};
|
||||
|
||||
/**
|
||||
* Describes the message mantrae.v1.CreateAgentRequest.
|
||||
* Use `create(CreateAgentRequestSchema)` to create a new message.
|
||||
*/
|
||||
export const CreateAgentRequestSchema: GenMessage<CreateAgentRequest> = /*@__PURE__*/
|
||||
messageDesc(file_mantrae_v1_agent_management, 3);
|
||||
|
||||
/**
|
||||
* @generated from message mantrae.v1.CreateAgentResponse
|
||||
*/
|
||||
export type CreateAgentResponse = Message<"mantrae.v1.CreateAgentResponse"> & {
|
||||
/**
|
||||
* @generated from field: mantrae.v1.Agent agent = 1;
|
||||
*/
|
||||
agent?: Agent;
|
||||
};
|
||||
|
||||
/**
|
||||
* Describes the message mantrae.v1.CreateAgentResponse.
|
||||
* Use `create(CreateAgentResponseSchema)` to create a new message.
|
||||
*/
|
||||
export const CreateAgentResponseSchema: GenMessage<CreateAgentResponse> = /*@__PURE__*/
|
||||
messageDesc(file_mantrae_v1_agent_management, 4);
|
||||
|
||||
/**
|
||||
* @generated from message mantrae.v1.UpdateAgentIPRequest
|
||||
*/
|
||||
export type UpdateAgentIPRequest = Message<"mantrae.v1.UpdateAgentIPRequest"> & {
|
||||
/**
|
||||
* @generated from field: string id = 1;
|
||||
*/
|
||||
id: string;
|
||||
|
||||
/**
|
||||
* @generated from field: string ip = 2;
|
||||
*/
|
||||
ip: string;
|
||||
};
|
||||
|
||||
/**
|
||||
* Describes the message mantrae.v1.UpdateAgentIPRequest.
|
||||
* Use `create(UpdateAgentIPRequestSchema)` to create a new message.
|
||||
*/
|
||||
export const UpdateAgentIPRequestSchema: GenMessage<UpdateAgentIPRequest> = /*@__PURE__*/
|
||||
messageDesc(file_mantrae_v1_agent_management, 5);
|
||||
|
||||
/**
|
||||
* @generated from message mantrae.v1.UpdateAgentIPResponse
|
||||
*/
|
||||
export type UpdateAgentIPResponse = Message<"mantrae.v1.UpdateAgentIPResponse"> & {
|
||||
/**
|
||||
* @generated from field: mantrae.v1.Agent agent = 1;
|
||||
*/
|
||||
agent?: Agent;
|
||||
};
|
||||
|
||||
/**
|
||||
* Describes the message mantrae.v1.UpdateAgentIPResponse.
|
||||
* Use `create(UpdateAgentIPResponseSchema)` to create a new message.
|
||||
*/
|
||||
export const UpdateAgentIPResponseSchema: GenMessage<UpdateAgentIPResponse> = /*@__PURE__*/
|
||||
messageDesc(file_mantrae_v1_agent_management, 6);
|
||||
|
||||
/**
|
||||
* @generated from message mantrae.v1.DeleteAgentRequest
|
||||
*/
|
||||
export type DeleteAgentRequest = Message<"mantrae.v1.DeleteAgentRequest"> & {
|
||||
/**
|
||||
* @generated from field: string id = 1;
|
||||
*/
|
||||
id: string;
|
||||
};
|
||||
|
||||
/**
|
||||
* Describes the message mantrae.v1.DeleteAgentRequest.
|
||||
* Use `create(DeleteAgentRequestSchema)` to create a new message.
|
||||
*/
|
||||
export const DeleteAgentRequestSchema: GenMessage<DeleteAgentRequest> = /*@__PURE__*/
|
||||
messageDesc(file_mantrae_v1_agent_management, 7);
|
||||
|
||||
/**
|
||||
* @generated from 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__*/
|
||||
messageDesc(file_mantrae_v1_agent_management, 8);
|
||||
|
||||
/**
|
||||
* @generated from message mantrae.v1.ListAgentsRequest
|
||||
*/
|
||||
export type ListAgentsRequest = Message<"mantrae.v1.ListAgentsRequest"> & {
|
||||
/**
|
||||
* @generated from field: int64 profile_id = 1;
|
||||
*/
|
||||
profileId: bigint;
|
||||
|
||||
/**
|
||||
* @generated from field: optional int64 limit = 2;
|
||||
*/
|
||||
limit?: bigint;
|
||||
|
||||
/**
|
||||
* @generated from field: optional int64 offset = 3;
|
||||
*/
|
||||
offset?: bigint;
|
||||
};
|
||||
|
||||
/**
|
||||
* Describes the message mantrae.v1.ListAgentsRequest.
|
||||
* Use `create(ListAgentsRequestSchema)` to create a new message.
|
||||
*/
|
||||
export const ListAgentsRequestSchema: GenMessage<ListAgentsRequest> = /*@__PURE__*/
|
||||
messageDesc(file_mantrae_v1_agent_management, 9);
|
||||
|
||||
/**
|
||||
* @generated from message mantrae.v1.ListAgentsResponse
|
||||
*/
|
||||
export type ListAgentsResponse = Message<"mantrae.v1.ListAgentsResponse"> & {
|
||||
/**
|
||||
* @generated from field: repeated mantrae.v1.Agent agents = 1;
|
||||
*/
|
||||
agents: Agent[];
|
||||
|
||||
/**
|
||||
* @generated from field: int64 total_count = 2;
|
||||
*/
|
||||
totalCount: bigint;
|
||||
};
|
||||
|
||||
/**
|
||||
* Describes the message mantrae.v1.ListAgentsResponse.
|
||||
* Use `create(ListAgentsResponseSchema)` to create a new message.
|
||||
*/
|
||||
export const ListAgentsResponseSchema: GenMessage<ListAgentsResponse> = /*@__PURE__*/
|
||||
messageDesc(file_mantrae_v1_agent_management, 10);
|
||||
|
||||
/**
|
||||
* @generated from message mantrae.v1.RotateAgentTokenRequest
|
||||
*/
|
||||
export type RotateAgentTokenRequest = Message<"mantrae.v1.RotateAgentTokenRequest"> & {
|
||||
/**
|
||||
* @generated from field: string id = 1;
|
||||
*/
|
||||
id: string;
|
||||
};
|
||||
|
||||
/**
|
||||
* Describes the message mantrae.v1.RotateAgentTokenRequest.
|
||||
* Use `create(RotateAgentTokenRequestSchema)` to create a new message.
|
||||
*/
|
||||
export const RotateAgentTokenRequestSchema: GenMessage<RotateAgentTokenRequest> = /*@__PURE__*/
|
||||
messageDesc(file_mantrae_v1_agent_management, 11);
|
||||
|
||||
/**
|
||||
* @generated from message mantrae.v1.RotateAgentTokenResponse
|
||||
*/
|
||||
export type RotateAgentTokenResponse = Message<"mantrae.v1.RotateAgentTokenResponse"> & {
|
||||
/**
|
||||
* @generated from field: string token = 1;
|
||||
*/
|
||||
token: string;
|
||||
};
|
||||
|
||||
/**
|
||||
* Describes the message mantrae.v1.RotateAgentTokenResponse.
|
||||
* Use `create(RotateAgentTokenResponseSchema)` to create a new message.
|
||||
*/
|
||||
export const RotateAgentTokenResponseSchema: GenMessage<RotateAgentTokenResponse> = /*@__PURE__*/
|
||||
messageDesc(file_mantrae_v1_agent_management, 12);
|
||||
|
||||
/**
|
||||
* @generated from service mantrae.v1.AgentManagementService
|
||||
*/
|
||||
export const AgentManagementService: GenService<{
|
||||
/**
|
||||
* @generated from rpc mantrae.v1.AgentManagementService.GetAgent
|
||||
*/
|
||||
getAgent: {
|
||||
methodKind: "unary";
|
||||
input: typeof GetAgentRequestSchema;
|
||||
output: typeof GetAgentResponseSchema;
|
||||
},
|
||||
/**
|
||||
* @generated from rpc mantrae.v1.AgentManagementService.CreateAgent
|
||||
*/
|
||||
createAgent: {
|
||||
methodKind: "unary";
|
||||
input: typeof CreateAgentRequestSchema;
|
||||
output: typeof CreateAgentResponseSchema;
|
||||
},
|
||||
/**
|
||||
* @generated from rpc mantrae.v1.AgentManagementService.UpdateAgentIP
|
||||
*/
|
||||
updateAgentIP: {
|
||||
methodKind: "unary";
|
||||
input: typeof UpdateAgentIPRequestSchema;
|
||||
output: typeof UpdateAgentIPResponseSchema;
|
||||
},
|
||||
/**
|
||||
* @generated from rpc mantrae.v1.AgentManagementService.DeleteAgent
|
||||
*/
|
||||
deleteAgent: {
|
||||
methodKind: "unary";
|
||||
input: typeof DeleteAgentRequestSchema;
|
||||
output: typeof DeleteAgentResponseSchema;
|
||||
},
|
||||
/**
|
||||
* @generated from rpc mantrae.v1.AgentManagementService.ListAgents
|
||||
*/
|
||||
listAgents: {
|
||||
methodKind: "unary";
|
||||
input: typeof ListAgentsRequestSchema;
|
||||
output: typeof ListAgentsResponseSchema;
|
||||
},
|
||||
/**
|
||||
* @generated from rpc mantrae.v1.AgentManagementService.RotateAgentToken
|
||||
*/
|
||||
rotateAgentToken: {
|
||||
methodKind: "unary";
|
||||
input: typeof RotateAgentTokenRequestSchema;
|
||||
output: typeof RotateAgentTokenResponseSchema;
|
||||
},
|
||||
}> = /*@__PURE__*/
|
||||
serviceDesc(file_mantrae_v1_agent_management, 0);
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
// @generated by protoc-gen-es v2.5.2 with parameter "target=ts"
|
||||
// @generated by protoc-gen-es v2.2.3 with parameter "target=ts"
|
||||
// @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 type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv1";
|
||||
import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv1";
|
||||
import type { Timestamp } from "@bufbuild/protobuf/wkt";
|
||||
import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
|
||||
import type { Message } from "@bufbuild/protobuf";
|
||||
|
||||
278
web/src/lib/gen/mantrae/v1/backup_pb.ts
Normal file
278
web/src/lib/gen/mantrae/v1/backup_pb.ts
Normal file
@@ -0,0 +1,278 @@
|
||||
// @generated by protoc-gen-es v2.2.3 with parameter "target=ts"
|
||||
// @generated from file mantrae/v1/backup.proto (package mantrae.v1, syntax proto3)
|
||||
/* eslint-disable */
|
||||
|
||||
import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv1";
|
||||
import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv1";
|
||||
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("ChdtYW50cmFlL3YxL2JhY2t1cC5wcm90bxIKbWFudHJhZS52MSJUCgZCYWNrdXASDAoEbmFtZRgBIAEoCRIMCgRzaXplGAIgASgDEi4KCmNyZWF0ZWRfYXQYAyABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIhUKE0NyZWF0ZUJhY2t1cFJlcXVlc3QiFgoUQ3JlYXRlQmFja3VwUmVzcG9uc2UiJAoUUmVzdG9yZUJhY2t1cFJlcXVlc3QSDAoEbmFtZRgBIAEoCSIXChVSZXN0b3JlQmFja3VwUmVzcG9uc2UiFAoSTGlzdEJhY2t1cHNSZXF1ZXN0IjoKE0xpc3RCYWNrdXBzUmVzcG9uc2USIwoHYmFja3VwcxgBIAMoCzISLm1hbnRyYWUudjEuQmFja3VwIiMKE0RlbGV0ZUJhY2t1cFJlcXVlc3QSDAoEbmFtZRgBIAEoCSIWChREZWxldGVCYWNrdXBSZXNwb25zZSIlChVEb3dubG9hZEJhY2t1cFJlcXVlc3QSDAoEbmFtZRgBIAEoCSImChZEb3dubG9hZEJhY2t1cFJlc3BvbnNlEgwKBGRhdGEYASABKAwiIwoTVXBsb2FkQmFja3VwUmVxdWVzdBIMCgRkYXRhGAEgASgMIhYKFFVwbG9hZEJhY2t1cFJlc3BvbnNlMpAECg1CYWNrdXBTZXJ2aWNlElEKDENyZWF0ZUJhY2t1cBIfLm1hbnRyYWUudjEuQ3JlYXRlQmFja3VwUmVxdWVzdBogLm1hbnRyYWUudjEuQ3JlYXRlQmFja3VwUmVzcG9uc2USVAoNUmVzdG9yZUJhY2t1cBIgLm1hbnRyYWUudjEuUmVzdG9yZUJhY2t1cFJlcXVlc3QaIS5tYW50cmFlLnYxLlJlc3RvcmVCYWNrdXBSZXNwb25zZRJTCgtMaXN0QmFja3VwcxIeLm1hbnRyYWUudjEuTGlzdEJhY2t1cHNSZXF1ZXN0Gh8ubWFudHJhZS52MS5MaXN0QmFja3Vwc1Jlc3BvbnNlIgOQAgESUQoMRGVsZXRlQmFja3VwEh8ubWFudHJhZS52MS5EZWxldGVCYWNrdXBSZXF1ZXN0GiAubWFudHJhZS52MS5EZWxldGVCYWNrdXBSZXNwb25zZRJZCg5Eb3dubG9hZEJhY2t1cBIhLm1hbnRyYWUudjEuRG93bmxvYWRCYWNrdXBSZXF1ZXN0GiIubWFudHJhZS52MS5Eb3dubG9hZEJhY2t1cFJlc3BvbnNlMAESUwoMVXBsb2FkQmFja3VwEh8ubWFudHJhZS52MS5VcGxvYWRCYWNrdXBSZXF1ZXN0GiAubWFudHJhZS52MS5VcGxvYWRCYWNrdXBSZXNwb25zZSgBQqUBCg5jb20ubWFudHJhZS52MUILQmFja3VwUHJvdG9QAVo9Z2l0aHViLmNvbS9taXp1Y2hpbGFicy9tYW50cmFlL3Byb3RvL2dlbi9tYW50cmFlL3YxO21hbnRyYWV2MaICA01YWKoCCk1hbnRyYWUuVjHKAgpNYW50cmFlXFYx4gIWTWFudHJhZVxWMVxHUEJNZXRhZGF0YeoCC01hbnRyYWU6OlYxYgZwcm90bzM", [file_google_protobuf_timestamp]);
|
||||
|
||||
/**
|
||||
* @generated from message mantrae.v1.Backup
|
||||
*/
|
||||
export type Backup = Message<"mantrae.v1.Backup"> & {
|
||||
/**
|
||||
* @generated from field: string name = 1;
|
||||
*/
|
||||
name: string;
|
||||
|
||||
/**
|
||||
* @generated from field: int64 size = 2;
|
||||
*/
|
||||
size: bigint;
|
||||
|
||||
/**
|
||||
* @generated from field: google.protobuf.Timestamp created_at = 3;
|
||||
*/
|
||||
createdAt?: Timestamp;
|
||||
};
|
||||
|
||||
/**
|
||||
* Describes the message mantrae.v1.Backup.
|
||||
* Use `create(BackupSchema)` to create a new message.
|
||||
*/
|
||||
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"> & {
|
||||
};
|
||||
|
||||
/**
|
||||
* Describes the message mantrae.v1.CreateBackupRequest.
|
||||
* Use `create(CreateBackupRequestSchema)` to create a new message.
|
||||
*/
|
||||
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"> & {
|
||||
};
|
||||
|
||||
/**
|
||||
* Describes the message mantrae.v1.CreateBackupResponse.
|
||||
* Use `create(CreateBackupResponseSchema)` to create a new message.
|
||||
*/
|
||||
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"> & {
|
||||
/**
|
||||
* @generated from field: string name = 1;
|
||||
*/
|
||||
name: string;
|
||||
};
|
||||
|
||||
/**
|
||||
* Describes the message mantrae.v1.RestoreBackupRequest.
|
||||
* Use `create(RestoreBackupRequestSchema)` to create a new message.
|
||||
*/
|
||||
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"> & {
|
||||
};
|
||||
|
||||
/**
|
||||
* Describes the message mantrae.v1.RestoreBackupResponse.
|
||||
* Use `create(RestoreBackupResponseSchema)` to create a new message.
|
||||
*/
|
||||
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"> & {
|
||||
};
|
||||
|
||||
/**
|
||||
* Describes the message mantrae.v1.ListBackupsRequest.
|
||||
* Use `create(ListBackupsRequestSchema)` to create a new message.
|
||||
*/
|
||||
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"> & {
|
||||
/**
|
||||
* @generated from field: repeated mantrae.v1.Backup backups = 1;
|
||||
*/
|
||||
backups: Backup[];
|
||||
};
|
||||
|
||||
/**
|
||||
* Describes the message mantrae.v1.ListBackupsResponse.
|
||||
* Use `create(ListBackupsResponseSchema)` to create a new message.
|
||||
*/
|
||||
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"> & {
|
||||
/**
|
||||
* @generated from field: string name = 1;
|
||||
*/
|
||||
name: string;
|
||||
};
|
||||
|
||||
/**
|
||||
* Describes the message mantrae.v1.DeleteBackupRequest.
|
||||
* Use `create(DeleteBackupRequestSchema)` to create a new message.
|
||||
*/
|
||||
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"> & {
|
||||
};
|
||||
|
||||
/**
|
||||
* Describes the message mantrae.v1.DeleteBackupResponse.
|
||||
* Use `create(DeleteBackupResponseSchema)` to create a new message.
|
||||
*/
|
||||
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"> & {
|
||||
/**
|
||||
* @generated from field: string name = 1;
|
||||
*/
|
||||
name: string;
|
||||
};
|
||||
|
||||
/**
|
||||
* Describes the message mantrae.v1.DownloadBackupRequest.
|
||||
* Use `create(DownloadBackupRequestSchema)` to create a new message.
|
||||
*/
|
||||
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"> & {
|
||||
/**
|
||||
* @generated from field: bytes data = 1;
|
||||
*/
|
||||
data: Uint8Array;
|
||||
};
|
||||
|
||||
/**
|
||||
* Describes the message mantrae.v1.DownloadBackupResponse.
|
||||
* Use `create(DownloadBackupResponseSchema)` to create a new message.
|
||||
*/
|
||||
export const DownloadBackupResponseSchema: GenMessage<DownloadBackupResponse> = /*@__PURE__*/
|
||||
messageDesc(file_mantrae_v1_backup, 10);
|
||||
|
||||
/**
|
||||
* @generated from message mantrae.v1.UploadBackupRequest
|
||||
*/
|
||||
export type UploadBackupRequest = Message<"mantrae.v1.UploadBackupRequest"> & {
|
||||
/**
|
||||
* @generated from field: bytes data = 1;
|
||||
*/
|
||||
data: Uint8Array;
|
||||
};
|
||||
|
||||
/**
|
||||
* Describes the message mantrae.v1.UploadBackupRequest.
|
||||
* Use `create(UploadBackupRequestSchema)` to create a new message.
|
||||
*/
|
||||
export const UploadBackupRequestSchema: GenMessage<UploadBackupRequest> = /*@__PURE__*/
|
||||
messageDesc(file_mantrae_v1_backup, 11);
|
||||
|
||||
/**
|
||||
* @generated from message mantrae.v1.UploadBackupResponse
|
||||
*/
|
||||
export type UploadBackupResponse = Message<"mantrae.v1.UploadBackupResponse"> & {
|
||||
};
|
||||
|
||||
/**
|
||||
* Describes the message mantrae.v1.UploadBackupResponse.
|
||||
* Use `create(UploadBackupResponseSchema)` to create a new message.
|
||||
*/
|
||||
export const UploadBackupResponseSchema: GenMessage<UploadBackupResponse> = /*@__PURE__*/
|
||||
messageDesc(file_mantrae_v1_backup, 12);
|
||||
|
||||
/**
|
||||
* @generated from service mantrae.v1.BackupService
|
||||
*/
|
||||
export const BackupService: GenService<{
|
||||
/**
|
||||
* @generated from rpc mantrae.v1.BackupService.CreateBackup
|
||||
*/
|
||||
createBackup: {
|
||||
methodKind: "unary";
|
||||
input: typeof CreateBackupRequestSchema;
|
||||
output: typeof CreateBackupResponseSchema;
|
||||
},
|
||||
/**
|
||||
* @generated from rpc mantrae.v1.BackupService.RestoreBackup
|
||||
*/
|
||||
restoreBackup: {
|
||||
methodKind: "unary";
|
||||
input: typeof RestoreBackupRequestSchema;
|
||||
output: typeof RestoreBackupResponseSchema;
|
||||
},
|
||||
/**
|
||||
* @generated from rpc mantrae.v1.BackupService.ListBackups
|
||||
*/
|
||||
listBackups: {
|
||||
methodKind: "unary";
|
||||
input: typeof ListBackupsRequestSchema;
|
||||
output: typeof ListBackupsResponseSchema;
|
||||
},
|
||||
/**
|
||||
* @generated from rpc mantrae.v1.BackupService.DeleteBackup
|
||||
*/
|
||||
deleteBackup: {
|
||||
methodKind: "unary";
|
||||
input: typeof DeleteBackupRequestSchema;
|
||||
output: typeof DeleteBackupResponseSchema;
|
||||
},
|
||||
/**
|
||||
* @generated from rpc mantrae.v1.BackupService.DownloadBackup
|
||||
*/
|
||||
downloadBackup: {
|
||||
methodKind: "server_streaming";
|
||||
input: typeof DownloadBackupRequestSchema;
|
||||
output: typeof DownloadBackupResponseSchema;
|
||||
},
|
||||
/**
|
||||
* @generated from rpc mantrae.v1.BackupService.UploadBackup
|
||||
*/
|
||||
uploadBackup: {
|
||||
methodKind: "client_streaming";
|
||||
input: typeof UploadBackupRequestSchema;
|
||||
output: typeof UploadBackupResponseSchema;
|
||||
},
|
||||
}> = /*@__PURE__*/
|
||||
serviceDesc(file_mantrae_v1_backup, 0);
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
// @generated by protoc-gen-es v2.5.2 with parameter "target=ts"
|
||||
// @generated by protoc-gen-es v2.2.3 with parameter "target=ts"
|
||||
// @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 type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv1";
|
||||
import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv1";
|
||||
import type { Timestamp } from "@bufbuild/protobuf/wkt";
|
||||
import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
|
||||
import type { Message } from "@bufbuild/protobuf";
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
// @generated by protoc-gen-es v2.5.2 with parameter "target=ts"
|
||||
// @generated by protoc-gen-es v2.2.3 with parameter "target=ts"
|
||||
// @generated from file mantrae/v1/middleware.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 type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv1";
|
||||
import { enumDesc, fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv1";
|
||||
import type { Timestamp } from "@bufbuild/protobuf/wkt";
|
||||
import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
|
||||
import type { Message } from "@bufbuild/protobuf";
|
||||
@@ -12,7 +12,7 @@ import type { Message } from "@bufbuild/protobuf";
|
||||
* Describes the file mantrae/v1/middleware.proto.
|
||||
*/
|
||||
export const file_mantrae_v1_middleware: GenFile = /*@__PURE__*/
|
||||
fileDesc("ChttYW50cmFlL3YxL21pZGRsZXdhcmUucHJvdG8SCm1hbnRyYWUudjEi5AEKCk1pZGRsZXdhcmUSCgoCaWQYASABKAMSEgoKcHJvZmlsZV9pZBgCIAEoAxIMCgRuYW1lGAMgASgJEg4KBmNvbmZpZxgEIAEoCRIOCgZzb3VyY2UYBSABKAkSKAoEdHlwZRgGIAEoDjIaLm1hbnRyYWUudjEuTWlkZGxld2FyZVR5cGUSLgoKY3JlYXRlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiTAoUR2V0TWlkZGxld2FyZVJlcXVlc3QSCgoCaWQYASABKAMSKAoEdHlwZRgCIAEoDjIaLm1hbnRyYWUudjEuTWlkZGxld2FyZVR5cGUiQwoVR2V0TWlkZGxld2FyZVJlc3BvbnNlEioKCm1pZGRsZXdhcmUYASABKAsyFi5tYW50cmFlLnYxLk1pZGRsZXdhcmUihQEKF0NyZWF0ZU1pZGRsZXdhcmVSZXF1ZXN0EhIKCnByb2ZpbGVfaWQYASABKAMSDAoEbmFtZRgCIAEoCRIOCgZjb25maWcYAyABKAkSDgoGc291cmNlGAQgASgJEigKBHR5cGUYBSABKA4yGi5tYW50cmFlLnYxLk1pZGRsZXdhcmVUeXBlIkYKGENyZWF0ZU1pZGRsZXdhcmVSZXNwb25zZRIqCgptaWRkbGV3YXJlGAEgASgLMhYubWFudHJhZS52MS5NaWRkbGV3YXJlIn0KF1VwZGF0ZU1pZGRsZXdhcmVSZXF1ZXN0EgoKAmlkGAEgASgDEgwKBG5hbWUYAiABKAkSDgoGY29uZmlnGAMgASgJEg4KBnNvdXJjZRgEIAEoCRIoCgR0eXBlGAUgASgOMhoubWFudHJhZS52MS5NaWRkbGV3YXJlVHlwZSJGChhVcGRhdGVNaWRkbGV3YXJlUmVzcG9uc2USKgoKbWlkZGxld2FyZRgBIAEoCzIWLm1hbnRyYWUudjEuTWlkZGxld2FyZSIlChdEZWxldGVNaWRkbGV3YXJlUmVxdWVzdBIKCgJpZBgBIAEoAyIaChhEZWxldGVNaWRkbGV3YXJlUmVzcG9uc2UigAEKFkxpc3RNaWRkbGV3YXJlc1JlcXVlc3QSKAoEdHlwZRgBIAEoDjIaLm1hbnRyYWUudjEuTWlkZGxld2FyZVR5cGUSEgoFbGltaXQYAiABKANIAIgBARITCgZvZmZzZXQYAyABKANIAYgBAUIICgZfbGltaXRCCQoHX29mZnNldCJbChdMaXN0TWlkZGxld2FyZXNSZXNwb25zZRIrCgttaWRkbGV3YXJlcxgBIAMoCzIWLm1hbnRyYWUudjEuTWlkZGxld2FyZRITCgt0b3RhbF9jb3VudBgCIAEoAypkCg5NaWRkbGV3YXJlVHlwZRIfChtNSURETEVXQVJFX1RZUEVfVU5TUEVDSUZJRUQQABIYChRNSURETEVXQVJFX1RZUEVfSFRUUBABEhcKE01JRERMRVdBUkVfVFlQRV9UQ1AQAjLsAwoRTWlkZGxld2FyZVNlcnZpY2USWQoNR2V0TWlkZGxld2FyZRIgLm1hbnRyYWUudjEuR2V0TWlkZGxld2FyZVJlcXVlc3QaIS5tYW50cmFlLnYxLkdldE1pZGRsZXdhcmVSZXNwb25zZSIDkAIBEl0KEENyZWF0ZU1pZGRsZXdhcmUSIy5tYW50cmFlLnYxLkNyZWF0ZU1pZGRsZXdhcmVSZXF1ZXN0GiQubWFudHJhZS52MS5DcmVhdGVNaWRkbGV3YXJlUmVzcG9uc2USXQoQVXBkYXRlTWlkZGxld2FyZRIjLm1hbnRyYWUudjEuVXBkYXRlTWlkZGxld2FyZVJlcXVlc3QaJC5tYW50cmFlLnYxLlVwZGF0ZU1pZGRsZXdhcmVSZXNwb25zZRJdChBEZWxldGVNaWRkbGV3YXJlEiMubWFudHJhZS52MS5EZWxldGVNaWRkbGV3YXJlUmVxdWVzdBokLm1hbnRyYWUudjEuRGVsZXRlTWlkZGxld2FyZVJlc3BvbnNlEl8KD0xpc3RNaWRkbGV3YXJlcxIiLm1hbnRyYWUudjEuTGlzdE1pZGRsZXdhcmVzUmVxdWVzdBojLm1hbnRyYWUudjEuTGlzdE1pZGRsZXdhcmVzUmVzcG9uc2UiA5ACAUKpAQoOY29tLm1hbnRyYWUudjFCD01pZGRsZXdhcmVQcm90b1ABWj1naXRodWIuY29tL21penVjaGlsYWJzL21hbnRyYWUvcHJvdG8vZ2VuL21hbnRyYWUvdjE7bWFudHJhZXYxogIDTVhYqgIKTWFudHJhZS5WMcoCCk1hbnRyYWVcVjHiAhZNYW50cmFlXFYxXEdQQk1ldGFkYXRh6gILTWFudHJhZTo6VjFiBnByb3RvMw", [file_google_protobuf_timestamp]);
|
||||
fileDesc("ChttYW50cmFlL3YxL21pZGRsZXdhcmUucHJvdG8SCm1hbnRyYWUudjEi5gEKCk1pZGRsZXdhcmUSCgoCaWQYASABKAMSEgoKcHJvZmlsZV9pZBgCIAEoAxIQCghhZ2VudF9pZBgDIAEoCRIMCgRuYW1lGAQgASgJEg4KBmNvbmZpZxgFIAEoCRIoCgR0eXBlGAYgASgOMhoubWFudHJhZS52MS5NaWRkbGV3YXJlVHlwZRIuCgpjcmVhdGVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCKmAgoGUGx1Z2luEgoKAmlkGAEgASgJEgwKBG5hbWUYAiABKAkSFAoMZGlzcGxheV9uYW1lGAMgASgJEg4KBmF1dGhvchgEIAEoCRIMCgR0eXBlGAUgASgJEg4KBmltcG9ydBgGIAEoCRIPCgdzdW1tYXJ5GAcgASgJEhAKCGljb25fdXJsGAggASgJEhIKCmJhbm5lcl91cmwYCSABKAkSDgoGcmVhZG1lGAogASgJEhYKDmxhdGVzdF92ZXJzaW9uGAsgASgJEhAKCHZlcnNpb25zGAwgAygJEg0KBXN0YXJzGA0gASgDEioKB3NuaXBwZXQYDiABKAsyGS5tYW50cmFlLnYxLlBsdWdpblNuaXBwZXQSEgoKY3JlYXRlZF9hdBgPIAEoCSIdCg1QbHVnaW5TbmlwcGV0EgwKBHlhbWwYASABKAkiTAoUR2V0TWlkZGxld2FyZVJlcXVlc3QSCgoCaWQYASABKAMSKAoEdHlwZRgCIAEoDjIaLm1hbnRyYWUudjEuTWlkZGxld2FyZVR5cGUiQwoVR2V0TWlkZGxld2FyZVJlc3BvbnNlEioKCm1pZGRsZXdhcmUYASABKAsyFi5tYW50cmFlLnYxLk1pZGRsZXdhcmUihwEKF0NyZWF0ZU1pZGRsZXdhcmVSZXF1ZXN0EhIKCnByb2ZpbGVfaWQYASABKAMSEAoIYWdlbnRfaWQYAiABKAkSDAoEbmFtZRgDIAEoCRIOCgZjb25maWcYBCABKAkSKAoEdHlwZRgFIAEoDjIaLm1hbnRyYWUudjEuTWlkZGxld2FyZVR5cGUiRgoYQ3JlYXRlTWlkZGxld2FyZVJlc3BvbnNlEioKCm1pZGRsZXdhcmUYASABKAsyFi5tYW50cmFlLnYxLk1pZGRsZXdhcmUibQoXVXBkYXRlTWlkZGxld2FyZVJlcXVlc3QSCgoCaWQYASABKAMSDAoEbmFtZRgCIAEoCRIOCgZjb25maWcYAyABKAkSKAoEdHlwZRgEIAEoDjIaLm1hbnRyYWUudjEuTWlkZGxld2FyZVR5cGUiRgoYVXBkYXRlTWlkZGxld2FyZVJlc3BvbnNlEioKCm1pZGRsZXdhcmUYASABKAsyFi5tYW50cmFlLnYxLk1pZGRsZXdhcmUiJQoXRGVsZXRlTWlkZGxld2FyZVJlcXVlc3QSCgoCaWQYASABKAMiGgoYRGVsZXRlTWlkZGxld2FyZVJlc3BvbnNlIoABChZMaXN0TWlkZGxld2FyZXNSZXF1ZXN0EigKBHR5cGUYASABKA4yGi5tYW50cmFlLnYxLk1pZGRsZXdhcmVUeXBlEhIKBWxpbWl0GAIgASgDSACIAQESEwoGb2Zmc2V0GAMgASgDSAGIAQFCCAoGX2xpbWl0QgkKB19vZmZzZXQiWwoXTGlzdE1pZGRsZXdhcmVzUmVzcG9uc2USKwoLbWlkZGxld2FyZXMYASADKAsyFi5tYW50cmFlLnYxLk1pZGRsZXdhcmUSEwoLdG90YWxfY291bnQYAiABKAMiHQobR2V0TWlkZGxld2FyZVBsdWdpbnNSZXF1ZXN0IkMKHEdldE1pZGRsZXdhcmVQbHVnaW5zUmVzcG9uc2USIwoHcGx1Z2lucxgBIAMoCzISLm1hbnRyYWUudjEuUGx1Z2luKmQKDk1pZGRsZXdhcmVUeXBlEh8KG01JRERMRVdBUkVfVFlQRV9VTlNQRUNJRklFRBAAEhgKFE1JRERMRVdBUkVfVFlQRV9IVFRQEAESFwoTTUlERExFV0FSRV9UWVBFX1RDUBACMtwEChFNaWRkbGV3YXJlU2VydmljZRJZCg1HZXRNaWRkbGV3YXJlEiAubWFudHJhZS52MS5HZXRNaWRkbGV3YXJlUmVxdWVzdBohLm1hbnRyYWUudjEuR2V0TWlkZGxld2FyZVJlc3BvbnNlIgOQAgESXQoQQ3JlYXRlTWlkZGxld2FyZRIjLm1hbnRyYWUudjEuQ3JlYXRlTWlkZGxld2FyZVJlcXVlc3QaJC5tYW50cmFlLnYxLkNyZWF0ZU1pZGRsZXdhcmVSZXNwb25zZRJdChBVcGRhdGVNaWRkbGV3YXJlEiMubWFudHJhZS52MS5VcGRhdGVNaWRkbGV3YXJlUmVxdWVzdBokLm1hbnRyYWUudjEuVXBkYXRlTWlkZGxld2FyZVJlc3BvbnNlEl0KEERlbGV0ZU1pZGRsZXdhcmUSIy5tYW50cmFlLnYxLkRlbGV0ZU1pZGRsZXdhcmVSZXF1ZXN0GiQubWFudHJhZS52MS5EZWxldGVNaWRkbGV3YXJlUmVzcG9uc2USXwoPTGlzdE1pZGRsZXdhcmVzEiIubWFudHJhZS52MS5MaXN0TWlkZGxld2FyZXNSZXF1ZXN0GiMubWFudHJhZS52MS5MaXN0TWlkZGxld2FyZXNSZXNwb25zZSIDkAIBEm4KFEdldE1pZGRsZXdhcmVQbHVnaW5zEicubWFudHJhZS52MS5HZXRNaWRkbGV3YXJlUGx1Z2luc1JlcXVlc3QaKC5tYW50cmFlLnYxLkdldE1pZGRsZXdhcmVQbHVnaW5zUmVzcG9uc2UiA5ACAUKpAQoOY29tLm1hbnRyYWUudjFCD01pZGRsZXdhcmVQcm90b1ABWj1naXRodWIuY29tL21penVjaGlsYWJzL21hbnRyYWUvcHJvdG8vZ2VuL21hbnRyYWUvdjE7bWFudHJhZXYxogIDTVhYqgIKTWFudHJhZS5WMcoCCk1hbnRyYWVcVjHiAhZNYW50cmFlXFYxXEdQQk1ldGFkYXRh6gILTWFudHJhZTo6VjFiBnByb3RvMw", [file_google_protobuf_timestamp]);
|
||||
|
||||
/**
|
||||
* @generated from message mantrae.v1.Middleware
|
||||
@@ -29,20 +29,20 @@ export type Middleware = Message<"mantrae.v1.Middleware"> & {
|
||||
profileId: bigint;
|
||||
|
||||
/**
|
||||
* @generated from field: string name = 3;
|
||||
* @generated from field: string agent_id = 3;
|
||||
*/
|
||||
agentId: string;
|
||||
|
||||
/**
|
||||
* @generated from field: string name = 4;
|
||||
*/
|
||||
name: string;
|
||||
|
||||
/**
|
||||
* @generated from field: string config = 4;
|
||||
* @generated from field: string config = 5;
|
||||
*/
|
||||
config: string;
|
||||
|
||||
/**
|
||||
* @generated from field: string source = 5;
|
||||
*/
|
||||
source: string;
|
||||
|
||||
/**
|
||||
* @generated from field: mantrae.v1.MiddlewareType type = 6;
|
||||
*/
|
||||
@@ -66,6 +66,110 @@ export type Middleware = Message<"mantrae.v1.Middleware"> & {
|
||||
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"> & {
|
||||
/**
|
||||
* @generated from field: string id = 1;
|
||||
*/
|
||||
id: string;
|
||||
|
||||
/**
|
||||
* @generated from field: string name = 2;
|
||||
*/
|
||||
name: string;
|
||||
|
||||
/**
|
||||
* @generated from field: string display_name = 3;
|
||||
*/
|
||||
displayName: string;
|
||||
|
||||
/**
|
||||
* @generated from field: string author = 4;
|
||||
*/
|
||||
author: string;
|
||||
|
||||
/**
|
||||
* @generated from field: string type = 5;
|
||||
*/
|
||||
type: string;
|
||||
|
||||
/**
|
||||
* @generated from field: string import = 6;
|
||||
*/
|
||||
import: string;
|
||||
|
||||
/**
|
||||
* @generated from field: string summary = 7;
|
||||
*/
|
||||
summary: string;
|
||||
|
||||
/**
|
||||
* @generated from field: string icon_url = 8;
|
||||
*/
|
||||
iconUrl: string;
|
||||
|
||||
/**
|
||||
* @generated from field: string banner_url = 9;
|
||||
*/
|
||||
bannerUrl: string;
|
||||
|
||||
/**
|
||||
* @generated from field: string readme = 10;
|
||||
*/
|
||||
readme: string;
|
||||
|
||||
/**
|
||||
* @generated from field: string latest_version = 11;
|
||||
*/
|
||||
latestVersion: string;
|
||||
|
||||
/**
|
||||
* @generated from field: repeated string versions = 12;
|
||||
*/
|
||||
versions: string[];
|
||||
|
||||
/**
|
||||
* @generated from field: int64 stars = 13;
|
||||
*/
|
||||
stars: bigint;
|
||||
|
||||
/**
|
||||
* @generated from field: mantrae.v1.PluginSnippet snippet = 14;
|
||||
*/
|
||||
snippet?: PluginSnippet;
|
||||
|
||||
/**
|
||||
* @generated from field: string created_at = 15;
|
||||
*/
|
||||
createdAt: string;
|
||||
};
|
||||
|
||||
/**
|
||||
* Describes the message mantrae.v1.Plugin.
|
||||
* Use `create(PluginSchema)` to create a new message.
|
||||
*/
|
||||
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"> & {
|
||||
/**
|
||||
* @generated from field: string yaml = 1;
|
||||
*/
|
||||
yaml: string;
|
||||
};
|
||||
|
||||
/**
|
||||
* Describes the message mantrae.v1.PluginSnippet.
|
||||
* Use `create(PluginSnippetSchema)` to create a new message.
|
||||
*/
|
||||
export const PluginSnippetSchema: GenMessage<PluginSnippet> = /*@__PURE__*/
|
||||
messageDesc(file_mantrae_v1_middleware, 2);
|
||||
|
||||
/**
|
||||
* @generated from message mantrae.v1.GetMiddlewareRequest
|
||||
*/
|
||||
@@ -86,7 +190,7 @@ export type GetMiddlewareRequest = Message<"mantrae.v1.GetMiddlewareRequest"> &
|
||||
* Use `create(GetMiddlewareRequestSchema)` to create a new message.
|
||||
*/
|
||||
export const GetMiddlewareRequestSchema: GenMessage<GetMiddlewareRequest> = /*@__PURE__*/
|
||||
messageDesc(file_mantrae_v1_middleware, 1);
|
||||
messageDesc(file_mantrae_v1_middleware, 3);
|
||||
|
||||
/**
|
||||
* @generated from message mantrae.v1.GetMiddlewareResponse
|
||||
@@ -103,7 +207,7 @@ export type GetMiddlewareResponse = Message<"mantrae.v1.GetMiddlewareResponse">
|
||||
* Use `create(GetMiddlewareResponseSchema)` to create a new message.
|
||||
*/
|
||||
export const GetMiddlewareResponseSchema: GenMessage<GetMiddlewareResponse> = /*@__PURE__*/
|
||||
messageDesc(file_mantrae_v1_middleware, 2);
|
||||
messageDesc(file_mantrae_v1_middleware, 4);
|
||||
|
||||
/**
|
||||
* @generated from message mantrae.v1.CreateMiddlewareRequest
|
||||
@@ -115,20 +219,20 @@ export type CreateMiddlewareRequest = Message<"mantrae.v1.CreateMiddlewareReques
|
||||
profileId: bigint;
|
||||
|
||||
/**
|
||||
* @generated from field: string name = 2;
|
||||
* @generated from field: string agent_id = 2;
|
||||
*/
|
||||
agentId: string;
|
||||
|
||||
/**
|
||||
* @generated from field: string name = 3;
|
||||
*/
|
||||
name: string;
|
||||
|
||||
/**
|
||||
* @generated from field: string config = 3;
|
||||
* @generated from field: string config = 4;
|
||||
*/
|
||||
config: string;
|
||||
|
||||
/**
|
||||
* @generated from field: string source = 4;
|
||||
*/
|
||||
source: string;
|
||||
|
||||
/**
|
||||
* @generated from field: mantrae.v1.MiddlewareType type = 5;
|
||||
*/
|
||||
@@ -140,7 +244,7 @@ export type CreateMiddlewareRequest = Message<"mantrae.v1.CreateMiddlewareReques
|
||||
* Use `create(CreateMiddlewareRequestSchema)` to create a new message.
|
||||
*/
|
||||
export const CreateMiddlewareRequestSchema: GenMessage<CreateMiddlewareRequest> = /*@__PURE__*/
|
||||
messageDesc(file_mantrae_v1_middleware, 3);
|
||||
messageDesc(file_mantrae_v1_middleware, 5);
|
||||
|
||||
/**
|
||||
* @generated from message mantrae.v1.CreateMiddlewareResponse
|
||||
@@ -157,7 +261,7 @@ export type CreateMiddlewareResponse = Message<"mantrae.v1.CreateMiddlewareRespo
|
||||
* Use `create(CreateMiddlewareResponseSchema)` to create a new message.
|
||||
*/
|
||||
export const CreateMiddlewareResponseSchema: GenMessage<CreateMiddlewareResponse> = /*@__PURE__*/
|
||||
messageDesc(file_mantrae_v1_middleware, 4);
|
||||
messageDesc(file_mantrae_v1_middleware, 6);
|
||||
|
||||
/**
|
||||
* @generated from message mantrae.v1.UpdateMiddlewareRequest
|
||||
@@ -179,12 +283,7 @@ export type UpdateMiddlewareRequest = Message<"mantrae.v1.UpdateMiddlewareReques
|
||||
config: string;
|
||||
|
||||
/**
|
||||
* @generated from field: string source = 4;
|
||||
*/
|
||||
source: string;
|
||||
|
||||
/**
|
||||
* @generated from field: mantrae.v1.MiddlewareType type = 5;
|
||||
* @generated from field: mantrae.v1.MiddlewareType type = 4;
|
||||
*/
|
||||
type: MiddlewareType;
|
||||
};
|
||||
@@ -194,7 +293,7 @@ export type UpdateMiddlewareRequest = Message<"mantrae.v1.UpdateMiddlewareReques
|
||||
* Use `create(UpdateMiddlewareRequestSchema)` to create a new message.
|
||||
*/
|
||||
export const UpdateMiddlewareRequestSchema: GenMessage<UpdateMiddlewareRequest> = /*@__PURE__*/
|
||||
messageDesc(file_mantrae_v1_middleware, 5);
|
||||
messageDesc(file_mantrae_v1_middleware, 7);
|
||||
|
||||
/**
|
||||
* @generated from message mantrae.v1.UpdateMiddlewareResponse
|
||||
@@ -211,7 +310,7 @@ export type UpdateMiddlewareResponse = Message<"mantrae.v1.UpdateMiddlewareRespo
|
||||
* Use `create(UpdateMiddlewareResponseSchema)` to create a new message.
|
||||
*/
|
||||
export const UpdateMiddlewareResponseSchema: GenMessage<UpdateMiddlewareResponse> = /*@__PURE__*/
|
||||
messageDesc(file_mantrae_v1_middleware, 6);
|
||||
messageDesc(file_mantrae_v1_middleware, 8);
|
||||
|
||||
/**
|
||||
* @generated from message mantrae.v1.DeleteMiddlewareRequest
|
||||
@@ -228,7 +327,7 @@ export type DeleteMiddlewareRequest = Message<"mantrae.v1.DeleteMiddlewareReques
|
||||
* Use `create(DeleteMiddlewareRequestSchema)` to create a new message.
|
||||
*/
|
||||
export const DeleteMiddlewareRequestSchema: GenMessage<DeleteMiddlewareRequest> = /*@__PURE__*/
|
||||
messageDesc(file_mantrae_v1_middleware, 7);
|
||||
messageDesc(file_mantrae_v1_middleware, 9);
|
||||
|
||||
/**
|
||||
* @generated from message mantrae.v1.DeleteMiddlewareResponse
|
||||
@@ -241,7 +340,7 @@ export type DeleteMiddlewareResponse = Message<"mantrae.v1.DeleteMiddlewareRespo
|
||||
* Use `create(DeleteMiddlewareResponseSchema)` to create a new message.
|
||||
*/
|
||||
export const DeleteMiddlewareResponseSchema: GenMessage<DeleteMiddlewareResponse> = /*@__PURE__*/
|
||||
messageDesc(file_mantrae_v1_middleware, 8);
|
||||
messageDesc(file_mantrae_v1_middleware, 10);
|
||||
|
||||
/**
|
||||
* @generated from message mantrae.v1.ListMiddlewaresRequest
|
||||
@@ -268,7 +367,7 @@ export type ListMiddlewaresRequest = Message<"mantrae.v1.ListMiddlewaresRequest"
|
||||
* Use `create(ListMiddlewaresRequestSchema)` to create a new message.
|
||||
*/
|
||||
export const ListMiddlewaresRequestSchema: GenMessage<ListMiddlewaresRequest> = /*@__PURE__*/
|
||||
messageDesc(file_mantrae_v1_middleware, 9);
|
||||
messageDesc(file_mantrae_v1_middleware, 11);
|
||||
|
||||
/**
|
||||
* @generated from message mantrae.v1.ListMiddlewaresResponse
|
||||
@@ -290,7 +389,37 @@ export type ListMiddlewaresResponse = Message<"mantrae.v1.ListMiddlewaresRespons
|
||||
* Use `create(ListMiddlewaresResponseSchema)` to create a new message.
|
||||
*/
|
||||
export const ListMiddlewaresResponseSchema: GenMessage<ListMiddlewaresResponse> = /*@__PURE__*/
|
||||
messageDesc(file_mantrae_v1_middleware, 10);
|
||||
messageDesc(file_mantrae_v1_middleware, 12);
|
||||
|
||||
/**
|
||||
* @generated from 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__*/
|
||||
messageDesc(file_mantrae_v1_middleware, 13);
|
||||
|
||||
/**
|
||||
* @generated from message mantrae.v1.GetMiddlewarePluginsResponse
|
||||
*/
|
||||
export type GetMiddlewarePluginsResponse = Message<"mantrae.v1.GetMiddlewarePluginsResponse"> & {
|
||||
/**
|
||||
* @generated from field: repeated mantrae.v1.Plugin plugins = 1;
|
||||
*/
|
||||
plugins: Plugin[];
|
||||
};
|
||||
|
||||
/**
|
||||
* Describes the message mantrae.v1.GetMiddlewarePluginsResponse.
|
||||
* Use `create(GetMiddlewarePluginsResponseSchema)` to create a new message.
|
||||
*/
|
||||
export const GetMiddlewarePluginsResponseSchema: GenMessage<GetMiddlewarePluginsResponse> = /*@__PURE__*/
|
||||
messageDesc(file_mantrae_v1_middleware, 14);
|
||||
|
||||
/**
|
||||
* @generated from enum mantrae.v1.MiddlewareType
|
||||
@@ -362,6 +491,14 @@ export const MiddlewareService: GenService<{
|
||||
input: typeof ListMiddlewaresRequestSchema;
|
||||
output: typeof ListMiddlewaresResponseSchema;
|
||||
},
|
||||
/**
|
||||
* @generated from rpc mantrae.v1.MiddlewareService.GetMiddlewarePlugins
|
||||
*/
|
||||
getMiddlewarePlugins: {
|
||||
methodKind: "unary";
|
||||
input: typeof GetMiddlewarePluginsRequestSchema;
|
||||
output: typeof GetMiddlewarePluginsResponseSchema;
|
||||
},
|
||||
}> = /*@__PURE__*/
|
||||
serviceDesc(file_mantrae_v1_middleware, 0);
|
||||
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
// @generated by protoc-gen-es v2.5.2 with parameter "target=ts"
|
||||
// @generated by protoc-gen-es v2.2.3 with parameter "target=ts"
|
||||
// @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 type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv1";
|
||||
import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv1";
|
||||
import type { Timestamp } from "@bufbuild/protobuf/wkt";
|
||||
import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
|
||||
import type { Message } from "@bufbuild/protobuf";
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
// @generated by protoc-gen-es v2.5.2 with parameter "target=ts"
|
||||
// @generated by protoc-gen-es v2.2.3 with parameter "target=ts"
|
||||
// @generated from file mantrae/v1/router.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 type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv1";
|
||||
import { enumDesc, fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv1";
|
||||
import type { Timestamp } from "@bufbuild/protobuf/wkt";
|
||||
import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
|
||||
import type { Message } from "@bufbuild/protobuf";
|
||||
@@ -12,7 +12,7 @@ import type { Message } from "@bufbuild/protobuf";
|
||||
* Describes the file mantrae/v1/router.proto.
|
||||
*/
|
||||
export const file_mantrae_v1_router: GenFile = /*@__PURE__*/
|
||||
fileDesc("ChdtYW50cmFlL3YxL3JvdXRlci5wcm90bxIKbWFudHJhZS52MSLtAQoGUm91dGVyEgoKAmlkGAEgASgDEhIKCnByb2ZpbGVfaWQYAiABKAMSDAoEbmFtZRgDIAEoCRIOCgZjb25maWcYBCABKAkSDgoGc291cmNlGAUgASgJEg8KB2VuYWJsZWQYBiABKAgSJAoEdHlwZRgHIAEoDjIWLm1hbnRyYWUudjEuUm91dGVyVHlwZRIuCgpjcmVhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAkgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJEChBHZXRSb3V0ZXJSZXF1ZXN0EgoKAmlkGAEgASgDEiQKBHR5cGUYAiABKA4yFi5tYW50cmFlLnYxLlJvdXRlclR5cGUiNwoRR2V0Um91dGVyUmVzcG9uc2USIgoGcm91dGVyGAEgASgLMhIubWFudHJhZS52MS5Sb3V0ZXIijgEKE0NyZWF0ZVJvdXRlclJlcXVlc3QSEgoKcHJvZmlsZV9pZBgBIAEoAxIMCgRuYW1lGAIgASgJEg4KBmNvbmZpZxgDIAEoCRIOCgZzb3VyY2UYBCABKAkSDwoHZW5hYmxlZBgFIAEoCBIkCgR0eXBlGAYgASgOMhYubWFudHJhZS52MS5Sb3V0ZXJUeXBlIjoKFENyZWF0ZVJvdXRlclJlc3BvbnNlEiIKBnJvdXRlchgBIAEoCzISLm1hbnRyYWUudjEuUm91dGVyIoYBChNVcGRhdGVSb3V0ZXJSZXF1ZXN0EgoKAmlkGAEgASgDEgwKBG5hbWUYAiABKAkSDgoGY29uZmlnGAMgASgJEg4KBnNvdXJjZRgEIAEoCRIPCgdlbmFibGVkGAUgASgIEiQKBHR5cGUYBiABKA4yFi5tYW50cmFlLnYxLlJvdXRlclR5cGUiOgoUVXBkYXRlUm91dGVyUmVzcG9uc2USIgoGcm91dGVyGAEgASgLMhIubWFudHJhZS52MS5Sb3V0ZXIiIQoTRGVsZXRlUm91dGVyUmVxdWVzdBIKCgJpZBgBIAEoAyIWChREZWxldGVSb3V0ZXJSZXNwb25zZSJ4ChJMaXN0Um91dGVyc1JlcXVlc3QSJAoEdHlwZRgBIAEoDjIWLm1hbnRyYWUudjEuUm91dGVyVHlwZRISCgVsaW1pdBgCIAEoA0gAiAEBEhMKBm9mZnNldBgDIAEoA0gBiAEBQggKBl9saW1pdEIJCgdfb2Zmc2V0Ik8KE0xpc3RSb3V0ZXJzUmVzcG9uc2USIwoHcm91dGVycxgBIAMoCzISLm1hbnRyYWUudjEuUm91dGVyEhMKC3RvdGFsX2NvdW50GAIgASgDKmkKClJvdXRlclR5cGUSGwoXUk9VVEVSX1RZUEVfVU5TUEVDSUZJRUQQABIUChBST1VURVJfVFlQRV9IVFRQEAESEwoPUk9VVEVSX1RZUEVfVENQEAISEwoPUk9VVEVSX1RZUEVfVURQEAMyrAMKDVJvdXRlclNlcnZpY2USTQoJR2V0Um91dGVyEhwubWFudHJhZS52MS5HZXRSb3V0ZXJSZXF1ZXN0Gh0ubWFudHJhZS52MS5HZXRSb3V0ZXJSZXNwb25zZSIDkAIBElEKDENyZWF0ZVJvdXRlchIfLm1hbnRyYWUudjEuQ3JlYXRlUm91dGVyUmVxdWVzdBogLm1hbnRyYWUudjEuQ3JlYXRlUm91dGVyUmVzcG9uc2USUQoMVXBkYXRlUm91dGVyEh8ubWFudHJhZS52MS5VcGRhdGVSb3V0ZXJSZXF1ZXN0GiAubWFudHJhZS52MS5VcGRhdGVSb3V0ZXJSZXNwb25zZRJRCgxEZWxldGVSb3V0ZXISHy5tYW50cmFlLnYxLkRlbGV0ZVJvdXRlclJlcXVlc3QaIC5tYW50cmFlLnYxLkRlbGV0ZVJvdXRlclJlc3BvbnNlElMKC0xpc3RSb3V0ZXJzEh4ubWFudHJhZS52MS5MaXN0Um91dGVyc1JlcXVlc3QaHy5tYW50cmFlLnYxLkxpc3RSb3V0ZXJzUmVzcG9uc2UiA5ACAUKlAQoOY29tLm1hbnRyYWUudjFCC1JvdXRlclByb3RvUAFaPWdpdGh1Yi5jb20vbWl6dWNoaWxhYnMvbWFudHJhZS9wcm90by9nZW4vbWFudHJhZS92MTttYW50cmFldjGiAgNNWFiqAgpNYW50cmFlLlYxygIKTWFudHJhZVxWMeICFk1hbnRyYWVcVjFcR1BCTWV0YWRhdGHqAgtNYW50cmFlOjpWMWIGcHJvdG8z", [file_google_protobuf_timestamp]);
|
||||
fileDesc("ChdtYW50cmFlL3YxL3JvdXRlci5wcm90bxIKbWFudHJhZS52MSLvAQoGUm91dGVyEgoKAmlkGAEgASgDEhIKCnByb2ZpbGVfaWQYAiABKAMSEAoIYWdlbnRfaWQYAyABKAkSDAoEbmFtZRgEIAEoCRIOCgZjb25maWcYBSABKAkSDwoHZW5hYmxlZBgGIAEoCBIkCgR0eXBlGAcgASgOMhYubWFudHJhZS52MS5Sb3V0ZXJUeXBlEi4KCmNyZWF0ZWRfYXQYCCABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wEi4KCnVwZGF0ZWRfYXQYCSABKAsyGi5nb29nbGUucHJvdG9idWYuVGltZXN0YW1wIkQKEEdldFJvdXRlclJlcXVlc3QSCgoCaWQYASABKAMSJAoEdHlwZRgCIAEoDjIWLm1hbnRyYWUudjEuUm91dGVyVHlwZSI3ChFHZXRSb3V0ZXJSZXNwb25zZRIiCgZyb3V0ZXIYASABKAsyEi5tYW50cmFlLnYxLlJvdXRlciKQAQoTQ3JlYXRlUm91dGVyUmVxdWVzdBISCgpwcm9maWxlX2lkGAEgASgDEhAKCGFnZW50X2lkGAIgASgJEgwKBG5hbWUYAyABKAkSDgoGY29uZmlnGAQgASgJEg8KB2VuYWJsZWQYBSABKAgSJAoEdHlwZRgGIAEoDjIWLm1hbnRyYWUudjEuUm91dGVyVHlwZSI6ChRDcmVhdGVSb3V0ZXJSZXNwb25zZRIiCgZyb3V0ZXIYASABKAsyEi5tYW50cmFlLnYxLlJvdXRlciJ2ChNVcGRhdGVSb3V0ZXJSZXF1ZXN0EgoKAmlkGAEgASgDEgwKBG5hbWUYAiABKAkSDgoGY29uZmlnGAMgASgJEg8KB2VuYWJsZWQYBCABKAgSJAoEdHlwZRgFIAEoDjIWLm1hbnRyYWUudjEuUm91dGVyVHlwZSI6ChRVcGRhdGVSb3V0ZXJSZXNwb25zZRIiCgZyb3V0ZXIYASABKAsyEi5tYW50cmFlLnYxLlJvdXRlciIhChNEZWxldGVSb3V0ZXJSZXF1ZXN0EgoKAmlkGAEgASgDIhYKFERlbGV0ZVJvdXRlclJlc3BvbnNlIngKEkxpc3RSb3V0ZXJzUmVxdWVzdBIkCgR0eXBlGAEgASgOMhYubWFudHJhZS52MS5Sb3V0ZXJUeXBlEhIKBWxpbWl0GAIgASgDSACIAQESEwoGb2Zmc2V0GAMgASgDSAGIAQFCCAoGX2xpbWl0QgkKB19vZmZzZXQiTwoTTGlzdFJvdXRlcnNSZXNwb25zZRIjCgdyb3V0ZXJzGAEgAygLMhIubWFudHJhZS52MS5Sb3V0ZXISEwoLdG90YWxfY291bnQYAiABKAMqaQoKUm91dGVyVHlwZRIbChdST1VURVJfVFlQRV9VTlNQRUNJRklFRBAAEhQKEFJPVVRFUl9UWVBFX0hUVFAQARITCg9ST1VURVJfVFlQRV9UQ1AQAhITCg9ST1VURVJfVFlQRV9VRFAQAzKsAwoNUm91dGVyU2VydmljZRJNCglHZXRSb3V0ZXISHC5tYW50cmFlLnYxLkdldFJvdXRlclJlcXVlc3QaHS5tYW50cmFlLnYxLkdldFJvdXRlclJlc3BvbnNlIgOQAgESUQoMQ3JlYXRlUm91dGVyEh8ubWFudHJhZS52MS5DcmVhdGVSb3V0ZXJSZXF1ZXN0GiAubWFudHJhZS52MS5DcmVhdGVSb3V0ZXJSZXNwb25zZRJRCgxVcGRhdGVSb3V0ZXISHy5tYW50cmFlLnYxLlVwZGF0ZVJvdXRlclJlcXVlc3QaIC5tYW50cmFlLnYxLlVwZGF0ZVJvdXRlclJlc3BvbnNlElEKDERlbGV0ZVJvdXRlchIfLm1hbnRyYWUudjEuRGVsZXRlUm91dGVyUmVxdWVzdBogLm1hbnRyYWUudjEuRGVsZXRlUm91dGVyUmVzcG9uc2USUwoLTGlzdFJvdXRlcnMSHi5tYW50cmFlLnYxLkxpc3RSb3V0ZXJzUmVxdWVzdBofLm1hbnRyYWUudjEuTGlzdFJvdXRlcnNSZXNwb25zZSIDkAIBQqUBCg5jb20ubWFudHJhZS52MUILUm91dGVyUHJvdG9QAVo9Z2l0aHViLmNvbS9taXp1Y2hpbGFicy9tYW50cmFlL3Byb3RvL2dlbi9tYW50cmFlL3YxO21hbnRyYWV2MaICA01YWKoCCk1hbnRyYWUuVjHKAgpNYW50cmFlXFYx4gIWTWFudHJhZVxWMVxHUEJNZXRhZGF0YeoCC01hbnRyYWU6OlYxYgZwcm90bzM", [file_google_protobuf_timestamp]);
|
||||
|
||||
/**
|
||||
* @generated from message mantrae.v1.Router
|
||||
@@ -29,20 +29,20 @@ export type Router = Message<"mantrae.v1.Router"> & {
|
||||
profileId: bigint;
|
||||
|
||||
/**
|
||||
* @generated from field: string name = 3;
|
||||
* @generated from field: string agent_id = 3;
|
||||
*/
|
||||
agentId: string;
|
||||
|
||||
/**
|
||||
* @generated from field: string name = 4;
|
||||
*/
|
||||
name: string;
|
||||
|
||||
/**
|
||||
* @generated from field: string config = 4;
|
||||
* @generated from field: string config = 5;
|
||||
*/
|
||||
config: string;
|
||||
|
||||
/**
|
||||
* @generated from field: string source = 5;
|
||||
*/
|
||||
source: string;
|
||||
|
||||
/**
|
||||
* @generated from field: bool enabled = 6;
|
||||
*/
|
||||
@@ -120,20 +120,20 @@ export type CreateRouterRequest = Message<"mantrae.v1.CreateRouterRequest"> & {
|
||||
profileId: bigint;
|
||||
|
||||
/**
|
||||
* @generated from field: string name = 2;
|
||||
* @generated from field: string agent_id = 2;
|
||||
*/
|
||||
agentId: string;
|
||||
|
||||
/**
|
||||
* @generated from field: string name = 3;
|
||||
*/
|
||||
name: string;
|
||||
|
||||
/**
|
||||
* @generated from field: string config = 3;
|
||||
* @generated from field: string config = 4;
|
||||
*/
|
||||
config: string;
|
||||
|
||||
/**
|
||||
* @generated from field: string source = 4;
|
||||
*/
|
||||
source: string;
|
||||
|
||||
/**
|
||||
* @generated from field: bool enabled = 5;
|
||||
*/
|
||||
@@ -189,17 +189,12 @@ export type UpdateRouterRequest = Message<"mantrae.v1.UpdateRouterRequest"> & {
|
||||
config: string;
|
||||
|
||||
/**
|
||||
* @generated from field: string source = 4;
|
||||
*/
|
||||
source: string;
|
||||
|
||||
/**
|
||||
* @generated from field: bool enabled = 5;
|
||||
* @generated from field: bool enabled = 4;
|
||||
*/
|
||||
enabled: boolean;
|
||||
|
||||
/**
|
||||
* @generated from field: mantrae.v1.RouterType type = 6;
|
||||
* @generated from field: mantrae.v1.RouterType type = 5;
|
||||
*/
|
||||
type: RouterType;
|
||||
};
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
// @generated by protoc-gen-es v2.5.2 with parameter "target=ts"
|
||||
// @generated by protoc-gen-es v2.2.3 with parameter "target=ts"
|
||||
// @generated from file mantrae/v1/service.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 type { GenEnum, GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv1";
|
||||
import { enumDesc, fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv1";
|
||||
import type { Timestamp } from "@bufbuild/protobuf/wkt";
|
||||
import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
|
||||
import type { Message } from "@bufbuild/protobuf";
|
||||
@@ -12,7 +12,7 @@ import type { Message } from "@bufbuild/protobuf";
|
||||
* Describes the file mantrae/v1/service.proto.
|
||||
*/
|
||||
export const file_mantrae_v1_service: GenFile = /*@__PURE__*/
|
||||
fileDesc("ChhtYW50cmFlL3YxL3NlcnZpY2UucHJvdG8SCm1hbnRyYWUudjEi3gEKB1NlcnZpY2USCgoCaWQYASABKAMSEgoKcHJvZmlsZV9pZBgCIAEoAxIMCgRuYW1lGAMgASgJEg4KBmNvbmZpZxgEIAEoCRIOCgZzb3VyY2UYBSABKAkSJQoEdHlwZRgGIAEoDjIXLm1hbnRyYWUudjEuU2VydmljZVR5cGUSLgoKY3JlYXRlZF9hdBgHIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXASLgoKdXBkYXRlZF9hdBgIIAEoCzIaLmdvb2dsZS5wcm90b2J1Zi5UaW1lc3RhbXAiRgoRR2V0U2VydmljZVJlcXVlc3QSCgoCaWQYASABKAMSJQoEdHlwZRgCIAEoDjIXLm1hbnRyYWUudjEuU2VydmljZVR5cGUiOgoSR2V0U2VydmljZVJlc3BvbnNlEiQKB3NlcnZpY2UYASABKAsyEy5tYW50cmFlLnYxLlNlcnZpY2UifwoUQ3JlYXRlU2VydmljZVJlcXVlc3QSEgoKcHJvZmlsZV9pZBgBIAEoAxIMCgRuYW1lGAIgASgJEg4KBmNvbmZpZxgDIAEoCRIOCgZzb3VyY2UYBCABKAkSJQoEdHlwZRgFIAEoDjIXLm1hbnRyYWUudjEuU2VydmljZVR5cGUiPQoVQ3JlYXRlU2VydmljZVJlc3BvbnNlEiQKB3NlcnZpY2UYASABKAsyEy5tYW50cmFlLnYxLlNlcnZpY2UidwoUVXBkYXRlU2VydmljZVJlcXVlc3QSCgoCaWQYASABKAMSDAoEbmFtZRgCIAEoCRIOCgZjb25maWcYAyABKAkSDgoGc291cmNlGAQgASgJEiUKBHR5cGUYBSABKA4yFy5tYW50cmFlLnYxLlNlcnZpY2VUeXBlIj0KFVVwZGF0ZVNlcnZpY2VSZXNwb25zZRIkCgdzZXJ2aWNlGAEgASgLMhMubWFudHJhZS52MS5TZXJ2aWNlIiIKFERlbGV0ZVNlcnZpY2VSZXF1ZXN0EgoKAmlkGAEgASgDIhcKFURlbGV0ZVNlcnZpY2VSZXNwb25zZSJ6ChNMaXN0U2VydmljZXNSZXF1ZXN0EiUKBHR5cGUYASABKA4yFy5tYW50cmFlLnYxLlNlcnZpY2VUeXBlEhIKBWxpbWl0GAIgASgDSACIAQESEwoGb2Zmc2V0GAMgASgDSAGIAQFCCAoGX2xpbWl0QgkKB19vZmZzZXQiUgoUTGlzdFNlcnZpY2VzUmVzcG9uc2USJQoIc2VydmljZXMYASADKAsyEy5tYW50cmFlLnYxLlNlcnZpY2USEwoLdG90YWxfY291bnQYAiABKAMqbgoLU2VydmljZVR5cGUSHAoYU0VSVklDRV9UWVBFX1VOU1BFQ0lGSUVEEAASFQoRU0VSVklDRV9UWVBFX0hUVFAQARIUChBTRVJWSUNFX1RZUEVfVENQEAISFAoQU0VSVklDRV9UWVBFX1VEUBADMrwDCg5TZXJ2aWNlU2VydmljZRJQCgpHZXRTZXJ2aWNlEh0ubWFudHJhZS52MS5HZXRTZXJ2aWNlUmVxdWVzdBoeLm1hbnRyYWUudjEuR2V0U2VydmljZVJlc3BvbnNlIgOQAgESVAoNQ3JlYXRlU2VydmljZRIgLm1hbnRyYWUudjEuQ3JlYXRlU2VydmljZVJlcXVlc3QaIS5tYW50cmFlLnYxLkNyZWF0ZVNlcnZpY2VSZXNwb25zZRJUCg1VcGRhdGVTZXJ2aWNlEiAubWFudHJhZS52MS5VcGRhdGVTZXJ2aWNlUmVxdWVzdBohLm1hbnRyYWUudjEuVXBkYXRlU2VydmljZVJlc3BvbnNlElQKDURlbGV0ZVNlcnZpY2USIC5tYW50cmFlLnYxLkRlbGV0ZVNlcnZpY2VSZXF1ZXN0GiEubWFudHJhZS52MS5EZWxldGVTZXJ2aWNlUmVzcG9uc2USVgoMTGlzdFNlcnZpY2VzEh8ubWFudHJhZS52MS5MaXN0U2VydmljZXNSZXF1ZXN0GiAubWFudHJhZS52MS5MaXN0U2VydmljZXNSZXNwb25zZSIDkAIBQqYBCg5jb20ubWFudHJhZS52MUIMU2VydmljZVByb3RvUAFaPWdpdGh1Yi5jb20vbWl6dWNoaWxhYnMvbWFudHJhZS9wcm90by9nZW4vbWFudHJhZS92MTttYW50cmFldjGiAgNNWFiqAgpNYW50cmFlLlYxygIKTWFudHJhZVxWMeICFk1hbnRyYWVcVjFcR1BCTWV0YWRhdGHqAgtNYW50cmFlOjpWMWIGcHJvdG8z", [file_google_protobuf_timestamp]);
|
||||
fileDesc("ChhtYW50cmFlL3YxL3NlcnZpY2UucHJvdG8SCm1hbnRyYWUudjEi4AEKB1NlcnZpY2USCgoCaWQYASABKAMSEgoKcHJvZmlsZV9pZBgCIAEoAxIQCghhZ2VudF9pZBgDIAEoCRIMCgRuYW1lGAQgASgJEg4KBmNvbmZpZxgFIAEoCRIlCgR0eXBlGAYgASgOMhcubWFudHJhZS52MS5TZXJ2aWNlVHlwZRIuCgpjcmVhdGVkX2F0GAcgASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcBIuCgp1cGRhdGVkX2F0GAggASgLMhouZ29vZ2xlLnByb3RvYnVmLlRpbWVzdGFtcCJGChFHZXRTZXJ2aWNlUmVxdWVzdBIKCgJpZBgBIAEoAxIlCgR0eXBlGAIgASgOMhcubWFudHJhZS52MS5TZXJ2aWNlVHlwZSI6ChJHZXRTZXJ2aWNlUmVzcG9uc2USJAoHc2VydmljZRgBIAEoCzITLm1hbnRyYWUudjEuU2VydmljZSKBAQoUQ3JlYXRlU2VydmljZVJlcXVlc3QSEgoKcHJvZmlsZV9pZBgBIAEoAxIQCghhZ2VudF9pZBgCIAEoCRIMCgRuYW1lGAMgASgJEg4KBmNvbmZpZxgEIAEoCRIlCgR0eXBlGAUgASgOMhcubWFudHJhZS52MS5TZXJ2aWNlVHlwZSI9ChVDcmVhdGVTZXJ2aWNlUmVzcG9uc2USJAoHc2VydmljZRgBIAEoCzITLm1hbnRyYWUudjEuU2VydmljZSJnChRVcGRhdGVTZXJ2aWNlUmVxdWVzdBIKCgJpZBgBIAEoAxIMCgRuYW1lGAIgASgJEg4KBmNvbmZpZxgDIAEoCRIlCgR0eXBlGAQgASgOMhcubWFudHJhZS52MS5TZXJ2aWNlVHlwZSI9ChVVcGRhdGVTZXJ2aWNlUmVzcG9uc2USJAoHc2VydmljZRgBIAEoCzITLm1hbnRyYWUudjEuU2VydmljZSIiChREZWxldGVTZXJ2aWNlUmVxdWVzdBIKCgJpZBgBIAEoAyIXChVEZWxldGVTZXJ2aWNlUmVzcG9uc2UiegoTTGlzdFNlcnZpY2VzUmVxdWVzdBIlCgR0eXBlGAEgASgOMhcubWFudHJhZS52MS5TZXJ2aWNlVHlwZRISCgVsaW1pdBgCIAEoA0gAiAEBEhMKBm9mZnNldBgDIAEoA0gBiAEBQggKBl9saW1pdEIJCgdfb2Zmc2V0IlIKFExpc3RTZXJ2aWNlc1Jlc3BvbnNlEiUKCHNlcnZpY2VzGAEgAygLMhMubWFudHJhZS52MS5TZXJ2aWNlEhMKC3RvdGFsX2NvdW50GAIgASgDKm4KC1NlcnZpY2VUeXBlEhwKGFNFUlZJQ0VfVFlQRV9VTlNQRUNJRklFRBAAEhUKEVNFUlZJQ0VfVFlQRV9IVFRQEAESFAoQU0VSVklDRV9UWVBFX1RDUBACEhQKEFNFUlZJQ0VfVFlQRV9VRFAQAzK8AwoOU2VydmljZVNlcnZpY2USUAoKR2V0U2VydmljZRIdLm1hbnRyYWUudjEuR2V0U2VydmljZVJlcXVlc3QaHi5tYW50cmFlLnYxLkdldFNlcnZpY2VSZXNwb25zZSIDkAIBElQKDUNyZWF0ZVNlcnZpY2USIC5tYW50cmFlLnYxLkNyZWF0ZVNlcnZpY2VSZXF1ZXN0GiEubWFudHJhZS52MS5DcmVhdGVTZXJ2aWNlUmVzcG9uc2USVAoNVXBkYXRlU2VydmljZRIgLm1hbnRyYWUudjEuVXBkYXRlU2VydmljZVJlcXVlc3QaIS5tYW50cmFlLnYxLlVwZGF0ZVNlcnZpY2VSZXNwb25zZRJUCg1EZWxldGVTZXJ2aWNlEiAubWFudHJhZS52MS5EZWxldGVTZXJ2aWNlUmVxdWVzdBohLm1hbnRyYWUudjEuRGVsZXRlU2VydmljZVJlc3BvbnNlElYKDExpc3RTZXJ2aWNlcxIfLm1hbnRyYWUudjEuTGlzdFNlcnZpY2VzUmVxdWVzdBogLm1hbnRyYWUudjEuTGlzdFNlcnZpY2VzUmVzcG9uc2UiA5ACAUKmAQoOY29tLm1hbnRyYWUudjFCDFNlcnZpY2VQcm90b1ABWj1naXRodWIuY29tL21penVjaGlsYWJzL21hbnRyYWUvcHJvdG8vZ2VuL21hbnRyYWUvdjE7bWFudHJhZXYxogIDTVhYqgIKTWFudHJhZS5WMcoCCk1hbnRyYWVcVjHiAhZNYW50cmFlXFYxXEdQQk1ldGFkYXRh6gILTWFudHJhZTo6VjFiBnByb3RvMw", [file_google_protobuf_timestamp]);
|
||||
|
||||
/**
|
||||
* @generated from message mantrae.v1.Service
|
||||
@@ -29,20 +29,20 @@ export type Service = Message<"mantrae.v1.Service"> & {
|
||||
profileId: bigint;
|
||||
|
||||
/**
|
||||
* @generated from field: string name = 3;
|
||||
* @generated from field: string agent_id = 3;
|
||||
*/
|
||||
agentId: string;
|
||||
|
||||
/**
|
||||
* @generated from field: string name = 4;
|
||||
*/
|
||||
name: string;
|
||||
|
||||
/**
|
||||
* @generated from field: string config = 4;
|
||||
* @generated from field: string config = 5;
|
||||
*/
|
||||
config: string;
|
||||
|
||||
/**
|
||||
* @generated from field: string source = 5;
|
||||
*/
|
||||
source: string;
|
||||
|
||||
/**
|
||||
* @generated from field: mantrae.v1.ServiceType type = 6;
|
||||
*/
|
||||
@@ -115,20 +115,20 @@ export type CreateServiceRequest = Message<"mantrae.v1.CreateServiceRequest"> &
|
||||
profileId: bigint;
|
||||
|
||||
/**
|
||||
* @generated from field: string name = 2;
|
||||
* @generated from field: string agent_id = 2;
|
||||
*/
|
||||
agentId: string;
|
||||
|
||||
/**
|
||||
* @generated from field: string name = 3;
|
||||
*/
|
||||
name: string;
|
||||
|
||||
/**
|
||||
* @generated from field: string config = 3;
|
||||
* @generated from field: string config = 4;
|
||||
*/
|
||||
config: string;
|
||||
|
||||
/**
|
||||
* @generated from field: string source = 4;
|
||||
*/
|
||||
source: string;
|
||||
|
||||
/**
|
||||
* @generated from field: mantrae.v1.ServiceType type = 5;
|
||||
*/
|
||||
@@ -179,12 +179,7 @@ export type UpdateServiceRequest = Message<"mantrae.v1.UpdateServiceRequest"> &
|
||||
config: string;
|
||||
|
||||
/**
|
||||
* @generated from field: string source = 4;
|
||||
*/
|
||||
source: string;
|
||||
|
||||
/**
|
||||
* @generated from field: mantrae.v1.ServiceType type = 5;
|
||||
* @generated from field: mantrae.v1.ServiceType type = 4;
|
||||
*/
|
||||
type: ServiceType;
|
||||
};
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
// @generated by protoc-gen-es v2.5.2 with parameter "target=ts"
|
||||
// @generated by protoc-gen-es v2.2.3 with parameter "target=ts"
|
||||
// @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 type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv1";
|
||||
import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv1";
|
||||
import type { Timestamp } from "@bufbuild/protobuf/wkt";
|
||||
import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
|
||||
import type { Message } from "@bufbuild/protobuf";
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
// @generated by protoc-gen-es v2.5.2 with parameter "target=ts"
|
||||
// @generated by protoc-gen-es v2.2.3 with parameter "target=ts"
|
||||
// @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 type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv1";
|
||||
import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv1";
|
||||
import type { Timestamp } from "@bufbuild/protobuf/wkt";
|
||||
import { file_google_protobuf_timestamp } from "@bufbuild/protobuf/wkt";
|
||||
import type { Message } from "@bufbuild/protobuf";
|
||||
|
||||
Reference in New Issue
Block a user