Skip to content

Commit

Permalink
Merge pull request #11 from tscircuit/stdenum
Browse files Browse the repository at this point in the history
standardize READY_TO_START enum
  • Loading branch information
seveibar authored Nov 20, 2024
2 parents 0fbd578 + caf22db commit a416346
Show file tree
Hide file tree
Showing 6 changed files with 33 additions and 18 deletions.
10 changes: 9 additions & 1 deletion lib/db/schema.ts
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,14 @@ export const sessionSchema = z.object({
})
export type Session = z.infer<typeof sessionSchema>

export const jobStateSchema = z.enum([
"QUEUED",
"RUNNING",
"COMPLETED",
"FAILED",
"READY_TO_START",
])

export const jobSchema = z.object({
job_id: z.string(),
created_at: z.string(),
Expand All @@ -68,7 +76,7 @@ export const jobSchema = z.object({
output: jobOutputSchema.optional(),
session_id: z.string(),
name: z.string(),
state: z.enum(["QUEUED", "RUNNING", "COMPLETED", "FAILED", "READY_TO_START"]),
state: jobStateSchema,
priority: z.enum(["LOW", "NORMAL", "HIGH"]),
stage: z.enum(["IDLE", "ROUTING"]),
router_settings: routerSettingsSchema,
Expand Down
8 changes: 6 additions & 2 deletions routes/v1/jobs/[job_id].ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,11 @@ import { withRouteSpec } from "lib/middleware/with-winter-spec"
import { z } from "zod"
import { withApiKeyAuth } from "lib/middleware/with-api-key-auth"
import { NotFoundError } from "winterspec/middleware"
import { jobInputSchema, routerSettingsSchema } from "lib/db/schema"
import {
jobInputSchema,
jobStateSchema,
routerSettingsSchema,
} from "lib/db/schema"

export default withRouteSpec({
methods: ["GET"],
Expand All @@ -16,7 +20,7 @@ export default withRouteSpec({
input: jobInputSchema.optional(),
session_id: z.string(),
name: z.string(),
state: z.enum(["QUEUED", "RUNNING", "COMPLETED", "FAILED"]),
state: jobStateSchema,
priority: z.enum(["LOW", "NORMAL", "HIGH"]),
stage: z.enum(["IDLE", "ROUTING"]),
router_settings: routerSettingsSchema,
Expand Down
4 changes: 2 additions & 2 deletions routes/v1/jobs/[job_id]/input.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { withRouteSpec } from "lib/middleware/with-winter-spec"
import { z } from "zod"
import { withApiKeyAuth } from "lib/middleware/with-api-key-auth"
import { NotFoundError } from "winterspec/middleware"
import { jobInputSchema } from "lib/db/schema"
import { jobInputSchema, jobStateSchema } from "lib/db/schema"

export default withRouteSpec({
methods: ["POST"],
Expand All @@ -19,7 +19,7 @@ export default withRouteSpec({
input: jobInputSchema.optional(),
session_id: z.string(),
name: z.string(),
state: z.enum(["QUEUED", "RUNNING", "COMPLETED", "FAILED"]),
state: jobStateSchema,
priority: z.enum(["LOW", "NORMAL", "HIGH"]),
stage: z.enum(["IDLE", "ROUTING"]),
router_settings: z.object({
Expand Down
4 changes: 2 additions & 2 deletions routes/v1/jobs/[job_id]/settings.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { withRouteSpec } from "lib/middleware/with-winter-spec"
import { z } from "zod"
import { withApiKeyAuth } from "lib/middleware/with-api-key-auth"
import { NotFoundError } from "winterspec/middleware"
import { routerSettingsSchema } from "lib/db/schema"
import { jobStateSchema, routerSettingsSchema } from "lib/db/schema"

export default withRouteSpec({
methods: ["POST"],
Expand Down Expand Up @@ -35,7 +35,7 @@ export default withRouteSpec({
.optional(),
session_id: z.string(),
name: z.string(),
state: z.enum(["QUEUED", "RUNNING", "COMPLETED", "FAILED"]),
state: jobStateSchema,
priority: z.enum(["LOW", "NORMAL", "HIGH"]),
stage: z.enum(["IDLE", "ROUTING"]),
router_settings: routerSettingsSchema,
Expand Down
14 changes: 6 additions & 8 deletions routes/v1/jobs/[job_id]/start.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,11 @@ import { withRouteSpec } from "lib/middleware/with-winter-spec"
import { z } from "zod"
import { withApiKeyAuth } from "lib/middleware/with-api-key-auth"
import { NotFoundError } from "winterspec/middleware"
import { jobInputSchema, routerSettingsSchema } from "lib/db/schema"
import {
jobInputSchema,
jobStateSchema,
routerSettingsSchema,
} from "lib/db/schema"

export default withRouteSpec({
methods: ["PUT"],
Expand All @@ -17,13 +21,7 @@ export default withRouteSpec({
input: jobInputSchema.optional(),
session_id: z.string(),
name: z.string(),
state: z.enum([
"QUEUED",
"RUNNING",
"COMPLETED",
"FAILED",
"READY_TO_START",
]),
state: jobStateSchema,
priority: z.enum(["LOW", "NORMAL", "HIGH"]),
stage: z.enum(["IDLE", "ROUTING"]),
router_settings: routerSettingsSchema,
Expand Down
11 changes: 8 additions & 3 deletions routes/v1/jobs/enqueue.ts
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { withRouteSpec } from "lib/middleware/with-winter-spec"
import { z } from "zod"
import { randomUUID } from "node:crypto"
import { routerSettingsSchema } from "lib/db/schema"
import { jobStateSchema, routerSettingsSchema } from "lib/db/schema"
import { withApiKeyAuth } from "lib/middleware/with-api-key-auth"

export default withRouteSpec({
Expand All @@ -17,7 +17,7 @@ export default withRouteSpec({
created_at: z.string(),
session_id: z.string(),
name: z.string(),
state: z.enum(["QUEUED", "RUNNING", "COMPLETED", "FAILED"]),
state: jobStateSchema,
priority: z.enum(["LOW", "NORMAL", "HIGH"]),
stage: z.enum(["IDLE", "ROUTING"]),
router_settings: routerSettingsSchema,
Expand Down Expand Up @@ -49,7 +49,12 @@ export default withRouteSpec({
created_at: job.created_at,
session_id: job.session_id,
name: job.name,
state: job.state as "QUEUED" | "RUNNING" | "COMPLETED" | "FAILED",
state: job.state as
| "QUEUED"
| "RUNNING"
| "COMPLETED"
| "FAILED"
| "READY_TO_START",
priority: job.priority,
stage: job.stage as "IDLE" | "ROUTING",
router_settings: job.router_settings,
Expand Down

0 comments on commit a416346

Please sign in to comment.