Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

samber/loの適用 #789

Merged
merged 13 commits into from
Oct 2, 2024
11 changes: 6 additions & 5 deletions model/admin_impl.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@ import (
"context"

"github.com/google/uuid"
"github.com/samber/lo"
"github.com/traPtitech/Jomon/ent"
"github.com/traPtitech/Jomon/ent/user"
)

Expand All @@ -16,12 +18,11 @@ func (repo *EntRepository) GetAdmins(ctx context.Context) ([]*Admin, error) {
return nil, err
}

admins := []*Admin{}
for _, u := range users {
admins = append(admins, &Admin{
admins := lo.Map(users, func(u *ent.User, insex int) *Admin {
Hueter57 marked this conversation as resolved.
Show resolved Hide resolved
return &Admin{
ID: u.ID,
})
}
}
})

return admins, nil
}
Expand Down
8 changes: 4 additions & 4 deletions model/comment_impl.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import (
"time"

"github.com/google/uuid"
"github.com/samber/lo"
"github.com/traPtitech/Jomon/ent"
"github.com/traPtitech/Jomon/ent/comment"
"github.com/traPtitech/Jomon/ent/request"
Expand Down Expand Up @@ -33,10 +34,9 @@ func (repo *EntRepository) GetComments(
if err != nil {
return nil, err
}
modelcomments := []*Comment{}
for _, c := range comments {
modelcomments = append(modelcomments, ConvertEntCommentToModelComment(c, c.Edges.User.ID))
}
modelcomments := lo.Map(comments, func(c *ent.Comment, index int) *Comment {
return ConvertEntCommentToModelComment(c, c.Edges.User.ID)
})
return modelcomments, nil
}

Expand Down
37 changes: 17 additions & 20 deletions model/group_impl.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import (
"context"

"github.com/google/uuid"
"github.com/samber/lo"
"github.com/traPtitech/Jomon/ent"
"github.com/traPtitech/Jomon/ent/group"
"github.com/traPtitech/Jomon/ent/user"
Expand All @@ -16,10 +17,9 @@ func (repo *EntRepository) GetGroups(ctx context.Context) ([]*Group, error) {
if err != nil {
return nil, err
}
modelgroups := []*Group{}
for _, g := range groups {
modelgroups = append(modelgroups, ConvertEntGroupToModelGroup(g))
}
modelgroups := lo.Map(groups, func(g *ent.Group, index int) *Group {
return ConvertEntGroupToModelGroup(g)
})
return modelgroups, nil
}

Expand Down Expand Up @@ -85,10 +85,9 @@ func (repo *EntRepository) GetOwners(ctx context.Context, groupID uuid.UUID) ([]
if err != nil {
return nil, err
}
owners := []*Owner{}
for _, groupowner := range groupowners {
owners = append(owners, &Owner{ID: groupowner.ID})
}
owners := lo.Map(groupowners, func(groupowner *ent.User, index int) *Owner {
return &Owner{ID: groupowner.ID}
})

return owners, nil
}
Expand All @@ -104,10 +103,9 @@ func (repo *EntRepository) AddOwners(
if err != nil {
return nil, err
}
resowners := []*Owner{}
for _, owner := range ownerIDs {
resowners = append(resowners, &Owner{ID: owner})
}
resowners := lo.Map(ownerIDs, func(owner uuid.UUID, index int) *Owner {
return &Owner{ID: owner}
})

return resowners, nil
}
Expand Down Expand Up @@ -135,10 +133,10 @@ func (repo *EntRepository) GetMembers(ctx context.Context, groupID uuid.UUID) ([
if err != nil {
return nil, err
}
modelmembers := []*Member{}
for _, member := range members {
modelmembers = append(modelmembers, &Member{member.ID})
}
modelmembers := lo.Map(members, func(member *ent.User, index int) *Member {
return &Member{member.ID}
})

return modelmembers, nil
}

Expand All @@ -154,11 +152,10 @@ func (repo *EntRepository) AddMembers(
if err != nil {
return nil, err
}
resMembers := lo.Map(userIDs, func(member uuid.UUID, index int) *Member {
return &Member{member}
})

resMembers := []*Member{}
for _, member := range userIDs {
resMembers = append(resMembers, &Member{member})
}
return resMembers, nil
}

Expand Down
69 changes: 32 additions & 37 deletions model/request_impl.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import (
"time"

"github.com/google/uuid"
"github.com/samber/lo"
"github.com/traPtitech/Jomon/ent"
"github.com/traPtitech/Jomon/ent/group"
"github.com/traPtitech/Jomon/ent/request"
Expand Down Expand Up @@ -115,12 +116,11 @@ func (repo *EntRepository) GetRequests(
return nil, err
}

reqres := []*RequestResponse{}
for _, r := range requests {
rr := convertEntRequestResponseToModelRequestResponse(
reqres := lo.Map(requests, func(r *ent.Request, index int) *RequestResponse {
return convertEntRequestResponseToModelRequestResponse(
r, r.Edges.Tag, r.Edges.Group, r.Edges.Status[0], r.Edges.User)
reqres = append(reqres, rr)
}
})

return reqres, nil
}

Expand All @@ -138,10 +138,9 @@ func (repo *EntRepository) CreateRequest(
panic(v)
}
}()
var tagIDs []uuid.UUID
for _, t := range tags {
tagIDs = append(tagIDs, t.ID)
}
tagIDs := lo.Map(tags, func(t *Tag, index int) uuid.UUID {
return t.ID
})
created, err := tx.Client().Request.
Create().
SetTitle(title).
Expand Down Expand Up @@ -236,19 +235,19 @@ func (repo *EntRepository) GetRequest(
if err != nil {
return nil, err
}
var tags []*Tag
for _, t := range r.Edges.Tag {
tags = append(tags, ConvertEntTagToModelTag(t))
}
var targets []*RequestTargetDetail
for _, target := range r.Edges.Target {
targets = append(targets, ConvertEntRequestTargetToModelRequestTargetDetail(target))
}
tags := lo.Map(r.Edges.Tag, func(t *ent.Tag, index int) *Tag {
return ConvertEntTagToModelTag(t)
})
targets := lo.Map(
r.Edges.Target,
func(target *ent.RequestTarget, index int) *RequestTargetDetail {
return ConvertEntRequestTargetToModelRequestTargetDetail(target)
},
)
modelGroup := ConvertEntGroupToModelGroup(r.Edges.Group)
var statuses []*RequestStatus
for _, status := range r.Edges.Status {
statuses = append(statuses, convertEntRequestStatusToModelRequestStatus(status))
}
statuses := lo.Map(r.Edges.Status, func(status *ent.RequestStatus, index int) *RequestStatus {
return convertEntRequestStatusToModelRequestStatus(status)
})
reqdetail := &RequestDetail{
ID: r.ID,
Status: convertEntRequestStatusToModelStatus(&r.Edges.Status[0].Status),
Expand Down Expand Up @@ -279,10 +278,9 @@ func (repo *EntRepository) UpdateRequest(
panic(v)
}
}()
var tagIDs []uuid.UUID
for _, t := range tags {
tagIDs = append(tagIDs, t.ID)
}
tagIDs := lo.Map(tags, func(t *Tag, index int) uuid.UUID {
return t.ID
})
updated, err := tx.Client().Request.
UpdateOneID(requestID).
SetTitle(title).
Expand Down Expand Up @@ -332,10 +330,9 @@ func (repo *EntRepository) UpdateRequest(
err = RollbackWithError(tx, err)
return nil, err
}
var modeltags []*Tag
for _, enttag := range enttags {
modeltags = append(modeltags, ConvertEntTagToModelTag(enttag))
}
modeltags := lo.Map(enttags, func(enttag *ent.Tag, index int) *Tag {
return ConvertEntTagToModelTag(enttag)
})
var entgroup *ent.Group
if group != nil {
entgroup, err = updated.QueryGroup().Only(ctx)
Expand All @@ -359,10 +356,9 @@ func (repo *EntRepository) UpdateRequest(
if err != nil {
return nil, err
}
var statuses []*RequestStatus
for _, s := range entstatuses {
statuses = append(statuses, convertEntRequestStatusToModelRequestStatus(s))
}
statuses := lo.Map(entstatuses, func(s *ent.RequestStatus, index int) *RequestStatus {
return convertEntRequestStatusToModelRequestStatus(s)
})

modelgroup := ConvertEntGroupToModelGroup(entgroup)
reqdetail := &RequestDetail{
Expand All @@ -388,10 +384,9 @@ func convertEntRequestResponseToModelRequestResponse(
if request == nil {
return nil
}
modeltags := []*Tag{}
for _, t := range tags {
modeltags = append(modeltags, ConvertEntTagToModelTag(t))
}
modeltags := lo.Map(tags, func(t *ent.Tag, index int) *Tag {
return ConvertEntTagToModelTag(t)
})
return &RequestResponse{
ID: request.ID,
Status: convertEntRequestStatusToModelStatus(&status.Status),
Expand Down
39 changes: 17 additions & 22 deletions model/request_target_impl.go
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@ import (
"context"

"github.com/google/uuid"
"github.com/samber/lo"
"github.com/traPtitech/Jomon/ent"
"github.com/traPtitech/Jomon/ent/request"
"github.com/traPtitech/Jomon/ent/requesttarget"
Expand All @@ -25,35 +26,30 @@ func (repo *EntRepository) GetRequestTargets(
if err != nil {
return nil, err
}
var targets []*RequestTargetDetail
for _, t := range ts {
targets = append(targets, ConvertEntRequestTargetToModelRequestTargetDetail(t))
}
targets := lo.Map(ts, func(t *ent.RequestTarget, index int) *RequestTargetDetail {
return ConvertEntRequestTargetToModelRequestTargetDetail(t)
})
return targets, err
}

func (repo *EntRepository) createRequestTargets(
ctx context.Context, tx *ent.Tx, requestID uuid.UUID, targets []*RequestTarget,
) ([]*RequestTargetDetail, error) {
var bulk []*ent.RequestTargetCreate
for _, t := range targets {
bulk = append(bulk,
tx.Client().RequestTarget.
Create().
SetAmount(t.Amount).
SetRequestID(requestID).
SetUserID(t.Target),
)
}
bulk := lo.Map(targets, func(t *RequestTarget, index int) *ent.RequestTargetCreate {
return tx.Client().RequestTarget.
Create().
SetAmount(t.Amount).
SetRequestID(requestID).
SetUserID(t.Target)
})
cs, err := tx.Client().RequestTarget.CreateBulk(bulk...).
Save(ctx)
if err != nil {
return nil, err
}
ids := []uuid.UUID{}
for _, c := range cs {
ids = append(ids, c.ID)
}
ids := lo.Map(cs, func(c *ent.RequestTarget, index int) uuid.UUID {
return c.ID
})
created, err := tx.Client().RequestTarget.
Query().
Where(
Expand All @@ -65,10 +61,9 @@ func (repo *EntRepository) createRequestTargets(
return nil, err
}
// []*ent.RequestTarget to []*RequestTargetDetail
var ts []*RequestTargetDetail
for _, t := range created {
ts = append(ts, ConvertEntRequestTargetToModelRequestTargetDetail(t))
}
ts := lo.Map(created, func(t *ent.RequestTarget, index int) *RequestTargetDetail {
return ConvertEntRequestTargetToModelRequestTargetDetail(t)
})
return ts, nil
}

Expand Down
9 changes: 5 additions & 4 deletions model/tag_impl.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ import (
"time"

"github.com/google/uuid"
"github.com/samber/lo"
"github.com/traPtitech/Jomon/ent"
"github.com/traPtitech/Jomon/ent/tag"
)
Expand All @@ -16,10 +17,10 @@ func (repo *EntRepository) GetTags(ctx context.Context) ([]*Tag, error) {
if err != nil {
return nil, err
}
modeltags := []*Tag{}
for _, t := range tags {
modeltags = append(modeltags, ConvertEntTagToModelTag(t))
}
modeltags := lo.Map(tags, func(t *ent.Tag, index int) *Tag {
return ConvertEntTagToModelTag(t)
})

return modeltags, nil
}

Expand Down
Loading
Loading