-- SPDX-FileCopyrightText: 2022 Sarah Vaupel <sarah.vaupel@ifi.lmu.de>,Steffen Jost <jost@tcs.ifi.lmu.de>
--
-- SPDX-License-Identifier: AGPL-3.0-or-later

-- Description of companies associated with users

Company
  name        CompanyName             -- == (CI Text)
  shorthand   CompanyShorthand        -- == (CI Text) and CompanyKey :: CompanyShorthand -> CompanyId    FUTURE TODO: a shorthand will become available through the AVS interface in the future
  -- postAddress StoredMarkup Maybe   --
  -- avsId     Int                    -- FUTURE TODO: once this number becomes available through AVS interface; this could be the primary key   
  UniqueCompanyName name 
  UniqueCompanyShorthand shorthand
  Primary shorthand             -- newtype Key Company = CompanyKey { unSchoolKey :: CompanyShorthand }
  deriving Ord Eq Show Generic

-- TODO: a way to populate this table (manually)
CompanySynonym
  synonym     CompanyName
  canonical   CompanyShorthand
  UniqueCompanySynonym synonym
  deriving Ord Eq Show Generic