<?php
require_once __DIR__ . '/DB.php';

class Tag {
    public static function addOriginal(int $imageId, string $tag): void {
        self::add($imageId, null, $tag, true);
    }

    public static function addUserTag(int $imageId, int $userId, string $tag): void {
        self::add($imageId, $userId, $tag, false);
    }

    private static function add(int $imageId, ?int $userId, string $tag, bool $isOriginal): void {
        $db = DB::get();
        $stmt = $db->prepare("
            INSERT INTO image_tags (image_id, user_id, tag_text, is_original, created_at)
            VALUES (:image_id, :user_id, :tag_text, :is_original, NOW())
        ");
        $stmt->execute([
            ':image_id'   => $imageId,
            ':user_id'    => $userId,
            ':tag_text'   => $tag,
            ':is_original'=> $isOriginal ? 1 : 0,
        ]);
    }
}