@lookingglass/blocks.js / BlocksClient
- deleteHologram
- hologram
- me
- myHolograms
- playlist
- request
- updateHologram
- uploadAndCreateQuiltHologram
- uploadAndCreateRgbdHologram
- verifySession
• 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"
});| Name | Type |
|---|---|
args |
BlocksClientArgs |
▸ deleteHologram(hologramId): Promise<{ __typename?: "Hologram" ; id: number }>
Delete a hologram
| Name | Type |
|---|---|
hologramId |
number |
Promise<{ __typename?: "Hologram" ; id: number }>
▸ 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
| Name | Type |
|---|---|
id |
number |
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(): 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.
Promise<undefined | null | { __typename?: "User" ; createdAt: any ; displayName: string ; email?: null | string ; id: number ; picture?: null | string ; username: string }>
▸ 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
| Name | Type | Default value |
|---|---|---|
first |
number |
50 |
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(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
| Name | Type | Default value |
|---|---|---|
id |
number |
undefined |
limit |
number |
50 |
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<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
}
})| Name | Type |
|---|---|
T |
GraphqlDocument |
V |
Variables |
| Name | Type |
|---|---|
options |
RequestOptions<V, T> |
Promise<T>
▸ updateHologram(data): Promise<{ __typename?: "Hologram" ; id: number ; permalink: string ; title?: null | string }>
Update a hologram
| Name | Type |
|---|---|
data |
UpdateHologramInput |
Promise<{ __typename?: "Hologram" ; id: number ; permalink: string ; title?: null | string }>
▸ uploadAndCreateQuiltHologram(file, data): Promise<{ __typename?: "Hologram" ; id: number ; permalink: string }>
Upload a Looking Glass quilt and create a new hologram for this account
| Name | Type | Description |
|---|---|---|
file |
File |
The image file to upload |
data |
Omit<CreateQuiltHologramInputType, "imageUrl"> |
- |
Promise<{ __typename?: "Hologram" ; id: number ; permalink: string }>
▸ uploadAndCreateRgbdHologram(file, data): Promise<{ __typename?: "Hologram" ; id: number ; permalink: string }>
Upload and convert a regular 2D image to a hologram for this account
| Name | Type |
|---|---|
file |
File |
data |
Omit<CreateQuiltHologramInputType, "imageUrl"> |
Promise<{ __typename?: "Hologram" ; id: number ; permalink: string }>
▸ verifySession(): Promise<VerifySessionQuery>
Verify the current session is valid
Promise<VerifySessionQuery>