@veritree/services 0.4.0 → 0.5.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,12 @@
1
- import { createSponsorsApiService } from './src/services/sponsors.js';
2
- import { createOrgsApiService } from './src/services/orgs.js';
1
+ import { createCountriesApiService } from './src/services/countries.js';
2
+ import { createMeApiService } from './src/services/me.js';
3
+ import { createFieldUpdatesApiService } from './src/services/field-updates.js';
4
+ import { createFormSubmissionsApiService } from './src/services/form-submissions.js';
3
5
  import { createForestTypesApiService } from './src/services/forest-types.js';
6
+ import { createOrgsApiService } from './src/services/orgs.js';
7
+ import { createRegionsApiService } from './src/services/regions.js';
8
+ import { createSponsorsApiService } from './src/services/sponsors.js';
4
9
  import { createSubdomainsApiService } from './src/services/subdomains.js';
5
- import { createCountriesApiService } from './src/services/countries.js';
6
10
  import { createSubsitesApiService } from './src/services/subsites.js';
7
11
  import { createTreeOrdersApiService } from './src/services/trees-orders.js';
8
12
 
@@ -13,5 +17,9 @@ export {
13
17
  createSubdomainsApiService,
14
18
  createCountriesApiService,
15
19
  createSubsitesApiService,
16
- createTreeOrdersApiService
20
+ createTreeOrdersApiService,
21
+ createMeApiService,
22
+ createRegionsApiService,
23
+ createFormSubmissionsApiService,
24
+ createFieldUpdatesApiService
17
25
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@veritree/services",
3
- "version": "0.4.0",
3
+ "version": "0.5.0",
4
4
  "description": "A collection of javascript functions/services to talk to veritree API",
5
5
  "type": "module",
6
6
  "main": "index.js",
@@ -1,23 +1,35 @@
1
1
  import Api from '../helpers/api';
2
2
 
3
- export const createCountriesApiService = (countryId) => {
4
-
3
+ export const createCountriesApiService = () => {
5
4
  const resource = 'countries';
6
5
 
6
+ const get = {
7
+ async all() {
8
+ const url = _getUrl();
9
+ return await Api.get(url);
10
+ },
11
+
12
+ async specific(countriId) {
13
+ const url = `${_getUrl()}/${countriId}`;
14
+ return await Api.get(url);
15
+ }
16
+ }
17
+
7
18
  const stats = {
8
- async get() {
9
- // Look for a country ID if none provided global stats will be sent
19
+ async get(countryId) {
10
20
  const type = countryId ? `${countryId}` : 'global';
11
- const url = _getUrl(type +'/stats');
21
+ const url = `${_getUrl()}/${type}/stats`;
22
+
12
23
  return await Api.get(url);
13
24
  }
14
25
  }
15
26
 
16
- const _getUrl = (endpoint) => {
17
- return `${Api.baseUrl}/${resource}/${endpoint}`;
27
+ const _getUrl = () => {
28
+ return `${Api.baseUrl}/${resource}`;
18
29
  };
19
30
 
20
31
  return {
32
+ get,
21
33
  stats
22
34
  };
23
35
  };
@@ -0,0 +1,39 @@
1
+ import Api from '../helpers/api';
2
+
3
+ export const createFieldUpdatesApiService = (orgId, orgType) => {
4
+ const resource = `field-updates`;
5
+
6
+ const get = {
7
+ async all(countryId, regionId, subsiteId, page = 1, pageSize = 10) {
8
+ const params = `${_getParams(
9
+ countryId,
10
+ regionId,
11
+ subsiteId,
12
+ page,
13
+ pageSize
14
+ )}`;
15
+ const url = `${_getUrl()}?${params}`;
16
+
17
+ return await Api.get(url);
18
+ },
19
+ };
20
+
21
+ const _getUrl = () => {
22
+ return `${Api.baseUrl}/${resource}`;
23
+ };
24
+
25
+ const _getParams = (countryId, regionId, subsiteId, page, pageSize) => {
26
+ const countryIdParam = countryId ? `&country_id=${countryId}` : '';
27
+ const regionIdParam = regionId ? `&region_id=${regionId}` : '';
28
+ const subsiteIdParam = subsiteId ? `&subsite_id=${subsiteId}` : '';
29
+ const pageParam = page ? `&page=${page}` : '';
30
+ const pageSizeParam = pageSize ? `&page_size=${pageSize}` : '';
31
+ const params = `${countryIdParam}${regionIdParam}${subsiteIdParam}${pageParam}${pageSizeParam}`;
32
+
33
+ return `org_id=${orgId}&org_type=${orgType}${params}`;
34
+ };
35
+
36
+ return {
37
+ get,
38
+ };
39
+ };
@@ -0,0 +1,34 @@
1
+ import Api from '../helpers/api';
2
+
3
+ export const createFormSubmissionsApiService = (orgId, orgType) => {
4
+ if (!orgId) throw new Error('orgId and orgType are required');
5
+ const resource = 'form-submissions';
6
+
7
+ const get = {
8
+ async all(page = 1, pageSize = 10) {
9
+ const url = `${_getUrl()}?${_getParams(page, pageSize)}`;
10
+ return await Api.get(url);
11
+ },
12
+
13
+ // async specific(formId) {
14
+ // const url = `${_getUrl()}/${orgId}/forms/${formId}?${_getParams()}`;
15
+ // return await Api.get(url);
16
+ // },
17
+ };
18
+
19
+ const _getUrl = () => {
20
+ return `${Api.baseUrl}/${resource}`;
21
+ };
22
+
23
+ const _getParams = (page, pageSize) => {
24
+ const pageParam = page ? `&page=${page}` : '';
25
+ const pageSizeParam = pageSize ? `&page_size=${pageSize}` : '';
26
+ const params = `${pageParam}${pageSizeParam}`;
27
+
28
+ return `org_id=${orgId}&org_type=${orgType}${params}`;
29
+ };
30
+
31
+ return {
32
+ get,
33
+ };
34
+ };
@@ -0,0 +1,31 @@
1
+ import Api from '../helpers/api';
2
+
3
+ export const createFormApiService = (orgId, orgType) => {
4
+ if (!orgId && !orgType) throw new Error('orgId and orgType are required');
5
+ const resource = 'orgs';
6
+
7
+ const get = {
8
+ async all(pageSize = 10) {
9
+ const url = `${_getUrl()}/${orgId}/forms?${_getParams(pageSize)}`;
10
+ return await Api.get(url);
11
+ },
12
+
13
+ async specific(formId) {
14
+ const url = `${_getUrl()}/${orgId}/forms/${formId}?${_getParams()}`;
15
+ return await Api.get(url);
16
+ },
17
+ };
18
+
19
+ const _getUrl = () => {
20
+ return `${Api.baseUrl}/${resource}`;
21
+ };
22
+
23
+ const _getParams = (pageSize) => {
24
+ const paramPageSize = pageSize ? `&page_size=${pageSize}` : '';
25
+ return `org_type=${orgType}${paramPageSize}`;
26
+ };
27
+
28
+ return {
29
+ get,
30
+ };
31
+ };
@@ -0,0 +1,20 @@
1
+ import Api from '../helpers/api';
2
+
3
+ export const createMeApiService = () => {
4
+ const resource = 'me';
5
+
6
+ const get = {
7
+ async me() {
8
+ const url = _getUrl();
9
+ return await Api.get(url);
10
+ },
11
+ };
12
+
13
+ const _getUrl = () => {
14
+ return `${Api.baseUrl}/${resource}`;
15
+ };
16
+
17
+ return {
18
+ get,
19
+ };
20
+ };
@@ -17,7 +17,7 @@ export const createOrgsApiService = (orgId, orgType) => {
17
17
  return isPublic ? 'pstats' : 'stats';
18
18
  }
19
19
 
20
- const _getUrl = (endpoint) => {
20
+ const _getUrl = () => {
21
21
  return `${Api.baseUrl}/${resource}`;
22
22
  };
23
23
 
@@ -0,0 +1,28 @@
1
+ import Api from '../helpers/api';
2
+
3
+ export const createRegionsApiService = (orgId, orgType) => {
4
+ if (!orgId && !orgType) throw new Error('orgId and orgType are required');
5
+ const resource = 'regions';
6
+
7
+ const get = {
8
+ async all(page = 1, pageSize = 10) {
9
+ const url = `${_getUrl()}?${_getParams(page, pageSize)}`;
10
+ return await Api.get(url);
11
+ },
12
+ };
13
+
14
+ const _getUrl = () => {
15
+ return `${Api.baseUrl}/${resource}`;
16
+ };
17
+
18
+ const _getParams = (page, pageSize) => {
19
+ const paramPage = page ? `&page=${page}` : '';
20
+ const paramPageSize = pageSize ? `&page_size=${pageSize}` : '';
21
+
22
+ return `org_id=${orgId}&org_type=${orgType}${paramPage}${paramPageSize}`;
23
+ };
24
+
25
+ return {
26
+ get,
27
+ };
28
+ };
@@ -1,7 +1,7 @@
1
1
  import Api from '../helpers/api';
2
2
 
3
3
  export const createSubsitesApiService = (orgId, orgType) => {
4
- if (!orgId) throw new Error('orgId is required');
4
+ if (!orgId && !orgType) throw new Error('orgId is required');
5
5
  const resource = 'subsites';
6
6
 
7
7
  const get = {
@@ -11,8 +11,8 @@ export const createSubsitesApiService = (orgId, orgType) => {
11
11
  * @param {number/string} page
12
12
  * @returns {object} envelope
13
13
  */
14
- async all(page = 1) {
15
- const url = `${_getUrl()}?${_getUrlParams(page)}`;
14
+ async all(page = 1, pageSize = 10) {
15
+ const url = `${_getUrl()}?${_getUrlParams(page, pageSize)}`;
16
16
  return await Api.get(url);
17
17
  },
18
18
 
@@ -23,8 +23,8 @@ export const createSubsitesApiService = (orgId, orgType) => {
23
23
  * @param {number/string} page
24
24
  * @returns {object} envelope
25
25
  */
26
- async specific(id, page = 1) {
27
- const url = `${_getUrl()}/${id}?${_getUrlParams(page)}`;
26
+ async specific(id, page = 1, pageSize = 10) {
27
+ const url = `${_getUrl()}/${id}?${_getUrlParams(page, pageSize)}`;
28
28
  return await Api.get(url);
29
29
  },
30
30
  };
@@ -33,8 +33,8 @@ export const createSubsitesApiService = (orgId, orgType) => {
33
33
  return `${Api.baseUrl}/${resource}`;
34
34
  };
35
35
 
36
- const _getUrlParams = (page = 1) => {
37
- return `org_id=${orgId}&org_type=${orgType}&page=${page}`;
36
+ const _getUrlParams = (page, pageSize) => {
37
+ return `org_id=${orgId}&org_type=${orgType}&page=${page}&page_size=${pageSize}`;
38
38
  };
39
39
 
40
40
  return {
@@ -5,8 +5,7 @@ export const createTreeOrdersApiService = (orgId, orgType) => {
5
5
 
6
6
  const get = {
7
7
  /**
8
- * Gets all orders of an organization
9
- *
8
+ *
10
9
  * @param {number/string} page
11
10
  * @param {number/string} pageSize
12
11
  * @returns {object} envelope
@@ -17,8 +16,7 @@ export const createTreeOrdersApiService = (orgId, orgType) => {
17
16
  },
18
17
 
19
18
  /**
20
- * Gets a specifi order of an organization
21
- *
19
+ *
22
20
  * @param {number/string} id
23
21
  * @param {number/string} page
24
22
  * @param {number/string} pageSize