47 lines
2.3 KiB
Go
47 lines
2.3 KiB
Go
package client
|
|
|
|
import (
|
|
"context"
|
|
|
|
"google.golang.org/grpc"
|
|
activityv1 "hyapp.local/api/proto/activity/v1"
|
|
)
|
|
|
|
// MessageInboxClient abstracts gateway access to the backend-owned system/activity inbox.
|
|
type MessageInboxClient interface {
|
|
ListMessageTabs(ctx context.Context, req *activityv1.ListMessageTabsRequest) (*activityv1.ListMessageTabsResponse, error)
|
|
ListInboxMessages(ctx context.Context, req *activityv1.ListInboxMessagesRequest) (*activityv1.ListInboxMessagesResponse, error)
|
|
MarkInboxMessageRead(ctx context.Context, req *activityv1.MarkInboxMessageReadRequest) (*activityv1.MarkInboxMessageReadResponse, error)
|
|
MarkInboxSectionRead(ctx context.Context, req *activityv1.MarkInboxSectionReadRequest) (*activityv1.MarkInboxSectionReadResponse, error)
|
|
DeleteInboxMessage(ctx context.Context, req *activityv1.DeleteInboxMessageRequest) (*activityv1.DeleteInboxMessageResponse, error)
|
|
}
|
|
|
|
type grpcMessageInboxClient struct {
|
|
client activityv1.MessageInboxServiceClient
|
|
}
|
|
|
|
// NewGRPCMessageInboxClient builds an inbox client backed by activity-service MessageInboxService.
|
|
func NewGRPCMessageInboxClient(conn *grpc.ClientConn) MessageInboxClient {
|
|
return &grpcMessageInboxClient{client: activityv1.NewMessageInboxServiceClient(conn)}
|
|
}
|
|
|
|
func (c *grpcMessageInboxClient) ListMessageTabs(ctx context.Context, req *activityv1.ListMessageTabsRequest) (*activityv1.ListMessageTabsResponse, error) {
|
|
return c.client.ListMessageTabs(ctx, req)
|
|
}
|
|
|
|
func (c *grpcMessageInboxClient) ListInboxMessages(ctx context.Context, req *activityv1.ListInboxMessagesRequest) (*activityv1.ListInboxMessagesResponse, error) {
|
|
return c.client.ListInboxMessages(ctx, req)
|
|
}
|
|
|
|
func (c *grpcMessageInboxClient) MarkInboxMessageRead(ctx context.Context, req *activityv1.MarkInboxMessageReadRequest) (*activityv1.MarkInboxMessageReadResponse, error) {
|
|
return c.client.MarkInboxMessageRead(ctx, req)
|
|
}
|
|
|
|
func (c *grpcMessageInboxClient) MarkInboxSectionRead(ctx context.Context, req *activityv1.MarkInboxSectionReadRequest) (*activityv1.MarkInboxSectionReadResponse, error) {
|
|
return c.client.MarkInboxSectionRead(ctx, req)
|
|
}
|
|
|
|
func (c *grpcMessageInboxClient) DeleteInboxMessage(ctx context.Context, req *activityv1.DeleteInboxMessageRequest) (*activityv1.DeleteInboxMessageResponse, error) {
|
|
return c.client.DeleteInboxMessage(ctx, req)
|
|
}
|