# If you come from bash you might have to change your $PATH.
export GOPATH="$HOME/.go"
export PATH=$HOME/.bin:$HOME/var/bin:/usr/local/bin:$PATH:$HOME/.go/bin


export ZSH="$HOME/.oh-my-zsh"

ZSH_THEME="robbyrussell"

plugins=(git z fzf asdf direnv yarn)

eval "$(aws configure export-credentials --profile np-farmers --format env)"

source $ZSH/oh-my-zsh.sh

# See ~/.aliases for the various aliases seen in here
source "$HOME/.aliases"

newemail () {
	curl -X POST --user colin@unbl.ink:$(pass personal/colin@unbl.ink | head -n 1) -d "address=$1@unbl.ink" -d "forwards_to=colin@unbl.ink" https://box.unbl.ink/admin/mail/aliases/add
}

yayup () {
  mv ~/.asdf ~/.asdf.bak
  yay -S --noconfirm archlinux-keyring endeavouros-keyring
  yay -Syu --noconfirm
  mv ~/.asdf.bak ~/.asdf
}

repo_go() {
  asso registries-read
  export PRIVATE_REPO_TOKEN="$(aws codeartifact get-authorization-token --domain sure --query authorizationToken --output text --profile registries-read)"
  export CODEARTIFACT_AUTH_TOKEN="$PRIVATE_REPO_TOKEN"
  poetry config http-basic.codeartifact aws $PRIVATE_REPO_TOKEN
  aws codeartifact login --namespace sureapp --tool npm --repository npm --domain sure --domain-owner 348777858795 --profile registries-read
}

ghlogin() {
  npm login --registry=https://npm.pkg.github.com --scope=@sureapp
}

poetry-install() {
  repo_go
  poetry install
}

sush() {
  if [[ $1 == "sbx" ]]
  then
    asso sure-inc
    aws eks update-kubeconfig --name surepreme-sandbox-k8s-use1 --profile $argv
    kubectl exec -it $(kubectl get pods | fzf | awk '{print $1}'|head -n 1) -- bash
  fi

  if [[ $1 == "qa" ]]
  then
    qaeks np-farmers
    kubectl exec -it $(kubectl get pods | fzf | awk '{print $1}'|head -n 1) -- bash
  fi

  if [[ $1 == "prod" ]]
  then
    asso sure-inc
    aws eks update-kubeconfig --name surepreme-production-k8s-use1 --profile sure-inc
    kubectl exec -it -n bastion $(kubectl get pod -n bastion | grep "surepreme.*bastion" | head -n 1 | awk '{print $1}') -- bash
  fi
}

portforward() {
    asso np-farmers
    qaeks np-farmers
    kubectl port-forward $(kubectl get pods | fzf | awk '{print $1}'|head -n 1) $1:8080
}

alias qa="sush qa"
alias sbx="sush sbx"
alias prod="sush prod"

prep_pg_for_sure() {
    psql -U sure postgres -c "CREATE USER sure SUPERUSER"
    psql -U sure postgres -c "CREATE USER surepremeroot SUPERUSER"
    psql -U sure postgres -c "CREATE USER rdsadmin SUPERUSER"
}
refresh_sure_db() {
    echo "This will likely take about 10 minutes"
    #asso np-farmers
    #aws s3 cp --profile np-farmers s3://farmers-qa-rds-exports/pg_dumps/farmers_latest.pgdump /tmp/qa_farmers_latest.pgdump
    dropdb -U sure surepreme --force
    createdb -U sure surepreme
    psql -U sure surepreme -c "CREATE EXTENSION postgis"
    pg_restore -d surepreme /tmp/qa_farmers_latest.pgdump
    #rm /tmp/qa_farmers_latest.pgdump
    echo "Database `surepreme` successfully restores from QA data"
}

[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh

for f in ~/.dotfiles.sure/bash/*.sh; do source $f; done
for f in ~/.dotfiles.sure/direnv/*.sh; do source $f; done

eval "$(atuin init zsh)"
export AWS_PROFILE=sure-inc

local hostname="%{$fg_bold[white]%}%m"

PROMPT="${hostname} ${PROMPT}"

export PATH="$HOME/.yarn/bin:$HOME/.config/yarn/global/node_modules/.bin:$PATH"
