create-svc 0.1.10 → 0.1.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +46 -43
- package/bin/create-service.mjs +2 -0
- package/package.json +12 -9
- package/src/cli.test.ts +28 -10
- package/src/cli.ts +195 -30
- package/src/git-bootstrap.test.ts +40 -0
- package/src/git-bootstrap.ts +110 -0
- package/src/naming.test.ts +1 -0
- package/src/naming.ts +23 -0
- package/src/post-scaffold.test.ts +19 -0
- package/src/post-scaffold.ts +17 -4
- package/src/profiles.ts +2 -5
- package/src/scaffold.test.ts +231 -40
- package/src/scaffold.ts +84 -29
- package/src/vault.test.ts +61 -1
- package/src/vault.ts +77 -15
- package/templates/shared/.github/workflows/ci.yml +2 -1
- package/templates/shared/.github/workflows/deploy.yml +2 -0
- package/templates/shared/README.md +124 -47
- package/templates/shared/grafana/alerts.yaml +54 -0
- package/templates/shared/grafana/waitlist-dashboard.json +63 -0
- package/templates/shared/scripts/authctl.ts +231 -0
- package/templates/shared/scripts/cloudrun/bootstrap.ts +14 -5
- package/templates/shared/scripts/cloudrun/cleanup.ts +64 -4
- package/templates/shared/scripts/cloudrun/cli.ts +324 -7
- package/templates/shared/scripts/cloudrun/config.ts +11 -4
- package/templates/shared/scripts/cloudrun/deploy.ts +0 -4
- package/templates/shared/scripts/cloudrun/lib.ts +174 -41
- package/templates/shared/scripts/cloudrun/neon.ts +45 -0
- package/templates/shared/scripts/dev.ts +22 -0
- package/templates/shared/scripts/ensure-local-db.ts +3 -0
- package/templates/shared/scripts/local-docker.ts +63 -0
- package/templates/shared/scripts/local-env.ts +27 -0
- package/templates/shared/scripts/seed.ts +73 -0
- package/templates/shared/scripts/wait-for-db.ts +32 -0
- package/templates/shared/service.config.ts +59 -0
- package/templates/shared/service.yaml +24 -44
- package/templates/targets/workers/.github/workflows/ci.yml +19 -0
- package/templates/targets/workers/.github/workflows/deploy.yml +19 -0
- package/templates/targets/workers/Makefile +33 -0
- package/templates/targets/workers/README.md +75 -0
- package/templates/targets/workers/package.json +35 -0
- package/templates/targets/workers/scripts/workers/cli.ts +397 -0
- package/templates/targets/workers/src/auth.ts +178 -0
- package/templates/targets/workers/src/index.ts +198 -0
- package/templates/targets/workers/src/storage.ts +370 -0
- package/templates/targets/workers/test/app.test.ts +108 -0
- package/templates/targets/workers/tsconfig.json +11 -0
- package/templates/targets/workers/wrangler.toml +24 -0
- package/templates/variants/bun-connectrpc/Makefile +14 -8
- package/templates/variants/bun-connectrpc/gen/protos/waitlist/v1/waitlist_pb.ts +424 -0
- package/templates/variants/bun-connectrpc/migrations/0000_init.sql +12 -55
- package/templates/variants/bun-connectrpc/package.json +12 -5
- package/templates/variants/bun-connectrpc/protos/waitlist/v1/waitlist.proto +91 -0
- package/templates/variants/bun-connectrpc/scripts/codegen.ts +1 -1
- package/templates/variants/bun-connectrpc/scripts/migrate.ts +4 -1
- package/templates/variants/bun-connectrpc/src/auth.ts +200 -0
- package/templates/variants/bun-connectrpc/src/db/repository.ts +67 -420
- package/templates/variants/bun-connectrpc/src/db/schema.ts +15 -64
- package/templates/variants/bun-connectrpc/src/index.ts +76 -176
- package/templates/variants/bun-connectrpc/src/temporal/activities.ts +14 -0
- package/templates/variants/bun-connectrpc/src/temporal/worker.ts +38 -0
- package/templates/variants/bun-connectrpc/src/temporal/workflows.ts +10 -0
- package/templates/variants/bun-connectrpc/src/waitlist/service.ts +172 -0
- package/templates/variants/bun-connectrpc/src/waitlist/types.ts +45 -0
- package/templates/variants/bun-connectrpc/test/app.test.ts +4 -4
- package/templates/variants/bun-connectrpc/test/waitlist.integration.test.ts +71 -0
- package/templates/variants/bun-hono/Makefile +14 -8
- package/templates/variants/bun-hono/migrations/0000_init.sql +12 -55
- package/templates/variants/bun-hono/package.json +12 -5
- package/templates/variants/bun-hono/scripts/migrate.ts +4 -1
- package/templates/variants/bun-hono/src/auth.ts +181 -0
- package/templates/variants/bun-hono/src/db/repository.ts +68 -421
- package/templates/variants/bun-hono/src/db/schema.ts +15 -64
- package/templates/variants/bun-hono/src/index.ts +65 -180
- package/templates/variants/bun-hono/src/temporal/activities.ts +14 -0
- package/templates/variants/bun-hono/src/temporal/worker.ts +38 -0
- package/templates/variants/bun-hono/src/temporal/workflows.ts +10 -0
- package/templates/variants/bun-hono/src/waitlist/service.ts +166 -0
- package/templates/variants/bun-hono/src/waitlist/types.ts +50 -0
- package/templates/variants/bun-hono/test/app.test.ts +72 -41
- package/templates/variants/bun-hono/test/waitlist.integration.test.ts +102 -0
- package/templates/variants/go-chi/Makefile +27 -11
- package/templates/variants/go-chi/atlas.hcl +8 -0
- package/templates/variants/go-chi/cmd/server/main.go +21 -10
- package/templates/variants/go-chi/go.mod +1 -3
- package/templates/variants/go-chi/internal/app/service.go +202 -685
- package/templates/variants/go-chi/internal/auth/middleware.go +289 -0
- package/templates/variants/go-chi/internal/auth/middleware_test.go +38 -0
- package/templates/variants/go-chi/internal/config/config.go +27 -11
- package/templates/variants/go-chi/internal/httpapi/routes.go +78 -157
- package/templates/variants/go-chi/internal/httpapi/waitlist_integration_test.go +199 -0
- package/templates/variants/go-chi/internal/temporal/activities.go +27 -0
- package/templates/variants/go-chi/internal/temporal/worker.go +42 -0
- package/templates/variants/go-chi/internal/temporal/workflows.go +18 -0
- package/templates/variants/go-chi/migrations/0000_init.sql +12 -55
- package/templates/variants/go-chi/migrations/atlas.sum +2 -0
- package/templates/variants/go-chi/package.json +7 -1
- package/templates/variants/go-connectrpc/Makefile +26 -9
- package/templates/variants/go-connectrpc/atlas.hcl +8 -0
- package/templates/variants/go-connectrpc/buf.gen.yaml +2 -2
- package/templates/variants/go-connectrpc/cmd/server/main.go +23 -12
- package/templates/variants/go-connectrpc/gen/waitlist/v1/waitlist.pb.go +960 -0
- package/templates/variants/go-connectrpc/gen/waitlist/v1/waitlistv1connect/waitlist.connect.go +283 -0
- package/templates/variants/go-connectrpc/go.mod +1 -1
- package/templates/variants/go-connectrpc/internal/app/service.go +202 -685
- package/templates/variants/go-connectrpc/internal/auth/middleware.go +289 -0
- package/templates/variants/go-connectrpc/internal/auth/middleware_test.go +38 -0
- package/templates/variants/go-connectrpc/internal/config/config.go +27 -11
- package/templates/variants/go-connectrpc/internal/connectapi/handler.go +78 -201
- package/templates/variants/go-connectrpc/internal/connectapi/waitlist_integration_test.go +122 -0
- package/templates/variants/go-connectrpc/internal/httpapi/routes.go +147 -9
- package/templates/variants/go-connectrpc/internal/temporal/activities.go +27 -0
- package/templates/variants/go-connectrpc/internal/temporal/worker.go +42 -0
- package/templates/variants/go-connectrpc/internal/temporal/workflows.go +18 -0
- package/templates/variants/go-connectrpc/migrations/0000_init.sql +12 -55
- package/templates/variants/go-connectrpc/migrations/atlas.sum +2 -0
- package/templates/variants/go-connectrpc/package.json +7 -1
- package/templates/variants/go-connectrpc/protos/waitlist/v1/waitlist.proto +93 -0
- package/templates/root/.github/workflows/buf-publish.yml +0 -19
- package/templates/root/.github/workflows/ci.yml +0 -26
- package/templates/root/.github/workflows/deploy.yml +0 -22
- package/templates/root/Dockerfile +0 -23
- package/templates/root/README.md +0 -69
- package/templates/root/buf.gen.yaml +0 -10
- package/templates/root/buf.yaml +0 -9
- package/templates/root/cmd/server/main.go +0 -44
- package/templates/root/gen/dns/v1/dns.pb.go +0 -623
- package/templates/root/gen/dns/v1/dnsv1connect/dns.connect.go +0 -192
- package/templates/root/go.mod +0 -10
- package/templates/root/internal/app/service.go +0 -152
- package/templates/root/internal/app/token_source.go +0 -50
- package/templates/root/internal/cloudflare/client.go +0 -160
- package/templates/root/internal/config/config.go +0 -55
- package/templates/root/internal/connectapi/handler.go +0 -79
- package/templates/root/internal/httpapi/routes.go +0 -93
- package/templates/root/internal/vault/client.go +0 -148
- package/templates/root/package.json +0 -12
- package/templates/root/protos/dns/v1/dns.proto +0 -58
- package/templates/root/scripts/cloudrun/bootstrap.ts +0 -65
- package/templates/root/scripts/cloudrun/config.ts +0 -50
- package/templates/root/scripts/cloudrun/deploy.ts +0 -41
- package/templates/root/scripts/cloudrun/lib.ts +0 -244
- package/templates/root/service.yaml +0 -50
- package/templates/root/test/go.test.ts +0 -19
- package/templates/shared/scripts/cloudrun/integrations.ts +0 -111
- package/templates/variants/bun-connectrpc/gen/protos/chat/v1/chat_pb.ts +0 -1078
- package/templates/variants/bun-connectrpc/protos/chat/v1/chat.proto +0 -228
- package/templates/variants/bun-connectrpc/src/chat/service.ts +0 -384
- package/templates/variants/bun-connectrpc/src/chat/types.ts +0 -142
- package/templates/variants/bun-connectrpc/src/storage.ts +0 -72
- package/templates/variants/bun-connectrpc/src/webhooks.ts +0 -35
- package/templates/variants/bun-connectrpc/test/list-messages.integration.test.ts +0 -182
- package/templates/variants/bun-hono/src/chat/service.ts +0 -384
- package/templates/variants/bun-hono/src/chat/types.ts +0 -142
- package/templates/variants/bun-hono/src/storage.ts +0 -72
- package/templates/variants/bun-hono/src/webhooks.ts +0 -35
- package/templates/variants/bun-hono/test/list-messages.integration.test.ts +0 -256
- package/templates/variants/go-chi/buf.gen.yaml +0 -12
- package/templates/variants/go-chi/buf.yaml +0 -9
- package/templates/variants/go-chi/cmd/migrate/main.go +0 -101
- package/templates/variants/go-chi/internal/httpapi/list_messages_integration_test.go +0 -298
- package/templates/variants/go-chi/protos/chat/v1/chat.proto +0 -219
- package/templates/variants/go-connectrpc/cmd/migrate/main.go +0 -101
- package/templates/variants/go-connectrpc/gen/chat/v1/chat.pb.go +0 -2512
- package/templates/variants/go-connectrpc/gen/chat/v1/chatv1connect/chat.connect.go +0 -571
- package/templates/variants/go-connectrpc/internal/connectapi/list_messages_integration_test.go +0 -216
- package/templates/variants/go-connectrpc/protos/chat/v1/chat.proto +0 -232
package/templates/variants/go-connectrpc/gen/waitlist/v1/waitlistv1connect/waitlist.connect.go
ADDED
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
// Code generated by protoc-gen-connect-go. DO NOT EDIT.
|
|
2
|
+
//
|
|
3
|
+
// Source: waitlist/v1/waitlist.proto
|
|
4
|
+
|
|
5
|
+
package waitlistv1connect
|
|
6
|
+
|
|
7
|
+
import (
|
|
8
|
+
connect "connectrpc.com/connect"
|
|
9
|
+
context "context"
|
|
10
|
+
errors "errors"
|
|
11
|
+
http "net/http"
|
|
12
|
+
strings "strings"
|
|
13
|
+
v1 "{{MODULE_PATH}}/gen/waitlist/v1"
|
|
14
|
+
)
|
|
15
|
+
|
|
16
|
+
// This is a compile-time assertion to ensure that this generated file and the connect package are
|
|
17
|
+
// compatible. If you get a compiler error that this constant is not defined, this code was
|
|
18
|
+
// generated with a version of connect newer than the one compiled into your binary. You can fix the
|
|
19
|
+
// problem by either regenerating this code with an older version of connect or updating the connect
|
|
20
|
+
// version compiled into your binary.
|
|
21
|
+
const _ = connect.IsAtLeastVersion1_13_0
|
|
22
|
+
|
|
23
|
+
const (
|
|
24
|
+
// WaitlistServiceName is the fully-qualified name of the WaitlistService service.
|
|
25
|
+
WaitlistServiceName = "waitlist.v1.WaitlistService"
|
|
26
|
+
)
|
|
27
|
+
|
|
28
|
+
// These constants are the fully-qualified names of the RPCs defined in this package. They're
|
|
29
|
+
// exposed at runtime as Spec.Procedure and as the final two segments of the HTTP route.
|
|
30
|
+
//
|
|
31
|
+
// Note that these are different from the fully-qualified method names used by
|
|
32
|
+
// google.golang.org/protobuf/reflect/protoreflect. To convert from these constants to
|
|
33
|
+
// reflection-formatted method names, remove the leading slash and convert the remaining slash to a
|
|
34
|
+
// period.
|
|
35
|
+
const (
|
|
36
|
+
// WaitlistServiceJoinWaitlistProcedure is the fully-qualified name of the WaitlistService's
|
|
37
|
+
// JoinWaitlist RPC.
|
|
38
|
+
WaitlistServiceJoinWaitlistProcedure = "/waitlist.v1.WaitlistService/JoinWaitlist"
|
|
39
|
+
// WaitlistServiceGetWaitlistEntryProcedure is the fully-qualified name of the WaitlistService's
|
|
40
|
+
// GetWaitlistEntry RPC.
|
|
41
|
+
WaitlistServiceGetWaitlistEntryProcedure = "/waitlist.v1.WaitlistService/GetWaitlistEntry"
|
|
42
|
+
// WaitlistServiceGetWaitlistEntryByEmailProcedure is the fully-qualified name of the
|
|
43
|
+
// WaitlistService's GetWaitlistEntryByEmail RPC.
|
|
44
|
+
WaitlistServiceGetWaitlistEntryByEmailProcedure = "/waitlist.v1.WaitlistService/GetWaitlistEntryByEmail"
|
|
45
|
+
// WaitlistServiceListWaitlistEntriesProcedure is the fully-qualified name of the WaitlistService's
|
|
46
|
+
// ListWaitlistEntries RPC.
|
|
47
|
+
WaitlistServiceListWaitlistEntriesProcedure = "/waitlist.v1.WaitlistService/ListWaitlistEntries"
|
|
48
|
+
// WaitlistServiceUpdateWaitlistEntryProcedure is the fully-qualified name of the WaitlistService's
|
|
49
|
+
// UpdateWaitlistEntry RPC.
|
|
50
|
+
WaitlistServiceUpdateWaitlistEntryProcedure = "/waitlist.v1.WaitlistService/UpdateWaitlistEntry"
|
|
51
|
+
// WaitlistServiceExportWaitlistEntriesProcedure is the fully-qualified name of the
|
|
52
|
+
// WaitlistService's ExportWaitlistEntries RPC.
|
|
53
|
+
WaitlistServiceExportWaitlistEntriesProcedure = "/waitlist.v1.WaitlistService/ExportWaitlistEntries"
|
|
54
|
+
// WaitlistServiceRecordTriggerProcedure is the fully-qualified name of the WaitlistService's
|
|
55
|
+
// RecordTrigger RPC.
|
|
56
|
+
WaitlistServiceRecordTriggerProcedure = "/waitlist.v1.WaitlistService/RecordTrigger"
|
|
57
|
+
)
|
|
58
|
+
|
|
59
|
+
// WaitlistServiceClient is a client for the waitlist.v1.WaitlistService service.
|
|
60
|
+
type WaitlistServiceClient interface {
|
|
61
|
+
JoinWaitlist(context.Context, *connect.Request[v1.JoinWaitlistRequest]) (*connect.Response[v1.JoinWaitlistResponse], error)
|
|
62
|
+
GetWaitlistEntry(context.Context, *connect.Request[v1.GetWaitlistEntryRequest]) (*connect.Response[v1.GetWaitlistEntryResponse], error)
|
|
63
|
+
GetWaitlistEntryByEmail(context.Context, *connect.Request[v1.GetWaitlistEntryByEmailRequest]) (*connect.Response[v1.GetWaitlistEntryResponse], error)
|
|
64
|
+
ListWaitlistEntries(context.Context, *connect.Request[v1.ListWaitlistEntriesRequest]) (*connect.Response[v1.ListWaitlistEntriesResponse], error)
|
|
65
|
+
UpdateWaitlistEntry(context.Context, *connect.Request[v1.UpdateWaitlistEntryRequest]) (*connect.Response[v1.GetWaitlistEntryResponse], error)
|
|
66
|
+
ExportWaitlistEntries(context.Context, *connect.Request[v1.ExportWaitlistEntriesRequest]) (*connect.Response[v1.ExportWaitlistEntriesResponse], error)
|
|
67
|
+
RecordTrigger(context.Context, *connect.Request[v1.RecordTriggerRequest]) (*connect.Response[v1.RecordTriggerResponse], error)
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
// NewWaitlistServiceClient constructs a client for the waitlist.v1.WaitlistService service. By
|
|
71
|
+
// default, it uses the Connect protocol with the binary Protobuf Codec, asks for gzipped responses,
|
|
72
|
+
// and sends uncompressed requests. To use the gRPC or gRPC-Web protocols, supply the
|
|
73
|
+
// connect.WithGRPC() or connect.WithGRPCWeb() options.
|
|
74
|
+
//
|
|
75
|
+
// The URL supplied here should be the base URL for the Connect or gRPC server (for example,
|
|
76
|
+
// http://api.acme.com or https://acme.com/grpc).
|
|
77
|
+
func NewWaitlistServiceClient(httpClient connect.HTTPClient, baseURL string, opts ...connect.ClientOption) WaitlistServiceClient {
|
|
78
|
+
baseURL = strings.TrimRight(baseURL, "/")
|
|
79
|
+
waitlistServiceMethods := v1.File_waitlist_v1_waitlist_proto.Services().ByName("WaitlistService").Methods()
|
|
80
|
+
return &waitlistServiceClient{
|
|
81
|
+
joinWaitlist: connect.NewClient[v1.JoinWaitlistRequest, v1.JoinWaitlistResponse](
|
|
82
|
+
httpClient,
|
|
83
|
+
baseURL+WaitlistServiceJoinWaitlistProcedure,
|
|
84
|
+
connect.WithSchema(waitlistServiceMethods.ByName("JoinWaitlist")),
|
|
85
|
+
connect.WithClientOptions(opts...),
|
|
86
|
+
),
|
|
87
|
+
getWaitlistEntry: connect.NewClient[v1.GetWaitlistEntryRequest, v1.GetWaitlistEntryResponse](
|
|
88
|
+
httpClient,
|
|
89
|
+
baseURL+WaitlistServiceGetWaitlistEntryProcedure,
|
|
90
|
+
connect.WithSchema(waitlistServiceMethods.ByName("GetWaitlistEntry")),
|
|
91
|
+
connect.WithClientOptions(opts...),
|
|
92
|
+
),
|
|
93
|
+
getWaitlistEntryByEmail: connect.NewClient[v1.GetWaitlistEntryByEmailRequest, v1.GetWaitlistEntryResponse](
|
|
94
|
+
httpClient,
|
|
95
|
+
baseURL+WaitlistServiceGetWaitlistEntryByEmailProcedure,
|
|
96
|
+
connect.WithSchema(waitlistServiceMethods.ByName("GetWaitlistEntryByEmail")),
|
|
97
|
+
connect.WithClientOptions(opts...),
|
|
98
|
+
),
|
|
99
|
+
listWaitlistEntries: connect.NewClient[v1.ListWaitlistEntriesRequest, v1.ListWaitlistEntriesResponse](
|
|
100
|
+
httpClient,
|
|
101
|
+
baseURL+WaitlistServiceListWaitlistEntriesProcedure,
|
|
102
|
+
connect.WithSchema(waitlistServiceMethods.ByName("ListWaitlistEntries")),
|
|
103
|
+
connect.WithClientOptions(opts...),
|
|
104
|
+
),
|
|
105
|
+
updateWaitlistEntry: connect.NewClient[v1.UpdateWaitlistEntryRequest, v1.GetWaitlistEntryResponse](
|
|
106
|
+
httpClient,
|
|
107
|
+
baseURL+WaitlistServiceUpdateWaitlistEntryProcedure,
|
|
108
|
+
connect.WithSchema(waitlistServiceMethods.ByName("UpdateWaitlistEntry")),
|
|
109
|
+
connect.WithClientOptions(opts...),
|
|
110
|
+
),
|
|
111
|
+
exportWaitlistEntries: connect.NewClient[v1.ExportWaitlistEntriesRequest, v1.ExportWaitlistEntriesResponse](
|
|
112
|
+
httpClient,
|
|
113
|
+
baseURL+WaitlistServiceExportWaitlistEntriesProcedure,
|
|
114
|
+
connect.WithSchema(waitlistServiceMethods.ByName("ExportWaitlistEntries")),
|
|
115
|
+
connect.WithClientOptions(opts...),
|
|
116
|
+
),
|
|
117
|
+
recordTrigger: connect.NewClient[v1.RecordTriggerRequest, v1.RecordTriggerResponse](
|
|
118
|
+
httpClient,
|
|
119
|
+
baseURL+WaitlistServiceRecordTriggerProcedure,
|
|
120
|
+
connect.WithSchema(waitlistServiceMethods.ByName("RecordTrigger")),
|
|
121
|
+
connect.WithClientOptions(opts...),
|
|
122
|
+
),
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
// waitlistServiceClient implements WaitlistServiceClient.
|
|
127
|
+
type waitlistServiceClient struct {
|
|
128
|
+
joinWaitlist *connect.Client[v1.JoinWaitlistRequest, v1.JoinWaitlistResponse]
|
|
129
|
+
getWaitlistEntry *connect.Client[v1.GetWaitlistEntryRequest, v1.GetWaitlistEntryResponse]
|
|
130
|
+
getWaitlistEntryByEmail *connect.Client[v1.GetWaitlistEntryByEmailRequest, v1.GetWaitlistEntryResponse]
|
|
131
|
+
listWaitlistEntries *connect.Client[v1.ListWaitlistEntriesRequest, v1.ListWaitlistEntriesResponse]
|
|
132
|
+
updateWaitlistEntry *connect.Client[v1.UpdateWaitlistEntryRequest, v1.GetWaitlistEntryResponse]
|
|
133
|
+
exportWaitlistEntries *connect.Client[v1.ExportWaitlistEntriesRequest, v1.ExportWaitlistEntriesResponse]
|
|
134
|
+
recordTrigger *connect.Client[v1.RecordTriggerRequest, v1.RecordTriggerResponse]
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
// JoinWaitlist calls waitlist.v1.WaitlistService.JoinWaitlist.
|
|
138
|
+
func (c *waitlistServiceClient) JoinWaitlist(ctx context.Context, req *connect.Request[v1.JoinWaitlistRequest]) (*connect.Response[v1.JoinWaitlistResponse], error) {
|
|
139
|
+
return c.joinWaitlist.CallUnary(ctx, req)
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
// GetWaitlistEntry calls waitlist.v1.WaitlistService.GetWaitlistEntry.
|
|
143
|
+
func (c *waitlistServiceClient) GetWaitlistEntry(ctx context.Context, req *connect.Request[v1.GetWaitlistEntryRequest]) (*connect.Response[v1.GetWaitlistEntryResponse], error) {
|
|
144
|
+
return c.getWaitlistEntry.CallUnary(ctx, req)
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
// GetWaitlistEntryByEmail calls waitlist.v1.WaitlistService.GetWaitlistEntryByEmail.
|
|
148
|
+
func (c *waitlistServiceClient) GetWaitlistEntryByEmail(ctx context.Context, req *connect.Request[v1.GetWaitlistEntryByEmailRequest]) (*connect.Response[v1.GetWaitlistEntryResponse], error) {
|
|
149
|
+
return c.getWaitlistEntryByEmail.CallUnary(ctx, req)
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
// ListWaitlistEntries calls waitlist.v1.WaitlistService.ListWaitlistEntries.
|
|
153
|
+
func (c *waitlistServiceClient) ListWaitlistEntries(ctx context.Context, req *connect.Request[v1.ListWaitlistEntriesRequest]) (*connect.Response[v1.ListWaitlistEntriesResponse], error) {
|
|
154
|
+
return c.listWaitlistEntries.CallUnary(ctx, req)
|
|
155
|
+
}
|
|
156
|
+
|
|
157
|
+
// UpdateWaitlistEntry calls waitlist.v1.WaitlistService.UpdateWaitlistEntry.
|
|
158
|
+
func (c *waitlistServiceClient) UpdateWaitlistEntry(ctx context.Context, req *connect.Request[v1.UpdateWaitlistEntryRequest]) (*connect.Response[v1.GetWaitlistEntryResponse], error) {
|
|
159
|
+
return c.updateWaitlistEntry.CallUnary(ctx, req)
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
// ExportWaitlistEntries calls waitlist.v1.WaitlistService.ExportWaitlistEntries.
|
|
163
|
+
func (c *waitlistServiceClient) ExportWaitlistEntries(ctx context.Context, req *connect.Request[v1.ExportWaitlistEntriesRequest]) (*connect.Response[v1.ExportWaitlistEntriesResponse], error) {
|
|
164
|
+
return c.exportWaitlistEntries.CallUnary(ctx, req)
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
// RecordTrigger calls waitlist.v1.WaitlistService.RecordTrigger.
|
|
168
|
+
func (c *waitlistServiceClient) RecordTrigger(ctx context.Context, req *connect.Request[v1.RecordTriggerRequest]) (*connect.Response[v1.RecordTriggerResponse], error) {
|
|
169
|
+
return c.recordTrigger.CallUnary(ctx, req)
|
|
170
|
+
}
|
|
171
|
+
|
|
172
|
+
// WaitlistServiceHandler is an implementation of the waitlist.v1.WaitlistService service.
|
|
173
|
+
type WaitlistServiceHandler interface {
|
|
174
|
+
JoinWaitlist(context.Context, *connect.Request[v1.JoinWaitlistRequest]) (*connect.Response[v1.JoinWaitlistResponse], error)
|
|
175
|
+
GetWaitlistEntry(context.Context, *connect.Request[v1.GetWaitlistEntryRequest]) (*connect.Response[v1.GetWaitlistEntryResponse], error)
|
|
176
|
+
GetWaitlistEntryByEmail(context.Context, *connect.Request[v1.GetWaitlistEntryByEmailRequest]) (*connect.Response[v1.GetWaitlistEntryResponse], error)
|
|
177
|
+
ListWaitlistEntries(context.Context, *connect.Request[v1.ListWaitlistEntriesRequest]) (*connect.Response[v1.ListWaitlistEntriesResponse], error)
|
|
178
|
+
UpdateWaitlistEntry(context.Context, *connect.Request[v1.UpdateWaitlistEntryRequest]) (*connect.Response[v1.GetWaitlistEntryResponse], error)
|
|
179
|
+
ExportWaitlistEntries(context.Context, *connect.Request[v1.ExportWaitlistEntriesRequest]) (*connect.Response[v1.ExportWaitlistEntriesResponse], error)
|
|
180
|
+
RecordTrigger(context.Context, *connect.Request[v1.RecordTriggerRequest]) (*connect.Response[v1.RecordTriggerResponse], error)
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
// NewWaitlistServiceHandler builds an HTTP handler from the service implementation. It returns the
|
|
184
|
+
// path on which to mount the handler and the handler itself.
|
|
185
|
+
//
|
|
186
|
+
// By default, handlers support the Connect, gRPC, and gRPC-Web protocols with the binary Protobuf
|
|
187
|
+
// and JSON codecs. They also support gzip compression.
|
|
188
|
+
func NewWaitlistServiceHandler(svc WaitlistServiceHandler, opts ...connect.HandlerOption) (string, http.Handler) {
|
|
189
|
+
waitlistServiceMethods := v1.File_waitlist_v1_waitlist_proto.Services().ByName("WaitlistService").Methods()
|
|
190
|
+
waitlistServiceJoinWaitlistHandler := connect.NewUnaryHandler(
|
|
191
|
+
WaitlistServiceJoinWaitlistProcedure,
|
|
192
|
+
svc.JoinWaitlist,
|
|
193
|
+
connect.WithSchema(waitlistServiceMethods.ByName("JoinWaitlist")),
|
|
194
|
+
connect.WithHandlerOptions(opts...),
|
|
195
|
+
)
|
|
196
|
+
waitlistServiceGetWaitlistEntryHandler := connect.NewUnaryHandler(
|
|
197
|
+
WaitlistServiceGetWaitlistEntryProcedure,
|
|
198
|
+
svc.GetWaitlistEntry,
|
|
199
|
+
connect.WithSchema(waitlistServiceMethods.ByName("GetWaitlistEntry")),
|
|
200
|
+
connect.WithHandlerOptions(opts...),
|
|
201
|
+
)
|
|
202
|
+
waitlistServiceGetWaitlistEntryByEmailHandler := connect.NewUnaryHandler(
|
|
203
|
+
WaitlistServiceGetWaitlistEntryByEmailProcedure,
|
|
204
|
+
svc.GetWaitlistEntryByEmail,
|
|
205
|
+
connect.WithSchema(waitlistServiceMethods.ByName("GetWaitlistEntryByEmail")),
|
|
206
|
+
connect.WithHandlerOptions(opts...),
|
|
207
|
+
)
|
|
208
|
+
waitlistServiceListWaitlistEntriesHandler := connect.NewUnaryHandler(
|
|
209
|
+
WaitlistServiceListWaitlistEntriesProcedure,
|
|
210
|
+
svc.ListWaitlistEntries,
|
|
211
|
+
connect.WithSchema(waitlistServiceMethods.ByName("ListWaitlistEntries")),
|
|
212
|
+
connect.WithHandlerOptions(opts...),
|
|
213
|
+
)
|
|
214
|
+
waitlistServiceUpdateWaitlistEntryHandler := connect.NewUnaryHandler(
|
|
215
|
+
WaitlistServiceUpdateWaitlistEntryProcedure,
|
|
216
|
+
svc.UpdateWaitlistEntry,
|
|
217
|
+
connect.WithSchema(waitlistServiceMethods.ByName("UpdateWaitlistEntry")),
|
|
218
|
+
connect.WithHandlerOptions(opts...),
|
|
219
|
+
)
|
|
220
|
+
waitlistServiceExportWaitlistEntriesHandler := connect.NewUnaryHandler(
|
|
221
|
+
WaitlistServiceExportWaitlistEntriesProcedure,
|
|
222
|
+
svc.ExportWaitlistEntries,
|
|
223
|
+
connect.WithSchema(waitlistServiceMethods.ByName("ExportWaitlistEntries")),
|
|
224
|
+
connect.WithHandlerOptions(opts...),
|
|
225
|
+
)
|
|
226
|
+
waitlistServiceRecordTriggerHandler := connect.NewUnaryHandler(
|
|
227
|
+
WaitlistServiceRecordTriggerProcedure,
|
|
228
|
+
svc.RecordTrigger,
|
|
229
|
+
connect.WithSchema(waitlistServiceMethods.ByName("RecordTrigger")),
|
|
230
|
+
connect.WithHandlerOptions(opts...),
|
|
231
|
+
)
|
|
232
|
+
return "/waitlist.v1.WaitlistService/", http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
|
|
233
|
+
switch r.URL.Path {
|
|
234
|
+
case WaitlistServiceJoinWaitlistProcedure:
|
|
235
|
+
waitlistServiceJoinWaitlistHandler.ServeHTTP(w, r)
|
|
236
|
+
case WaitlistServiceGetWaitlistEntryProcedure:
|
|
237
|
+
waitlistServiceGetWaitlistEntryHandler.ServeHTTP(w, r)
|
|
238
|
+
case WaitlistServiceGetWaitlistEntryByEmailProcedure:
|
|
239
|
+
waitlistServiceGetWaitlistEntryByEmailHandler.ServeHTTP(w, r)
|
|
240
|
+
case WaitlistServiceListWaitlistEntriesProcedure:
|
|
241
|
+
waitlistServiceListWaitlistEntriesHandler.ServeHTTP(w, r)
|
|
242
|
+
case WaitlistServiceUpdateWaitlistEntryProcedure:
|
|
243
|
+
waitlistServiceUpdateWaitlistEntryHandler.ServeHTTP(w, r)
|
|
244
|
+
case WaitlistServiceExportWaitlistEntriesProcedure:
|
|
245
|
+
waitlistServiceExportWaitlistEntriesHandler.ServeHTTP(w, r)
|
|
246
|
+
case WaitlistServiceRecordTriggerProcedure:
|
|
247
|
+
waitlistServiceRecordTriggerHandler.ServeHTTP(w, r)
|
|
248
|
+
default:
|
|
249
|
+
http.NotFound(w, r)
|
|
250
|
+
}
|
|
251
|
+
})
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
// UnimplementedWaitlistServiceHandler returns CodeUnimplemented from all methods.
|
|
255
|
+
type UnimplementedWaitlistServiceHandler struct{}
|
|
256
|
+
|
|
257
|
+
func (UnimplementedWaitlistServiceHandler) JoinWaitlist(context.Context, *connect.Request[v1.JoinWaitlistRequest]) (*connect.Response[v1.JoinWaitlistResponse], error) {
|
|
258
|
+
return nil, connect.NewError(connect.CodeUnimplemented, errors.New("waitlist.v1.WaitlistService.JoinWaitlist is not implemented"))
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
func (UnimplementedWaitlistServiceHandler) GetWaitlistEntry(context.Context, *connect.Request[v1.GetWaitlistEntryRequest]) (*connect.Response[v1.GetWaitlistEntryResponse], error) {
|
|
262
|
+
return nil, connect.NewError(connect.CodeUnimplemented, errors.New("waitlist.v1.WaitlistService.GetWaitlistEntry is not implemented"))
|
|
263
|
+
}
|
|
264
|
+
|
|
265
|
+
func (UnimplementedWaitlistServiceHandler) GetWaitlistEntryByEmail(context.Context, *connect.Request[v1.GetWaitlistEntryByEmailRequest]) (*connect.Response[v1.GetWaitlistEntryResponse], error) {
|
|
266
|
+
return nil, connect.NewError(connect.CodeUnimplemented, errors.New("waitlist.v1.WaitlistService.GetWaitlistEntryByEmail is not implemented"))
|
|
267
|
+
}
|
|
268
|
+
|
|
269
|
+
func (UnimplementedWaitlistServiceHandler) ListWaitlistEntries(context.Context, *connect.Request[v1.ListWaitlistEntriesRequest]) (*connect.Response[v1.ListWaitlistEntriesResponse], error) {
|
|
270
|
+
return nil, connect.NewError(connect.CodeUnimplemented, errors.New("waitlist.v1.WaitlistService.ListWaitlistEntries is not implemented"))
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
func (UnimplementedWaitlistServiceHandler) UpdateWaitlistEntry(context.Context, *connect.Request[v1.UpdateWaitlistEntryRequest]) (*connect.Response[v1.GetWaitlistEntryResponse], error) {
|
|
274
|
+
return nil, connect.NewError(connect.CodeUnimplemented, errors.New("waitlist.v1.WaitlistService.UpdateWaitlistEntry is not implemented"))
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
func (UnimplementedWaitlistServiceHandler) ExportWaitlistEntries(context.Context, *connect.Request[v1.ExportWaitlistEntriesRequest]) (*connect.Response[v1.ExportWaitlistEntriesResponse], error) {
|
|
278
|
+
return nil, connect.NewError(connect.CodeUnimplemented, errors.New("waitlist.v1.WaitlistService.ExportWaitlistEntries is not implemented"))
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
func (UnimplementedWaitlistServiceHandler) RecordTrigger(context.Context, *connect.Request[v1.RecordTriggerRequest]) (*connect.Response[v1.RecordTriggerResponse], error) {
|
|
282
|
+
return nil, connect.NewError(connect.CodeUnimplemented, errors.New("waitlist.v1.WaitlistService.RecordTrigger is not implemented"))
|
|
283
|
+
}
|
|
@@ -3,12 +3,12 @@ module {{MODULE_PATH}}
|
|
|
3
3
|
go 1.25.4
|
|
4
4
|
|
|
5
5
|
require (
|
|
6
|
-
cloud.google.com/go/storage v1.53.0
|
|
7
6
|
connectrpc.com/connect v1.19.1
|
|
8
7
|
connectrpc.com/grpcreflect v1.3.0
|
|
9
8
|
github.com/go-chi/chi/v5 v5.2.2
|
|
10
9
|
github.com/jackc/pgx/v5 v5.7.5
|
|
11
10
|
github.com/jmoiron/sqlx v1.4.0
|
|
11
|
+
go.temporal.io/sdk v1.43.0
|
|
12
12
|
golang.org/x/net v0.42.0
|
|
13
13
|
google.golang.org/protobuf v1.36.10
|
|
14
14
|
)
|