Class ProjectService

A service that allows querying users project-related information.

Constructors

Methods

  • Acquires a new project deployment lock. This is required to perform project deployments.

    Parameters

    • projectUUID: UUID

      The UUID of the project to acquire a lock for.

    Returns UncertainAsyncOp<boolean, string>

    An async op that completes once the web server has replied to our request. The value of the async op is a boolean that indicates whether or not the lock was acquired.

  • Adds a new user to the project with the given permissions.

    Parameters

    • projectUUID: UUID

      The UUID of the project to add a new user to.

    • userUUID: UUID

      The UUID of the user to be added to the project.

    • permissions: EnumValue<CloudProjectPermission, number>

      The permissions to add the user with.

    Returns UncertainAsyncOp<Any, string>

    An async op that completes once the web server has replied to our request.

  • Changes the permissions of a user on the given the project to the given permissions.

    Parameters

    • projectUUID: UUID

      The UUID of the project to change the permissions on.

    • userUUID: UUID

      The UUID of the user to have it's permissions changed on the project.

    • permissions: EnumValue<CloudProjectPermission, number>

      The permissions to change to.

    Returns UncertainAsyncOp<Any, string>

    An async op that completes once the web server has replied to our request.

  • Creates a new project on the web with the given name.

    Parameters

    • projectName: string

      The name of the project to be created.

    • description: string

      A string that describes the project. Will be stored alongside project metadata and will be returned by the API.

    • OptionalteamUUID: UUID

      Optional, the UUID of the team to create the project in. If not set, the project will be created in the user's personal projects.

    Returns UncertainAsyncOp<CloudProject, string>

  • Creates a new project on the web with the given name using the given templateUUID project as a reference. All contents of templateUUID will be copied into the new project.

    Parameters

    • templateUUID: UUID

      The UUID of a project template to be cloned when creating the new project.

    • projectName: string

      The name of the project to be created.

    • description: string

      A string that describes the project. Will be stored alongside project metadata and will be returned by the API.

    • OptionalteamUUID: UUID

      Optional, the UUID of the team to create the project in. If not set, the project will be created in the user's personal projects.

    • OptionalisDeepClone: boolean

      If true, will copy all files under the new project. If false, will only reference the files from the original project in read-only form.

    Returns UncertainAsyncOp<CloudProject, string>

  • Updates the project reference to the latest version.

    Parameters

    • projectUUID: UUID

      The project to update the reference for.

    • polyverseLibraryUUID: UUID
    • polyverseAssetUUID: UUID

    Returns UncertainAsyncOp<UUID, string>

    An async op that completes once the server has replied to our request. The result is the UUID of the newly created reference.

  • Creates a new project reference.

    Parameters

    • projectUUID: UUID

      The project to update the reference for.

    • referencedProjectUUID: UUID

      The ID of the project to be referenced.

    Returns UncertainAsyncOp<UUID, string>

    An async op that completes once the server has replied to our request. The result is the UUID of the newly created reference.

  • Creates a new project template from the specified project. If a template for this project already exists, it will be updated.

    Parameters

    • projectUUID: UUID

      The project to create a new template from.

    Returns UncertainAsyncOp<CloudProject, string>

    An async op that completes once the server has replied to our request. The resulting object is the newly created template object.

    The user sending the request must have at least Deploy permission level to create a new template.

    A deployment lock must be acquired before creating the template and all MainIncremental resources on the project must be a head.

  • Creates a new project on the web with the given name.

    Parameters

    • projectUUID: UUID

      The project UUID to be deleted.

    Returns UncertainAsyncOp<Any, string>

  • Deletes an existing shared link.

    Parameters

    • projectUUID: UUID

      The UUID of the project to change the permissions on.

    • sharedLinkUUID: UUID

      The UUID of the shared link to delete.

    Returns UncertainAsyncOp<Any, string>

    An async op that completes once the web server has replied to our request.

  • Marks the given projectUUID as a favorite for the user.

    Parameters

    • projectUUID: UUID

      The project o be marked as a favorite.

    Returns UncertainAsyncOp<Any, string>

    An async op that completes once the web server has replied to our request.

  • Gets a list of project references that are available to the current project.

    Parameters

    • projectUUID: UUID

      The project to retrieve available references for.

    Returns UncertainAsyncOp<CloudProject[], string>

    An async op that completes once the server has replied to our request.

  • Creates a new shared link token to access the project with the given permissions.

    Parameters

    • projectUUID: UUID

      The UUID of the project to change the permissions on.

    • sharedLinkUUID: UUID

      The UUID of the shared link to create a new token for.

    Returns UncertainAsyncOp<string, string>

    An async op that completes once the web server has replied to our request.

  • Invites new users to the project with the given permissions.

    Parameters

    • projectUUID: UUID

      The UUID of the project to invite users to.

    • invitations: CloudProjectUserInvitation[]

      A vector that specifies each invitation that should be sent.

    Returns UncertainAsyncOp<Any, string>

    An async op that completes once the web server has replied to our request.

  • Leaves a project. After this call, the user will lose access to the project.

    Parameters

    • projectUUID: UUID

      The project to be removed from.

    Returns UncertainAsyncOp<Any, string>

    An async op that completes once the server has replied to our request.

    If the user is the owner of the project, this call will fail.

  • Releases a project deployment lock.

    Parameters

    • projectUUID: UUID

      The UUID of the project to acquire a lock for.

    Returns UncertainAsyncOp<boolean, string>

    An async op that completes once the web server has replied to our request. The value of the async op is a boolean that indicates whether or not the lock was released.

  • Removes the project reference.

    Parameters

    • projectUUID: UUID

      The project to update the reference for.

    • referenceUUID: UUID

      The ID of the reference to update.

    Returns UncertainAsyncOp<Any, string>

    An async op that completes once the server has replied to our request.

  • Removes a user from a project. All access to the user will be revoked.

    Parameters

    • projectUUID: UUID

      The UUID of the project to change the permissions on.

    • userUUID: UUID

      The UUID of the user to have it's permissions revoked on the project.

    Returns UncertainAsyncOp<Any, string>

    An async op that completes once the web server has replied to our request.

  • Renews a project deployment lock.

    Parameters

    • projectUUID: UUID

      The UUID of the project to acquire a lock for.

    Returns UncertainAsyncOp<boolean, string>

    An async op that completes once the web server has replied to our request. The value of the async op is a boolean that indicates whether or not the lock was renewed.

  • Resends an invitation to a user.

    Parameters

    • projectUUID: UUID

      The UUID of the project to resend the invitation for.

    • email: string

      The email address of the user to resend the invitation to.

    Returns UncertainAsyncOp<Any, string>

    An async op that completes once the web server has replied to our request.

  • Removes the favorite state for the given projectUUID for the user.

    Parameters

    • projectUUID: UUID

      The project o be unmarked as a favorite.

    Returns UncertainAsyncOp<Any, string>

    An async op that completes once the web server has replied to our request.

  • Updates the project reference to the latest version.

    Parameters

    • projectUUID: UUID

      The project to update the reference for.

    • referenceUUID: UUID

      The ID of the reference to update.

    Returns UncertainAsyncOp<Any, string>

    An async op that completes once the server has replied to our request.

  • Creates a new shared link to access the project with the given permissions.

    Parameters

    • projectUUID: UUID

      The UUID of the project to change the permissions on.

    • sharedLinkUUID: UUID

      The UUID of the shared link to create a new token for.

    • permissions: EnumValue<CloudProjectPermission, number>

      The permissions to create the shared link with.

    Returns UncertainAsyncOp<CloudProjectShareLink, string>

    An async op that completes once the web server has replied to our request.

    Only read and write permissions are allowed.

  • Uploads a new preview image to the project.

    Parameters

    • projectUUID: UUID

      The project to have a preview image uploaded.

    • pixelData: PixelData

      The PixelData that represents the preview image. It will be automatically converted into a PNG and uploaded to the server.

    Returns UncertainAsyncOp<PixelData, string>

    An async op that completes once the web server has replied to our request. The value of the async data is the PixelData that was upload. The data might be different than the pixelData if the data needed to be adjusted prior to uploading.