[feat] 完善 PkgVersion GetFile() GetSourceMap()

This commit is contained in:
what 2024-11-22 16:47:29 +08:00
parent fefaa09793
commit 911852d14e

View File

@ -1,6 +1,12 @@
package base
import (
"git.fsdpf.net/go/contracts"
"github.com/samber/do"
)
type PkgVersion struct {
Id int64 `db:"id"`
Name string `db:"pkg"`
Bundle string `db:"bundle"`
Hash string `db:"hash"`
@ -13,8 +19,41 @@ type PkgVersion struct {
CreatedAt string `db:"created_at"`
}
func (this PkgVersion) GetFile() []byte
func (this PkgVersion) GetSourceMap() []byte
func (this PkgVersion) GetFile(app *do.Injector) ([]byte, error) {
if this.Id == 0 {
return nil, contracts.ErrPkgUnknown
}
res, ok := do.MustInvoke[contracts.GetResource](app)("PkgVersion")
if !ok {
return nil, contracts.ErrResNotFound
}
file := []byte{}
_, err := res.GetDBTable().Where("id", this.Id).Value(&file, "file")
return file, err
}
func (this PkgVersion) GetSourceMap(app *do.Injector) ([]byte, error) {
if this.Id == 0 {
return nil, contracts.ErrPkgUnknown
}
res, ok := do.MustInvoke[contracts.GetResource](app)("PkgVersion")
if !ok {
return nil, contracts.ErrResNotFound
}
file := []byte{}
_, err := res.GetDBTable().Where("id", this.Id).Value(&file, "sourcemap")
return file, err
}
type GetPkgVersion func(pkg string, opts ...PkgOption) (PkgVersion, bool)