Skip to content

Latest commit

 

History

History
248 lines (151 loc) · 15.2 KB

BlocksClient.md

File metadata and controls

248 lines (151 loc) · 15.2 KB

@lookingglass/blocks.js / BlocksClient

Class: BlocksClient

Table of contents

Constructors

Methods

Constructors

constructor

• new BlocksClient(args)

Initialize the BlocksClient with a valid JWT token. See validateSession for how to get a token.

Example

const blocksClient = new BlocksClient({
  token: "BLOCKS_API_TOKEN_HERE"
});

Parameters

Name Type
args BlocksClientArgs

Methods

deleteHologram

▸ deleteHologram(hologramId): Promise<{ __typename?: "Hologram" ; id: number }>

Delete a hologram

Parameters

Name Type
hologramId number

Returns

Promise<{ __typename?: "Hologram" ; id: number }>


hologram

▸ hologram(id): Promise<undefined | null | { __typename?: "Hologram" ; aspectRatio: number ; description?: null | string ; id: number ; permalink: string ; previewGifAssets: { __typename?: "ImageAsset" ; height: number ; type: string ; url: string ; width: number }[] ; previewVideoAssets: { __typename?: "ImageAsset" ; height: number ; type: string ; url: string ; width: number }[] ; privacy: PrivacyType ; quiltCols: number ; quiltRows: number ; quiltTileCount: number ; rgbdAssets?: null | { __typename?: "ImageAsset" ; height: number ; kind: ImageAssetKind ; type: string ; url: string ; width: number }[] ; sourceImages: { __typename?: "ImageAsset" ; fileSize: number ; height: number ; id: number ; type: string ; url: string ; width: number }[] ; thumbnail?: null | { __typename?: "ImageAsset" ; height: number ; type: string ; url: string ; width: number } ; title?: null | string ; type: HologramType ; user: { __typename?: "User" ; displayName: string ; id: number ; picture?: null | string ; username: string } }>

Fetch an invididual hologram by id

Parameters

Name Type
id number

Returns

Promise<undefined | null | { __typename?: "Hologram" ; aspectRatio: number ; description?: null | string ; id: number ; permalink: string ; previewGifAssets: { __typename?: "ImageAsset" ; height: number ; type: string ; url: string ; width: number }[] ; previewVideoAssets: { __typename?: "ImageAsset" ; height: number ; type: string ; url: string ; width: number }[] ; privacy: PrivacyType ; quiltCols: number ; quiltRows: number ; quiltTileCount: number ; rgbdAssets?: null | { __typename?: "ImageAsset" ; height: number ; kind: ImageAssetKind ; type: string ; url: string ; width: number }[] ; sourceImages: { __typename?: "ImageAsset" ; fileSize: number ; height: number ; id: number ; type: string ; url: string ; width: number }[] ; thumbnail?: null | { __typename?: "ImageAsset" ; height: number ; type: string ; url: string ; width: number } ; title?: null | string ; type: HologramType ; user: { __typename?: "User" ; displayName: string ; id: number ; picture?: null | string ; username: string } }>


me

▸ me(): Promise<undefined | null | { __typename?: "User" ; createdAt: any ; displayName: string ; email?: null | string ; id: number ; picture?: null | string ; username: string }>

Fetch info about the currently signed in user.

Returns

Promise<undefined | null | { __typename?: "User" ; createdAt: any ; displayName: string ; email?: null | string ; id: number ; picture?: null | string ; username: string }>


myHolograms

▸ myHolograms(first?): Promise<undefined | null | { __typename?: "User" ; displayName: string ; holograms?: null | { __typename?: "UserHolograms_Connection" ; nodes?: null | (null | { __typename?: "Hologram" ; aspectRatio: number ; description?: null | string ; id: number ; permalink: string ; previewGifAssets: { __typename?: "ImageAsset" ; height: number ; type: string ; url: string ; width: number }[] ; previewVideoAssets: { __typename?: "ImageAsset" ; height: number ; type: string ; url: string ; width: number }[] ; privacy: PrivacyType ; quiltCols: number ; quiltRows: number ; quiltTileCount: number ; rgbdAssets?: null | { __typename?: "ImageAsset" ; height: number ; kind: ImageAssetKind ; type: string ; url: string ; width: number }[] ; sourceImages: { __typename?: "ImageAsset" ; fileSize: number ; height: number ; id: number ; type: string ; url: string ; width: number }[] ; thumbnail?: null | { __typename?: "ImageAsset" ; height: number ; type: string ; url: string ; width: number } ; title?: null | string ; type: HologramType ; user: { __typename?: "User" ; displayName: string ; id: number ; picture?: null | string ; username: string } })[] } ; username: string }>

Fetch all the holograms for the currently logged in user

Parameters

Name Type Default value
first number 50

Returns

Promise<undefined | null | { __typename?: "User" ; displayName: string ; holograms?: null | { __typename?: "UserHolograms_Connection" ; nodes?: null | (null | { __typename?: "Hologram" ; aspectRatio: number ; description?: null | string ; id: number ; permalink: string ; previewGifAssets: { __typename?: "ImageAsset" ; height: number ; type: string ; url: string ; width: number }[] ; previewVideoAssets: { __typename?: "ImageAsset" ; height: number ; type: string ; url: string ; width: number }[] ; privacy: PrivacyType ; quiltCols: number ; quiltRows: number ; quiltTileCount: number ; rgbdAssets?: null | { __typename?: "ImageAsset" ; height: number ; kind: ImageAssetKind ; type: string ; url: string ; width: number }[] ; sourceImages: { __typename?: "ImageAsset" ; fileSize: number ; height: number ; id: number ; type: string ; url: string ; width: number }[] ; thumbnail?: null | { __typename?: "ImageAsset" ; height: number ; type: string ; url: string ; width: number } ; title?: null | string ; type: HologramType ; user: { __typename?: "User" ; displayName: string ; id: number ; picture?: null | string ; username: string } })[] } ; username: string }>


playlist

▸ playlist(id, limit?): Promise<undefined | null | { __typename?: "Playlist" ; description?: null | string ; id: number ; items?: null | { __typename?: "PlaylistItems_Connection" ; edges?: null | (null | { __typename?: "PlaylistItemEdge" ; node?: null | { __typename?: "PlaylistItem" ; hologram: { __typename?: "Hologram" ; aspectRatio: number ; description?: null | string ; id: number ; permalink: string ; previewGifAssets: { __typename?: "ImageAsset" ; height: number ; type: string ; url: string ; width: number }[] ; previewVideoAssets: { __typename?: "ImageAsset" ; height: number ; type: string ; url: string ; width: number }[] ; privacy: PrivacyType ; quiltCols: number ; quiltRows: number ; quiltTileCount: number ; rgbdAssets?: null | { __typename?: "ImageAsset" ; height: number ; kind: ImageAssetKind ; type: string ; url: string ; width: number }[] ; sourceImages: { __typename?: "ImageAsset" ; fileSize: number ; height: number ; id: number ; type: string ; url: string ; width: number }[] ; thumbnail?: null | { __typename?: "ImageAsset" ; height: number ; type: string ; url: string ; width: number } ; title?: null | string ; type: HologramType ; user: { __typename?: "User" ; displayName: string ; id: number ; picture?: null | string ; username: string } } ; hologramId: number ; id: number ; position?: null | number } })[] ; pageInfo: { __typename?: "PageInfo" ; endCursor?: null | string ; hasNextPage: boolean ; hasPreviousPage: boolean ; startCursor?: null | string } ; totalCount?: null | number } ; permalink: string ; privacy: PlaylistPrivacy ; thumbnail?: null | { __typename?: "ImageAsset" ; height: number ; id: number ; type: string ; url: string ; width: number } ; title: string ; updatedAt: any }>

Fetch a playlist

Id

The id of the playlist

Limit

Number of total holograms you want to load in

Parameters

Name Type Default value
id number undefined
limit number 50

Returns

Promise<undefined | null | { __typename?: "Playlist" ; description?: null | string ; id: number ; items?: null | { __typename?: "PlaylistItems_Connection" ; edges?: null | (null | { __typename?: "PlaylistItemEdge" ; node?: null | { __typename?: "PlaylistItem" ; hologram: { __typename?: "Hologram" ; aspectRatio: number ; description?: null | string ; id: number ; permalink: string ; previewGifAssets: { __typename?: "ImageAsset" ; height: number ; type: string ; url: string ; width: number }[] ; previewVideoAssets: { __typename?: "ImageAsset" ; height: number ; type: string ; url: string ; width: number }[] ; privacy: PrivacyType ; quiltCols: number ; quiltRows: number ; quiltTileCount: number ; rgbdAssets?: null | { __typename?: "ImageAsset" ; height: number ; kind: ImageAssetKind ; type: string ; url: string ; width: number }[] ; sourceImages: { __typename?: "ImageAsset" ; fileSize: number ; height: number ; id: number ; type: string ; url: string ; width: number }[] ; thumbnail?: null | { __typename?: "ImageAsset" ; height: number ; type: string ; url: string ; width: number } ; title?: null | string ; type: HologramType ; user: { __typename?: "User" ; displayName: string ; id: number ; picture?: null | string ; username: string } } ; hologramId: number ; id: number ; position?: null | number } })[] ; pageInfo: { __typename?: "PageInfo" ; endCursor?: null | string ; hasNextPage: boolean ; hasPreviousPage: boolean ; startCursor?: null | string } ; totalCount?: null | number } ; permalink: string ; privacy: PlaylistPrivacy ; thumbnail?: null | { __typename?: "ImageAsset" ; height: number ; id: number ; type: string ; url: string ; width: number } ; title: string ; updatedAt: any }>


request

▸ request<T, V>(options): Promise<T>

Make an autheticated request to the Blocks GraphQL API. To see the full list of available GraphQL queries and mutations, visit the API sandbox.

await blocksClient.api({
	document: `query Me($first: Int) {
		me {
			holograms(first: $first) {
				nodes {
					id
					title
				}
			}
		}
	}`,
	variables: {
		first: 10
	}
})

Type parameters

Name Type
T GraphqlDocument
V Variables

Parameters

Name Type
options RequestOptions<V, T>

Returns

Promise<T>


updateHologram

▸ updateHologram(data): Promise<{ __typename?: "Hologram" ; id: number ; permalink: string ; title?: null | string }>

Update a hologram

Parameters

Name Type
data UpdateHologramInput

Returns

Promise<{ __typename?: "Hologram" ; id: number ; permalink: string ; title?: null | string }>


uploadAndCreateQuiltHologram

▸ uploadAndCreateQuiltHologram(file, data): Promise<{ __typename?: "Hologram" ; id: number ; permalink: string }>

Upload a Looking Glass quilt and create a new hologram for this account

Parameters

Name Type Description
file File The image file to upload
data Omit<CreateQuiltHologramInputType, "imageUrl"> -

Returns

Promise<{ __typename?: "Hologram" ; id: number ; permalink: string }>


uploadAndCreateRgbdHologram

▸ uploadAndCreateRgbdHologram(file, data): Promise<{ __typename?: "Hologram" ; id: number ; permalink: string }>

Upload and convert a regular 2D image to a hologram for this account

Parameters

Name Type
file File
data Omit<CreateQuiltHologramInputType, "imageUrl">

Returns

Promise<{ __typename?: "Hologram" ; id: number ; permalink: string }>


verifySession

▸ verifySession(): Promise<VerifySessionQuery>

Verify the current session is valid

Returns

Promise<VerifySessionQuery>