Documentation ¶
Index ¶
- Variables
- func AddFileToExistingPackage(ctx context.Context, pvi *PackageInfo, pfci *PackageFileCreationInfo) (*packages_model.PackageFile, error)
- func AddFileToPackageVersionInternal(ctx context.Context, pv *packages_model.PackageVersion, ...) (*packages_model.PackageFile, error)
- func CheckCountQuotaExceeded(ctx context.Context, doer, owner *user_model.User) error
- func CheckSizeQuotaExceeded(ctx context.Context, doer, owner *user_model.User, ...) error
- func CreateAuthorizationToken(u *user_model.User, packageScope auth_model.AccessTokenScope) (string, error)
- func CreatePackageAndAddFile(ctx context.Context, pvci *PackageCreationInfo, pfci *PackageFileCreationInfo) (*packages_model.PackageVersion, *packages_model.PackageFile, error)
- func CreatePackageOrAddFileToExisting(ctx context.Context, pvci *PackageCreationInfo, pfci *PackageFileCreationInfo) (*packages_model.PackageVersion, *packages_model.PackageFile, error)
- func DeletePackageFile(ctx context.Context, pf *packages_model.PackageFile) error
- func DeletePackageVersionAndReferences(ctx context.Context, pv *packages_model.PackageVersion) error
- func GetFileStreamByPackageNameAndVersion(ctx context.Context, pvi *PackageInfo, pfi *PackageFileInfo) (io.ReadSeekCloser, *url.URL, *packages_model.PackageFile, error)
- func GetFileStreamByPackageVersion(ctx context.Context, pv *packages_model.PackageVersion, pfi *PackageFileInfo) (io.ReadSeekCloser, *url.URL, *packages_model.PackageFile, error)
- func GetOrCreateInternalPackageVersion(ctx context.Context, ownerID int64, packageType packages_model.Type, ...) (*packages_model.PackageVersion, error)
- func GetPackageBlobStream(ctx context.Context, pf *packages_model.PackageFile, ...) (io.ReadSeekCloser, *url.URL, *packages_model.PackageFile, error)
- func GetPackageFileStream(ctx context.Context, pf *packages_model.PackageFile) (io.ReadSeekCloser, *url.URL, *packages_model.PackageFile, error)
- func NewPackageBlob(hsr packages_module.HashedSizeReader) *packages_model.PackageBlob
- func RemoveAllPackages(ctx context.Context, userID int64) (int, error)
- func RemovePackageFileAndVersionIfUnreferenced(ctx context.Context, doer *user_model.User, pf *packages_model.PackageFile) error
- func RemovePackageVersion(ctx context.Context, doer *user_model.User, pv *packages_model.PackageVersion) error
- func RemovePackageVersionByNameAndVersion(ctx context.Context, doer *user_model.User, pvi *PackageInfo) error
- type PackageCreationInfo
- type PackageFileCreationInfo
- type PackageFileInfo
- type PackageInfo
- type PackageMeta
Constants ¶
This section is empty.
Variables ¶
Functions ¶
func AddFileToExistingPackage ¶
func AddFileToExistingPackage(ctx context.Context, pvi *PackageInfo, pfci *PackageFileCreationInfo) (*packages_model.PackageFile, error)
AddFileToExistingPackage adds a file to an existing package. If the package does not exist, ErrPackageNotExist is returned
func AddFileToPackageVersionInternal ¶
func AddFileToPackageVersionInternal(ctx context.Context, pv *packages_model.PackageVersion, pfci *PackageFileCreationInfo) (*packages_model.PackageFile, error)
AddFileToPackageVersionInternal adds a file to the package This method skips quota checks and should only be used for system-managed packages.
func CheckCountQuotaExceeded ¶
func CheckCountQuotaExceeded(ctx context.Context, doer, owner *user_model.User) error
CheckCountQuotaExceeded checks if the owner has more than the allowed packages The check is skipped if the doer is an admin.
func CheckSizeQuotaExceeded ¶
func CheckSizeQuotaExceeded(ctx context.Context, doer, owner *user_model.User, packageType packages_model.Type, uploadSize int64) error
CheckSizeQuotaExceeded checks if the upload size is bigger than the allowed size The check is skipped if the doer is an admin.
func CreateAuthorizationToken ¶
func CreateAuthorizationToken(u *user_model.User, packageScope auth_model.AccessTokenScope) (string, error)
func CreatePackageAndAddFile ¶
func CreatePackageAndAddFile(ctx context.Context, pvci *PackageCreationInfo, pfci *PackageFileCreationInfo) (*packages_model.PackageVersion, *packages_model.PackageFile, error)
CreatePackageAndAddFile creates a package with a file. If the same package exists already, ErrDuplicatePackageVersion is returned
func CreatePackageOrAddFileToExisting ¶
func CreatePackageOrAddFileToExisting(ctx context.Context, pvci *PackageCreationInfo, pfci *PackageFileCreationInfo) (*packages_model.PackageVersion, *packages_model.PackageFile, error)
CreatePackageOrAddFileToExisting creates a package with a file or adds the file if the package exists already
func DeletePackageFile ¶
func DeletePackageFile(ctx context.Context, pf *packages_model.PackageFile) error
DeletePackageFile deletes the package file and its properties
func DeletePackageVersionAndReferences ¶
func DeletePackageVersionAndReferences(ctx context.Context, pv *packages_model.PackageVersion) error
DeletePackageVersionAndReferences deletes the package version and its properties and files
func GetFileStreamByPackageNameAndVersion ¶
func GetFileStreamByPackageNameAndVersion(ctx context.Context, pvi *PackageInfo, pfi *PackageFileInfo) (io.ReadSeekCloser, *url.URL, *packages_model.PackageFile, error)
GetFileStreamByPackageNameAndVersion returns the content of the specific package file
func GetFileStreamByPackageVersion ¶
func GetFileStreamByPackageVersion(ctx context.Context, pv *packages_model.PackageVersion, pfi *PackageFileInfo) (io.ReadSeekCloser, *url.URL, *packages_model.PackageFile, error)
GetFileStreamByPackageVersion returns the content of the specific package file
func GetOrCreateInternalPackageVersion ¶
func GetOrCreateInternalPackageVersion(ctx context.Context, ownerID int64, packageType packages_model.Type, name, version string) (*packages_model.PackageVersion, error)
GetOrCreateInternalPackageVersion gets or creates an internal package Some package types need such internal packages for housekeeping.
func GetPackageBlobStream ¶
func GetPackageBlobStream(ctx context.Context, pf *packages_model.PackageFile, pb *packages_model.PackageBlob, serveDirectReqParams url.Values) (io.ReadSeekCloser, *url.URL, *packages_model.PackageFile, error)
GetPackageBlobStream returns the content of the specific package blob If the storage supports direct serving and it's enabled, only the direct serving url is returned.
func GetPackageFileStream ¶
func GetPackageFileStream(ctx context.Context, pf *packages_model.PackageFile) (io.ReadSeekCloser, *url.URL, *packages_model.PackageFile, error)
GetPackageFileStream returns the content of the specific package file
func NewPackageBlob ¶
func NewPackageBlob(hsr packages_module.HashedSizeReader) *packages_model.PackageBlob
NewPackageBlob creates a package blob instance
func RemoveAllPackages ¶
RemoveAllPackages for User
func RemovePackageFileAndVersionIfUnreferenced ¶
func RemovePackageFileAndVersionIfUnreferenced(ctx context.Context, doer *user_model.User, pf *packages_model.PackageFile) error
RemovePackageFileAndVersionIfUnreferenced deletes the package file and the version if there are no referenced files afterwards
func RemovePackageVersion ¶
func RemovePackageVersion(ctx context.Context, doer *user_model.User, pv *packages_model.PackageVersion) error
RemovePackageVersion deletes the package version and all associated files
func RemovePackageVersionByNameAndVersion ¶
func RemovePackageVersionByNameAndVersion(ctx context.Context, doer *user_model.User, pvi *PackageInfo) error
RemovePackageVersionByNameAndVersion deletes a package version and all associated files
Types ¶
type PackageCreationInfo ¶
type PackageCreationInfo struct { PackageInfo SemverCompatible bool Creator *user_model.User Metadata any PackageProperties map[string]string VersionProperties map[string]string }
PackageCreationInfo describes a package to create
type PackageFileCreationInfo ¶
type PackageFileCreationInfo struct { PackageFileInfo Creator *user_model.User Data packages_module.HashedSizeReader IsLead bool Properties map[string]string OverwriteExisting bool }
PackageFileCreationInfo describes a package file to create
type PackageFileInfo ¶
PackageFileInfo describes a package file
type PackageInfo ¶
type PackageInfo struct { Owner *user_model.User PackageType packages_model.Type Name string Version string }
PackageInfo describes a package
type PackageMeta ¶
type PackageMeta struct { UserID int64 Scope auth_model.AccessTokenScope }
func ParseAuthorizationRequest ¶
func ParseAuthorizationRequest(req *http.Request) (*PackageMeta, error)
func ParseAuthorizationToken ¶
func ParseAuthorizationToken(tokenStr string) (*PackageMeta, error)