/** * #app_version.ts * * Code generated by ts-proto. DO NOT EDIT. * @packageDocumentation */ import type { Bundle } from "../../plugin/buildpack/buildpack_common.js"; import type { LinkedBundle } from "../../runtime/bundle.js"; import type { ActorTypeInfo } from "../actor/actor_type.js"; import type { AppInfo } from "../app/info/app_info.js"; import type { InstallationInfo } from "../installation/installation.js"; import type { AppVersionInfo, AppVersionMarketingInfo, ComputePool, InstallationType, OptionalVersionVisibility, VersionVisibility } from "./info/app_version_info.js"; /** Used to create a new app version. */ export type AppVersionCreationRequest = { /** What is the ID of the app this version belongs to? */ appId: string; /** How visible is this app version? */ visibility: VersionVisibility; /** What installation types are allowed for this app? */ validInstallTypes: InstallationType[]; /** What is this version's major version number? i.e. x.0.0 */ majorVersion: number; /** What is this version's minor version number? i.e. 0.x.0 */ minorVersion: number; /** What is this version's patch version number? i.e. 0.0.x */ patchVersion: number; /** What is this version's prerelease version number, if applicable? i.e. 0.0.0.x */ prereleaseVersion?: number | undefined; /** Give me the actor bundles of this app */ actorBundles: Bundle[]; /** What should go in this version's about chunk? (Comes from README.md by default.) */ about: string; /** Whether we should not create a default playtest subreddit for this app */ preventPlaytestSubredditCreation: boolean; /** Any marketing information for this app version, if available */ marketingInfo?: AppVersionMarketingInfo | undefined; /** * If this app version is a Devvit Web app, this field is expected to contain * a `AppConfig` parsed from the `devvit.json` used by the app. */ devvitJson?: string | undefined; /** * Size of the source code archive for this app version, if available. If this field is populated, * then the response will also contain a presigned URL and headers to upload the source code * archive to. */ sourceSize?: number | undefined; }; /** Used to send an app's slug and version; the object equivalent of "my-app@1.2.3" */ export type AppSlugAndVersion = { /** What's the slug of the app we're looking for? */ slug: string; /** What version are you looking for? Can be '1.2.3[.4]' or 'latest'. */ version: string; }; /** * Used to update an existing app version's information. If a field is optional, omitting it will * leave its value unchanged. */ export type AppVersionUpdateRequest = { /** What is the ID of the version you want to update? */ id: string; /** How visible should the version be? */ visibility?: OptionalVersionVisibility | undefined; validInstallTypes: InstallationType[]; /** What should go in this version's about chunk? */ about?: string | undefined; pool: ComputePool; }; /** * Get a list of valid installation locations for a given app version, optionally with * paging info. */ export type ValidInstallLocationsRequest = { /** What is the ID of the app version you want to get valid install locations for? */ id: string; /** If present, specifies what page of the response data you're asking for. */ pageInfo: InstallLocationPageInfo[]; }; /** For a given install location type, give me requests before or after a given cursor. */ export type InstallLocationPageInfo = { /** The type of installation we're paging over */ type: InstallationType; /** * Show me results before this startCursor. * @deprecated - Going backwards doesn't work; go forwards instead. */ before?: string | undefined; /** Show me results after this endCursor. */ after?: string | undefined; }; /** * Contains the basic information about an app version, as well as the app it belongs to, the * actors contained in the app, and any installations of the app. */ export type FullAppVersionInfo = { appVersion?: AppVersionInfo | undefined; app?: AppInfo | undefined; actorTypes: ActorTypeInfo[]; installations: InstallationInfo[]; }; /** * Lists all valid installation types and locations for a given app. * Logic for this response: * For each install type: * - the type we're talking about * - an array of valid install locations */ export type ValidInstallLocationsResponse = { locations: InstallLocationInfo[]; }; /** Gives an installation type, and list all valid installation locations matching that type. */ export type InstallLocationInfo = { /** The type of installation we're providing locations for */ type: InstallationType; /** The list of valid install locations */ locations: InstallLocationDetails[]; /** Paging info for the response, if applicable */ pageInfo?: PageInfo | undefined; }; /** Details each valid install location, and if there's already an install there or not. */ export type InstallLocationDetails = { /** The thing ID of the valid install location */ thingId: string; /** The name of the valid install location */ name: string; /** If present, gives the UUID of an installation of the app in question that already exists in this location. */ existingInstallId?: string | undefined; /** The icon or avatar for the install location */ icon?: string | undefined; }; /** Used to provide paging info about a response. This mirrors the PageInfo type in GQL. */ export type PageInfo = { /** When paginating forwards, are there more items? */ hasNextPage: boolean; /** * When paginating backwards, are there more items? * @deprecated - Going backwards doesn't work; go forwards instead. */ hasPreviousPage: boolean; /** * When paginating backwards, the cursor to continue. * @deprecated - Going backwards doesn't work; go forwards instead. */ startCursor: string; /** When paginating forwards, the cursor to continue. */ endCursor: string; }; export type GetAppVersionBundleResponse = { actorBundles: GetAppVersionBundleResponse_BundleInfo[]; }; export type GetAppVersionBundleResponse_BundleInfo = { actor: string; bundle?: LinkedBundle | undefined; }; //# sourceMappingURL=app_version.d.ts.map