Warning: session_start(): open(/var/lib/php/sessions/sess_vp7mp26snn9fg8qbdo1bnaa56r, O_RDWR) failed: No space left on device (28) in /var/www/tb-usercake/models/config.php on line 51
Warning: session_start(): Failed to read session data: files (path: /var/lib/php/sessions) in /var/www/tb-usercake/models/config.php on line 51
!7
concept AUser {
S globalID = aLongGlobalID();
S userName, email, realName;
long lastSeen;
}
cmodule AssistantUsers > DynCRUD {
// API
S userIDForEmail(S email) {
ret getString globalID(conceptWhereIC(AUser, +email));
}
S userIDForName(S userName) {
ret getString globalID(conceptWhereIC(AUser, +userName));
}
void updateLastSeen(S userID) {
cset(conceptWhere(AUser, globalID := userID), lastSeen := now());
}
S registerUser(S email, S passwordHash) {
if (userIDForEmail(email) != null)
ret "User exists already";
if (!isValidEmailAddress(email))
ret "Not a valid e-mail address";
if (!isMD5(passwordHash))
ret "Internal error";
AUser user = uniq_sync(AUser, +email);
dm_call(dm_assistant_passwordsCRUD(), 'savePassword, user.globalID, passwordHash);
ret "User registered!";
}
}