90 lines
2.0 KiB
Go
90 lines
2.0 KiB
Go
|
|
package usecase
|
||
|
|
|
||
|
|
import (
|
||
|
|
"context"
|
||
|
|
|
||
|
|
"haixun-backend/internal/model/content_formula/domain/entity"
|
||
|
|
)
|
||
|
|
|
||
|
|
type FormulaSummary struct {
|
||
|
|
ID string
|
||
|
|
AccountID string
|
||
|
|
Label string
|
||
|
|
SourceType string
|
||
|
|
SourceRef string
|
||
|
|
SourcePostText string
|
||
|
|
SourceAuthor string
|
||
|
|
SourcePermalink string
|
||
|
|
SourceMetrics *entity.SourceMetrics
|
||
|
|
Summary string
|
||
|
|
Wins []string
|
||
|
|
Improvements []string
|
||
|
|
Formula string
|
||
|
|
PostTemplate string
|
||
|
|
HookPattern string
|
||
|
|
Structure string
|
||
|
|
ReplicationTips []string
|
||
|
|
Avoid []string
|
||
|
|
Tags []string
|
||
|
|
CreateAt int64
|
||
|
|
UpdateAt int64
|
||
|
|
}
|
||
|
|
|
||
|
|
type CreateRequest struct {
|
||
|
|
TenantID string
|
||
|
|
OwnerUID string
|
||
|
|
AccountID string
|
||
|
|
Label string
|
||
|
|
SourceType string
|
||
|
|
SourceRef string
|
||
|
|
SourcePostText string
|
||
|
|
SourceAuthor string
|
||
|
|
SourcePermalink string
|
||
|
|
SourceMetrics *entity.SourceMetrics
|
||
|
|
Summary string
|
||
|
|
Wins []string
|
||
|
|
Improvements []string
|
||
|
|
Formula string
|
||
|
|
PostTemplate string
|
||
|
|
HookPattern string
|
||
|
|
Structure string
|
||
|
|
ReplicationTips []string
|
||
|
|
Avoid []string
|
||
|
|
Tags []string
|
||
|
|
}
|
||
|
|
|
||
|
|
type UpdateRequest struct {
|
||
|
|
TenantID string
|
||
|
|
OwnerUID string
|
||
|
|
AccountID string
|
||
|
|
FormulaID string
|
||
|
|
Label *string
|
||
|
|
Formula *string
|
||
|
|
PostTemplate *string
|
||
|
|
HookPattern *string
|
||
|
|
Structure *string
|
||
|
|
Tags []string
|
||
|
|
}
|
||
|
|
|
||
|
|
type ListRequest struct {
|
||
|
|
TenantID string
|
||
|
|
OwnerUID string
|
||
|
|
AccountID string
|
||
|
|
SourceType string
|
||
|
|
Tag string
|
||
|
|
Page int
|
||
|
|
PageSize int
|
||
|
|
}
|
||
|
|
|
||
|
|
type ListResult struct {
|
||
|
|
Items []FormulaSummary
|
||
|
|
Total int64
|
||
|
|
}
|
||
|
|
|
||
|
|
type UseCase interface {
|
||
|
|
Create(ctx context.Context, req CreateRequest) (*FormulaSummary, error)
|
||
|
|
Get(ctx context.Context, tenantID, ownerUID, accountID, formulaID string) (*FormulaSummary, error)
|
||
|
|
Update(ctx context.Context, req UpdateRequest) (*FormulaSummary, error)
|
||
|
|
Delete(ctx context.Context, tenantID, ownerUID, accountID, formulaID string) error
|
||
|
|
List(ctx context.Context, req ListRequest) (*ListResult, error)
|
||
|
|
}
|