The UAD modules should create an anonymous user automatically. Admins should then be able to configure which user is the "anonymous" user.
This story makes the following changes:
- There is a new configuration AnonymousUserConfiguration that contains the following properties: companyId, userId
- When a company is registered (either created or during startup), a check is made to see if there is already an AnonymousUserConfiguration for that company. If one is not found, an anonymous user will be automatically created and a new configuration will be saved with the companyId and the new userId.
- A company cannot have more than one anonymous user declared.
- If the anonymous user is deleted, the corresponding configuration will also be deleted.
- The anonymous user cannot be the subject of a Data Erasure request. The portlet will throw an exception if the anonymous user is ever the selected user.
- The anonymous user cannot be the subject of a Data Export request, same as above.
- If the configuration is deleted for a company, the Default User will be returned as the anonymous user until a new anonymous user is declared through the AnonymousUserConfiguration.