Documentation
    Preparing search index...

    Module discloud.app

    Discloud.app

    npm i discloud.app
    yarn add discloud.app

    Documentation
    Github
    NPM
    Discloud Server

    Examples usage
    How to upload/commit your application
    How to fetch your application
    How to start, stop, restart or delete your application
    How to view app logs
    How to send a terminal command
    How to backup apps
    How to see your app statuses
    How to change your app's name and/or avatar
    How to change the amount of RAM in the app
    How to install or uninstall APT
    How to fetch/add/edit/remove moderators for your application

    // index.js
    // Get instanced discloud
    const { discloud } = require("discloud.app");

    // Set token
    await discloud.login("DISCLOUD_TOKEN");
    // Other file
    // Get instanced discloud
    const { discloud } = require("discloud.app");

    // ...

    await discloud.apps.fetch("ID"); // Promise<App>

    Before continuing, make sure your zip contains the discloud.config file.

    Upload with simply the file path/url:

    const { discloud } = require("discloud.app");

    await discloud.apps.create({
    file: "FILE_PATH/FILE_NAME.zip"
    }); // Promise<RESTPostApiUploadResult>

    Upload with Blob | Buffer | File | RawFile | ReadableStream:

    const { discloud } = require("discloud.app");

    await discloud.apps.create({
    file: {
    data: readFileSync("FILE_PATH/FILE_NAME.zip"), // Blob | Buffer
    name: "FILE_NAME.zip"
    }
    }); // Promise<RESTPostApiUploadResult>

    Commit with simply the file path/url:

    const { discloud } = require("discloud.app");

    await discloud.apps.update("APP_ID", {
    file: "FILE_PATH/FILE_NAME.zip"
    }); // Promise<RESTPutApiAppCommitResult>

    Commit with Blob | Buffer | File | RawFile | ReadableStream:

    const { discloud } = require("discloud.app");

    await discloud.apps.update("APP_ID", {
    file: {
    data: readFileSync("FILE_PATH/FILE_NAME.zip"), // Blob | Buffer
    name: "FILE_NAME.zip"
    }
    }); // Promise<RESTPutApiAppCommitResult>

    For you to send a stream, import the streamToFile function to convert:

    const { discloud, streamToFile } = require("discloud.app");

    const file = await streamToFile(stream, "FILE_NAME.zip");

    await discloud.apps.create({ file }); // Promise<RESTPostApiUploadResult>
    const { discloud } = require("discloud.app");

    await discloud.apps.fetch("APP_ID"); // Promise<App>
    await discloud.apps.fetch(/* "all" | undefined */); // Promise<Map<string, App>>
    const { discloud } = require("discloud.app");

    await discloud.apps.start("APP_ID"); // Promise<RESTApiBaseResult>
    await discloud.apps.start(/* "all" | undefined */); // Promise<ApiAppManagerStartedAll>

    await discloud.apps.stop("APP_ID"); // Promise<RESTApiBaseResult>
    await discloud.apps.stop(/* "all" | undefined */); // Promise<ApiAppManagerStopedAll>

    await discloud.apps.restart("APP_ID"); // Promise<RESTApiBaseResult>
    await discloud.apps.restart(/* "all" | undefined */); // Promise<ApiAppManagerRestartedAll>

    await discloud.apps.delete("APP_ID"); // Promise<RESTDeleteApiAppDeleteResult>
    await discloud.apps.delete(/* "all" | undefined */); // Promise<ApiAppManagerRemovedAll>
    const { discloud } = require("discloud.app");

    await discloud.apps.terminal("APP_ID"); // Promise<ApiTerminal>
    await discloud.apps.terminal(/* "all" | undefined */); // Promise<Map<string, ApiTerminal>>
    const { discloud } = require("discloud.app");

    await discloud.apps.console("APP_ID", "bash command"); // Promise<ApiConsoleAppShell>
    const { discloud } = require("discloud.app");

    await discloud.apps.backup("APP_ID"); // Promise<AppBackup>
    await discloud.apps.backup(/* "all" | undefined */); // Promise<Map<string, AppBackup>>
    const { discloud } = require("discloud.app");

    await discloud.apps.status("APP_ID"); // Promise<AppStatus>
    await discloud.apps.status(/* "all" | undefined */); // Promise<Map<string, AppStatus>>
    const { discloud } = require("discloud.app");

    await discloud.apps.profile("APP_ID", {
    avatarURL // Optional URL ending with GIF, JPG, JPEG or PNG
    name // Optional text up to 30 characters
    }); // Promise<RESTApiBaseResult>
    const { discloud } = require("discloud.app");

    await discloud.apps.ram("APP_ID", 100 /* number greater than 100 */); // Promise<RESTPutApiAppRamResult>
    // Remember that if your app type is site, the minimum is 512
    const { discloud } = require("discloud.app");

    // Install APTs
    await discloud.appApt.install("APP_ID", [
    "canvas",
    "ffmpeg",
    "java",
    "libgl",
    "openssl",
    "puppeteer",
    "tools",
    ]); // Promise<RESTPutApiAppAptResult>

    // Uninstall APTs
    await discloud.appApt.uninstall("APP_ID", ["canvas", "ffmpeg"]); // Promise<RESTDeleteApiAppAptResult>
    const { discloud, ModPermissions } = require("discloud.app");

    // Fetch mods and permissions
    await discloud.appTeam.fetch("APP_ID"); // Promise<ApiAppTeam[]>

    // Add a mod
    await discloud.appTeam.create("APP_ID", "MOD_ID", [
    "backup_app",
    "commit_app",
    "edit_ram",
    "logs_app",
    "restart_app",
    "start_app",
    "status_app",
    "stop_app",
    ]); // Promise<ApiAppTeamManager>

    // Edit mod permissions
    await discloud.appTeam.edit("APP_ID", "MOD_ID", [
    ModPermissions.backup_app,
    ModPermissions.commit_app,
    ModPermissions.edit_ram,
    ModPermissions.logs_app,
    ModPermissions.restart_app,
    ModPermissions.start_app,
    ModPermissions.status_app,
    ModPermissions.stop_app,
    ]); // Promise<ApiAppTeamManager>

    // Remove a mod
    await discloud.appTeam.delete("APP_ID", "MOD_ID"); // Promise<RESTApiBaseResult>

    Enumerations

    DiscloudConfigScopes
    Events
    ModPermissionsFlags
    RequestMethod
    RESTEvents

    Classes

    App
    AppApt
    AppAptManager
    AppBackup
    AppManager
    AppStatus
    AppTeam
    AppTeamManager
    AppUploaded
    Base
    BaseApp
    BaseManager
    BaseTeamApp
    BitField
    CachedManager
    DataManager
    DiscloudAPIError
    DiscloudApp
    DiscloudConfig
    Ignore
    MissingMainError
    ModPermissionsBF
    REST
    TeamApp
    TeamAppManager
    TeamAppStatus
    User
    UserAgent

    Interfaces

    ApiApp
    ApiAppBackup
    ApiAppBackupAll
    ApiAppLog
    ApiAppManager
    ApiAppManagerRemovedAll
    ApiAppManagerRestartedAll
    ApiAppManagerStartedAll
    ApiAppManagerStopedAll
    ApiAppTeam
    ApiAppTeamManager
    ApiConsoleApp
    ApiConsoleAppShell
    ApiNetIO
    ApiStatusApp
    ApiTeamApps
    ApiTerminal
    ApiUploadApp
    ApiUser
    ApiUserAppStatus
    BaseApiApp
    BitFieldConstructor
    Constructor
    DiscloudAppOptions
    FSGlobOptionsWithFileTypes
    FSGlobOptionsWithoutFileTypes
    InternalRequest
    IUserAgent
    LastDataLeft
    RateLimitData
    RawFile
    RequestData
    RequestHeaders
    RESTApiAppManagerResult
    RESTApiBaseResult
    RESTDeleteApiAppAllDeleteResult
    RESTDeleteApiAppAptResult
    RestEvents
    RESTGetApiAppAllBackupResult
    RESTGetApiAppAllLogResult
    RESTGetApiAppAllResult
    RESTGetApiAppBackupResult
    RESTGetApiAppLogResult
    RESTGetApiAppResult
    RESTGetApiAppStatusResult
    RESTGetApiAppTeamResult
    RESTGetApiTeamResult
    RESTGetApiUserResult
    RESTOptions
    RESTPostApiAppTeamResult
    RESTPostApiUploadErrorResult
    RESTPostApiUploadOkResult
    RESTPutApiAppAllRestartResult
    RESTPutApiAppAllStartResult
    RESTPutApiAppAllStopResult
    RESTPutApiAppAptResult
    RESTPutApiAppCommitResult
    RESTPutApiAppConsoleResult
    RESTPutApiAppRamResult
    RESTPutApiAppTeamResult
    RESTPutApiLocaleResult
    UploadAppOptions

    Type Aliases

    AppLanguages
    AppTypes
    AppVersion
    APTString
    BitFieldResolvable
    ClientEvents
    Constructable
    CreateAppOptions
    DiscloudConfigType
    FileResolvable
    FileResolvableSync
    FSGlobOptions
    If
    LocaleString
    ModPermissionsResolvable
    ModPermissionsString
    ProfileOptions
    RequestOptions
    RESTDeleteApiAppDeleteResult
    RESTDeleteApiAppTeamResult
    RESTPostApiUploadResult
    RESTPutApiAppRestartResult
    RESTPutApiAppStartResult
    RESTPutApiAppStopResult
    RouteLike
    Routes
    UpdateAppOptions

    Variables

    APIVersion
    APT
    APTPackages
    DefaultDiscloudAppOptions
    DefaultRestOptions
    discloud
    discloudConfigRequiredScopes
    discloudConfigScopes
    filenamePattern
    fileNamePattern
    ProfileOptions
    RouteBases
    Routes
    version

    Functions

    bindFunctions
    calculatePercentage
    fsGlob
    fsGlobIterate
    glob
    globIterate
    importJSON
    mergeDefaults
    resolveFile
    resolveFileSync
    streamToBlob
    streamToFile