diff --git a/pkg/generator/az/base.go b/pkg/generator/az/base.go index ce53fbb..313a83f 100644 --- a/pkg/generator/az/base.go +++ b/pkg/generator/az/base.go @@ -114,16 +114,14 @@ func (generator *Generator) IsValid(post *collections.Post) bool { return false } - if slices.Contains(invalidUsers, post.DID) { - return false + if isValidUser := users.IsValid(post.DID); isValidUser != nil { + return *isValidUser } - if slices.Contains(validUsers, post.DID) || // Posts from always-valid users - (slices.Contains(post.Langs, "az") && len(post.Langs) < 3) || // Posts in Azerbaijani language with fewer than 3 languages + if (slices.Contains(post.Langs, "az") && len(post.Langs) < 3) || // Posts in Azerbaijani language with fewer than 3 languages generator.textRegex.MatchString(post.Text) { // Posts containing Azerbaijan-related keywords return true } return false } - diff --git a/pkg/generator/az/lists.go b/pkg/generator/az/lists.go index e7d19bc..07db43a 100644 --- a/pkg/generator/az/lists.go +++ b/pkg/generator/az/lists.go @@ -1,19 +1,21 @@ package az -var invalidUsers []string = []string{ - "did:plc:5zww7zorx2ajw7hqrhuix3ba", - "did:plc:c4vhz47h566t2ntgd7gtawen", - "did:plc:lc7j7xdq67gn7vc6vzmydfqk", - "did:plc:msian4dqa2rqalf3biilnf3m", - "did:plc:gtosalycg7snvodjhsze35jm", -} +import "github.com/aykhans/bsky-feedgen/pkg/generator" -var validUsers []string = []string{ - "did:plc:jbt4qi6psd7rutwzedtecsq7", - "did:plc:yzgdpxsklrmfgqmjghdvw3ti", - "did:plc:g7ebgiai577ln3avsi2pt3sn", - "did:plc:phtq2rhgbwipyx5ie3apw44j", - "did:plc:jfdvklrs5n5qv7f25v6swc5h", - "did:plc:u5ez5w6qslh6advti4wyddba", - "did:plc:cs2cbzojm6hmx5lfxiuft3mq", +var users = generator.Users{ + // Invalid + "did:plc:5zww7zorx2ajw7hqrhuix3ba": false, + "did:plc:c4vhz47h566t2ntgd7gtawen": false, + "did:plc:lc7j7xdq67gn7vc6vzmydfqk": false, + "did:plc:msian4dqa2rqalf3biilnf3m": false, + "did:plc:gtosalycg7snvodjhsze35jm": false, + + // Valid + "did:plc:jbt4qi6psd7rutwzedtecsq7": true, + "did:plc:yzgdpxsklrmfgqmjghdvw3ti": true, + "did:plc:g7ebgiai577ln3avsi2pt3sn": true, + "did:plc:phtq2rhgbwipyx5ie3apw44j": true, + "did:plc:jfdvklrs5n5qv7f25v6swc5h": true, + "did:plc:u5ez5w6qslh6advti4wyddba": true, + "did:plc:cs2cbzojm6hmx5lfxiuft3mq": true, } diff --git a/pkg/generator/base.go b/pkg/generator/base.go new file mode 100644 index 0000000..10328f2 --- /dev/null +++ b/pkg/generator/base.go @@ -0,0 +1,14 @@ +package generator + +import "github.com/aykhans/bsky-feedgen/pkg/utils" + +type Users map[string]bool + +func (u Users) IsValid(did string) *bool { + isValid, ok := u[did] + if ok == false { + return nil + } + + return utils.ToPtr(isValid) +}