[FEATURE] Implement User Model, and User Management API #36

Closed
opened 2026-07-13 21:12:55 +00:00 by PoweredDeveloper · 0 comments

The Backend database is currently empty and does not contain any application entities. There is no user model or API for creating, retrieving, updating, or deleting users, making it impossible to persist user accounts or build authentication and user management features on top of the Backend.

Describe the solution you'd like

Introduce a User entity in the Backend database and implement a set of REST API endpoints for user management.

The implementation should include:

  • Create a User database model and corresponding migration.
  • Define the initial user schema (e.g., UUID, telegram username, telegram name, subscribtion etc).
  • Implement CRUD endpoints for users.
  • Add request and response schemas.
  • Return appropriate HTTP status codes and error responses.
  • Add tests for the implemented endpoints.
Field Type Purpose
id UUID Internal user ID
username String (nullable) Display name
telegram_id BIGINT (nullable, unique) Linked Telegram account
role Enum USER, ADMIN
status Enum ACTIVE, BLOCKED, DELETED
created_at Timestamp Account creation
updated_at Timestamp Last modification

Describe alternatives you've considered

User data could remain unmanaged until authentication is implemented. However, introducing the User entity early establishes the foundation for authentication, authorization, subscriptions, payments, and future user-related functionality.

Additional context

This issue focuses on creating the Backend's first persistent application entity. Authentication, authorization, and business logic related to users are tracked separately and are out of scope for this issue.

Checklist

  • I have checked that this feature is not already requested.
  • I am willing to help implement it (optional).
## Is your feature request related to a problem? The Backend database is currently empty and does not contain any application entities. There is no user model or API for creating, retrieving, updating, or deleting users, making it impossible to persist user accounts or build authentication and user management features on top of the Backend. ## Describe the solution you'd like Introduce a `User` entity in the Backend database and implement a set of REST API endpoints for user management. The implementation should include: * Create a `User` database model and corresponding migration. * Define the initial user schema (e.g., UUID, telegram username, telegram name, subscribtion etc). * Implement CRUD endpoints for users. * Add request and response schemas. * Return appropriate HTTP status codes and error responses. * Add tests for the implemented endpoints. | Field | Type | Purpose | | ------------- | ------------------------- | ------------------------------- | | `id` | UUID | Internal user ID | | `username` | String (nullable) | Display name | | `telegram_id` | BIGINT (nullable, unique) | Linked Telegram account | | `role` | Enum | `USER`, `ADMIN` | | `status` | Enum | `ACTIVE`, `BLOCKED`, `DELETED` | | `created_at` | Timestamp | Account creation | | `updated_at` | Timestamp | Last modification | ## Describe alternatives you've considered User data could remain unmanaged until authentication is implemented. However, introducing the `User` entity early establishes the foundation for authentication, authorization, subscriptions, payments, and future user-related functionality. ## Additional context This issue focuses on creating the Backend's first persistent application entity. Authentication, authorization, and business logic related to users are tracked separately and are out of scope for this issue. ## Checklist * [x] I have checked that this feature is not already requested. * [ ] I am willing to help implement it (optional).
PoweredDeveloper changed title from [FEATURE] Implement User Model, Database Persistence, and User Management API to [FEATURE] Implement User Model, and User Management API 2026-07-13 21:13:43 +00:00
PoweredDeveloper added the due date 2026-07-15 2026-07-13 21:13:56 +00:00
Sign in to join this conversation.
No description provided.