43 lines
1.6 KiB
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
|
|
}
|