from data.database import QuayRelease, QuayRegion, QuayService


def set_region_release(service_name, region_name, version):
  service, _ = QuayService.create_or_get(name=service_name)
  region, _ = QuayRegion.create_or_get(name=region_name)

  return QuayRelease.create_or_get(service=service, version=version, region=region)


def get_recent_releases(service_name, region_name):
  return (QuayRelease
          .select(QuayRelease)
          .join(QuayService)
          .switch(QuayRelease)
          .join(QuayRegion)
          .where(QuayService.name == service_name,
                 QuayRegion.name == region_name,
                 QuayRelease.reverted == False,
                )
          .order_by(QuayRelease.created.desc()))