Commit Graph

23 Commits

Author SHA1 Message Date
d92c9a747e feat: implement pagination for user retrieval and update feed fetching logic
All checks were successful
Build and Deploy Thoughts / build-and-deploy-local (push) Successful in 2m30s
2025-09-09 02:53:24 +02:00
863bc90c6f feat: add endpoint to retrieve a public list of all users
All checks were successful
Build and Deploy Thoughts / build-and-deploy-local (push) Successful in 1m13s
2025-09-09 02:28:00 +02:00
6efab333f3 Remove federation functionality and related tests
- Deleted the `federation.rs` module and its associated functionality for federating thoughts to followers.
- Removed the `well_known.rs` module and its WebFinger discovery functionality.
- Eliminated references to federation in the `thought.rs` router and removed the spawning of background tasks for federating thoughts.
- Deleted tests related to WebFinger and user inbox interactions in `activitypub.rs`.
- Updated `Cargo.toml` to remove the `activitypub_federation` dependency.
2025-09-07 17:22:58 +02:00
40695b7ad3 feat: implement thought thread retrieval with replies and visibility filtering 2025-09-07 14:47:30 +02:00
69eb225c1e feat: implement full-text search functionality with API integration, add search router and persistence logic, and create related schemas and tests 2025-09-07 12:36:03 +02:00
dc92945962 feat: implement friends API with routes to get friends list and update thought visibility logic 2025-09-06 22:14:47 +02:00
bf7c6501c6 feat: update JSON keys in user profile and top friends API for consistency 2025-09-06 22:04:38 +02:00
8552858c8c feat: add user following and followers endpoints, update user profile response structure 2025-09-06 19:43:46 +02:00
82c6de8da8 feat: add visibility feature to thoughts, including new enum, database migration, and update related endpoints and tests 2025-09-06 17:42:50 +02:00
0abd275946 feat: add reply functionality to thoughts, including database migration and tests 2025-09-06 16:58:11 +02:00
728bf0e231 feat: enhance user registration and follow functionality, add popular tags endpoint, and update tests 2025-09-06 16:49:38 +02:00
508f218fc0 feat(api_key): implement API key management with creation, retrieval, and deletion endpoints 2025-09-06 16:18:32 +02:00
b83b7acf1c feat: Refactor user and thought models to use UUIDs instead of integers
- Updated user and thought models to utilize UUIDs for primary keys.
- Modified persistence functions to accommodate UUIDs for user and thought IDs.
- Implemented tag functionality with new Tag and ThoughtTag models.
- Added migration scripts to create new tables for tags and thought-tag relationships.
- Enhanced thought creation to parse hashtags and link them to thoughts.
- Updated tests to reflect changes in user and thought ID types.
2025-09-06 15:29:38 +02:00
c9e99e6f23 feat: add user profile management with update and retrieval endpoints, enhance database setup for testing 2025-09-06 14:24:27 +02:00
6e63dca513 feat: add environment configuration for database and authentication, update router setup 2025-09-06 01:55:59 +02:00
3dd6c0f64b feat(activitypub): implement user outbox endpoint and federate thoughts to followers 2025-09-06 01:46:11 +02:00
e9c4088e68 feat(activitypub): implement user inbox for receiving follow activities and add corresponding tests 2025-09-06 01:37:23 +02:00
c7c573f3f4 feat: Implement WebFinger discovery and ActivityPub user actor endpoint
- Added a new router for handling well-known endpoints, specifically WebFinger.
- Implemented the `webfinger` function to respond to WebFinger queries.
- Created a new route for WebFinger in the router.
- Refactored user retrieval logic to support both user ID and username in a single endpoint.
- Updated user router to use the new `get_user_by_param` function.
- Added tests for WebFinger discovery and ActivityPub user actor endpoint.
- Updated dependencies in Cargo.toml files to include necessary libraries.
2025-09-06 01:18:04 +02:00
3d73c7f198 feat(auth): implement user registration and login with JWT authentication
- Added `bcrypt`, `jsonwebtoken`, and `once_cell` dependencies to manage password hashing and JWT handling.
- Created `Claims` struct for JWT claims and implemented token generation in the login route.
- Implemented user registration and authentication logic in the `auth` module.
- Updated error handling to include validation errors.
- Created new routes for user registration and login, and integrated them into the main router.
- Added tests for the authentication flow, including registration and login scenarios.
- Updated user model to include a password hash field.
- Refactored user creation logic to include password validation.
- Adjusted feed and user routes to utilize JWT for authentication.
2025-09-06 00:06:30 +02:00
0e6c072387 feat: enhance error handling and user follow functionality, update tests for user context 2025-09-05 21:44:46 +02:00
decf81e535 feat: implement user follow/unfollow functionality and thought retrieval by user
- Added follow and unfollow endpoints for users.
- Implemented logic to retrieve thoughts by a specific user.
- Updated user error handling to include cases for already following and not following.
- Created persistence layer for follow relationships.
- Enhanced user and thought schemas to support new features.
- Added tests for follow/unfollow endpoints and thought retrieval.
- Updated frontend to display thoughts and allow posting new thoughts.
2025-09-05 19:08:37 +02:00
912259ef54 Refactor blog module and remove blog-related functionality
- Removed blog router and associated API endpoints.
- Deleted blog persistence functions and related query parameters.
- Removed blog schemas and models from the codebase.
- Introduced common crate for shared types, including DateTimeWithTimeZoneWrapper.
- Added Thought and Follow models with corresponding migrations.
- Updated dependencies in Cargo.toml files to reflect changes.
- Adjusted tests to remove references to the blog module.
2025-09-05 18:10:58 +02:00
e5747eaaf3 feat: initialize thoughts-frontend with Next.js, TypeScript, and ESLint
- Add ESLint configuration for Next.js and TypeScript support.
- Create Next.js configuration file with standalone output option.
- Initialize package.json with scripts for development, build, and linting.
- Set up PostCSS configuration for Tailwind CSS.
- Add SVG assets for UI components.
- Create TypeScript configuration for strict type checking and module resolution.
2025-09-05 17:14:45 +02:00