mirror of https://github.com/h44z/wg-portal.git
				
				
				
			
		
			
				
	
	
		
			1532 lines
		
	
	
		
			51 KiB
		
	
	
	
		
			Go
		
	
	
	
			
		
		
	
	
			1532 lines
		
	
	
		
			51 KiB
		
	
	
	
		
			Go
		
	
	
	
// GENERATED BY THE COMMAND ABOVE; DO NOT EDIT
 | 
						|
// This file was generated by swaggo/swag
 | 
						|
 | 
						|
package docs
 | 
						|
 | 
						|
import (
 | 
						|
	"bytes"
 | 
						|
	"encoding/json"
 | 
						|
	"strings"
 | 
						|
 | 
						|
	"github.com/alecthomas/template"
 | 
						|
	"github.com/swaggo/swag"
 | 
						|
)
 | 
						|
 | 
						|
var doc = `{
 | 
						|
    "schemes": {{ marshal .Schemes }},
 | 
						|
    "swagger": "2.0",
 | 
						|
    "info": {
 | 
						|
        "description": "{{.Description}}",
 | 
						|
        "title": "{{.Title}}",
 | 
						|
        "contact": {
 | 
						|
            "name": "WireGuard Portal Project",
 | 
						|
            "url": "https://github.com/h44z/wg-portal"
 | 
						|
        },
 | 
						|
        "license": {
 | 
						|
            "name": "MIT",
 | 
						|
            "url": "https://github.com/h44z/wg-portal/blob/master/LICENSE.txt"
 | 
						|
        },
 | 
						|
        "version": "{{.Version}}"
 | 
						|
    },
 | 
						|
    "host": "{{.Host}}",
 | 
						|
    "basePath": "{{.BasePath}}",
 | 
						|
    "paths": {
 | 
						|
        "/backend/device": {
 | 
						|
            "get": {
 | 
						|
                "security": [
 | 
						|
                    {
 | 
						|
                        "ApiBasicAuth": []
 | 
						|
                    }
 | 
						|
                ],
 | 
						|
                "produces": [
 | 
						|
                    "application/json"
 | 
						|
                ],
 | 
						|
                "tags": [
 | 
						|
                    "Interface"
 | 
						|
                ],
 | 
						|
                "summary": "Get the given device",
 | 
						|
                "parameters": [
 | 
						|
                    {
 | 
						|
                        "type": "string",
 | 
						|
                        "description": "Device Name",
 | 
						|
                        "name": "device",
 | 
						|
                        "in": "query",
 | 
						|
                        "required": true
 | 
						|
                    }
 | 
						|
                ],
 | 
						|
                "responses": {
 | 
						|
                    "200": {
 | 
						|
                        "description": "OK",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/wireguard.Device"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "400": {
 | 
						|
                        "description": "Bad Request",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "401": {
 | 
						|
                        "description": "Unauthorized",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "403": {
 | 
						|
                        "description": "Forbidden",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "404": {
 | 
						|
                        "description": "Not Found",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                }
 | 
						|
            },
 | 
						|
            "put": {
 | 
						|
                "security": [
 | 
						|
                    {
 | 
						|
                        "ApiBasicAuth": []
 | 
						|
                    }
 | 
						|
                ],
 | 
						|
                "consumes": [
 | 
						|
                    "application/json"
 | 
						|
                ],
 | 
						|
                "produces": [
 | 
						|
                    "application/json"
 | 
						|
                ],
 | 
						|
                "tags": [
 | 
						|
                    "Interface"
 | 
						|
                ],
 | 
						|
                "summary": "Updates the given device based on the given device model (UNIMPLEMENTED)",
 | 
						|
                "parameters": [
 | 
						|
                    {
 | 
						|
                        "type": "string",
 | 
						|
                        "description": "Device Name",
 | 
						|
                        "name": "device",
 | 
						|
                        "in": "query",
 | 
						|
                        "required": true
 | 
						|
                    },
 | 
						|
                    {
 | 
						|
                        "description": "Device Model",
 | 
						|
                        "name": "body",
 | 
						|
                        "in": "body",
 | 
						|
                        "required": true,
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/wireguard.Device"
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                ],
 | 
						|
                "responses": {
 | 
						|
                    "200": {
 | 
						|
                        "description": "OK",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/wireguard.Device"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "400": {
 | 
						|
                        "description": "Bad Request",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "401": {
 | 
						|
                        "description": "Unauthorized",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "403": {
 | 
						|
                        "description": "Forbidden",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "404": {
 | 
						|
                        "description": "Not Found",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "500": {
 | 
						|
                        "description": "Internal Server Error",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                }
 | 
						|
            },
 | 
						|
            "patch": {
 | 
						|
                "security": [
 | 
						|
                    {
 | 
						|
                        "ApiBasicAuth": []
 | 
						|
                    }
 | 
						|
                ],
 | 
						|
                "consumes": [
 | 
						|
                    "application/json"
 | 
						|
                ],
 | 
						|
                "produces": [
 | 
						|
                    "application/json"
 | 
						|
                ],
 | 
						|
                "tags": [
 | 
						|
                    "Interface"
 | 
						|
                ],
 | 
						|
                "summary": "Updates the given device based on the given partial device model (UNIMPLEMENTED)",
 | 
						|
                "parameters": [
 | 
						|
                    {
 | 
						|
                        "type": "string",
 | 
						|
                        "description": "Device Name",
 | 
						|
                        "name": "device",
 | 
						|
                        "in": "query",
 | 
						|
                        "required": true
 | 
						|
                    },
 | 
						|
                    {
 | 
						|
                        "description": "Device Model",
 | 
						|
                        "name": "body",
 | 
						|
                        "in": "body",
 | 
						|
                        "required": true,
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/wireguard.Device"
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                ],
 | 
						|
                "responses": {
 | 
						|
                    "200": {
 | 
						|
                        "description": "OK",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/wireguard.Device"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "400": {
 | 
						|
                        "description": "Bad Request",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "401": {
 | 
						|
                        "description": "Unauthorized",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "403": {
 | 
						|
                        "description": "Forbidden",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "404": {
 | 
						|
                        "description": "Not Found",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "500": {
 | 
						|
                        "description": "Internal Server Error",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                }
 | 
						|
            }
 | 
						|
        },
 | 
						|
        "/backend/devices": {
 | 
						|
            "get": {
 | 
						|
                "security": [
 | 
						|
                    {
 | 
						|
                        "ApiBasicAuth": []
 | 
						|
                    }
 | 
						|
                ],
 | 
						|
                "produces": [
 | 
						|
                    "application/json"
 | 
						|
                ],
 | 
						|
                "tags": [
 | 
						|
                    "Interface"
 | 
						|
                ],
 | 
						|
                "summary": "Get all devices",
 | 
						|
                "responses": {
 | 
						|
                    "200": {
 | 
						|
                        "description": "OK",
 | 
						|
                        "schema": {
 | 
						|
                            "type": "array",
 | 
						|
                            "items": {
 | 
						|
                                "$ref": "#/definitions/wireguard.Device"
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "400": {
 | 
						|
                        "description": "Bad Request",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "401": {
 | 
						|
                        "description": "Unauthorized",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "403": {
 | 
						|
                        "description": "Forbidden",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "404": {
 | 
						|
                        "description": "Not Found",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                }
 | 
						|
            }
 | 
						|
        },
 | 
						|
        "/backend/peer": {
 | 
						|
            "get": {
 | 
						|
                "security": [
 | 
						|
                    {
 | 
						|
                        "ApiBasicAuth": []
 | 
						|
                    }
 | 
						|
                ],
 | 
						|
                "produces": [
 | 
						|
                    "application/json"
 | 
						|
                ],
 | 
						|
                "tags": [
 | 
						|
                    "Peers"
 | 
						|
                ],
 | 
						|
                "summary": "Retrieves the peer for the given public key",
 | 
						|
                "parameters": [
 | 
						|
                    {
 | 
						|
                        "type": "string",
 | 
						|
                        "description": "Public Key (Base 64)",
 | 
						|
                        "name": "pkey",
 | 
						|
                        "in": "query",
 | 
						|
                        "required": true
 | 
						|
                    }
 | 
						|
                ],
 | 
						|
                "responses": {
 | 
						|
                    "200": {
 | 
						|
                        "description": "OK",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/wireguard.Peer"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "401": {
 | 
						|
                        "description": "Unauthorized",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "403": {
 | 
						|
                        "description": "Forbidden",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "404": {
 | 
						|
                        "description": "Not Found",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                }
 | 
						|
            },
 | 
						|
            "put": {
 | 
						|
                "security": [
 | 
						|
                    {
 | 
						|
                        "ApiBasicAuth": []
 | 
						|
                    }
 | 
						|
                ],
 | 
						|
                "consumes": [
 | 
						|
                    "application/json"
 | 
						|
                ],
 | 
						|
                "produces": [
 | 
						|
                    "application/json"
 | 
						|
                ],
 | 
						|
                "tags": [
 | 
						|
                    "Peers"
 | 
						|
                ],
 | 
						|
                "summary": "Updates the given peer based on the given peer model",
 | 
						|
                "parameters": [
 | 
						|
                    {
 | 
						|
                        "type": "string",
 | 
						|
                        "description": "Public Key",
 | 
						|
                        "name": "pkey",
 | 
						|
                        "in": "query",
 | 
						|
                        "required": true
 | 
						|
                    },
 | 
						|
                    {
 | 
						|
                        "description": "Peer Model",
 | 
						|
                        "name": "peer",
 | 
						|
                        "in": "body",
 | 
						|
                        "required": true,
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/wireguard.Peer"
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                ],
 | 
						|
                "responses": {
 | 
						|
                    "200": {
 | 
						|
                        "description": "OK",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/wireguard.Peer"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "400": {
 | 
						|
                        "description": "Bad Request",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "401": {
 | 
						|
                        "description": "Unauthorized",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "403": {
 | 
						|
                        "description": "Forbidden",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "404": {
 | 
						|
                        "description": "Not Found",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "500": {
 | 
						|
                        "description": "Internal Server Error",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                }
 | 
						|
            },
 | 
						|
            "delete": {
 | 
						|
                "security": [
 | 
						|
                    {
 | 
						|
                        "ApiBasicAuth": []
 | 
						|
                    }
 | 
						|
                ],
 | 
						|
                "produces": [
 | 
						|
                    "application/json"
 | 
						|
                ],
 | 
						|
                "tags": [
 | 
						|
                    "Peers"
 | 
						|
                ],
 | 
						|
                "summary": "Updates the given peer based on the given partial peer model",
 | 
						|
                "parameters": [
 | 
						|
                    {
 | 
						|
                        "type": "string",
 | 
						|
                        "description": "Public Key",
 | 
						|
                        "name": "pkey",
 | 
						|
                        "in": "query",
 | 
						|
                        "required": true
 | 
						|
                    }
 | 
						|
                ],
 | 
						|
                "responses": {
 | 
						|
                    "202": {
 | 
						|
                        "description": "No Content"
 | 
						|
                    },
 | 
						|
                    "400": {
 | 
						|
                        "description": "Bad Request",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "401": {
 | 
						|
                        "description": "Unauthorized",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "403": {
 | 
						|
                        "description": "Forbidden",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "404": {
 | 
						|
                        "description": "Not Found",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "500": {
 | 
						|
                        "description": "Internal Server Error",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                }
 | 
						|
            },
 | 
						|
            "patch": {
 | 
						|
                "security": [
 | 
						|
                    {
 | 
						|
                        "ApiBasicAuth": []
 | 
						|
                    }
 | 
						|
                ],
 | 
						|
                "consumes": [
 | 
						|
                    "application/json"
 | 
						|
                ],
 | 
						|
                "produces": [
 | 
						|
                    "application/json"
 | 
						|
                ],
 | 
						|
                "tags": [
 | 
						|
                    "Peers"
 | 
						|
                ],
 | 
						|
                "summary": "Updates the given peer based on the given partial peer model",
 | 
						|
                "parameters": [
 | 
						|
                    {
 | 
						|
                        "type": "string",
 | 
						|
                        "description": "Public Key",
 | 
						|
                        "name": "pkey",
 | 
						|
                        "in": "query",
 | 
						|
                        "required": true
 | 
						|
                    },
 | 
						|
                    {
 | 
						|
                        "description": "Peer Model",
 | 
						|
                        "name": "peer",
 | 
						|
                        "in": "body",
 | 
						|
                        "required": true,
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/wireguard.Peer"
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                ],
 | 
						|
                "responses": {
 | 
						|
                    "200": {
 | 
						|
                        "description": "OK",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/wireguard.Peer"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "400": {
 | 
						|
                        "description": "Bad Request",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "401": {
 | 
						|
                        "description": "Unauthorized",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "403": {
 | 
						|
                        "description": "Forbidden",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "404": {
 | 
						|
                        "description": "Not Found",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "500": {
 | 
						|
                        "description": "Internal Server Error",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                }
 | 
						|
            }
 | 
						|
        },
 | 
						|
        "/backend/peers": {
 | 
						|
            "get": {
 | 
						|
                "security": [
 | 
						|
                    {
 | 
						|
                        "ApiBasicAuth": []
 | 
						|
                    }
 | 
						|
                ],
 | 
						|
                "produces": [
 | 
						|
                    "application/json"
 | 
						|
                ],
 | 
						|
                "tags": [
 | 
						|
                    "Peers"
 | 
						|
                ],
 | 
						|
                "summary": "Retrieves all peers for the given interface",
 | 
						|
                "parameters": [
 | 
						|
                    {
 | 
						|
                        "type": "string",
 | 
						|
                        "description": "Device Name",
 | 
						|
                        "name": "device",
 | 
						|
                        "in": "query",
 | 
						|
                        "required": true
 | 
						|
                    }
 | 
						|
                ],
 | 
						|
                "responses": {
 | 
						|
                    "200": {
 | 
						|
                        "description": "OK",
 | 
						|
                        "schema": {
 | 
						|
                            "type": "array",
 | 
						|
                            "items": {
 | 
						|
                                "$ref": "#/definitions/wireguard.Peer"
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "401": {
 | 
						|
                        "description": "Unauthorized",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "403": {
 | 
						|
                        "description": "Forbidden",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "404": {
 | 
						|
                        "description": "Not Found",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                }
 | 
						|
            },
 | 
						|
            "post": {
 | 
						|
                "security": [
 | 
						|
                    {
 | 
						|
                        "ApiBasicAuth": []
 | 
						|
                    }
 | 
						|
                ],
 | 
						|
                "consumes": [
 | 
						|
                    "application/json"
 | 
						|
                ],
 | 
						|
                "produces": [
 | 
						|
                    "application/json"
 | 
						|
                ],
 | 
						|
                "tags": [
 | 
						|
                    "Peers"
 | 
						|
                ],
 | 
						|
                "summary": "Creates a new peer based on the given peer model",
 | 
						|
                "parameters": [
 | 
						|
                    {
 | 
						|
                        "type": "string",
 | 
						|
                        "description": "Device Name",
 | 
						|
                        "name": "device",
 | 
						|
                        "in": "query",
 | 
						|
                        "required": true
 | 
						|
                    },
 | 
						|
                    {
 | 
						|
                        "description": "Peer Model",
 | 
						|
                        "name": "peer",
 | 
						|
                        "in": "body",
 | 
						|
                        "required": true,
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/wireguard.Peer"
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                ],
 | 
						|
                "responses": {
 | 
						|
                    "200": {
 | 
						|
                        "description": "OK",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/wireguard.Peer"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "400": {
 | 
						|
                        "description": "Bad Request",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "401": {
 | 
						|
                        "description": "Unauthorized",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "403": {
 | 
						|
                        "description": "Forbidden",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "404": {
 | 
						|
                        "description": "Not Found",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "500": {
 | 
						|
                        "description": "Internal Server Error",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                }
 | 
						|
            }
 | 
						|
        },
 | 
						|
        "/backend/user": {
 | 
						|
            "get": {
 | 
						|
                "security": [
 | 
						|
                    {
 | 
						|
                        "ApiBasicAuth": []
 | 
						|
                    }
 | 
						|
                ],
 | 
						|
                "produces": [
 | 
						|
                    "application/json"
 | 
						|
                ],
 | 
						|
                "tags": [
 | 
						|
                    "Users"
 | 
						|
                ],
 | 
						|
                "summary": "Retrieves user based on given Email",
 | 
						|
                "parameters": [
 | 
						|
                    {
 | 
						|
                        "type": "string",
 | 
						|
                        "description": "User Email",
 | 
						|
                        "name": "email",
 | 
						|
                        "in": "query",
 | 
						|
                        "required": true
 | 
						|
                    }
 | 
						|
                ],
 | 
						|
                "responses": {
 | 
						|
                    "200": {
 | 
						|
                        "description": "OK",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/users.User"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "400": {
 | 
						|
                        "description": "Bad Request",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "401": {
 | 
						|
                        "description": "Unauthorized",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "403": {
 | 
						|
                        "description": "Forbidden",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "404": {
 | 
						|
                        "description": "Not Found",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                }
 | 
						|
            },
 | 
						|
            "put": {
 | 
						|
                "security": [
 | 
						|
                    {
 | 
						|
                        "ApiBasicAuth": []
 | 
						|
                    }
 | 
						|
                ],
 | 
						|
                "consumes": [
 | 
						|
                    "application/json"
 | 
						|
                ],
 | 
						|
                "produces": [
 | 
						|
                    "application/json"
 | 
						|
                ],
 | 
						|
                "tags": [
 | 
						|
                    "Users"
 | 
						|
                ],
 | 
						|
                "summary": "Updates a user based on the given user model",
 | 
						|
                "parameters": [
 | 
						|
                    {
 | 
						|
                        "type": "string",
 | 
						|
                        "description": "User Email",
 | 
						|
                        "name": "email",
 | 
						|
                        "in": "query",
 | 
						|
                        "required": true
 | 
						|
                    },
 | 
						|
                    {
 | 
						|
                        "description": "User Model",
 | 
						|
                        "name": "user",
 | 
						|
                        "in": "body",
 | 
						|
                        "required": true,
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/users.User"
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                ],
 | 
						|
                "responses": {
 | 
						|
                    "200": {
 | 
						|
                        "description": "OK",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/users.User"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "400": {
 | 
						|
                        "description": "Bad Request",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "401": {
 | 
						|
                        "description": "Unauthorized",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "403": {
 | 
						|
                        "description": "Forbidden",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "404": {
 | 
						|
                        "description": "Not Found",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "500": {
 | 
						|
                        "description": "Internal Server Error",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                }
 | 
						|
            },
 | 
						|
            "delete": {
 | 
						|
                "security": [
 | 
						|
                    {
 | 
						|
                        "ApiBasicAuth": []
 | 
						|
                    }
 | 
						|
                ],
 | 
						|
                "produces": [
 | 
						|
                    "application/json"
 | 
						|
                ],
 | 
						|
                "tags": [
 | 
						|
                    "Users"
 | 
						|
                ],
 | 
						|
                "summary": "Deletes the specified user",
 | 
						|
                "parameters": [
 | 
						|
                    {
 | 
						|
                        "type": "string",
 | 
						|
                        "description": "User Email",
 | 
						|
                        "name": "email",
 | 
						|
                        "in": "query",
 | 
						|
                        "required": true
 | 
						|
                    }
 | 
						|
                ],
 | 
						|
                "responses": {
 | 
						|
                    "204": {
 | 
						|
                        "description": "No content"
 | 
						|
                    },
 | 
						|
                    "400": {
 | 
						|
                        "description": "Bad Request",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "401": {
 | 
						|
                        "description": "Unauthorized",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "403": {
 | 
						|
                        "description": "Forbidden",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "404": {
 | 
						|
                        "description": "Not Found",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "500": {
 | 
						|
                        "description": "Internal Server Error",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                }
 | 
						|
            },
 | 
						|
            "patch": {
 | 
						|
                "security": [
 | 
						|
                    {
 | 
						|
                        "ApiBasicAuth": []
 | 
						|
                    }
 | 
						|
                ],
 | 
						|
                "consumes": [
 | 
						|
                    "application/json"
 | 
						|
                ],
 | 
						|
                "produces": [
 | 
						|
                    "application/json"
 | 
						|
                ],
 | 
						|
                "tags": [
 | 
						|
                    "Users"
 | 
						|
                ],
 | 
						|
                "summary": "Updates a user based on the given partial user model",
 | 
						|
                "parameters": [
 | 
						|
                    {
 | 
						|
                        "type": "string",
 | 
						|
                        "description": "User Email",
 | 
						|
                        "name": "email",
 | 
						|
                        "in": "query",
 | 
						|
                        "required": true
 | 
						|
                    },
 | 
						|
                    {
 | 
						|
                        "description": "User Model",
 | 
						|
                        "name": "user",
 | 
						|
                        "in": "body",
 | 
						|
                        "required": true,
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/users.User"
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                ],
 | 
						|
                "responses": {
 | 
						|
                    "200": {
 | 
						|
                        "description": "OK",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/users.User"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "400": {
 | 
						|
                        "description": "Bad Request",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "401": {
 | 
						|
                        "description": "Unauthorized",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "403": {
 | 
						|
                        "description": "Forbidden",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "404": {
 | 
						|
                        "description": "Not Found",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "500": {
 | 
						|
                        "description": "Internal Server Error",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                }
 | 
						|
            }
 | 
						|
        },
 | 
						|
        "/backend/users": {
 | 
						|
            "get": {
 | 
						|
                "security": [
 | 
						|
                    {
 | 
						|
                        "ApiBasicAuth": []
 | 
						|
                    }
 | 
						|
                ],
 | 
						|
                "produces": [
 | 
						|
                    "application/json"
 | 
						|
                ],
 | 
						|
                "tags": [
 | 
						|
                    "Users"
 | 
						|
                ],
 | 
						|
                "summary": "Retrieves all users",
 | 
						|
                "responses": {
 | 
						|
                    "200": {
 | 
						|
                        "description": "OK",
 | 
						|
                        "schema": {
 | 
						|
                            "type": "array",
 | 
						|
                            "items": {
 | 
						|
                                "$ref": "#/definitions/users.User"
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "401": {
 | 
						|
                        "description": "Unauthorized",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "403": {
 | 
						|
                        "description": "Forbidden",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "404": {
 | 
						|
                        "description": "Not Found",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                }
 | 
						|
            },
 | 
						|
            "post": {
 | 
						|
                "security": [
 | 
						|
                    {
 | 
						|
                        "ApiBasicAuth": []
 | 
						|
                    }
 | 
						|
                ],
 | 
						|
                "consumes": [
 | 
						|
                    "application/json"
 | 
						|
                ],
 | 
						|
                "produces": [
 | 
						|
                    "application/json"
 | 
						|
                ],
 | 
						|
                "tags": [
 | 
						|
                    "Users"
 | 
						|
                ],
 | 
						|
                "summary": "Creates a new user based on the given user model",
 | 
						|
                "parameters": [
 | 
						|
                    {
 | 
						|
                        "description": "User Model",
 | 
						|
                        "name": "user",
 | 
						|
                        "in": "body",
 | 
						|
                        "required": true,
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/users.User"
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                ],
 | 
						|
                "responses": {
 | 
						|
                    "200": {
 | 
						|
                        "description": "OK",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/users.User"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "400": {
 | 
						|
                        "description": "Bad Request",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "401": {
 | 
						|
                        "description": "Unauthorized",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "403": {
 | 
						|
                        "description": "Forbidden",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "404": {
 | 
						|
                        "description": "Not Found",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "500": {
 | 
						|
                        "description": "Internal Server Error",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                }
 | 
						|
            }
 | 
						|
        },
 | 
						|
        "/provisioning/peer": {
 | 
						|
            "get": {
 | 
						|
                "security": [
 | 
						|
                    {
 | 
						|
                        "GeneralBasicAuth": []
 | 
						|
                    }
 | 
						|
                ],
 | 
						|
                "produces": [
 | 
						|
                    "text/plain"
 | 
						|
                ],
 | 
						|
                "tags": [
 | 
						|
                    "Provisioning"
 | 
						|
                ],
 | 
						|
                "summary": "Retrieves the peer config for the given public key",
 | 
						|
                "parameters": [
 | 
						|
                    {
 | 
						|
                        "type": "string",
 | 
						|
                        "description": "Public Key (Base 64)",
 | 
						|
                        "name": "pkey",
 | 
						|
                        "in": "query",
 | 
						|
                        "required": true
 | 
						|
                    }
 | 
						|
                ],
 | 
						|
                "responses": {
 | 
						|
                    "200": {
 | 
						|
                        "description": "The WireGuard configuration file",
 | 
						|
                        "schema": {
 | 
						|
                            "type": "string"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "401": {
 | 
						|
                        "description": "Unauthorized",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "403": {
 | 
						|
                        "description": "Forbidden",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "404": {
 | 
						|
                        "description": "Not Found",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                }
 | 
						|
            }
 | 
						|
        },
 | 
						|
        "/provisioning/peers": {
 | 
						|
            "get": {
 | 
						|
                "security": [
 | 
						|
                    {
 | 
						|
                        "GeneralBasicAuth": []
 | 
						|
                    }
 | 
						|
                ],
 | 
						|
                "produces": [
 | 
						|
                    "application/json"
 | 
						|
                ],
 | 
						|
                "tags": [
 | 
						|
                    "Provisioning"
 | 
						|
                ],
 | 
						|
                "summary": "Retrieves all active peers for the given email address",
 | 
						|
                "parameters": [
 | 
						|
                    {
 | 
						|
                        "type": "string",
 | 
						|
                        "description": "Email Address",
 | 
						|
                        "name": "email",
 | 
						|
                        "in": "query",
 | 
						|
                        "required": true
 | 
						|
                    }
 | 
						|
                ],
 | 
						|
                "responses": {
 | 
						|
                    "200": {
 | 
						|
                        "description": "All active WireGuard peers",
 | 
						|
                        "schema": {
 | 
						|
                            "type": "array",
 | 
						|
                            "items": {
 | 
						|
                                "$ref": "#/definitions/server.PeerDeploymentInformation"
 | 
						|
                            }
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "401": {
 | 
						|
                        "description": "Unauthorized",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "403": {
 | 
						|
                        "description": "Forbidden",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "404": {
 | 
						|
                        "description": "Not Found",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                }
 | 
						|
            },
 | 
						|
            "post": {
 | 
						|
                "security": [
 | 
						|
                    {
 | 
						|
                        "GeneralBasicAuth": []
 | 
						|
                    }
 | 
						|
                ],
 | 
						|
                "consumes": [
 | 
						|
                    "application/json"
 | 
						|
                ],
 | 
						|
                "produces": [
 | 
						|
                    "text/plain"
 | 
						|
                ],
 | 
						|
                "tags": [
 | 
						|
                    "Provisioning"
 | 
						|
                ],
 | 
						|
                "summary": "Creates the requested peer config and returns the config file",
 | 
						|
                "parameters": [
 | 
						|
                    {
 | 
						|
                        "description": "Provisioning Request Model",
 | 
						|
                        "name": "body",
 | 
						|
                        "in": "body",
 | 
						|
                        "required": true,
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ProvisioningRequest"
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                ],
 | 
						|
                "responses": {
 | 
						|
                    "200": {
 | 
						|
                        "description": "The WireGuard configuration file",
 | 
						|
                        "schema": {
 | 
						|
                            "type": "string"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "401": {
 | 
						|
                        "description": "Unauthorized",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "403": {
 | 
						|
                        "description": "Forbidden",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    },
 | 
						|
                    "404": {
 | 
						|
                        "description": "Not Found",
 | 
						|
                        "schema": {
 | 
						|
                            "$ref": "#/definitions/server.ApiError"
 | 
						|
                        }
 | 
						|
                    }
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
    },
 | 
						|
    "definitions": {
 | 
						|
        "gorm.DeletedAt": {
 | 
						|
            "type": "object",
 | 
						|
            "properties": {
 | 
						|
                "time": {
 | 
						|
                    "type": "string"
 | 
						|
                },
 | 
						|
                "valid": {
 | 
						|
                    "description": "Valid is true if Time is not NULL",
 | 
						|
                    "type": "boolean"
 | 
						|
                }
 | 
						|
            }
 | 
						|
        },
 | 
						|
        "server.ApiError": {
 | 
						|
            "type": "object",
 | 
						|
            "properties": {
 | 
						|
                "message": {
 | 
						|
                    "type": "string"
 | 
						|
                }
 | 
						|
            }
 | 
						|
        },
 | 
						|
        "server.PeerDeploymentInformation": {
 | 
						|
            "type": "object",
 | 
						|
            "properties": {
 | 
						|
                "device": {
 | 
						|
                    "type": "string"
 | 
						|
                },
 | 
						|
                "deviceIdentifier": {
 | 
						|
                    "type": "string"
 | 
						|
                },
 | 
						|
                "identifier": {
 | 
						|
                    "type": "string"
 | 
						|
                },
 | 
						|
                "publicKey": {
 | 
						|
                    "type": "string"
 | 
						|
                }
 | 
						|
            }
 | 
						|
        },
 | 
						|
        "server.ProvisioningRequest": {
 | 
						|
            "type": "object",
 | 
						|
            "required": [
 | 
						|
                "email",
 | 
						|
                "identifier"
 | 
						|
            ],
 | 
						|
            "properties": {
 | 
						|
                "allowedIPsStr": {
 | 
						|
                    "type": "string"
 | 
						|
                },
 | 
						|
                "deviceName": {
 | 
						|
                    "description": "DeviceName is optional, if not specified, the configured default device will be used.",
 | 
						|
                    "type": "string"
 | 
						|
                },
 | 
						|
                "dnsstr": {
 | 
						|
                    "type": "string"
 | 
						|
                },
 | 
						|
                "email": {
 | 
						|
                    "type": "string"
 | 
						|
                },
 | 
						|
                "identifier": {
 | 
						|
                    "type": "string"
 | 
						|
                },
 | 
						|
                "mtu": {
 | 
						|
                    "type": "integer"
 | 
						|
                },
 | 
						|
                "persistentKeepalive": {
 | 
						|
                    "type": "integer"
 | 
						|
                }
 | 
						|
            }
 | 
						|
        },
 | 
						|
        "users.User": {
 | 
						|
            "type": "object",
 | 
						|
            "required": [
 | 
						|
                "email",
 | 
						|
                "firstname",
 | 
						|
                "lastname"
 | 
						|
            ],
 | 
						|
            "properties": {
 | 
						|
                "createdAt": {
 | 
						|
                    "description": "database internal fields",
 | 
						|
                    "type": "string"
 | 
						|
                },
 | 
						|
                "deletedAt": {
 | 
						|
                    "$ref": "#/definitions/gorm.DeletedAt"
 | 
						|
                },
 | 
						|
                "email": {
 | 
						|
                    "description": "required fields",
 | 
						|
                    "type": "string"
 | 
						|
                },
 | 
						|
                "firstname": {
 | 
						|
                    "description": "optional fields",
 | 
						|
                    "type": "string"
 | 
						|
                },
 | 
						|
                "isAdmin": {
 | 
						|
                    "type": "boolean"
 | 
						|
                },
 | 
						|
                "lastname": {
 | 
						|
                    "type": "string"
 | 
						|
                },
 | 
						|
                "password": {
 | 
						|
                    "description": "optional, integrated password authentication",
 | 
						|
                    "type": "string"
 | 
						|
                },
 | 
						|
                "phone": {
 | 
						|
                    "type": "string"
 | 
						|
                },
 | 
						|
                "source": {
 | 
						|
                    "type": "string"
 | 
						|
                },
 | 
						|
                "updatedAt": {
 | 
						|
                    "type": "string"
 | 
						|
                }
 | 
						|
            }
 | 
						|
        },
 | 
						|
        "wireguard.Device": {
 | 
						|
            "type": "object",
 | 
						|
            "required": [
 | 
						|
                "deviceName",
 | 
						|
                "ipsStr",
 | 
						|
                "privateKey",
 | 
						|
                "publicKey",
 | 
						|
                "type"
 | 
						|
            ],
 | 
						|
            "properties": {
 | 
						|
                "createdAt": {
 | 
						|
                    "type": "string"
 | 
						|
                },
 | 
						|
                "defaultAllowedIPsStr": {
 | 
						|
                    "description": "comma separated list  of IPs that are used in the client config file",
 | 
						|
                    "type": "string"
 | 
						|
                },
 | 
						|
                "defaultEndpoint": {
 | 
						|
                    "description": "Settings that are applied to all peer by default",
 | 
						|
                    "type": "string"
 | 
						|
                },
 | 
						|
                "defaultPersistentKeepalive": {
 | 
						|
                    "type": "integer"
 | 
						|
                },
 | 
						|
                "deviceName": {
 | 
						|
                    "type": "string"
 | 
						|
                },
 | 
						|
                "displayName": {
 | 
						|
                    "type": "string"
 | 
						|
                },
 | 
						|
                "dnsstr": {
 | 
						|
                    "description": "comma separated list of the DNS servers of the client, wg-quick addition",
 | 
						|
                    "type": "string"
 | 
						|
                },
 | 
						|
                "firewallMark": {
 | 
						|
                    "type": "integer"
 | 
						|
                },
 | 
						|
                "ipsStr": {
 | 
						|
                    "description": "comma separated list of the IPs of the client, wg-quick addition",
 | 
						|
                    "type": "string"
 | 
						|
                },
 | 
						|
                "listenPort": {
 | 
						|
                    "type": "integer"
 | 
						|
                },
 | 
						|
                "mtu": {
 | 
						|
                    "description": "the interface MTU, wg-quick addition",
 | 
						|
                    "type": "integer"
 | 
						|
                },
 | 
						|
                "postDown": {
 | 
						|
                    "description": "post down script, wg-quick addition",
 | 
						|
                    "type": "string"
 | 
						|
                },
 | 
						|
                "postUp": {
 | 
						|
                    "description": "post up script, wg-quick addition",
 | 
						|
                    "type": "string"
 | 
						|
                },
 | 
						|
                "preDown": {
 | 
						|
                    "description": "pre down script, wg-quick addition",
 | 
						|
                    "type": "string"
 | 
						|
                },
 | 
						|
                "preUp": {
 | 
						|
                    "description": "pre up script, wg-quick addition",
 | 
						|
                    "type": "string"
 | 
						|
                },
 | 
						|
                "privateKey": {
 | 
						|
                    "description": "Core WireGuard Settings (Interface section)",
 | 
						|
                    "type": "string"
 | 
						|
                },
 | 
						|
                "publicKey": {
 | 
						|
                    "description": "Misc. WireGuard Settings",
 | 
						|
                    "type": "string"
 | 
						|
                },
 | 
						|
                "routingTable": {
 | 
						|
                    "description": "the routing table, wg-quick addition",
 | 
						|
                    "type": "string"
 | 
						|
                },
 | 
						|
                "saveConfig": {
 | 
						|
                    "description": "if set to ` + "`" + `true', the configuration is saved from the current state of the interface upon shutdown, wg-quick addition",
 | 
						|
                    "type": "boolean"
 | 
						|
                },
 | 
						|
                "type": {
 | 
						|
                    "type": "string"
 | 
						|
                },
 | 
						|
                "updatedAt": {
 | 
						|
                    "type": "string"
 | 
						|
                }
 | 
						|
            }
 | 
						|
        },
 | 
						|
        "wireguard.Peer": {
 | 
						|
            "type": "object",
 | 
						|
            "required": [
 | 
						|
                "deviceName",
 | 
						|
                "email",
 | 
						|
                "identifier",
 | 
						|
                "publicKey"
 | 
						|
            ],
 | 
						|
            "properties": {
 | 
						|
                "allowedIPsStr": {
 | 
						|
                    "description": "a comma separated list of IPs that are used in the client config file",
 | 
						|
                    "type": "string"
 | 
						|
                },
 | 
						|
                "createdAt": {
 | 
						|
                    "type": "string"
 | 
						|
                },
 | 
						|
                "createdBy": {
 | 
						|
                    "type": "string"
 | 
						|
                },
 | 
						|
                "deactivatedAt": {
 | 
						|
                    "type": "string"
 | 
						|
                },
 | 
						|
                "deviceName": {
 | 
						|
                    "type": "string"
 | 
						|
                },
 | 
						|
                "dnsstr": {
 | 
						|
                    "description": "comma separated list of the DNS servers for the client",
 | 
						|
                    "type": "string"
 | 
						|
                },
 | 
						|
                "email": {
 | 
						|
                    "type": "string"
 | 
						|
                },
 | 
						|
                "endpoint": {
 | 
						|
                    "type": "string"
 | 
						|
                },
 | 
						|
                "identifier": {
 | 
						|
                    "description": "Identifier AND Email make a WireGuard peer unique",
 | 
						|
                    "type": "string"
 | 
						|
                },
 | 
						|
                "ignoreGlobalSettings": {
 | 
						|
                    "type": "boolean"
 | 
						|
                },
 | 
						|
                "ipsStr": {
 | 
						|
                    "description": "a comma separated list of IPs of the client",
 | 
						|
                    "type": "string"
 | 
						|
                },
 | 
						|
                "mtu": {
 | 
						|
                    "description": "Global Device Settings (can be ignored, only make sense if device is in server mode)",
 | 
						|
                    "type": "integer"
 | 
						|
                },
 | 
						|
                "persistentKeepalive": {
 | 
						|
                    "type": "integer"
 | 
						|
                },
 | 
						|
                "presharedKey": {
 | 
						|
                    "type": "string"
 | 
						|
                },
 | 
						|
                "privateKey": {
 | 
						|
                    "description": "Misc. WireGuard Settings",
 | 
						|
                    "type": "string"
 | 
						|
                },
 | 
						|
                "publicKey": {
 | 
						|
                    "description": "Core WireGuard Settings",
 | 
						|
                    "type": "string"
 | 
						|
                },
 | 
						|
                "updatedAt": {
 | 
						|
                    "type": "string"
 | 
						|
                },
 | 
						|
                "updatedBy": {
 | 
						|
                    "type": "string"
 | 
						|
                }
 | 
						|
            }
 | 
						|
        }
 | 
						|
    },
 | 
						|
    "securityDefinitions": {
 | 
						|
        "ApiBasicAuth": {
 | 
						|
            "type": "basic"
 | 
						|
        },
 | 
						|
        "GeneralBasicAuth": {
 | 
						|
            "type": "basic"
 | 
						|
        }
 | 
						|
    }
 | 
						|
}`
 | 
						|
 | 
						|
type swaggerInfo struct {
 | 
						|
	Version     string
 | 
						|
	Host        string
 | 
						|
	BasePath    string
 | 
						|
	Schemes     []string
 | 
						|
	Title       string
 | 
						|
	Description string
 | 
						|
}
 | 
						|
 | 
						|
// SwaggerInfo holds exported Swagger Info so clients can modify it
 | 
						|
var SwaggerInfo = swaggerInfo{
 | 
						|
	Version:     "1.0",
 | 
						|
	Host:        "",
 | 
						|
	BasePath:    "/api/v1",
 | 
						|
	Schemes:     []string{},
 | 
						|
	Title:       "WireGuard Portal API",
 | 
						|
	Description: "WireGuard Portal API for managing users and peers.",
 | 
						|
}
 | 
						|
 | 
						|
type s struct{}
 | 
						|
 | 
						|
func (s *s) ReadDoc() string {
 | 
						|
	sInfo := SwaggerInfo
 | 
						|
	sInfo.Description = strings.Replace(sInfo.Description, "\n", "\\n", -1)
 | 
						|
 | 
						|
	t, err := template.New("swagger_info").Funcs(template.FuncMap{
 | 
						|
		"marshal": func(v interface{}) string {
 | 
						|
			a, _ := json.Marshal(v)
 | 
						|
			return string(a)
 | 
						|
		},
 | 
						|
	}).Parse(doc)
 | 
						|
	if err != nil {
 | 
						|
		return doc
 | 
						|
	}
 | 
						|
 | 
						|
	var tpl bytes.Buffer
 | 
						|
	if err := t.Execute(&tpl, sInfo); err != nil {
 | 
						|
		return doc
 | 
						|
	}
 | 
						|
 | 
						|
	return tpl.String()
 | 
						|
}
 | 
						|
 | 
						|
func init() {
 | 
						|
	swag.Register(swag.Name, &s{})
 | 
						|
}
 |