Skip to content

Commit

Permalink
refactor: friend and conversation update. (#708)
Browse files Browse the repository at this point in the history
* fix: remove the conversation trigger to prevent waiting in a circular queue.

Signed-off-by: Gordon <[email protected]>

* refactor: remove files to pkg.

Signed-off-by: Gordon <[email protected]>

* optimizing the code

* refactor: restruct friend module to relation.

* refactor: conversation structure and code change.

Signed-off-by: Gordon <[email protected]>

* optimizing the code

* optimizing the code

* optimizing the code

* new call

* feat: new api call

* db success log

* new api invoke

* fix: Bug fix for clearing unread messages.

Signed-off-by: Gordon <[email protected]>

* refactor: user package

* refactor: full package

* refactor: del license

* test: fix statistics

* refactor: user package

* remove unused code

* remove unused code

* feat: api format

* feat: api format

* refactor: merge opensource code main into local branch.

Signed-off-by: Gordon <[email protected]>

* refactor: merge opensource code main into local branch.

Signed-off-by: Gordon <[email protected]>

* refactor: merge opensource code main into local branch.

Signed-off-by: Gordon <[email protected]>

* feat: api format

* refactor: user

* refactor: full module remove.

Signed-off-by: Gordon <[email protected]>

* feat: update setGroupInfo API to correct.

* refactor: rename api function and add ExtractField function comment

* refactor: update logging initialization to use constant from protocol package

- Renamed the `log.InitLoggerFromConfig` function call in `init_login.go` to use the `pbConstant.PlatformID2Name` constant from the `protocol` package instead of the `constant.PlatformID2Name` constant from the `openim-sdk-core` package. This ensures consistency and avoids potential conflicts.

feat: improve error handling in HTTP client

- Updated the `get` and `postLogic` functions in `http_client.go` to use the `io.ReadAll` function instead of `ioutil.ReadAll` for reading the response body. This change improves error handling and ensures proper resource cleanup.

refactor: remove unused import in new_http.go

- Removed the unused import of `github.com/openimsdk/tools/errs` in `new_http.go` to clean up the code and improve maintainability.

* refactor: full

* refactor: update logging initialization to use constant from protocol package

* feat: format code

* Refactor: Update function name in conversation_msg package

Rename the function `revokeMessageFromSvr` to `revokeMessageFromServer` in the `revoke.go` file of the `conversation_msg` package. This change ensures consistency with the naming convention used in the codebase.

Refactor: Update function name in group package

Rename the function `getGroupsInfoFromSvr` to `getGroupsInfoFromServer` in the `group.go` file of the `group` package. This change aligns with the naming convention used in the codebase.

Refactor: Update function name in conversation_msg package

Rename the function `getConversationsByIDsFromSvr` to `getConversationsByIDsFromServer` in the `sync.go` file of the `conversation_msg` package. This change ensures consistency with the naming convention used in the codebase.

Refactor: Update function name in group package

Rename the function `getGroupsInfoFromSvr` to `getGroupsInfoFromServer` in the `api.go` file of the `group` package. This change aligns with the naming convention used in the codebase.

Refactor: Update function name in conversation_msg package

Rename the function `clearConversationFromLocalAndSvr` to `clearConversationFromLocalAndServer` in the `delete.go` file of the `conversation_msg` package. This change ensures consistency with the naming convention used in the codebase.

Refactor: Update function name in conversation_msg package

Rename the function `deleteAllMsgFromLocalAndSvr` to `deleteAllMsgFromLocalAndServer` in the `delete.go` file of the `conversation_msg` package. This change ensures consistency with the naming convention used in the codebase.

Refactor: Update function name in conversation_msg package

Rename the function `deleteMessagesFromSvr` to `deleteMessagesFromServer` in the `delete.go` file of the `conversation_msg` package. This change ensures consistency with the naming convention used in the codebase.

Refactor: Update function name in conversation_msg package

Rename the function `getIncrementalConversationFromSvr` to `getIncrementalConversationFromServer` in the `incremental_sync.go` file of the `conversation_msg` package. This change ensures consistency with the naming convention used in the codebase.

Refactor: Update function name in conversation_msg package

Rename the function `getAllConversationListFromSvr` to `getAllConversationListFromServer` in the `incremental_sync.go` file of the `conversation_msg` package. This change ensures consistency with the naming convention used in the codebase.

Refactor: Update function name in conversation_msg package

Rename the function `getAllConversationIDsFromSvr` to `getAllConversationIDsFromServer` in the `incremental_sync.go` file of the `conversation_msg` package. This change ensures consistency with the naming convention used in the codebase.

Refactor: Update function name in conversation_msg package

Rename the function `syncMsgFromSvr` to `syncMsgFromServer` in the `msg_sync.go` file of the `interaction` package. This change ensures consistency with the naming convention used in the codebase.

Refactor: Update function name in conversation_msg package

Rename the function `syncMsgFromSvrSplit` to `syncMsgFromServerSplit` in the `msg_sync.go` file of the `interaction` package. This change ensures consistency with the naming convention used in the codebase.

* Refactor function names in conversation_msg package

* Refactor import paths in conversation_msg and indexdb packages

* refactor: user

* Refactor variable names and comments for clarity

* refactor: full module remove.

Signed-off-by: Gordon <[email protected]>

* refactor: full module remove.

Signed-off-by: Gordon <[email protected]>

* Refactor import statements in api.go

* feat: format code

* feat: format code

* feat: format code

* Refactor database initialization and remove unused modules

* remove unused import pkg.

* feat: format code

* Refactor conversation_msg package and remove unused imports

* refactor: full module remove.

Signed-off-by: Gordon <[email protected]>

* Refactor file imports in conversation_msg package

* Refactor file imports in conversation_msg package

* Refactor file imports in event_listener package

* Refactor file imports in conversation_msg package

* refactor: cache

* refactor: cache

* refactor: cache

* feat: add UpdateFriends interface in wasm.

* move test to db folder.

* replece olderst const.

* refactor: del SetGlobalRecvMessageOpt

* refactor: move user

* refactor: http module remove.

Signed-off-by: Gordon <[email protected]>

* refactor: http module remove.

Signed-off-by: Gordon <[email protected]>

* refactor: http module remove.

Signed-off-by: Gordon <[email protected]>

* refactor: http module remove.

Signed-off-by: Gordon <[email protected]>

* remove main test.

* refactor: http module remove.

Signed-off-by: Gordon <[email protected]>

* refactor: http module remove.

Signed-off-by: Gordon <[email protected]>

* refactor: http module remove.

Signed-off-by: Gordon <[email protected]>

* refactor: http module remove.

Signed-off-by: Gordon <[email protected]>

* refactor: remove chinese

* refactor: remove chinese

* Refactor group API to use simplified SetGroupInfo method

* refactor: constant add.

Signed-off-by: Gordon <[email protected]>

* refactor: constant add.

Signed-off-by: Gordon <[email protected]>

* refactor: fix msgtest route

* refactor: friend info update.

Signed-off-by: Gordon <[email protected]>

* feat: GetFriendListPage

* fix: update router path in setGroupInfoEX.

* refactor: friend info update.

Signed-off-by: Gordon <[email protected]>

* refactor: audio/mp4 update.

Signed-off-by: Gordon <[email protected]>

---------

Signed-off-by: Gordon <[email protected]>
Co-authored-by: Monet Lee <[email protected]>
Co-authored-by: withchao <[email protected]>
Co-authored-by: icey-yu <[email protected]>
Co-authored-by: icey-yu <[email protected]>
  • Loading branch information
5 people authored Sep 18, 2024
1 parent 2e37562 commit 48ff4d5
Show file tree
Hide file tree
Showing 17 changed files with 115 additions and 117 deletions.
Binary file removed .DS_Store
Binary file not shown.
7 changes: 4 additions & 3 deletions integration_test/internal/manager/msg_manager.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,8 @@ package manager
import (
"context"
"fmt"
"time"

"github.com/openimsdk/openim-sdk-core/v3/integration_test/internal/config"
"github.com/openimsdk/openim-sdk-core/v3/integration_test/internal/pkg/decorator"
"github.com/openimsdk/openim-sdk-core/v3/integration_test/internal/pkg/progress"
Expand All @@ -14,7 +16,6 @@ import (
sdkUtils "github.com/openimsdk/openim-sdk-core/v3/pkg/utils"
"github.com/openimsdk/tools/log"
"github.com/openimsdk/tools/utils/datautil"
"time"
)

type TestMsgManager struct {
Expand Down Expand Up @@ -63,7 +64,7 @@ func (m *TestMsgManager) sendSingleMessages(ctx context.Context, gr *reerrgroup.

friends = datautil.ShuffleSlice(friends)
for _, friend := range friends {
if friend.FriendInfo != nil {
if friend != nil {
for i := 0; i < vars.SingleMessageNum; i++ {
msg, err := testSDK.SDK.Conversation().CreateTextMessage(ctx,
fmt.Sprintf("count %d:my userID is %s", i, testSDK.UserID))
Expand All @@ -73,7 +74,7 @@ func (m *TestMsgManager) sendSingleMessages(ctx context.Context, gr *reerrgroup.
ctx = ccontext.WithOperationID(ctx, sdkUtils.OperationIDGenerator())
t := time.Now()
log.ZWarn(ctx, "sendSingleMessages begin", nil)
_, err = testSDK.SendSingleMsg(ctx, msg, friend.FriendInfo.FriendUserID)
_, err = testSDK.SendSingleMsg(ctx, msg, friend.FriendUserID)
if err != nil {
return err
}
Expand Down
11 changes: 3 additions & 8 deletions integration_test/internal/sdk/relation.go
Original file line number Diff line number Diff line change
Expand Up @@ -3,20 +3,15 @@ package sdk
import (
"context"

"github.com/openimsdk/openim-sdk-core/v3/pkg/server_api_params"
"github.com/openimsdk/openim-sdk-core/v3/pkg/db/model_struct"
)

func (s *TestSDK) GetAllFriends(ctx context.Context) ([]*server_api_params.FullUserInfo, error) {
func (s *TestSDK) GetAllFriends(ctx context.Context) ([]*model_struct.LocalFriend, error) {
res, err := s.SDK.Relation().GetFriendList(ctx, false)
if err != nil {
return nil, err
}

resp := []*server_api_params.FullUserInfo{}
return res, nil

for _, v := range res {
resp = append(resp, &server_api_params.FullUserInfo{FriendInfo: v})
}

return resp, nil
}
2 changes: 1 addition & 1 deletion internal/conversation_msg/api.go
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ func (c *Conversation) SetConversationDraft(ctx context.Context, conversationID,
return nil
}

func (c *Conversation) SetConversations(ctx context.Context, conversationID string, req *pbConversation.ConversationReq) error {
func (c *Conversation) SetConversation(ctx context.Context, conversationID string, req *pbConversation.ConversationReq) error {
c.conversationSyncMutex.Lock()
defer c.conversationSyncMutex.Unlock()

Expand Down
4 changes: 2 additions & 2 deletions internal/group/api.go
Original file line number Diff line number Diff line change
Expand Up @@ -305,7 +305,7 @@ func (g *Group) GetSpecifiedGroupMembersInfo(ctx context.Context, groupID string

_, err := g.db.GetVersionSync(ctx, g.groupAndMemberVersionTableName(), groupID)
if err != nil {
if errs.ErrRecordNotFound.Is(err) {
if !errs.ErrRecordNotFound.Is(err) {
return nil, err
}
err := g.IncrSyncGroupAndMember(ctx, groupID)
Expand Down Expand Up @@ -366,7 +366,7 @@ func (g *Group) GetGroupMemberList(ctx context.Context, groupID string, filter,

_, err := g.db.GetVersionSync(ctx, g.groupAndMemberVersionTableName(), groupID)
if err != nil {
if errs.ErrRecordNotFound.Is(err) {
if !errs.ErrRecordNotFound.Is(err) {
return nil, err
}
err := g.IncrSyncGroupAndMember(ctx, groupID)
Expand Down
99 changes: 66 additions & 33 deletions internal/relation/api.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ import (
"github.com/openimsdk/tools/log"
)

func (r *Relation) GetSpecifiedFriendsInfo(ctx context.Context, friendUserIDList []string) ([]*server_api_params.FullUserInfo, error) {
datafetcher := datafetcher.NewDataFetcher(
func (r *Relation) GetSpecifiedFriendsInfo(ctx context.Context, friendUserIDList []string, filterBlack bool) ([]*model_struct.LocalFriend, error) {
dataFetcher := datafetcher.NewDataFetcher(
r.db,
r.friendListTableName(),
r.loginUserID,
Expand All @@ -39,28 +39,31 @@ func (r *Relation) GetSpecifiedFriendsInfo(ctx context.Context, friendUserIDList
return datautil.Batch(ServerFriendToLocalFriend, serverFriend), nil
},
)
localFriendList, err := datafetcher.FetchMissingAndFillLocal(ctx, friendUserIDList)
localFriendList, err := dataFetcher.FetchMissingAndFillLocal(ctx, friendUserIDList)
if err != nil {
return nil, err
}

if !filterBlack {
return localFriendList, nil
}
log.ZDebug(ctx, "GetDesignatedFriendsInfo", "localFriendList", localFriendList)
blackList, err := r.db.GetBlackInfoList(ctx, friendUserIDList)
if err != nil {
return nil, err
}
log.ZDebug(ctx, "GetDesignatedFriendsInfo", "blackList", blackList)
m := make(map[string]*model_struct.LocalBlack)
for i, black := range blackList {
m[black.BlockUserID] = blackList[i]
if len(blackList) == 0 {
return localFriendList, nil
}
res := make([]*server_api_params.FullUserInfo, 0, len(localFriendList))

log.ZDebug(ctx, "GetDesignatedFriendsInfo", "blackList", blackList)
m := datautil.SliceSetAny(blackList, func(e *model_struct.LocalBlack) string {
return e.BlockUserID
})
var res []*model_struct.LocalFriend
for _, localFriend := range localFriendList {
res = append(res, &server_api_params.FullUserInfo{
PublicInfo: nil,
FriendInfo: localFriend,
BlackInfo: m[localFriend.FriendUserID],
})
if _, ok := m[localFriend.FriendUserID]; !ok {
res = append(res, localFriend)
}
}
return res, nil
}
Expand Down Expand Up @@ -159,9 +162,6 @@ func (r *Relation) GetFriendList(ctx context.Context, filterBlack bool) ([]*mode
if err != nil {
return nil, err
}
if localFriendList == nil {
localFriendList = []*model_struct.LocalFriend{}
}
if len(localFriendList) == 0 || !filterBlack {
return localFriendList, nil
}
Expand All @@ -172,33 +172,65 @@ func (r *Relation) GetFriendList(ctx context.Context, filterBlack bool) ([]*mode
if len(localBlackList) == 0 {
return localFriendList, nil
}
blackSet := make(map[string]struct{})
for _, black := range localBlackList {
blackSet[black.BlockUserID] = struct{}{}
}
res := localFriendList[:0]
for i, friend := range localFriendList {
blackSet := datautil.SliceSetAny(localBlackList, func(e *model_struct.LocalBlack) string {
return e.BlockUserID
})
var res []*model_struct.LocalFriend
for _, friend := range localFriendList {
if _, ok := blackSet[friend.FriendUserID]; !ok {
res = append(res, localFriendList[i])
res = append(res, friend)
}
}
return res, nil
}

func (r *Relation) GetFriendListPage(ctx context.Context, offset, count int, filterBlack bool) ([]*model_struct.LocalFriend, error) {
friends, err := r.GetFriendList(ctx, filterBlack)
func (r *Relation) GetFriendListPage(ctx context.Context, offset, count int32, filterBlack bool) ([]*model_struct.LocalFriend, error) {
dataFetcher := datafetcher.NewDataFetcher(
r.db,
r.friendListTableName(),
r.loginUserID,
func(localFriend *model_struct.LocalFriend) string {
return localFriend.FriendUserID
},
func(ctx context.Context, values []*model_struct.LocalFriend) error {
return r.db.BatchInsertFriend(ctx, values)
},
func(ctx context.Context, userIDs []string) ([]*model_struct.LocalFriend, bool, error) {
localFriendList, err := r.db.GetFriendInfoList(ctx, userIDs)
return localFriendList, true, err
},
func(ctx context.Context, userIDs []string) ([]*model_struct.LocalFriend, error) {
serverFriend, err := r.GetDesignatedFriends(ctx, userIDs)
if err != nil {
return nil, err
}
return datautil.Batch(ServerFriendToLocalFriend, serverFriend), nil
},
)
localBlackList, err := r.db.GetBlackListDB(ctx)
if err != nil {
return nil, err
}
if offset >= len(friends) {
return friends[:0], nil
if (!filterBlack) || len(localBlackList) == 0 {
return dataFetcher.FetchWithPagination(ctx, int(offset), int(count))
}
localFriendList, err := dataFetcher.FetchWithPagination(ctx, int(offset), int(count*2))
if err != nil {
return nil, err
}
friends = friends[offset:]
if len(friends) > count {
return friends[:count], nil
} else {
return friends, nil
blackUserIDs := datautil.SliceSetAny(localBlackList, func(e *model_struct.LocalBlack) string {
return e.BlockUserID
})
res := localFriendList[:0]
for _, friend := range localFriendList {
if _, ok := blackUserIDs[friend.FriendUserID]; !ok {
res = append(res, friend)
}
if len(res) == int(count) {
break
}
}
return res, nil
}

func (r *Relation) SearchFriends(ctx context.Context, param *sdk.SearchFriendsParam) ([]*sdk.SearchFriendItem, error) {
Expand Down Expand Up @@ -256,6 +288,7 @@ func (r *Relation) GetBlackList(ctx context.Context) ([]*model_struct.LocalBlack
}

func (r *Relation) UpdateFriends(ctx context.Context, req *relation.UpdateFriendsReq) error {
req.OwnerUserID = r.loginUserID
if err := r.updateFriends(ctx, req); err != nil {
return err
}
Expand Down
27 changes: 1 addition & 26 deletions internal/user/api.go
Original file line number Diff line number Diff line change
Expand Up @@ -85,6 +85,7 @@ func (u *User) GetSelfUserInfo(ctx context.Context) (*model_struct.LocalUser, er

func (u *User) SetSelfInfo(ctx context.Context, userInfo *sdkws.UserInfoWithEx) error {
// updateSelfUserInfo updates the user's information with Ex field.
userInfo.UserID = u.loginUserID
if err := u.updateUserInfo(ctx, userInfo); err != nil {
return err
}
Expand Down Expand Up @@ -178,29 +179,3 @@ func (u *User) GetUsersInfoFromSvr(ctx context.Context, userIDs []string) ([]*mo
}
return datautil.Batch(ServerUserToLocalUser, users), nil
}

func (u *User) GetUserInfoWithCache(ctx context.Context, cacheKey string) (*model_struct.LocalUser, error) {
return u.UserCache.FetchGet(ctx, cacheKey)
}

func (u *User) GetUserInfoWithCacheFunc(ctx context.Context, cacheKey string, fetchFunc func(ctx context.Context, key string) (*model_struct.LocalUser, error)) (*model_struct.LocalUser, error) {
if userInfo, ok := u.UserCache.Load(cacheKey); ok {
return userInfo, nil
}

fetchedData, err := fetchFunc(ctx, cacheKey)
if err != nil {
return nil, err
}

u.UserCache.Store(cacheKey, fetchedData)
return fetchedData, nil
}

func (u *User) GetUsersInfoWithCache(ctx context.Context, cacheKeys []string) ([]*model_struct.LocalUser, error) {
m, err := u.UserCache.MultiFetchGet(ctx, cacheKeys)
if err != nil {
return nil, err
}
return datautil.MapToSlice(m), nil
}
27 changes: 27 additions & 0 deletions internal/user/user.go
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ import (
"github.com/openimsdk/openim-sdk-core/v3/pkg/db/model_struct"
"github.com/openimsdk/openim-sdk-core/v3/pkg/syncer"
"github.com/openimsdk/openim-sdk-core/v3/pkg/utils"
"github.com/openimsdk/tools/utils/datautil"
)

// NewUser creates a new User object.
Expand Down Expand Up @@ -132,3 +133,29 @@ func (u *User) initSyncer() {
},
)
}

func (u *User) GetUserInfoWithCache(ctx context.Context, cacheKey string) (*model_struct.LocalUser, error) {
return u.UserCache.FetchGet(ctx, cacheKey)
}

func (u *User) GetUserInfoWithCacheFunc(ctx context.Context, cacheKey string, fetchFunc func(ctx context.Context, key string) (*model_struct.LocalUser, error)) (*model_struct.LocalUser, error) {
if userInfo, ok := u.UserCache.Load(cacheKey); ok {
return userInfo, nil
}

fetchedData, err := fetchFunc(ctx, cacheKey)
if err != nil {
return nil, err
}

u.UserCache.Store(cacheKey, fetchedData)
return fetchedData, nil
}

func (u *User) GetUsersInfoWithCache(ctx context.Context, cacheKeys []string) ([]*model_struct.LocalUser, error) {
m, err := u.UserCache.MultiFetchGet(ctx, cacheKeys)
if err != nil {
return nil, err
}
return datautil.MapToSlice(m), nil
}
4 changes: 2 additions & 2 deletions open_im_sdk/conversation_msg.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,8 +34,8 @@ func GetMultipleConversation(callback open_im_sdk_callback.Base, operationID str
call(callback, operationID, UserForSDK.Conversation().GetMultipleConversation, conversationIDList)
}

func SetConversations(callback open_im_sdk_callback.Base, operationID string, conversationID string, req string) {
call(callback, operationID, UserForSDK.Conversation().SetConversations, conversationID, req)
func SetConversation(callback open_im_sdk_callback.Base, operationID string, conversationID string, req string) {
call(callback, operationID, UserForSDK.Conversation().SetConversation, conversationID, req)
}

func HideConversation(callback open_im_sdk_callback.Base, operationID string, conversationID string) {
Expand Down
4 changes: 2 additions & 2 deletions open_im_sdk/relation.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ package open_im_sdk

import "github.com/openimsdk/openim-sdk-core/v3/open_im_sdk_callback"

func GetSpecifiedFriendsInfo(callback open_im_sdk_callback.Base, operationID string, userIDList string) {
call(callback, operationID, UserForSDK.Relation().GetSpecifiedFriendsInfo, userIDList)
func GetSpecifiedFriendsInfo(callback open_im_sdk_callback.Base, operationID string, userIDList string, filterBlack bool) {
call(callback, operationID, UserForSDK.Relation().GetSpecifiedFriendsInfo, userIDList, filterBlack)
}

func GetFriendList(callback open_im_sdk_callback.Base, operationID string, filterBlack bool) {
Expand Down
1 change: 0 additions & 1 deletion open_im_sdk/user.go
Original file line number Diff line number Diff line change
Expand Up @@ -51,4 +51,3 @@ func DeleteUserCommand(callback open_im_sdk_callback.Base, operationID string, T
func GetAllUserCommands(callback open_im_sdk_callback.Base, operationID string, Type int32) {
call(callback, operationID, UserForSDK.User().ProcessUserCommandGetAll, Type)
}

2 changes: 1 addition & 1 deletion pkg/api/api.go
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ var (

var (
CreateGroup = newApi[group.CreateGroupReq, group.CreateGroupResp]("/group/create_group")
SetGroupInfoEX = newApi[group.SetGroupInfoEXReq, group.SetGroupInfoEXResp]("/group/set_group_info_EX")
SetGroupInfoEX = newApi[group.SetGroupInfoEXReq, group.SetGroupInfoEXResp]("/group/set_group_info_ex")
JoinGroup = newApi[group.JoinGroupReq, group.JoinGroupResp]("/group/join_group")
QuitGroup = newApi[group.QuitGroupReq, group.QuitGroupResp]("/group/quit_group")
GetGroupsInfo = newApi[group.GetGroupsInfoReq, group.GetGroupsInfoResp]("/group/get_groups_info")
Expand Down
1 change: 1 addition & 0 deletions pkg/content_type/content_type.go
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,7 @@ var ext = map[string]string{
"flv": "video/x-flv",
"webm": "video/webm",
"3gp": "video/3gpp",
"m4a": "audio/mp4",
"mp3": "audio/mpeg",
"wav": "audio/wav",
"ogg": "audio/ogg",
Expand Down
33 changes: 0 additions & 33 deletions pkg/server_api_params/public_struct.go

This file was deleted.

Loading

0 comments on commit 48ff4d5

Please sign in to comment.