Abstract
This page mainly covers the design of the new data models of the Dashboard under Mongoose. This new model should provide a more extendable data storage for the OpenMRS ID.
The goals for this data model is in-line with the Dashboard, that is to provide a one-site service.
For now they're only the most basic one that could cover the old data.
Will Be Updated
User
I'll simply just write some specifications here.
/// user Schema username: <String> // not empty, unique, only contain number and characters, currently at least has a length of 2 firstName: <String> // no requirement lastName: <String> // no requirement displayName: <String> // no requirement, primaryEmail: <String> // not empty, unique, valid email address, one of emailList displayEmail: <String> // valid email address emailList: < [String] > // array of valid email address, not empty, all members are unique password: <String> // not empty, a hashed String groups: < [String] > // no duplicates in the Array, items in this array must be in Groups collection. could only be edited by admin user. locked: <Boolean> // not empty /// additionally all email should be in lowercase
Groups
This model describes user groups.
groupName: <String> // not empty, unique description: <String> // no requirement