Files
go-omni/cmd/go-omni/apigen/testdata/business/operations.go

43 lines
1.6 KiB
Go

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
}