Add GetPkg endpoint to API

This commit is contained in:
2022-12-17 23:10:34 -08:00
parent 49497c6534
commit c4ad6187b1
5 changed files with 521 additions and 129 deletions

View File

@@ -2,6 +2,7 @@ package db
import (
"github.com/genjidb/genji"
"github.com/genjidb/genji/document"
"github.com/genjidb/genji/types"
)
@@ -81,6 +82,18 @@ func GetPkgs(db *genji.DB, where string, args ...any) (*genji.Result, error) {
return stream, nil
}
// GetPkg returns a single package that match the where conditions
func GetPkg(db *genji.DB, where string, args ...any) (*Package, error) {
doc, err := db.QueryDocument("SELECT * FROM pkgs WHERE "+where+"LIMIT 1", args...)
if err != nil {
return nil, err
}
out := &Package{}
err = document.ScanDocument(doc, out)
return out, err
}
// DeletePkgs deletes all packages matching the where conditions
func DeletePkgs(db *genji.DB, where string, args ...any) error {
return db.Exec("DELETE FROM pkgs WHERE "+where, args...)