Implement pack importing/exporting for downloaded Curseforge packs

Abstract out hash implementations
Implement file saving/downloading
This commit is contained in:
comp500
2019-11-12 22:11:40 +00:00
parent 73f6184b3d
commit 5dfe23e51d
12 changed files with 749 additions and 297 deletions

View File

@@ -0,0 +1,25 @@
package packinterop
import "io"
type ImportPackFile interface {
Name() string
Open() (io.ReadCloser, error)
}
type ImportPackMetadata interface {
Name() string
Versions() map[string]string
// TODO: use AddonFileReference?
Mods() []struct {
ModID int
FileID int
}
GetFiles() ([]ImportPackFile, error)
}
type ImportPackSource interface {
GetFile(path string) (ImportPackFile, error)
GetFileList() ([]ImportPackFile, error)
GetPackFile() ImportPackFile
}