Skip to content

Commit

Permalink
Merge pull request #1520 from balena-io/add-team-model
Browse files Browse the repository at this point in the history
Add methods for the team model
  • Loading branch information
JSReds authored Jan 21, 2025
2 parents 39a4995 + 8e1e3cb commit ba9037f
Show file tree
Hide file tree
Showing 7 changed files with 1,096 additions and 0 deletions.
236 changes: 236 additions & 0 deletions DOCUMENTATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -352,6 +352,17 @@ const sdk = fromSharedOptions();
* [.getAll([options])](#balena.models.organization.getAll) ⇒ <code>Promise</code>
* [.get(handleOrId, [options])](#balena.models.organization.get) ⇒ <code>Promise</code>
* [.remove(handleOrId)](#balena.models.organization.remove) ⇒ <code>Promise</code>
* [.team](#balena.models.team) : <code>object</code>
* [.applicationAccess](#balena.models.team.applicationAccess) : <code>object</code>
* [.getAllByTeam(teamId, [options])](#balena.models.team.applicationAccess.getAllByTeam) ⇒ <code>Promise</code>
* [.get(teamApplicationAccessId, [options])](#balena.models.team.applicationAccess.get) ⇒ <code>Promise</code>
* [.update(teamApplicationAccessId, roleName)](#balena.models.team.applicationAccess.update) ⇒ <code>Promise</code>
* [.remove(teamApplicationAccessId)](#balena.models.team.applicationAccess.remove) ⇒ <code>Promise</code>
* [.create(organizationSlugOrId, name)](#balena.models.team.create) ⇒ <code>Promise</code>
* [.getAllByOrganization(organizationSlugOrId, [options])](#balena.models.team.getAllByOrganization) ⇒ <code>Promise</code>
* [.get(teamId, [options])](#balena.models.team.get) ⇒ <code>Promise</code>
* [.rename(teamId, newName)](#balena.models.team.rename) ⇒ <code>Promise</code>
* [.remove(teamId)](#balena.models.team.remove) ⇒ <code>Promise</code>
* [.os](#balena.models.os) : <code>object</code>
* [.getAvailableOsVersions(deviceTypes, [options])](#balena.models.os.getAvailableOsVersions) ⇒ <code>Promise</code>
* [.getAllOsVersions(deviceTypes, [options])](#balena.models.os.getAllOsVersions) ⇒ <code>Promise</code>
Expand Down Expand Up @@ -754,6 +765,17 @@ balena.models.device.get(123).catch(function (error) {
* [.getAll([options])](#balena.models.organization.getAll) ⇒ <code>Promise</code>
* [.get(handleOrId, [options])](#balena.models.organization.get) ⇒ <code>Promise</code>
* [.remove(handleOrId)](#balena.models.organization.remove) ⇒ <code>Promise</code>
* [.team](#balena.models.team) : <code>object</code>
* [.applicationAccess](#balena.models.team.applicationAccess) : <code>object</code>
* [.getAllByTeam(teamId, [options])](#balena.models.team.applicationAccess.getAllByTeam) ⇒ <code>Promise</code>
* [.get(teamApplicationAccessId, [options])](#balena.models.team.applicationAccess.get) ⇒ <code>Promise</code>
* [.update(teamApplicationAccessId, roleName)](#balena.models.team.applicationAccess.update) ⇒ <code>Promise</code>
* [.remove(teamApplicationAccessId)](#balena.models.team.applicationAccess.remove) ⇒ <code>Promise</code>
* [.create(organizationSlugOrId, name)](#balena.models.team.create) ⇒ <code>Promise</code>
* [.getAllByOrganization(organizationSlugOrId, [options])](#balena.models.team.getAllByOrganization) ⇒ <code>Promise</code>
* [.get(teamId, [options])](#balena.models.team.get) ⇒ <code>Promise</code>
* [.rename(teamId, newName)](#balena.models.team.rename) ⇒ <code>Promise</code>
* [.remove(teamId)](#balena.models.team.remove) ⇒ <code>Promise</code>
* [.os](#balena.models.os) : <code>object</code>
* [.getAvailableOsVersions(deviceTypes, [options])](#balena.models.os.getAvailableOsVersions) ⇒ <code>Promise</code>
* [.getAllOsVersions(deviceTypes, [options])](#balena.models.os.getAllOsVersions) ⇒ <code>Promise</code>
Expand Down Expand Up @@ -5079,6 +5101,220 @@ balena.models.organization.get(123).then(function(organization) {
```js
balena.models.organization.remove(123);
```
<a name="balena.models.team"></a>

#### models.team : <code>object</code>
**Kind**: static namespace of [<code>models</code>](#balena.models)

* [.team](#balena.models.team) : <code>object</code>
* [.applicationAccess](#balena.models.team.applicationAccess) : <code>object</code>
* [.getAllByTeam(teamId, [options])](#balena.models.team.applicationAccess.getAllByTeam) ⇒ <code>Promise</code>
* [.get(teamApplicationAccessId, [options])](#balena.models.team.applicationAccess.get) ⇒ <code>Promise</code>
* [.update(teamApplicationAccessId, roleName)](#balena.models.team.applicationAccess.update) ⇒ <code>Promise</code>
* [.remove(teamApplicationAccessId)](#balena.models.team.applicationAccess.remove) ⇒ <code>Promise</code>
* [.create(organizationSlugOrId, name)](#balena.models.team.create) ⇒ <code>Promise</code>
* [.getAllByOrganization(organizationSlugOrId, [options])](#balena.models.team.getAllByOrganization) ⇒ <code>Promise</code>
* [.get(teamId, [options])](#balena.models.team.get) ⇒ <code>Promise</code>
* [.rename(teamId, newName)](#balena.models.team.rename) ⇒ <code>Promise</code>
* [.remove(teamId)](#balena.models.team.remove) ⇒ <code>Promise</code>

<a name="balena.models.team.applicationAccess"></a>

##### team.applicationAccess : <code>object</code>
**Kind**: static namespace of [<code>team</code>](#balena.models.team)

* [.applicationAccess](#balena.models.team.applicationAccess) : <code>object</code>
* [.getAllByTeam(teamId, [options])](#balena.models.team.applicationAccess.getAllByTeam) ⇒ <code>Promise</code>
* [.get(teamApplicationAccessId, [options])](#balena.models.team.applicationAccess.get) ⇒ <code>Promise</code>
* [.update(teamApplicationAccessId, roleName)](#balena.models.team.applicationAccess.update) ⇒ <code>Promise</code>
* [.remove(teamApplicationAccessId)](#balena.models.team.applicationAccess.remove) ⇒ <code>Promise</code>

<a name="balena.models.team.applicationAccess.getAllByTeam"></a>

###### applicationAccess.getAllByTeam(teamId, [options]) ⇒ <code>Promise</code>
This method get all team application access.

**Kind**: static method of [<code>applicationAccess</code>](#balena.models.team.applicationAccess)
**Summary**: Get all team applications access
**Access**: public
**Fulfil**: <code>Object[]</code> - team application access

| Param | Type | Default | Description |
| --- | --- | --- | --- |
| teamId | <code>Number</code> | | Required: the team id. |
| [options] | <code>Object</code> | <code>{}</code> | extra pine options to use |

**Example**
```js
balena.models.team.applicationAccess.getAllByTeam(1239948).then(function(teamApplicationAccesses) {
console.log(teamApplicationAccesses);
});
```
<a name="balena.models.team.applicationAccess.get"></a>

###### applicationAccess.get(teamApplicationAccessId, [options]) ⇒ <code>Promise</code>
This method get specific team application access.

**Kind**: static method of [<code>applicationAccess</code>](#balena.models.team.applicationAccess)
**Summary**: Get team applications access
**Access**: public
**Fulfil**: <code>Object</code> - TeamApplicationAccess

| Param | Type | Default | Description |
| --- | --- | --- | --- |
| teamApplicationAccessId | <code>Number</code> | | Required: the team application access id. |
| [options] | <code>Object</code> | <code>{}</code> | extra pine options to use |

**Example**
```js
balena.models.team.applicationAccess.get(1239948).then(function(teamApplicationAccess) {
console.log(teamApplicationAccess);
});
```
<a name="balena.models.team.applicationAccess.update"></a>

###### applicationAccess.update(teamApplicationAccessId, roleName) ⇒ <code>Promise</code>
This method update a team application access role.

**Kind**: static method of [<code>applicationAccess</code>](#balena.models.team.applicationAccess)
**Summary**: Update team application access
**Access**: public
**Fulfil**: <code>Object</code> - TeamApplicationAccess

| Param | Type | Description |
| --- | --- | --- |
| teamApplicationAccessId | <code>Number</code> | Required: the team application access id. |
| roleName | <code>String</code> | Required: The new role to assing (ApplicationMembershipRoles). |

**Example**
```js
balena.models.team.update(123, 'developer').then(function(teamApplicationAccess) {
console.log(teamApplicationAccess);
});
```
<a name="balena.models.team.applicationAccess.remove"></a>

###### applicationAccess.remove(teamApplicationAccessId) ⇒ <code>Promise</code>
This remove a team application access.

**Kind**: static method of [<code>applicationAccess</code>](#balena.models.team.applicationAccess)
**Summary**: Remove team application access
**Access**: public
**Fulfil**: <code>void</code>

| Param | Type | Description |
| --- | --- | --- |
| teamApplicationAccessId | <code>Number</code> | Required: the team application access id. |

**Example**
```js
balena.models.team.remove(123).then(function(teams) {
console.log(teams);
});
```
<a name="balena.models.team.create"></a>

##### team.create(organizationSlugOrId, name) ⇒ <code>Promise</code>
This method creates a new team.

**Kind**: static method of [<code>team</code>](#balena.models.team)
**Summary**: Creates a new Team
**Access**: public
**Fulfil**: <code>Object</code> - Team

| Param | Type | Description |
| --- | --- | --- |
| organizationSlugOrId | <code>Number</code> | Required: the organization slug or id the team will be part of. |
| name | <code>String</code> | Required: the name of the team that will be created. |

**Example**
```js
balena.models.team.create(1239948, 'MyTeam').then(function(team) {
console.log(team);
});
```
**Example**
```js
balena.models.team.create('myOrgHandle', 'MyTeam')
.then(function(team) {
console.log(team);
});
```
<a name="balena.models.team.getAllByOrganization"></a>

##### team.getAllByOrganization(organizationSlugOrId, [options]) ⇒ <code>Promise</code>
**Kind**: static method of [<code>team</code>](#balena.models.team)
**Summary**: Get all Teams of a specific Organization
**Access**: public
**Fulfil**: <code>Object[]</code> - Teams

| Param | Type | Default | Description |
| --- | --- | --- | --- |
| organizationSlugOrId | <code>Number</code> | | Required: the organization slug or id the team is part of. |
| [options] | <code>Object</code> | <code>{}</code> | extra pine options to use |

**Example**
```js
balena.models.team.getAllByOrganization(123).then(function(teams) {
console.log(teams);
});
```
**Example**
```js
balena.models.team.getAllByOrganization('MyOrganizationHandle').then(function(teams) {
console.log(teams);
});
```
<a name="balena.models.team.get"></a>

##### team.get(teamId, [options]) ⇒ <code>Promise</code>
**Kind**: static method of [<code>team</code>](#balena.models.team)
**Summary**: Get a single Team
**Access**: public
**Fulfil**: <code>Object</code> - Team

| Param | Type | Default | Description |
| --- | --- | --- | --- |
| teamId | <code>Number</code> | | team id (number). |
| [options] | <code>Object</code> | <code>{}</code> | extra pine options to use |

**Example**
```js
balena.models.team.get(123).then(function(team) {
console.log(team);
});
```
<a name="balena.models.team.rename"></a>

##### team.rename(teamId, newName) ⇒ <code>Promise</code>
**Kind**: static method of [<code>team</code>](#balena.models.team)
**Summary**: Rename Team
**Access**: public

| Param | Type | Description |
| --- | --- | --- |
| teamId | <code>Number</code> | team id (number) |
| newName | <code>String</code> | new team name (string) |

**Example**
```js
balena.models.team.rename(123, 'MyNewTeamName');
```
<a name="balena.models.team.remove"></a>

##### team.remove(teamId) ⇒ <code>Promise</code>
**Kind**: static method of [<code>team</code>](#balena.models.team)
**Summary**: Remove a Team
**Access**: public

| Param | Type | Description |
| --- | --- | --- |
| teamId | <code>Number</code> | team id (number). |

**Example**
```js
balena.models.team.remove(123);
```
<a name="balena.models.os"></a>

#### models.os : <code>object</code>
Expand Down
6 changes: 6 additions & 0 deletions src/models/index.ts
Original file line number Diff line number Diff line change
Expand Up @@ -57,6 +57,12 @@ const modelsTemplate = {
organization: () =>
(require('./organization') as typeof import('./organization')).default,

/**
* @namespace team
* @memberof balena.models
*/
team: () => (require('./team') as typeof import('./team')).default,

/**
* @namespace os
* @memberof balena.models
Expand Down
Loading

0 comments on commit ba9037f

Please sign in to comment.