"""Record accepted pushes, including those outside the HTTP application."""
import datetime
from pathlib import Path
import sqlite3
import sys


def main():
    database, owner, name = sys.argv[1:]
    if not any(line.strip() for line in sys.stdin):
        return
    now = datetime.datetime.now(datetime.timezone.utc).replace(microsecond=0).isoformat().replace("+00:00", "Z")
    # Never create a new database if a deployment points at a missing store.
    with sqlite3.connect(Path(database).as_uri() + "?mode=rw", uri=True, timeout=30) as connection:
        connection.execute(
            "UPDATE repositories SET updated_at=? WHERE name=? AND owner_id=(SELECT id FROM users WHERE username=?)",
            (now, name, owner),
        )


if __name__ == "__main__":
    main()
