import { UserProfiles } from "../../../models/index.js";
import { Not } from "typeorm";
import { queueLogger } from "../../logger.js";
import { verifyLink } from "../../../services/fetch-rel-me.js";
const logger = queueLogger.createSubLogger("verify-links");
export async function verifyLinks() {
    logger.info("Verifying links...");
    const usersToVerify = await UserProfiles.findBy({
        fields: Not(null),
        userHost: ""
    });
    for (const user of usersToVerify){
        for (const field of user.fields){
            if (!field || field.name === "" || field.value === "") {
                continue;
            }
            if (field.value.startsWith("http") && user.user?.username) {
                field.verified = await verifyLink(field.value, user.user.username);
            }
        }
        if (user.fields.length > 0) {
            try {
                await UserProfiles.update(user.userId, {
                    fields: user.fields
                });
            } catch (e) {
                logger.error(`Failed to update user ${user.userId} ${e}`);
                throw e;
            }
        }
    }
    logger.succ("All links successfully verified.");
    return "Success";
}
