generated from rmcguire/go-server-with-otel
implement class logo
This commit is contained in:
7
.vscode/launch.json
vendored
7
.vscode/launch.json
vendored
@ -8,9 +8,12 @@
|
||||
"request": "launch",
|
||||
"program": "${workspaceFolder}",
|
||||
"env": {
|
||||
"APP_NAME": "Go HTTP with OTEL"
|
||||
"APP_NAME": "Class GRPC Server"
|
||||
},
|
||||
"args": []
|
||||
"args": [
|
||||
"-config",
|
||||
"config.yaml"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
4
Makefile
4
Makefile
@ -4,7 +4,7 @@ CMD_NAME := go-server-with-otel
|
||||
VERSION ?= development
|
||||
API_DIR := api/
|
||||
SCHEMA_DIR := contrib/
|
||||
PROTO_DIRS := $(wildcard proto/demo/app/*) # TODO: Update path (probably not demo)
|
||||
PROTO_FILES := $(shell find proto -name '*.proto' -not -path 'proto/google/*')
|
||||
PLATFORMS := linux/amd64 linux/arm64 darwin/amd64 darwin/arm64
|
||||
OUTPUT_DIR := bin
|
||||
VER_PKG := gitea.libretechconsulting.com/rmcguire/go-app/pkg/config.Version
|
||||
@ -20,7 +20,7 @@ proto: check_protoc $(API_DIR)
|
||||
--openapiv2_out=$(SCHEMA_DIR) \
|
||||
--openapiv2_opt allow_merge=true \
|
||||
--openapiv2_opt merge_file_name=$(CMD_NAME) \
|
||||
$(foreach dir, $(PROTO_DIRS), $(wildcard $(dir)/*.proto))
|
||||
$(PROTO_FILES)
|
||||
|
||||
test:
|
||||
go test -v ./...
|
||||
|
840
api/class/v1alpha1/class.pb.go
Normal file
840
api/class/v1alpha1/class.pb.go
Normal file
@ -0,0 +1,840 @@
|
||||
// Code generated by protoc-gen-go. DO NOT EDIT.
|
||||
// versions:
|
||||
// protoc-gen-go v1.36.6
|
||||
// protoc v5.29.3
|
||||
// source: class/v1alpha1/class.proto
|
||||
|
||||
package class
|
||||
|
||||
import (
|
||||
_ "google.golang.org/genproto/googleapis/api/annotations"
|
||||
protoreflect "google.golang.org/protobuf/reflect/protoreflect"
|
||||
protoimpl "google.golang.org/protobuf/runtime/protoimpl"
|
||||
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 Font int32
|
||||
|
||||
const (
|
||||
Font_FONT_UNSPECIFIED Font = 0
|
||||
Font_FONT_3X5 Font = 2
|
||||
Font_FONT_5LINEOBLIQUE Font = 3
|
||||
Font_FONT_ACROBATIC Font = 4
|
||||
Font_FONT_ALLIGATOR Font = 5
|
||||
Font_FONT_ALLIGATOR2 Font = 6
|
||||
Font_FONT_ALPHABET Font = 7
|
||||
Font_FONT_AVATAR Font = 8
|
||||
Font_FONT_BANNER Font = 9
|
||||
Font_FONT_BANNER3 Font = 11
|
||||
Font_FONT_BANNER4 Font = 12
|
||||
Font_FONT_BARBWIRE Font = 13
|
||||
Font_FONT_BASIC Font = 14
|
||||
Font_FONT_BELL Font = 15
|
||||
Font_FONT_BIG Font = 16
|
||||
Font_FONT_BIGCHIEF Font = 17
|
||||
Font_FONT_BINARY Font = 18
|
||||
Font_FONT_BLOCK Font = 19
|
||||
Font_FONT_BUBBLE Font = 20
|
||||
Font_FONT_BULBHEAD Font = 21
|
||||
Font_FONT_CALGPHY2 Font = 22
|
||||
Font_FONT_CALIGRAPHY Font = 23
|
||||
Font_FONT_CATWALK Font = 24
|
||||
Font_FONT_CHUNKY Font = 25
|
||||
Font_FONT_COINSTAK Font = 26
|
||||
Font_FONT_COLOSSAL Font = 27
|
||||
Font_FONT_COMPUTER Font = 28
|
||||
Font_FONT_CONTESSA Font = 29
|
||||
Font_FONT_CONTRAST Font = 30
|
||||
Font_FONT_COSMIC Font = 31
|
||||
Font_FONT_COSMIKE Font = 32
|
||||
Font_FONT_CRICKET Font = 33
|
||||
Font_FONT_CURSIVE Font = 34
|
||||
Font_FONT_CYBERLARGE Font = 35
|
||||
Font_FONT_CYBERMEDIUM Font = 36
|
||||
Font_FONT_CYBERSMALL Font = 37
|
||||
Font_FONT_DIAMOND Font = 38
|
||||
Font_FONT_DIGITAL Font = 39
|
||||
Font_FONT_DOH Font = 40
|
||||
Font_FONT_DOOM Font = 41
|
||||
Font_FONT_DOTMATRIX Font = 42
|
||||
Font_FONT_DRPEPPER Font = 43
|
||||
Font_FONT_EFTICHESS Font = 44
|
||||
Font_FONT_EFTIFONT Font = 45
|
||||
Font_FONT_EFTIPITI Font = 46
|
||||
Font_FONT_EFTIROBOT Font = 47
|
||||
Font_FONT_EFTITALIC Font = 48
|
||||
Font_FONT_EFTIWALL Font = 49
|
||||
Font_FONT_EFTIWATER Font = 50
|
||||
Font_FONT_EPIC Font = 51
|
||||
Font_FONT_FENDER Font = 52
|
||||
Font_FONT_FOURTOPS Font = 53
|
||||
Font_FONT_FUZZY Font = 54
|
||||
Font_FONT_GOOFY Font = 55
|
||||
Font_FONT_GOTHIC Font = 56
|
||||
Font_FONT_GRAFFITI Font = 57
|
||||
Font_FONT_HOLLYWOOD Font = 58
|
||||
Font_FONT_INVITA Font = 59
|
||||
Font_FONT_ISOMETRIC1 Font = 60
|
||||
Font_FONT_ISOMETRIC2 Font = 61
|
||||
Font_FONT_ISOMETRIC3 Font = 62
|
||||
Font_FONT_ISOMETRIC4 Font = 63
|
||||
Font_FONT_ITALIC Font = 64
|
||||
Font_FONT_IVRIT Font = 65
|
||||
Font_FONT_JAZMINE Font = 66
|
||||
Font_FONT_JERUSALEM Font = 67
|
||||
Font_FONT_KATAKANA Font = 68
|
||||
Font_FONT_KBAN Font = 69
|
||||
Font_FONT_LARRY3D Font = 70
|
||||
Font_FONT_LCD Font = 71
|
||||
Font_FONT_LEAN Font = 72
|
||||
Font_FONT_LETTERS Font = 73
|
||||
Font_FONT_LINUX Font = 74
|
||||
Font_FONT_LOCKERGNOME Font = 75
|
||||
Font_FONT_MADRID Font = 76
|
||||
Font_FONT_MARQUEE Font = 77
|
||||
Font_FONT_MAXFOUR Font = 78
|
||||
Font_FONT_MIKE Font = 79
|
||||
Font_FONT_MINI Font = 80
|
||||
Font_FONT_MIRROR Font = 81
|
||||
Font_FONT_MNEMONIC Font = 82
|
||||
Font_FONT_MORSE Font = 83
|
||||
Font_FONT_MOSCOW Font = 84
|
||||
Font_FONT_NANCYJ Font = 87
|
||||
Font_FONT_NIPPLES Font = 88
|
||||
Font_FONT_NTGREEK Font = 89
|
||||
Font_FONT_O8 Font = 90
|
||||
Font_FONT_OGRE Font = 91
|
||||
Font_FONT_PAWP Font = 92
|
||||
Font_FONT_PEAKS Font = 93
|
||||
Font_FONT_PEBBLES Font = 94
|
||||
Font_FONT_PEPPER Font = 95
|
||||
Font_FONT_POISON Font = 96
|
||||
Font_FONT_PUFFY Font = 97
|
||||
Font_FONT_PYRAMID Font = 98
|
||||
Font_FONT_RECTANGLES Font = 99
|
||||
Font_FONT_RELIEF Font = 100
|
||||
Font_FONT_RELIEF2 Font = 101
|
||||
Font_FONT_REV Font = 102
|
||||
Font_FONT_ROMAN Font = 103
|
||||
Font_FONT_ROT13 Font = 104
|
||||
Font_FONT_ROUNDED Font = 105
|
||||
Font_FONT_ROWANCAP Font = 106
|
||||
Font_FONT_ROZZO Font = 107
|
||||
Font_FONT_RUNIC Font = 108
|
||||
Font_FONT_RUNYC Font = 109
|
||||
Font_FONT_SBLOOD Font = 110
|
||||
Font_FONT_SCRIPT Font = 111
|
||||
Font_FONT_SERIFCAP Font = 112
|
||||
Font_FONT_SHADOW Font = 113
|
||||
Font_FONT_SHORT Font = 114
|
||||
Font_FONT_SLANT Font = 115
|
||||
Font_FONT_SLIDE Font = 116
|
||||
Font_FONT_SLSCRIPT Font = 117
|
||||
Font_FONT_SMALL Font = 118
|
||||
Font_FONT_SMISOME1 Font = 119
|
||||
Font_FONT_SMKEYBOARD Font = 120
|
||||
Font_FONT_SMSCRIPT Font = 121
|
||||
Font_FONT_SMSHADOW Font = 122
|
||||
Font_FONT_SMSLANT Font = 123
|
||||
Font_FONT_SMTENGWAR Font = 124
|
||||
Font_FONT_SPEED Font = 125
|
||||
Font_FONT_STAMPATELLO Font = 126
|
||||
Font_FONT_STANDARD Font = 127
|
||||
Font_FONT_STARWARS Font = 128
|
||||
Font_FONT_STELLAR Font = 129
|
||||
Font_FONT_STOP Font = 130
|
||||
Font_FONT_STRAIGHT Font = 131
|
||||
Font_FONT_TANJA Font = 132
|
||||
Font_FONT_TENGWAR Font = 133
|
||||
Font_FONT_TERM Font = 134
|
||||
Font_FONT_THICK Font = 135
|
||||
Font_FONT_THIN Font = 136
|
||||
Font_FONT_THREEPOINT Font = 137
|
||||
Font_FONT_TICKS Font = 138
|
||||
Font_FONT_TICKSSLANT Font = 139
|
||||
Font_FONT_TOMBSTONE Font = 141
|
||||
Font_FONT_TREK Font = 142
|
||||
Font_FONT_TSALAGI Font = 143
|
||||
Font_FONT_TWOPOINT Font = 144
|
||||
Font_FONT_UNIVERS Font = 145
|
||||
Font_FONT_USAFLAG Font = 146
|
||||
Font_FONT_WAVY Font = 147
|
||||
Font_FONT_WEIRD Font = 148
|
||||
)
|
||||
|
||||
// Enum value maps for Font.
|
||||
var (
|
||||
Font_name = map[int32]string{
|
||||
0: "FONT_UNSPECIFIED",
|
||||
2: "FONT_3X5",
|
||||
3: "FONT_5LINEOBLIQUE",
|
||||
4: "FONT_ACROBATIC",
|
||||
5: "FONT_ALLIGATOR",
|
||||
6: "FONT_ALLIGATOR2",
|
||||
7: "FONT_ALPHABET",
|
||||
8: "FONT_AVATAR",
|
||||
9: "FONT_BANNER",
|
||||
11: "FONT_BANNER3",
|
||||
12: "FONT_BANNER4",
|
||||
13: "FONT_BARBWIRE",
|
||||
14: "FONT_BASIC",
|
||||
15: "FONT_BELL",
|
||||
16: "FONT_BIG",
|
||||
17: "FONT_BIGCHIEF",
|
||||
18: "FONT_BINARY",
|
||||
19: "FONT_BLOCK",
|
||||
20: "FONT_BUBBLE",
|
||||
21: "FONT_BULBHEAD",
|
||||
22: "FONT_CALGPHY2",
|
||||
23: "FONT_CALIGRAPHY",
|
||||
24: "FONT_CATWALK",
|
||||
25: "FONT_CHUNKY",
|
||||
26: "FONT_COINSTAK",
|
||||
27: "FONT_COLOSSAL",
|
||||
28: "FONT_COMPUTER",
|
||||
29: "FONT_CONTESSA",
|
||||
30: "FONT_CONTRAST",
|
||||
31: "FONT_COSMIC",
|
||||
32: "FONT_COSMIKE",
|
||||
33: "FONT_CRICKET",
|
||||
34: "FONT_CURSIVE",
|
||||
35: "FONT_CYBERLARGE",
|
||||
36: "FONT_CYBERMEDIUM",
|
||||
37: "FONT_CYBERSMALL",
|
||||
38: "FONT_DIAMOND",
|
||||
39: "FONT_DIGITAL",
|
||||
40: "FONT_DOH",
|
||||
41: "FONT_DOOM",
|
||||
42: "FONT_DOTMATRIX",
|
||||
43: "FONT_DRPEPPER",
|
||||
44: "FONT_EFTICHESS",
|
||||
45: "FONT_EFTIFONT",
|
||||
46: "FONT_EFTIPITI",
|
||||
47: "FONT_EFTIROBOT",
|
||||
48: "FONT_EFTITALIC",
|
||||
49: "FONT_EFTIWALL",
|
||||
50: "FONT_EFTIWATER",
|
||||
51: "FONT_EPIC",
|
||||
52: "FONT_FENDER",
|
||||
53: "FONT_FOURTOPS",
|
||||
54: "FONT_FUZZY",
|
||||
55: "FONT_GOOFY",
|
||||
56: "FONT_GOTHIC",
|
||||
57: "FONT_GRAFFITI",
|
||||
58: "FONT_HOLLYWOOD",
|
||||
59: "FONT_INVITA",
|
||||
60: "FONT_ISOMETRIC1",
|
||||
61: "FONT_ISOMETRIC2",
|
||||
62: "FONT_ISOMETRIC3",
|
||||
63: "FONT_ISOMETRIC4",
|
||||
64: "FONT_ITALIC",
|
||||
65: "FONT_IVRIT",
|
||||
66: "FONT_JAZMINE",
|
||||
67: "FONT_JERUSALEM",
|
||||
68: "FONT_KATAKANA",
|
||||
69: "FONT_KBAN",
|
||||
70: "FONT_LARRY3D",
|
||||
71: "FONT_LCD",
|
||||
72: "FONT_LEAN",
|
||||
73: "FONT_LETTERS",
|
||||
74: "FONT_LINUX",
|
||||
75: "FONT_LOCKERGNOME",
|
||||
76: "FONT_MADRID",
|
||||
77: "FONT_MARQUEE",
|
||||
78: "FONT_MAXFOUR",
|
||||
79: "FONT_MIKE",
|
||||
80: "FONT_MINI",
|
||||
81: "FONT_MIRROR",
|
||||
82: "FONT_MNEMONIC",
|
||||
83: "FONT_MORSE",
|
||||
84: "FONT_MOSCOW",
|
||||
87: "FONT_NANCYJ",
|
||||
88: "FONT_NIPPLES",
|
||||
89: "FONT_NTGREEK",
|
||||
90: "FONT_O8",
|
||||
91: "FONT_OGRE",
|
||||
92: "FONT_PAWP",
|
||||
93: "FONT_PEAKS",
|
||||
94: "FONT_PEBBLES",
|
||||
95: "FONT_PEPPER",
|
||||
96: "FONT_POISON",
|
||||
97: "FONT_PUFFY",
|
||||
98: "FONT_PYRAMID",
|
||||
99: "FONT_RECTANGLES",
|
||||
100: "FONT_RELIEF",
|
||||
101: "FONT_RELIEF2",
|
||||
102: "FONT_REV",
|
||||
103: "FONT_ROMAN",
|
||||
104: "FONT_ROT13",
|
||||
105: "FONT_ROUNDED",
|
||||
106: "FONT_ROWANCAP",
|
||||
107: "FONT_ROZZO",
|
||||
108: "FONT_RUNIC",
|
||||
109: "FONT_RUNYC",
|
||||
110: "FONT_SBLOOD",
|
||||
111: "FONT_SCRIPT",
|
||||
112: "FONT_SERIFCAP",
|
||||
113: "FONT_SHADOW",
|
||||
114: "FONT_SHORT",
|
||||
115: "FONT_SLANT",
|
||||
116: "FONT_SLIDE",
|
||||
117: "FONT_SLSCRIPT",
|
||||
118: "FONT_SMALL",
|
||||
119: "FONT_SMISOME1",
|
||||
120: "FONT_SMKEYBOARD",
|
||||
121: "FONT_SMSCRIPT",
|
||||
122: "FONT_SMSHADOW",
|
||||
123: "FONT_SMSLANT",
|
||||
124: "FONT_SMTENGWAR",
|
||||
125: "FONT_SPEED",
|
||||
126: "FONT_STAMPATELLO",
|
||||
127: "FONT_STANDARD",
|
||||
128: "FONT_STARWARS",
|
||||
129: "FONT_STELLAR",
|
||||
130: "FONT_STOP",
|
||||
131: "FONT_STRAIGHT",
|
||||
132: "FONT_TANJA",
|
||||
133: "FONT_TENGWAR",
|
||||
134: "FONT_TERM",
|
||||
135: "FONT_THICK",
|
||||
136: "FONT_THIN",
|
||||
137: "FONT_THREEPOINT",
|
||||
138: "FONT_TICKS",
|
||||
139: "FONT_TICKSSLANT",
|
||||
141: "FONT_TOMBSTONE",
|
||||
142: "FONT_TREK",
|
||||
143: "FONT_TSALAGI",
|
||||
144: "FONT_TWOPOINT",
|
||||
145: "FONT_UNIVERS",
|
||||
146: "FONT_USAFLAG",
|
||||
147: "FONT_WAVY",
|
||||
148: "FONT_WEIRD",
|
||||
}
|
||||
Font_value = map[string]int32{
|
||||
"FONT_UNSPECIFIED": 0,
|
||||
"FONT_3X5": 2,
|
||||
"FONT_5LINEOBLIQUE": 3,
|
||||
"FONT_ACROBATIC": 4,
|
||||
"FONT_ALLIGATOR": 5,
|
||||
"FONT_ALLIGATOR2": 6,
|
||||
"FONT_ALPHABET": 7,
|
||||
"FONT_AVATAR": 8,
|
||||
"FONT_BANNER": 9,
|
||||
"FONT_BANNER3": 11,
|
||||
"FONT_BANNER4": 12,
|
||||
"FONT_BARBWIRE": 13,
|
||||
"FONT_BASIC": 14,
|
||||
"FONT_BELL": 15,
|
||||
"FONT_BIG": 16,
|
||||
"FONT_BIGCHIEF": 17,
|
||||
"FONT_BINARY": 18,
|
||||
"FONT_BLOCK": 19,
|
||||
"FONT_BUBBLE": 20,
|
||||
"FONT_BULBHEAD": 21,
|
||||
"FONT_CALGPHY2": 22,
|
||||
"FONT_CALIGRAPHY": 23,
|
||||
"FONT_CATWALK": 24,
|
||||
"FONT_CHUNKY": 25,
|
||||
"FONT_COINSTAK": 26,
|
||||
"FONT_COLOSSAL": 27,
|
||||
"FONT_COMPUTER": 28,
|
||||
"FONT_CONTESSA": 29,
|
||||
"FONT_CONTRAST": 30,
|
||||
"FONT_COSMIC": 31,
|
||||
"FONT_COSMIKE": 32,
|
||||
"FONT_CRICKET": 33,
|
||||
"FONT_CURSIVE": 34,
|
||||
"FONT_CYBERLARGE": 35,
|
||||
"FONT_CYBERMEDIUM": 36,
|
||||
"FONT_CYBERSMALL": 37,
|
||||
"FONT_DIAMOND": 38,
|
||||
"FONT_DIGITAL": 39,
|
||||
"FONT_DOH": 40,
|
||||
"FONT_DOOM": 41,
|
||||
"FONT_DOTMATRIX": 42,
|
||||
"FONT_DRPEPPER": 43,
|
||||
"FONT_EFTICHESS": 44,
|
||||
"FONT_EFTIFONT": 45,
|
||||
"FONT_EFTIPITI": 46,
|
||||
"FONT_EFTIROBOT": 47,
|
||||
"FONT_EFTITALIC": 48,
|
||||
"FONT_EFTIWALL": 49,
|
||||
"FONT_EFTIWATER": 50,
|
||||
"FONT_EPIC": 51,
|
||||
"FONT_FENDER": 52,
|
||||
"FONT_FOURTOPS": 53,
|
||||
"FONT_FUZZY": 54,
|
||||
"FONT_GOOFY": 55,
|
||||
"FONT_GOTHIC": 56,
|
||||
"FONT_GRAFFITI": 57,
|
||||
"FONT_HOLLYWOOD": 58,
|
||||
"FONT_INVITA": 59,
|
||||
"FONT_ISOMETRIC1": 60,
|
||||
"FONT_ISOMETRIC2": 61,
|
||||
"FONT_ISOMETRIC3": 62,
|
||||
"FONT_ISOMETRIC4": 63,
|
||||
"FONT_ITALIC": 64,
|
||||
"FONT_IVRIT": 65,
|
||||
"FONT_JAZMINE": 66,
|
||||
"FONT_JERUSALEM": 67,
|
||||
"FONT_KATAKANA": 68,
|
||||
"FONT_KBAN": 69,
|
||||
"FONT_LARRY3D": 70,
|
||||
"FONT_LCD": 71,
|
||||
"FONT_LEAN": 72,
|
||||
"FONT_LETTERS": 73,
|
||||
"FONT_LINUX": 74,
|
||||
"FONT_LOCKERGNOME": 75,
|
||||
"FONT_MADRID": 76,
|
||||
"FONT_MARQUEE": 77,
|
||||
"FONT_MAXFOUR": 78,
|
||||
"FONT_MIKE": 79,
|
||||
"FONT_MINI": 80,
|
||||
"FONT_MIRROR": 81,
|
||||
"FONT_MNEMONIC": 82,
|
||||
"FONT_MORSE": 83,
|
||||
"FONT_MOSCOW": 84,
|
||||
"FONT_NANCYJ": 87,
|
||||
"FONT_NIPPLES": 88,
|
||||
"FONT_NTGREEK": 89,
|
||||
"FONT_O8": 90,
|
||||
"FONT_OGRE": 91,
|
||||
"FONT_PAWP": 92,
|
||||
"FONT_PEAKS": 93,
|
||||
"FONT_PEBBLES": 94,
|
||||
"FONT_PEPPER": 95,
|
||||
"FONT_POISON": 96,
|
||||
"FONT_PUFFY": 97,
|
||||
"FONT_PYRAMID": 98,
|
||||
"FONT_RECTANGLES": 99,
|
||||
"FONT_RELIEF": 100,
|
||||
"FONT_RELIEF2": 101,
|
||||
"FONT_REV": 102,
|
||||
"FONT_ROMAN": 103,
|
||||
"FONT_ROT13": 104,
|
||||
"FONT_ROUNDED": 105,
|
||||
"FONT_ROWANCAP": 106,
|
||||
"FONT_ROZZO": 107,
|
||||
"FONT_RUNIC": 108,
|
||||
"FONT_RUNYC": 109,
|
||||
"FONT_SBLOOD": 110,
|
||||
"FONT_SCRIPT": 111,
|
||||
"FONT_SERIFCAP": 112,
|
||||
"FONT_SHADOW": 113,
|
||||
"FONT_SHORT": 114,
|
||||
"FONT_SLANT": 115,
|
||||
"FONT_SLIDE": 116,
|
||||
"FONT_SLSCRIPT": 117,
|
||||
"FONT_SMALL": 118,
|
||||
"FONT_SMISOME1": 119,
|
||||
"FONT_SMKEYBOARD": 120,
|
||||
"FONT_SMSCRIPT": 121,
|
||||
"FONT_SMSHADOW": 122,
|
||||
"FONT_SMSLANT": 123,
|
||||
"FONT_SMTENGWAR": 124,
|
||||
"FONT_SPEED": 125,
|
||||
"FONT_STAMPATELLO": 126,
|
||||
"FONT_STANDARD": 127,
|
||||
"FONT_STARWARS": 128,
|
||||
"FONT_STELLAR": 129,
|
||||
"FONT_STOP": 130,
|
||||
"FONT_STRAIGHT": 131,
|
||||
"FONT_TANJA": 132,
|
||||
"FONT_TENGWAR": 133,
|
||||
"FONT_TERM": 134,
|
||||
"FONT_THICK": 135,
|
||||
"FONT_THIN": 136,
|
||||
"FONT_THREEPOINT": 137,
|
||||
"FONT_TICKS": 138,
|
||||
"FONT_TICKSSLANT": 139,
|
||||
"FONT_TOMBSTONE": 141,
|
||||
"FONT_TREK": 142,
|
||||
"FONT_TSALAGI": 143,
|
||||
"FONT_TWOPOINT": 144,
|
||||
"FONT_UNIVERS": 145,
|
||||
"FONT_USAFLAG": 146,
|
||||
"FONT_WAVY": 147,
|
||||
"FONT_WEIRD": 148,
|
||||
}
|
||||
)
|
||||
|
||||
func (x Font) Enum() *Font {
|
||||
p := new(Font)
|
||||
*p = x
|
||||
return p
|
||||
}
|
||||
|
||||
func (x Font) String() string {
|
||||
return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
|
||||
}
|
||||
|
||||
func (Font) Descriptor() protoreflect.EnumDescriptor {
|
||||
return file_class_v1alpha1_class_proto_enumTypes[0].Descriptor()
|
||||
}
|
||||
|
||||
func (Font) Type() protoreflect.EnumType {
|
||||
return &file_class_v1alpha1_class_proto_enumTypes[0]
|
||||
}
|
||||
|
||||
func (x Font) Number() protoreflect.EnumNumber {
|
||||
return protoreflect.EnumNumber(x)
|
||||
}
|
||||
|
||||
// Deprecated: Use Font.Descriptor instead.
|
||||
func (Font) EnumDescriptor() ([]byte, []int) {
|
||||
return file_class_v1alpha1_class_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
type GetClassLogoRequest struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
Font Font `protobuf:"varint,1,opt,name=font,proto3,enum=class.v1alpha1.Font" json:"font,omitempty"`
|
||||
IncludeString *bool `protobuf:"varint,2,opt,name=include_string,json=includeString,proto3,oneof" json:"include_string,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *GetClassLogoRequest) Reset() {
|
||||
*x = GetClassLogoRequest{}
|
||||
mi := &file_class_v1alpha1_class_proto_msgTypes[0]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
||||
func (x *GetClassLogoRequest) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*GetClassLogoRequest) ProtoMessage() {}
|
||||
|
||||
func (x *GetClassLogoRequest) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_class_v1alpha1_class_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 GetClassLogoRequest.ProtoReflect.Descriptor instead.
|
||||
func (*GetClassLogoRequest) Descriptor() ([]byte, []int) {
|
||||
return file_class_v1alpha1_class_proto_rawDescGZIP(), []int{0}
|
||||
}
|
||||
|
||||
func (x *GetClassLogoRequest) GetFont() Font {
|
||||
if x != nil {
|
||||
return x.Font
|
||||
}
|
||||
return Font_FONT_UNSPECIFIED
|
||||
}
|
||||
|
||||
func (x *GetClassLogoRequest) GetIncludeString() bool {
|
||||
if x != nil && x.IncludeString != nil {
|
||||
return *x.IncludeString
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
type GetClassLogoResponse struct {
|
||||
state protoimpl.MessageState `protogen:"open.v1"`
|
||||
LogoBytes []byte `protobuf:"bytes,1,opt,name=logo_bytes,json=logoBytes,proto3" json:"logo_bytes,omitempty"`
|
||||
LogoString string `protobuf:"bytes,2,opt,name=logo_string,json=logoString,proto3" json:"logo_string,omitempty"`
|
||||
unknownFields protoimpl.UnknownFields
|
||||
sizeCache protoimpl.SizeCache
|
||||
}
|
||||
|
||||
func (x *GetClassLogoResponse) Reset() {
|
||||
*x = GetClassLogoResponse{}
|
||||
mi := &file_class_v1alpha1_class_proto_msgTypes[1]
|
||||
ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
|
||||
ms.StoreMessageInfo(mi)
|
||||
}
|
||||
|
||||
func (x *GetClassLogoResponse) String() string {
|
||||
return protoimpl.X.MessageStringOf(x)
|
||||
}
|
||||
|
||||
func (*GetClassLogoResponse) ProtoMessage() {}
|
||||
|
||||
func (x *GetClassLogoResponse) ProtoReflect() protoreflect.Message {
|
||||
mi := &file_class_v1alpha1_class_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 GetClassLogoResponse.ProtoReflect.Descriptor instead.
|
||||
func (*GetClassLogoResponse) Descriptor() ([]byte, []int) {
|
||||
return file_class_v1alpha1_class_proto_rawDescGZIP(), []int{1}
|
||||
}
|
||||
|
||||
func (x *GetClassLogoResponse) GetLogoBytes() []byte {
|
||||
if x != nil {
|
||||
return x.LogoBytes
|
||||
}
|
||||
return nil
|
||||
}
|
||||
|
||||
func (x *GetClassLogoResponse) GetLogoString() string {
|
||||
if x != nil {
|
||||
return x.LogoString
|
||||
}
|
||||
return ""
|
||||
}
|
||||
|
||||
var File_class_v1alpha1_class_proto protoreflect.FileDescriptor
|
||||
|
||||
const file_class_v1alpha1_class_proto_rawDesc = "" +
|
||||
"\n" +
|
||||
"\x1aclass/v1alpha1/class.proto\x12\x0eclass.v1alpha1\x1a\x1cgoogle/api/annotations.proto\"~\n" +
|
||||
"\x13GetClassLogoRequest\x12(\n" +
|
||||
"\x04font\x18\x01 \x01(\x0e2\x14.class.v1alpha1.FontR\x04font\x12*\n" +
|
||||
"\x0einclude_string\x18\x02 \x01(\bH\x00R\rincludeString\x88\x01\x01B\x11\n" +
|
||||
"\x0f_include_string\"V\n" +
|
||||
"\x14GetClassLogoResponse\x12\x1d\n" +
|
||||
"\n" +
|
||||
"logo_bytes\x18\x01 \x01(\fR\tlogoBytes\x12\x1f\n" +
|
||||
"\vlogo_string\x18\x02 \x01(\tR\n" +
|
||||
"logoString*\xa0\x14\n" +
|
||||
"\x04Font\x12\x14\n" +
|
||||
"\x10FONT_UNSPECIFIED\x10\x00\x12\f\n" +
|
||||
"\bFONT_3X5\x10\x02\x12\x15\n" +
|
||||
"\x11FONT_5LINEOBLIQUE\x10\x03\x12\x12\n" +
|
||||
"\x0eFONT_ACROBATIC\x10\x04\x12\x12\n" +
|
||||
"\x0eFONT_ALLIGATOR\x10\x05\x12\x13\n" +
|
||||
"\x0fFONT_ALLIGATOR2\x10\x06\x12\x11\n" +
|
||||
"\rFONT_ALPHABET\x10\a\x12\x0f\n" +
|
||||
"\vFONT_AVATAR\x10\b\x12\x0f\n" +
|
||||
"\vFONT_BANNER\x10\t\x12\x10\n" +
|
||||
"\fFONT_BANNER3\x10\v\x12\x10\n" +
|
||||
"\fFONT_BANNER4\x10\f\x12\x11\n" +
|
||||
"\rFONT_BARBWIRE\x10\r\x12\x0e\n" +
|
||||
"\n" +
|
||||
"FONT_BASIC\x10\x0e\x12\r\n" +
|
||||
"\tFONT_BELL\x10\x0f\x12\f\n" +
|
||||
"\bFONT_BIG\x10\x10\x12\x11\n" +
|
||||
"\rFONT_BIGCHIEF\x10\x11\x12\x0f\n" +
|
||||
"\vFONT_BINARY\x10\x12\x12\x0e\n" +
|
||||
"\n" +
|
||||
"FONT_BLOCK\x10\x13\x12\x0f\n" +
|
||||
"\vFONT_BUBBLE\x10\x14\x12\x11\n" +
|
||||
"\rFONT_BULBHEAD\x10\x15\x12\x11\n" +
|
||||
"\rFONT_CALGPHY2\x10\x16\x12\x13\n" +
|
||||
"\x0fFONT_CALIGRAPHY\x10\x17\x12\x10\n" +
|
||||
"\fFONT_CATWALK\x10\x18\x12\x0f\n" +
|
||||
"\vFONT_CHUNKY\x10\x19\x12\x11\n" +
|
||||
"\rFONT_COINSTAK\x10\x1a\x12\x11\n" +
|
||||
"\rFONT_COLOSSAL\x10\x1b\x12\x11\n" +
|
||||
"\rFONT_COMPUTER\x10\x1c\x12\x11\n" +
|
||||
"\rFONT_CONTESSA\x10\x1d\x12\x11\n" +
|
||||
"\rFONT_CONTRAST\x10\x1e\x12\x0f\n" +
|
||||
"\vFONT_COSMIC\x10\x1f\x12\x10\n" +
|
||||
"\fFONT_COSMIKE\x10 \x12\x10\n" +
|
||||
"\fFONT_CRICKET\x10!\x12\x10\n" +
|
||||
"\fFONT_CURSIVE\x10\"\x12\x13\n" +
|
||||
"\x0fFONT_CYBERLARGE\x10#\x12\x14\n" +
|
||||
"\x10FONT_CYBERMEDIUM\x10$\x12\x13\n" +
|
||||
"\x0fFONT_CYBERSMALL\x10%\x12\x10\n" +
|
||||
"\fFONT_DIAMOND\x10&\x12\x10\n" +
|
||||
"\fFONT_DIGITAL\x10'\x12\f\n" +
|
||||
"\bFONT_DOH\x10(\x12\r\n" +
|
||||
"\tFONT_DOOM\x10)\x12\x12\n" +
|
||||
"\x0eFONT_DOTMATRIX\x10*\x12\x11\n" +
|
||||
"\rFONT_DRPEPPER\x10+\x12\x12\n" +
|
||||
"\x0eFONT_EFTICHESS\x10,\x12\x11\n" +
|
||||
"\rFONT_EFTIFONT\x10-\x12\x11\n" +
|
||||
"\rFONT_EFTIPITI\x10.\x12\x12\n" +
|
||||
"\x0eFONT_EFTIROBOT\x10/\x12\x12\n" +
|
||||
"\x0eFONT_EFTITALIC\x100\x12\x11\n" +
|
||||
"\rFONT_EFTIWALL\x101\x12\x12\n" +
|
||||
"\x0eFONT_EFTIWATER\x102\x12\r\n" +
|
||||
"\tFONT_EPIC\x103\x12\x0f\n" +
|
||||
"\vFONT_FENDER\x104\x12\x11\n" +
|
||||
"\rFONT_FOURTOPS\x105\x12\x0e\n" +
|
||||
"\n" +
|
||||
"FONT_FUZZY\x106\x12\x0e\n" +
|
||||
"\n" +
|
||||
"FONT_GOOFY\x107\x12\x0f\n" +
|
||||
"\vFONT_GOTHIC\x108\x12\x11\n" +
|
||||
"\rFONT_GRAFFITI\x109\x12\x12\n" +
|
||||
"\x0eFONT_HOLLYWOOD\x10:\x12\x0f\n" +
|
||||
"\vFONT_INVITA\x10;\x12\x13\n" +
|
||||
"\x0fFONT_ISOMETRIC1\x10<\x12\x13\n" +
|
||||
"\x0fFONT_ISOMETRIC2\x10=\x12\x13\n" +
|
||||
"\x0fFONT_ISOMETRIC3\x10>\x12\x13\n" +
|
||||
"\x0fFONT_ISOMETRIC4\x10?\x12\x0f\n" +
|
||||
"\vFONT_ITALIC\x10@\x12\x0e\n" +
|
||||
"\n" +
|
||||
"FONT_IVRIT\x10A\x12\x10\n" +
|
||||
"\fFONT_JAZMINE\x10B\x12\x12\n" +
|
||||
"\x0eFONT_JERUSALEM\x10C\x12\x11\n" +
|
||||
"\rFONT_KATAKANA\x10D\x12\r\n" +
|
||||
"\tFONT_KBAN\x10E\x12\x10\n" +
|
||||
"\fFONT_LARRY3D\x10F\x12\f\n" +
|
||||
"\bFONT_LCD\x10G\x12\r\n" +
|
||||
"\tFONT_LEAN\x10H\x12\x10\n" +
|
||||
"\fFONT_LETTERS\x10I\x12\x0e\n" +
|
||||
"\n" +
|
||||
"FONT_LINUX\x10J\x12\x14\n" +
|
||||
"\x10FONT_LOCKERGNOME\x10K\x12\x0f\n" +
|
||||
"\vFONT_MADRID\x10L\x12\x10\n" +
|
||||
"\fFONT_MARQUEE\x10M\x12\x10\n" +
|
||||
"\fFONT_MAXFOUR\x10N\x12\r\n" +
|
||||
"\tFONT_MIKE\x10O\x12\r\n" +
|
||||
"\tFONT_MINI\x10P\x12\x0f\n" +
|
||||
"\vFONT_MIRROR\x10Q\x12\x11\n" +
|
||||
"\rFONT_MNEMONIC\x10R\x12\x0e\n" +
|
||||
"\n" +
|
||||
"FONT_MORSE\x10S\x12\x0f\n" +
|
||||
"\vFONT_MOSCOW\x10T\x12\x0f\n" +
|
||||
"\vFONT_NANCYJ\x10W\x12\x10\n" +
|
||||
"\fFONT_NIPPLES\x10X\x12\x10\n" +
|
||||
"\fFONT_NTGREEK\x10Y\x12\v\n" +
|
||||
"\aFONT_O8\x10Z\x12\r\n" +
|
||||
"\tFONT_OGRE\x10[\x12\r\n" +
|
||||
"\tFONT_PAWP\x10\\\x12\x0e\n" +
|
||||
"\n" +
|
||||
"FONT_PEAKS\x10]\x12\x10\n" +
|
||||
"\fFONT_PEBBLES\x10^\x12\x0f\n" +
|
||||
"\vFONT_PEPPER\x10_\x12\x0f\n" +
|
||||
"\vFONT_POISON\x10`\x12\x0e\n" +
|
||||
"\n" +
|
||||
"FONT_PUFFY\x10a\x12\x10\n" +
|
||||
"\fFONT_PYRAMID\x10b\x12\x13\n" +
|
||||
"\x0fFONT_RECTANGLES\x10c\x12\x0f\n" +
|
||||
"\vFONT_RELIEF\x10d\x12\x10\n" +
|
||||
"\fFONT_RELIEF2\x10e\x12\f\n" +
|
||||
"\bFONT_REV\x10f\x12\x0e\n" +
|
||||
"\n" +
|
||||
"FONT_ROMAN\x10g\x12\x0e\n" +
|
||||
"\n" +
|
||||
"FONT_ROT13\x10h\x12\x10\n" +
|
||||
"\fFONT_ROUNDED\x10i\x12\x11\n" +
|
||||
"\rFONT_ROWANCAP\x10j\x12\x0e\n" +
|
||||
"\n" +
|
||||
"FONT_ROZZO\x10k\x12\x0e\n" +
|
||||
"\n" +
|
||||
"FONT_RUNIC\x10l\x12\x0e\n" +
|
||||
"\n" +
|
||||
"FONT_RUNYC\x10m\x12\x0f\n" +
|
||||
"\vFONT_SBLOOD\x10n\x12\x0f\n" +
|
||||
"\vFONT_SCRIPT\x10o\x12\x11\n" +
|
||||
"\rFONT_SERIFCAP\x10p\x12\x0f\n" +
|
||||
"\vFONT_SHADOW\x10q\x12\x0e\n" +
|
||||
"\n" +
|
||||
"FONT_SHORT\x10r\x12\x0e\n" +
|
||||
"\n" +
|
||||
"FONT_SLANT\x10s\x12\x0e\n" +
|
||||
"\n" +
|
||||
"FONT_SLIDE\x10t\x12\x11\n" +
|
||||
"\rFONT_SLSCRIPT\x10u\x12\x0e\n" +
|
||||
"\n" +
|
||||
"FONT_SMALL\x10v\x12\x11\n" +
|
||||
"\rFONT_SMISOME1\x10w\x12\x13\n" +
|
||||
"\x0fFONT_SMKEYBOARD\x10x\x12\x11\n" +
|
||||
"\rFONT_SMSCRIPT\x10y\x12\x11\n" +
|
||||
"\rFONT_SMSHADOW\x10z\x12\x10\n" +
|
||||
"\fFONT_SMSLANT\x10{\x12\x12\n" +
|
||||
"\x0eFONT_SMTENGWAR\x10|\x12\x0e\n" +
|
||||
"\n" +
|
||||
"FONT_SPEED\x10}\x12\x14\n" +
|
||||
"\x10FONT_STAMPATELLO\x10~\x12\x11\n" +
|
||||
"\rFONT_STANDARD\x10\x7f\x12\x12\n" +
|
||||
"\rFONT_STARWARS\x10\x80\x01\x12\x11\n" +
|
||||
"\fFONT_STELLAR\x10\x81\x01\x12\x0e\n" +
|
||||
"\tFONT_STOP\x10\x82\x01\x12\x12\n" +
|
||||
"\rFONT_STRAIGHT\x10\x83\x01\x12\x0f\n" +
|
||||
"\n" +
|
||||
"FONT_TANJA\x10\x84\x01\x12\x11\n" +
|
||||
"\fFONT_TENGWAR\x10\x85\x01\x12\x0e\n" +
|
||||
"\tFONT_TERM\x10\x86\x01\x12\x0f\n" +
|
||||
"\n" +
|
||||
"FONT_THICK\x10\x87\x01\x12\x0e\n" +
|
||||
"\tFONT_THIN\x10\x88\x01\x12\x14\n" +
|
||||
"\x0fFONT_THREEPOINT\x10\x89\x01\x12\x0f\n" +
|
||||
"\n" +
|
||||
"FONT_TICKS\x10\x8a\x01\x12\x14\n" +
|
||||
"\x0fFONT_TICKSSLANT\x10\x8b\x01\x12\x13\n" +
|
||||
"\x0eFONT_TOMBSTONE\x10\x8d\x01\x12\x0e\n" +
|
||||
"\tFONT_TREK\x10\x8e\x01\x12\x11\n" +
|
||||
"\fFONT_TSALAGI\x10\x8f\x01\x12\x12\n" +
|
||||
"\rFONT_TWOPOINT\x10\x90\x01\x12\x11\n" +
|
||||
"\fFONT_UNIVERS\x10\x91\x01\x12\x11\n" +
|
||||
"\fFONT_USAFLAG\x10\x92\x01\x12\x0e\n" +
|
||||
"\tFONT_WAVY\x10\x93\x01\x12\x0f\n" +
|
||||
"\n" +
|
||||
"FONT_WEIRD\x10\x94\x012\x87\x01\n" +
|
||||
"\fClassService\x12w\n" +
|
||||
"\fGetClassLogo\x12#.class.v1alpha1.GetClassLogoRequest\x1a$.class.v1alpha1.GetClassLogoResponse\"\x1c\x82\xd3\xe4\x93\x02\x16\x12\x14/v1alpha1/class/logoBHZFgitea.libretechconsulting.com/rmcguire/class-server/api/v1alpha1/classb\x06proto3"
|
||||
|
||||
var (
|
||||
file_class_v1alpha1_class_proto_rawDescOnce sync.Once
|
||||
file_class_v1alpha1_class_proto_rawDescData []byte
|
||||
)
|
||||
|
||||
func file_class_v1alpha1_class_proto_rawDescGZIP() []byte {
|
||||
file_class_v1alpha1_class_proto_rawDescOnce.Do(func() {
|
||||
file_class_v1alpha1_class_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_class_v1alpha1_class_proto_rawDesc), len(file_class_v1alpha1_class_proto_rawDesc)))
|
||||
})
|
||||
return file_class_v1alpha1_class_proto_rawDescData
|
||||
}
|
||||
|
||||
var file_class_v1alpha1_class_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
|
||||
var file_class_v1alpha1_class_proto_msgTypes = make([]protoimpl.MessageInfo, 2)
|
||||
var file_class_v1alpha1_class_proto_goTypes = []any{
|
||||
(Font)(0), // 0: class.v1alpha1.Font
|
||||
(*GetClassLogoRequest)(nil), // 1: class.v1alpha1.GetClassLogoRequest
|
||||
(*GetClassLogoResponse)(nil), // 2: class.v1alpha1.GetClassLogoResponse
|
||||
}
|
||||
var file_class_v1alpha1_class_proto_depIdxs = []int32{
|
||||
0, // 0: class.v1alpha1.GetClassLogoRequest.font:type_name -> class.v1alpha1.Font
|
||||
1, // 1: class.v1alpha1.ClassService.GetClassLogo:input_type -> class.v1alpha1.GetClassLogoRequest
|
||||
2, // 2: class.v1alpha1.ClassService.GetClassLogo:output_type -> class.v1alpha1.GetClassLogoResponse
|
||||
2, // [2:3] is the sub-list for method output_type
|
||||
1, // [1:2] is the sub-list for method input_type
|
||||
1, // [1:1] is the sub-list for extension type_name
|
||||
1, // [1:1] is the sub-list for extension extendee
|
||||
0, // [0:1] is the sub-list for field type_name
|
||||
}
|
||||
|
||||
func init() { file_class_v1alpha1_class_proto_init() }
|
||||
func file_class_v1alpha1_class_proto_init() {
|
||||
if File_class_v1alpha1_class_proto != nil {
|
||||
return
|
||||
}
|
||||
file_class_v1alpha1_class_proto_msgTypes[0].OneofWrappers = []any{}
|
||||
type x struct{}
|
||||
out := protoimpl.TypeBuilder{
|
||||
File: protoimpl.DescBuilder{
|
||||
GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
|
||||
RawDescriptor: unsafe.Slice(unsafe.StringData(file_class_v1alpha1_class_proto_rawDesc), len(file_class_v1alpha1_class_proto_rawDesc)),
|
||||
NumEnums: 1,
|
||||
NumMessages: 2,
|
||||
NumExtensions: 0,
|
||||
NumServices: 1,
|
||||
},
|
||||
GoTypes: file_class_v1alpha1_class_proto_goTypes,
|
||||
DependencyIndexes: file_class_v1alpha1_class_proto_depIdxs,
|
||||
EnumInfos: file_class_v1alpha1_class_proto_enumTypes,
|
||||
MessageInfos: file_class_v1alpha1_class_proto_msgTypes,
|
||||
}.Build()
|
||||
File_class_v1alpha1_class_proto = out.File
|
||||
file_class_v1alpha1_class_proto_goTypes = nil
|
||||
file_class_v1alpha1_class_proto_depIdxs = nil
|
||||
}
|
163
api/class/v1alpha1/class.pb.gw.go
Normal file
163
api/class/v1alpha1/class.pb.gw.go
Normal file
@ -0,0 +1,163 @@
|
||||
// Code generated by protoc-gen-grpc-gateway. DO NOT EDIT.
|
||||
// source: class/v1alpha1/class.proto
|
||||
|
||||
/*
|
||||
Package class is a reverse proxy.
|
||||
|
||||
It translates gRPC into RESTful JSON APIs.
|
||||
*/
|
||||
package class
|
||||
|
||||
import (
|
||||
"context"
|
||||
"errors"
|
||||
"io"
|
||||
"net/http"
|
||||
|
||||
"github.com/grpc-ecosystem/grpc-gateway/v2/runtime"
|
||||
"github.com/grpc-ecosystem/grpc-gateway/v2/utilities"
|
||||
"google.golang.org/grpc"
|
||||
"google.golang.org/grpc/codes"
|
||||
"google.golang.org/grpc/grpclog"
|
||||
"google.golang.org/grpc/metadata"
|
||||
"google.golang.org/grpc/status"
|
||||
"google.golang.org/protobuf/proto"
|
||||
)
|
||||
|
||||
// Suppress "imported and not used" errors
|
||||
var (
|
||||
_ codes.Code
|
||||
_ io.Reader
|
||||
_ status.Status
|
||||
_ = errors.New
|
||||
_ = runtime.String
|
||||
_ = utilities.NewDoubleArray
|
||||
_ = metadata.Join
|
||||
)
|
||||
|
||||
var filter_ClassService_GetClassLogo_0 = &utilities.DoubleArray{Encoding: map[string]int{}, Base: []int(nil), Check: []int(nil)}
|
||||
|
||||
func request_ClassService_GetClassLogo_0(ctx context.Context, marshaler runtime.Marshaler, client ClassServiceClient, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
|
||||
var (
|
||||
protoReq GetClassLogoRequest
|
||||
metadata runtime.ServerMetadata
|
||||
)
|
||||
io.Copy(io.Discard, req.Body)
|
||||
if err := req.ParseForm(); err != nil {
|
||||
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
|
||||
}
|
||||
if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ClassService_GetClassLogo_0); err != nil {
|
||||
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
|
||||
}
|
||||
msg, err := client.GetClassLogo(ctx, &protoReq, grpc.Header(&metadata.HeaderMD), grpc.Trailer(&metadata.TrailerMD))
|
||||
return msg, metadata, err
|
||||
}
|
||||
|
||||
func local_request_ClassService_GetClassLogo_0(ctx context.Context, marshaler runtime.Marshaler, server ClassServiceServer, req *http.Request, pathParams map[string]string) (proto.Message, runtime.ServerMetadata, error) {
|
||||
var (
|
||||
protoReq GetClassLogoRequest
|
||||
metadata runtime.ServerMetadata
|
||||
)
|
||||
if err := req.ParseForm(); err != nil {
|
||||
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
|
||||
}
|
||||
if err := runtime.PopulateQueryParameters(&protoReq, req.Form, filter_ClassService_GetClassLogo_0); err != nil {
|
||||
return nil, metadata, status.Errorf(codes.InvalidArgument, "%v", err)
|
||||
}
|
||||
msg, err := server.GetClassLogo(ctx, &protoReq)
|
||||
return msg, metadata, err
|
||||
}
|
||||
|
||||
// RegisterClassServiceHandlerServer registers the http handlers for service ClassService to "mux".
|
||||
// UnaryRPC :call ClassServiceServer directly.
|
||||
// StreamingRPC :currently unsupported pending https://github.com/grpc/grpc-go/issues/906.
|
||||
// Note that using this registration option will cause many gRPC library features to stop working. Consider using RegisterClassServiceHandlerFromEndpoint instead.
|
||||
// GRPC interceptors will not work for this type of registration. To use interceptors, you must use the "runtime.WithMiddlewares" option in the "runtime.NewServeMux" call.
|
||||
func RegisterClassServiceHandlerServer(ctx context.Context, mux *runtime.ServeMux, server ClassServiceServer) error {
|
||||
mux.Handle(http.MethodGet, pattern_ClassService_GetClassLogo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
|
||||
ctx, cancel := context.WithCancel(req.Context())
|
||||
defer cancel()
|
||||
var stream runtime.ServerTransportStream
|
||||
ctx = grpc.NewContextWithServerTransportStream(ctx, &stream)
|
||||
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
|
||||
annotatedContext, err := runtime.AnnotateIncomingContext(ctx, mux, req, "/class.v1alpha1.ClassService/GetClassLogo", runtime.WithHTTPPathPattern("/v1alpha1/class/logo"))
|
||||
if err != nil {
|
||||
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
|
||||
return
|
||||
}
|
||||
resp, md, err := local_request_ClassService_GetClassLogo_0(annotatedContext, inboundMarshaler, server, req, pathParams)
|
||||
md.HeaderMD, md.TrailerMD = metadata.Join(md.HeaderMD, stream.Header()), metadata.Join(md.TrailerMD, stream.Trailer())
|
||||
annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
|
||||
if err != nil {
|
||||
runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
|
||||
return
|
||||
}
|
||||
forward_ClassService_GetClassLogo_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
|
||||
})
|
||||
|
||||
return nil
|
||||
}
|
||||
|
||||
// RegisterClassServiceHandlerFromEndpoint is same as RegisterClassServiceHandler but
|
||||
// automatically dials to "endpoint" and closes the connection when "ctx" gets done.
|
||||
func RegisterClassServiceHandlerFromEndpoint(ctx context.Context, mux *runtime.ServeMux, endpoint string, opts []grpc.DialOption) (err error) {
|
||||
conn, err := grpc.NewClient(endpoint, opts...)
|
||||
if err != nil {
|
||||
return err
|
||||
}
|
||||
defer func() {
|
||||
if err != nil {
|
||||
if cerr := conn.Close(); cerr != nil {
|
||||
grpclog.Errorf("Failed to close conn to %s: %v", endpoint, cerr)
|
||||
}
|
||||
return
|
||||
}
|
||||
go func() {
|
||||
<-ctx.Done()
|
||||
if cerr := conn.Close(); cerr != nil {
|
||||
grpclog.Errorf("Failed to close conn to %s: %v", endpoint, cerr)
|
||||
}
|
||||
}()
|
||||
}()
|
||||
return RegisterClassServiceHandler(ctx, mux, conn)
|
||||
}
|
||||
|
||||
// RegisterClassServiceHandler registers the http handlers for service ClassService to "mux".
|
||||
// The handlers forward requests to the grpc endpoint over "conn".
|
||||
func RegisterClassServiceHandler(ctx context.Context, mux *runtime.ServeMux, conn *grpc.ClientConn) error {
|
||||
return RegisterClassServiceHandlerClient(ctx, mux, NewClassServiceClient(conn))
|
||||
}
|
||||
|
||||
// RegisterClassServiceHandlerClient registers the http handlers for service ClassService
|
||||
// to "mux". The handlers forward requests to the grpc endpoint over the given implementation of "ClassServiceClient".
|
||||
// Note: the gRPC framework executes interceptors within the gRPC handler. If the passed in "ClassServiceClient"
|
||||
// doesn't go through the normal gRPC flow (creating a gRPC client etc.) then it will be up to the passed in
|
||||
// "ClassServiceClient" to call the correct interceptors. This client ignores the HTTP middlewares.
|
||||
func RegisterClassServiceHandlerClient(ctx context.Context, mux *runtime.ServeMux, client ClassServiceClient) error {
|
||||
mux.Handle(http.MethodGet, pattern_ClassService_GetClassLogo_0, func(w http.ResponseWriter, req *http.Request, pathParams map[string]string) {
|
||||
ctx, cancel := context.WithCancel(req.Context())
|
||||
defer cancel()
|
||||
inboundMarshaler, outboundMarshaler := runtime.MarshalerForRequest(mux, req)
|
||||
annotatedContext, err := runtime.AnnotateContext(ctx, mux, req, "/class.v1alpha1.ClassService/GetClassLogo", runtime.WithHTTPPathPattern("/v1alpha1/class/logo"))
|
||||
if err != nil {
|
||||
runtime.HTTPError(ctx, mux, outboundMarshaler, w, req, err)
|
||||
return
|
||||
}
|
||||
resp, md, err := request_ClassService_GetClassLogo_0(annotatedContext, inboundMarshaler, client, req, pathParams)
|
||||
annotatedContext = runtime.NewServerMetadataContext(annotatedContext, md)
|
||||
if err != nil {
|
||||
runtime.HTTPError(annotatedContext, mux, outboundMarshaler, w, req, err)
|
||||
return
|
||||
}
|
||||
forward_ClassService_GetClassLogo_0(annotatedContext, mux, outboundMarshaler, w, req, resp, mux.GetForwardResponseOptions()...)
|
||||
})
|
||||
return nil
|
||||
}
|
||||
|
||||
var (
|
||||
pattern_ClassService_GetClassLogo_0 = runtime.MustPattern(runtime.NewPattern(1, []int{2, 0, 2, 1, 2, 2}, []string{"v1alpha1", "class", "logo"}, ""))
|
||||
)
|
||||
|
||||
var (
|
||||
forward_ClassService_GetClassLogo_0 = runtime.ForwardResponseMessage
|
||||
)
|
121
api/class/v1alpha1/class_grpc.pb.go
Normal file
121
api/class/v1alpha1/class_grpc.pb.go
Normal file
@ -0,0 +1,121 @@
|
||||
// Code generated by protoc-gen-go-grpc. DO NOT EDIT.
|
||||
// versions:
|
||||
// - protoc-gen-go-grpc v1.5.1
|
||||
// - protoc v5.29.3
|
||||
// source: class/v1alpha1/class.proto
|
||||
|
||||
package class
|
||||
|
||||
import (
|
||||
context "context"
|
||||
grpc "google.golang.org/grpc"
|
||||
codes "google.golang.org/grpc/codes"
|
||||
status "google.golang.org/grpc/status"
|
||||
)
|
||||
|
||||
// This is a compile-time assertion to ensure that this generated file
|
||||
// is compatible with the grpc package it is being compiled against.
|
||||
// Requires gRPC-Go v1.64.0 or later.
|
||||
const _ = grpc.SupportPackageIsVersion9
|
||||
|
||||
const (
|
||||
ClassService_GetClassLogo_FullMethodName = "/class.v1alpha1.ClassService/GetClassLogo"
|
||||
)
|
||||
|
||||
// ClassServiceClient is the client API for ClassService service.
|
||||
//
|
||||
// For semantics around ctx use and closing/ending streaming RPCs, please refer to https://pkg.go.dev/google.golang.org/grpc/?tab=doc#ClientConn.NewStream.
|
||||
type ClassServiceClient interface {
|
||||
GetClassLogo(ctx context.Context, in *GetClassLogoRequest, opts ...grpc.CallOption) (*GetClassLogoResponse, error)
|
||||
}
|
||||
|
||||
type classServiceClient struct {
|
||||
cc grpc.ClientConnInterface
|
||||
}
|
||||
|
||||
func NewClassServiceClient(cc grpc.ClientConnInterface) ClassServiceClient {
|
||||
return &classServiceClient{cc}
|
||||
}
|
||||
|
||||
func (c *classServiceClient) GetClassLogo(ctx context.Context, in *GetClassLogoRequest, opts ...grpc.CallOption) (*GetClassLogoResponse, error) {
|
||||
cOpts := append([]grpc.CallOption{grpc.StaticMethod()}, opts...)
|
||||
out := new(GetClassLogoResponse)
|
||||
err := c.cc.Invoke(ctx, ClassService_GetClassLogo_FullMethodName, in, out, cOpts...)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
return out, nil
|
||||
}
|
||||
|
||||
// ClassServiceServer is the server API for ClassService service.
|
||||
// All implementations must embed UnimplementedClassServiceServer
|
||||
// for forward compatibility.
|
||||
type ClassServiceServer interface {
|
||||
GetClassLogo(context.Context, *GetClassLogoRequest) (*GetClassLogoResponse, error)
|
||||
mustEmbedUnimplementedClassServiceServer()
|
||||
}
|
||||
|
||||
// UnimplementedClassServiceServer must be embedded to have
|
||||
// forward compatible implementations.
|
||||
//
|
||||
// NOTE: this should be embedded by value instead of pointer to avoid a nil
|
||||
// pointer dereference when methods are called.
|
||||
type UnimplementedClassServiceServer struct{}
|
||||
|
||||
func (UnimplementedClassServiceServer) GetClassLogo(context.Context, *GetClassLogoRequest) (*GetClassLogoResponse, error) {
|
||||
return nil, status.Errorf(codes.Unimplemented, "method GetClassLogo not implemented")
|
||||
}
|
||||
func (UnimplementedClassServiceServer) mustEmbedUnimplementedClassServiceServer() {}
|
||||
func (UnimplementedClassServiceServer) testEmbeddedByValue() {}
|
||||
|
||||
// UnsafeClassServiceServer may be embedded to opt out of forward compatibility for this service.
|
||||
// Use of this interface is not recommended, as added methods to ClassServiceServer will
|
||||
// result in compilation errors.
|
||||
type UnsafeClassServiceServer interface {
|
||||
mustEmbedUnimplementedClassServiceServer()
|
||||
}
|
||||
|
||||
func RegisterClassServiceServer(s grpc.ServiceRegistrar, srv ClassServiceServer) {
|
||||
// If the following call pancis, it indicates UnimplementedClassServiceServer was
|
||||
// embedded by pointer and is nil. This will cause panics if an
|
||||
// unimplemented method is ever invoked, so we test this at initialization
|
||||
// time to prevent it from happening at runtime later due to I/O.
|
||||
if t, ok := srv.(interface{ testEmbeddedByValue() }); ok {
|
||||
t.testEmbeddedByValue()
|
||||
}
|
||||
s.RegisterService(&ClassService_ServiceDesc, srv)
|
||||
}
|
||||
|
||||
func _ClassService_GetClassLogo_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) {
|
||||
in := new(GetClassLogoRequest)
|
||||
if err := dec(in); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
if interceptor == nil {
|
||||
return srv.(ClassServiceServer).GetClassLogo(ctx, in)
|
||||
}
|
||||
info := &grpc.UnaryServerInfo{
|
||||
Server: srv,
|
||||
FullMethod: ClassService_GetClassLogo_FullMethodName,
|
||||
}
|
||||
handler := func(ctx context.Context, req interface{}) (interface{}, error) {
|
||||
return srv.(ClassServiceServer).GetClassLogo(ctx, req.(*GetClassLogoRequest))
|
||||
}
|
||||
return interceptor(ctx, in, info, handler)
|
||||
}
|
||||
|
||||
// ClassService_ServiceDesc is the grpc.ServiceDesc for ClassService service.
|
||||
// It's only intended for direct use with grpc.RegisterService,
|
||||
// and not to be introspected or modified (even as a copy)
|
||||
var ClassService_ServiceDesc = grpc.ServiceDesc{
|
||||
ServiceName: "class.v1alpha1.ClassService",
|
||||
HandlerType: (*ClassServiceServer)(nil),
|
||||
Methods: []grpc.MethodDesc{
|
||||
{
|
||||
MethodName: "GetClassLogo",
|
||||
Handler: _ClassService_GetClassLogo_Handler,
|
||||
},
|
||||
},
|
||||
Streams: []grpc.StreamDesc{},
|
||||
Metadata: "class/v1alpha1/class.proto",
|
||||
}
|
@ -153,7 +153,7 @@ const file_demo_app_v1alpha1_app_proto_rawDesc = "" +
|
||||
"\x06source\x18\x03 \x01(\tR\x06source\x12\x1a\n" +
|
||||
"\blanguage\x18\x04 \x01(\tR\blanguage2z\n" +
|
||||
"\x0eDemoAppService\x12h\n" +
|
||||
"\aGetDemo\x12!.demo.app.v1alpha1.GetDemoRequest\x1a\".demo.app.v1alpha1.GetDemoResponse\"\x16\x82\xd3\xe4\x93\x02\x10\x12\x0e/v1alpha1/demoBNZLgitea.libretechconsulting.com/rmcguire/class-server/api/v1alpha1/demob\x06proto3"
|
||||
"\aGetDemo\x12!.demo.app.v1alpha1.GetDemoRequest\x1a\".demo.app.v1alpha1.GetDemoResponse\"\x16\x82\xd3\xe4\x93\x02\x10\x12\x0e/v1alpha1/demoBGZEgitea.libretechconsulting.com/rmcguire/class-server/api/v1alpha1/demob\x06proto3"
|
||||
|
||||
var (
|
||||
file_demo_app_v1alpha1_app_proto_rawDescOnce sync.Once
|
||||
|
@ -7,9 +7,9 @@ opts:
|
||||
factType: random
|
||||
|
||||
# go-app config
|
||||
name: Demo go-app
|
||||
name: Class App
|
||||
logging:
|
||||
format: console
|
||||
format: json
|
||||
level: trace
|
||||
enabled: true
|
||||
otel:
|
||||
@ -17,12 +17,12 @@ otel:
|
||||
stdoutEnabled: false
|
||||
http:
|
||||
enabled: true
|
||||
listen: :8080
|
||||
listen: :18080
|
||||
logRequests: true
|
||||
grpc:
|
||||
enabled: true
|
||||
enableReflection: true
|
||||
listen: :8081
|
||||
listen: :18081
|
||||
grpcGatewayPath: /api
|
||||
enableGRPCGateway: true
|
||||
enableInstrumentation: true
|
||||
|
@ -1,10 +1,13 @@
|
||||
{
|
||||
"swagger": "2.0",
|
||||
"info": {
|
||||
"title": "demo/app/v1alpha1/app.proto",
|
||||
"title": "class/v1alpha1/class.proto",
|
||||
"version": "version not set"
|
||||
},
|
||||
"tags": [
|
||||
{
|
||||
"name": "ClassService"
|
||||
},
|
||||
{
|
||||
"name": "DemoAppService"
|
||||
}
|
||||
@ -16,6 +19,189 @@
|
||||
"application/json"
|
||||
],
|
||||
"paths": {
|
||||
"/v1alpha1/class/logo": {
|
||||
"get": {
|
||||
"operationId": "ClassService_GetClassLogo",
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": "A successful response.",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/v1alpha1GetClassLogoResponse"
|
||||
}
|
||||
},
|
||||
"default": {
|
||||
"description": "An unexpected error response.",
|
||||
"schema": {
|
||||
"$ref": "#/definitions/rpcStatus"
|
||||
}
|
||||
}
|
||||
},
|
||||
"parameters": [
|
||||
{
|
||||
"name": "font",
|
||||
"in": "query",
|
||||
"required": false,
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"FONT_UNSPECIFIED",
|
||||
"FONT_3X5",
|
||||
"FONT_5LINEOBLIQUE",
|
||||
"FONT_ACROBATIC",
|
||||
"FONT_ALLIGATOR",
|
||||
"FONT_ALLIGATOR2",
|
||||
"FONT_ALPHABET",
|
||||
"FONT_AVATAR",
|
||||
"FONT_BANNER",
|
||||
"FONT_BANNER3",
|
||||
"FONT_BANNER4",
|
||||
"FONT_BARBWIRE",
|
||||
"FONT_BASIC",
|
||||
"FONT_BELL",
|
||||
"FONT_BIG",
|
||||
"FONT_BIGCHIEF",
|
||||
"FONT_BINARY",
|
||||
"FONT_BLOCK",
|
||||
"FONT_BUBBLE",
|
||||
"FONT_BULBHEAD",
|
||||
"FONT_CALGPHY2",
|
||||
"FONT_CALIGRAPHY",
|
||||
"FONT_CATWALK",
|
||||
"FONT_CHUNKY",
|
||||
"FONT_COINSTAK",
|
||||
"FONT_COLOSSAL",
|
||||
"FONT_COMPUTER",
|
||||
"FONT_CONTESSA",
|
||||
"FONT_CONTRAST",
|
||||
"FONT_COSMIC",
|
||||
"FONT_COSMIKE",
|
||||
"FONT_CRICKET",
|
||||
"FONT_CURSIVE",
|
||||
"FONT_CYBERLARGE",
|
||||
"FONT_CYBERMEDIUM",
|
||||
"FONT_CYBERSMALL",
|
||||
"FONT_DIAMOND",
|
||||
"FONT_DIGITAL",
|
||||
"FONT_DOH",
|
||||
"FONT_DOOM",
|
||||
"FONT_DOTMATRIX",
|
||||
"FONT_DRPEPPER",
|
||||
"FONT_EFTICHESS",
|
||||
"FONT_EFTIFONT",
|
||||
"FONT_EFTIPITI",
|
||||
"FONT_EFTIROBOT",
|
||||
"FONT_EFTITALIC",
|
||||
"FONT_EFTIWALL",
|
||||
"FONT_EFTIWATER",
|
||||
"FONT_EPIC",
|
||||
"FONT_FENDER",
|
||||
"FONT_FOURTOPS",
|
||||
"FONT_FUZZY",
|
||||
"FONT_GOOFY",
|
||||
"FONT_GOTHIC",
|
||||
"FONT_GRAFFITI",
|
||||
"FONT_HOLLYWOOD",
|
||||
"FONT_INVITA",
|
||||
"FONT_ISOMETRIC1",
|
||||
"FONT_ISOMETRIC2",
|
||||
"FONT_ISOMETRIC3",
|
||||
"FONT_ISOMETRIC4",
|
||||
"FONT_ITALIC",
|
||||
"FONT_IVRIT",
|
||||
"FONT_JAZMINE",
|
||||
"FONT_JERUSALEM",
|
||||
"FONT_KATAKANA",
|
||||
"FONT_KBAN",
|
||||
"FONT_LARRY3D",
|
||||
"FONT_LCD",
|
||||
"FONT_LEAN",
|
||||
"FONT_LETTERS",
|
||||
"FONT_LINUX",
|
||||
"FONT_LOCKERGNOME",
|
||||
"FONT_MADRID",
|
||||
"FONT_MARQUEE",
|
||||
"FONT_MAXFOUR",
|
||||
"FONT_MIKE",
|
||||
"FONT_MINI",
|
||||
"FONT_MIRROR",
|
||||
"FONT_MNEMONIC",
|
||||
"FONT_MORSE",
|
||||
"FONT_MOSCOW",
|
||||
"FONT_NANCYJ",
|
||||
"FONT_NIPPLES",
|
||||
"FONT_NTGREEK",
|
||||
"FONT_O8",
|
||||
"FONT_OGRE",
|
||||
"FONT_PAWP",
|
||||
"FONT_PEAKS",
|
||||
"FONT_PEBBLES",
|
||||
"FONT_PEPPER",
|
||||
"FONT_POISON",
|
||||
"FONT_PUFFY",
|
||||
"FONT_PYRAMID",
|
||||
"FONT_RECTANGLES",
|
||||
"FONT_RELIEF",
|
||||
"FONT_RELIEF2",
|
||||
"FONT_REV",
|
||||
"FONT_ROMAN",
|
||||
"FONT_ROT13",
|
||||
"FONT_ROUNDED",
|
||||
"FONT_ROWANCAP",
|
||||
"FONT_ROZZO",
|
||||
"FONT_RUNIC",
|
||||
"FONT_RUNYC",
|
||||
"FONT_SBLOOD",
|
||||
"FONT_SCRIPT",
|
||||
"FONT_SERIFCAP",
|
||||
"FONT_SHADOW",
|
||||
"FONT_SHORT",
|
||||
"FONT_SLANT",
|
||||
"FONT_SLIDE",
|
||||
"FONT_SLSCRIPT",
|
||||
"FONT_SMALL",
|
||||
"FONT_SMISOME1",
|
||||
"FONT_SMKEYBOARD",
|
||||
"FONT_SMSCRIPT",
|
||||
"FONT_SMSHADOW",
|
||||
"FONT_SMSLANT",
|
||||
"FONT_SMTENGWAR",
|
||||
"FONT_SPEED",
|
||||
"FONT_STAMPATELLO",
|
||||
"FONT_STANDARD",
|
||||
"FONT_STARWARS",
|
||||
"FONT_STELLAR",
|
||||
"FONT_STOP",
|
||||
"FONT_STRAIGHT",
|
||||
"FONT_TANJA",
|
||||
"FONT_TENGWAR",
|
||||
"FONT_TERM",
|
||||
"FONT_THICK",
|
||||
"FONT_THIN",
|
||||
"FONT_THREEPOINT",
|
||||
"FONT_TICKS",
|
||||
"FONT_TICKSSLANT",
|
||||
"FONT_TOMBSTONE",
|
||||
"FONT_TREK",
|
||||
"FONT_TSALAGI",
|
||||
"FONT_TWOPOINT",
|
||||
"FONT_UNIVERS",
|
||||
"FONT_USAFLAG",
|
||||
"FONT_WAVY",
|
||||
"FONT_WEIRD"
|
||||
],
|
||||
"default": "FONT_UNSPECIFIED"
|
||||
},
|
||||
{
|
||||
"name": "includeString",
|
||||
"in": "query",
|
||||
"required": false,
|
||||
"type": "boolean"
|
||||
}
|
||||
],
|
||||
"tags": [
|
||||
"ClassService"
|
||||
]
|
||||
}
|
||||
},
|
||||
"/v1alpha1/demo": {
|
||||
"get": {
|
||||
"operationId": "DemoAppService_GetDemo",
|
||||
@ -76,6 +262,168 @@
|
||||
}
|
||||
}
|
||||
},
|
||||
"v1alpha1Font": {
|
||||
"type": "string",
|
||||
"enum": [
|
||||
"FONT_UNSPECIFIED",
|
||||
"FONT_3X5",
|
||||
"FONT_5LINEOBLIQUE",
|
||||
"FONT_ACROBATIC",
|
||||
"FONT_ALLIGATOR",
|
||||
"FONT_ALLIGATOR2",
|
||||
"FONT_ALPHABET",
|
||||
"FONT_AVATAR",
|
||||
"FONT_BANNER",
|
||||
"FONT_BANNER3",
|
||||
"FONT_BANNER4",
|
||||
"FONT_BARBWIRE",
|
||||
"FONT_BASIC",
|
||||
"FONT_BELL",
|
||||
"FONT_BIG",
|
||||
"FONT_BIGCHIEF",
|
||||
"FONT_BINARY",
|
||||
"FONT_BLOCK",
|
||||
"FONT_BUBBLE",
|
||||
"FONT_BULBHEAD",
|
||||
"FONT_CALGPHY2",
|
||||
"FONT_CALIGRAPHY",
|
||||
"FONT_CATWALK",
|
||||
"FONT_CHUNKY",
|
||||
"FONT_COINSTAK",
|
||||
"FONT_COLOSSAL",
|
||||
"FONT_COMPUTER",
|
||||
"FONT_CONTESSA",
|
||||
"FONT_CONTRAST",
|
||||
"FONT_COSMIC",
|
||||
"FONT_COSMIKE",
|
||||
"FONT_CRICKET",
|
||||
"FONT_CURSIVE",
|
||||
"FONT_CYBERLARGE",
|
||||
"FONT_CYBERMEDIUM",
|
||||
"FONT_CYBERSMALL",
|
||||
"FONT_DIAMOND",
|
||||
"FONT_DIGITAL",
|
||||
"FONT_DOH",
|
||||
"FONT_DOOM",
|
||||
"FONT_DOTMATRIX",
|
||||
"FONT_DRPEPPER",
|
||||
"FONT_EFTICHESS",
|
||||
"FONT_EFTIFONT",
|
||||
"FONT_EFTIPITI",
|
||||
"FONT_EFTIROBOT",
|
||||
"FONT_EFTITALIC",
|
||||
"FONT_EFTIWALL",
|
||||
"FONT_EFTIWATER",
|
||||
"FONT_EPIC",
|
||||
"FONT_FENDER",
|
||||
"FONT_FOURTOPS",
|
||||
"FONT_FUZZY",
|
||||
"FONT_GOOFY",
|
||||
"FONT_GOTHIC",
|
||||
"FONT_GRAFFITI",
|
||||
"FONT_HOLLYWOOD",
|
||||
"FONT_INVITA",
|
||||
"FONT_ISOMETRIC1",
|
||||
"FONT_ISOMETRIC2",
|
||||
"FONT_ISOMETRIC3",
|
||||
"FONT_ISOMETRIC4",
|
||||
"FONT_ITALIC",
|
||||
"FONT_IVRIT",
|
||||
"FONT_JAZMINE",
|
||||
"FONT_JERUSALEM",
|
||||
"FONT_KATAKANA",
|
||||
"FONT_KBAN",
|
||||
"FONT_LARRY3D",
|
||||
"FONT_LCD",
|
||||
"FONT_LEAN",
|
||||
"FONT_LETTERS",
|
||||
"FONT_LINUX",
|
||||
"FONT_LOCKERGNOME",
|
||||
"FONT_MADRID",
|
||||
"FONT_MARQUEE",
|
||||
"FONT_MAXFOUR",
|
||||
"FONT_MIKE",
|
||||
"FONT_MINI",
|
||||
"FONT_MIRROR",
|
||||
"FONT_MNEMONIC",
|
||||
"FONT_MORSE",
|
||||
"FONT_MOSCOW",
|
||||
"FONT_NANCYJ",
|
||||
"FONT_NIPPLES",
|
||||
"FONT_NTGREEK",
|
||||
"FONT_O8",
|
||||
"FONT_OGRE",
|
||||
"FONT_PAWP",
|
||||
"FONT_PEAKS",
|
||||
"FONT_PEBBLES",
|
||||
"FONT_PEPPER",
|
||||
"FONT_POISON",
|
||||
"FONT_PUFFY",
|
||||
"FONT_PYRAMID",
|
||||
"FONT_RECTANGLES",
|
||||
"FONT_RELIEF",
|
||||
"FONT_RELIEF2",
|
||||
"FONT_REV",
|
||||
"FONT_ROMAN",
|
||||
"FONT_ROT13",
|
||||
"FONT_ROUNDED",
|
||||
"FONT_ROWANCAP",
|
||||
"FONT_ROZZO",
|
||||
"FONT_RUNIC",
|
||||
"FONT_RUNYC",
|
||||
"FONT_SBLOOD",
|
||||
"FONT_SCRIPT",
|
||||
"FONT_SERIFCAP",
|
||||
"FONT_SHADOW",
|
||||
"FONT_SHORT",
|
||||
"FONT_SLANT",
|
||||
"FONT_SLIDE",
|
||||
"FONT_SLSCRIPT",
|
||||
"FONT_SMALL",
|
||||
"FONT_SMISOME1",
|
||||
"FONT_SMKEYBOARD",
|
||||
"FONT_SMSCRIPT",
|
||||
"FONT_SMSHADOW",
|
||||
"FONT_SMSLANT",
|
||||
"FONT_SMTENGWAR",
|
||||
"FONT_SPEED",
|
||||
"FONT_STAMPATELLO",
|
||||
"FONT_STANDARD",
|
||||
"FONT_STARWARS",
|
||||
"FONT_STELLAR",
|
||||
"FONT_STOP",
|
||||
"FONT_STRAIGHT",
|
||||
"FONT_TANJA",
|
||||
"FONT_TENGWAR",
|
||||
"FONT_TERM",
|
||||
"FONT_THICK",
|
||||
"FONT_THIN",
|
||||
"FONT_THREEPOINT",
|
||||
"FONT_TICKS",
|
||||
"FONT_TICKSSLANT",
|
||||
"FONT_TOMBSTONE",
|
||||
"FONT_TREK",
|
||||
"FONT_TSALAGI",
|
||||
"FONT_TWOPOINT",
|
||||
"FONT_UNIVERS",
|
||||
"FONT_USAFLAG",
|
||||
"FONT_WAVY",
|
||||
"FONT_WEIRD"
|
||||
],
|
||||
"default": "FONT_UNSPECIFIED"
|
||||
},
|
||||
"v1alpha1GetClassLogoResponse": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
"logoBytes": {
|
||||
"type": "string",
|
||||
"format": "byte"
|
||||
},
|
||||
"logoString": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
},
|
||||
"v1alpha1GetDemoResponse": {
|
||||
"type": "object",
|
||||
"properties": {
|
||||
|
1
go.mod
1
go.mod
@ -4,6 +4,7 @@ go 1.24.1
|
||||
|
||||
require (
|
||||
gitea.libretechconsulting.com/rmcguire/go-app v0.9.2
|
||||
github.com/common-nighthawk/go-figure v0.0.0-20210622060536-734e95fb86be
|
||||
github.com/go-resty/resty/v2 v2.16.5
|
||||
github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3
|
||||
github.com/rs/zerolog v1.34.0
|
||||
|
3
go.sum
3
go.sum
@ -12,6 +12,8 @@ github.com/cenkalti/backoff/v4 v4.3.0 h1:MyRJ/UdXutAwSAT+s3wNd7MfTIcy71VQueUuFK3
|
||||
github.com/cenkalti/backoff/v4 v4.3.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE=
|
||||
github.com/cespare/xxhash/v2 v2.3.0 h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
|
||||
github.com/cespare/xxhash/v2 v2.3.0/go.mod h1:VGX0DQ3Q6kWi7AoAeZDth3/j3BFtOZR5XLFGgcrjCOs=
|
||||
github.com/common-nighthawk/go-figure v0.0.0-20210622060536-734e95fb86be h1:J5BL2kskAlV9ckgEsNQXscjIaLiOYiZ75d4e94E6dcQ=
|
||||
github.com/common-nighthawk/go-figure v0.0.0-20210622060536-734e95fb86be/go.mod h1:mk5IQ+Y0ZeO87b858TlA645sVcEcbiX6YqP98kt+7+w=
|
||||
github.com/coreos/go-systemd/v22 v22.5.0/go.mod h1:Y58oyj3AT4RCenI/lSvhwexgC+NSVTIJ3seZv2GcEnc=
|
||||
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
|
||||
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
||||
@ -33,7 +35,6 @@ github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
|
||||
github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo=
|
||||
github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.3.1 h1:KcFzXwzM/kGhIRHvc8jdixfIJjVzuUJdnv+5xsPutog=
|
||||
github.com/grpc-ecosystem/go-grpc-middleware/v2 v2.3.1/go.mod h1:qOchhhIlmRcqk/O9uCo/puJlyo07YINaIqdZfZG3Jkc=
|
||||
github.com/grpc-ecosystem/grpc-gateway v1.16.0 h1:gmcG1KaJ57LophUzW0Hy8NmPhnMZb4M0+kPpLofRdBo=
|
||||
github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3 h1:5ZPtiqj0JL5oKWmcsq4VMaAW5ukBEgSGXEN89zeH1Jo=
|
||||
github.com/grpc-ecosystem/grpc-gateway/v2 v2.26.3/go.mod h1:ndYquD05frm2vACXE1nsccT4oJzjhw2arTS2cpUD1PI=
|
||||
github.com/iancoleman/orderedmap v0.3.0 h1:5cbR2grmZR/DiVt+VJopEhtVs9YGInGIxAoMJn+Ichc=
|
||||
|
7
main.go
7
main.go
@ -23,6 +23,7 @@ import (
|
||||
optsgrpc "gitea.libretechconsulting.com/rmcguire/go-app/pkg/srv/grpc/opts"
|
||||
optshttp "gitea.libretechconsulting.com/rmcguire/go-app/pkg/srv/http/opts"
|
||||
|
||||
"gitea.libretechconsulting.com/rmcguire/class-server/pkg/classgrpc"
|
||||
"gitea.libretechconsulting.com/rmcguire/class-server/pkg/config"
|
||||
"gitea.libretechconsulting.com/rmcguire/class-server/pkg/demogrpc"
|
||||
"gitea.libretechconsulting.com/rmcguire/class-server/pkg/demohttp"
|
||||
@ -51,12 +52,14 @@ func main() {
|
||||
demoHTTP := demohttp.NewDemoHTTPServer(ctx, demoApp)
|
||||
demoGRPC := demogrpc.NewDemoGRPCServer(ctx, demoApp)
|
||||
|
||||
classGRPC := classgrpc.New(ctx)
|
||||
|
||||
// Prepare app
|
||||
app := &app.App{
|
||||
AppContext: ctx,
|
||||
GRPC: &optsgrpc.AppGRPC{
|
||||
Services: demoGRPC.GetServices(),
|
||||
GRPCDialOpts: demoGRPC.GetDialOpts(),
|
||||
Services: append(demoGRPC.GetServices(), classGRPC.GetServices()...),
|
||||
GRPCDialOpts: append(demoGRPC.GetDialOpts(), classGRPC.GetDialOpts()...),
|
||||
},
|
||||
HTTP: &optshttp.AppHTTP{
|
||||
Ctx: ctx,
|
||||
|
45
pkg/classgrpc/class.go
Normal file
45
pkg/classgrpc/class.go
Normal file
@ -0,0 +1,45 @@
|
||||
package classgrpc
|
||||
|
||||
import (
|
||||
"context"
|
||||
"strings"
|
||||
|
||||
figure "github.com/common-nighthawk/go-figure"
|
||||
|
||||
class "gitea.libretechconsulting.com/rmcguire/class-server/api/class/v1alpha1"
|
||||
)
|
||||
|
||||
type ClassService struct {
|
||||
class.UnimplementedClassServiceServer
|
||||
ctx context.Context
|
||||
}
|
||||
|
||||
var DefaultFont = class.Font_FONT_BARBWIRE
|
||||
|
||||
func (s *ClassService) GetClassLogo(ctx context.Context, req *class.GetClassLogoRequest) (*class.GetClassLogoResponse, error) {
|
||||
if req.GetFont() == class.Font_FONT_UNSPECIFIED {
|
||||
req.Font = DefaultFont
|
||||
}
|
||||
|
||||
f := figure.NewFigure("Indiana Tech", getFontString(req.GetFont()), false)
|
||||
|
||||
resp := &class.GetClassLogoResponse{
|
||||
LogoBytes: []byte(f.String()),
|
||||
}
|
||||
|
||||
if req.GetIncludeString() {
|
||||
resp.LogoString = f.String()
|
||||
}
|
||||
|
||||
return resp, nil
|
||||
}
|
||||
|
||||
func getFontString(font class.Font) string {
|
||||
return strings.ToLower(strings.ReplaceAll(font.String(), "FONT_", ""))
|
||||
}
|
||||
|
||||
func New(ctx context.Context) *ClassService {
|
||||
return &ClassService{
|
||||
ctx: ctx,
|
||||
}
|
||||
}
|
30
pkg/classgrpc/server.go
Normal file
30
pkg/classgrpc/server.go
Normal file
@ -0,0 +1,30 @@
|
||||
package classgrpc
|
||||
|
||||
import (
|
||||
"gitea.libretechconsulting.com/rmcguire/go-app/pkg/srv/grpc/opts"
|
||||
"google.golang.org/grpc"
|
||||
"google.golang.org/grpc/credentials/insecure"
|
||||
|
||||
class "gitea.libretechconsulting.com/rmcguire/class-server/api/class/v1alpha1"
|
||||
)
|
||||
|
||||
func (s *ClassService) GetDialOpts() []grpc.DialOption {
|
||||
return []grpc.DialOption{
|
||||
// NOTE: Necessary for grpc-gateway to connect to grpc server
|
||||
// Update if grpc service has credentials, tls, etc..
|
||||
grpc.WithTransportCredentials(insecure.NewCredentials()),
|
||||
}
|
||||
}
|
||||
|
||||
func (s *ClassService) GetServices() []*opts.GRPCService {
|
||||
return []*opts.GRPCService{
|
||||
{
|
||||
Name: "Class App",
|
||||
Type: &class.ClassService_ServiceDesc,
|
||||
Service: s,
|
||||
GwRegistrationFuncs: []opts.GwRegistrationFunc{
|
||||
class.RegisterClassServiceHandler,
|
||||
},
|
||||
},
|
||||
}
|
||||
}
|
@ -2,21 +2,159 @@ syntax = "proto3";
|
||||
package class.v1alpha1;
|
||||
|
||||
import "google/api/annotations.proto";
|
||||
import "google/protobuf/timestamp.proto";
|
||||
|
||||
option go_package = "gitea.libretechconsulting.com/rmcguire/class-server/api/v1alpha1/class";
|
||||
|
||||
enum LogoType {
|
||||
LOGO_TYPE_UNSPECIFIED = 0;
|
||||
LOGO_TYPE_RANDOM = 1;
|
||||
LOGO_TYPE_TECH = 2;
|
||||
enum Font {
|
||||
FONT_UNSPECIFIED = 0;
|
||||
FONT_3X5 = 2;
|
||||
FONT_5LINEOBLIQUE = 3;
|
||||
FONT_ACROBATIC = 4;
|
||||
FONT_ALLIGATOR = 5;
|
||||
FONT_ALLIGATOR2 = 6;
|
||||
FONT_ALPHABET = 7;
|
||||
FONT_AVATAR = 8;
|
||||
FONT_BANNER = 9;
|
||||
FONT_BANNER3 = 11;
|
||||
FONT_BANNER4 = 12;
|
||||
FONT_BARBWIRE = 13;
|
||||
FONT_BASIC = 14;
|
||||
FONT_BELL = 15;
|
||||
FONT_BIG = 16;
|
||||
FONT_BIGCHIEF = 17;
|
||||
FONT_BINARY = 18;
|
||||
FONT_BLOCK = 19;
|
||||
FONT_BUBBLE = 20;
|
||||
FONT_BULBHEAD = 21;
|
||||
FONT_CALGPHY2 = 22;
|
||||
FONT_CALIGRAPHY = 23;
|
||||
FONT_CATWALK = 24;
|
||||
FONT_CHUNKY = 25;
|
||||
FONT_COINSTAK = 26;
|
||||
FONT_COLOSSAL = 27;
|
||||
FONT_COMPUTER = 28;
|
||||
FONT_CONTESSA = 29;
|
||||
FONT_CONTRAST = 30;
|
||||
FONT_COSMIC = 31;
|
||||
FONT_COSMIKE = 32;
|
||||
FONT_CRICKET = 33;
|
||||
FONT_CURSIVE = 34;
|
||||
FONT_CYBERLARGE = 35;
|
||||
FONT_CYBERMEDIUM = 36;
|
||||
FONT_CYBERSMALL = 37;
|
||||
FONT_DIAMOND = 38;
|
||||
FONT_DIGITAL = 39;
|
||||
FONT_DOH = 40;
|
||||
FONT_DOOM = 41;
|
||||
FONT_DOTMATRIX = 42;
|
||||
FONT_DRPEPPER = 43;
|
||||
FONT_EFTICHESS = 44;
|
||||
FONT_EFTIFONT = 45;
|
||||
FONT_EFTIPITI = 46;
|
||||
FONT_EFTIROBOT = 47;
|
||||
FONT_EFTITALIC = 48;
|
||||
FONT_EFTIWALL = 49;
|
||||
FONT_EFTIWATER = 50;
|
||||
FONT_EPIC = 51;
|
||||
FONT_FENDER = 52;
|
||||
FONT_FOURTOPS = 53;
|
||||
FONT_FUZZY = 54;
|
||||
FONT_GOOFY = 55;
|
||||
FONT_GOTHIC = 56;
|
||||
FONT_GRAFFITI = 57;
|
||||
FONT_HOLLYWOOD = 58;
|
||||
FONT_INVITA = 59;
|
||||
FONT_ISOMETRIC1 = 60;
|
||||
FONT_ISOMETRIC2 = 61;
|
||||
FONT_ISOMETRIC3 = 62;
|
||||
FONT_ISOMETRIC4 = 63;
|
||||
FONT_ITALIC = 64;
|
||||
FONT_IVRIT = 65;
|
||||
FONT_JAZMINE = 66;
|
||||
FONT_JERUSALEM = 67;
|
||||
FONT_KATAKANA = 68;
|
||||
FONT_KBAN = 69;
|
||||
FONT_LARRY3D = 70;
|
||||
FONT_LCD = 71;
|
||||
FONT_LEAN = 72;
|
||||
FONT_LETTERS = 73;
|
||||
FONT_LINUX = 74;
|
||||
FONT_LOCKERGNOME = 75;
|
||||
FONT_MADRID = 76;
|
||||
FONT_MARQUEE = 77;
|
||||
FONT_MAXFOUR = 78;
|
||||
FONT_MIKE = 79;
|
||||
FONT_MINI = 80;
|
||||
FONT_MIRROR = 81;
|
||||
FONT_MNEMONIC = 82;
|
||||
FONT_MORSE = 83;
|
||||
FONT_MOSCOW = 84;
|
||||
FONT_NANCYJ = 87;
|
||||
FONT_NIPPLES = 88;
|
||||
FONT_NTGREEK = 89;
|
||||
FONT_O8 = 90;
|
||||
FONT_OGRE = 91;
|
||||
FONT_PAWP = 92;
|
||||
FONT_PEAKS = 93;
|
||||
FONT_PEBBLES = 94;
|
||||
FONT_PEPPER = 95;
|
||||
FONT_POISON = 96;
|
||||
FONT_PUFFY = 97;
|
||||
FONT_PYRAMID = 98;
|
||||
FONT_RECTANGLES = 99;
|
||||
FONT_RELIEF = 100;
|
||||
FONT_RELIEF2 = 101;
|
||||
FONT_REV = 102;
|
||||
FONT_ROMAN = 103;
|
||||
FONT_ROT13 = 104;
|
||||
FONT_ROUNDED = 105;
|
||||
FONT_ROWANCAP = 106;
|
||||
FONT_ROZZO = 107;
|
||||
FONT_RUNIC = 108;
|
||||
FONT_RUNYC = 109;
|
||||
FONT_SBLOOD = 110;
|
||||
FONT_SCRIPT = 111;
|
||||
FONT_SERIFCAP = 112;
|
||||
FONT_SHADOW = 113;
|
||||
FONT_SHORT = 114;
|
||||
FONT_SLANT = 115;
|
||||
FONT_SLIDE = 116;
|
||||
FONT_SLSCRIPT = 117;
|
||||
FONT_SMALL = 118;
|
||||
FONT_SMISOME1 = 119;
|
||||
FONT_SMKEYBOARD = 120;
|
||||
FONT_SMSCRIPT = 121;
|
||||
FONT_SMSHADOW = 122;
|
||||
FONT_SMSLANT = 123;
|
||||
FONT_SMTENGWAR = 124;
|
||||
FONT_SPEED = 125;
|
||||
FONT_STAMPATELLO = 126;
|
||||
FONT_STANDARD = 127;
|
||||
FONT_STARWARS = 128;
|
||||
FONT_STELLAR = 129;
|
||||
FONT_STOP = 130;
|
||||
FONT_STRAIGHT = 131;
|
||||
FONT_TANJA = 132;
|
||||
FONT_TENGWAR = 133;
|
||||
FONT_TERM = 134;
|
||||
FONT_THICK = 135;
|
||||
FONT_THIN = 136;
|
||||
FONT_THREEPOINT = 137;
|
||||
FONT_TICKS = 138;
|
||||
FONT_TICKSSLANT = 139;
|
||||
FONT_TOMBSTONE = 141;
|
||||
FONT_TREK = 142;
|
||||
FONT_TSALAGI = 143;
|
||||
FONT_TWOPOINT = 144;
|
||||
FONT_UNIVERS = 145;
|
||||
FONT_USAFLAG = 146;
|
||||
FONT_WAVY = 147;
|
||||
FONT_WEIRD = 148;
|
||||
}
|
||||
|
||||
message GetClassLogoRequest {
|
||||
LogoType logo_type = 1;
|
||||
// Default is no padding
|
||||
optional uint32 logo_padding = 2;
|
||||
optional bool include_string = 3;
|
||||
Font font = 1;
|
||||
optional bool include_string = 2;
|
||||
}
|
||||
|
||||
message GetClassLogoResponse {
|
||||
|
Reference in New Issue
Block a user