base16-schemes: unstable-2024-06-21 -> unstable-2024-11-12
[NixPkgs.git] / pkgs / by-name / hy / hyprspace / config_generated.go
blob1578bd9d50fdf218a3aff7b6597a7a0de04f80ae
1 // Code generated by github.com/atombender/go-jsonschema, DO NOT EDIT.
3 package schema
5 import "encoding/json"
6 import "fmt"
8 type Config struct {
9 // List of addresses to listen on for libp2p traffic.
10 ListenAddresses []string `json:"listenAddresses,omitempty"`
12 // Trusted peers in the network.
13 Peers []ConfigPeersElem `json:"peers,omitempty"`
15 // This node's private key.
16 PrivateKey string `json:"privateKey"`
18 // The services this node provides via the Service Network.
19 Services ConfigServices `json:"services,omitempty"`
22 type ConfigPeersElem struct {
23 // PeerID of this peer.
24 Id string `json:"id"`
26 // Friendly name for this peer. (optional)
27 Name string `json:"name,omitempty"`
29 // Networks to route to this peer. (optional)
30 Routes []ConfigPeersElemRoutesElem `json:"routes,omitempty"`
33 type ConfigPeersElemRoutesElem struct {
34 // Network specification.
35 Net string `json:"net"`
38 // UnmarshalJSON implements json.Unmarshaler.
39 func (j *ConfigPeersElemRoutesElem) UnmarshalJSON(b []byte) error {
40 var raw map[string]interface{}
41 if err := json.Unmarshal(b, &raw); err != nil {
42 return err
44 if _, ok := raw["net"]; raw != nil && !ok {
45 return fmt.Errorf("field net in ConfigPeersElemRoutesElem: required")
47 type Plain ConfigPeersElemRoutesElem
48 var plain Plain
49 if err := json.Unmarshal(b, &plain); err != nil {
50 return err
52 *j = ConfigPeersElemRoutesElem(plain)
53 return nil
56 // UnmarshalJSON implements json.Unmarshaler.
57 func (j *ConfigPeersElem) UnmarshalJSON(b []byte) error {
58 var raw map[string]interface{}
59 if err := json.Unmarshal(b, &raw); err != nil {
60 return err
62 if _, ok := raw["id"]; raw != nil && !ok {
63 return fmt.Errorf("field id in ConfigPeersElem: required")
65 type Plain ConfigPeersElem
66 var plain Plain
67 if err := json.Unmarshal(b, &plain); err != nil {
68 return err
70 if v, ok := raw["name"]; !ok || v == nil {
71 plain.Name = ""
73 if v, ok := raw["routes"]; !ok || v == nil {
74 plain.Routes = []ConfigPeersElemRoutesElem{}
76 *j = ConfigPeersElem(plain)
77 return nil
80 // The services this node provides via the Service Network.
81 type ConfigServices map[string]string
83 // UnmarshalJSON implements json.Unmarshaler.
84 func (j *Config) UnmarshalJSON(b []byte) error {
85 var raw map[string]interface{}
86 if err := json.Unmarshal(b, &raw); err != nil {
87 return err
89 if _, ok := raw["privateKey"]; raw != nil && !ok {
90 return fmt.Errorf("field privateKey in Config: required")
92 type Plain Config
93 var plain Plain
94 if err := json.Unmarshal(b, &plain); err != nil {
95 return err
97 if v, ok := raw["listenAddresses"]; !ok || v == nil {
98 plain.ListenAddresses = []string{
99 "/ip4/0.0.0.0/tcp/8001",
100 "/ip4/0.0.0.0/udp/8001/quic-v1",
101 "/ip6/::/tcp/8001",
102 "/ip6/::/udp/8001/quic-v1",
105 if v, ok := raw["peers"]; !ok || v == nil {
106 plain.Peers = []ConfigPeersElem{}
108 if v, ok := raw["services"]; !ok || v == nil {
109 plain.Services = map[string]string{}
111 *j = Config(plain)
112 return nil