27 lines
566 B
D
27 lines
566 B
D
|
module auth.data;
|
||
|
|
||
|
import handy_httpd.components.optional;
|
||
|
import auth.model;
|
||
|
|
||
|
/// The credentials provided by a user to login.
|
||
|
struct LoginCredentials {
|
||
|
string username;
|
||
|
string password;
|
||
|
}
|
||
|
|
||
|
/// A token response sent to the user if they've been authenticated.
|
||
|
struct TokenResponse {
|
||
|
string token;
|
||
|
}
|
||
|
|
||
|
struct RegistrationData {
|
||
|
string username;
|
||
|
string password;
|
||
|
}
|
||
|
|
||
|
interface UserRepository {
|
||
|
Optional!User findByUsername(string username);
|
||
|
User createUser(string username, string passwordHash);
|
||
|
void deleteByUsername(string username);
|
||
|
}
|