@@ -1,6 +1,7 @@
|
||||
package sqlite
|
||||
|
||||
const (
|
||||
queryPackageModulesCount = `update packages set modules = $2 where id = $1;`
|
||||
queryPackagesModulesCreate = `insert into packages_modules as pm (package, module) values ($1, $2) on conflict (package,module) do nothing;`
|
||||
queryPackagesUpdateLastCheck = `update packages set last_check = CURRENT_TIMESTAMP where id = $1;`
|
||||
queryPackagesModules = `select modules.id, modules.name, modules.version from modules left join packages_modules on modules.id = packages_modules.module left join packages on packages.id = packages_modules.package where packages_modules.package = $1;`
|
||||
@@ -13,5 +14,6 @@ const (
|
||||
queryPackagesCreate = `insert into packages as p (name, url) values ($1, $2) on conflict (url) do update set name = p.name returning *;`
|
||||
queryModulesList = `select id, name, version from modules;`
|
||||
queryModulesCreate = `insert into modules as m (name, version) values ($1, $2) on conflict (name,version) do update set last_check = CURRENT_TIMESTAMP returning *;`
|
||||
queryCommentsList = `select id, text, created, updated from comments;`
|
||||
queryCommentsList = `select id, text, created, updated from comments where package = $1;`
|
||||
queryHandlersList = `select id, name, coverage from handlers where package = $1;`
|
||||
)
|
||||
|
@@ -2,6 +2,7 @@ package sqlite
|
||||
|
||||
import (
|
||||
"context"
|
||||
"database/sql"
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
@@ -48,6 +49,12 @@ func (s *Sqlite) PackageModulesCreate(ctx context.Context, pkg *models.Package,
|
||||
|
||||
}
|
||||
|
||||
_, err = tx.ExecContext(ctx, queryPackageModulesCount, pkg.ID, len(modules))
|
||||
if err != nil {
|
||||
_ = tx.Rollback()
|
||||
return err
|
||||
}
|
||||
|
||||
if err = tx.Commit(); err != nil {
|
||||
_ = tx.Rollback()
|
||||
return err
|
||||
@@ -69,6 +76,9 @@ func (s *Sqlite) PackageLookup(ctx context.Context, req *pb.PackageLookupReq) (*
|
||||
|
||||
err := s.db.GetContext(ctx, pkg, queryPackagesLookup, req.Id)
|
||||
if err != nil {
|
||||
if err == sql.ErrNoRows {
|
||||
return nil, nil
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -80,6 +90,9 @@ func (s *Sqlite) PackageList(ctx context.Context, req *pb.PackageListReq) ([]*mo
|
||||
|
||||
err := s.db.SelectContext(ctx, &packages, queryPackagesList)
|
||||
if err != nil {
|
||||
if err == sql.ErrNoRows {
|
||||
return nil, nil
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -91,6 +104,9 @@ func (s *Sqlite) PackageModules(ctx context.Context, req *pb.PackageModulesReq)
|
||||
|
||||
err := s.db.SelectContext(ctx, &modules, queryPackagesModules, req.Package)
|
||||
if err != nil {
|
||||
if err == sql.ErrNoRows {
|
||||
return nil, nil
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -201,6 +217,9 @@ func (s *Sqlite) ModuleList(ctx context.Context, req *pb.ModuleListReq) ([]*mode
|
||||
|
||||
err := s.db.SelectContext(ctx, &modules, queryModulesList)
|
||||
if err != nil {
|
||||
if err == sql.ErrNoRows {
|
||||
return nil, nil
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -210,10 +229,27 @@ func (s *Sqlite) ModuleList(ctx context.Context, req *pb.ModuleListReq) ([]*mode
|
||||
func (s *Sqlite) CommentList(ctx context.Context, req *pb.CommentListReq) ([]*models.Comment, error) {
|
||||
var comments []*models.Comment
|
||||
|
||||
err := s.db.SelectContext(ctx, &comments, queryCommentsList, req.PackageId)
|
||||
err := s.db.SelectContext(ctx, &comments, queryCommentsList, req.Package)
|
||||
if err != nil {
|
||||
if err == sql.ErrNoRows {
|
||||
return nil, nil
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return comments, nil
|
||||
}
|
||||
|
||||
func (s *Sqlite) HandlerList(ctx context.Context, req *pb.HandlerListReq) ([]*models.Handler, error) {
|
||||
var handlers []*models.Handler
|
||||
|
||||
err := s.db.SelectContext(ctx, &handlers, queryHandlersList, req.Package)
|
||||
if err != nil {
|
||||
if err == sql.ErrNoRows {
|
||||
return nil, nil
|
||||
}
|
||||
return nil, err
|
||||
}
|
||||
|
||||
return handlers, nil
|
||||
}
|
||||
|
Reference in New Issue
Block a user