MCPcopy Index your code
hub / github.com/APIParkLab/APIPark / Detail

Method Detail

module/release/iml.go:201–234  ·  view source on GitHub ↗
(ctx context.Context, project string, id string)

Source from the content-addressed store, hash-verified

199}
200
201func (m *imlReleaseModule) Detail(ctx context.Context, project string, id string) (*dto.Detail, error) {
202 r, err := m.releaseService.GetRelease(ctx, id)
203 if err != nil {
204 return nil, err
205 }
206 if r.Service != project {
207 return nil, errors.New("release not found")
208 }
209 running, err := m.releaseService.GetRunning(ctx, project)
210 if err != nil && !errors.Is(err, gorm.ErrRecordNotFound) {
211 return nil, err
212 }
213 runningRelease := ""
214 if running != nil {
215 runningRelease = running.UUID
216 }
217 diff, err := m.projectDiffModule.Diff(ctx, project, runningRelease, r.UUID)
218 if err != nil {
219 return nil, err
220 }
221 out, err := m.projectDiffModule.Out(ctx, diff)
222 if err != nil {
223 return nil, err
224 }
225 return &dto.Detail{
226 Id: r.UUID,
227 Version: r.Version,
228 Remark: r.Remark,
229 Service: auto.UUID(r.Service),
230 CreateTime: auto.TimeLabel(r.CreateAt),
231 Creator: auto.UUID(r.Creator),
232 Diffs: out,
233 }, nil
234}
235
236func (m *imlReleaseModule) List(ctx context.Context, project string) ([]*dto.Release, error) {
237 _, err := m.projectService.Check(ctx, project, projectRuleMustServer)

Callers

nothing calls this directly

Calls 4

GetReleaseMethod · 0.65
GetRunningMethod · 0.65
DiffMethod · 0.65
OutMethod · 0.65

Tested by

no test coverage detected