import { SdPlatformChargebeeAddon, SdPlatformChargebeeCustomer, SdPlatformChargebeeSubscription, SdPlatformChargebeePlan } from "../commons/SdPlatformChargebee"; import { SdPlatformOrganizationMemberRole } from "../commons/SdPlatformOrganizationCommons"; import { SdPlatformPolicyCommonAliasesUser, SdPlatformPolicyPermissionsUser } from "../commons/SdPlatformPolicyCommons"; import { SdPlatformUsedCredits } from "../commons/SdPlatformUsedCredits"; import { SdPlatformUserModelStats } from "../commons/SdPlatformUserModelStats"; import { SdPlatformUserVisibility } from "../commons/SdPlatformVisibility"; import { SdPlatformResponseBackendSystem } from "./SdPlatformResponseBackendSystem"; import { SdPlatformResponseDomain } from "./SdPlatformResponseDomain"; import { SdPlatformResponseFeatures } from "./SdPlatformResponseFeatures"; import { SdPlatformResponseOrganizationPublic } from "./SdPlatformResponseOrganization"; import { SdPlatformResponsePolicyPermissions } from "./SdPlatformResponsePolicy"; /** * The user identities. */ export interface UserIdentities { /** * The sub of a token. */ readonly sub: string; /** * The UNIX time of authentication. */ readonly auth_time: string; } /** * The user email verification */ export interface SdPlatformUserEmailVerification { /** Indicates if the email is from a disposable service */ readonly disposable?: boolean; /** Indicates if the email is from a free provider */ readonly free?: boolean; /** Indicates if the email is from a professional service */ readonly pro?: boolean; } /** * User - minimal information */ export interface SdPlatformResponseUserMinimal extends SdPlatformResponsePolicyPermissions { /** * Unique id of the user. */ readonly id: string; /** * First name of the user. */ readonly first_name?: string; /** * Last name of the user. */ readonly last_name?: string; /** * Username. */ readonly username?: string; /** * URL to the user's avatar. */ readonly avatar_url?: string; /** * URL-compatible short name of the user. Used for links to the user's profile on the [ShapeDiver Platform](https://shapediver.com/app/users/{slug}). */ readonly slug: string; /** * Visibility of the user (may be limited by the visibility of the user's organization). */ readonly visibility: SdPlatformUserVisibility; /** * Nominal visibility of the user (not limited by the visibility of the user's organization). */ readonly visibility_nominal: SdPlatformUserVisibility; } /** * User - public access level */ export interface SdPlatformResponseUserPublic extends SdPlatformResponseUserMinimal { /** * Email of the user. */ readonly email?: string; /** * Location of the user. */ readonly location?: string; /** * Website of the user. */ readonly website?: string; /** * Facebook id of the user. */ readonly facebook_id?: string; /** * Instagram id of the user. */ readonly instagram_id?: string; /** * McNeel id of the user. */ readonly mcneel_id?: string; /** * LinkedIn id of the user. */ readonly linkedin_id?: string; /** * Twitter id of the user. */ readonly twitter_id?: string; /** * Bio of the user. */ readonly bio?: string; /** * Start date of membership, formatted like "April 12th, 2022". */ readonly member_since?: string; /** * In case user is member of an organization: Organization of the user. */ readonly organization?: SdPlatformResponseOrganizationPublic; /** * In case user is member of an organization: Organization uuid. */ readonly organization_id?: string; /** * Model status counters. */ readonly model_stats?: SdPlatformUserModelStats; } /** * User - organization access level */ export interface SdPlatformResponseUserOrganization extends SdPlatformResponseUserPublic { readonly disabled?: boolean; readonly organization_role?: SdPlatformOrganizationMemberRole; readonly organization_team?: string; /** * The subscription status of the user. */ readonly subscription_status?: string; /** * The subscription name of the user. */ readonly subscription_name?: string; } /** * User - self (user) access level */ export interface SdPlatformResponseUserSelf extends SdPlatformResponseUserOrganization { /** * Country of the user. */ readonly country?: string; /** * Company name. */ readonly company_name?: string; /** * Primary reason of the user to use ShapeDiver (registration field). */ readonly using_reason?: string; /** * User knows ShapeDiver from (registration field). */ readonly know_source?: string; /** * Grasshopper know-how of the user (registration field) */ readonly grasshopper_knowhow?: string; /** * Industry of the user (registration field) */ readonly industry?: string; /** * Accessdomains of the user. */ readonly global_accessdomains?: Array; /** * Should sharing of models be allowed? Might be influenced by {@link SdPlatformResponseOrganizationMember.allow_sharing} */ readonly allow_sharing: boolean; /** * Should private link sharing of models be allowed? Might be influenced by {@link SdPlatformResponseOrganizationMember.allow_link_sharing } */ readonly allow_link_sharing: boolean; /** * Epoch timestamp of creation. */ readonly created_at: number; /** * Epoch timestamp of update. */ readonly updated_at: number; /** * Epoch timestamp of confirmation. */ readonly confirmed_at?: number; /** * Is the user subscribed to the newsletter? */ readonly newsletter_subscribed?: boolean; /** * Should the email address be exposed on the public profile page? Might be influenced by {@link SdPlatformResponseOrganizationMember.expose_email} */ readonly expose_email: boolean; /** * Id of backend system. */ readonly backend_system_id?: number; /** * Geometry backend system of the user. */ readonly backend_system?: SdPlatformResponseBackendSystem; /** * Features which the user has access to. */ readonly features?: SdPlatformResponseFeatures; /** * The chargebee customer. */ readonly chargebee_customer?: SdPlatformChargebeeCustomer; /** * The chargebee subscription. */ readonly chargebee_subscription?: SdPlatformChargebeeSubscription; /** * The chargebee plan. */ readonly chargebee_plan?: SdPlatformChargebeePlan; /** * The chargebee addons. */ readonly chargebee_addons?: Array; /** * Summarized information about consumed credits */ readonly used_credits?: SdPlatformUsedCredits; /** * Max excess credits */ readonly max_excess_credits?: number; /** * Administrative roles of the user (used for ShapeDiver admin access) */ readonly roles: Array; /** * Should {@link SdPlatformResponseModelOwner.require_token} be forced to true for all models of the user? Might be influenced by {@link SdPlatformResponseOrganizationMember.force_require_token} */ readonly force_require_token: boolean; /** * Mailing settings of the user. */ readonly mailing: { [id: string]: boolean; }; /** * Should credit consumption be limited once the monthly quota has been reached? */ readonly limit_credit_consumption: boolean; /** * Should model transfer requests be accepted without confirmation? */ readonly transfers_accept_any: boolean; /** * When accepting model transfer requests, should existing sharing relationships be removed? */ readonly transfers_clear_sharing: boolean; /** * When accepting model transfer requests, should policies requested by the providing user be shared back? */ readonly transfers_accept_shareback: boolean; /** * Identities of the user. */ readonly identities: { [id: string]: UserIdentities; }; /** * The webhook identifier of the user. */ readonly webhook_identifier?: string; /** * Credit limit exceeded flag */ readonly credit_limit_exceeded?: boolean; /** * Email verification */ readonly email_verification?: SdPlatformUserEmailVerification; /** * Chat Token */ readonly chat_token?: string; /** * Chat Email Signature */ readonly chat_email_signature?: string; } /** * User - admin access level */ export interface SdPlatformResponseUserAdmin extends SdPlatformResponseUserSelf { /** * Has the user been activated? */ readonly active: boolean; /** * Epoch timestamp of deletion. */ readonly deleted_at?: number; /** * Chargebee customer id of the user. */ readonly chargebee_customer_id?: string; /** * Customer.io id of the user. */ readonly customerio_id?: string; } export interface SdPlatformResponseUserRefreshToken { /** * Uuid of the refresh token */ readonly id: string; readonly client_id?: string; /** * Name of API client */ readonly client_name?: string; /** * Epoch timestamp of creation. */ readonly created_at: number; /** * Epoch timestamp of update. */ readonly updated_at: number; /** * Epoch timestamp of expiration. */ readonly expire_at: number; /** * Location of the user when the refresh token was created. */ readonly location?: string; /** * How often the token has been used. */ readonly num_requests: number; /** * How often then token can be used */ readonly max_requests: number; } /** * User - any access level */ export type SdPlatformResponseUserAny = SdPlatformResponseUserAdmin | SdPlatformResponseUserSelf | SdPlatformResponseUserPublic | SdPlatformResponseUserMinimal; export type SdPlatformResponseUserToken = { access_token: string; backend_system: SdPlatformResponseBackendSystem; }; //# sourceMappingURL=SdPlatformResponseUser.d.ts.map