add reverse proxy meta to api resp

This commit is contained in:
pascal
2026-02-03 17:37:55 +01:00
parent bffb25bea7
commit 92f72bfce6
3 changed files with 67 additions and 1 deletions

View File

@@ -145,6 +145,15 @@ func (r *ReverseProxy) ToAPIResponse() *api.ReverseProxy {
})
}
meta := api.ReverseProxyMeta{
CreatedAt: r.Meta.CreatedAt,
Status: api.ReverseProxyMetaStatus(r.Meta.Status),
}
if !r.Meta.CertificateIssuedAt.IsZero() {
meta.CertificateIssuedAt = &r.Meta.CertificateIssuedAt
}
return &api.ReverseProxy{
Id: r.ID,
Name: r.Name,
@@ -152,6 +161,7 @@ func (r *ReverseProxy) ToAPIResponse() *api.ReverseProxy {
Targets: apiTargets,
Enabled: r.Enabled,
Auth: authConfig,
Meta: meta,
}
}

View File

@@ -2855,6 +2855,8 @@ components:
description: Whether the reverse proxy is enabled
auth:
$ref: '#/components/schemas/ReverseProxyAuthConfig'
meta:
$ref: '#/components/schemas/ReverseProxyMeta'
required:
- id
- name
@@ -2862,6 +2864,34 @@ components:
- targets
- enabled
- auth
- meta
ReverseProxyMeta:
type: object
properties:
created_at:
type: string
format: date-time
description: Timestamp when the reverse proxy was created
example: "2024-02-03T10:30:00Z"
certificate_issued_at:
type: string
format: date-time
description: Timestamp when the certificate was issued (empty if not yet issued)
example: "2024-02-03T10:35:00Z"
status:
type: string
enum:
- pending
- active
- tunnel_not_created
- certificate_pending
- certificate_failed
- error
description: Current status of the reverse proxy
example: "active"
required:
- created_at
- status
ReverseProxyRequest:
type: object
properties:

View File

@@ -275,6 +275,16 @@ const (
ReverseProxyDomainTypeFree ReverseProxyDomainType = "free"
)
// Defines values for ReverseProxyMetaStatus.
const (
ReverseProxyMetaStatusActive ReverseProxyMetaStatus = "active"
ReverseProxyMetaStatusCertificateFailed ReverseProxyMetaStatus = "certificate_failed"
ReverseProxyMetaStatusCertificatePending ReverseProxyMetaStatus = "certificate_pending"
ReverseProxyMetaStatusError ReverseProxyMetaStatus = "error"
ReverseProxyMetaStatusPending ReverseProxyMetaStatus = "pending"
ReverseProxyMetaStatusTunnelNotCreated ReverseProxyMetaStatus = "tunnel_not_created"
)
// Defines values for ReverseProxyTargetProtocol.
const (
ReverseProxyTargetProtocolHttp ReverseProxyTargetProtocol = "http"
@@ -1958,7 +1968,8 @@ type ReverseProxy struct {
Enabled bool `json:"enabled"`
// Id Reverse proxy ID
Id string `json:"id"`
Id string `json:"id"`
Meta ReverseProxyMeta `json:"meta"`
// Name Reverse proxy name
Name string `json:"name"`
@@ -1999,6 +2010,21 @@ type ReverseProxyDomainRequest struct {
// ReverseProxyDomainType Type of Reverse Proxy Domain
type ReverseProxyDomainType string
// ReverseProxyMeta defines model for ReverseProxyMeta.
type ReverseProxyMeta struct {
// CertificateIssuedAt Timestamp when the certificate was issued (empty if not yet issued)
CertificateIssuedAt *time.Time `json:"certificate_issued_at,omitempty"`
// CreatedAt Timestamp when the reverse proxy was created
CreatedAt time.Time `json:"created_at"`
// Status Current status of the reverse proxy
Status ReverseProxyMetaStatus `json:"status"`
}
// ReverseProxyMetaStatus Current status of the reverse proxy
type ReverseProxyMetaStatus string
// ReverseProxyRequest defines model for ReverseProxyRequest.
type ReverseProxyRequest struct {
Auth ReverseProxyAuthConfig `json:"auth"`