Implement a couple of rpcs
All checks were successful
ci/woodpecker/push/build Pipeline was successful
All checks were successful
ci/woodpecker/push/build Pipeline was successful
Signed-off-by: Nikolai Rodionov <iam@allanger.xyz>
This commit is contained in:
@@ -23,8 +23,9 @@ type ProjectData struct {
|
||||
}
|
||||
|
||||
var (
|
||||
ErrProjectExists = errors.New("project exists")
|
||||
ErrInvalidProject = errors.New("invalid project data")
|
||||
ErrProjectExists = errors.New("project exists")
|
||||
ErrInvalidProject = errors.New("invalid project data")
|
||||
ErrProjectNotFound = errors.New("project not found")
|
||||
)
|
||||
|
||||
// Create a new project
|
||||
@@ -66,6 +67,24 @@ func (ctrl *ProjectsController) Get(ctx context.Context, projectID string) (data
|
||||
}
|
||||
|
||||
// List projects available for a user
|
||||
func (ctrl *ProjectsController) List(ctx context.Context) (data []*ProjectData, err error) {
|
||||
return nil, nil
|
||||
func (ctrl *ProjectsController) List(ctx context.Context, userID string) (data []*ProjectData, err error) {
|
||||
log := logger.FromContext(ctx)
|
||||
log.V(2).Info("Listing projects")
|
||||
data = []*ProjectData{}
|
||||
res, err := repository.ListProjects(ctx, ctrl.DB, userID)
|
||||
if err != nil {
|
||||
if errors.Is(err, repository.ErrNotFound) {
|
||||
return nil, ErrProjectNotFound
|
||||
}
|
||||
log.Error(err, "Couldn't list projects")
|
||||
return nil, ErrServerError
|
||||
}
|
||||
for _, val := range res {
|
||||
data = append(data, &ProjectData{
|
||||
UUID: val.UUID,
|
||||
Name: val.Name,
|
||||
})
|
||||
}
|
||||
|
||||
return
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user