ec06f13aa6
* Update pro version to 2.4.44-alpha.9 (#10231) Co-authored-by: Budibase Staging Release Bot <> * Track installation and unique tenant id on licence activate (#10146) * changes and exports * removing the extend * Lint + tidy * Update account.ts --------- Co-authored-by: Rory Powell <rory.codes@gmail.com> Co-authored-by: mike12345567 <me@michaeldrury.co.uk> * Type updates for loading new plans (#10245) * Add new quota for max users on free plan * Split available vs purchased plan & price type definitions. Update usages of available prices and plans * Type fixes * Add types for minimums * New `PlanModel` type for `PER_USER` and `DAY_PASS` (#10247) * Add new quota for max users on free plan * Split available vs purchased plan & price type definitions. Update usages of available prices and plans * Type fixes * Add types for minimums * New `PlanModel` type for `PER_USER` and `DAY_PASS` * Add loadEnvFiles to lerna config for run command to prevent local test failures * Fix types in license test structure * Add quotas integration to user create / delete + migration (#10250) * Add new quota for max users on free plan * Split available vs purchased plan & price type definitions. Update usages of available prices and plans * Type fixes * Add types for minimums * New `PlanModel` type for `PER_USER` and `DAY_PASS` * Add loadEnvFiles to lerna config for run command to prevent local test failures * Fix types in license test structure * Add quotas integration to user create / delete * Always sync user count from view total_rows value for accuracy * Add migration to sync users * Add syncUsers.spec.ts * Lint * Types and structures for user subscription quantity sync (#10280) * Add new quota for max users on free plan * Split available vs purchased plan & price type definitions. Update usages of available prices and plans * Type fixes * Add types for minimums * New `PlanModel` type for `PER_USER` and `DAY_PASS` * Add loadEnvFiles to lerna config for run command to prevent local test failures * Fix types in license test structure * Add quotas integration to user create / delete * Always sync user count from view total_rows value for accuracy * Add migration to sync users * Add syncUsers.spec.ts * Prevent old installs from activating, track install info via get license request instead of on activation. * Add usesInvoicing to PurchasedPlan * Add min/max users to PurchasedPlan * Additional test structures for generating a license, remove maxUsers from PurchasedPlan - this is already present in the license quotas * Stripe integration for monthly prorations on annual plans * Integrate annual prorations with test clocks * Updated types, test utils and date processing for licensing (#10346) * Add new quota for max users on free plan * Split available vs purchased plan & price type definitions. Update usages of available prices and plans * Type fixes * Add types for minimums * New `PlanModel` type for `PER_USER` and `DAY_PASS` * Add loadEnvFiles to lerna config for run command to prevent local test failures * Fix types in license test structure * Add quotas integration to user create / delete * Always sync user count from view total_rows value for accuracy * Add migration to sync users * Add syncUsers.spec.ts * Prevent old installs from activating, track install info via get license request instead of on activation. * Add usesInvoicing to PurchasedPlan * Add min/max users to PurchasedPlan * Additional test structures for generating a license, remove maxUsers from PurchasedPlan - this is already present in the license quotas * Stripe integration for monthly prorations on annual plans * Integrate annual prorations with test clocks * Updated types, test utils and date processing * Lint * Pricing/billing page (#10353) * bbui updates for billing page * Require all PlanTypes in PlanMinimums for compile time safety * fix test package utils * Incoming user limits warnings (#10379) * incoming user limits warning * fix inlinealert button * add corretc button link and text to user alert * pr comments * simplify limit check * Types and test updates for subscription quantity changes in account-portal (#10372) * Add chance extensions for `arrayOf`. Update events spies with license events * Add generics to doInTenant response * Update account structure with quota usage * User count limits (#10385) * incoming user limits warning * fix inlinealert button * add corretc button link and text to user alert * pr comments * simplify limit check * user limit messaging on add users modal * user limit messaging on import users modal * update licensing store to be more generic * some styling updates * remove console log * Store tweaks * Add startDate to Quota type --------- Co-authored-by: Rory Powell <rory.codes@gmail.com> * Lint * Support custom lock options * Reactivity fixes for add user modals * Update ethereal email creds * Add warn for getting invite from code error * Extract disabling user import condition * Handling unlimited users in modals logic and adding start date processing to store * Lint * Integration testing fixes (#10389) * lint --------- Co-authored-by: Mateus Badan de Pieri <mateuspieri@gmail.com> Co-authored-by: mike12345567 <me@michaeldrury.co.uk> Co-authored-by: Peter Clement <PClmnt@users.noreply.github.com>
116 lines
2.7 KiB
TypeScript
116 lines
2.7 KiB
TypeScript
import { generator, uuid, quotas } from "."
|
|
import { generateGlobalUserID } from "../../../../src/docIds"
|
|
import {
|
|
Account,
|
|
AccountSSOProvider,
|
|
AccountSSOProviderType,
|
|
AuthType,
|
|
CloudAccount,
|
|
Hosting,
|
|
SSOAccount,
|
|
CreateAccount,
|
|
CreatePassswordAccount,
|
|
} from "@budibase/types"
|
|
import _ from "lodash"
|
|
|
|
export const account = (): Account => {
|
|
return {
|
|
accountId: uuid(),
|
|
tenantId: generator.word(),
|
|
email: generator.email(),
|
|
tenantName: generator.word(),
|
|
hosting: Hosting.SELF,
|
|
createdAt: Date.now(),
|
|
verified: true,
|
|
verificationSent: true,
|
|
tier: "FREE", // DEPRECATED
|
|
authType: AuthType.PASSWORD,
|
|
name: generator.name(),
|
|
size: "10+",
|
|
profession: "Software Engineer",
|
|
quotaUsage: quotas.usage(),
|
|
}
|
|
}
|
|
|
|
export function selfHostAccount() {
|
|
return account()
|
|
}
|
|
|
|
export const cloudAccount = (): CloudAccount => {
|
|
return {
|
|
...account(),
|
|
hosting: Hosting.CLOUD,
|
|
budibaseUserId: generateGlobalUserID(),
|
|
}
|
|
}
|
|
|
|
function providerType(): AccountSSOProviderType {
|
|
return _.sample(
|
|
Object.values(AccountSSOProviderType)
|
|
) as AccountSSOProviderType
|
|
}
|
|
|
|
function provider(): AccountSSOProvider {
|
|
return _.sample(Object.values(AccountSSOProvider)) as AccountSSOProvider
|
|
}
|
|
|
|
export function ssoAccount(account: Account = cloudAccount()): SSOAccount {
|
|
return {
|
|
...account,
|
|
authType: AuthType.SSO,
|
|
oauth2: {
|
|
accessToken: generator.string(),
|
|
refreshToken: generator.string(),
|
|
},
|
|
pictureUrl: generator.url(),
|
|
provider: provider(),
|
|
providerType: providerType(),
|
|
thirdPartyProfile: {},
|
|
}
|
|
}
|
|
|
|
export const cloudCreateAccount: CreatePassswordAccount = {
|
|
email: "cloud@budibase.com",
|
|
tenantId: "cloud",
|
|
hosting: Hosting.CLOUD,
|
|
authType: AuthType.PASSWORD,
|
|
password: "Password123!",
|
|
tenantName: "cloud",
|
|
name: "Budi Armstrong",
|
|
size: "10+",
|
|
profession: "Software Engineer",
|
|
}
|
|
|
|
export const cloudSSOCreateAccount: CreateAccount = {
|
|
email: "cloud-sso@budibase.com",
|
|
tenantId: "cloud-sso",
|
|
hosting: Hosting.CLOUD,
|
|
authType: AuthType.SSO,
|
|
tenantName: "cloudsso",
|
|
name: "Budi Armstrong",
|
|
size: "10+",
|
|
profession: "Software Engineer",
|
|
}
|
|
|
|
export const selfCreateAccount: CreatePassswordAccount = {
|
|
email: "self@budibase.com",
|
|
tenantId: "self",
|
|
hosting: Hosting.SELF,
|
|
authType: AuthType.PASSWORD,
|
|
password: "Password123!",
|
|
tenantName: "self",
|
|
name: "Budi Armstrong",
|
|
size: "10+",
|
|
profession: "Software Engineer",
|
|
}
|
|
|
|
export const selfSSOCreateAccount: CreateAccount = {
|
|
email: "self-sso@budibase.com",
|
|
tenantId: "self-sso",
|
|
hosting: Hosting.SELF,
|
|
authType: AuthType.SSO,
|
|
tenantName: "selfsso",
|
|
name: "Budi Armstrong",
|
|
size: "10+",
|
|
profession: "Software Engineer",
|
|
}
|