JsonSerializeable interface.
Letting concrete models handle declaring the id property.
Taking hashed password protected, as it is never read, only set, and through a mutator method, at that.
Correcting dumb SQL mistake.
Correcting dumb SQL mistake.