mirror of
https://codeberg.org/video-prize-ranch/rimgo.git
synced 2025-12-13 19:55:21 +00:00
Improve code reuse
This commit is contained in:
31
api/album.go
31
api/album.go
@@ -1,8 +1,6 @@
|
||||
package api
|
||||
|
||||
import (
|
||||
"io"
|
||||
"net/http"
|
||||
"strings"
|
||||
"time"
|
||||
|
||||
@@ -20,25 +18,16 @@ func FetchAlbum(albumID string) (types.Album, error) {
|
||||
return cacheData.(types.Album), nil
|
||||
}
|
||||
|
||||
res, err := http.Get("https://api.imgur.com/post/v1/albums/" + albumID + "?client_id=" + utils.Config["imgurId"].(string) + "&include=media%2Caccount")
|
||||
data, err := utils.GetJSON("https://api.imgur.com/post/v1/albums/" + albumID + "?client_id=" + utils.Config["imgurId"].(string) + "&include=media%2Caccount")
|
||||
if err != nil {
|
||||
return types.Album{}, err
|
||||
}
|
||||
|
||||
body, err := io.ReadAll(res.Body)
|
||||
album, err := ParseAlbum(data)
|
||||
if err != nil {
|
||||
return types.Album{}, err
|
||||
}
|
||||
|
||||
data := gjson.Parse(string(body))
|
||||
|
||||
album := types.Album{}
|
||||
if data.Get("shared_with_community").Bool() || res.StatusCode == 404 {
|
||||
album, err = FetchPosts(albumID)
|
||||
} else {
|
||||
album, err = ParseAlbum(data)
|
||||
}
|
||||
|
||||
albumCache.Set(albumID + "-album", album, cache.DefaultExpiration)
|
||||
return album, err
|
||||
}
|
||||
@@ -49,17 +38,11 @@ func FetchPosts(albumID string) (types.Album, error) {
|
||||
return cacheData.(types.Album), nil
|
||||
}
|
||||
|
||||
res, err := http.Get("https://api.imgur.com/post/v1/posts/" + albumID + "?client_id=" + utils.Config["imgurId"].(string) + "&include=media%2Caccount%2Ctags")
|
||||
data, err := utils.GetJSON("https://api.imgur.com/post/v1/posts/" + albumID + "?client_id=" + utils.Config["imgurId"].(string) + "&include=media%2Caccount%2Ctags")
|
||||
if err != nil {
|
||||
return types.Album{}, err
|
||||
}
|
||||
|
||||
body, err := io.ReadAll(res.Body)
|
||||
if err != nil {
|
||||
return types.Album{}, err
|
||||
}
|
||||
|
||||
data := gjson.Parse(string(body))
|
||||
album, err := ParseAlbum(data)
|
||||
if err != nil {
|
||||
return types.Album{}, err
|
||||
@@ -75,17 +58,11 @@ func FetchMedia(mediaID string) (types.Album, error) {
|
||||
return cacheData.(types.Album), nil
|
||||
}
|
||||
|
||||
res, err := http.Get("https://api.imgur.com/post/v1/media/" + mediaID + "?client_id=" + utils.Config["imgurId"].(string) + "&include=media%2Caccount")
|
||||
data, err := utils.GetJSON("https://api.imgur.com/post/v1/media/" + mediaID + "?client_id=" + utils.Config["imgurId"].(string) + "&include=media%2Caccount")
|
||||
if err != nil {
|
||||
return types.Album{}, err
|
||||
}
|
||||
|
||||
body, err := io.ReadAll(res.Body)
|
||||
if err != nil {
|
||||
return types.Album{}, err
|
||||
}
|
||||
|
||||
data := gjson.Parse(string(body))
|
||||
album, err := ParseAlbum(data)
|
||||
if err != nil {
|
||||
return types.Album{}, err
|
||||
|
||||
@@ -1,8 +1,6 @@
|
||||
package api
|
||||
|
||||
import (
|
||||
"io"
|
||||
"net/http"
|
||||
"strings"
|
||||
"sync"
|
||||
"time"
|
||||
@@ -22,18 +20,11 @@ func FetchComments(galleryID string) ([]types.Comment, error) {
|
||||
return cacheData.([]types.Comment), nil
|
||||
}
|
||||
|
||||
res, err := http.Get("https://api.imgur.com/comment/v1/comments?client_id=" + utils.Config["imgurId"].(string) + "&filter[post]=eq:" + galleryID + "&include=account,adconfig&per_page=30&sort=best")
|
||||
data, err := utils.GetJSON("https://api.imgur.com/comment/v1/comments?client_id=" + utils.Config["imgurId"].(string) + "&filter[post]=eq:" + galleryID + "&include=account,adconfig&per_page=30&sort=best")
|
||||
if err != nil {
|
||||
return []types.Comment{}, err
|
||||
return []types.Comment{}, nil
|
||||
}
|
||||
|
||||
body, err := io.ReadAll(res.Body)
|
||||
if err != nil {
|
||||
return []types.Comment{}, err
|
||||
}
|
||||
|
||||
data := gjson.Parse(string(body))
|
||||
|
||||
wg := sync.WaitGroup{}
|
||||
comments := make([]types.Comment, 0)
|
||||
data.Get("data").ForEach(
|
||||
|
||||
@@ -55,18 +55,11 @@ func FetchSubmissions(username string, sort string, page string) ([]types.Submis
|
||||
return cacheData.([]types.Submission), nil
|
||||
}
|
||||
|
||||
res, err := http.Get("https://api.imgur.com/3/account/" + username + "/submissions/" + page + "/" + sort + "?album_previews=1&client_id=" + utils.Config["imgurId"].(string))
|
||||
data, err := utils.GetJSON("https://api.imgur.com/3/account/" + username + "/submissions/" + page + "/" + sort + "?album_previews=1&client_id=" + utils.Config["imgurId"].(string))
|
||||
if err != nil {
|
||||
return []types.Submission{}, err
|
||||
}
|
||||
|
||||
body, err := io.ReadAll(res.Body)
|
||||
if err != nil {
|
||||
return []types.Submission{}, err
|
||||
}
|
||||
|
||||
data := gjson.Parse(string(body))
|
||||
|
||||
submissions := []types.Submission{}
|
||||
|
||||
wg := sync.WaitGroup{}
|
||||
|
||||
Reference in New Issue
Block a user