Skip to content

Commit 008541b

Browse files
authored
Merge pull request #13 from fleetbase/list-organization
added switch, list organization methods
2 parents de00c15 + 91736ff commit 008541b

8 files changed

Lines changed: 48 additions & 9 deletions

File tree

dist/@fleetbase/sdk.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/@fleetbase/sdk.min.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/cjs/fleetbase.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/cjs/fleetbase.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/esm/fleetbase.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

dist/esm/fleetbase.js.map

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@fleetbase/sdk",
3-
"version": "1.2.7",
3+
"version": "1.2.8",
44
"description": "Fleetbase JS & Node SDK",
55
"main": "dist/cjs/fleetbase.js",
66
"module": "dist/esm/fleetbase.js",
@@ -19,7 +19,10 @@
1919
"dev": "rollup -c -w",
2020
"test": "mocha --require @babel/polyfill --require @babel/register --require source-map-support/register tests/*.test.js",
2121
"prepare": "husky install",
22-
"format": "prettier . --write"
22+
"format": "prettier . --write",
23+
"publish-verdaccio": "npm publish --registry http://localhost:4873",
24+
"unpublish-verdaccio": "npm unpublish --registry http://localhost:4873 --force",
25+
"reset-verdaccio": "pnpm unpublish-verdaccio && pnpm publish-verdaccio"
2326
},
2427
"author": "Ronald A. Richardson <ron@fleetbase.io> (https://ron.dev)",
2528
"license": "BSD-3-Clause",

src/resources/driver.js

Lines changed: 37 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,17 @@
11
import Resource from '../resource';
2-
import { StoreActions, isPhone, isEmail } from '../utils';
2+
import Organization from './organization';
3+
import { StoreActions, isPhone, Collection } from '../utils';
4+
import { isArray } from '../utils/array';
5+
6+
const serializeOrganizations = (response, adapter) => {
7+
if (isArray(response)) {
8+
return response.map((organizationJson) => {
9+
return new Organization(organizationJson, adapter);
10+
});
11+
}
12+
13+
return new Organization(response, adapter);
14+
};
315

416
const driverActions = new StoreActions({
517
// const { error } = await fleetbase.drivers.login('+1 111-1111');
@@ -24,6 +36,18 @@ const driverActions = new StoreActions({
2436
return this.adapter.post(`drivers/${id}/track`, params, options).then(this.afterFetch.bind(this));
2537
},
2638

39+
listOrganizations: function (id, params = {}, options = {}) {
40+
return this.adapter.get(`drivers/${id}/organizations`, params, options).then((response) => serializeOrganizations(response, this.adapter));
41+
},
42+
43+
switchOrganization: function (id, params = {}, options = {}) {
44+
return this.adapter.post(`drivers/${id}/switch-organization`, params, options).then((response) => serializeOrganizations(response, this.adapter));
45+
},
46+
47+
currentOrganization: function (id, params = {}, options = {}) {
48+
return this.adapter.get(`drivers/${id}/current-organization`, params, options).then((response) => serializeOrganizations(response, this.adapter));
49+
},
50+
2751
retrieve: function (id) {
2852
return this.findRecord(id);
2953
},
@@ -82,6 +106,18 @@ class Driver extends Resource {
82106
syncDevice(params = {}, options = {}) {
83107
return this.store.syncDevice(this.id, params, options);
84108
}
109+
110+
listOrganizations(params = {}, options = {}) {
111+
return this.store.listOrganizations(this.id, params, options);
112+
}
113+
114+
switchOrganization(organizationId, options = {}) {
115+
return this.store.switchOrganization(this.id, { next: organizationId }, options);
116+
}
117+
118+
currentOrganization(params = {}, options = {}) {
119+
return this.store.currentOrganization(this.id, params, options);
120+
}
85121
}
86122

87123
export default Driver;

0 commit comments

Comments
 (0)