btrz-api-client 8.74.0 → 8.75.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/client.js CHANGED
@@ -219,6 +219,7 @@ function createAccounts(_ref4) {
219
219
  return {
220
220
  accounts: require("./endpoints/accounts/accounts.js")({ client: client, internalAuthTokenProvider: internalAuthTokenProvider }),
221
221
  agencies: require("./endpoints/accounts/agencies.js")({ client: client, internalAuthTokenProvider: internalAuthTokenProvider }),
222
+ agencyTypes: require("./endpoints/accounts/agency-types.js")({ client: client, internalAuthTokenProvider: internalAuthTokenProvider }),
222
223
  application: require("./endpoints/accounts/application.js")({ client: client, internalAuthTokenProvider: internalAuthTokenProvider }),
223
224
  applications: require("./endpoints/accounts/applications.js")({ client: client, internalAuthTokenProvider: internalAuthTokenProvider }),
224
225
  applicationSettings: require("./endpoints/accounts/application-settings.js")({ client: client, internalAuthTokenProvider: internalAuthTokenProvider }),
@@ -0,0 +1,151 @@
1
+ "use strict";
2
+
3
+ var _require = require("../endpoints_helpers.js"),
4
+ authorizationHeaders = _require.authorizationHeaders;
5
+
6
+ /**
7
+ * Query params for GET /agency-types (btrz-api-accounts).
8
+ * @typedef {Object} AgencyTypesListQuery
9
+ * @property {number} [page] - The page number to retrieve (positive integer)
10
+ */
11
+
12
+ /**
13
+ * Factory for agency-types API (btrz-api-accounts).
14
+ * @param {Object} deps
15
+ * @param {import("axios").AxiosInstance} deps.client
16
+ * @param {{ getToken: function(): string }} [deps.internalAuthTokenProvider]
17
+ * @returns {{ all: function, get: function, create: function, update: function, remove: function }}
18
+ */
19
+
20
+
21
+ function agencyTypesFactory(_ref) {
22
+ var client = _ref.client,
23
+ internalAuthTokenProvider = _ref.internalAuthTokenProvider;
24
+
25
+ /**
26
+ * GET /agency-types - list agency types for the account.
27
+ * @param {Object} opts
28
+ * @param {string} [opts.token] - API key
29
+ * @param {string} [opts.jwtToken] - JWT or internal auth symbol
30
+ * @param {AgencyTypesListQuery} [opts.query] - Query params (page)
31
+ * @param {Object} [opts.headers] - Optional headers
32
+ * @returns {Promise<import("axios").AxiosResponse>}
33
+ */
34
+ function all(_ref2) {
35
+ var token = _ref2.token,
36
+ jwtToken = _ref2.jwtToken,
37
+ _ref2$query = _ref2.query,
38
+ query = _ref2$query === undefined ? {} : _ref2$query,
39
+ headers = _ref2.headers;
40
+
41
+ return client.get("/agency-types", {
42
+ params: query,
43
+ headers: authorizationHeaders({ token: token, jwtToken: jwtToken, internalAuthTokenProvider: internalAuthTokenProvider, headers: headers })
44
+ });
45
+ }
46
+
47
+ /**
48
+ * GET /agency-types/:agencyTypeId - get an agency type by id.
49
+ * @param {Object} opts
50
+ * @param {string} [opts.token] - API key
51
+ * @param {string} [opts.jwtToken] - JWT or internal auth symbol
52
+ * @param {string} opts.agencyTypeId - Agency type id (ObjectId)
53
+ * @param {Object} [opts.headers] - Optional headers
54
+ * @returns {Promise<import("axios").AxiosResponse>}
55
+ */
56
+ function get(_ref3) {
57
+ var token = _ref3.token,
58
+ jwtToken = _ref3.jwtToken,
59
+ agencyTypeId = _ref3.agencyTypeId,
60
+ headers = _ref3.headers;
61
+
62
+ return client({
63
+ url: "/agency-types/" + agencyTypeId,
64
+ headers: authorizationHeaders({ token: token, jwtToken: jwtToken, internalAuthTokenProvider: internalAuthTokenProvider, headers: headers })
65
+ });
66
+ }
67
+
68
+ /**
69
+ * POST /agency-types - create an agency type.
70
+ * @param {Object} opts
71
+ * @param {string} [opts.token] - API key
72
+ * @param {string} [opts.jwtToken] - JWT or internal auth symbol
73
+ * @param {Object} opts.agencyType - Agency type payload (name required)
74
+ * @param {Object} [opts.headers] - Optional headers
75
+ * @returns {Promise<import("axios").AxiosResponse>}
76
+ */
77
+ function create(_ref4) {
78
+ var token = _ref4.token,
79
+ jwtToken = _ref4.jwtToken,
80
+ agencyType = _ref4.agencyType,
81
+ headers = _ref4.headers;
82
+
83
+ return client({
84
+ url: "/agency-types",
85
+ method: "post",
86
+ headers: authorizationHeaders({ token: token, jwtToken: jwtToken, internalAuthTokenProvider: internalAuthTokenProvider, headers: headers }),
87
+ data: {
88
+ agencyType: agencyType
89
+ }
90
+ });
91
+ }
92
+
93
+ /**
94
+ * PUT /agency-types/:agencyTypeId - update an agency type.
95
+ * @param {Object} opts
96
+ * @param {string} [opts.token] - API key
97
+ * @param {string} [opts.jwtToken] - JWT or internal auth symbol
98
+ * @param {string} opts.agencyTypeId - Agency type id (24-char hex ObjectId)
99
+ * @param {Object} opts.agencyType - Agency type payload (name required)
100
+ * @param {Object} [opts.headers] - Optional headers
101
+ * @returns {Promise<import("axios").AxiosResponse>}
102
+ */
103
+ function update(_ref5) {
104
+ var token = _ref5.token,
105
+ jwtToken = _ref5.jwtToken,
106
+ agencyTypeId = _ref5.agencyTypeId,
107
+ agencyType = _ref5.agencyType,
108
+ headers = _ref5.headers;
109
+
110
+ return client({
111
+ url: "/agency-types/" + agencyTypeId,
112
+ method: "put",
113
+ headers: authorizationHeaders({ token: token, jwtToken: jwtToken, internalAuthTokenProvider: internalAuthTokenProvider, headers: headers }),
114
+ data: {
115
+ agencyType: agencyType
116
+ }
117
+ });
118
+ }
119
+
120
+ /**
121
+ * DELETE /agency-types/:agencyTypeId - delete an agency type.
122
+ * @param {Object} opts
123
+ * @param {string} [opts.token] - API key
124
+ * @param {string} [opts.jwtToken] - JWT or internal auth symbol
125
+ * @param {string} opts.agencyTypeId - Agency type id (24-char hex ObjectId)
126
+ * @param {Object} [opts.headers] - Optional headers
127
+ * @returns {Promise<import("axios").AxiosResponse>}
128
+ */
129
+ function remove(_ref6) {
130
+ var token = _ref6.token,
131
+ jwtToken = _ref6.jwtToken,
132
+ agencyTypeId = _ref6.agencyTypeId,
133
+ headers = _ref6.headers;
134
+
135
+ return client({
136
+ url: "/agency-types/" + agencyTypeId,
137
+ method: "delete",
138
+ headers: authorizationHeaders({ token: token, jwtToken: jwtToken, internalAuthTokenProvider: internalAuthTokenProvider, headers: headers })
139
+ });
140
+ }
141
+
142
+ return {
143
+ all: all,
144
+ get: get,
145
+ create: create,
146
+ update: update,
147
+ remove: remove
148
+ };
149
+ }
150
+
151
+ module.exports = agencyTypesFactory;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "btrz-api-client",
3
- "version": "8.74.0",
3
+ "version": "8.75.0",
4
4
  "description": "Api client for Betterez endpoints",
5
5
  "main": "index.js",
6
6
  "scripts": {
package/src/client.js CHANGED
@@ -185,6 +185,7 @@ function createAccounts({baseURL, headers, timeout, overrideFn, internalAuthToke
185
185
  return {
186
186
  accounts: require("./endpoints/accounts/accounts.js")({client, internalAuthTokenProvider}),
187
187
  agencies: require("./endpoints/accounts/agencies.js")({client, internalAuthTokenProvider}),
188
+ agencyTypes: require("./endpoints/accounts/agency-types.js")({client, internalAuthTokenProvider}),
188
189
  application: require("./endpoints/accounts/application.js")({client, internalAuthTokenProvider}),
189
190
  applications: require("./endpoints/accounts/applications.js")({client, internalAuthTokenProvider}),
190
191
  applicationSettings: require("./endpoints/accounts/application-settings.js")({client, internalAuthTokenProvider}),
@@ -0,0 +1,118 @@
1
+ const {
2
+ authorizationHeaders
3
+ } = require("../endpoints_helpers.js");
4
+
5
+ /**
6
+ * Query params for GET /agency-types (btrz-api-accounts).
7
+ * @typedef {Object} AgencyTypesListQuery
8
+ * @property {number} [page] - The page number to retrieve (positive integer)
9
+ */
10
+
11
+ /**
12
+ * Factory for agency-types API (btrz-api-accounts).
13
+ * @param {Object} deps
14
+ * @param {import("axios").AxiosInstance} deps.client
15
+ * @param {{ getToken: function(): string }} [deps.internalAuthTokenProvider]
16
+ * @returns {{ all: function, get: function, create: function, update: function, remove: function }}
17
+ */
18
+ function agencyTypesFactory({client, internalAuthTokenProvider}) {
19
+ /**
20
+ * GET /agency-types - list agency types for the account.
21
+ * @param {Object} opts
22
+ * @param {string} [opts.token] - API key
23
+ * @param {string} [opts.jwtToken] - JWT or internal auth symbol
24
+ * @param {AgencyTypesListQuery} [opts.query] - Query params (page)
25
+ * @param {Object} [opts.headers] - Optional headers
26
+ * @returns {Promise<import("axios").AxiosResponse>}
27
+ */
28
+ function all({token, jwtToken, query = {}, headers}) {
29
+ return client.get("/agency-types", {
30
+ params: query,
31
+ headers: authorizationHeaders({token, jwtToken, internalAuthTokenProvider, headers})
32
+ });
33
+ }
34
+
35
+ /**
36
+ * GET /agency-types/:agencyTypeId - get an agency type by id.
37
+ * @param {Object} opts
38
+ * @param {string} [opts.token] - API key
39
+ * @param {string} [opts.jwtToken] - JWT or internal auth symbol
40
+ * @param {string} opts.agencyTypeId - Agency type id (ObjectId)
41
+ * @param {Object} [opts.headers] - Optional headers
42
+ * @returns {Promise<import("axios").AxiosResponse>}
43
+ */
44
+ function get({token, jwtToken, agencyTypeId, headers}) {
45
+ return client({
46
+ url: `/agency-types/${agencyTypeId}`,
47
+ headers: authorizationHeaders({token, jwtToken, internalAuthTokenProvider, headers})
48
+ });
49
+ }
50
+
51
+ /**
52
+ * POST /agency-types - create an agency type.
53
+ * @param {Object} opts
54
+ * @param {string} [opts.token] - API key
55
+ * @param {string} [opts.jwtToken] - JWT or internal auth symbol
56
+ * @param {Object} opts.agencyType - Agency type payload (name required)
57
+ * @param {Object} [opts.headers] - Optional headers
58
+ * @returns {Promise<import("axios").AxiosResponse>}
59
+ */
60
+ function create({token, jwtToken, agencyType, headers}) {
61
+ return client({
62
+ url: "/agency-types",
63
+ method: "post",
64
+ headers: authorizationHeaders({token, jwtToken, internalAuthTokenProvider, headers}),
65
+ data: {
66
+ agencyType
67
+ }
68
+ });
69
+ }
70
+
71
+ /**
72
+ * PUT /agency-types/:agencyTypeId - update an agency type.
73
+ * @param {Object} opts
74
+ * @param {string} [opts.token] - API key
75
+ * @param {string} [opts.jwtToken] - JWT or internal auth symbol
76
+ * @param {string} opts.agencyTypeId - Agency type id (24-char hex ObjectId)
77
+ * @param {Object} opts.agencyType - Agency type payload (name required)
78
+ * @param {Object} [opts.headers] - Optional headers
79
+ * @returns {Promise<import("axios").AxiosResponse>}
80
+ */
81
+ function update({token, jwtToken, agencyTypeId, agencyType, headers}) {
82
+ return client({
83
+ url: `/agency-types/${agencyTypeId}`,
84
+ method: "put",
85
+ headers: authorizationHeaders({token, jwtToken, internalAuthTokenProvider, headers}),
86
+ data: {
87
+ agencyType
88
+ }
89
+ });
90
+ }
91
+
92
+ /**
93
+ * DELETE /agency-types/:agencyTypeId - delete an agency type.
94
+ * @param {Object} opts
95
+ * @param {string} [opts.token] - API key
96
+ * @param {string} [opts.jwtToken] - JWT or internal auth symbol
97
+ * @param {string} opts.agencyTypeId - Agency type id (24-char hex ObjectId)
98
+ * @param {Object} [opts.headers] - Optional headers
99
+ * @returns {Promise<import("axios").AxiosResponse>}
100
+ */
101
+ function remove({token, jwtToken, agencyTypeId, headers}) {
102
+ return client({
103
+ url: `/agency-types/${agencyTypeId}`,
104
+ method: "delete",
105
+ headers: authorizationHeaders({token, jwtToken, internalAuthTokenProvider, headers})
106
+ });
107
+ }
108
+
109
+ return {
110
+ all,
111
+ get,
112
+ create,
113
+ update,
114
+ remove
115
+ };
116
+ }
117
+
118
+ module.exports = agencyTypesFactory;
package/test/all.test.js CHANGED
@@ -3,6 +3,7 @@
3
3
  require("./client.test.js");
4
4
  require("./endpoints/accounts/accounts.js");
5
5
  require("./endpoints/accounts/agencies.test.js");
6
+ require("./endpoints/accounts/agency-types.test.js");
6
7
  require("./endpoints/accounts/application-settings.test.js");
7
8
  require("./endpoints/accounts/applications.test.js");
8
9
  require("./endpoints/accounts/current-shifts.test.js");
@@ -0,0 +1,95 @@
1
+ const {
2
+ axiosMock,
3
+ expectRequest
4
+ } = require("./../../test-helpers.js");
5
+ const api = require("./../../../src/client.js").createApiClient({
6
+ baseURL: "http://test.com"
7
+ });
8
+
9
+ describe("accounts/agency-types", () => {
10
+ const token = "I owe you a token";
11
+ const jwtToken = "I owe you a JWT token";
12
+
13
+ afterEach(() => {
14
+ axiosMock.reset();
15
+ });
16
+
17
+ it("should GET a list of agency types", () => {
18
+ axiosMock.onGet("/agency-types").reply(expectRequest({
19
+ statusCode: 200,
20
+ token,
21
+ jwtToken
22
+ }));
23
+ return api.accounts.agencyTypes.all({
24
+ token,
25
+ jwtToken,
26
+ query: {
27
+ page: 1
28
+ }
29
+ });
30
+ });
31
+
32
+ it("should GET an agency type by id", () => {
33
+ const agencyTypeId = "507f1f77bcf86cd799439011";
34
+ axiosMock.onGet(`/agency-types/${agencyTypeId}`).reply(expectRequest({
35
+ statusCode: 200,
36
+ token,
37
+ jwtToken
38
+ }));
39
+ return api.accounts.agencyTypes.get({
40
+ token,
41
+ jwtToken,
42
+ agencyTypeId
43
+ });
44
+ });
45
+
46
+ it("should POST an agency type", () => {
47
+ const agencyType = {
48
+ name: "Retail"
49
+ };
50
+ axiosMock.onPost("/agency-types").reply(expectRequest({
51
+ statusCode: 200,
52
+ token,
53
+ jwtToken,
54
+ body: {agencyType}
55
+ }));
56
+ return api.accounts.agencyTypes.create({
57
+ token,
58
+ jwtToken,
59
+ agencyType
60
+ });
61
+ });
62
+
63
+ it("should PUT an agency type", () => {
64
+ const agencyTypeId = "507f1f77bcf86cd799439011";
65
+ const agencyType = {
66
+ name: "Updated Retail"
67
+ };
68
+ axiosMock.onPut(`/agency-types/${agencyTypeId}`).reply(expectRequest({
69
+ statusCode: 200,
70
+ token,
71
+ jwtToken,
72
+ body: {agencyType}
73
+ }));
74
+ return api.accounts.agencyTypes.update({
75
+ token,
76
+ jwtToken,
77
+ agencyTypeId,
78
+ agencyType
79
+ });
80
+ });
81
+
82
+ it("should DELETE an agency type", () => {
83
+ const agencyTypeId = "507f1f77bcf86cd799439011";
84
+ axiosMock.onDelete(`/agency-types/${agencyTypeId}`).reply(expectRequest({
85
+ statusCode: 200,
86
+ token,
87
+ jwtToken
88
+ }));
89
+ return api.accounts.agencyTypes.remove({
90
+ token,
91
+ jwtToken,
92
+ agencyTypeId
93
+ });
94
+ });
95
+ });
@@ -0,0 +1,34 @@
1
+ export = agencyTypesFactory;
2
+ /**
3
+ * Query params for GET /agency-types (btrz-api-accounts).
4
+ * @typedef {Object} AgencyTypesListQuery
5
+ * @property {number} [page] - The page number to retrieve (positive integer)
6
+ */
7
+ /**
8
+ * Factory for agency-types API (btrz-api-accounts).
9
+ * @param {Object} deps
10
+ * @param {import("axios").AxiosInstance} deps.client
11
+ * @param {{ getToken: function(): string }} [deps.internalAuthTokenProvider]
12
+ * @returns {{ all: function, get: function, create: function, update: function, remove: function }}
13
+ */
14
+ declare function agencyTypesFactory({ client, internalAuthTokenProvider }: {
15
+ client: import("axios").AxiosInstance;
16
+ internalAuthTokenProvider?: {
17
+ getToken: () => string;
18
+ };
19
+ }): {
20
+ all: Function;
21
+ get: Function;
22
+ create: Function;
23
+ update: Function;
24
+ remove: Function;
25
+ };
26
+ declare namespace agencyTypesFactory {
27
+ export { AgencyTypesListQuery };
28
+ }
29
+ /**
30
+ * Query params for GET /agency-types (btrz-api-accounts).
31
+ */
32
+ type AgencyTypesListQuery = {
33
+ page?: number;
34
+ };