-- SPDX-FileCopyrightText: 2022 Steffen Jost -- -- SPDX-License-Identifier: AGPL-3.0-or-later -- Tables to save data received AVS -- When creating an AvsUser the following cases are possible: -- 1. User does not exist, hence a new UserId ought to be created. -- 2. User does exists and can be matched by UserCompanyPersonalNumber -- 3. User does exists but cannot be matched now :( -- How can the matching be performed later? -- Do we need to merge users? -- > Handler.Utils.UsersassimilateUser UserAvs personId AvsPersonId -- unique identifier for user throughout avs; newtype for Int user UserId noPerson Int default=0 -- only needed for manual communication with personnel from Ausweisverwaltungsstelle UniqueUserAvsUser user UniqueUserAvsId personId deriving Generic Show -- Multiple UserAvsCards per UserAvs is possible and not too uncommon. -- Purpose of saving cards is to detect external changes in qualifications and postal addresses -- TODO: This table will be deleted if AVS CR3 SCF-165 is implemented UserAvsCard personId AvsPersonId cardNo AvsFullCardNo card AvsDataPersonCard lastSynch UTCTime UniqueAvsCard cardNo deriving Generic