Signed-off-by: Vasiliy Tolstov <v.tolstov@unistack.org>
This commit is contained in:
2023-08-20 14:19:57 +03:00
parent 6d5ab6f208
commit eb4daf33f1
83 changed files with 2726 additions and 2116 deletions

View File

@@ -19,9 +19,11 @@ create table if not exists packages (
id integer primary key autoincrement not null,
name varchar not null,
url varchar not null,
desc varchar,
modules integer default 0,
issues integer default 0,
comments integer default 0,
coverage number default 0,
created timestamp not null default current_timestamp,
updated timestamp not null default current_timestamp,
status integer default 1,

View File

@@ -12,7 +12,7 @@ import (
"go.unistack.org/micro/v4/logger"
)
func (h *Handler) CommentsCreate(ctx context.Context, req *pb.CommentsCreateReq, rsp *pb.CommentsCreateRsp) error {
func (h *Handler) CommentCreate(ctx context.Context, req *pb.CommentCreateReq, rsp *pb.CommentCreateRsp) error {
logger.Debug(ctx, "Start AddComment")
err := req.Validate()
@@ -23,7 +23,7 @@ func (h *Handler) CommentsCreate(ctx context.Context, req *pb.CommentsCreateReq,
}
var com *models.Comment
if com, err = h.store.CommentsCreate(ctx, req); err != nil {
if com, err = h.store.CommentCreate(ctx, req); err != nil {
logger.Error(ctx, err)
if errors.Is(err, sql.ErrNoRows) {
httpsrv.SetRspCode(ctx, http.StatusNotFound)

View File

@@ -11,7 +11,7 @@ import (
"go.unistack.org/micro/v4/logger"
)
func (h *Handler) CommentsDelete(ctx context.Context, req *pb.CommentsDeleteReq, rsp *pb.CommentsDeleteRsp) error {
func (h *Handler) CommentDelete(ctx context.Context, req *pb.CommentDeleteReq, rsp *pb.CommentDeleteRsp) error {
logger.Debug(ctx, "Start AddComment")
err := req.Validate()
@@ -21,7 +21,7 @@ func (h *Handler) CommentsDelete(ctx context.Context, req *pb.CommentsDeleteReq,
return httpsrv.SetError(NewValidationError(err))
}
if err = h.store.CommentsDelete(ctx, req); err != nil {
if err = h.store.CommentDelete(ctx, req); err != nil {
logger.Error(ctx, err)
if errors.Is(err, sql.ErrNoRows) {
httpsrv.SetRspCode(ctx, http.StatusNotFound)

View File

@@ -10,7 +10,7 @@ import (
"go.unistack.org/micro/v4/logger"
)
func (h *Handler) CommentsList(ctx context.Context, req *pb.CommentsListReq, rsp *pb.CommentsListRsp) error {
func (h *Handler) CommentList(ctx context.Context, req *pb.CommentListReq, rsp *pb.CommentListRsp) error {
logger.Debug(ctx, "Start GetModule")
err := req.Validate()
@@ -20,7 +20,7 @@ func (h *Handler) CommentsList(ctx context.Context, req *pb.CommentsListReq, rsp
return httpsrv.SetError(NewValidationError(err))
}
comments, err := h.store.CommentsList(ctx, req)
comments, err := h.store.CommentList(ctx, req)
if err != nil {
logger.Error(ctx, err)
httpsrv.SetRspCode(ctx, http.StatusInternalServerError)

View File

@@ -0,0 +1,11 @@
package handler
import (
"context"
pb "git.unistack.org/unistack-org/pkgdash/proto"
)
func (h *Handler) CommentLookup(ctx context.Context, req *pb.CommentLookupReq, rsp *pb.CommentLookupRsp) error {
return nil
}

View File

@@ -1,11 +0,0 @@
package handler
import (
"context"
pb "git.unistack.org/unistack-org/pkgdash/proto"
)
func (h *Handler) CommentsLookup(ctx context.Context, req *pb.CommentsLookupReq, rsp *pb.CommentsLookupRsp) error {
return nil
}

View File

@@ -12,9 +12,8 @@ import (
)
type Handler struct {
store storage.Storage
codec codec.Codec
chanUrl chan *pb.PackagesCreateReq
store storage.Storage
codec codec.Codec
}
func NewNotFoundError(err error) *pb.ErrorRsp {

View File

@@ -10,7 +10,7 @@ import (
"go.unistack.org/micro/v4/logger"
)
func (h *Handler) ModulesList(ctx context.Context, req *pb.ModulesListReq, rsp *pb.ModulesListRsp) error {
func (h *Handler) ModuleList(ctx context.Context, req *pb.ModuleListReq, rsp *pb.ModuleListRsp) error {
logger.Debug(ctx, "Start GetModule")
err := req.Validate()
@@ -20,7 +20,7 @@ func (h *Handler) ModulesList(ctx context.Context, req *pb.ModulesListReq, rsp *
return httpsrv.SetError(NewValidationError(err))
}
modules, err := h.store.ModulesList(ctx, req)
modules, err := h.store.ModuleList(ctx, req)
if err != nil {
logger.Error(ctx, err)
httpsrv.SetRspCode(ctx, http.StatusInternalServerError)

View File

@@ -10,7 +10,7 @@ import (
"go.unistack.org/micro/v4/logger"
)
func (h *Handler) PackagesCreate(ctx context.Context, req *pb.PackagesCreateReq, rsp *pb.PackagesCreateRsp) error {
func (h *Handler) PackageCreate(ctx context.Context, req *pb.PackageCreateReq, rsp *pb.PackageCreateRsp) error {
logger.Debug(ctx, "PackagesCreate handler start")
if err := req.Validate(); err != nil {
@@ -19,7 +19,7 @@ func (h *Handler) PackagesCreate(ctx context.Context, req *pb.PackagesCreateReq,
return httpsrv.SetError(NewValidationError(err))
}
pkg, err := h.store.PackagesCreate(ctx, req)
pkg, err := h.store.PackageCreate(ctx, req)
if err != nil {
logger.Error(ctx, err)
httpsrv.SetRspCode(ctx, http.StatusBadRequest)

View File

@@ -9,7 +9,7 @@ import (
"go.unistack.org/micro/v4/logger"
)
func (h *Handler) PackagesDelete(ctx context.Context, req *pb.PackagesDeleteReq, rsp *pb.PackagesDeleteRsp) error {
func (h *Handler) PackageDelete(ctx context.Context, req *pb.PackageDeleteReq, rsp *pb.PackageDeleteRsp) error {
logger.Debug(ctx, "Start UpdatePackage")
if err := req.Validate(); err != nil {
@@ -18,7 +18,7 @@ func (h *Handler) PackagesDelete(ctx context.Context, req *pb.PackagesDeleteReq,
return httpsrv.SetError(NewValidationError(err))
}
if err := h.store.PackagesDelete(ctx, req); err != nil {
if err := h.store.PackageDelete(ctx, req); err != nil {
logger.Error(ctx, err)
httpsrv.SetRspCode(ctx, http.StatusInternalServerError)
return httpsrv.SetError(NewInternalError(err))

View File

@@ -10,10 +10,10 @@ import (
"go.unistack.org/micro/v4/logger"
)
func (h *Handler) PackagesList(ctx context.Context, req *pb.PackagesListReq, rsp *pb.PackagesListRsp) error {
func (h *Handler) PackageList(ctx context.Context, req *pb.PackageListReq, rsp *pb.PackageListRsp) error {
logger.Debug(ctx, "PackagesList handler start")
packages, err := h.store.PackagesList(ctx, req)
packages, err := h.store.PackageList(ctx, req)
if err != nil {
logger.Errorf(ctx, "error db response: %v", err)
httpsrv.SetRspCode(ctx, http.StatusInternalServerError)

View File

@@ -10,7 +10,7 @@ import (
"go.unistack.org/micro/v4/logger"
)
func (h *Handler) PackagesLookup(ctx context.Context, req *pb.PackagesLookupReq, rsp *pb.PackagesLookupRsp) error {
func (h *Handler) PackageLookup(ctx context.Context, req *pb.PackageLookupReq, rsp *pb.PackageLookupRsp) error {
logger.Debug(ctx, "Start PackagesLookup")
if err := req.Validate(); err != nil {
@@ -19,7 +19,7 @@ func (h *Handler) PackagesLookup(ctx context.Context, req *pb.PackagesLookupReq,
return httpsrv.SetError(NewValidationError(err))
}
pkg, err := h.store.PackagesLookup(ctx, req)
pkg, err := h.store.PackageLookup(ctx, req)
if err != nil {
logger.Error(ctx, err)
httpsrv.SetRspCode(ctx, http.StatusInternalServerError)

View File

@@ -10,10 +10,10 @@ import (
"go.unistack.org/micro/v4/logger"
)
func (h *Handler) PackagesModules(ctx context.Context, req *pb.PackagesModulesReq, rsp *pb.PackagesModulesRsp) error {
logger.Debug(ctx, "PackagesModuleshandler start")
func (h *Handler) PackageModules(ctx context.Context, req *pb.PackageModulesReq, rsp *pb.PackageModulesRsp) error {
logger.Debug(ctx, "PackageModules handler start")
modules, err := h.store.PackagesModules(ctx, req)
modules, err := h.store.PackageModules(ctx, req)
if err != nil {
logger.Errorf(ctx, "error db response: %v", err)
httpsrv.SetRspCode(ctx, http.StatusInternalServerError)

View File

@@ -10,7 +10,7 @@ import (
"go.unistack.org/micro/v4/logger"
)
func (h *Handler) PackagesUpdate(ctx context.Context, req *pb.PackagesUpdateReq, rsp *pb.PackagesUpdateRsp) error {
func (h *Handler) PackageUpdate(ctx context.Context, req *pb.PackageUpdateReq, rsp *pb.PackageUpdateRsp) error {
logger.Debug(ctx, "Start UpdatePackage")
if err := req.Validate(); err != nil {
@@ -19,7 +19,7 @@ func (h *Handler) PackagesUpdate(ctx context.Context, req *pb.PackagesUpdateReq,
return httpsrv.SetError(NewValidationError(err))
}
pkg, err := h.store.PackagesUpdate(ctx, req)
pkg, err := h.store.PackageUpdate(ctx, req)
if err != nil {
logger.Error(ctx, err)
httpsrv.SetRspCode(ctx, http.StatusInternalServerError)

View File

@@ -28,7 +28,7 @@ func NewStorage() func(*sqlx.DB) interface{} {
}
}
func (s *Sqlite) PackagesModulesCreate(ctx context.Context, pkg *models.Package, modules []*models.Module) error {
func (s *Sqlite) PackageModulesCreate(ctx context.Context, pkg *models.Package, modules []*models.Module) error {
tx, err := s.db.BeginTxx(ctx, nil)
if err != nil {
return err
@@ -56,15 +56,15 @@ func (s *Sqlite) PackagesModulesCreate(ctx context.Context, pkg *models.Package,
return nil
}
func (s *Sqlite) PackagesDelete(ctx context.Context, req *pb.PackagesDeleteReq) error {
func (s *Sqlite) PackageDelete(ctx context.Context, req *pb.PackageDeleteReq) error {
return fmt.Errorf("need implement")
}
func (s *Sqlite) PackagesUpdate(ctx context.Context, req *pb.PackagesUpdateReq) (*models.Package, error) {
func (s *Sqlite) PackageUpdate(ctx context.Context, req *pb.PackageUpdateReq) (*models.Package, error) {
return nil, fmt.Errorf("need implement")
}
func (s *Sqlite) PackagesLookup(ctx context.Context, req *pb.PackagesLookupReq) (*models.Package, error) {
func (s *Sqlite) PackageLookup(ctx context.Context, req *pb.PackageLookupReq) (*models.Package, error) {
pkg := &models.Package{}
err := s.db.GetContext(ctx, pkg, queryPackagesLookup, req.Id)
@@ -75,7 +75,7 @@ func (s *Sqlite) PackagesLookup(ctx context.Context, req *pb.PackagesLookupReq)
return pkg, err
}
func (s *Sqlite) PackagesList(ctx context.Context, req *pb.PackagesListReq) ([]*models.Package, error) {
func (s *Sqlite) PackageList(ctx context.Context, req *pb.PackageListReq) ([]*models.Package, error) {
var packages []*models.Package
err := s.db.SelectContext(ctx, &packages, queryPackagesList)
@@ -86,7 +86,7 @@ func (s *Sqlite) PackagesList(ctx context.Context, req *pb.PackagesListReq) ([]*
return packages, nil
}
func (s *Sqlite) PackagesModules(ctx context.Context, req *pb.PackagesModulesReq) ([]*models.Module, error) {
func (s *Sqlite) PackageModules(ctx context.Context, req *pb.PackageModulesReq) ([]*models.Module, error) {
var modules []*models.Module
err := s.db.SelectContext(ctx, &modules, queryPackagesModules, req.Package)
@@ -97,11 +97,11 @@ func (s *Sqlite) PackagesModules(ctx context.Context, req *pb.PackagesModulesReq
return modules, nil
}
func (s *Sqlite) CommentsDelete(ctx context.Context, req *pb.CommentsDeleteReq) error {
func (s *Sqlite) CommentDelete(ctx context.Context, req *pb.CommentDeleteReq) error {
return nil
}
func (s *Sqlite) CommentsCreate(ctx context.Context, req *pb.CommentsCreateReq) (*models.Comment, error) {
func (s *Sqlite) CommentCreate(ctx context.Context, req *pb.CommentCreateReq) (*models.Comment, error) {
tx, err := s.db.BeginTx(ctx, nil)
if err != nil {
return nil, err
@@ -164,7 +164,7 @@ func (s *Sqlite) ModulesProcess(ctx context.Context, td time.Duration) ([]*model
return modules, nil
}
func (s *Sqlite) PackagesCreate(ctx context.Context, req *pb.PackagesCreateReq) (*models.Package, error) {
func (s *Sqlite) PackageCreate(ctx context.Context, req *pb.PackageCreateReq) (*models.Package, error) {
pkg := &models.Package{}
err := s.db.GetContext(ctx, pkg, queryPackagesCreate, req.Name, req.Url)
if err != nil {
@@ -174,7 +174,7 @@ func (s *Sqlite) PackagesCreate(ctx context.Context, req *pb.PackagesCreateReq)
return pkg, nil
}
func (s *Sqlite) ModulesCreate(ctx context.Context, modules []*models.Module) error {
func (s *Sqlite) ModuleCreate(ctx context.Context, modules []*models.Module) error {
tx, err := s.db.BeginTxx(ctx, nil)
if err != nil {
return err
@@ -196,7 +196,7 @@ func (s *Sqlite) ModulesCreate(ctx context.Context, modules []*models.Module) er
return nil
}
func (s *Sqlite) ModulesList(ctx context.Context, req *pb.ModulesListReq) ([]*models.Module, error) {
func (s *Sqlite) ModuleList(ctx context.Context, req *pb.ModuleListReq) ([]*models.Module, error) {
var modules []*models.Module
err := s.db.SelectContext(ctx, &modules, queryModulesList)
@@ -207,7 +207,7 @@ func (s *Sqlite) ModulesList(ctx context.Context, req *pb.ModulesListReq) ([]*mo
return modules, nil
}
func (s *Sqlite) CommentsList(ctx context.Context, req *pb.CommentsListReq) ([]*models.Comment, error) {
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)

View File

@@ -17,21 +17,21 @@ func RegisterStorage(name string, fn func(*sqlx.DB) interface{}) {
var storages = map[string]func(*sqlx.DB) interface{}{}
type Storage interface {
PackagesModulesCreate(ctx context.Context, pkg *models.Package, modules []*models.Module) error
PackageModulesCreate(ctx context.Context, pkg *models.Package, modules []*models.Module) error
PackagesUpdateLastCheck(ctx context.Context, packages []*models.Package) error
PackagesModules(ctx context.Context, req *pb.PackagesModulesReq) ([]*models.Module, error)
PackageModules(ctx context.Context, req *pb.PackageModulesReq) ([]*models.Module, error)
ModulesProcess(ctx context.Context, td time.Duration) ([]*models.Module, error)
PackagesProcess(ctx context.Context, td time.Duration) ([]*models.Package, error)
PackagesCreate(ctx context.Context, req *pb.PackagesCreateReq) (*models.Package, error)
PackagesList(ctx context.Context, req *pb.PackagesListReq) ([]*models.Package, error)
PackagesLookup(ctx context.Context, req *pb.PackagesLookupReq) (*models.Package, error)
PackagesUpdate(ctx context.Context, req *pb.PackagesUpdateReq) (*models.Package, error)
PackagesDelete(ctx context.Context, req *pb.PackagesDeleteReq) error
CommentsCreate(ctx context.Context, req *pb.CommentsCreateReq) (*models.Comment, error)
CommentsDelete(ctx context.Context, req *pb.CommentsDeleteReq) error
CommentsList(ctx context.Context, req *pb.CommentsListReq) ([]*models.Comment, error)
ModulesList(ctx context.Context, req *pb.ModulesListReq) ([]*models.Module, error)
ModulesCreate(ctx context.Context, modules []*models.Module) error
PackageCreate(ctx context.Context, req *pb.PackageCreateReq) (*models.Package, error)
PackageList(ctx context.Context, req *pb.PackageListReq) ([]*models.Package, error)
PackageLookup(ctx context.Context, req *pb.PackageLookupReq) (*models.Package, error)
PackageUpdate(ctx context.Context, req *pb.PackageUpdateReq) (*models.Package, error)
PackageDelete(ctx context.Context, req *pb.PackageDeleteReq) error
CommentCreate(ctx context.Context, req *pb.CommentCreateReq) (*models.Comment, error)
CommentDelete(ctx context.Context, req *pb.CommentDeleteReq) error
CommentList(ctx context.Context, req *pb.CommentListReq) ([]*models.Comment, error)
ModuleList(ctx context.Context, req *pb.ModuleListReq) ([]*models.Module, error)
ModuleCreate(ctx context.Context, modules []*models.Module) error
}
func NewStorage(name string, db *sqlx.DB) (Storage, error) {

View File

@@ -155,7 +155,7 @@ func parseModFile(ctx context.Context, store storage.Storage, pkg *models.Packag
return modules[i].Name < modules[j].Name
})
if err = store.PackagesModulesCreate(ctx, pkg, modules); err != nil {
if err = store.PackageModulesCreate(ctx, pkg, modules); err != nil {
logger.Errorf(ctx, "failed to set create modules: %v", err)
return err
}
@@ -189,7 +189,7 @@ func processModules(ctx context.Context, store storage.Storage, mods []*models.M
},
})
if err := store.ModulesCreate(ctx, mods); err != nil {
if err := store.ModuleCreate(ctx, mods); err != nil {
return err
}