26 lines
1.4 KiB
Plaintext
26 lines
1.4 KiB
Plaintext
-- SPDX-FileCopyrightText: 2022-24 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 A change to AvsId as primary key is too much work and not strictly necessary due to Uniqueness
|
|
avsId Int default=0 -- primary key from avs, use negative numbers for non-AVS companies
|
|
prefersPostal Bool default=false -- new company users prefers letters by post instead of email
|
|
postAddress StoredMarkup Maybe -- default company postal address, including company name
|
|
email UserEmail Maybe -- Case-insensitive generic company eMail address
|
|
UniqueCompanyName name
|
|
-- UniqueCompanyShorthand shorthand -- unnecessary, since it is the primary key already
|
|
UniqueCompanyAvsId avsId
|
|
Primary shorthand -- newtype Key Company = CompanyKey { unCompanyKey :: CompanyShorthand }
|
|
deriving Ord Eq Show Generic Binary
|
|
|
|
-- -- TODO: a way to populate this table (manually)
|
|
-- CompanySynonym
|
|
-- synonym CompanyName
|
|
-- canonical CompanyShorthand OnDeleteCascade OnUpdateCascade -- DEPRECATED: should be CompanyId
|
|
-- UniqueCompanySynonym synonym
|
|
-- deriving Ord Eq Show Generic
|