+17
-12
pkg/mostliked/handler.go
+17
-12
pkg/mostliked/handler.go
···
24
24
const MinLikes = 5
25
25
26
26
type DraftPost struct {
27
-
Language lingua.Language
28
-
Created int64
29
-
Likes int64
27
+
Languages []lingua.Language
28
+
Created int64
29
+
Likes int64
30
30
}
31
31
32
32
func safeTimestamp(input string) int64 {
···
149
149
}
150
150
if text := findDetectableText(post); text != "" {
151
151
language, _ := detector.DetectLanguageOf(text)
152
-
draftPost.Language = language
152
+
draftPost.Languages = []lingua.Language{language}
153
153
} else if len(post.Langs) > 0 {
154
-
iso := lingua.GetIsoCode639_1FromValue(post.Langs[0])
155
-
draftPost.Language = lingua.GetLanguageFromIsoCode639_1(iso)
154
+
var iso lingua.IsoCode639_1
155
+
for _, lang := range post.Langs {
156
+
iso = lingua.GetIsoCode639_1FromValue(lang)
157
+
draftPost.Languages = append(draftPost.Languages, lingua.GetLanguageFromIsoCode639_1(iso))
158
+
}
156
159
}
157
160
drafts.Set(postUri, draftPost, 30*time.Minute)
158
161
continue
···
181
184
if err != nil {
182
185
log.Println("error inserting post")
183
186
}
184
-
err = queries.InsertLang(ctx, db.InsertLangParams{
185
-
Uri: like.Subject.Uri,
186
-
Lang: strings.ToLower(draftPost.Language.IsoCode639_1().String()),
187
-
})
188
-
if err != nil {
189
-
log.Println("error inserting lang")
187
+
for _, lang := range draftPost.Languages {
188
+
err = queries.InsertLang(ctx, db.InsertLangParams{
189
+
Uri: like.Subject.Uri,
190
+
Lang: strings.ToLower(lang.IsoCode639_1().String()),
191
+
})
192
+
if err != nil {
193
+
log.Println("error inserting lang")
194
+
}
190
195
}
191
196
} else {
192
197
err := queries.UpdateLikes(ctx, like.Subject.Uri)