Skip to content

Commit 1b8bebe

Browse files
committed
refactor: add request schemas for job, workflow, DLQ, and cron routes
1 parent 3e414fb commit 1b8bebe

3 files changed

Lines changed: 34 additions & 25 deletions

File tree

api/api.go

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,7 @@ func (a *API) registerJobRoutes(router forge.Router) {
6060
forge.WithSummary("Get job"),
6161
forge.WithDescription("Returns details of a specific job."),
6262
forge.WithOperationID("getJob"),
63+
forge.WithRequestSchema(GetJobRequest{}),
6364
forge.WithResponseSchema(http.StatusOK, "Job details", &job.Job{}),
6465
forge.WithErrorResponses(),
6566
)
@@ -68,6 +69,7 @@ func (a *API) registerJobRoutes(router forge.Router) {
6869
forge.WithSummary("Cancel job"),
6970
forge.WithDescription("Cancels a pending or retrying job."),
7071
forge.WithOperationID("cancelJob"),
72+
forge.WithRequestSchema(CancelJobRequest{}),
7173
forge.WithNoContentResponse(),
7274
forge.WithErrorResponses(),
7375
)
@@ -106,6 +108,7 @@ func (a *API) registerWorkflowRoutes(router forge.Router) {
106108
forge.WithSummary("Get workflow run"),
107109
forge.WithDescription("Returns details of a specific workflow run."),
108110
forge.WithOperationID("getWorkflowRun"),
111+
forge.WithRequestSchema(GetWorkflowRunRequest{}),
109112
forge.WithResponseSchema(http.StatusOK, "Workflow run details", &workflow.Run{}),
110113
forge.WithErrorResponses(),
111114
)
@@ -128,14 +131,16 @@ func (a *API) registerDLQRoutes(router forge.Router) {
128131
forge.WithSummary("Get DLQ entry"),
129132
forge.WithDescription("Returns details of a specific DLQ entry."),
130133
forge.WithOperationID("getDLQ"),
134+
forge.WithRequestSchema(GetDLQRequest{}),
131135
forge.WithResponseSchema(http.StatusOK, "DLQ entry details", &dlq.Entry{}),
132136
forge.WithErrorResponses(),
133137
)
134138

135139
_ = g.POST("/dlq/:entryId/replay", a.replayDLQ,
136140
forge.WithSummary("Replay DLQ entry"),
137141
forge.WithDescription("Re-enqueues a DLQ entry as a new pending job."),
138-
forge.WithOperationID("replayDLQ"),
142+
forge.WithOperationID("dispatchReplayDLQ"),
143+
forge.WithRequestSchema(ReplayDLQRequest{}),
139144
forge.WithCreatedResponse(&job.Job{}),
140145
forge.WithErrorResponses(),
141146
)
@@ -174,6 +179,7 @@ func (a *API) registerCronRoutes(router forge.Router) {
174179
forge.WithSummary("Get cron entry"),
175180
forge.WithDescription("Returns details of a specific cron entry."),
176181
forge.WithOperationID("getCron"),
182+
forge.WithRequestSchema(GetCronRequest{}),
177183
forge.WithResponseSchema(http.StatusOK, "Cron entry details", &cron.Entry{}),
178184
forge.WithErrorResponses(),
179185
)
@@ -182,6 +188,7 @@ func (a *API) registerCronRoutes(router forge.Router) {
182188
forge.WithSummary("Enable cron entry"),
183189
forge.WithDescription("Enables a disabled cron entry."),
184190
forge.WithOperationID("enableCron"),
191+
forge.WithRequestSchema(EnableCronRequest{}),
185192
forge.WithResponseSchema(http.StatusOK, "Enabled cron entry", &cron.Entry{}),
186193
forge.WithErrorResponses(),
187194
)
@@ -190,6 +197,7 @@ func (a *API) registerCronRoutes(router forge.Router) {
190197
forge.WithSummary("Disable cron entry"),
191198
forge.WithDescription("Disables a cron entry so it no longer fires."),
192199
forge.WithOperationID("disableCron"),
200+
forge.WithRequestSchema(DisableCronRequest{}),
193201
forge.WithResponseSchema(http.StatusOK, "Disabled cron entry", &cron.Entry{}),
194202
forge.WithErrorResponses(),
195203
)
@@ -198,6 +206,7 @@ func (a *API) registerCronRoutes(router forge.Router) {
198206
forge.WithSummary("Delete cron entry"),
199207
forge.WithDescription("Permanently removes a cron entry."),
200208
forge.WithOperationID("deleteCron"),
209+
forge.WithRequestSchema(DeleteCronRequest{}),
201210
forge.WithNoContentResponse(),
202211
forge.WithErrorResponses(),
203212
)

go.mod

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14,15 +14,15 @@ require (
1414
github.com/uptrace/bun/dialect/pgdialect v1.2.16
1515
github.com/uptrace/bun/driver/pgdriver v1.2.16
1616
github.com/vmihailenco/msgpack/v5 v5.4.1
17-
github.com/xraph/forge v1.3.0
17+
github.com/xraph/forge v1.3.1
1818
github.com/xraph/forgeui v1.3.0
19-
github.com/xraph/grove v1.3.0
20-
github.com/xraph/grove/drivers/mongodriver v1.3.0
21-
github.com/xraph/grove/drivers/pgdriver v1.3.0
22-
github.com/xraph/grove/drivers/sqlitedriver v1.3.0
23-
github.com/xraph/grove/kv v1.3.0
24-
github.com/xraph/grove/kv/drivers/redisdriver v1.3.0
25-
github.com/xraph/relay v1.3.0
19+
github.com/xraph/grove v1.3.1
20+
github.com/xraph/grove/drivers/mongodriver v1.3.1
21+
github.com/xraph/grove/drivers/pgdriver v1.3.1
22+
github.com/xraph/grove/drivers/sqlitedriver v1.3.1
23+
github.com/xraph/grove/kv v1.3.1
24+
github.com/xraph/grove/kv/drivers/redisdriver v1.3.1
25+
github.com/xraph/relay v1.3.1
2626
github.com/xraph/vessel v1.0.0
2727
go.jetify.com/typeid/v2 v2.0.0-alpha.3
2828
go.mongodb.org/mongo-driver/v2 v2.5.0

go.sum

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -423,26 +423,26 @@ github.com/xdg-go/stringprep v1.0.4 h1:XLI/Ng3O1Atzq0oBs3TWm+5ZVgkq2aqdlvP9JtoZ6
423423
github.com/xdg-go/stringprep v1.0.4/go.mod h1:mPGuuIYwz7CmR2bT9j4GbQqutWS1zV24gijq1dTyGkM=
424424
github.com/xraph/confy v0.1.0 h1:dAdI/ShnkU5PEXVsfR86swoWj6XjJ37BdPQpBIUmg9M=
425425
github.com/xraph/confy v0.1.0/go.mod h1:/uhVfKibPR+kn7MI9LkVVekk84NP0sxsKZ9sFQoQ5Kc=
426-
github.com/xraph/forge v1.3.0 h1:NZHmHSuis3IRfs1siMKy6vDB4D3vZrphTTSZVrRvmkw=
427-
github.com/xraph/forge v1.3.0/go.mod h1:SL+lSzFEd9sDw+LTVUeMsVLlWhZM83LMunP2yf6Dm28=
426+
github.com/xraph/forge v1.3.1 h1:DX8uqNAFNeY+/L/o/PosJIHYSE0pcGzfScxB1Xgl0mM=
427+
github.com/xraph/forge v1.3.1/go.mod h1:SL+lSzFEd9sDw+LTVUeMsVLlWhZM83LMunP2yf6Dm28=
428428
github.com/xraph/forgeui v1.3.0 h1:HPS6+7fndy0qMkD1tB1QNydTOAqQ7oXOTi30+TlXOok=
429429
github.com/xraph/forgeui v1.3.0/go.mod h1:2oXAltVMFHJJG0OmXNzcA/BAEE+8L36LGTlkkDgaPpA=
430430
github.com/xraph/go-utils v1.0.0 h1:P1jOvtDlC5xZyGtnIhypFfPUBgpfyrwESY4TK4P2I5g=
431431
github.com/xraph/go-utils v1.0.0/go.mod h1:yp+PD9dXSA7tA9Pxmuveg5E7Ht1iHIVov8yMvanMG7U=
432-
github.com/xraph/grove v1.3.0 h1:0gvGbE7POQ0ZvH/FztcrWTCmoKa3qGO1vNBp/SpZOHo=
433-
github.com/xraph/grove v1.3.0/go.mod h1:9G6mvF6KO+AvlaaXQoBevlxiWs/n2p/EhBVNgdYR0FA=
434-
github.com/xraph/grove/drivers/mongodriver v1.3.0 h1:SeFlj6GZP59DNWT73x+xdD9r/ek5kkcTntCvDEuB400=
435-
github.com/xraph/grove/drivers/mongodriver v1.3.0/go.mod h1:P+msnEenoXJnNWFh/wWi/EzAqjsdscq3EthcCqSDwaY=
436-
github.com/xraph/grove/drivers/pgdriver v1.3.0 h1:MSgUynfzisiEvRE9ETQrIK8emO4VWtPh2J+qmjzGDGo=
437-
github.com/xraph/grove/drivers/pgdriver v1.3.0/go.mod h1:ogSHbP1rbZO/5UnfYWhBzrRlEtwH4V4T0hrl/8GlTzU=
438-
github.com/xraph/grove/drivers/sqlitedriver v1.3.0 h1:VJNEsZt3YdCWIs9lK+MWAw9nuQjZsz5ZzFkb9q9XRrc=
439-
github.com/xraph/grove/drivers/sqlitedriver v1.3.0/go.mod h1:AIyBtYUgMrtzrvtB6sHU/EyEEeRf/TPrgDGDV7uKpOQ=
440-
github.com/xraph/grove/kv v1.3.0 h1:FK12vtmgYUco1eKJYTUAEzvX/ffFlCfIJiJ0He7suO0=
441-
github.com/xraph/grove/kv v1.3.0/go.mod h1:+MLJ+ZcHUtKjGCoXfykzsG/Gthyry8hrD4Eg0aNskOs=
442-
github.com/xraph/grove/kv/drivers/redisdriver v1.3.0 h1:4rKAWCVvAf5zPrUi2FpcJcMSHG0P5bbhTgeaKLvayhI=
443-
github.com/xraph/grove/kv/drivers/redisdriver v1.3.0/go.mod h1:6dXl6MHpelml7bIznfkxdir+BX/fySt6ooByrq20944=
444-
github.com/xraph/relay v1.3.0 h1:mnxYAuul373MRDeEsVekRqyo5xCBssu4G9BN3eOMKbU=
445-
github.com/xraph/relay v1.3.0/go.mod h1:SnqKE6oGQL/J55xmX4YbIa6DwjVUuz7xGhpQlJ0aAq8=
432+
github.com/xraph/grove v1.3.1 h1:IqM+Ynr4pNwPTUXDxhw7O3n0hkT4YEq/096om5V7pN8=
433+
github.com/xraph/grove v1.3.1/go.mod h1:9G6mvF6KO+AvlaaXQoBevlxiWs/n2p/EhBVNgdYR0FA=
434+
github.com/xraph/grove/drivers/mongodriver v1.3.1 h1:vIAU+oJeAPXqY71w1qN35ts0xMiBUyqbsinbu5u9KfQ=
435+
github.com/xraph/grove/drivers/mongodriver v1.3.1/go.mod h1:P+msnEenoXJnNWFh/wWi/EzAqjsdscq3EthcCqSDwaY=
436+
github.com/xraph/grove/drivers/pgdriver v1.3.1 h1:Mw60dFmOVhenclJjRTlt32Q4coayPLoU52NNS9gnHgM=
437+
github.com/xraph/grove/drivers/pgdriver v1.3.1/go.mod h1:ogSHbP1rbZO/5UnfYWhBzrRlEtwH4V4T0hrl/8GlTzU=
438+
github.com/xraph/grove/drivers/sqlitedriver v1.3.1 h1:4G5XWm/M2VqMB0WtHlXSXT1lH+YoXJ+RuvwB94gwxvU=
439+
github.com/xraph/grove/drivers/sqlitedriver v1.3.1/go.mod h1:AIyBtYUgMrtzrvtB6sHU/EyEEeRf/TPrgDGDV7uKpOQ=
440+
github.com/xraph/grove/kv v1.3.1 h1:c4t35bgBL6GxLRUk+3ZOAt+L3xA6wXezd2V0JQVf/Hg=
441+
github.com/xraph/grove/kv v1.3.1/go.mod h1:+MLJ+ZcHUtKjGCoXfykzsG/Gthyry8hrD4Eg0aNskOs=
442+
github.com/xraph/grove/kv/drivers/redisdriver v1.3.1 h1:ir/2cyWqR4gs1TylrIWJnjqQ7DuW5BKtyyIfBbU+rv4=
443+
github.com/xraph/grove/kv/drivers/redisdriver v1.3.1/go.mod h1:6dXl6MHpelml7bIznfkxdir+BX/fySt6ooByrq20944=
444+
github.com/xraph/relay v1.3.1 h1:dfc6ZGJetTRXWIeEyfdjGyCqbgwR9TylsO18DEvT/2Y=
445+
github.com/xraph/relay v1.3.1/go.mod h1:R9JD3GIiy/qsZ4KY0gd+LGnOBIw0bfpCoZgpR3KqG88=
446446
github.com/xraph/vessel v1.0.0 h1:n2q30d0OGPENpFfmOUgEuS99Y+X6b6WTfzdOHiE4Ds0=
447447
github.com/xraph/vessel v1.0.0/go.mod h1:quT3UWDXZF0RLL34H3ijXP9kVnh2pdfnn0f2s3ezChA=
448448
github.com/youmark/pkcs8 v0.0.0-20240726163527-a2c0da244d78 h1:ilQV1hzziu+LLM3zUTJ0trRztfwgjqKnBWNtSRkbmwM=

0 commit comments

Comments
 (0)