MCPcopy Index your code
hub / github.com/coder/coder / Workspace

Function Workspace

coderd/database/dbgen/dbgen.go:761–820  ·  view source on GitHub ↗
(t testing.TB, db database.Store, orig database.WorkspaceTable)

Source from the content-addressed store, hash-verified

759}
760
761func Workspace(t testing.TB, db database.Store, orig database.WorkspaceTable) database.WorkspaceTable {
762 t.Helper()
763
764 var defOrgID uuid.UUID
765 if orig.OrganizationID == uuid.Nil {
766 defOrg, _ := db.GetDefaultOrganization(genCtx)
767 defOrgID = defOrg.ID
768 }
769
770 workspace, err := db.InsertWorkspace(genCtx, database.InsertWorkspaceParams{
771 ID: takeFirst(orig.ID, uuid.New()),
772 OwnerID: takeFirst(orig.OwnerID, uuid.New()),
773 CreatedAt: takeFirst(orig.CreatedAt, dbtime.Now()),
774 UpdatedAt: takeFirst(orig.UpdatedAt, dbtime.Now()),
775 OrganizationID: takeFirst(orig.OrganizationID, defOrgID, uuid.New()),
776 TemplateID: takeFirst(orig.TemplateID, uuid.New()),
777 LastUsedAt: takeFirst(orig.LastUsedAt, dbtime.Now()),
778 Name: takeFirst(orig.Name, testutil.GetRandomName(t)),
779 AutostartSchedule: orig.AutostartSchedule,
780 Ttl: orig.Ttl,
781 AutomaticUpdates: takeFirst(orig.AutomaticUpdates, database.AutomaticUpdatesNever),
782 NextStartAt: orig.NextStartAt,
783 })
784 require.NoError(t, err, "insert workspace")
785 if orig.Deleted {
786 err = db.UpdateWorkspaceDeletedByID(genCtx, database.UpdateWorkspaceDeletedByIDParams{
787 ID: workspace.ID,
788 Deleted: true,
789 })
790 require.NoError(t, err, "set workspace as deleted")
791 workspace.Deleted = true
792 }
793 if orig.DormantAt.Valid {
794 _, err = db.UpdateWorkspaceDormantDeletingAt(genCtx, database.UpdateWorkspaceDormantDeletingAtParams{
795 ID: workspace.ID,
796 DormantAt: orig.DormantAt,
797 })
798 require.NoError(t, err, "set workspace as dormant")
799 workspace.DormantAt = orig.DormantAt
800 }
801 if len(orig.UserACL) > 0 || len(orig.GroupACL) > 0 {
802 userACL := orig.UserACL
803 if userACL == nil {
804 userACL = database.WorkspaceACL{}
805 }
806 groupACL := orig.GroupACL
807 if groupACL == nil {
808 groupACL = database.WorkspaceACL{}
809 }
810 err = db.UpdateWorkspaceACLByID(genCtx, database.UpdateWorkspaceACLByIDParams{
811 ID: workspace.ID,
812 UserACL: userACL,
813 GroupACL: groupACL,
814 })
815 require.NoError(t, err, "set workspace ACL")
816 workspace.UserACL = orig.UserACL
817 workspace.GroupACL = orig.GroupACL
818 }

Callers 15

TestProvisionerDaemonsFunction · 0.92
TestProvisionerJobsFunction · 0.92
TestWorkspaceTimingsFunction · 0.92
TestTaskParamFunction · 0.92
TestWorkspaceBuildParamFunction · 0.92
TestWorkspaceAgentParamFunction · 0.92
TestWorkspaceAgentFunction · 0.92
setupFunction · 0.92

Calls 10

NowFunction · 0.92
GetRandomNameFunction · 0.92
takeFirstFunction · 0.70
HelperMethod · 0.65
InsertWorkspaceMethod · 0.65
NewMethod · 0.65

Tested by 15

TestProvisionerDaemonsFunction · 0.74
TestProvisionerJobsFunction · 0.74
TestWorkspaceTimingsFunction · 0.74
TestTaskParamFunction · 0.74
TestWorkspaceBuildParamFunction · 0.74
TestWorkspaceAgentParamFunction · 0.74
TestWorkspaceAgentFunction · 0.74
setupFunction · 0.74