(ctx context.Context, descs []ocispecs.Descriptor)
| 247 | } |
| 248 | |
| 249 | func (r *Resolver) attachContentToLease(ctx context.Context, descs []ocispecs.Descriptor) error { |
| 250 | leaseID, ok := leases.FromContext(ctx) |
| 251 | if !ok { |
| 252 | return errors.New("attach content to lease: missing lease") |
| 253 | } |
| 254 | seen := map[digest.Digest]struct{}{} |
| 255 | for _, desc := range descs { |
| 256 | if desc.Digest == "" { |
| 257 | continue |
| 258 | } |
| 259 | if _, ok := seen[desc.Digest]; ok { |
| 260 | continue |
| 261 | } |
| 262 | seen[desc.Digest] = struct{}{} |
| 263 | if err := r.leaseManager.AddResource(ctx, leases.Lease{ID: leaseID}, leases.Resource{ |
| 264 | ID: desc.Digest.String(), |
| 265 | Type: "content", |
| 266 | }); err != nil && !cerrdefs.IsAlreadyExists(err) { |
| 267 | return err |
| 268 | } |
| 269 | } |
| 270 | return nil |
| 271 | } |
no test coverage detected