@altostra/core
Version:
Core library for shared types and logic
46 lines (45 loc) • 2.5 kB
TypeScript
import type { DeploymentSettings } from "../../../bizops/DeploymentSettings";
import type { OrganizationPreferences } from "../../../bizops/OrganizationPreferences";
import type { GitUtilsInitialization } from "../../../git-host/git-utils";
import type { ObjectValidations } from '@altostra/type-validations';
import type { NonEmptyString } from "../../CustomTypes/NonEmptyString";
import type { Name } from "../Name";
import type { SubscriptionPlan } from "../SubscriptionPlan";
import type { OnboardingProgress } from "./OnboardingProgress";
import type { FeatureFlags } from "./Organization";
import type { OrganizationId } from "./OrganizationId";
export interface GitHostIntegration {
accountName: NonEmptyString;
gitHost: GitHost;
accountURL: NonEmptyString;
utils: GitUtilsInitialization;
}
export declare type GitHost = 'Bitbucket' | 'CodeCommit' | 'Github' | 'Gitlab';
export declare type SubscriptionPlanResponse = Pick<SubscriptionPlan, 'attributes' | 'features' | 'name' | 'type'>;
export interface ProfileResponse {
organizationId: OrganizationId;
organizationDisplayName: Name;
onboardingProgress?: OnboardingProgress;
hasGitHostIntegration?: GitHostIntegration;
featureFlags?: FeatureFlags;
deploymentSettings: DeploymentSettings;
preferences: OrganizationPreferences;
subscriptionPlan: SubscriptionPlanResponse;
imageUrl?: NonEmptyString;
}
export declare const isGitHost: import("@altostra/type-validations").TypeValidation<GitHost>;
export declare const gitHostIntegrationValidations: ObjectValidations<GitHostIntegration>;
export declare const isGitHostIntegration: import("@altostra/type-validations").ObjectOfTypeValidation<GitHostIntegration>;
export declare const subscriptionPlanResponseValidations: ObjectValidations<SubscriptionPlanResponse>;
export declare const isSubscriptionPlanResponse: import("@altostra/type-validations").ObjectOfTypeValidation<SubscriptionPlanResponse>;
export declare const isProfileResponse: import("@altostra/type-validations").ObjectOfTypeValidation<{
organizationId: OrganizationId;
organizationDisplayName: Name;
onboardingProgress: OnboardingProgress | undefined;
hasGitHostIntegration: GitHostIntegration | undefined;
featureFlags: Record<string | number, boolean | undefined> | undefined;
deploymentSettings: DeploymentSettings;
subscriptionPlan: SubscriptionPlanResponse;
preferences: OrganizationPreferences;
imageUrl: NonEmptyString | undefined;
}>;