func updateLogoFromConfigurations()

in cobra/controller/render.go [179:217]


func updateLogoFromConfigurations(profile string) error {
	if aid.ConfigurationsDirectoryExist() {
		if aid.CredentialsFileExist() && aid.ConfigurationsFileExist() {

			// ignore error, as credentials doesn't exist
			cred, err := dao.GetCredentialByProvider(profile, "unsplash")
			if err != nil {
				logrus.Warnf("no unsplash credential found\n%v", err)
				return nil
			}

			if cred.AccessKey != "" && cred.SecretKey != "" {
				readMe, err := dao.GetReadMe()
				if err != nil {
					return fmt.Errorf("Unable to get local readme config\n%v", err)
				}

				params := dao.GetUnsplashRandomPhotoParameters(profile)
				if (model.UnsplashRandomPhotoParameters{}) == params {
					logrus.Warnf("no unsplash random photo parameters configuration found or enabled\n%v", err)
					return nil
				}

				response, err := aid.RequestRandomPhoto(params, cred)
				if err != nil {
					logrus.Warnf("unable to fetch response from unsplash during render command\n%v", err)
					return err
				}

				err = aid.UpdateReadMeLogoURL(readMe, response)
				if err != nil {
					return fmt.Errorf("unable to update logo URL\n%s", err)
				}
			}
		}
	}

	return nil
}