Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type DAO ¶
type DAO interface { // CreateArtifactAndBlob create ArtifactAndBlob and ignore conflict on artifact digest and blob digest CreateArtifactAndBlob(ctx context.Context, artifactDigest, blobDigest string) (int64, error) // GetArtifactAndBlob get ArtifactAndBlob by artifact digest and blob digest GetArtifactAndBlob(ctx context.Context, artifactDigest, blobDigest string) (*models.ArtifactAndBlob, error) // DeleteArtifactAndBlobByArtifact delete ArtifactAndBlob by artifact digest DeleteArtifactAndBlobByArtifact(ctx context.Context, artifactDigest string) error // GetAssociatedBlobDigestsForArtifact returns blob digests which associated with the artifact GetAssociatedBlobDigestsForArtifact(ctx context.Context, artifact string) ([]string, error) // CreateBlob create blob and ignore conflict on digest CreateBlob(ctx context.Context, blob *models.Blob) (int64, error) // GetBlobByDigest returns blob by digest GetBlobByDigest(ctx context.Context, digest string) (*models.Blob, error) // UpdateBlob update blob UpdateBlob(ctx context.Context, blob *models.Blob) error // UpdateBlob update blob status UpdateBlobStatus(ctx context.Context, blob *models.Blob) (int64, error) // ListBlobs list blobs by query ListBlobs(ctx context.Context, query *q.Query) ([]*models.Blob, error) // FindBlobsShouldUnassociatedWithProject filter the blobs which should not be associated with the project FindBlobsShouldUnassociatedWithProject(ctx context.Context, projectID int64, blobs []*models.Blob) ([]*models.Blob, error) // SumBlobsSizeByProject returns sum size of blobs by project, skip foreign blobs when `excludeForeignLayer` is true SumBlobsSizeByProject(ctx context.Context, projectID int64, excludeForeignLayer bool) (int64, error) // SumBlobsSize returns sum size of all blobs skip foreign blobs when `excludeForeignLayer` is true SumBlobsSize(ctx context.Context, excludeForeignLayer bool) (int64, error) // CreateProjectBlob create ProjectBlob and ignore conflict on project id and blob id CreateProjectBlob(ctx context.Context, projectID, blobID int64) (int64, error) // DeleteProjectBlob delete project blob DeleteProjectBlob(ctx context.Context, projectID int64, blobIDs ...int64) error // ExistProjectBlob returns true when ProjectBlob exist ExistProjectBlob(ctx context.Context, projectID int64, blobDigest string) (bool, error) // DeleteBlob delete blob DeleteBlob(ctx context.Context, id int64) (err error) // GetBlobsNotRefedByProjectBlob get the blobs that are not referenced by the table project_blob and also not in the reserve window(in hours) GetBlobsNotRefedByProjectBlob(ctx context.Context, timeWindowHours int64) ([]*models.Blob, error) // GetBlobsByArtDigest get the blobs that are referenced by artifact GetBlobsByArtDigest(ctx context.Context, digest string) ([]*models.Blob, error) }
DAO the dao for Blob, ArtifactAndBlob and ProjectBlob
Click to show internal directories.
Click to hide internal directories.