42 Commits

Author SHA1 Message Date
Innei
e1d1d73364 refactor: remove landing page components and configurations 2026-01-14 23:21:18 +08:00
Innei
08b045e176 chore: update package dependencies and configurations across the monorepo 2026-01-10 23:35:37 +08:00
Innei
17216b7f1f chore: update package dependencies and package manager version
- Upgraded package manager from pnpm@10.24.0 to pnpm@10.26.2 across multiple applications.
- Updated various package dependencies including lucide-react, eslint-plugin-react-refresh, typescript-eslint, and others to their latest versions.
- Adjusted @types/node version from ^24.10.1 to ^25.0.3 in several packages for compatibility with the latest Node.js features.

Signed-off-by: Innei <tukon479@gmail.com>
2025-12-29 21:25:53 +08:00
Innei
9a99dd8e07 chore: update deps 2025-12-16 20:57:50 +08:00
Innei
b8eeb95c4f fix: root account creation
- Introduced an explicit tenant ID parameter in the AuthProvider to allow for tenant-specific authentication.
- Updated the createAuthForEndpoint method to utilize the explicit tenant ID when provided.
- Added a new method, getAuthForTenant, to facilitate fetching authentication for a specific tenant.
- Updated related services to use the new tenant-specific authentication logic.
- Added pg-native as a dependency and updated pnpm-lock.yaml accordingly.

Signed-off-by: Innei <tukon479@gmail.com>
2025-12-05 20:32:47 +08:00
Innei
9b1a1b7bf6 feat: make Creem integration optional and error-prone if misconfigured 2025-12-05 20:13:52 +08:00
Innei
b42bfbc520 feat: implement tenant suspension handling and deletion functionality
- Added a new tenant suspension page and related components to inform users when their tenant is suspended due to policy violations.
- Implemented deletion functionality for tenants in the SuperAdminTenantManager, allowing super admins to permanently delete tenant accounts.
- Updated localization files to include new strings for tenant suspension and deletion prompts.
- Enhanced the DataManagementService to handle tenant deletion with metadata checks.

Signed-off-by: Innei <tukon479@gmail.com>
2025-12-05 15:28:21 +08:00
Innei
b8f1a26ce2 chore: update package dependencies across applications
- Upgraded various package dependencies including:
  - `prettier` to version 3.7.4
  - `tsx` to version 4.21.0
  - `vite` to version 7.2.6
  - `react` and `react-dom` to version 19.2.1
  - `drizzle-orm` to version 0.45.0
  - `jotai` to version 2.15.2
  - `motion` to version 12.23.25
  - Updated several other packages to their latest versions for improved performance and compatibility.

Signed-off-by: Innei <tukon479@gmail.com>
2025-12-05 00:55:30 +08:00
Innei
e8550cee42 feat: enhance tenant management with pagination and sorting options
- Updated the SuperAdminTenantManager component to support pagination and sorting of tenant data.
- Introduced new parameters for fetching tenants, including page, limit, status, sortBy, and sortDir.
- Enhanced the UI to allow users to filter tenants by status and sort by name or creation date.
- Updated localization files to include new strings for tenant filtering and pagination.

Signed-off-by: Innei <tukon479@gmail.com>
2025-12-04 15:54:47 +08:00
Innei
ced9e747aa feat: implement email notification system for comments
- Added MailModule to handle email notifications for comment events.
- Introduced CommentCreatedEvent to encapsulate comment creation details.
- Implemented CommentNotificationListener to send notifications to relevant users when a comment is created.
- Integrated Resend service for sending emails, with templates for comment notifications.
- Updated various modules to support the new email notification feature.

Signed-off-by: Innei <tukon479@gmail.com>
2025-12-03 20:57:26 +08:00
Innei
7accb1f6c3 refactor: simplify target host resolution and remove explicit host handling
- Eliminated the explicitHost parameter from the TargetResolutionInput interface and related functions.
- Updated the OAuth callback processing to streamline target host resolution, relying solely on tenant slug.
- Adjusted the GatewayStatePayload to remove targetHost, enhancing clarity in state management.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-30 18:58:51 +08:00
Innei
019ee50121 feat: implement OAuth state management for multi-tenancy support
- Introduced encoding and decoding of OAuth state to include tenant metadata, allowing the gateway to route callbacks without hard-coded tenant slugs.
- Updated the AuthController to handle social account linking and sign-in with compatibility for legacy paths.
- Refactored redirect URI construction to simplify tenant slug handling.
- Enhanced documentation to reflect changes in the OAuth flow and state management.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-30 14:03:05 +08:00
Innei
ae21438eb7 feat: implement multi-tenancy support in authentication module (#177)
Signed-off-by: Innei <tukon479@gmail.com>
2025-11-29 13:57:18 +08:00
Innei
843ff8130d fix: purge manage storage data when account delete (#176)
Signed-off-by: Innei <tukon479@gmail.com>
2025-11-27 21:19:28 +08:00
Innei
9b929a1694 chore: update package dependencies and versions
- Upgraded various dependencies including es-toolkit, lint-staged, vite, and zod to their latest versions.
- Updated tailwind-variants and tailwindcss-safe-area to newer versions.
- Adjusted types for React and other related packages to ensure compatibility.
- Removed obsolete patch for @creem_io/better-auth.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-27 00:57:14 +08:00
Innei
cb40fe74d0 feat: implement comments feature (#171)
Signed-off-by: Innei <tukon479@gmail.com>
2025-11-27 00:37:52 +08:00
Innei
3e96106a16 chore: sign s3 (#170)
Signed-off-by: Innei <tukon479@gmail.com>
2025-11-26 15:23:41 +08:00
Innei
5a98b43544 feat: add Gallery Showcase component and update documentation
- Introduced a new Gallery Showcase component to display featured galleries on the landing page.
- Updated localization files to include new strings for the Gallery Showcase.
- Enhanced the landing page by integrating the Gallery Showcase component alongside existing elements.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-24 21:00:19 +08:00
Innei
9095bb08c8 feat: add normalization helper functions and integrate into services
- Introduced new helper functions for string and date normalization, enhancing input validation across various services.
- Updated SiteSettingService and SystemSettingService to utilize the new normalization functions for improved data handling.
- Refactored existing code to replace custom normalization logic with the new helper methods, ensuring consistency and reducing redundancy.
- Enhanced localization files to support new error messages related to normalization.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-22 01:21:26 +08:00
Innei
f0678038c2 feat: implement managed storage plans and provider settings
- Added new UI schema for managing storage plans, including catalog, pricing, and product configurations.
- Introduced StoragePlanService to handle storage plan operations and integrate with existing billing services.
- Updated SuperAdmin settings to include managed storage provider configurations.
- Enhanced localization files with new keys for storage plan management.
- Implemented API endpoints for fetching and updating storage plans.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-21 16:23:13 +08:00
Innei
a1710924a8 feat: implement custom domain management for tenants
- Introduced a new TenantDomainRepository and TenantDomainService to handle domain-related operations.
- Added endpoints in TenantController for listing, requesting, verifying, and deleting custom domains.
- Implemented domain verification logic with CNAME and TXT record support.
- Enhanced UI components for domain management, including CustomDomainCard and DomainListItem.
- Updated localization files to include new keys for domain management features.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-20 20:54:12 +08:00
Innei
dc23b2868e feat: enhance storage provider management and localization support
- Added support for new storage providers including Backblaze B2 and GitHub.
- Introduced a new UI schema for storage provider configuration, allowing for better user experience.
- Updated localization files to include new keys for storage provider fields and usage metrics.
- Refactored existing storage provider logic to accommodate new categories and improve overall structure.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-20 00:16:46 +08:00
Innei
765cd18598 feat(auth): integrate creem subscription management into authentication flow
- Added support for creem subscriptions in the AuthProvider, including new fields for creemCustomerId.
- Updated BetterAuthUser interface to include optional creemCustomerId.
- Enhanced plan management components to utilize creemCustomerId for subscription handling.
- Refactored PlanCard and PlanList components to accommodate new subscription logic and improve user experience.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-17 02:28:02 +08:00
Innei
99a57f920c feat(billing): enhance billing plan management with product and pricing configurations
- Added support for billing plan products and pricing settings, allowing for detailed configuration of subscription plans.
- Introduced new constants and types for managing billing plan overrides, products, and pricing.
- Updated the SystemSettingService to handle new billing-related settings and integrated them into the admin interface.
- Enhanced the BillingPlanService to retrieve and apply product and pricing information for tenant plans.
- Updated UI components to reflect the new billing plan configurations and ensure proper display of pricing details.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-17 01:48:35 +08:00
Innei
d1dee58219 feat(billing): implement billing plan management and usage tracking
- Introduced billing plans with associated quotas for tenants, including maximum upload sizes and processing limits.
- Added new endpoints and services for managing tenant billing plans and tracking usage events.
- Enhanced the dashboard with components for viewing and updating tenant plans, including a new tenant management interface.
- Implemented database migrations to support billing-related data structures and relationships.
- Updated documentation to reflect the new billing plan features and usage tracking capabilities.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-16 20:10:47 +08:00
Innei
dafc621033 feat(config): update site configuration and enhance author handling
- Changed default site name and URL to reflect new branding.
- Updated author information in the site configuration, including name, URL, and avatar.
- Removed author-related settings from the configuration schema to streamline the setup.
- Enhanced the SiteSettingService to resolve author details dynamically based on tenant context.
- Added a new endpoint to retrieve the status of photo synchronization, improving user feedback on sync operations.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-15 01:08:31 +08:00
Innei
0621909e49 feat(app): integrate Hono framework for improved routing and error handling
- Replaced the previous application instance with Hono for better routing capabilities.
- Updated OpenAPI route registration to use a new internal path structure.
- Enhanced error handling by utilizing Hono's built-in error management features.
- Adjusted logging to reflect the new route paths for OpenAPI documentation.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-14 23:37:16 +08:00
Innei
42c217e2f8 chore(deps): update package versions across the project
- Bumped versions for several dependencies including `@types/node`, `eslint`, `sharp`, `vite`, and various `@tanstack/react-query` packages to their latest releases for improved stability and features.
- Updated Tailwind CSS related packages to version 4.1.17 for consistency across the project.
- Adjusted other dependencies such as `jotai`, `lucide-react`, and `tailwind-merge` to their latest versions to ensure compatibility and access to new features.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-12 23:57:37 +08:00
Innei
f4f66810c1 chore: re-gen db migration
Signed-off-by: Innei <tukon479@gmail.com>
2025-11-11 17:10:53 +08:00
Innei
082f201aea refactor!: split builder config (#154)
Signed-off-by: Innei <tukon479@gmail.com>
2025-11-11 00:39:56 +08:00
Innei
2700d22983 refactor(tsconfig): update TypeScript configuration and enhance middleware handling
- Changed target from ES2022 to ESNext in tsconfig files for core and framework packages.
- Reformatted paths and include/exclude arrays for better readability.
- Introduced a new middleware for context propagation in the application, ensuring HttpContext values are preserved for downstream handlers.
- Refactored middleware registration logic to streamline the process and improve maintainability.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-10 17:19:40 +08:00
Innei
e4d61ebd28 feat(auth): enhance social account management and improve authentication flow
- Added endpoints for linking and unlinking social accounts in AuthController.
- Introduced new types for social account requests and responses.
- Implemented methods to fetch and serialize social accounts.
- Updated the AuthProvider to include verification handling and cookie prefix management.
- Created new components for social connection settings in the dashboard, allowing users to manage their linked accounts.
- Added database migration for the new auth_verification table to support account verification processes.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-08 23:47:51 +08:00
Innei
8d0e5dfe6b feat(sdk): consolidate SDK functionality and update dependencies
- Introduced a new SDK package to replace the previous ssr-sdk, consolidating shared functionality for handling views and reactions.
- Updated package.json files across applications to reference the new @afilmory/sdk.
- Removed the old ssr-sdk package and its associated files, streamlining the codebase.
- Enhanced API routes for reactions and views to utilize the new SDK schemas and client methods.
- Updated dependencies in various packages to ensure compatibility and improved functionality.

Signed-off-by: Innei <tukon479@gmail.com>
2025-11-08 21:13:02 +08:00
Innei
4633dbbd1e refactor(server): tanant auth (#148)
Signed-off-by: Innei <tukon479@gmail.com>
2025-11-06 01:10:08 +08:00
Innei
2da5204ffd feat(controller): add support for bypassing global prefix in controller metadata
Signed-off-by: Innei <tukon479@gmail.com>
2025-11-01 18:31:50 +08:00
Innei
e27b45ec49 feat(builder): upload thumbnails via storage plugin (#137)
Signed-off-by: Innei <tukon479@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <198982749+Copilot@users.noreply.github.com>
2025-10-31 21:49:31 +08:00
Innei
ba68be802e feat: revamp dashboard photo management (#136)
Signed-off-by: Innei <tukon479@gmail.com>
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-10-31 02:07:13 +08:00
Innei
ad0c8830a6 chore: lint
Signed-off-by: Innei <tukon479@gmail.com>
2025-10-28 13:52:09 +08:00
Innei
e2d2345b78 feat: superadmin settings
Signed-off-by: Innei <tukon479@gmail.com>
2025-10-28 02:35:34 +08:00
Innei
223e90d4d2 feat(dashboard): design init
Signed-off-by: Innei <tukon479@gmail.com>
2025-10-27 19:49:23 +08:00
Innei
c300b5e86a feat(server): onboarding and login layout design
- Replaced the existing GNU AGPL v3 license with the new Attribution Network License (ANL) v1.0 in the LICENSE file.
- Updated package.json files to reflect the new license.
- Modified README.md to reference the new license.
- Adjusted various package.json files to remove outdated license entries.
- Added new dependencies and updated existing ones in pnpm-lock.yaml.
- Refactored onboarding components and improved UI consistency across the dashboard.
- Introduced new hooks and components for better onboarding experience.

Signed-off-by: Innei <tukon479@gmail.com>
2025-10-27 01:18:06 +08:00
Innei
d6ad6d17ab refactor: component move to monorepo (#128)
Signed-off-by: Innei <tukon479@gmail.com>
2025-10-25 00:59:25 +08:00