@@ -345,6 +345,30 @@ func (api *API) patchWorkspaceAgentAppStatus(rw http.ResponseWriter, r *http.Req
345
345
return
346
346
}
347
347
348
+ if len (req .Message ) > 160 {
349
+ httpapi .Write (ctx , rw , http .StatusBadRequest , codersdk.Response {
350
+ Message : "Message is too long." ,
351
+ Detail : "Message must be less than 160 characters." ,
352
+ Validations : []codersdk.ValidationError {
353
+ {Field : "message" , Detail : "Message must be less than 160 characters." },
354
+ },
355
+ })
356
+ return
357
+ }
358
+
359
+ switch req .State {
360
+ case codersdk .WorkspaceAppStatusStateComplete , codersdk .WorkspaceAppStatusStateFailure , codersdk .WorkspaceAppStatusStateWorking : // valid states
361
+ default :
362
+ httpapi .Write (ctx , rw , http .StatusBadRequest , codersdk.Response {
363
+ Message : "Invalid state provided." ,
364
+ Detail : fmt .Sprintf ("invalid state: %q" , req .State ),
365
+ Validations : []codersdk.ValidationError {
366
+ {Field : "state" , Detail : "State must be one of: complete, failure, working." },
367
+ },
368
+ })
369
+ return
370
+ }
371
+
348
372
workspace , err := api .Database .GetWorkspaceByAgentID (ctx , workspaceAgent .ID )
349
373
if err != nil {
350
374
httpapi .Write (ctx , rw , http .StatusBadRequest , codersdk.Response {
0 commit comments