first commit
Some checks failed
Code quality checks / biome (push) Failing after 11s

This commit is contained in:
creations 2025-06-10 13:42:39 -04:00
commit 421043c9b5
Signed by: creations
GPG key ID: 8F553AA4320FC711
67 changed files with 3455 additions and 0 deletions

View file

@ -0,0 +1 @@
export * from "./user";

View file

@ -0,0 +1,28 @@
interface BaseResponse {
code: number;
success: boolean;
error?: string;
message?: string;
}
interface UserResponse {
id: string;
username: string;
email: string;
isVerified: boolean;
createdAt: string;
displayName: string | null;
}
interface UserRow {
id: string;
username: string;
display_name: string | null;
email: string;
password: string;
is_verified: boolean;
created_at: Date;
updated_at: Date;
}
export type { BaseResponse, UserResponse, UserRow };

View file

@ -0,0 +1,6 @@
export * from "./base";
export * from "./responses";
export * from "./register";
export * from "./login";
export * from "./update";

View file

@ -0,0 +1,12 @@
import type { BaseResponse, UserResponse } from "./base";
interface LoginRequest {
identifier: string; // Username or email
password: string;
}
interface LoginResponse extends BaseResponse {
user?: UserResponse;
}
export type { LoginRequest, LoginResponse };

View file

@ -0,0 +1,7 @@
interface UpdatePasswordRequest {
currentPassword: string;
newPassword: string;
logoutAllSessions?: boolean; // defaults to false
}
export type { UpdatePasswordRequest };

View file

@ -0,0 +1,14 @@
import type { BaseResponse, UserResponse } from "./base";
interface RegisterRequest {
username: string;
displayName: string | null;
email: string;
password: string;
}
interface RegisterResponse extends BaseResponse {
user?: UserResponse;
}
export type { RegisterRequest, RegisterResponse };

View file

@ -0,0 +1,7 @@
import type { BaseResponse, UserResponse } from "./base";
interface UserInfoResponse extends BaseResponse {
user?: UserResponse;
}
export type { UserInfoResponse };

View file

@ -0,0 +1,2 @@
export * from "./info";
export * from "./password";

View file

@ -0,0 +1,13 @@
import type { BaseResponse, UserResponse } from "../base";
interface UpdateInfoRequest {
username?: string;
displayName?: string | null;
email?: string;
}
interface UpdateInfoResponse extends BaseResponse {
user?: UserResponse;
}
export type { UpdateInfoRequest, UpdateInfoResponse };

View file

@ -0,0 +1,14 @@
import type { BaseResponse, UserResponse } from "../base";
interface UpdatePasswordRequest {
currentPassword: string;
newPassword: string;
logoutAllSessions?: boolean; // defaults to false
}
interface UpdatePasswordResponse extends BaseResponse {
user?: UserResponse;
loggedOutSessions?: number;
}
export type { UpdatePasswordRequest, UpdatePasswordResponse };