package demo import ( "context" "example.com/business/internal/types" "io" ) func (s *Logic) List(ctx context.Context, req *types.Query) ([]types.Item, error) { if req.Mode == "full" { return []types.Item{{Name: "one"}}, nil } return nil, nil } func (s *Logic) Nullable(ctx context.Context, req *types.Query) (*types.Item, error) { if req.Mode == "full" { return &types.Item{Name: "one"}, nil } return nil, nil } func (s *Logic) Nothing(ctx context.Context) error { return nil } func (s *Logic) RawNull(ctx context.Context) error { return nil } func (s *Logic) RawArray(ctx context.Context) ([]types.Item, error) { return nil, nil } func (s *Logic) Empty(ctx context.Context) error { return nil } func (s *Logic) Absent(ctx context.Context) error { return nil } func (s *Logic) Optional(ctx context.Context, req *types.Item) (*types.Item, error) { return req, nil } func (s *Logic) Echo(ctx context.Context, req *types.Item) (*types.Item, error) { return req, nil } func (s *Logic) Tolerant(ctx context.Context, req *types.Item) (*types.Item, error) { return req, nil } func (s *Logic) NoContent(ctx context.Context) error { return nil } func (s *Logic) Upload(ctx context.Context, req *types.Upload) (*types.Item, error) { f, err := req.Attachment.Open() if err != nil { return nil, err } defer f.Close() data, err := io.ReadAll(f) if err != nil { return nil, err } return &types.Item{Name: req.Title + ":" + req.Metadata.Name + ":" + string(data)}, nil }