Project Add, Update, Get, Get many added
This commit is contained in:
parent
3f73542c64
commit
9514f0bff1
80
database/query/projectQuery.go
Normal file
80
database/query/projectQuery.go
Normal file
@ -0,0 +1,80 @@
|
||||
package query
|
||||
|
||||
import (
|
||||
"context"
|
||||
"fmt"
|
||||
"log"
|
||||
"portfolio/database"
|
||||
"portfolio/database/ent"
|
||||
"portfolio/database/ent/project"
|
||||
)
|
||||
|
||||
func CreateProject(ctx context.Context, project ent.Project, id int) error {
|
||||
|
||||
_, err := database.Client.Project.
|
||||
Create().
|
||||
SetName(project.Name).
|
||||
SetDescription(project.Description).
|
||||
SetURL(project.URL).
|
||||
SetDocURL(project.DocURL).
|
||||
SetImageURL(project.ImageURL).
|
||||
AddUserIDs(id).
|
||||
Save(ctx)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to create project: %w", err)
|
||||
}
|
||||
log.Println("project created: ")
|
||||
return err
|
||||
}
|
||||
|
||||
func UpdateProject(ctx context.Context, project ent.Project, projectID int) error {
|
||||
|
||||
_, err := database.Client.Project.
|
||||
UpdateOneID(projectID).
|
||||
SetName(project.Name).
|
||||
SetDescription(project.Description).
|
||||
SetURL(project.URL).
|
||||
SetDocURL(project.DocURL).
|
||||
SetImageURL(project.ImageURL).
|
||||
AddUsers(project.Edges.Users...).
|
||||
AddTeams(project.Edges.Teams...).
|
||||
Save(ctx)
|
||||
if err != nil {
|
||||
return fmt.Errorf("failed to update project: %w", err)
|
||||
}
|
||||
log.Println("project updated: ")
|
||||
return err
|
||||
}
|
||||
|
||||
func GetProject(ctx context.Context, projectID int) (*ent.Project, error) {
|
||||
|
||||
p, err := database.Client.Project.Get(ctx, projectID)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("failed to get project: %w", err)
|
||||
}
|
||||
return p, err
|
||||
}
|
||||
|
||||
func GetFullProject(ctx context.Context, projectID int) (*ent.Project, error) {
|
||||
|
||||
p, err := database.Client.Project.
|
||||
Query().
|
||||
WithUsers().
|
||||
WithTeams().
|
||||
Where(project.ID(projectID)).
|
||||
Only(ctx)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("failed to get project: %w", err)
|
||||
}
|
||||
return p, err
|
||||
}
|
||||
|
||||
func GetProjects(ctx context.Context) (ent.Projects, error) {
|
||||
|
||||
p, err := database.Client.Project.Query().
|
||||
All(ctx)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf("failed to get projects: %w", err)
|
||||
}
|
||||
return p, err
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user