/*
 * SPDX-FileCopyrightText: 2023 jordi fita mas <jfita@peritasoft.com>
 * SPDX-License-Identifier: AGPL-3.0-only
 */

package auth

import (
	"context"
	"golang.org/x/text/language"

	"dev.tandem.ws/tandem/camper/pkg/database"
	"dev.tandem.ws/tandem/camper/pkg/locale"
)

type Company struct {
	ID              int
	DefaultLanguage language.Tag
	Locales         locale.Locales
}

func CompanyByHost(ctx context.Context, conn *database.Conn, host string, allLocales locale.Locales) (*Company, error) {
	company := &Company{
		Locales:         allLocales,
		DefaultLanguage: language.Catalan,
	}
	if err := conn.QueryRow(ctx, `
		select company_id
		from company_host
		where host = $1
	`, host).Scan(
		&company.ID,
	); err != nil {
		return nil, err
	}
	return company, nil
}