1// SPDX-License-Identifier: MIT
2
3// Code generated by protoc-gen-connect-go. DO NOT EDIT.
4//
5// Source: ermite/release.proto
6
7package ermiteconnect
8
9import (
10 ermite "bnema.dev/ermite-api/gen/ermite"
11 connect "connectrpc.com/connect"
12 context "context"
13 errors "errors"
14 http "net/http"
15 strings "strings"
16)
17
18// This is a compile-time assertion to ensure that this generated file and the connect package are
19// compatible. If you get a compiler error that this constant is not defined, this code was
20// generated with a version of connect newer than the one compiled into your binary. You can fix the
21// problem by either regenerating this code with an older version of connect or updating the connect
22// version compiled into your binary.
23const _ = connect.IsAtLeastVersion1_13_0
24
25const (
26 // ReleaseServiceName is the fully-qualified name of the ReleaseService service.
27 ReleaseServiceName = "ermite.ReleaseService"
28)
29
30// These constants are the fully-qualified names of the RPCs defined in this package. They're
31// exposed at runtime as Spec.Procedure and as the final two segments of the HTTP route.
32//
33// Note that these are different from the fully-qualified method names used by
34// google.golang.org/protobuf/reflect/protoreflect. To convert from these constants to
35// reflection-formatted method names, remove the leading slash and convert the remaining slash to a
36// period.
37const (
38 // ReleaseServiceCreateReleaseProcedure is the fully-qualified name of the ReleaseService's
39 // CreateRelease RPC.
40 ReleaseServiceCreateReleaseProcedure = "/ermite.ReleaseService/CreateRelease"
41 // ReleaseServiceGetReleaseProcedure is the fully-qualified name of the ReleaseService's GetRelease
42 // RPC.
43 ReleaseServiceGetReleaseProcedure = "/ermite.ReleaseService/GetRelease"
44 // ReleaseServiceListReleasesProcedure is the fully-qualified name of the ReleaseService's
45 // ListReleases RPC.
46 ReleaseServiceListReleasesProcedure = "/ermite.ReleaseService/ListReleases"
47 // ReleaseServiceUpdateReleaseProcedure is the fully-qualified name of the ReleaseService's
48 // UpdateRelease RPC.
49 ReleaseServiceUpdateReleaseProcedure = "/ermite.ReleaseService/UpdateRelease"
50 // ReleaseServiceDeleteReleaseProcedure is the fully-qualified name of the ReleaseService's
51 // DeleteRelease RPC.
52 ReleaseServiceDeleteReleaseProcedure = "/ermite.ReleaseService/DeleteRelease"
53 // ReleaseServiceUploadReleaseAssetProcedure is the fully-qualified name of the ReleaseService's
54 // UploadReleaseAsset RPC.
55 ReleaseServiceUploadReleaseAssetProcedure = "/ermite.ReleaseService/UploadReleaseAsset"
56 // ReleaseServiceUpdateReleaseAssetProcedure is the fully-qualified name of the ReleaseService's
57 // UpdateReleaseAsset RPC.
58 ReleaseServiceUpdateReleaseAssetProcedure = "/ermite.ReleaseService/UpdateReleaseAsset"
59 // ReleaseServiceDeleteReleaseAssetProcedure is the fully-qualified name of the ReleaseService's
60 // DeleteReleaseAsset RPC.
61 ReleaseServiceDeleteReleaseAssetProcedure = "/ermite.ReleaseService/DeleteReleaseAsset"
62 // ReleaseServiceDownloadReleaseAssetProcedure is the fully-qualified name of the ReleaseService's
63 // DownloadReleaseAsset RPC.
64 ReleaseServiceDownloadReleaseAssetProcedure = "/ermite.ReleaseService/DownloadReleaseAsset"
65 // ReleaseServiceListReleaseAssetsProcedure is the fully-qualified name of the ReleaseService's
66 // ListReleaseAssets RPC.
67 ReleaseServiceListReleaseAssetsProcedure = "/ermite.ReleaseService/ListReleaseAssets"
68 // ReleaseServiceGetReleaseUsageProcedure is the fully-qualified name of the ReleaseService's
69 // GetReleaseUsage RPC.
70 ReleaseServiceGetReleaseUsageProcedure = "/ermite.ReleaseService/GetReleaseUsage"
71)
72
73// ReleaseServiceClient is a client for the ermite.ReleaseService service.
74type ReleaseServiceClient interface {
75 // CreateRelease creates one release per tag (already_exists on duplication).
76 // Publishing without an existing tag is failed_precondition, unless
77 // target_commitish is supplied to create it; existing tags never move.
78 CreateRelease(context.Context, *connect.Request[ermite.CreateReleaseRequest]) (*connect.Response[ermite.CreateReleaseResponse], error)
79 // GetRelease selects by id, tag or latest (latest must be true).
80 GetRelease(context.Context, *connect.Request[ermite.GetReleaseRequest]) (*connect.Response[ermite.GetReleaseResponse], error)
81 // ListReleases lists newest first, including drafts only for writers.
82 ListReleases(context.Context, *connect.Request[ermite.ListReleasesRequest]) (*connect.Response[ermite.ListReleasesResponse], error)
83 // UpdateRelease changes masked fields. Publishing requires an existing tag
84 // or target_commitish to create it; otherwise failed_precondition.
85 UpdateRelease(context.Context, *connect.Request[ermite.UpdateReleaseRequest]) (*connect.Response[ermite.UpdateReleaseResponse], error)
86 // DeleteRelease removes a release and its assets.
87 DeleteRelease(context.Context, *connect.Request[ermite.DeleteReleaseRequest]) (*connect.Response[ermite.DeleteReleaseResponse], error)
88 // UploadReleaseAsset reserves size before reading. The first message carries
89 // metadata; subsequent messages carry only data, at most 1 MiB per message.
90 // Size must be nonnegative (-1 is refused). An interrupted stream stores no
91 // asset. A taken name gives already_exists unless replace is true. Uploading
92 // to a release of another repo gives failed_precondition.
93 UploadReleaseAsset(context.Context) *connect.ClientStreamForClient[ermite.UploadReleaseAssetRequest, ermite.UploadReleaseAssetResponse]
94 // UpdateReleaseAsset changes masked name and label; a taken name gives already_exists.
95 UpdateReleaseAsset(context.Context, *connect.Request[ermite.UpdateReleaseAssetRequest]) (*connect.Response[ermite.UpdateReleaseAssetResponse], error)
96 // DeleteReleaseAsset removes an asset.
97 DeleteReleaseAsset(context.Context, *connect.Request[ermite.DeleteReleaseAssetRequest]) (*connect.Response[ermite.DeleteReleaseAssetResponse], error)
98 // DownloadReleaseAsset sends asset metadata first, then chunks of at most
99 // 1 MiB. Resume with the offset after the last byte received. An offset
100 // beyond the size gives out_of_range.
101 DownloadReleaseAsset(context.Context, *connect.Request[ermite.DownloadReleaseAssetRequest]) (*connect.ServerStreamForClient[ermite.DownloadReleaseAssetResponse], error)
102 // ListReleaseAssets lists uploaded assets, ordered by name.
103 ListReleaseAssets(context.Context, *connect.Request[ermite.ListReleaseAssetsRequest]) (*connect.Response[ermite.ListReleaseAssetsResponse], error)
104 // GetReleaseUsage returns usage (including reserved uploads) and limits.
105 GetReleaseUsage(context.Context, *connect.Request[ermite.GetReleaseUsageRequest]) (*connect.Response[ermite.GetReleaseUsageResponse], error)
106}
107
108// NewReleaseServiceClient constructs a client for the ermite.ReleaseService service. By default, it
109// uses the Connect protocol with the binary Protobuf Codec, asks for gzipped responses, and sends
110// uncompressed requests. To use the gRPC or gRPC-Web protocols, supply the connect.WithGRPC() or
111// connect.WithGRPCWeb() options.
112//
113// The URL supplied here should be the base URL for the Connect or gRPC server (for example,
114// http://api.acme.com or https://acme.com/grpc).
115func NewReleaseServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) ReleaseServiceClient {
116 baseURL = strings.TrimRight(baseURL, "/")
117 releaseServiceMethods := ermite.File_ermite_release_proto.Services().ByName("ReleaseService").Methods()
118 return &releaseServiceClient{
119 createRelease: connect.NewClient[ermite.CreateReleaseRequest, ermite.CreateReleaseResponse](
120 httpClient,
121 baseURL+ReleaseServiceCreateReleaseProcedure,
122 connect.WithSchema(releaseServiceMethods.ByName("CreateRelease")),
123 connect.WithClientOptions(opts...),
124 ),
125 getRelease: connect.NewClient[ermite.GetReleaseRequest, ermite.GetReleaseResponse](
126 httpClient,
127 baseURL+ReleaseServiceGetReleaseProcedure,
128 connect.WithSchema(releaseServiceMethods.ByName("GetRelease")),
129 connect.WithClientOptions(opts...),
130 ),
131 listReleases: connect.NewClient[ermite.ListReleasesRequest, ermite.ListReleasesResponse](
132 httpClient,
133 baseURL+ReleaseServiceListReleasesProcedure,
134 connect.WithSchema(releaseServiceMethods.ByName("ListReleases")),
135 connect.WithClientOptions(opts...),
136 ),
137 updateRelease: connect.NewClient[ermite.UpdateReleaseRequest, ermite.UpdateReleaseResponse](
138 httpClient,
139 baseURL+ReleaseServiceUpdateReleaseProcedure,
140 connect.WithSchema(releaseServiceMethods.ByName("UpdateRelease")),
141 connect.WithClientOptions(opts...),
142 ),
143 deleteRelease: connect.NewClient[ermite.DeleteReleaseRequest, ermite.DeleteReleaseResponse](
144 httpClient,
145 baseURL+ReleaseServiceDeleteReleaseProcedure,
146 connect.WithSchema(releaseServiceMethods.ByName("DeleteRelease")),
147 connect.WithClientOptions(opts...),
148 ),
149 uploadReleaseAsset: connect.NewClient[ermite.UploadReleaseAssetRequest, ermite.UploadReleaseAssetResponse](
150 httpClient,
151 baseURL+ReleaseServiceUploadReleaseAssetProcedure,
152 connect.WithSchema(releaseServiceMethods.ByName("UploadReleaseAsset")),
153 connect.WithClientOptions(opts...),
154 ),
155 updateReleaseAsset: connect.NewClient[ermite.UpdateReleaseAssetRequest, ermite.UpdateReleaseAssetResponse](
156 httpClient,
157 baseURL+ReleaseServiceUpdateReleaseAssetProcedure,
158 connect.WithSchema(releaseServiceMethods.ByName("UpdateReleaseAsset")),
159 connect.WithClientOptions(opts...),
160 ),
161 deleteReleaseAsset: connect.NewClient[ermite.DeleteReleaseAssetRequest, ermite.DeleteReleaseAssetResponse](
162 httpClient,
163 baseURL+ReleaseServiceDeleteReleaseAssetProcedure,
164 connect.WithSchema(releaseServiceMethods.ByName("DeleteReleaseAsset")),
165 connect.WithClientOptions(opts...),
166 ),
167 downloadReleaseAsset: connect.NewClient[ermite.DownloadReleaseAssetRequest, ermite.DownloadReleaseAssetResponse](
168 httpClient,
169 baseURL+ReleaseServiceDownloadReleaseAssetProcedure,
170 connect.WithSchema(releaseServiceMethods.ByName("DownloadReleaseAsset")),
171 connect.WithClientOptions(opts...),
172 ),
173 listReleaseAssets: connect.NewClient[ermite.ListReleaseAssetsRequest, ermite.ListReleaseAssetsResponse](
174 httpClient,
175 baseURL+ReleaseServiceListReleaseAssetsProcedure,
176 connect.WithSchema(releaseServiceMethods.ByName("ListReleaseAssets")),
177 connect.WithClientOptions(opts...),
178 ),
179 getReleaseUsage: connect.NewClient[ermite.GetReleaseUsageRequest, ermite.GetReleaseUsageResponse](
180 httpClient,
181 baseURL+ReleaseServiceGetReleaseUsageProcedure,
182 connect.WithSchema(releaseServiceMethods.ByName("GetReleaseUsage")),
183 connect.WithClientOptions(opts...),
184 ),
185 }
186}
187
188// releaseServiceClient implements ReleaseServiceClient.
189type releaseServiceClient struct {
190 createRelease *connect.Client[ermite.CreateReleaseRequest, ermite.CreateReleaseResponse]
191 getRelease *connect.Client[ermite.GetReleaseRequest, ermite.GetReleaseResponse]
192 listReleases *connect.Client[ermite.ListReleasesRequest, ermite.ListReleasesResponse]
193 updateRelease *connect.Client[ermite.UpdateReleaseRequest, ermite.UpdateReleaseResponse]
194 deleteRelease *connect.Client[ermite.DeleteReleaseRequest, ermite.DeleteReleaseResponse]
195 uploadReleaseAsset *connect.Client[ermite.UploadReleaseAssetRequest, ermite.UploadReleaseAssetResponse]
196 updateReleaseAsset *connect.Client[ermite.UpdateReleaseAssetRequest, ermite.UpdateReleaseAssetResponse]
197 deleteReleaseAsset *connect.Client[ermite.DeleteReleaseAssetRequest, ermite.DeleteReleaseAssetResponse]
198 downloadReleaseAsset *connect.Client[ermite.DownloadReleaseAssetRequest, ermite.DownloadReleaseAssetResponse]
199 listReleaseAssets *connect.Client[ermite.ListReleaseAssetsRequest, ermite.ListReleaseAssetsResponse]
200 getReleaseUsage *connect.Client[ermite.GetReleaseUsageRequest, ermite.GetReleaseUsageResponse]
201}
202
203// CreateRelease calls ermite.ReleaseService.CreateRelease.
204func (c *releaseServiceClient) CreateRelease(ctx context.Context, req *connect.Request[ermite.CreateReleaseRequest]) (*connect.Response[ermite.CreateReleaseResponse], error) {
205 return c.createRelease.CallUnary(ctx, req)
206}
207
208// GetRelease calls ermite.ReleaseService.GetRelease.
209func (c *releaseServiceClient) GetRelease(ctx context.Context, req *connect.Request[ermite.GetReleaseRequest]) (*connect.Response[ermite.GetReleaseResponse], error) {
210 return c.getRelease.CallUnary(ctx, req)
211}
212
213// ListReleases calls ermite.ReleaseService.ListReleases.
214func (c *releaseServiceClient) ListReleases(ctx context.Context, req *connect.Request[ermite.ListReleasesRequest]) (*connect.Response[ermite.ListReleasesResponse], error) {
215 return c.listReleases.CallUnary(ctx, req)
216}
217
218// UpdateRelease calls ermite.ReleaseService.UpdateRelease.
219func (c *releaseServiceClient) UpdateRelease(ctx context.Context, req *connect.Request[ermite.UpdateReleaseRequest]) (*connect.Response[ermite.UpdateReleaseResponse], error) {
220 return c.updateRelease.CallUnary(ctx, req)
221}
222
223// DeleteRelease calls ermite.ReleaseService.DeleteRelease.
224func (c *releaseServiceClient) DeleteRelease(ctx context.Context, req *connect.Request[ermite.DeleteReleaseRequest]) (*connect.Response[ermite.DeleteReleaseResponse], error) {
225 return c.deleteRelease.CallUnary(ctx, req)
226}
227
228// UploadReleaseAsset calls ermite.ReleaseService.UploadReleaseAsset.
229func (c *releaseServiceClient) UploadReleaseAsset(ctx context.Context) *connect.ClientStreamForClient[ermite.UploadReleaseAssetRequest, ermite.UploadReleaseAssetResponse] {
230 return c.uploadReleaseAsset.CallClientStream(ctx)
231}
232
233// UpdateReleaseAsset calls ermite.ReleaseService.UpdateReleaseAsset.
234func (c *releaseServiceClient) UpdateReleaseAsset(ctx context.Context, req *connect.Request[ermite.UpdateReleaseAssetRequest]) (*connect.Response[ermite.UpdateReleaseAssetResponse], error) {
235 return c.updateReleaseAsset.CallUnary(ctx, req)
236}
237
238// DeleteReleaseAsset calls ermite.ReleaseService.DeleteReleaseAsset.
239func (c *releaseServiceClient) DeleteReleaseAsset(ctx context.Context, req *connect.Request[ermite.DeleteReleaseAssetRequest]) (*connect.Response[ermite.DeleteReleaseAssetResponse], error) {
240 return c.deleteReleaseAsset.CallUnary(ctx, req)
241}
242
243// DownloadReleaseAsset calls ermite.ReleaseService.DownloadReleaseAsset.
244func (c *releaseServiceClient) DownloadReleaseAsset(ctx context.Context, req *connect.Request[ermite.DownloadReleaseAssetRequest]) (*connect.ServerStreamForClient[ermite.DownloadReleaseAssetResponse], error) {
245 return c.downloadReleaseAsset.CallServerStream(ctx, req)
246}
247
248// ListReleaseAssets calls ermite.ReleaseService.ListReleaseAssets.
249func (c *releaseServiceClient) ListReleaseAssets(ctx context.Context, req *connect.Request[ermite.ListReleaseAssetsRequest]) (*connect.Response[ermite.ListReleaseAssetsResponse], error) {
250 return c.listReleaseAssets.CallUnary(ctx, req)
251}
252
253// GetReleaseUsage calls ermite.ReleaseService.GetReleaseUsage.
254func (c *releaseServiceClient) GetReleaseUsage(ctx context.Context, req *connect.Request[ermite.GetReleaseUsageRequest]) (*connect.Response[ermite.GetReleaseUsageResponse], error) {
255 return c.getReleaseUsage.CallUnary(ctx, req)
256}
257
258// ReleaseServiceHandler is an implementation of the ermite.ReleaseService service.
259type ReleaseServiceHandler interface {
260 // CreateRelease creates one release per tag (already_exists on duplication).
261 // Publishing without an existing tag is failed_precondition, unless
262 // target_commitish is supplied to create it; existing tags never move.
263 CreateRelease(context.Context, *connect.Request[ermite.CreateReleaseRequest]) (*connect.Response[ermite.CreateReleaseResponse], error)
264 // GetRelease selects by id, tag or latest (latest must be true).
265 GetRelease(context.Context, *connect.Request[ermite.GetReleaseRequest]) (*connect.Response[ermite.GetReleaseResponse], error)
266 // ListReleases lists newest first, including drafts only for writers.
267 ListReleases(context.Context, *connect.Request[ermite.ListReleasesRequest]) (*connect.Response[ermite.ListReleasesResponse], error)
268 // UpdateRelease changes masked fields. Publishing requires an existing tag
269 // or target_commitish to create it; otherwise failed_precondition.
270 UpdateRelease(context.Context, *connect.Request[ermite.UpdateReleaseRequest]) (*connect.Response[ermite.UpdateReleaseResponse], error)
271 // DeleteRelease removes a release and its assets.
272 DeleteRelease(context.Context, *connect.Request[ermite.DeleteReleaseRequest]) (*connect.Response[ermite.DeleteReleaseResponse], error)
273 // UploadReleaseAsset reserves size before reading. The first message carries
274 // metadata; subsequent messages carry only data, at most 1 MiB per message.
275 // Size must be nonnegative (-1 is refused). An interrupted stream stores no
276 // asset. A taken name gives already_exists unless replace is true. Uploading
277 // to a release of another repo gives failed_precondition.
278 UploadReleaseAsset(context.Context, *connect.ClientStream[ermite.UploadReleaseAssetRequest]) (*connect.Response[ermite.UploadReleaseAssetResponse], error)
279 // UpdateReleaseAsset changes masked name and label; a taken name gives already_exists.
280 UpdateReleaseAsset(context.Context, *connect.Request[ermite.UpdateReleaseAssetRequest]) (*connect.Response[ermite.UpdateReleaseAssetResponse], error)
281 // DeleteReleaseAsset removes an asset.
282 DeleteReleaseAsset(context.Context, *connect.Request[ermite.DeleteReleaseAssetRequest]) (*connect.Response[ermite.DeleteReleaseAssetResponse], error)
283 // DownloadReleaseAsset sends asset metadata first, then chunks of at most
284 // 1 MiB. Resume with the offset after the last byte received. An offset
285 // beyond the size gives out_of_range.
286 DownloadReleaseAsset(context.Context, *connect.Request[ermite.DownloadReleaseAssetRequest], *connect.ServerStream[ermite.DownloadReleaseAssetResponse]) error
287 // ListReleaseAssets lists uploaded assets, ordered by name.
288 ListReleaseAssets(context.Context, *connect.Request[ermite.ListReleaseAssetsRequest]) (*connect.Response[ermite.ListReleaseAssetsResponse], error)
289 // GetReleaseUsage returns usage (including reserved uploads) and limits.
290 GetReleaseUsage(context.Context, *connect.Request[ermite.GetReleaseUsageRequest]) (*connect.Response[ermite.GetReleaseUsageResponse], error)
291}
292
293// NewReleaseServiceHandler builds an HTTP handler from the service implementation. It returns the
294// path on which to mount the handler and the handler itself.
295//
296// By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf
297// and JSON codecs. They also support gzip compression.
298func NewReleaseServiceHandler(svc ReleaseServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) {
299 releaseServiceMethods := ermite.File_ermite_release_proto.Services().ByName("ReleaseService").Methods()
300 releaseServiceCreateReleaseHandler := connect.NewUnaryHandler(
301 ReleaseServiceCreateReleaseProcedure,
302 svc.CreateRelease,
303 connect.WithSchema(releaseServiceMethods.ByName("CreateRelease")),
304 connect.WithHandlerOptions(opts...),
305 )
306 releaseServiceGetReleaseHandler := connect.NewUnaryHandler(
307 ReleaseServiceGetReleaseProcedure,
308 svc.GetRelease,
309 connect.WithSchema(releaseServiceMethods.ByName("GetRelease")),
310 connect.WithHandlerOptions(opts...),
311 )
312 releaseServiceListReleasesHandler := connect.NewUnaryHandler(
313 ReleaseServiceListReleasesProcedure,
314 svc.ListReleases,
315 connect.WithSchema(releaseServiceMethods.ByName("ListReleases")),
316 connect.WithHandlerOptions(opts...),
317 )
318 releaseServiceUpdateReleaseHandler := connect.NewUnaryHandler(
319 ReleaseServiceUpdateReleaseProcedure,
320 svc.UpdateRelease,
321 connect.WithSchema(releaseServiceMethods.ByName("UpdateRelease")),
322 connect.WithHandlerOptions(opts...),
323 )
324 releaseServiceDeleteReleaseHandler := connect.NewUnaryHandler(
325 ReleaseServiceDeleteReleaseProcedure,
326 svc.DeleteRelease,
327 connect.WithSchema(releaseServiceMethods.ByName("DeleteRelease")),
328 connect.WithHandlerOptions(opts...),
329 )
330 releaseServiceUploadReleaseAssetHandler := connect.NewClientStreamHandler(
331 ReleaseServiceUploadReleaseAssetProcedure,
332 svc.UploadReleaseAsset,
333 connect.WithSchema(releaseServiceMethods.ByName("UploadReleaseAsset")),
334 connect.WithHandlerOptions(opts...),
335 )
336 releaseServiceUpdateReleaseAssetHandler := connect.NewUnaryHandler(
337 ReleaseServiceUpdateReleaseAssetProcedure,
338 svc.UpdateReleaseAsset,
339 connect.WithSchema(releaseServiceMethods.ByName("UpdateReleaseAsset")),
340 connect.WithHandlerOptions(opts...),
341 )
342 releaseServiceDeleteReleaseAssetHandler := connect.NewUnaryHandler(
343 ReleaseServiceDeleteReleaseAssetProcedure,
344 svc.DeleteReleaseAsset,
345 connect.WithSchema(releaseServiceMethods.ByName("DeleteReleaseAsset")),
346 connect.WithHandlerOptions(opts...),
347 )
348 releaseServiceDownloadReleaseAssetHandler := connect.NewServerStreamHandler(
349 ReleaseServiceDownloadReleaseAssetProcedure,
350 svc.DownloadReleaseAsset,
351 connect.WithSchema(releaseServiceMethods.ByName("DownloadReleaseAsset")),
352 connect.WithHandlerOptions(opts...),
353 )
354 releaseServiceListReleaseAssetsHandler := connect.NewUnaryHandler(
355 ReleaseServiceListReleaseAssetsProcedure,
356 svc.ListReleaseAssets,
357 connect.WithSchema(releaseServiceMethods.ByName("ListReleaseAssets")),
358 connect.WithHandlerOptions(opts...),
359 )
360 releaseServiceGetReleaseUsageHandler := connect.NewUnaryHandler(
361 ReleaseServiceGetReleaseUsageProcedure,
362 svc.GetReleaseUsage,
363 connect.WithSchema(releaseServiceMethods.ByName("GetReleaseUsage")),
364 connect.WithHandlerOptions(opts...),
365 )
366 return "/ermite.ReleaseService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
367 switch r.URL.Path {
368 case ReleaseServiceCreateReleaseProcedure:
369 releaseServiceCreateReleaseHandler.ServeHTTP(w, r)
370 case ReleaseServiceGetReleaseProcedure:
371 releaseServiceGetReleaseHandler.ServeHTTP(w, r)
372 case ReleaseServiceListReleasesProcedure:
373 releaseServiceListReleasesHandler.ServeHTTP(w, r)
374 case ReleaseServiceUpdateReleaseProcedure:
375 releaseServiceUpdateReleaseHandler.ServeHTTP(w, r)
376 case ReleaseServiceDeleteReleaseProcedure:
377 releaseServiceDeleteReleaseHandler.ServeHTTP(w, r)
378 case ReleaseServiceUploadReleaseAssetProcedure:
379 releaseServiceUploadReleaseAssetHandler.ServeHTTP(w, r)
380 case ReleaseServiceUpdateReleaseAssetProcedure:
381 releaseServiceUpdateReleaseAssetHandler.ServeHTTP(w, r)
382 case ReleaseServiceDeleteReleaseAssetProcedure:
383 releaseServiceDeleteReleaseAssetHandler.ServeHTTP(w, r)
384 case ReleaseServiceDownloadReleaseAssetProcedure:
385 releaseServiceDownloadReleaseAssetHandler.ServeHTTP(w, r)
386 case ReleaseServiceListReleaseAssetsProcedure:
387 releaseServiceListReleaseAssetsHandler.ServeHTTP(w, r)
388 case ReleaseServiceGetReleaseUsageProcedure:
389 releaseServiceGetReleaseUsageHandler.ServeHTTP(w, r)
390 default:
391 http.NotFound(w, r)
392 }
393 })
394}
395
396// UnimplementedReleaseServiceHandler returns CodeUnimplemented from all methods.
397type UnimplementedReleaseServiceHandler struct{}
398
399func (UnimplementedReleaseServiceHandler) CreateRelease(context.Context, *connect.Request[ermite.CreateReleaseRequest]) (*connect.Response[ermite.CreateReleaseResponse], error) {
400 return nil, connect.NewError(connect.CodeUnimplemented, errors.New("ermite.ReleaseService.CreateRelease is not implemented"))
401}
402
403func (UnimplementedReleaseServiceHandler) GetRelease(context.Context, *connect.Request[ermite.GetReleaseRequest]) (*connect.Response[ermite.GetReleaseResponse], error) {
404 return nil, connect.NewError(connect.CodeUnimplemented, errors.New("ermite.ReleaseService.GetRelease is not implemented"))
405}
406
407func (UnimplementedReleaseServiceHandler) ListReleases(context.Context, *connect.Request[ermite.ListReleasesRequest]) (*connect.Response[ermite.ListReleasesResponse], error) {
408 return nil, connect.NewError(connect.CodeUnimplemented, errors.New("ermite.ReleaseService.ListReleases is not implemented"))
409}
410
411func (UnimplementedReleaseServiceHandler) UpdateRelease(context.Context, *connect.Request[ermite.UpdateReleaseRequest]) (*connect.Response[ermite.UpdateReleaseResponse], error) {
412 return nil, connect.NewError(connect.CodeUnimplemented, errors.New("ermite.ReleaseService.UpdateRelease is not implemented"))
413}
414
415func (UnimplementedReleaseServiceHandler) DeleteRelease(context.Context, *connect.Request[ermite.DeleteReleaseRequest]) (*connect.Response[ermite.DeleteReleaseResponse], error) {
416 return nil, connect.NewError(connect.CodeUnimplemented, errors.New("ermite.ReleaseService.DeleteRelease is not implemented"))
417}
418
419func (UnimplementedReleaseServiceHandler) UploadReleaseAsset(context.Context, *connect.ClientStream[ermite.UploadReleaseAssetRequest]) (*connect.Response[ermite.UploadReleaseAssetResponse], error) {
420 return nil, connect.NewError(connect.CodeUnimplemented, errors.New("ermite.ReleaseService.UploadReleaseAsset is not implemented"))
421}
422
423func (UnimplementedReleaseServiceHandler) UpdateReleaseAsset(context.Context, *connect.Request[ermite.UpdateReleaseAssetRequest]) (*connect.Response[ermite.UpdateReleaseAssetResponse], error) {
424 return nil, connect.NewError(connect.CodeUnimplemented, errors.New("ermite.ReleaseService.UpdateReleaseAsset is not implemented"))
425}
426
427func (UnimplementedReleaseServiceHandler) DeleteReleaseAsset(context.Context, *connect.Request[ermite.DeleteReleaseAssetRequest]) (*connect.Response[ermite.DeleteReleaseAssetResponse], error) {
428 return nil, connect.NewError(connect.CodeUnimplemented, errors.New("ermite.ReleaseService.DeleteReleaseAsset is not implemented"))
429}
430
431func (UnimplementedReleaseServiceHandler) DownloadReleaseAsset(context.Context, *connect.Request[ermite.DownloadReleaseAssetRequest], *connect.ServerStream[ermite.DownloadReleaseAssetResponse]) error {
432 return connect.NewError(connect.CodeUnimplemented, errors.New("ermite.ReleaseService.DownloadReleaseAsset is not implemented"))
433}
434
435func (UnimplementedReleaseServiceHandler) ListReleaseAssets(context.Context, *connect.Request[ermite.ListReleaseAssetsRequest]) (*connect.Response[ermite.ListReleaseAssetsResponse], error) {
436 return nil, connect.NewError(connect.CodeUnimplemented, errors.New("ermite.ReleaseService.ListReleaseAssets is not implemented"))
437}
438
439func (UnimplementedReleaseServiceHandler) GetReleaseUsage(context.Context, *connect.Request[ermite.GetReleaseUsageRequest]) (*connect.Response[ermite.GetReleaseUsageResponse], error) {
440 return nil, connect.NewError(connect.CodeUnimplemented, errors.New("ermite.ReleaseService.GetReleaseUsage is not implemented"))
441}