(workspace: Workspace)
| 176 | }; |
| 177 | |
| 178 | const isShutdownSoon = (workspace: Workspace): boolean => { |
| 179 | const deadline = workspace.latest_build.deadline; |
| 180 | if (!deadline) { |
| 181 | return false; |
| 182 | } |
| 183 | const deadlineDate = new Date(deadline); |
| 184 | const now = new Date(); |
| 185 | const diff = deadlineDate.getTime() - now.getTime(); |
| 186 | const oneHour = 1000 * 60 * 60; |
| 187 | return diff < oneHour; |
| 188 | }; |
| 189 | |
| 190 | export const deadlineExtensionMin = dayjs.duration(30, "minutes"); |
| 191 | export const deadlineExtensionMax = dayjs.duration(24, "hours"); |