@veritree/services 0.5.0 → 0.8.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/index.js CHANGED
@@ -1,8 +1,9 @@
1
1
  import { createCountriesApiService } from './src/services/countries.js';
2
- import { createMeApiService } from './src/services/me.js';
3
2
  import { createFieldUpdatesApiService } from './src/services/field-updates.js';
4
3
  import { createFormSubmissionsApiService } from './src/services/form-submissions.js';
5
4
  import { createForestTypesApiService } from './src/services/forest-types.js';
5
+ import { createImagesApiService } from './src/services/images.js';
6
+ import { createMeApiService } from './src/services/me.js';
6
7
  import { createOrgsApiService } from './src/services/orgs.js';
7
8
  import { createRegionsApiService } from './src/services/regions.js';
8
9
  import { createSponsorsApiService } from './src/services/sponsors.js';
@@ -11,15 +12,16 @@ import { createSubsitesApiService } from './src/services/subsites.js';
11
12
  import { createTreeOrdersApiService } from './src/services/trees-orders.js';
12
13
 
13
14
  export {
14
- createSponsorsApiService,
15
- createOrgsApiService,
15
+ createCountriesApiService,
16
+ createFieldUpdatesApiService,
16
17
  createForestTypesApiService,
18
+ createFormSubmissionsApiService,
19
+ createOrgsApiService,
20
+ createImagesApiService,
21
+ createMeApiService,
22
+ createRegionsApiService,
23
+ createSponsorsApiService,
17
24
  createSubdomainsApiService,
18
- createCountriesApiService,
19
25
  createSubsitesApiService,
20
26
  createTreeOrdersApiService,
21
- createMeApiService,
22
- createRegionsApiService,
23
- createFormSubmissionsApiService,
24
- createFieldUpdatesApiService
25
27
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@veritree/services",
3
- "version": "0.5.0",
3
+ "version": "0.8.0",
4
4
  "description": "A collection of javascript functions/services to talk to veritree API",
5
5
  "type": "module",
6
6
  "main": "index.js",
@@ -18,6 +18,18 @@ export const createFieldUpdatesApiService = (orgId, orgType) => {
18
18
  },
19
19
  };
20
20
 
21
+ /**
22
+ *
23
+ * @param {string} fieldUpdateId
24
+ * @param {object} data
25
+ * @returns
26
+ */
27
+ const update = (fieldUpdateId, data) => {
28
+ const url = `${_getUrl()}/${fieldUpdateId}?${_getParams()}`;
29
+
30
+ return Api.update(url, data);
31
+ }
32
+
21
33
  const _getUrl = () => {
22
34
  return `${Api.baseUrl}/${resource}`;
23
35
  };
@@ -35,5 +47,6 @@ export const createFieldUpdatesApiService = (orgId, orgType) => {
35
47
 
36
48
  return {
37
49
  get,
50
+ update
38
51
  };
39
52
  };
@@ -1,38 +1,38 @@
1
1
  import Api from '../helpers/api';
2
2
 
3
- // TODO: Add all possible parameters as in API
4
- export const createForestTypesApiService = () => {
3
+ export const createForestTypesApiService = (orgId, orgType) => {
4
+ if (!orgId || !orgType) throw new Error('orgId and orgType are required');
5
+ const resource = 'forest-types';
6
+
5
7
  const get = {
6
8
  /**
7
- * Gets all forest types of an organization
8
- *
9
- * @param {boolean} isPublic
10
9
  * @returns {object} envelope
11
10
  */
12
- async all(isPublic = false) {
13
- const url = `${_getUrl(isPublic)}`;
11
+ async all(page = 1, pageSize = 10) {
12
+ const url = `${_getUrl()}?${_getParams(page, pageSize)}`;
14
13
  return await Api.get(url);
15
14
  },
16
15
 
17
16
  /**
18
- * Gets a speficific forest type of an organization
19
- *
20
17
  * @param {number/string} id
21
- * @param {boolean} isPublic
22
18
  * @returns {object} envelope
23
19
  */
24
- async specific(id, isPublic = false) {
25
- const url = `${_getUrl(isPublic)}/${id}`;
20
+ async specific(id) {
21
+ const url = `${_getUrl()}/${id}?${_getParams(page, pageSize)}`;
26
22
  return await Api.get(url);
27
23
  },
28
24
  };
29
25
 
30
- const _getResource = (isPublic) => {
31
- return isPublic ? 'forest-type-profiles' : `forest-types`;
26
+ const _getUrl = () => {
27
+ return `${Api.baseUrl}/${resource}`;
32
28
  };
33
29
 
34
- const _getUrl = (isPublic) => {
35
- return `${Api.baseUrl}/${_getResource(isPublic)}`
30
+ const _getParams = (page, pageSize) => {
31
+ const pageParam = page ? `&page=${page}` : '';
32
+ const pageSizeParam = pageSize ? `&page_size=${pageSize}` : '';
33
+ const params = `${pageParam}${pageSizeParam}`;
34
+
35
+ return `org_id=${orgId}&org_type=${orgType}${params}`;
36
36
  };
37
37
 
38
38
  return {
@@ -5,8 +5,8 @@ export const createFormApiService = (orgId, orgType) => {
5
5
  const resource = 'orgs';
6
6
 
7
7
  const get = {
8
- async all(pageSize = 10) {
9
- const url = `${_getUrl()}/${orgId}/forms?${_getParams(pageSize)}`;
8
+ async all(page = 1, pageSize = 10) {
9
+ const url = `${_getUrl()}/${orgId}/forms?${_getParams(page, pageSize)}`;
10
10
  return await Api.get(url);
11
11
  },
12
12
 
@@ -20,9 +20,11 @@ export const createFormApiService = (orgId, orgType) => {
20
20
  return `${Api.baseUrl}/${resource}`;
21
21
  };
22
22
 
23
- const _getParams = (pageSize) => {
23
+ const _getParams = (page, pageSize) => {
24
24
  const paramPageSize = pageSize ? `&page_size=${pageSize}` : '';
25
- return `org_type=${orgType}${paramPageSize}`;
25
+ const paramPage = page ? `&page=${page}` : '';
26
+
27
+ return `org_type=${orgType}${paramPageSize}${paramPage}`;
26
28
  };
27
29
 
28
30
  return {
@@ -0,0 +1,55 @@
1
+ import Api from "../helpers/api";
2
+
3
+ export const createImagesApiService = (orgId, orgType) => {
4
+ if (!orgId && !orgType) throw new Error("orgId and orgType are required");
5
+ const resource = "images";
6
+
7
+ const get = {
8
+ async all(
9
+ purpose,
10
+ countryId,
11
+ regionId,
12
+ subsiteId,
13
+ page = 1,
14
+ pageSize = 10
15
+ ) {
16
+ const url = `${_getUrl()}?${_getParams(
17
+ purpose,
18
+ countryId,
19
+ regionId,
20
+ subsiteId,
21
+ page,
22
+ pageSize
23
+ )}`;
24
+ return await Api.get(url);
25
+ },
26
+ };
27
+
28
+ const _getUrl = () => {
29
+ return `${Api.baseUrl}/${resource}`;
30
+ };
31
+
32
+ const _getParams = (
33
+ purpose,
34
+ countryId,
35
+ regionId,
36
+ subsiteId,
37
+ page,
38
+ pageSize
39
+ ) => {
40
+ const paramPageSize = pageSize ? `&page_size=${pageSize}` : "";
41
+ const paramPurpose = purpose ? `&purpose=${purpose}` : "";
42
+ const paramCountryId = countryId ? `&country_id=${countryId}` : "";
43
+ const paramRegionId = regionId ? `&region_id=${regionId}` : "";
44
+ const paramSubsiteId = subsiteId ? `&subsite_id=${subsiteId}` : "";
45
+ const paramPage = page ? `&page=${page}` : "";
46
+
47
+ const params = `${paramPurpose}${paramPageSize}${paramCountryId}${paramRegionId}${paramSubsiteId}${paramPage}`;
48
+
49
+ return `org_id=${orgId}&org_type=${orgType}${params}`;
50
+ };
51
+
52
+ return {
53
+ get,
54
+ };
55
+ };