diff --git a/.idea/.gitignore b/.idea/.gitignore
new file mode 100644
index 0000000..35410ca
--- /dev/null
+++ b/.idea/.gitignore
@@ -0,0 +1,8 @@
+# 默认忽略的文件
+/shelf/
+/workspace.xml
+# 基于编辑器的 HTTP 客户端请求
+/httpRequests/
+# Datasource local storage ignored files
+/dataSources/
+/dataSources.local.xml
diff --git a/.idea/cloudmind-system.iml b/.idea/cloudmind-system.iml
new file mode 100644
index 0000000..5e764c4
--- /dev/null
+++ b/.idea/cloudmind-system.iml
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/modules.xml b/.idea/modules.xml
new file mode 100644
index 0000000..108cae1
--- /dev/null
+++ b/.idea/modules.xml
@@ -0,0 +1,8 @@
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/.idea/vcs.xml b/.idea/vcs.xml
new file mode 100644
index 0000000..35eb1dd
--- /dev/null
+++ b/.idea/vcs.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
+
\ No newline at end of file
diff --git a/biz/adaptor/server.go b/biz/adaptor/server.go
index 9338964..9cb1fd5 100644
--- a/biz/adaptor/server.go
+++ b/biz/adaptor/server.go
@@ -13,6 +13,14 @@ type SystemServerImpl struct {
SystemService service.SystemService
}
+func (s *SystemServerImpl) UpateNotifications(ctx context.Context, req *system.UpdateNotificationsReq) (resp *system.UpdateNotificationsResp, err error) {
+ return s.SystemService.UpateNotifications(ctx, req)
+}
+
+func (s *SystemServerImpl) DeleteNotifications(ctx context.Context, req *system.DeleteNotificationsReq) (resp *system.DeleteNotificationsResp, err error) {
+ return s.SystemService.DeleteNotifications(ctx, req)
+}
+
func (s *SystemServerImpl) GetSliders(ctx context.Context, req *system.GetSlidersReq) (resp *system.GetSlidersResp, err error) {
return s.SystemService.GetSliders(ctx, req)
}
@@ -29,18 +37,10 @@ func (s *SystemServerImpl) DeleteSlider(ctx context.Context, req *system.DeleteS
return s.SystemService.DeleteSlider(ctx, req)
}
-func (s *SystemServerImpl) ReadNotifications(ctx context.Context, req *system.ReadNotificationsReq) (res *system.ReadNotificationsResp, err error) {
- return s.SystemService.ReadNotifications(ctx, req)
-}
-
func (s *SystemServerImpl) GetNotifications(ctx context.Context, req *system.GetNotificationsReq) (res *system.GetNotificationsResp, err error) {
return s.SystemService.GetNotifications(ctx, req)
}
-func (s *SystemServerImpl) CleanNotification(ctx context.Context, req *system.CleanNotificationReq) (res *system.CleanNotificationResp, err error) {
- return s.SystemService.CleanNotification(ctx, req)
-}
-
func (s *SystemServerImpl) GetNotificationCount(ctx context.Context, req *system.GetNotificationCountReq) (res *system.GetNotificationCountResp, err error) {
return s.SystemService.GetNotificationCount(ctx, req)
}
diff --git a/biz/application/service/system.go b/biz/application/service/system.go
index 634ec25..261a8bd 100644
--- a/biz/application/service/system.go
+++ b/biz/application/service/system.go
@@ -10,18 +10,19 @@ import (
gensystem "github.com/CloudStriver/service-idl-gen-go/kitex_gen/cloudmind/system"
"github.com/google/wire"
"github.com/samber/lo"
+ "go.mongodb.org/mongo-driver/bson/primitive"
)
type SystemService interface {
GetNotifications(ctx context.Context, req *gensystem.GetNotificationsReq) (resp *gensystem.GetNotificationsResp, err error)
GetNotificationCount(ctx context.Context, req *gensystem.GetNotificationCountReq) (resp *gensystem.GetNotificationCountResp, err error)
CreateNotifications(ctx context.Context, req *gensystem.CreateNotificationsReq) (resp *gensystem.CreateNotificationsResp, err error)
- ReadNotifications(ctx context.Context, req *gensystem.ReadNotificationsReq) (resp *gensystem.ReadNotificationsResp, err error)
- CleanNotification(ctx context.Context, req *gensystem.CleanNotificationReq) (resp *gensystem.CleanNotificationResp, err error)
DeleteSlider(ctx context.Context, req *gensystem.DeleteSliderReq) (resp *gensystem.DeleteSliderResp, err error)
UpdateSlider(ctx context.Context, req *gensystem.UpdateSliderReq) (resp *gensystem.UpdateSliderResp, err error)
CreateSlider(ctx context.Context, req *gensystem.CreateSliderReq) (resp *gensystem.CreateSliderResp, err error)
GetSliders(ctx context.Context, req *gensystem.GetSlidersReq) (resp *gensystem.GetSlidersResp, err error)
+ DeleteNotifications(ctx context.Context, req *gensystem.DeleteNotificationsReq) (resp *gensystem.DeleteNotificationsResp, err error)
+ UpateNotifications(ctx context.Context, req *gensystem.UpdateNotificationsReq) (resp *gensystem.UpdateNotificationsResp, err error)
}
type SystemServiceImpl struct {
@@ -29,8 +30,31 @@ type SystemServiceImpl struct {
SliderMongoMapper slidermapper.ISliderMongoMapper
}
+func (s *SystemServiceImpl) DeleteNotifications(ctx context.Context, req *gensystem.DeleteNotificationsReq) (resp *gensystem.DeleteNotificationsResp, err error) {
+ if err = s.NotificationMongoMapper.DeleteNotifications(ctx, ¬ificationmapper.FilterOptions{
+ OnlyUserId: req.OnlyUserId,
+ OnlyType: req.OnlyType,
+ OnlyIsRead: req.OnlyIsRead,
+ OnlyNotificationIds: req.OnlyNotificationIds,
+ }); err != nil {
+ return resp, err
+ }
+ return resp, nil
+}
+
+func (s *SystemServiceImpl) UpateNotifications(ctx context.Context, req *gensystem.UpdateNotificationsReq) (resp *gensystem.UpdateNotificationsResp, err error) {
+ if err = s.NotificationMongoMapper.UpdateNotifications(ctx, ¬ificationmapper.FilterOptions{
+ OnlyUserId: req.OnlyUserId,
+ OnlyType: req.OnlyType,
+ OnlyIsRead: req.OnlyIsRead,
+ OnlyNotificationIds: req.OnlyNotificationIds,
+ }, req.IsRead); err != nil {
+ return resp, err
+ }
+ return resp, nil
+}
+
func (s *SystemServiceImpl) DeleteSlider(ctx context.Context, req *gensystem.DeleteSliderReq) (resp *gensystem.DeleteSliderResp, err error) {
- resp = new(gensystem.DeleteSliderResp)
if err = s.SliderMongoMapper.DeleteOne(ctx, req.SliderId); err != nil {
return resp, err
}
@@ -38,16 +62,26 @@ func (s *SystemServiceImpl) DeleteSlider(ctx context.Context, req *gensystem.Del
}
func (s *SystemServiceImpl) UpdateSlider(ctx context.Context, req *gensystem.UpdateSliderReq) (resp *gensystem.UpdateSliderResp, err error) {
- resp = new(gensystem.UpdateSliderResp)
- if err = s.SliderMongoMapper.UpdateOne(ctx, convertor.SliderToSliderMapper(req.Slider)); err != nil {
+ oid, _ := primitive.ObjectIDFromHex(req.SliderId)
+ if err = s.SliderMongoMapper.UpdateOne(ctx, &slidermapper.Slider{
+ ID: oid,
+ ImageUrl: req.ImageUrl,
+ LinkUrl: req.LinkUrl,
+ Type: req.Type,
+ IsPublic: req.IsPublic,
+ }); err != nil {
return resp, err
}
return resp, nil
}
func (s *SystemServiceImpl) CreateSlider(ctx context.Context, req *gensystem.CreateSliderReq) (resp *gensystem.CreateSliderResp, err error) {
- resp = new(gensystem.CreateSliderResp)
- if err = s.SliderMongoMapper.InsertOne(ctx, convertor.SliderToSliderMapper(req.Slider)); err != nil {
+ if err = s.SliderMongoMapper.InsertOne(ctx, &slidermapper.Slider{
+ ImageUrl: req.ImageUrl,
+ LinkUrl: req.LinkUrl,
+ Type: req.Type,
+ IsPublic: req.IsPublic,
+ }); err != nil {
return resp, err
}
return resp, nil
@@ -56,17 +90,22 @@ func (s *SystemServiceImpl) CreateSlider(ctx context.Context, req *gensystem.Cre
func (s *SystemServiceImpl) GetSliders(ctx context.Context, req *gensystem.GetSlidersReq) (resp *gensystem.GetSlidersResp, err error) {
resp = new(gensystem.GetSlidersResp)
p := pconvertor.PaginationOptionsToModelPaginationOptions(req.PaginationOptions)
- sliders, total, err := s.SliderMongoMapper.GetSlidersAndCount(ctx, convertor.SliderFilterOptionsToMapper(req.FilterOptions), p, mongop.IdCursorType)
+ sliders, total, err := s.SliderMongoMapper.GetSlidersAndCount(ctx, &slidermapper.FilterOptions{
+ OnlyType: req.OnlyType,
+ OnlyIsPublic: req.OnlyIsPublic,
+ }, p, mongop.IdCursorType)
if err != nil {
return resp, err
}
- if p.LastToken != nil {
- resp.Token = *p.LastToken
- }
+
resp.Sliders = lo.Map[*slidermapper.Slider, *gensystem.Slider](sliders,
func(item *slidermapper.Slider, _ int) *gensystem.Slider {
return convertor.SliderMapperToSlider(item)
})
+
+ if p.LastToken != nil {
+ resp.Token = *p.LastToken
+ }
resp.Total = total
return resp, nil
}
@@ -74,41 +113,40 @@ func (s *SystemServiceImpl) GetSliders(ctx context.Context, req *gensystem.GetSl
func (s *SystemServiceImpl) GetNotifications(ctx context.Context, req *gensystem.GetNotificationsReq) (resp *gensystem.GetNotificationsResp, err error) {
resp = new(gensystem.GetNotificationsResp)
p := pconvertor.PaginationOptionsToModelPaginationOptions(req.PaginationOptions)
- notifications, total, err := s.NotificationMongoMapper.GetNotificationsAndCount(ctx, convertor.NotificationFilterOptionsToMapper(req.FilterOptions), p, mongop.IdCursorType)
+ notifications, total, err := s.NotificationMongoMapper.GetNotificationsAndCount(ctx, ¬ificationmapper.FilterOptions{
+ OnlyUserId: req.OnlyUserId,
+ OnlyType: req.OnlyType,
+ OnlyIsRead: req.OnlyIsRead,
+ }, p, mongop.IdCursorType)
if err != nil {
return resp, err
}
- if p.LastToken != nil {
- resp.Token = *p.LastToken
- }
resp.Notifications = lo.Map[*notificationmapper.Notification, *gensystem.Notification](notifications,
func(item *notificationmapper.Notification, index int) *gensystem.Notification {
return convertor.NotificationMapperToNotification(item)
})
- resp.Total = total
- return resp, nil
-}
-
-func (s *SystemServiceImpl) CleanNotification(ctx context.Context, req *gensystem.CleanNotificationReq) (resp *gensystem.CleanNotificationResp, err error) {
- resp = new(gensystem.CleanNotificationResp)
- if err = s.NotificationMongoMapper.CleanNotification(ctx, req.UserId); err != nil {
- return resp, err
+ if p.LastToken != nil {
+ resp.Token = *p.LastToken
}
+ resp.Total = total
return resp, nil
}
func (s *SystemServiceImpl) GetNotificationCount(ctx context.Context, req *gensystem.GetNotificationCountReq) (resp *gensystem.GetNotificationCountResp, err error) {
resp = new(gensystem.GetNotificationCountResp)
- if resp.Total, err = s.NotificationMongoMapper.Count(ctx, convertor.NotificationFilterOptionsToMapper(req.FilterOptions)); err != nil {
+ if resp.Total, err = s.NotificationMongoMapper.Count(ctx, ¬ificationmapper.FilterOptions{
+ OnlyUserId: req.OnlyUserId,
+ OnlyType: req.OnlyType,
+ OnlyIsRead: req.OnlyIsRead,
+ }); err != nil {
return resp, err
}
return resp, nil
}
func (s *SystemServiceImpl) CreateNotifications(ctx context.Context, req *gensystem.CreateNotificationsReq) (resp *gensystem.CreateNotificationsResp, err error) {
- resp = new(gensystem.CreateNotificationsResp)
- notifications := lo.Map[*gensystem.Notification, *notificationmapper.Notification](req.Notifications, func(item *gensystem.Notification, _ int) *notificationmapper.Notification {
- return convertor.NotificationToNotificationMapper(item)
+ notifications := lo.Map[*gensystem.NotificationInfo, *notificationmapper.Notification](req.Notifications, func(item *gensystem.NotificationInfo, _ int) *notificationmapper.Notification {
+ return convertor.NotificationInfoToNotificationMapper(item)
})
if err = s.NotificationMongoMapper.InsertMany(ctx, notifications); err != nil {
return resp, err
@@ -116,14 +154,6 @@ func (s *SystemServiceImpl) CreateNotifications(ctx context.Context, req *gensys
return resp, nil
}
-func (s *SystemServiceImpl) ReadNotifications(ctx context.Context, req *gensystem.ReadNotificationsReq) (resp *gensystem.ReadNotificationsResp, err error) {
- resp = new(gensystem.ReadNotificationsResp)
- if err = s.NotificationMongoMapper.ReadNotifications(ctx, convertor.NotificationFilterOptionsToMapper(req.FilterOptions)); err != nil {
- return resp, err
- }
- return resp, nil
-}
-
var SystemSet = wire.NewSet(
wire.Struct(new(SystemServiceImpl), "*"),
wire.Bind(new(SystemService), new(*SystemServiceImpl)),
diff --git a/biz/infrastructure/convertor/convertor.go b/biz/infrastructure/convertor/convertor.go
index 1498bbd..40e56b2 100644
--- a/biz/infrastructure/convertor/convertor.go
+++ b/biz/infrastructure/convertor/convertor.go
@@ -4,13 +4,10 @@ import (
notificationmapper "github.com/CloudStriver/cloudmind-system/biz/infrastructure/mapper/notification"
slidermapper "github.com/CloudStriver/cloudmind-system/biz/infrastructure/mapper/slider"
gensystem "github.com/CloudStriver/service-idl-gen-go/kitex_gen/cloudmind/system"
- "go.mongodb.org/mongo-driver/bson/primitive"
)
-func NotificationToNotificationMapper(in *gensystem.Notification) *notificationmapper.Notification {
- oid, _ := primitive.ObjectIDFromHex(in.NotificationId)
+func NotificationInfoToNotificationMapper(in *gensystem.NotificationInfo) *notificationmapper.Notification {
return ¬ificationmapper.Notification{
- ID: oid,
TargetUserId: in.TargetUserId,
SourceUserId: in.SourceUserId,
SourceContentId: in.SourceContentId,
@@ -30,36 +27,11 @@ func NotificationMapperToNotification(in *notificationmapper.Notification) *gens
TargetType: in.TargetType,
Type: in.Type,
Text: in.Text,
- CreateAt: in.CreateAt.UnixMilli(),
+ CreateTime: in.CreateAt.UnixMilli(),
IsRead: in.IsRead,
}
}
-func NotificationFilterOptionsToMapper(in *gensystem.NotificationFilterOptions) *notificationmapper.FilterOptions {
- if in == nil {
- return ¬ificationmapper.FilterOptions{}
- }
- return ¬ificationmapper.FilterOptions{
- OnlyUserId: in.OnlyUserId,
- OnlyType: in.OnlyType,
- OnlyTargetType: in.OnlyTargetType,
- OnlyFirstId: in.OnlyFirstId,
- OnlyLastId: in.OnlyLastId,
- OnlyIsRead: in.OnlyIsRead,
- }
-}
-
-func SliderToSliderMapper(in *gensystem.Slider) *slidermapper.Slider {
- oid, _ := primitive.ObjectIDFromHex(in.SliderId)
- return &slidermapper.Slider{
- ID: oid,
- ImageUrl: in.ImageUrl,
- LinkUrl: in.LinkUrl,
- Type: in.Type,
- IsPublic: in.IsPublic,
- }
-}
-
func SliderMapperToSlider(in *slidermapper.Slider) *gensystem.Slider {
return &gensystem.Slider{
SliderId: in.ID.Hex(),
@@ -71,13 +43,3 @@ func SliderMapperToSlider(in *slidermapper.Slider) *gensystem.Slider {
UpdateTime: in.UpdateAt.UnixMilli(),
}
}
-
-func SliderFilterOptionsToMapper(in *gensystem.SliderFilterOptions) *slidermapper.FilterOptions {
- if in == nil {
- return &slidermapper.FilterOptions{}
- }
- return &slidermapper.FilterOptions{
- OnlyType: in.OnlyType,
- OnlyIsPublic: in.OnlyIsPublic,
- }
-}
diff --git a/biz/infrastructure/mapper/notification/filter.go b/biz/infrastructure/mapper/notification/filter.go
index 154e110..1195f65 100644
--- a/biz/infrastructure/mapper/notification/filter.go
+++ b/biz/infrastructure/mapper/notification/filter.go
@@ -2,17 +2,16 @@ package notification
import (
"github.com/CloudStriver/cloudmind-system/biz/infrastructure/consts"
+ "github.com/samber/lo"
"go.mongodb.org/mongo-driver/bson"
"go.mongodb.org/mongo-driver/bson/primitive"
)
type FilterOptions struct {
- OnlyUserId *string
- OnlyType *int64
- OnlyTargetType *int64
- OnlyFirstId *string
- OnlyLastId *string
- OnlyIsRead *bool
+ OnlyUserId *string
+ OnlyType *int64
+ OnlyIsRead *bool
+ OnlyNotificationIds []string
}
type MongoFilter struct {
@@ -30,12 +29,21 @@ func MakeBsonFilter(options *FilterOptions) bson.M {
func (f *MongoFilter) toBson() bson.M {
f.CheckOnlyUserId()
f.CheckOnlyType()
- f.CheckOnlyTargetType()
- f.CheckRange()
f.CheckOnlyIsRead()
+ f.CheckOnlyNotificationIds()
return f.m
}
+func (f *MongoFilter) CheckOnlyNotificationIds() {
+ if f.OnlyNotificationIds != nil {
+ f.m[consts.ID] = bson.M{"$in": lo.Map[string, primitive.ObjectID](f.OnlyNotificationIds, func(item string, index int) primitive.ObjectID {
+ oid, _ := primitive.ObjectIDFromHex(item)
+ return oid
+ }),
+ }
+ }
+}
+
func (f *MongoFilter) CheckOnlyUserId() {
if f.OnlyUserId != nil {
f.m[consts.TargetUserId] = *f.OnlyUserId
@@ -48,20 +56,6 @@ func (f *MongoFilter) CheckOnlyType() {
}
}
-func (f *MongoFilter) CheckOnlyTargetType() {
- if f.OnlyTargetType != nil {
- f.m[consts.TargetType] = *f.OnlyTargetType
- }
-}
-
-func (f *MongoFilter) CheckRange() {
- if f.OnlyLastId != nil && f.OnlyFirstId != nil {
- firstId, _ := primitive.ObjectIDFromHex(*f.OnlyFirstId)
- lastId, _ := primitive.ObjectIDFromHex(*f.OnlyLastId)
- f.m[consts.ID] = bson.M{"$gte": firstId, "$lte": lastId}
- }
-}
-
func (f *MongoFilter) CheckOnlyIsRead() {
if f.OnlyIsRead != nil {
f.m[consts.IsRead] = bson.M{"$exists": *f.OnlyIsRead}
diff --git a/biz/infrastructure/mapper/notification/mongo.go b/biz/infrastructure/mapper/notification/mongo.go
index b4f683b..19c7cbb 100644
--- a/biz/infrastructure/mapper/notification/mongo.go
+++ b/biz/infrastructure/mapper/notification/mongo.go
@@ -21,17 +21,14 @@ const (
CollectionName = "notification"
)
-const prefixNotificationCacheKey = "cache:notification:"
-
var _ INotificationMongoMapper = (*MongoMapper)(nil)
type (
INotificationMongoMapper interface {
GetNotifications(ctx context.Context, fopts *FilterOptions, popts *pagination.PaginationOptions, sorter mongop.MongoCursor) ([]*Notification, int64, error)
- CleanNotification(ctx context.Context, userId string) error
- ReadNotification(ctx context.Context, id string) error
Count(ctx context.Context, fopts *FilterOptions) (int64, error)
- ReadNotifications(ctx context.Context, fopts *FilterOptions) error
+ UpdateNotifications(ctx context.Context, fopts *FilterOptions, isRead bool) error
+ DeleteNotifications(ctx context.Context, fopts *FilterOptions) error
InsertMany(ctx context.Context, data []*Notification) error
GetNotificationsAndCount(ctx context.Context, fopts *FilterOptions, popts *pagination.PaginationOptions, sorter mongop.MongoCursor) ([]*Notification, int64, error)
}
@@ -52,6 +49,12 @@ type (
}
)
+func (m *MongoMapper) DeleteNotifications(ctx context.Context, fopts *FilterOptions) error {
+ filter := MakeBsonFilter(fopts)
+ _, err := m.conn.DeleteMany(ctx, filter)
+ return err
+}
+
func (m *MongoMapper) GetNotificationsAndCount(ctx context.Context, fopts *FilterOptions, popts *pagination.PaginationOptions, sorter mongop.MongoCursor) ([]*Notification, int64, error) {
var (
data []*Notification
@@ -148,35 +151,14 @@ func (m *MongoMapper) GetNotifications(ctx context.Context, fopts *FilterOptions
return data, count, nil
}
-func (m *MongoMapper) ReadNotifications(ctx context.Context, fopts *FilterOptions) error {
+func (m *MongoMapper) UpdateNotifications(ctx context.Context, fopts *FilterOptions, isRead bool) error {
filter := MakeBsonFilter(fopts)
- if _, err := m.conn.UpdateManyNoCache(ctx, filter, bson.M{"$set": bson.M{consts.IsRead: true, consts.UpdateAt: time.Now()}}); err != nil {
+ if _, err := m.conn.UpdateManyNoCache(ctx, filter, bson.M{"$set": bson.M{consts.IsRead: isRead, consts.UpdateAt: time.Now()}}); err != nil {
return err
}
return nil
}
-// CleanNotification 清除未读消息
-func (m *MongoMapper) CleanNotification(ctx context.Context, userId string) error {
- filter := bson.M{
- consts.TargetUserId: userId,
- consts.IsRead: bson.M{"$exists": false},
- }
- _, err := m.conn.UpdateManyNoCache(ctx, filter, bson.M{"$set": bson.M{consts.IsRead: true, consts.UpdateAt: time.Now()}})
- return err
-}
-
-func (m *MongoMapper) ReadNotification(ctx context.Context, id string) error {
- oid, err := primitive.ObjectIDFromHex(id)
- if err != nil {
- return consts.ErrInvalidObjectId
- }
-
- key := prefixNotificationCacheKey + id
- _, err = m.conn.UpdateByID(ctx, key, oid, bson.M{"$set": bson.M{consts.IsRead: true, consts.UpdateAt: time.Now()}})
- return err
-}
-
func (m *MongoMapper) Count(ctx context.Context, fopts *FilterOptions) (int64, error) {
f := MakeBsonFilter(fopts)
return m.conn.CountDocuments(ctx, f)
diff --git a/go.mod b/go.mod
index 853def4..e9d0e6d 100644
--- a/go.mod
+++ b/go.mod
@@ -4,7 +4,7 @@ go 1.20
require (
github.com/CloudStriver/go-pkg v0.0.0-20240117111745-b4ba57a38f44
- github.com/CloudStriver/service-idl-gen-go v0.0.0-20240127152507-ef2faaa085cd
+ github.com/CloudStriver/service-idl-gen-go v0.0.0-20240207015802-678257e52c14
github.com/cloudwego/kitex v0.8.0
github.com/google/wire v0.5.0
github.com/kitex-contrib/obs-opentelemetry v0.2.5
diff --git a/go.sum b/go.sum
index e8be331..4f39745 100644
--- a/go.sum
+++ b/go.sum
@@ -10,6 +10,8 @@ github.com/CloudStriver/service-idl-gen-go v0.0.0-20240126122141-e60927663187 h1
github.com/CloudStriver/service-idl-gen-go v0.0.0-20240126122141-e60927663187/go.mod h1:chtR82RvfrjUujTGWROSCNAwF9Lh/U959k34bXIDvBI=
github.com/CloudStriver/service-idl-gen-go v0.0.0-20240127152507-ef2faaa085cd h1:sC6f5hFtiUN51BCIbkfgteLn9UjRpWnjgl77fo7MzFw=
github.com/CloudStriver/service-idl-gen-go v0.0.0-20240127152507-ef2faaa085cd/go.mod h1:chtR82RvfrjUujTGWROSCNAwF9Lh/U959k34bXIDvBI=
+github.com/CloudStriver/service-idl-gen-go v0.0.0-20240207015802-678257e52c14 h1:lyCMluZ+ht9e8sUJCpEw6kIrvGE/RZ7NNKkOcLF9giw=
+github.com/CloudStriver/service-idl-gen-go v0.0.0-20240207015802-678257e52c14/go.mod h1:chtR82RvfrjUujTGWROSCNAwF9Lh/U959k34bXIDvBI=
github.com/ajstarks/deck v0.0.0-20200831202436-30c9fc6549a9/go.mod h1:JynElWSGnm/4RlzPXRlREEwqTHAN3T56Bv2ITsFT3gY=
github.com/ajstarks/deck/generate v0.0.0-20210309230005-c3f852c02e19/go.mod h1:T13YZdzov6OU0A1+RfKZiZN9ca6VeKdBdyDV+BY97Tk=
github.com/ajstarks/svgo v0.0.0-20180226025133-644b8db467af/go.mod h1:K08gAheRH3/J6wwsYMMT4xOr94bZjxIelGM0+d/wbFw=