@vertikalx/vtx-backend-client 1.0.0-prod.2 → 1.0.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.
Files changed (95) hide show
  1. package/LICENSE.md +11 -11
  2. package/package.json +16 -16
  3. package/src/api/api-call-headers.ts +35 -0
  4. package/src/api/backend-response.ts +14 -0
  5. package/src/api/domains.ts +5 -0
  6. package/src/api/response-builder.ts +165 -0
  7. package/src/api/types.ts +9 -0
  8. package/src/api/vtx-apikey-api.ts +23 -0
  9. package/src/api/vtx-base-api.ts +8908 -0
  10. package/src/api/vtx-mobile-api.ts +31 -0
  11. package/src/api/vtx-web-browser-api.ts +45 -0
  12. package/src/api/vtx-web-server-api.ts +42 -0
  13. package/src/client/index.ts +65 -0
  14. package/src/client/runtime/batcher.ts +275 -0
  15. package/src/client/runtime/createClient.ts +68 -0
  16. package/src/client/runtime/error.ts +29 -0
  17. package/src/client/runtime/fetcher.ts +97 -0
  18. package/src/client/runtime/generateGraphqlOperation.ts +225 -0
  19. package/src/client/runtime/index.ts +13 -0
  20. package/src/client/runtime/linkTypeMap.ts +156 -0
  21. package/src/client/runtime/typeSelection.ts +95 -0
  22. package/src/client/runtime/types.ts +69 -0
  23. package/src/client/schema.graphql +2074 -0
  24. package/src/client/schema.ts +4363 -0
  25. package/src/client/{types.js → types.ts} +388 -146
  26. package/src/{index.d.ts → index.ts} +12 -11
  27. package/tsconfig.lib.json +10 -0
  28. package/src/api/api-call-headers.d.ts +0 -12
  29. package/src/api/api-call-headers.js +0 -16
  30. package/src/api/api-call-headers.js.map +0 -1
  31. package/src/api/backend-response.d.ts +0 -10
  32. package/src/api/backend-response.js +0 -3
  33. package/src/api/backend-response.js.map +0 -1
  34. package/src/api/domains.d.ts +0 -3
  35. package/src/api/domains.js +0 -7
  36. package/src/api/domains.js.map +0 -1
  37. package/src/api/response-builder.d.ts +0 -4
  38. package/src/api/response-builder.js +0 -123
  39. package/src/api/response-builder.js.map +0 -1
  40. package/src/api/types.d.ts +0 -2
  41. package/src/api/types.js +0 -3
  42. package/src/api/types.js.map +0 -1
  43. package/src/api/vtx-apikey-api.d.ts +0 -6
  44. package/src/api/vtx-apikey-api.js +0 -19
  45. package/src/api/vtx-apikey-api.js.map +0 -1
  46. package/src/api/vtx-base-api.d.ts +0 -103
  47. package/src/api/vtx-base-api.js +0 -7043
  48. package/src/api/vtx-base-api.js.map +0 -1
  49. package/src/api/vtx-mobile-api.d.ts +0 -6
  50. package/src/api/vtx-mobile-api.js +0 -27
  51. package/src/api/vtx-mobile-api.js.map +0 -1
  52. package/src/api/vtx-web-browser-api.d.ts +0 -7
  53. package/src/api/vtx-web-browser-api.js +0 -36
  54. package/src/api/vtx-web-browser-api.js.map +0 -1
  55. package/src/api/vtx-web-server-api.d.ts +0 -7
  56. package/src/api/vtx-web-server-api.js +0 -33
  57. package/src/api/vtx-web-server-api.js.map +0 -1
  58. package/src/client/index.d.ts +0 -25
  59. package/src/client/index.js +0 -44
  60. package/src/client/index.js.map +0 -1
  61. package/src/client/runtime/batcher.d.ts +0 -36
  62. package/src/client/runtime/batcher.js +0 -123
  63. package/src/client/runtime/batcher.js.map +0 -1
  64. package/src/client/runtime/createClient.d.ts +0 -17
  65. package/src/client/runtime/createClient.js +0 -28
  66. package/src/client/runtime/createClient.js.map +0 -1
  67. package/src/client/runtime/error.d.ts +0 -15
  68. package/src/client/runtime/error.js +0 -19
  69. package/src/client/runtime/error.js.map +0 -1
  70. package/src/client/runtime/fetcher.d.ts +0 -10
  71. package/src/client/runtime/fetcher.js +0 -68
  72. package/src/client/runtime/fetcher.js.map +0 -1
  73. package/src/client/runtime/generateGraphqlOperation.d.ts +0 -30
  74. package/src/client/runtime/generateGraphqlOperation.js +0 -134
  75. package/src/client/runtime/generateGraphqlOperation.js.map +0 -1
  76. package/src/client/runtime/index.d.ts +0 -11
  77. package/src/client/runtime/index.js +0 -17
  78. package/src/client/runtime/index.js.map +0 -1
  79. package/src/client/runtime/linkTypeMap.d.ts +0 -9
  80. package/src/client/runtime/linkTypeMap.js +0 -95
  81. package/src/client/runtime/linkTypeMap.js.map +0 -1
  82. package/src/client/runtime/typeSelection.d.ts +0 -28
  83. package/src/client/runtime/typeSelection.js +0 -3
  84. package/src/client/runtime/typeSelection.js.map +0 -1
  85. package/src/client/runtime/types.d.ts +0 -55
  86. package/src/client/runtime/types.js +0 -3
  87. package/src/client/runtime/types.js.map +0 -1
  88. package/src/client/schema.d.ts +0 -4065
  89. package/src/client/schema.js +0 -867
  90. package/src/client/schema.js.map +0 -1
  91. package/src/client/types.d.ts +0 -2179
  92. package/src/client/types.js.map +0 -1
  93. package/src/index.js +0 -28
  94. package/src/index.js.map +0 -1
  95. package/tsconfig.lib.tsbuildinfo +0 -1
package/LICENSE.md CHANGED
@@ -1,12 +1,12 @@
1
- THIS IS A PRIVATE USE LICENSE.
2
- THIS IS NOT AN OPEN SOURCE LICENSE.
3
-
4
- USE IS ONLY ALLOWED FOR PROJECTS PRODUCED BY:
5
- VERTIKAL X, INC.
6
-
7
- ALL OTHER USES MUST FIRST OBTAIN WRITTEN PERMISSION OF EITHER OF THE ABOVE COMPANIES.
8
-
9
- FOR FURTHER INFORMATION CONTACT
10
- José Carlos Sarmiento - c@vtxathlete.com
11
- or
1
+ THIS IS A PRIVATE USE LICENSE.
2
+ THIS IS NOT AN OPEN SOURCE LICENSE.
3
+
4
+ USE IS ONLY ALLOWED FOR PROJECTS PRODUCED BY:
5
+ VERTIKAL X, INC.
6
+
7
+ ALL OTHER USES MUST FIRST OBTAIN WRITTEN PERMISSION OF EITHER OF THE ABOVE COMPANIES.
8
+
9
+ FOR FURTHER INFORMATION CONTACT
10
+ José Carlos Sarmiento - c@vtxathlete.com
11
+ or
12
12
  Daniel Castañeda - daniel@vtxathlete.com
package/package.json CHANGED
@@ -1,16 +1,16 @@
1
- {
2
- "name": "@vertikalx/vtx-backend-client",
3
- "version": "1.0.0-prod.2",
4
- "description": "GraphQL API generated client for VTX",
5
- "types": "src/index.d.ts",
6
- "main": "src/index.js",
7
- "scripts": {
8
- "test": "echo \"Error: no test specified\" && exit 1"
9
- },
10
- "keywords": [
11
- "GraphQL",
12
- "VTX"
13
- ],
14
- "author": "Daniel Castañeda <daniel@vtxathlete.com>",
15
- "license": "SEE LICENSE IN LICENSE.md"
16
- }
1
+ {
2
+ "name": "@vertikalx/vtx-backend-client",
3
+ "version": "1.0.0",
4
+ "description": "GraphQL API generated client for VTX",
5
+ "types": "src/index.d.ts",
6
+ "main": "src/index.js",
7
+ "scripts": {
8
+ "test": "echo \"Error: no test specified\" && exit 1"
9
+ },
10
+ "keywords": [
11
+ "GraphQL",
12
+ "VTX"
13
+ ],
14
+ "author": "Daniel Castañeda <daniel@vtxathlete.com>",
15
+ "license": "SEE LICENSE IN LICENSE.md"
16
+ }
@@ -0,0 +1,35 @@
1
+
2
+
3
+
4
+ export type APICallHeaders = { [key: string]: string };
5
+
6
+
7
+ // Default System ID for VTX backend
8
+ export const DEFAULT_SYSTEM_ID = 'vtx';
9
+
10
+ // Default HEADER key for System ID
11
+ export const DEFAULT_SYSTEM_ID_HEADER = 'io-stackbus-cms-system-id';
12
+
13
+ // Default HEADER key for system-key name (name of the key)
14
+ export const DEFAULT_SYSTEM_KEY_NAME_HEADER = 'io-stackbus-cms-system-key-name';
15
+
16
+ // Default HEADER key for system-key value (value of the key)
17
+ export const DEFAULT_SYSTEM_KEY_VALUE_HEADER = 'io-stackbus-cms-system-key-value';
18
+
19
+ // Default HEADER key for providing APP KEY (access key to API from non-trusted devices such as our mobile app)
20
+ export const DEFAULT_APP_KEY_HEADER = 'io-stackbus-app-key';
21
+
22
+ // Default HEADER key for sensing user backend token
23
+ export const DEFAULT_SYSTEM_USER_TOKEN_HEADER = 'io-stackbus-cms-system-user-token';
24
+
25
+ // Default HEADER key for api-key-id header key
26
+ export const DEFAULT_API_KEY_ID_HEADER = 'io-stackbus-cms-api-key-id';
27
+
28
+ // Default HEADER key for api-key-value header key
29
+ export const DEFAULT_API_KEY_VALUE_HEADER = 'io-stackbus-cms-api-key-value';
30
+
31
+
32
+ export const DEFAULT_HEADERS:APICallHeaders = {
33
+ ["Content-Type"]:"application/json",
34
+ [DEFAULT_SYSTEM_ID_HEADER]:DEFAULT_SYSTEM_ID
35
+ };
@@ -0,0 +1,14 @@
1
+
2
+
3
+
4
+ export interface BackendError{
5
+ httpStatus:number;
6
+ code:number;
7
+ message:string;
8
+ }
9
+
10
+ export interface ITypedBackendResponse<T>{
11
+ data?:T;
12
+ error?:BackendError
13
+ rawErrors?:any[];
14
+ }
@@ -0,0 +1,5 @@
1
+
2
+ export const DOMAIN_ATHLETE:string = "ATHLETE";
3
+ export const DOMAIN_SPONSOR:string = "SPONSOR";
4
+ export const DOMAIN_TEAM:string = "TEAM";
5
+
@@ -0,0 +1,165 @@
1
+ import { AnyARecord } from "dns";
2
+ import { BackendError, ITypedBackendResponse } from "./backend-response";
3
+ import { VTX_ERRORS } from "@vertikalx/vtx-core-common";
4
+
5
+
6
+ export type checkerFn = (response:any)=>boolean;
7
+
8
+ const Logger = {
9
+ log:(msg:string)=>{
10
+ //console.log(msg)
11
+ }
12
+ };
13
+
14
+ export function buildResponse<T>(response:any, rootProperty:string, checker: checkerFn):ITypedBackendResponse<T>{
15
+ const retValue:ITypedBackendResponse<T> = {}
16
+
17
+ //console.log("=========== BEGIN buildResponse =============");
18
+ //console.log(JSON.stringify(response, null, 2));
19
+
20
+ //console.log("=========== END buildResponse =============");
21
+
22
+ if (checker(response)){
23
+
24
+ //Logger.log('checker 1');
25
+ try {
26
+ retValue.data = response[rootProperty] as T;
27
+ } catch (casterr) {
28
+ Logger.log('Error trying to cast to return type');
29
+ retValue.error = {
30
+ httpStatus:500,
31
+ code:VTX_ERRORS.VTX_SERVER_ERROR.code,
32
+ message:"Error: Obtained incorrect data from Backend"
33
+ };
34
+ retValue.rawErrors = [
35
+ {
36
+ data:response,
37
+ error:casterr
38
+ }
39
+ ];
40
+ }
41
+
42
+ } else if (response?.errors) {
43
+
44
+ //Logger.log('checker 2');
45
+ if (Array.isArray(response.errors)) {
46
+ retValue.rawErrors = response.errors;
47
+ } else {
48
+ retValue.rawErrors = [response.errors];
49
+ }
50
+
51
+ } else if (response?.error) {
52
+ //Logger.log('checker 3');
53
+
54
+ if (Array.isArray(response.error)) {
55
+ retValue.rawErrors = response.error;
56
+ } else {
57
+ retValue.rawErrors = [response.error];
58
+ }
59
+
60
+ } else if (checker(response?.data)) {
61
+ //Logger.log('checker 4');
62
+
63
+ try {
64
+ retValue.data = response.data[rootProperty] as T;
65
+ } catch (casterr) {
66
+ Logger.log('Error trying to cast to return type');
67
+
68
+ retValue.error = {
69
+ httpStatus:500,
70
+ code:VTX_ERRORS.VTX_SERVER_ERROR.code,
71
+ message:"Error: Obtained incorrect data from Backend"
72
+ };
73
+ retValue.rawErrors = [
74
+ {
75
+ data:response.data,
76
+ error:casterr
77
+ }
78
+ ];
79
+
80
+ }
81
+ } else {
82
+ //Logger.log('checker 5');
83
+ retValue.error = {
84
+ httpStatus:500,
85
+ code:VTX_ERRORS.VTX_SERVER_ERROR.code,
86
+ message:"Error: Obtained incorrect data from Backend"
87
+ };
88
+ retValue.rawErrors = ['Error: Obtained incorrect data from Backend'];
89
+ }
90
+
91
+
92
+ Logger.log('buildResponse retValue:');
93
+ Logger.log(JSON.stringify(retValue,null,2));
94
+
95
+ return retValue;
96
+ }
97
+ export function buildErrorResponse<T>(error:any):ITypedBackendResponse<T>{
98
+
99
+ //Logger.log("=========== BEGIN buildErrorResponse received =============");
100
+ //Logger.log(JSON.stringify(error, null, 2));
101
+
102
+ //Logger.log("=========== END buildErrorResponse received =============");
103
+
104
+ const retValue:ITypedBackendResponse<T> = {}
105
+ if (error.errors){
106
+
107
+ if (Array.isArray(error.errors)){
108
+ retValue.rawErrors = error.errors;
109
+
110
+ }else{
111
+ retValue.rawErrors = [error.errors];
112
+
113
+ }
114
+
115
+ }else{
116
+ if (Array.isArray(error)){
117
+ retValue.rawErrors = error;
118
+ }else{
119
+ retValue.rawErrors = [error];
120
+ }
121
+ }
122
+
123
+ retValue.error = extractError(retValue.rawErrors );
124
+
125
+ //Logger.log("=========== BEGIN buildErrorResponse returned =============");
126
+ //Logger.log(JSON.stringify(retValue, null, 2));
127
+
128
+ //Logger.log("=========== END buildErrorResponse returned =============");
129
+
130
+
131
+ return retValue;
132
+ }
133
+ function extractError(rawErrors: any[]|undefined): BackendError {
134
+
135
+ let retValue:BackendError = {
136
+ httpStatus:500,
137
+ code:VTX_ERRORS.VTX_SERVER_ERROR.code,
138
+ message:VTX_ERRORS.VTX_SERVER_ERROR.description
139
+ };
140
+
141
+ if (! rawErrors || rawErrors.length <= 0){
142
+ return retValue;
143
+ }
144
+
145
+ let theError:any = rawErrors.find( e => {
146
+
147
+ if (e.extensions && e.extensions.type === "VtxError"){
148
+ return true;
149
+ }
150
+ return false;
151
+ });
152
+
153
+ if (theError){
154
+ retValue = {
155
+ httpStatus:theError?.extensions?.httpStatus ?? 500,
156
+ code: theError?.extensions?.vtxError?.code ?? VTX_ERRORS.VTX_SERVER_ERROR.code,
157
+ message: theError?.extensions?.vtxError?.description ?? VTX_ERRORS.VTX_SERVER_ERROR.description
158
+ }
159
+ }
160
+
161
+ return retValue;
162
+
163
+
164
+ }
165
+
@@ -0,0 +1,9 @@
1
+ import { QualificationDto,
2
+ AgeQualificationDto, GenderQualificationDto ,
3
+ ScoreQualificationDto, LocationQualificationDto,
4
+ NationalityQualificationDto, DistanceQualificationDto,
5
+ SportsQualificationDto, SportsLevelQualificationDto
6
+ } from "../client";
7
+
8
+
9
+ export type QualificationDtoUnion = QualificationDto | AgeQualificationDto | GenderQualificationDto | ScoreQualificationDto | LocationQualificationDto | NationalityQualificationDto | DistanceQualificationDto | SportsQualificationDto | SportsLevelQualificationDto;
@@ -0,0 +1,23 @@
1
+
2
+ import pjson from "../../package.json";
3
+ import { APICallHeaders, DEFAULT_API_KEY_ID_HEADER, DEFAULT_API_KEY_VALUE_HEADER, DEFAULT_APP_KEY_HEADER, DEFAULT_HEADERS } from "./api-call-headers";
4
+ import { VTXBaseAPI } from "./vtx-base-api";
5
+
6
+
7
+
8
+
9
+
10
+ export class VTXAPIKeyAPI extends VTXBaseAPI{
11
+
12
+ constructor(apiKeyId:string, apiKeyValue:string, backendUrl?:string){
13
+ super(VTXAPIKeyAPI.getDefaultHeaders(apiKeyId, apiKeyValue), backendUrl);
14
+ }
15
+
16
+ public static getDefaultHeaders(apiKeyId:string, apiKeyValue:string):APICallHeaders{
17
+ return {
18
+ [DEFAULT_API_KEY_ID_HEADER]: apiKeyId,
19
+ [DEFAULT_API_KEY_VALUE_HEADER]: apiKeyValue,
20
+ ...DEFAULT_HEADERS
21
+ }
22
+ }
23
+ }