Files
mantrae/server/internal/store/db/http_routers.sql.go
2025-11-12 17:24:59 +01:00

395 lines
8.3 KiB
Go

// Code generated by sqlc. DO NOT EDIT.
// versions:
// sqlc v1.30.0
// source: http_routers.sql
package db
import (
"context"
"github.com/mizuchilabs/mantrae/server/internal/store/schema"
)
const countHttpRouters = `-- name: CountHttpRouters :one
SELECT
COUNT(*)
FROM
http_routers
WHERE
profile_id = ?1
AND (
CAST(?2 AS TEXT) IS NULL
OR agent_id = CAST(?2 AS TEXT)
)
`
type CountHttpRoutersParams struct {
ProfileID int64 `json:"profileId"`
AgentID *string `json:"agentId"`
}
func (q *Queries) CountHttpRouters(ctx context.Context, arg CountHttpRoutersParams) (int64, error) {
row := q.queryRow(ctx, q.countHttpRoutersStmt, countHttpRouters, arg.ProfileID, arg.AgentID)
var count int64
err := row.Scan(&count)
return count, err
}
const createHttpRouter = `-- name: CreateHttpRouter :one
INSERT INTO
http_routers (
id,
profile_id,
agent_id,
name,
config,
created_at,
updated_at
)
VALUES
(
?,
?,
?,
?,
?,
CURRENT_TIMESTAMP,
CURRENT_TIMESTAMP
) RETURNING id, profile_id, agent_id, name, config, enabled, created_at, updated_at
`
type CreateHttpRouterParams struct {
ID string `json:"id"`
ProfileID int64 `json:"profileId"`
AgentID *string `json:"agentId"`
Name string `json:"name"`
Config *schema.HTTPRouter `json:"config"`
}
func (q *Queries) CreateHttpRouter(ctx context.Context, arg CreateHttpRouterParams) (HttpRouter, error) {
row := q.queryRow(ctx, q.createHttpRouterStmt, createHttpRouter,
arg.ID,
arg.ProfileID,
arg.AgentID,
arg.Name,
arg.Config,
)
var i HttpRouter
err := row.Scan(
&i.ID,
&i.ProfileID,
&i.AgentID,
&i.Name,
&i.Config,
&i.Enabled,
&i.CreatedAt,
&i.UpdatedAt,
)
return i, err
}
const deleteHttpRouter = `-- name: DeleteHttpRouter :exec
DELETE FROM http_routers
WHERE
id = ?
`
func (q *Queries) DeleteHttpRouter(ctx context.Context, id string) error {
_, err := q.exec(ctx, q.deleteHttpRouterStmt, deleteHttpRouter, id)
return err
}
const getHttpRouter = `-- name: GetHttpRouter :one
SELECT
id, profile_id, agent_id, name, config, enabled, created_at, updated_at
FROM
http_routers
WHERE
id = ?
`
func (q *Queries) GetHttpRouter(ctx context.Context, id string) (HttpRouter, error) {
row := q.queryRow(ctx, q.getHttpRouterStmt, getHttpRouter, id)
var i HttpRouter
err := row.Scan(
&i.ID,
&i.ProfileID,
&i.AgentID,
&i.Name,
&i.Config,
&i.Enabled,
&i.CreatedAt,
&i.UpdatedAt,
)
return i, err
}
const getHttpRoutersUsingEntryPoint = `-- name: GetHttpRoutersUsingEntryPoint :many
WITH
ep_name AS (
SELECT
name
FROM
entry_points
WHERE
entry_points.id = ?
AND entry_points.profile_id = ?
)
SELECT
r.id,
r.name,
r.config,
r.enabled
FROM
http_routers r
JOIN json_each (r.config, '$.entryPoints') je
JOIN ep_name ep ON je.value = ep.name
`
type GetHttpRoutersUsingEntryPointParams struct {
ID string `json:"id"`
ProfileID int64 `json:"profileId"`
}
type GetHttpRoutersUsingEntryPointRow struct {
ID string `json:"id"`
Name string `json:"name"`
Config *schema.HTTPRouter `json:"config"`
Enabled bool `json:"enabled"`
}
func (q *Queries) GetHttpRoutersUsingEntryPoint(ctx context.Context, arg GetHttpRoutersUsingEntryPointParams) ([]GetHttpRoutersUsingEntryPointRow, error) {
rows, err := q.query(ctx, q.getHttpRoutersUsingEntryPointStmt, getHttpRoutersUsingEntryPoint, arg.ID, arg.ProfileID)
if err != nil {
return nil, err
}
defer rows.Close()
var items []GetHttpRoutersUsingEntryPointRow
for rows.Next() {
var i GetHttpRoutersUsingEntryPointRow
if err := rows.Scan(
&i.ID,
&i.Name,
&i.Config,
&i.Enabled,
); 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 getHttpRoutersUsingMiddleware = `-- name: GetHttpRoutersUsingMiddleware :many
WITH
mw_name AS (
SELECT
name
FROM
http_middlewares
WHERE
http_middlewares.id = ?
AND http_middlewares.profile_id = ?
)
SELECT
r.id,
r.name,
r.config,
r.enabled
FROM
http_routers r
JOIN json_each (r.config, '$.middlewares') je
JOIN mw_name mw ON je.value = mw.name
`
type GetHttpRoutersUsingMiddlewareParams struct {
ID string `json:"id"`
ProfileID int64 `json:"profileId"`
}
type GetHttpRoutersUsingMiddlewareRow struct {
ID string `json:"id"`
Name string `json:"name"`
Config *schema.HTTPRouter `json:"config"`
Enabled bool `json:"enabled"`
}
func (q *Queries) GetHttpRoutersUsingMiddleware(ctx context.Context, arg GetHttpRoutersUsingMiddlewareParams) ([]GetHttpRoutersUsingMiddlewareRow, error) {
rows, err := q.query(ctx, q.getHttpRoutersUsingMiddlewareStmt, getHttpRoutersUsingMiddleware, arg.ID, arg.ProfileID)
if err != nil {
return nil, err
}
defer rows.Close()
var items []GetHttpRoutersUsingMiddlewareRow
for rows.Next() {
var i GetHttpRoutersUsingMiddlewareRow
if err := rows.Scan(
&i.ID,
&i.Name,
&i.Config,
&i.Enabled,
); 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, agent_id, name, config, enabled, created_at, updated_at
FROM
http_routers
WHERE
profile_id = ?1
AND (
CAST(?2 AS TEXT) IS NULL
OR agent_id = CAST(?2 AS TEXT)
)
ORDER BY
created_at DESC
LIMIT
COALESCE(CAST(?4 AS INTEGER), -1)
OFFSET
COALESCE(CAST(?3 AS INTEGER), 0)
`
type ListHttpRoutersParams struct {
ProfileID int64 `json:"profileId"`
AgentID *string `json:"agentId"`
Offset *int64 `json:"offset"`
Limit *int64 `json:"limit"`
}
func (q *Queries) ListHttpRouters(ctx context.Context, arg ListHttpRoutersParams) ([]HttpRouter, error) {
rows, err := q.query(ctx, q.listHttpRoutersStmt, listHttpRouters,
arg.ProfileID,
arg.AgentID,
arg.Offset,
arg.Limit,
)
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 listHttpRoutersEnabled = `-- name: ListHttpRoutersEnabled :many
SELECT
id, profile_id, agent_id, name, config, enabled, created_at, updated_at
FROM
http_routers
WHERE
profile_id = ?
AND enabled = TRUE
`
func (q *Queries) ListHttpRoutersEnabled(ctx context.Context, profileID int64) ([]HttpRouter, error) {
rows, err := q.query(ctx, q.listHttpRoutersEnabledStmt, listHttpRoutersEnabled, 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 updateHttpRouter = `-- name: UpdateHttpRouter :one
UPDATE http_routers
SET
name = ?,
config = ?,
enabled = ?,
updated_at = CURRENT_TIMESTAMP
WHERE
id = ? RETURNING id, profile_id, agent_id, name, config, enabled, created_at, updated_at
`
type UpdateHttpRouterParams struct {
Name string `json:"name"`
Config *schema.HTTPRouter `json:"config"`
Enabled bool `json:"enabled"`
ID string `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.Enabled,
arg.ID,
)
var i HttpRouter
err := row.Scan(
&i.ID,
&i.ProfileID,
&i.AgentID,
&i.Name,
&i.Config,
&i.Enabled,
&i.CreatedAt,
&i.UpdatedAt,
)
return i, err
}