mirror of
https://github.com/krau/SaveAny-Bot.git
synced 2026-05-12 00:29:42 +08:00
refactor: rule package
This commit is contained in:
6
pkg/rule/consts.go
Normal file
6
pkg/rule/consts.go
Normal file
@@ -0,0 +1,6 @@
|
||||
package rule
|
||||
|
||||
const (
|
||||
RuleStorNameChosen = "CHOSEN"
|
||||
RuleDirPathNewForAlbum = "NEW-FOR-ALBUM" // create a new directory for album files
|
||||
)
|
||||
17
pkg/rule/enum.go
Normal file
17
pkg/rule/enum.go
Normal file
@@ -0,0 +1,17 @@
|
||||
package rule
|
||||
|
||||
type RuleType string
|
||||
|
||||
const (
|
||||
FileNameRegex RuleType = "FILENAME-REGEX"
|
||||
MessageRegex RuleType = "MESSAGE-REGEX"
|
||||
IsAlbum RuleType = "IS-ALBUM"
|
||||
)
|
||||
|
||||
func (r RuleType) String() string {
|
||||
return string(r)
|
||||
}
|
||||
|
||||
func Values() []RuleType {
|
||||
return []RuleType{FileNameRegex, MessageRegex, IsAlbum}
|
||||
}
|
||||
@@ -3,7 +3,6 @@ package rule
|
||||
import (
|
||||
"regexp"
|
||||
|
||||
ruleenum "github.com/krau/SaveAny-Bot/pkg/enums/rule"
|
||||
"github.com/krau/SaveAny-Bot/pkg/tfile"
|
||||
)
|
||||
|
||||
@@ -14,8 +13,8 @@ type RuleFileNameRegex struct {
|
||||
|
||||
var _ RuleClass[tfile.TGFile] = (*RuleFileNameRegex)(nil)
|
||||
|
||||
func (r RuleFileNameRegex) Type() ruleenum.RuleType {
|
||||
return ruleenum.FileNameRegex
|
||||
func (r RuleFileNameRegex) Type() RuleType {
|
||||
return FileNameRegex
|
||||
}
|
||||
|
||||
func (r RuleFileNameRegex) Match(input tfile.TGFile) (bool, error) {
|
||||
|
||||
@@ -1,9 +1,5 @@
|
||||
package rule
|
||||
|
||||
import (
|
||||
ruleenum "github.com/krau/SaveAny-Bot/pkg/enums/rule"
|
||||
)
|
||||
|
||||
var _ RuleClass[bool] = (*RuleMediaType)(nil)
|
||||
|
||||
type RuleMediaType struct {
|
||||
@@ -11,8 +7,8 @@ type RuleMediaType struct {
|
||||
matchAlbum bool
|
||||
}
|
||||
|
||||
func (r RuleMediaType) Type() ruleenum.RuleType {
|
||||
return ruleenum.IsAlbum
|
||||
func (r RuleMediaType) Type() RuleType {
|
||||
return IsAlbum
|
||||
}
|
||||
|
||||
func (r RuleMediaType) Match(input bool) (bool, error) {
|
||||
|
||||
@@ -2,8 +2,6 @@ package rule
|
||||
|
||||
import (
|
||||
"regexp"
|
||||
|
||||
ruleenum "github.com/krau/SaveAny-Bot/pkg/enums/rule"
|
||||
)
|
||||
|
||||
var _ RuleClass[string] = (*RuleMessageRegex)(nil)
|
||||
@@ -13,8 +11,8 @@ type RuleMessageRegex struct {
|
||||
regex *regexp.Regexp
|
||||
}
|
||||
|
||||
func (r RuleMessageRegex) Type() ruleenum.RuleType {
|
||||
return ruleenum.MessageRegex
|
||||
func (r RuleMessageRegex) Type() RuleType {
|
||||
return MessageRegex
|
||||
}
|
||||
|
||||
func (r RuleMessageRegex) Match(input string) (bool, error) {
|
||||
|
||||
@@ -1,11 +1,7 @@
|
||||
package rule
|
||||
|
||||
import (
|
||||
ruleenum "github.com/krau/SaveAny-Bot/pkg/enums/rule"
|
||||
)
|
||||
|
||||
type RuleClass[InputType any] interface {
|
||||
Type() ruleenum.RuleType
|
||||
Type() RuleType
|
||||
Match(input InputType) (bool, error)
|
||||
StorageName() string
|
||||
StoragePath() string
|
||||
|
||||
Reference in New Issue
Block a user