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

Method convertWorkspaceBuilds

coderd/workspacebuilds.go:1123–1188  ·  view source on GitHub ↗
(
	workspaceBuilds []database.WorkspaceBuild,
	workspaces []database.Workspace,
	jobs []database.GetProvisionerJobsByIDsWithQueuePositionRow,
	workspaceResources []database.WorkspaceResource,
	resourceMetadata []database.WorkspaceResourceMetadatum,
	resourceAgents []database.WorkspaceAgent,
	agentApps []database.WorkspaceApp,
	agentAppStatuses []database.WorkspaceAppStatus,
	agentScripts []database.GetWorkspaceAgentScriptsByAgentIDsRow,
	agentLogSources []database.WorkspaceAgentLogSource,
	templateVersions []database.TemplateVersion,
	provisionerDaemons []database.GetEligibleProvisionerDaemonsByProvisionerJobIDsRow,
)

Source from the content-addressed store, hash-verified

1121}
1122
1123func (api *API) convertWorkspaceBuilds(
1124 workspaceBuilds []database.WorkspaceBuild,
1125 workspaces []database.Workspace,
1126 jobs []database.GetProvisionerJobsByIDsWithQueuePositionRow,
1127 workspaceResources []database.WorkspaceResource,
1128 resourceMetadata []database.WorkspaceResourceMetadatum,
1129 resourceAgents []database.WorkspaceAgent,
1130 agentApps []database.WorkspaceApp,
1131 agentAppStatuses []database.WorkspaceAppStatus,
1132 agentScripts []database.GetWorkspaceAgentScriptsByAgentIDsRow,
1133 agentLogSources []database.WorkspaceAgentLogSource,
1134 templateVersions []database.TemplateVersion,
1135 provisionerDaemons []database.GetEligibleProvisionerDaemonsByProvisionerJobIDsRow,
1136) ([]codersdk.WorkspaceBuild, error) {
1137 workspaceByID := map[uuid.UUID]database.Workspace{}
1138 for _, workspace := range workspaces {
1139 workspaceByID[workspace.ID] = workspace
1140 }
1141 jobByID := map[uuid.UUID]database.GetProvisionerJobsByIDsWithQueuePositionRow{}
1142 for _, job := range jobs {
1143 jobByID[job.ProvisionerJob.ID] = job
1144 }
1145 templateVersionByID := map[uuid.UUID]database.TemplateVersion{}
1146 for _, templateVersion := range templateVersions {
1147 templateVersionByID[templateVersion.ID] = templateVersion
1148 }
1149
1150 // Should never be nil for API consistency
1151 apiBuilds := []codersdk.WorkspaceBuild{}
1152 for _, build := range workspaceBuilds {
1153 job, exists := jobByID[build.JobID]
1154 if !exists {
1155 return nil, xerrors.New("build job not found")
1156 }
1157 workspace, exists := workspaceByID[build.WorkspaceID]
1158 if !exists {
1159 return nil, xerrors.New("workspace not found")
1160 }
1161 templateVersion, exists := templateVersionByID[build.TemplateVersionID]
1162 if !exists {
1163 return nil, xerrors.New("template version not found")
1164 }
1165
1166 apiBuild, err := api.convertWorkspaceBuild(
1167 build,
1168 workspace,
1169 job,
1170 workspaceResources,
1171 resourceMetadata,
1172 resourceAgents,
1173 agentApps,
1174 agentAppStatuses,
1175 agentScripts,
1176 agentLogSources,
1177 templateVersion,
1178 provisionerDaemons,
1179 )
1180 if err != nil {

Callers 2

workspaceDataMethod · 0.95
workspaceBuildsMethod · 0.95

Calls 3

convertWorkspaceBuildMethod · 0.95
NewMethod · 0.65
ErrorfMethod · 0.45

Tested by

no test coverage detected