@orbit-love/activities
Version:
Orbit API client for Node.js. API support for activity and note operations.
282 lines (205 loc) • 7.87 kB
Markdown

[](https://badge.fury.io/js/%40orbit-love%2Factivities)
[](.github/CODE_OF_CONDUCT.md)
> Orbit API helper library for Node.js. <br>This client can create, read, update and delete activities in your Orbit workspace.
<img src=".github/logo.png" alt="Orbit" style="max-width: 300px; margin: 2em 0;">
```
npm install @orbit-love/activities
```
```js
const OrbitActivities = require('@orbit-love/activities')
const orbitActivities = new OrbitActivities(orbitWorkspaceId, orbitApiKey)
```
* `orbitWorkspaceId` - The part of your Orbit workspace URL that immediately follows the app.orbit.love. For example, if the URL was https://app.orbit.love/my-workspace, then your Orbit workspace ID is my-workspace.
* `orbitApiKey` - This can be found in you Orbit Account Settings.
If you have the environment variables `ORBIT_WORKSPACE_ID` and `ORBIT_API_KEY` set, you can initialize the client like so:
```js
const OrbitActivities = require('@orbit-love/activities')
const orbitActivities = new OrbitActivities()
```
If you have environment variables set and also pass in values, the passed in values will be used.
- [Information about Orbit API Rate Limiting](https://docs.orbit.love/reference#rate-limiting)
- For list methods, you can ask request a number of results per request between 1 and 100.
<details>
<summary><code>listWorkspaceActivities(options)</code></summary>
```js
const options = {
page: 1,
items: 50,
company: 'ACME Corp'
}
orbitActivities.listWorkspaceActivities(options).then(data => {
console.log(data)
}).catch(error => {
console.error(error)
})
```
`options` is not a required parameter, but can be any query parameter shown in our API reference.
[](https://docs.orbit.love/reference#get_-workspace-id-activities)
</details>
<details>
<summary><code>listMemberActivities(memberId, options)</code></summary>
```js
const memberId = 'janesmith04'
const options = {
page: 1,
items: 50
}
orbitActivities.listMemberActivities(memberId, options).then(data => {
console.log(data)
}).catch(error => {
console.error(error)
})
```
`options` is not a required parameter, but can be any query parameter shown in our API reference.
[](https://docs.orbit.love/reference#get_-workspace-id-members-member-id-activities)
</details>
<details>
<summary><code>getLatestActivityTimestamp(activityType)</code></summary>
```js
const activityType = 'issued:opened'
orbitActivities.getLatestActivityTimestamp(activityType).then(data => {
console.log(data)
}).catch(error => {
console.error(error)
})
```
Will return the timestamp of the latest activity with the provided type, or null if there are none.
</details>
<details>
<summary><code>getActivity(activityId)</code></summary>
```js
const activityId = '1234536'
orbitActivities.getActivity(activityId).then(data => {
console.log(data)
}).catch(error => {
console.error(error)
})
```
[](https://docs.orbit.love/reference#get_-workspace-id-activities-id)
</details>
<details>
<summary><code>createActivity(memberId, data)</code> or <code>createActivity(data)</code></summary>
If you know the `memberId` for the member you want to add the activity to:
```js
const memberId = 'janesmith04'
const data = {
activity_type: 'starfleet:signup',
title: "New Planet Signed Up for Starfleet",
description: "Klingon has joined Starfleet via Twitter",
member: {
tshirt: 'XL',
twitter: 'qunnoq'
}
}
orbitActivities.createActivity(memberId, data).then(data => {
console.log(data)
}).catch(error => {
console.error(error)
})
```
`data` should match the body params as shown in the [__Create a post activity for a member__ API reference.](https://docs.orbit.love/reference#post_-workspace-id-members-member-id-activities)
If you know one or more identities of the member (github, email, twitter, etc.) but not their Orbit ID:
```js
const data = {
activity_type: 'starfleet:signup',
title: "New Planet Signed Up for Starfleet",
description: "Klingon has joined Starfleet via Twitter",
member: {
tshirt: 'XL',
twitter: 'qunnoq'
}
}
orbitActivities.createActivity(data).then(data => {
console.log(data)
}).catch(error => {
console.error(error)
})
```
`data` should match the body params as shown in the [__Create an activity for a new or existing member__ API reference.](https://docs.orbit.love/reference#post_-workspace-id-activities)
</details>
<details>
<summary><code>updateActivity(memberId, activityId, data)</code></summary>
```js
const memberId = 'janesmith04'
const activityId = '1234356'
const data: {
description: 'New description'
}
orbitActivities.updateActivity(memberId, activityId, data).then(data => {
console.log(data)
}).catch(error => {
console.error(error)
})
```
`data` should match the body params as shown in the [__Update a custom activity for a member__ API reference.](https://docs.orbit.love/reference#put_-workspace-id-members-member-id-activities-id)
</details>
<details>
<summary><code>deleteActivity(memberId, activityId)</code></summary>
```js
const memberId = 'janesmith04'
const activityId = '1234356'
orbitActivities.deleteActivity(memberId, activityId).then(data => {
console.log(data)
}).catch(error => {
console.error(error)
})
```
[](https://docs.orbit.love/reference#delete_-workspace-id-members-member-id-activities-id)
</details>
<details>
<summary><code>listMemberNotes(memberId, options)</code></summary>
```js
const memberId = 'janesmith04'
const options = {
page: 1
}
orbitActivities.listMemberNotes(memberId, options).then(data => {
console.log(data)
}).catch(error => {
console.error(error)
})
```
`options` is not a required parameter, but can be any query parameter shown in our API reference.
[](https://docs.orbit.love/reference#get_-workspace-id-members-member-id-notes)
</details>
<details>
<summary><code>createNote(memberId, body)</code></summary>
```js
const memberId = 'janesmith04'
const body = 'Had a really excellent interview with Jane today.'
orbitActivities.createNote(memberId, body).then(data => {
console.log(data)
}).catch(error => {
console.error(error)
})
```
[](https://docs.orbit.love/reference#post_-workspace-id-members-member-id-notes)
</details>
<details>
<summary><code>updateNote(memberId, noteId, body)</code></summary>
```js
const memberId = 'janesmith04'
const noteId = '12345'
const body = 'Had a really excellent interview with Jane today. Here is some more info.'
orbitActivities.updateNote(memberId, noteId, body).then(data => {
console.log(data)
}).catch(error => {
console.error(error)
})
```
[](https://docs.orbit.love/reference#put_-workspace-id-members-member-id-notes-id)
</details>
We 💜 contributions from everyone! Check out the [Contributing Guidelines](.github/CONTRIBUTING.md) for more information.
This is available as open source under the terms of the [MIT License](LICENSE).
This project uses the [Contributor Code of Conduct](.github/CODE_OF_CONDUCT.md). We ask everyone to please adhere by its guidelines.