cleaned up errors in go code
This commit is contained in:
		@@ -31,12 +31,15 @@ func AniListQuery(body interface{}, login bool) (json.RawMessage, string) {
 | 
			
		||||
	defer res.Body.Close()
 | 
			
		||||
 | 
			
		||||
	returnedBody, err := io.ReadAll(res.Body)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		return nil, "Could not read the returned body."
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return returnedBody, res.Status
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (a *App) GetAniListItem(aniId int, login bool) AniListGetSingleAnime {
 | 
			
		||||
	var user = a.GetAniListLoggedInUser()
 | 
			
		||||
	user := a.GetAniListLoggedInUser()
 | 
			
		||||
 | 
			
		||||
	var neededVariables interface{}
 | 
			
		||||
 | 
			
		||||
@@ -141,7 +144,7 @@ func (a *App) GetAniListItem(aniId int, login bool) AniListGetSingleAnime {
 | 
			
		||||
	returnedBody, status := AniListQuery(body, login)
 | 
			
		||||
	var post AniListGetSingleAnime
 | 
			
		||||
 | 
			
		||||
	if status == "404 Not Found" && login == false {
 | 
			
		||||
	if status == "404 Not Found" && !login {
 | 
			
		||||
		return post
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
@@ -154,7 +157,7 @@ func (a *App) GetAniListItem(aniId int, login bool) AniListGetSingleAnime {
 | 
			
		||||
		log.Printf("Failed at unmarshal, %s\n", err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	if login == false {
 | 
			
		||||
	if !login {
 | 
			
		||||
		post.Data.MediaList.UserID = user.Data.Viewer.ID
 | 
			
		||||
		post.Data.MediaList.Status = ""
 | 
			
		||||
		post.Data.MediaList.StartedAt.Year = 0
 | 
			
		||||
@@ -249,7 +252,7 @@ func (a *App) AniListSearch(query string) any {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (a *App) GetAniListUserWatchingList(page int, perPage int, sort string) AniListCurrentUserWatchList {
 | 
			
		||||
	var user = a.GetAniListLoggedInUser()
 | 
			
		||||
	user := a.GetAniListLoggedInUser()
 | 
			
		||||
	type Variables struct {
 | 
			
		||||
		Page     int    `json:"page"`
 | 
			
		||||
		PerPage  int    `json:"perPage"`
 | 
			
		||||
 
 | 
			
		||||
@@ -30,11 +30,11 @@ var aniCtxShutdown, aniCancel = context.WithCancel(context.Background())
 | 
			
		||||
 | 
			
		||||
func (a *App) CheckIfAniListLoggedIn() bool {
 | 
			
		||||
	if (AniListJWT{} == aniListJwt) {
 | 
			
		||||
		tokenType, err := aniRing.Get("anilistTokenType")
 | 
			
		||||
		expiresIn, err := aniRing.Get("anilistTokenExpiresIn")
 | 
			
		||||
		accessToken, err := aniRing.Get("anilistAccessToken")
 | 
			
		||||
		refreshToken, err := aniRing.Get("anilistRefreshToken")
 | 
			
		||||
		if err != nil || len(accessToken.Data) == 0 {
 | 
			
		||||
		tokenType, tokenErr := aniRing.Get("anilistTokenType")
 | 
			
		||||
		expiresIn, expiresInErr := aniRing.Get("anilistTokenExpiresIn")
 | 
			
		||||
		refreshToken, refreshTokenErr := aniRing.Get("anilistRefreshToken")
 | 
			
		||||
		accessToken, accessTokenErr := aniRing.Get("anilistAccessToken")
 | 
			
		||||
		if (tokenErr != nil || expiresInErr != nil || refreshTokenErr != nil || accessTokenErr != nil) || len(accessToken.Data) == 0 {
 | 
			
		||||
			return false
 | 
			
		||||
		} else {
 | 
			
		||||
			aniListJwt.TokenType = string(tokenType.Data)
 | 
			
		||||
@@ -50,11 +50,11 @@ func (a *App) CheckIfAniListLoggedIn() bool {
 | 
			
		||||
 | 
			
		||||
func (a *App) AniListLogin() {
 | 
			
		||||
	if (AniListJWT{} == aniListJwt) {
 | 
			
		||||
		tokenType, err := aniRing.Get("anilistTokenType")
 | 
			
		||||
		expiresIn, err := aniRing.Get("anilistTokenExpiresIn")
 | 
			
		||||
		accessToken, err := aniRing.Get("anilistAccessToken")
 | 
			
		||||
		refreshToken, err := aniRing.Get("anilistRefreshToken")
 | 
			
		||||
		if err != nil || len(accessToken.Data) == 0 {
 | 
			
		||||
		tokenType, tokenErr := aniRing.Get("anilistTokenType")
 | 
			
		||||
		expiresIn, expiresInErr := aniRing.Get("anilistTokenExpiresIn")
 | 
			
		||||
		refreshToken, refreshTokenErr := aniRing.Get("anilistRefreshToken")
 | 
			
		||||
		accessToken, accessTokenErr := aniRing.Get("anilistAccessToken")
 | 
			
		||||
		if (tokenErr != nil || expiresInErr != nil || refreshTokenErr != nil || accessTokenErr != nil) || len(accessToken.Data) == 0 {
 | 
			
		||||
			getAniListCodeUrl := "https://anilist.co/api/v2/oauth/authorize?client_id=" + Environment.ANILIST_APP_ID + "&redirect_uri=" + Environment.ANILIST_CALLBACK_URI + "&response_type=code"
 | 
			
		||||
			runtime.BrowserOpenURL(*wailsContext, getAniListCodeUrl)
 | 
			
		||||
 | 
			
		||||
@@ -160,6 +160,9 @@ func getAniListAuthorizationToken(content string) AniListJWT {
 | 
			
		||||
	defer res.Body.Close()
 | 
			
		||||
 | 
			
		||||
	returnedBody, err := io.ReadAll(res.Body)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		log.Printf("Could not read returned body, %s\n.", err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var post AniListJWT
 | 
			
		||||
	err = json.Unmarshal(returnedBody, &post)
 | 
			
		||||
@@ -204,13 +207,12 @@ func (a *App) GetAniListLoggedInUser() AniListUser {
 | 
			
		||||
 | 
			
		||||
func (a *App) LogoutAniList() string {
 | 
			
		||||
	if (AniListJWT{} != aniListJwt) {
 | 
			
		||||
		err := aniRing.Remove("anilistTokenType")
 | 
			
		||||
		err = aniRing.Remove("anilistTokenExpiresIn")
 | 
			
		||||
		err = aniRing.Remove("anilistAccessToken")
 | 
			
		||||
		err = aniRing.Remove("anilistRefreshToken")
 | 
			
		||||
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			fmt.Println("AniList Logout Failed", err)
 | 
			
		||||
		typeErr := aniRing.Remove("anilistTokenType")
 | 
			
		||||
		expiresInErr := aniRing.Remove("anilistTokenExpiresIn")
 | 
			
		||||
		accessTokenErr := aniRing.Remove("anilistAccessToken")
 | 
			
		||||
		refreshTokenErr := aniRing.Remove("anilistRefreshToken")
 | 
			
		||||
		if typeErr != nil || expiresInErr != nil || accessTokenErr != nil || refreshTokenErr != nil {
 | 
			
		||||
			fmt.Println("AniList Logout Failed")
 | 
			
		||||
		}
 | 
			
		||||
		aniListJwt = AniListJWT{}
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										16
									
								
								MALTypes.go
									
									
									
									
									
								
							
							
						
						
									
										16
									
								
								MALTypes.go
									
									
									
									
									
								
							@@ -46,10 +46,10 @@ type MALWatchlist struct {
 | 
			
		||||
			Id          int    `json:"id" ts_type:"id"`
 | 
			
		||||
			Title       string `json:"title" ts_type:"title"`
 | 
			
		||||
			MainPicture struct {
 | 
			
		||||
				Medium string `json:"medium" json:"medium"`
 | 
			
		||||
				Large  string `json:"large" json:"large"`
 | 
			
		||||
			} `json:"main_picture" json:"mainPicture"`
 | 
			
		||||
		} `json:"node" json:"node"`
 | 
			
		||||
				Medium string `json:"medium" ts_type:"medium"`
 | 
			
		||||
				Large  string `json:"large" ts_type:"large"`
 | 
			
		||||
			} `json:"main_picture" ts_type:"mainPicture"`
 | 
			
		||||
		} `json:"node" ts_type:"node"`
 | 
			
		||||
		ListStatus struct {
 | 
			
		||||
			Status             string    `json:"status" ts_type:"status"`
 | 
			
		||||
			Score              int       `json:"score" ts_type:"score"`
 | 
			
		||||
@@ -59,7 +59,7 @@ type MALWatchlist struct {
 | 
			
		||||
			StartDate          string    `json:"start_date" ts_type:"startDate"`
 | 
			
		||||
			FinishDate         string    `json:"finish_date" ts_type:"finishDate"`
 | 
			
		||||
		} `json:"list_status" ts_type:"listStatus"`
 | 
			
		||||
	} `json:"data" json:"data"`
 | 
			
		||||
	} `json:"data" ts_type:"data"`
 | 
			
		||||
	Paging struct {
 | 
			
		||||
		Previous string `json:"previous" ts_type:"previous"`
 | 
			
		||||
		Next     string `json:"next" ts_type:"next"`
 | 
			
		||||
@@ -70,9 +70,9 @@ type MALAnime struct {
 | 
			
		||||
	Id          int    `json:"id" ts_type:"id"`
 | 
			
		||||
	Title       string `json:"title" ts_type:"title"`
 | 
			
		||||
	MainPicture struct {
 | 
			
		||||
		Large  string `json:"large" json:"large"`
 | 
			
		||||
		Medium string `json:"medium" json:"medium"`
 | 
			
		||||
	} `json:"main_picture" json:"mainPicture"`
 | 
			
		||||
		Large  string `json:"large" ts_type:"large"`
 | 
			
		||||
		Medium string `json:"medium" ts_type:"medium"`
 | 
			
		||||
	} `json:"main_picture" ts_type:"mainPicture"`
 | 
			
		||||
	AlternativeTitles struct {
 | 
			
		||||
		Synonyms []string `json:"synonyms" ts_type:"synonyms"`
 | 
			
		||||
		En       string   `json:"en" ts_type:"en"`
 | 
			
		||||
 
 | 
			
		||||
@@ -50,7 +50,7 @@ func base64URLEncode(str []byte) string {
 | 
			
		||||
 | 
			
		||||
func verifier() (*CodeVerifier, error) {
 | 
			
		||||
	r := rand.New(rand.NewSource(time.Now().UnixNano()))
 | 
			
		||||
	b := make([]byte, length, length)
 | 
			
		||||
	b := make([]byte, length)
 | 
			
		||||
	for i := 0; i < length; i++ {
 | 
			
		||||
		b[i] = byte(r.Intn(255))
 | 
			
		||||
	}
 | 
			
		||||
@@ -70,17 +70,19 @@ func (v *CodeVerifier) CodeChallengeS256() string {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (a *App) CheckIfMyAnimeListLoggedIn() bool {
 | 
			
		||||
	fmt.Println("check function reached")
 | 
			
		||||
	if (MyAnimeListJWT{} == myAnimeListJwt) {
 | 
			
		||||
		tokenType, err := myAnimeListRing.Get("MyAnimeListTokenType")
 | 
			
		||||
		expiresIn, err := myAnimeListRing.Get("MyAnimeListExpiresIn")
 | 
			
		||||
		accessToken, err := myAnimeListRing.Get("MyAnimeListAccessToken")
 | 
			
		||||
		refreshToken, err := myAnimeListRing.Get("MyAnimeListRefreshToken")
 | 
			
		||||
		if err != nil || len(accessToken.Data) == 0 {
 | 
			
		||||
		tokenType, tokenErr := myAnimeListRing.Get("MyAnimeListTokenType")
 | 
			
		||||
		expiresIn, expiresInErr := myAnimeListRing.Get("MyAnimeListExpiresIn")
 | 
			
		||||
		refreshToken, refreshTokenErr := myAnimeListRing.Get("MyAnimeListAccessToken")
 | 
			
		||||
		accessToken, accessTokenErr := myAnimeListRing.Get("MyAnimeListRefreshToken")
 | 
			
		||||
		if (tokenErr != nil || expiresInErr != nil || refreshTokenErr != nil || accessTokenErr != nil) || len(accessToken.Data) == 0 {
 | 
			
		||||
			return false
 | 
			
		||||
		} else {
 | 
			
		||||
			var expresInConvertErr error
 | 
			
		||||
			myAnimeListJwt.TokenType = string(tokenType.Data)
 | 
			
		||||
			myAnimeListJwt.ExpiresIn, err = strconv.Atoi(string(expiresIn.Data))
 | 
			
		||||
			if err != nil {
 | 
			
		||||
			myAnimeListJwt.ExpiresIn, expresInConvertErr = strconv.Atoi(string(expiresIn.Data))
 | 
			
		||||
			if expresInConvertErr != nil {
 | 
			
		||||
				fmt.Println("unable to convert string to int")
 | 
			
		||||
			}
 | 
			
		||||
			myAnimeListJwt.AccessToken = string(accessToken.Data)
 | 
			
		||||
@@ -93,12 +95,14 @@ func (a *App) CheckIfMyAnimeListLoggedIn() bool {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (a *App) MyAnimeListLogin() {
 | 
			
		||||
	if a.CheckIfMyAnimeListLoggedIn() == false {
 | 
			
		||||
		tokenType, err := myAnimeListRing.Get("MyAnimeListTokenType")
 | 
			
		||||
		expiresIn, err := myAnimeListRing.Get("MyAnimeListExpiresIn")
 | 
			
		||||
		accessToken, err := myAnimeListRing.Get("MyAnimeListAccessToken")
 | 
			
		||||
		refreshToken, err := myAnimeListRing.Get("MyAnimeListRefreshToken")
 | 
			
		||||
		if err != nil || len(accessToken.Data) == 0 {
 | 
			
		||||
	fmt.Println("login function reached")
 | 
			
		||||
	if !a.CheckIfMyAnimeListLoggedIn() {
 | 
			
		||||
		fmt.Println("check logged in function failed")
 | 
			
		||||
		tokenType, tokenErr := myAnimeListRing.Get("MyAnimeListTokenType")
 | 
			
		||||
		expiresIn, expiresInErr := myAnimeListRing.Get("MyAnimeListExpiresIn")
 | 
			
		||||
		refreshToken, refreshTokenErr := myAnimeListRing.Get("MyAnimeListAccessToken")
 | 
			
		||||
		accessToken, accessTokenErr := myAnimeListRing.Get("MyAnimeListRefreshToken")
 | 
			
		||||
		if (tokenErr != nil || expiresInErr != nil || refreshTokenErr != nil || accessTokenErr != nil) || len(accessToken.Data) == 0 {
 | 
			
		||||
			verifier, _ := verifier()
 | 
			
		||||
			getMyAnimeListCodeUrl := "https://myanimelist.net/v1/oauth2/authorize?response_type=code&client_id=" + Environment.MAL_CLIENT_ID + "&redirect_uri=" + Environment.MAL_CALLBACK_URI + "&code_challenge=" + verifier.Value + "&code_challenge_method=plain"
 | 
			
		||||
			runtime.BrowserOpenURL(*wailsContext, getMyAnimeListCodeUrl)
 | 
			
		||||
@@ -107,9 +111,10 @@ func (a *App) MyAnimeListLogin() {
 | 
			
		||||
			a.handleMyAnimeListCallback(serverDone, verifier)
 | 
			
		||||
			serverDone.Wait()
 | 
			
		||||
		} else {
 | 
			
		||||
			var expresInConvertErr error
 | 
			
		||||
			myAnimeListJwt.TokenType = string(tokenType.Data)
 | 
			
		||||
			myAnimeListJwt.ExpiresIn, err = strconv.Atoi(string(expiresIn.Data))
 | 
			
		||||
			if err != nil {
 | 
			
		||||
			myAnimeListJwt.ExpiresIn, expresInConvertErr = strconv.Atoi(string(expiresIn.Data))
 | 
			
		||||
			if expresInConvertErr != nil {
 | 
			
		||||
				fmt.Println("unable to convert string to int in Login function")
 | 
			
		||||
			}
 | 
			
		||||
			myAnimeListJwt.AccessToken = string(accessToken.Data)
 | 
			
		||||
@@ -218,6 +223,9 @@ func getMyAnimeListAuthorizationToken(content string, verifier *CodeVerifier) My
 | 
			
		||||
	defer res.Body.Close()
 | 
			
		||||
 | 
			
		||||
	returnedBody, err := io.ReadAll(res.Body)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		log.Printf("Could not read returned body, %s\n", err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var post MyAnimeListJWT
 | 
			
		||||
	err = json.Unmarshal(returnedBody, &post)
 | 
			
		||||
@@ -265,6 +273,9 @@ func refreshMyAnimeListAuthorizationToken() {
 | 
			
		||||
	defer res.Body.Close()
 | 
			
		||||
 | 
			
		||||
	returnedBody, err := io.ReadAll(res.Body)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		log.Printf("Could not read returned body, %s\n", err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	err = json.Unmarshal(returnedBody, &myAnimeListJwt)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
@@ -291,12 +302,9 @@ func refreshMyAnimeListAuthorizationToken() {
 | 
			
		||||
		Title:   "MyAnimeList Authorization",
 | 
			
		||||
		Message: "It is now safe to close your browser tab",
 | 
			
		||||
	})
 | 
			
		||||
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		fmt.Println(err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (a *App) GetMyAnimeListLoggedInUser() MyAnimeListUser {
 | 
			
		||||
@@ -311,7 +319,6 @@ func (a *App) GetMyAnimeListLoggedInUser() MyAnimeListUser {
 | 
			
		||||
	req.Header.Add("myAnimeList-api-key", Environment.MAL_CLIENT_ID)
 | 
			
		||||
 | 
			
		||||
	response, err := client.Do(req)
 | 
			
		||||
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		log.Printf("Failed at request, %s\n", err)
 | 
			
		||||
		return MyAnimeListUser{}
 | 
			
		||||
@@ -333,13 +340,12 @@ func (a *App) GetMyAnimeListLoggedInUser() MyAnimeListUser {
 | 
			
		||||
 | 
			
		||||
func (a *App) LogoutMyAnimeList() string {
 | 
			
		||||
	if (MyAnimeListJWT{} != myAnimeListJwt) {
 | 
			
		||||
		err := myAnimeListRing.Remove("MyAnimeListTokenType")
 | 
			
		||||
		err = myAnimeListRing.Remove("MyAnimeListExpiresIn")
 | 
			
		||||
		err = myAnimeListRing.Remove("MyAnimeListAccessToken")
 | 
			
		||||
		err = myAnimeListRing.Remove("MyAnimeListRefreshToken")
 | 
			
		||||
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			fmt.Println("MAL Logout Failed", err)
 | 
			
		||||
		typeErr := myAnimeListRing.Remove("MyAnimeListTokenType")
 | 
			
		||||
		expiresInErr := myAnimeListRing.Remove("MyAnimeListExpiresIn")
 | 
			
		||||
		accessTokenErr := myAnimeListRing.Remove("MyAnimeListAccessToken")
 | 
			
		||||
		refreshTokenErr := myAnimeListRing.Remove("MyAnimeListRefreshToken")
 | 
			
		||||
		if typeErr != nil || expiresInErr != nil || accessTokenErr != nil || refreshTokenErr != nil {
 | 
			
		||||
			fmt.Println("MAL Logout Failed")
 | 
			
		||||
		}
 | 
			
		||||
		myAnimeListJwt = MyAnimeListJWT{}
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
@@ -31,7 +31,6 @@ func SimklHelper(method string, url string, body interface{}) json.RawMessage {
 | 
			
		||||
	req.Header.Add("simkl-api-key", Environment.SIMKL_CLIENT_ID)
 | 
			
		||||
 | 
			
		||||
	resp, err := client.Do(req)
 | 
			
		||||
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		fmt.Println("Errored when sending request to the server")
 | 
			
		||||
		message, _ := json.Marshal(struct {
 | 
			
		||||
@@ -47,7 +46,6 @@ func SimklHelper(method string, url string, body interface{}) json.RawMessage {
 | 
			
		||||
	respBody, _ := io.ReadAll(resp.Body)
 | 
			
		||||
 | 
			
		||||
	return respBody
 | 
			
		||||
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (a *App) SimklGetUserWatchlist() SimklWatchListType {
 | 
			
		||||
@@ -62,7 +60,6 @@ func (a *App) SimklGetUserWatchlist() SimklWatchListType {
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	err := json.Unmarshal(respBody, &errCheck)
 | 
			
		||||
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		log.Printf("Failed at unmarshal, %s\n", err)
 | 
			
		||||
	}
 | 
			
		||||
@@ -85,7 +82,6 @@ func (a *App) SimklGetUserWatchlist() SimklWatchListType {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (a *App) SimklSyncEpisodes(anime SimklAnime, progress int) SimklAnime {
 | 
			
		||||
 | 
			
		||||
	var episodes []Episode
 | 
			
		||||
	var url string
 | 
			
		||||
	var shows []SimklPostShow
 | 
			
		||||
@@ -140,7 +136,7 @@ func (a *App) SimklSyncEpisodes(anime SimklAnime, progress int) SimklAnime {
 | 
			
		||||
 | 
			
		||||
func (a *App) SimklSyncRating(anime SimklAnime, rating int) SimklAnime {
 | 
			
		||||
	var url string
 | 
			
		||||
	var showWithRating = ShowWithRating{
 | 
			
		||||
	showWithRating := ShowWithRating{
 | 
			
		||||
		Title: anime.Show.Title,
 | 
			
		||||
		Ids: Ids{
 | 
			
		||||
			Simkl:   anime.Show.Ids.Simkl,
 | 
			
		||||
@@ -150,7 +146,7 @@ func (a *App) SimklSyncRating(anime SimklAnime, rating int) SimklAnime {
 | 
			
		||||
		Rating: rating,
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var showWithoutRating = ShowWithoutRating{
 | 
			
		||||
	showWithoutRating := ShowWithoutRating{
 | 
			
		||||
		Title: anime.Show.Title,
 | 
			
		||||
		Ids: Ids{
 | 
			
		||||
			Simkl:   anime.Show.Ids.Simkl,
 | 
			
		||||
@@ -197,7 +193,7 @@ func (a *App) SimklSyncRating(anime SimklAnime, rating int) SimklAnime {
 | 
			
		||||
 | 
			
		||||
func (a *App) SimklSyncStatus(anime SimklAnime, status string) SimklAnime {
 | 
			
		||||
	url := "https://api.simkl.com/sync/add-to-list"
 | 
			
		||||
	var show = SimklShowStatus{
 | 
			
		||||
	show := SimklShowStatus{
 | 
			
		||||
		Title: anime.Show.Title,
 | 
			
		||||
		Ids: Ids{
 | 
			
		||||
			Simkl:   anime.Show.Ids.Simkl,
 | 
			
		||||
@@ -300,7 +296,7 @@ func (a *App) SimklSyncRemove(anime SimklAnime) bool {
 | 
			
		||||
	url := "https://api.simkl.com/sync/history/remove"
 | 
			
		||||
	var showArray []SimklShowStatus
 | 
			
		||||
 | 
			
		||||
	var singleShow = SimklShowStatus{
 | 
			
		||||
	singleShow := SimklShowStatus{
 | 
			
		||||
		Title: anime.Show.Title,
 | 
			
		||||
		Ids: Ids{
 | 
			
		||||
			Simkl:   anime.Show.Ids.Simkl,
 | 
			
		||||
@@ -349,5 +345,4 @@ func WatchListUpdate(anime SimklAnime) {
 | 
			
		||||
	if !updated {
 | 
			
		||||
		SimklWatchList.Anime = append(SimklWatchList.Anime, anime)
 | 
			
		||||
	}
 | 
			
		||||
	return
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -28,10 +28,10 @@ var simklCtxShutdown, simklCancel = context.WithCancel(context.Background())
 | 
			
		||||
 | 
			
		||||
func (a *App) CheckIfSimklLoggedIn() bool {
 | 
			
		||||
	if (SimklJWT{} == simklJwt) {
 | 
			
		||||
		tokenType, err := simklRing.Get("SimklTokenType")
 | 
			
		||||
		accessToken, err := simklRing.Get("SimklAccessToken")
 | 
			
		||||
		scope, err := simklRing.Get("SimklScope")
 | 
			
		||||
		if err != nil || len(accessToken.Data) == 0 {
 | 
			
		||||
		tokenType, tokenTypeErr := simklRing.Get("SimklTokenType")
 | 
			
		||||
		accessToken, accessTokenErr := simklRing.Get("SimklAccessToken")
 | 
			
		||||
		scope, scopeErr := simklRing.Get("SimklScope")
 | 
			
		||||
		if (tokenTypeErr != nil || accessTokenErr != nil || scopeErr != nil) || len(accessToken.Data) == 0 {
 | 
			
		||||
			return false
 | 
			
		||||
		} else {
 | 
			
		||||
			simklJwt.TokenType = string(tokenType.Data)
 | 
			
		||||
@@ -45,11 +45,11 @@ func (a *App) CheckIfSimklLoggedIn() bool {
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
func (a *App) SimklLogin() {
 | 
			
		||||
	if a.CheckIfSimklLoggedIn() == false {
 | 
			
		||||
		tokenType, err := simklRing.Get("SimklTokenType")
 | 
			
		||||
		accessToken, err := simklRing.Get("SimklAccessToken")
 | 
			
		||||
		scope, err := simklRing.Get("SimklScope")
 | 
			
		||||
		if err != nil || len(accessToken.Data) == 0 {
 | 
			
		||||
	if !a.CheckIfSimklLoggedIn() {
 | 
			
		||||
		tokenType, tokenTypeErr := simklRing.Get("SimklTokenType")
 | 
			
		||||
		accessToken, accessTokenErr := simklRing.Get("SimklAccessToken")
 | 
			
		||||
		scope, scopeErr := simklRing.Get("SimklScope")
 | 
			
		||||
		if (tokenTypeErr != nil || accessTokenErr != nil || scopeErr != nil) || len(accessToken.Data) == 0 {
 | 
			
		||||
			getSimklCodeUrl := "https://simkl.com/oauth/authorize?response_type=code&client_id=" + Environment.SIMKL_CLIENT_ID + "&redirect_uri=" + Environment.SIMKL_CALLBACK_URI
 | 
			
		||||
			runtime.BrowserOpenURL(*wailsContext, getSimklCodeUrl)
 | 
			
		||||
 | 
			
		||||
@@ -155,6 +155,9 @@ func getSimklAuthorizationToken(content string) SimklJWT {
 | 
			
		||||
	defer res.Body.Close()
 | 
			
		||||
 | 
			
		||||
	returnedBody, err := io.ReadAll(res.Body)
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		log.Printf("Could not read returned body, %s\n.", err)
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	var post SimklJWT
 | 
			
		||||
	err = json.Unmarshal(returnedBody, &post)
 | 
			
		||||
@@ -177,7 +180,6 @@ func (a *App) GetSimklLoggedInUser() SimklUser {
 | 
			
		||||
	req.Header.Add("simkl-api-key", Environment.SIMKL_CLIENT_ID)
 | 
			
		||||
 | 
			
		||||
	response, err := client.Do(req)
 | 
			
		||||
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		log.Printf("Failed at request, %s\n", err)
 | 
			
		||||
		return SimklUser{}
 | 
			
		||||
@@ -193,7 +195,6 @@ func (a *App) GetSimklLoggedInUser() SimklUser {
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	err = json.Unmarshal(respBody, &errCheck)
 | 
			
		||||
 | 
			
		||||
	if err != nil {
 | 
			
		||||
		log.Printf("Failed at unmarshal, %s\n", err)
 | 
			
		||||
	}
 | 
			
		||||
@@ -215,12 +216,12 @@ func (a *App) GetSimklLoggedInUser() SimklUser {
 | 
			
		||||
 | 
			
		||||
func (a *App) LogoutSimkl() string {
 | 
			
		||||
	if (SimklJWT{} != simklJwt) {
 | 
			
		||||
		err := simklRing.Remove("SimklTokenType")
 | 
			
		||||
		err = simklRing.Remove("SimklAccessToken")
 | 
			
		||||
		err = simklRing.Remove("SimklScope")
 | 
			
		||||
		tokenTypeErr := simklRing.Remove("SimklTokenType")
 | 
			
		||||
		accessTokenErr := simklRing.Remove("SimklAccessToken")
 | 
			
		||||
		scopeErr := simklRing.Remove("SimklScope")
 | 
			
		||||
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			fmt.Println("Simkl Logout Failed", err)
 | 
			
		||||
		if tokenTypeErr != nil || accessTokenErr != nil || scopeErr != nil {
 | 
			
		||||
			fmt.Println("Simkl Logout Failed")
 | 
			
		||||
		}
 | 
			
		||||
		simklJwt = SimklJWT{}
 | 
			
		||||
	}
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user