tailly_back_v2/pkg/moderation/moderation.go
admin 0647b62048
All checks were successful
continuous-integration/drone/push Build is passing
v0.0.26
2025-08-28 13:59:48 +03:00

41 lines
788 B
Go

package moderation
import (
"context"
"google.golang.org/grpc"
pb "tailly_back_v2/pkg/moderation/proto"
)
type ModerationClient struct {
conn *grpc.ClientConn
client pb.ModerationServiceClient
}
func NewModerationClient(addr string) (*ModerationClient, error) {
conn, err := grpc.Dial(addr, grpc.WithInsecure())
if err != nil {
return nil, err
}
return &ModerationClient{
conn: conn,
client: pb.NewModerationServiceClient(conn),
}, nil
}
func (c *ModerationClient) CheckImage(ctx context.Context, imageData []byte) (bool, error) {
resp, err := c.client.CheckImage(ctx, &pb.ImageRequest{
ImageData: imageData,
})
if err != nil {
return false, err
}
return resp.OverallDecision == "allowed", nil
}
func (c *ModerationClient) Close() {
c.conn.Close()
}