Skip to content

Commit a80264a

Browse files
committed
feat: support layer events as initial
1 parent 43b9434 commit a80264a

1 file changed

Lines changed: 16 additions & 6 deletions

File tree

pkg/client/pull/state/pull.go

Lines changed: 16 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,24 @@ func (p *PullInProgress) Status() string {
2222
}
2323

2424
func NewPullState(ref reference.Named, manifest *v1.Manifest, event events.PullEvent) (Pull, error) {
25-
switch event.(type) {
25+
base := pullBase{
26+
ref: ref,
27+
manifest: manifest,
28+
layers: make(map[string]Layer),
29+
}
30+
switch event := event.(type) {
2631
case *events.PullStarted:
2732
return &PullInProgress{
28-
pullBase: pullBase{
29-
ref: ref,
30-
manifest: manifest,
31-
layers: make(map[string]Layer),
32-
},
33+
pullBase: base,
34+
}, nil
35+
case events.LayerEvent:
36+
var err error
37+
base.layers[event.LayerId()], err = NewLayer(event)
38+
if err != nil {
39+
return nil, err
40+
}
41+
return &PullInProgress{
42+
pullBase: base,
3343
}, nil
3444
}
3545
return nil, fmt.Errorf("invalid initial event (%T)", event)

0 commit comments

Comments
 (0)