mirror of
https://github.com/coder/coder.git
synced 2026-09-24 15:04:27 +08:00
feat(coderd): add has_external_agent flag to template_versions and workspace_builds (#19285)
This pull request introduces support for external workspace management, allowing users to register and manage workspaces that are provisioned and managed outside of the Coder. * Added has_external_agent field to workspace builds and template versions
This commit is contained in:
@@ -437,6 +437,7 @@ func WorkspaceBuild(t testing.TB, db database.Store, orig database.WorkspaceBuil
|
||||
jobID := takeFirst(orig.JobID, uuid.New())
|
||||
hasAITask := takeFirst(orig.HasAITask, sql.NullBool{})
|
||||
sidebarAppID := takeFirst(orig.AITaskSidebarAppID, uuid.NullUUID{})
|
||||
hasExternalAgent := takeFirst(orig.HasExternalAgent, sql.NullBool{})
|
||||
var build database.WorkspaceBuild
|
||||
err := db.InTx(func(db database.Store) error {
|
||||
err := db.InsertWorkspaceBuild(genCtx, database.InsertWorkspaceBuildParams{
|
||||
@@ -470,12 +471,13 @@ func WorkspaceBuild(t testing.TB, db database.Store, orig database.WorkspaceBuil
|
||||
require.NoError(t, err)
|
||||
}
|
||||
|
||||
if hasAITask.Valid {
|
||||
require.NoError(t, db.UpdateWorkspaceBuildAITaskByID(genCtx, database.UpdateWorkspaceBuildAITaskByIDParams{
|
||||
HasAITask: hasAITask,
|
||||
SidebarAppID: sidebarAppID,
|
||||
UpdatedAt: dbtime.Now(),
|
||||
ID: buildID,
|
||||
if hasAITask.Valid || hasExternalAgent.Valid {
|
||||
require.NoError(t, db.UpdateWorkspaceBuildFlagsByID(genCtx, database.UpdateWorkspaceBuildFlagsByIDParams{
|
||||
ID: buildID,
|
||||
HasAITask: hasAITask,
|
||||
HasExternalAgent: hasExternalAgent,
|
||||
SidebarAppID: sidebarAppID,
|
||||
UpdatedAt: dbtime.Now(),
|
||||
}))
|
||||
}
|
||||
|
||||
@@ -1028,6 +1030,7 @@ func ExternalAuthLink(t testing.TB, db database.Store, orig database.ExternalAut
|
||||
func TemplateVersion(t testing.TB, db database.Store, orig database.TemplateVersion) database.TemplateVersion {
|
||||
var version database.TemplateVersion
|
||||
hasAITask := takeFirst(orig.HasAITask, sql.NullBool{})
|
||||
hasExternalAgent := takeFirst(orig.HasExternalAgent, sql.NullBool{})
|
||||
jobID := takeFirst(orig.JobID, uuid.New())
|
||||
err := db.InTx(func(db database.Store) error {
|
||||
versionID := takeFirst(orig.ID, uuid.New())
|
||||
@@ -1048,11 +1051,12 @@ func TemplateVersion(t testing.TB, db database.Store, orig database.TemplateVers
|
||||
return err
|
||||
}
|
||||
|
||||
if hasAITask.Valid {
|
||||
require.NoError(t, db.UpdateTemplateVersionAITaskByJobID(genCtx, database.UpdateTemplateVersionAITaskByJobIDParams{
|
||||
JobID: jobID,
|
||||
HasAITask: hasAITask,
|
||||
UpdatedAt: dbtime.Now(),
|
||||
if hasAITask.Valid || hasExternalAgent.Valid {
|
||||
require.NoError(t, db.UpdateTemplateVersionFlagsByJobID(genCtx, database.UpdateTemplateVersionFlagsByJobIDParams{
|
||||
JobID: jobID,
|
||||
HasAITask: hasAITask,
|
||||
HasExternalAgent: hasExternalAgent,
|
||||
UpdatedAt: dbtime.Now(),
|
||||
}))
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user