From 5a6dce9351da266ced55e55f75dcd55cd93cd759 Mon Sep 17 00:00:00 2001 From: Arman Date: Fri, 16 Feb 2024 09:44:13 +0100 Subject: [PATCH 1/4] fix: add list orgs endpoint --- src/lib/sdk/billing.ts | 18 +++++++++++++++++- src/lib/stores/billing.ts | 4 ++-- src/lib/stores/organization.ts | 5 +++++ 3 files changed, 24 insertions(+), 3 deletions(-) diff --git a/src/lib/sdk/billing.ts b/src/lib/sdk/billing.ts index 698f783777..66bab7a385 100644 --- a/src/lib/sdk/billing.ts +++ b/src/lib/sdk/billing.ts @@ -1,5 +1,5 @@ import type { Client, Models, Query } from '@appwrite.io/console'; -import type { Organization } from '../stores/organization'; +import type { Organization, OrganizationList } from '../stores/organization'; import type { PaymentMethod } from '@stripe/stripe-js'; import type { Tier } from '$lib/stores/billing'; @@ -274,6 +274,22 @@ export class Billing { this.client = client; } + async listOrganization(queries: Query[] = []): Promise { + const path = `/organizations`; + const params = { + queries + }; + const uri = new URL(this.client.config.endpoint + path); + return await this.client.call( + 'GET', + uri, + { + 'content-type': 'application/json' + }, + params + ); + } + async createOrganization( organizationId: string, name: string, diff --git a/src/lib/stores/billing.ts b/src/lib/stores/billing.ts index f05d133813..9eddc4f45d 100644 --- a/src/lib/stores/billing.ts +++ b/src/lib/stores/billing.ts @@ -268,13 +268,13 @@ export function checkForMarkedForDeletion(org: Organization) { } export async function checkForMissingPaymentMethod() { - const orgs = await sdk.forConsole.teams.list([ + const orgs = await sdk.forConsole.billing.listOrganization([ Query.notEqual('billingPlan', BillingPlan.STARTER), Query.isNull('paymentMethodId'), Query.isNull('backupPaymentMethodId') ]); if (orgs?.total) { - orgMissingPaymentMethod.set(orgs.teams[0] as Organization); + orgMissingPaymentMethod.set(orgs.organizations[0]); headerAlert.add({ id: 'missingPaymentMethod', component: MissingPaymentMethod, diff --git a/src/lib/stores/organization.ts b/src/lib/stores/organization.ts index 38914e5b04..1a532458a2 100644 --- a/src/lib/stores/organization.ts +++ b/src/lib/stores/organization.ts @@ -22,6 +22,11 @@ export type Organization = Models.Team> & { billingPlanDowngrade?: string; }; +export type OrganizationList = { + organizations: Organization[]; + total: number; +}; + export type BillingLimits = { bandwidth: number; documents: number; From 135ebed1880c8c43f4619d59f3c966dbf8035434 Mon Sep 17 00:00:00 2001 From: Arman Date: Fri, 16 Feb 2024 09:54:23 +0100 Subject: [PATCH 2/4] fix: types --- src/lib/stores/billing.ts | 2 +- src/lib/stores/organization.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/stores/billing.ts b/src/lib/stores/billing.ts index 9eddc4f45d..141b31f932 100644 --- a/src/lib/stores/billing.ts +++ b/src/lib/stores/billing.ts @@ -274,7 +274,7 @@ export async function checkForMissingPaymentMethod() { Query.isNull('backupPaymentMethodId') ]); if (orgs?.total) { - orgMissingPaymentMethod.set(orgs.organizations[0]); + orgMissingPaymentMethod.set(orgs.teams[0]); headerAlert.add({ id: 'missingPaymentMethod', component: MissingPaymentMethod, diff --git a/src/lib/stores/organization.ts b/src/lib/stores/organization.ts index 1a532458a2..2beb13b03c 100644 --- a/src/lib/stores/organization.ts +++ b/src/lib/stores/organization.ts @@ -23,7 +23,7 @@ export type Organization = Models.Team> & { }; export type OrganizationList = { - organizations: Organization[]; + teams: Organization[]; total: number; }; From d8c3510ee51ad3cf76a13d6d761390b3adf39b44 Mon Sep 17 00:00:00 2001 From: Arman Date: Fri, 16 Feb 2024 09:59:41 +0100 Subject: [PATCH 3/4] fix: date --- src/lib/components/billing/alerts/missingPaymentMethod.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/components/billing/alerts/missingPaymentMethod.svelte b/src/lib/components/billing/alerts/missingPaymentMethod.svelte index 54689ac483..312349355c 100644 --- a/src/lib/components/billing/alerts/missingPaymentMethod.svelte +++ b/src/lib/components/billing/alerts/missingPaymentMethod.svelte @@ -13,7 +13,7 @@ title={`Payment method required for ${$orgMissingPaymentMethod.name}`}> Add a payment method to {$orgMissingPaymentMethod.name} before {toLocaleDate( - $orgMissingPaymentMethod.billingCurrentInvoiceDate + $orgMissingPaymentMethod.billingNextInvoiceDate )} to avoid service interruptions to your projects. From b03adf5890fa74731387196dc003d3dbbea169c5 Mon Sep 17 00:00:00 2001 From: Arman Date: Fri, 16 Feb 2024 10:06:40 +0100 Subject: [PATCH 4/4] fix: copy --- .../components/billing/alerts/missingPaymentMethod.svelte | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/lib/components/billing/alerts/missingPaymentMethod.svelte b/src/lib/components/billing/alerts/missingPaymentMethod.svelte index 312349355c..b39fd7508a 100644 --- a/src/lib/components/billing/alerts/missingPaymentMethod.svelte +++ b/src/lib/components/billing/alerts/missingPaymentMethod.svelte @@ -2,7 +2,6 @@ import { page } from '$app/stores'; import { BillingPlan } from '$lib/constants'; import { Button } from '$lib/elements/forms'; - import { toLocaleDate } from '$lib/helpers/date'; import { HeaderAlert } from '$lib/layout'; import { orgMissingPaymentMethod } from '$routes/console/store'; @@ -12,9 +11,8 @@ type="error" title={`Payment method required for ${$orgMissingPaymentMethod.name}`}> - Add a payment method to {$orgMissingPaymentMethod.name} before {toLocaleDate( - $orgMissingPaymentMethod.billingNextInvoiceDate - )} to avoid service interruptions to your projects. + Add a payment method to {$orgMissingPaymentMethod.name} to avoid service interruptions to + your projects.