1.1.0 • Published 1 year ago

@pinport/client v1.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

PinportClient

PinportClient is a TypeScript client for interacting with the Pinport API. It allows for creating and retrieving pins on the Pinport platform.

Installation

To install the PinportClient, use the following command:

npm install @pinport/client

Usage

Importing and Initializing

To use the PinportClient, you need to import it and initialize an instance with your API URL and key:

import { PinportClient } from "@pinport/client";

const pinport = new PinportClient("<api_url>", "<private_key> or <public_key>");

Creating Pins

You can create multiple pins by sending a POST request to the Pinport API. The createPins method takes an array of pin objects to be created.

const pinsToCreate: Pinport.CreatePin[] = [
  {
    meta_id: "meta1",
    position: { x: 1, y: 2, z: 3 },
    offset: { x: 0, y: 0, z: 0 },
    html: "<div>Pin 1</div>",
    opacity: 0.8,
    enableLine: true,
    alert: false,
    icon: "icon1",
  },
  {
    meta_id: "meta2",
    position: { x: 4, y: 5, z: 6 },
    offset: { x: 1, y: 1, z: 1 },
    html: "<div>Pin 2</div>",
    opacity: 0.9,
    enableLine: false,
    alert: true,
    icon: "icon2",
  },
];

pinport
  .createPins(pinsToCreate)
  .then((response) => {
    console.log("Created pins:", response);
  })
  .catch((error: Pinport.ErrorResponse) => {
    console.error("Error creating pins:", error);
  });

Retrieving Pins

You can retrieve all pins by sending a GET request to the Pinport API. The getPins method takes a meta_id for searching pins.

pinport.getPins('meta1').then((response) => {
  console.log("Retrieved pins:", response);
}).catch((error: Pinport.ErrorResponse) => {
  console.error("Error retrieving pins:", error);
});

Updating Pins

You can update existing pins by sending a PUT request to the Pinport API. The updatePins method takes an array of pin objects with updated properties.

const pinsToUpdate: Pinport.UpdatePin[] = [
  {
    id: "pin1",
    position: { x: 2, y: 3, z: 4 },
    offset: { x: 0, y: 0, z: 0 },
    html: "<div>Updated Pin 1</div>",
    opacity: 0.7,
    enableLine: true,
    alert: false,
    icon: "icon1",
  },
  {
    id: "pin2",
    position: { x: 5, y: 6, z: 7 },
    offset: { x: 1, y: 1, z: 1 },
    html: "<div>Updated Pin 2</div>",
    opacity: 0.9,
    enableLine: false,
    alert: true,
    icon: "icon2",
  },
];

pinport
  .updatePins(pinsToUpdate)
  .then((response) => {
    console.log("Updated pins:", response);
  })
  .catch((error: Pinport.ErrorResponse) => {
    console.error("Error updating pins:", error);
  });

Deleting Pins

You can delete pins by sending a DELETE request to the Pinport API. The deletePins method takes an array of pin IDs to be deleted.

const pinIdsToDelete: string[] = ["pin1", "pin2"];

pinport
  .deletePins(pinIdsToDelete)
  .then((response) => {
    console.log("Deleted pins:", response);
  })
  .catch((error: Pinport.ErrorResponse) => {
    console.error("Error deleting pins:", error);
  });

Getting Metadata

You can retrieve metadata by sending a GET request to the Pinport API. The getMetadata method takes a meta_id for retrieving metadata.

pinport.getMetadata('meta1').then((response) => {
  console.log("Retrieved metadata:", response);
}).catch((error: Pinport.ErrorResponse) => {
  console.error("Error retrieving metadata:", error);
});

Extensions

PinportClient supports extensions that can be used to extend its functionality. Extensions are initialized during the PinportClient instance creation.

import { PinportMatterporExtension } from "@pinport/matterport";

const pinport = new PinportClient(
  '<api_url>',
  '<private_key>',
  { extensions: [PinportMatterporExtension] },
);
// now you can access
const pinportMatterport = pinport.extensions.matterport
1.1.0

1 year ago

1.0.3

1 year ago

1.0.2

1 year ago

1.0.1

1 year ago

1.0.0

1 year ago

0.2.4

1 year ago

0.2.3

1 year ago

0.2.2

1 year ago

0.2.1

1 year ago

0.2.0

1 year ago

0.1.2

1 year ago

0.1.1

1 year ago

0.1.0

1 year ago

0.0.1

1 year ago