Started working on Kitsu import

This commit is contained in:
Eduard Urbach 2018-03-18 21:41:13 +01:00
parent 180c5b475b
commit 771e6b026c
4 changed files with 43 additions and 1 deletions

View File

@ -0,0 +1,19 @@
package animeimport
import (
"net/http"
"github.com/aerogo/aero"
)
// Kitsu anime import.
func Kitsu(ctx *aero.Context) string {
// id := ctx.Get("id")
// user := utils.GetUser(ctx)
if true {
return ctx.Error(http.StatusUnauthorized, "Not authorized", nil)
}
return ""
}

View File

@ -13,6 +13,7 @@ component NewKitsuAnime(animes []*kitsu.Anime, url string, user *arn.User)
th Title
th Type
th Year
th Actions
tbody
each anime in animes
tr.mountable
@ -25,4 +26,8 @@ component NewKitsuAnime(animes []*kitsu.Anime, url string, user *arn.User)
td= anime.Attributes.ShowType
td
if len(anime.Attributes.StartDate) >= 4
span= anime.Attributes.StartDate[:4]
span= anime.Attributes.StartDate[:4]
td
button.action(data-action="importKitsuAnime", data-trigger="click", data-id=anime.ID)
Icon("download")
span Import

View File

@ -8,6 +8,7 @@ import (
"github.com/animenotifier/notify.moe/layout"
"github.com/animenotifier/notify.moe/pages/admin"
"github.com/animenotifier/notify.moe/pages/anime"
"github.com/animenotifier/notify.moe/pages/animeimport"
"github.com/animenotifier/notify.moe/pages/animelist"
"github.com/animenotifier/notify.moe/pages/animelistitem"
"github.com/animenotifier/notify.moe/pages/apiview"
@ -221,6 +222,9 @@ func Configure(app *aero.Application) {
l.Page("/shop/history", shop.PurchaseHistory)
app.Post("/api/shop/buy/:item/:quantity", shop.BuyItem)
// Import anime
app.Post("/api/import/kitsu/anime/:id", animeimport.Kitsu)
// Upload
app.Post("/api/upload/avatar", upload.Avatar)
app.Post("/api/upload/cover", upload.Cover)

View File

@ -26,4 +26,18 @@ export function malDiffFilterAnime(arn: AnimeNotifier, input: HTMLInputElement)
let type = arn.app.find("filter-type") as HTMLSelectElement
arn.app.load(`/editor/anime/maldiff/${year.value}/${status.value}/${type.value}`)
}
// Import Kitsu anime
export async function importKitsuAnime(arn: AnimeNotifier, button: HTMLButtonElement) {
let response = await fetch(`/api/import/kitsu/anime/${button.dataset.id}`, {
method: "POST",
credentials: "same-origin"
})
if(response.ok) {
arn.reloadContent()
} else {
arn.statusMessage.showError(await response.text())
}
}