feat: plan+billing (#5518)

* feat: billing client

* feat: subscribe workspace default impl

* feat: added create subscription

* feat: add get workspace subs

* feat: added subscription cancellation

* feat: add workspace limits api

* fix: update client api

* feat: user billing portal

* feat: billing UI (#5455)

* feat: plan ui

* feat: billing ui

* feat: settings plan comparison dialog

* feat: complete plan+billing ui

* feat: backend integration

* chore: cleaning

* chore: fixes after merge

* fix: dependency issue

* feat: added subscription plan cancellation information

* feat: subscription callback + canceled date

* feat: put behind feature flag

* feat: downgrade/upgrade dialogs

* feat: update limit error codes

* fix: billing refresh + downgrade dialog

* fix: some minor improvements to settings

* chore: use patch for client-api in tauri

* fix: add shared-entity to patch

* fix: compile

* ci: try to add back maximize build space step

* test: increase timeout in failing test

---------

Co-authored-by: Zack Fu Zi Xiang <speed2exe@live.com.sg>
This commit is contained in:
Mathias Mogensen
2024-06-12 17:08:55 +02:00
committed by GitHub
parent 3d7a500550
commit 4708c0f779
52 changed files with 2769 additions and 83 deletions

View File

@ -21,11 +21,9 @@ impl From<AppResponseError> for FlowyError {
AppErrorCode::NotEnoughPermissions => ErrorCode::NotEnoughPermissions,
AppErrorCode::NetworkError => ErrorCode::HttpError,
AppErrorCode::PayloadTooLarge => ErrorCode::CloudRequestPayloadTooLarge,
AppErrorCode::UserUnAuthorized => match &*error.message {
"Workspace Limit Exceeded" => ErrorCode::WorkspaceLimitExceeded,
"Workspace Member Limit Exceeded" => ErrorCode::WorkspaceMemberLimitExceeded,
_ => ErrorCode::UserUnauthorized,
},
AppErrorCode::UserUnAuthorized => ErrorCode::UserUnauthorized,
AppErrorCode::WorkspaceLimitExceeded => ErrorCode::WorkspaceLimitExceeded,
AppErrorCode::WorkspaceMemberLimitExceeded => ErrorCode::WorkspaceMemberLimitExceeded,
_ => ErrorCode::Internal,
};