camper/pkg/auth/company.go

38 lines
778 B
Go

/*
* 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
}