#!/bin/bash

if [[ -n ${PHP_VERSION} ]]; then
  IMAGEID=$(docker image ls -q registry.lakedrops.com/docker/l3d/php-${PHP_VERSION} | head -1)
  if [[ ! -n ${IMAGEID} ]]; then
    exit
  fi
  echo "Updating the image ..."
  STATUS=$(docker pull registry.lakedrops.com/docker/l3d/php-${PHP_VERSION}:${VERSION})
  if [[ "$STATUS" == *"Status: Image is up to date"* ]]; then
    echo "Already up to date"
  else
    echo "Image updated"
    NEWIMAGEID=$(docker image ls -q registry.lakedrops.com/docker/l3d/php-${PHP_VERSION}:${VERSION} | head -1)
    while true; do
      IMAGEID=$(docker image ls -q registry.lakedrops.com/docker/l3d/php-${PHP_VERSION} | grep -v ${NEWIMAGEID})
      if [[ -n ${IMAGEID} ]]; then
        while true; do
          ID=$(docker container ls --all -q -f ancestor=${IMAGEID})
          if [[ -n ${ID} ]]; then
            echo "Removing outdated container ..."
            docker kill ${ID} >/dev/null
            docker rm ${ID} >/dev/null
          else
            break
          fi
        done
        echo "Removing outdated image ..."
        docker rmi ${IMAGEID} >/dev/null
      else
        break
      fi
    done
    IMAGEID=$(docker image ls -q registry.lakedrops.com/docker/node:8-jessie-slim)
    if [[ -n ${IMAGEID} ]]; then
      while true; do
        ID=$(docker container ls --all -q -f ancestor=${IMAGEID})
        if [[ -n ${ID} ]]; then
          echo "Removing outdated node container ..."
          docker kill ${ID} >/dev/null
          docker rm ${ID} >/dev/null
        else
          break
        fi
      done
    fi
  fi
fi