Skip to content

Commit

Permalink
model直下のappendをlo.Mapで置き換え
Browse files Browse the repository at this point in the history
  • Loading branch information
Hueter57 committed Aug 3, 2024
1 parent f7822d9 commit d7431be
Show file tree
Hide file tree
Showing 8 changed files with 95 additions and 111 deletions.
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 {
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 All @@ -31,10 +32,9 @@ func (repo *EntRepository) GetComments(ctx context.Context, requestID uuid.UUID)
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 @@ -81,10 +81,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 @@ -98,10 +97,9 @@ func (repo *EntRepository) AddOwners(ctx context.Context, groupID uuid.UUID, own
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 All @@ -127,10 +125,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 @@ -144,11 +142,10 @@ func (repo *EntRepository) AddMembers(ctx context.Context, groupID uuid.UUID, us
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
65 changes: 29 additions & 36 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 @@ -113,10 +114,10 @@ func (repo *EntRepository) GetRequests(ctx context.Context, query RequestQuery)
return nil, err
}

reqres := []*RequestResponse{}
for _, r := range requests {
reqres = append(reqres, convertEntRequestResponseToModelRequestResponse(r, r.Edges.Tag, r.Edges.Group, r.Edges.Status[0], r.Edges.User))
}
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)
})

return reqres, nil
}

Expand All @@ -131,10 +132,9 @@ func (repo *EntRepository) CreateRequest(ctx context.Context, title string, cont
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 @@ -227,19 +227,16 @@ func (repo *EntRepository) GetRequest(ctx context.Context, requestID uuid.UUID)
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 @@ -267,10 +264,9 @@ func (repo *EntRepository) UpdateRequest(ctx context.Context, requestID uuid.UUI
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 @@ -320,10 +316,9 @@ func (repo *EntRepository) UpdateRequest(ctx context.Context, requestID uuid.UUI
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 @@ -347,10 +342,9 @@ func (repo *EntRepository) UpdateRequest(ctx context.Context, requestID uuid.UUI
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 @@ -373,10 +367,9 @@ func convertEntRequestResponseToModelRequestResponse(request *ent.Request, tags
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 @@ -23,33 +24,28 @@ func (repo *EntRepository) GetRequestTargets(ctx context.Context, requestID uuid
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 @@ -61,10 +57,9 @@ func (repo *EntRepository) createRequestTargets(ctx context.Context, tx *ent.Tx,
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

0 comments on commit d7431be

Please sign in to comment.