@sparkrewards/sra-sdk 0.0.1

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 (106) hide show
  1. package/LICENSE +201 -0
  2. package/dist-cjs/index.js +8 -0
  3. package/dist-cjs/models/index.js +4 -0
  4. package/dist-cjs/models/models_0.js +1901 -0
  5. package/dist-cjs/openapi.js +7 -0
  6. package/dist-cjs/openapi.json +2864 -0
  7. package/dist-cjs/protocols/Aws_restJson1.js +2939 -0
  8. package/dist-cjs/server/AppAPIService.js +371 -0
  9. package/dist-cjs/server/index.js +5 -0
  10. package/dist-cjs/server/operations/DeleteUser.js +121 -0
  11. package/dist-cjs/server/operations/FavoritePlans.js +125 -0
  12. package/dist-cjs/server/operations/FavoriteShops.js +122 -0
  13. package/dist-cjs/server/operations/GetShop.js +126 -0
  14. package/dist-cjs/server/operations/GetShopPublic.js +127 -0
  15. package/dist-cjs/server/operations/GetUser.js +121 -0
  16. package/dist-cjs/server/operations/LikeOrg.js +124 -0
  17. package/dist-cjs/server/operations/NearbyShops.js +121 -0
  18. package/dist-cjs/server/operations/NearbyShopsPublic.js +122 -0
  19. package/dist-cjs/server/operations/NearestShop.js +126 -0
  20. package/dist-cjs/server/operations/OnboardUser.js +122 -0
  21. package/dist-cjs/server/operations/PinnedShop.js +126 -0
  22. package/dist-cjs/server/operations/PinnedShopPublic.js +127 -0
  23. package/dist-cjs/server/operations/Plan.js +123 -0
  24. package/dist-cjs/server/operations/PlanPublic.js +124 -0
  25. package/dist-cjs/server/operations/Plans.js +124 -0
  26. package/dist-cjs/server/operations/PopularShops.js +122 -0
  27. package/dist-cjs/server/operations/PopularShopsPublic.js +123 -0
  28. package/dist-cjs/server/operations/RadiusShops.js +123 -0
  29. package/dist-cjs/server/operations/RecordVisit.js +129 -0
  30. package/dist-cjs/server/operations/RedeemFirstTimeReward.js +125 -0
  31. package/dist-cjs/server/operations/RedeemPointReward.js +126 -0
  32. package/dist-cjs/server/operations/RedeemVisitReward.js +125 -0
  33. package/dist-cjs/server/operations/SearchShopsPublic.js +125 -0
  34. package/dist-cjs/server/operations/SearchSuggestion.js +126 -0
  35. package/dist-cjs/server/operations/UpdateUser.js +121 -0
  36. package/dist-cjs/server/operations/index.js +29 -0
  37. package/dist-es/index.js +4 -0
  38. package/dist-es/models/index.js +1 -0
  39. package/dist-es/models/models_0.js +1893 -0
  40. package/dist-es/openapi.js +3 -0
  41. package/dist-es/openapi.json +2864 -0
  42. package/dist-es/protocols/Aws_restJson1.js +2878 -0
  43. package/dist-es/server/AppAPIService.js +366 -0
  44. package/dist-es/server/index.js +2 -0
  45. package/dist-es/server/operations/DeleteUser.js +115 -0
  46. package/dist-es/server/operations/FavoritePlans.js +119 -0
  47. package/dist-es/server/operations/FavoriteShops.js +116 -0
  48. package/dist-es/server/operations/GetShop.js +120 -0
  49. package/dist-es/server/operations/GetShopPublic.js +121 -0
  50. package/dist-es/server/operations/GetUser.js +115 -0
  51. package/dist-es/server/operations/LikeOrg.js +118 -0
  52. package/dist-es/server/operations/NearbyShops.js +115 -0
  53. package/dist-es/server/operations/NearbyShopsPublic.js +116 -0
  54. package/dist-es/server/operations/NearestShop.js +120 -0
  55. package/dist-es/server/operations/OnboardUser.js +116 -0
  56. package/dist-es/server/operations/PinnedShop.js +120 -0
  57. package/dist-es/server/operations/PinnedShopPublic.js +121 -0
  58. package/dist-es/server/operations/Plan.js +117 -0
  59. package/dist-es/server/operations/PlanPublic.js +118 -0
  60. package/dist-es/server/operations/Plans.js +118 -0
  61. package/dist-es/server/operations/PopularShops.js +116 -0
  62. package/dist-es/server/operations/PopularShopsPublic.js +117 -0
  63. package/dist-es/server/operations/RadiusShops.js +117 -0
  64. package/dist-es/server/operations/RecordVisit.js +123 -0
  65. package/dist-es/server/operations/RedeemFirstTimeReward.js +119 -0
  66. package/dist-es/server/operations/RedeemPointReward.js +120 -0
  67. package/dist-es/server/operations/RedeemVisitReward.js +119 -0
  68. package/dist-es/server/operations/SearchShopsPublic.js +119 -0
  69. package/dist-es/server/operations/SearchSuggestion.js +120 -0
  70. package/dist-es/server/operations/UpdateUser.js +115 -0
  71. package/dist-es/server/operations/index.js +26 -0
  72. package/dist-types/index.d.ts +9 -0
  73. package/dist-types/models/index.d.ts +1 -0
  74. package/dist-types/models/models_0.d.ts +832 -0
  75. package/dist-types/openapi.d.ts +7 -0
  76. package/dist-types/protocols/Aws_restJson1.d.ts +87 -0
  77. package/dist-types/server/AppAPIService.d.ts +76 -0
  78. package/dist-types/server/index.d.ts +2 -0
  79. package/dist-types/server/operations/DeleteUser.d.ts +41 -0
  80. package/dist-types/server/operations/FavoritePlans.d.ts +41 -0
  81. package/dist-types/server/operations/FavoriteShops.d.ts +41 -0
  82. package/dist-types/server/operations/GetShop.d.ts +41 -0
  83. package/dist-types/server/operations/GetShopPublic.d.ts +41 -0
  84. package/dist-types/server/operations/GetUser.d.ts +41 -0
  85. package/dist-types/server/operations/LikeOrg.d.ts +41 -0
  86. package/dist-types/server/operations/NearbyShops.d.ts +41 -0
  87. package/dist-types/server/operations/NearbyShopsPublic.d.ts +41 -0
  88. package/dist-types/server/operations/NearestShop.d.ts +41 -0
  89. package/dist-types/server/operations/OnboardUser.d.ts +41 -0
  90. package/dist-types/server/operations/PinnedShop.d.ts +41 -0
  91. package/dist-types/server/operations/PinnedShopPublic.d.ts +41 -0
  92. package/dist-types/server/operations/Plan.d.ts +41 -0
  93. package/dist-types/server/operations/PlanPublic.d.ts +41 -0
  94. package/dist-types/server/operations/Plans.d.ts +41 -0
  95. package/dist-types/server/operations/PopularShops.d.ts +41 -0
  96. package/dist-types/server/operations/PopularShopsPublic.d.ts +41 -0
  97. package/dist-types/server/operations/RadiusShops.d.ts +41 -0
  98. package/dist-types/server/operations/RecordVisit.d.ts +41 -0
  99. package/dist-types/server/operations/RedeemFirstTimeReward.d.ts +41 -0
  100. package/dist-types/server/operations/RedeemPointReward.d.ts +41 -0
  101. package/dist-types/server/operations/RedeemVisitReward.d.ts +41 -0
  102. package/dist-types/server/operations/SearchShopsPublic.d.ts +41 -0
  103. package/dist-types/server/operations/SearchSuggestion.d.ts +41 -0
  104. package/dist-types/server/operations/UpdateUser.d.ts +41 -0
  105. package/dist-types/server/operations/index.d.ts +26 -0
  106. package/package.json +66 -0
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PopularShopsPublicHandler = exports.getPopularShopsPublicHandler = exports.PopularShopsPublicSerializer = exports.PopularShopsPublicServerInput = void 0;
4
+ const models_0_1 = require("../../models/models_0");
5
+ const Aws_restJson1_1 = require("../../protocols/Aws_restJson1");
6
+ const server_common_1 = require("@aws-smithy/server-common");
7
+ const node_http_handler_1 = require("@smithy/node-http-handler");
8
+ const util_base64_1 = require("@smithy/util-base64");
9
+ const util_utf8_1 = require("@smithy/util-utf8");
10
+ var PopularShopsPublicServerInput;
11
+ (function (PopularShopsPublicServerInput) {
12
+ PopularShopsPublicServerInput.validate = models_0_1.ShopListInput.validate;
13
+ })(PopularShopsPublicServerInput = exports.PopularShopsPublicServerInput || (exports.PopularShopsPublicServerInput = {}));
14
+ class PopularShopsPublicSerializer {
15
+ constructor() {
16
+ this.serialize = Aws_restJson1_1.serializePopularShopsPublicResponse;
17
+ this.deserialize = Aws_restJson1_1.deserializePopularShopsPublicRequest;
18
+ }
19
+ isOperationError(error) {
20
+ const names = ["ValidationException", "RuntimeError"];
21
+ return names.includes(error.name);
22
+ }
23
+ ;
24
+ serializeError(error, ctx) {
25
+ switch (error.name) {
26
+ case "ValidationException": {
27
+ return (0, Aws_restJson1_1.serializeValidationExceptionError)(error, ctx);
28
+ }
29
+ case "RuntimeError": {
30
+ return (0, Aws_restJson1_1.serializeRuntimeErrorError)(error, ctx);
31
+ }
32
+ default: {
33
+ throw error;
34
+ }
35
+ }
36
+ }
37
+ }
38
+ exports.PopularShopsPublicSerializer = PopularShopsPublicSerializer;
39
+ const getPopularShopsPublicHandler = (operation) => {
40
+ const mux = new server_common_1.httpbinding.HttpBindingMux([
41
+ new server_common_1.httpbinding.UriSpec('GET', [
42
+ { type: 'path_literal', value: "public" },
43
+ { type: 'path_literal', value: "shops" },
44
+ { type: 'path_literal', value: "popular" },
45
+ ], [], { service: "AppAPI", operation: "PopularShopsPublic" }),
46
+ ]);
47
+ const customizer = (ctx, failures) => {
48
+ if (!failures) {
49
+ return undefined;
50
+ }
51
+ return {
52
+ name: "ValidationException",
53
+ $fault: "client",
54
+ message: (0, server_common_1.generateValidationSummary)(failures),
55
+ fieldList: failures.map(failure => ({
56
+ path: failure.path,
57
+ message: (0, server_common_1.generateValidationMessage)(failure)
58
+ }))
59
+ };
60
+ };
61
+ return new PopularShopsPublicHandler(operation, mux, new PopularShopsPublicSerializer(), Aws_restJson1_1.serializeFrameworkException, customizer);
62
+ };
63
+ exports.getPopularShopsPublicHandler = getPopularShopsPublicHandler;
64
+ const serdeContextBase = {
65
+ base64Encoder: util_base64_1.toBase64,
66
+ base64Decoder: util_base64_1.fromBase64,
67
+ utf8Encoder: util_utf8_1.toUtf8,
68
+ utf8Decoder: util_utf8_1.fromUtf8,
69
+ streamCollector: node_http_handler_1.streamCollector,
70
+ requestHandler: new node_http_handler_1.NodeHttpHandler(),
71
+ disableHostPrefix: true
72
+ };
73
+ async function handle(request, context, operationName, serializer, operation, serializeFrameworkException, validationFn, validationCustomizer) {
74
+ let input;
75
+ try {
76
+ input = await serializer.deserialize(request, {
77
+ endpoint: () => Promise.resolve(request), ...serdeContextBase
78
+ });
79
+ }
80
+ catch (error) {
81
+ if ((0, server_common_1.isFrameworkException)(error)) {
82
+ return serializeFrameworkException(error, serdeContextBase);
83
+ }
84
+ ;
85
+ return serializeFrameworkException(new server_common_1.SerializationException(), serdeContextBase);
86
+ }
87
+ try {
88
+ let validationFailures = validationFn(input);
89
+ if (validationFailures && validationFailures.length > 0) {
90
+ let validationException = validationCustomizer({ operation: operationName }, validationFailures);
91
+ if (validationException) {
92
+ return serializer.serializeError(validationException, serdeContextBase);
93
+ }
94
+ }
95
+ let output = await operation(input, context);
96
+ return serializer.serialize(output, serdeContextBase);
97
+ }
98
+ catch (error) {
99
+ if (serializer.isOperationError(error)) {
100
+ return serializer.serializeError(error, serdeContextBase);
101
+ }
102
+ console.log('Received an unexpected error', error);
103
+ return serializeFrameworkException(new server_common_1.InternalFailureException(), serdeContextBase);
104
+ }
105
+ }
106
+ class PopularShopsPublicHandler {
107
+ constructor(operation, mux, serializer, serializeFrameworkException, validationCustomizer) {
108
+ this.operation = operation;
109
+ this.mux = mux;
110
+ this.serializer = serializer;
111
+ this.serializeFrameworkException = serializeFrameworkException;
112
+ this.validationCustomizer = validationCustomizer;
113
+ }
114
+ async handle(request, context) {
115
+ const target = this.mux.match(request);
116
+ if (target === undefined) {
117
+ console.log('Received a request that did not match software.amazon.smithy.app#AppAPI.PopularShopsPublic. This indicates a misconfiguration.');
118
+ return this.serializeFrameworkException(new server_common_1.InternalFailureException(), serdeContextBase);
119
+ }
120
+ return handle(request, context, "PopularShopsPublic", this.serializer, this.operation, this.serializeFrameworkException, PopularShopsPublicServerInput.validate, this.validationCustomizer);
121
+ }
122
+ }
123
+ exports.PopularShopsPublicHandler = PopularShopsPublicHandler;
@@ -0,0 +1,123 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RadiusShopsHandler = exports.getRadiusShopsHandler = exports.RadiusShopsSerializer = exports.RadiusShopsServerInput = void 0;
4
+ const models_0_1 = require("../../models/models_0");
5
+ const Aws_restJson1_1 = require("../../protocols/Aws_restJson1");
6
+ const server_common_1 = require("@aws-smithy/server-common");
7
+ const node_http_handler_1 = require("@smithy/node-http-handler");
8
+ const util_base64_1 = require("@smithy/util-base64");
9
+ const util_utf8_1 = require("@smithy/util-utf8");
10
+ var RadiusShopsServerInput;
11
+ (function (RadiusShopsServerInput) {
12
+ RadiusShopsServerInput.validate = models_0_1.ShopListInput.validate;
13
+ })(RadiusShopsServerInput = exports.RadiusShopsServerInput || (exports.RadiusShopsServerInput = {}));
14
+ class RadiusShopsSerializer {
15
+ constructor() {
16
+ this.serialize = Aws_restJson1_1.serializeRadiusShopsResponse;
17
+ this.deserialize = Aws_restJson1_1.deserializeRadiusShopsRequest;
18
+ }
19
+ isOperationError(error) {
20
+ const names = ["ValidationException", "RuntimeError"];
21
+ return names.includes(error.name);
22
+ }
23
+ ;
24
+ serializeError(error, ctx) {
25
+ switch (error.name) {
26
+ case "ValidationException": {
27
+ return (0, Aws_restJson1_1.serializeValidationExceptionError)(error, ctx);
28
+ }
29
+ case "RuntimeError": {
30
+ return (0, Aws_restJson1_1.serializeRuntimeErrorError)(error, ctx);
31
+ }
32
+ default: {
33
+ throw error;
34
+ }
35
+ }
36
+ }
37
+ }
38
+ exports.RadiusShopsSerializer = RadiusShopsSerializer;
39
+ const getRadiusShopsHandler = (operation) => {
40
+ const mux = new server_common_1.httpbinding.HttpBindingMux([
41
+ new server_common_1.httpbinding.UriSpec('GET', [
42
+ { type: 'path_literal', value: "public" },
43
+ { type: 'path_literal', value: "shops" },
44
+ { type: 'path_literal', value: "radius" },
45
+ ], [], { service: "AppAPI", operation: "RadiusShops" }),
46
+ ]);
47
+ const customizer = (ctx, failures) => {
48
+ if (!failures) {
49
+ return undefined;
50
+ }
51
+ return {
52
+ name: "ValidationException",
53
+ $fault: "client",
54
+ message: (0, server_common_1.generateValidationSummary)(failures),
55
+ fieldList: failures.map(failure => ({
56
+ path: failure.path,
57
+ message: (0, server_common_1.generateValidationMessage)(failure)
58
+ }))
59
+ };
60
+ };
61
+ return new RadiusShopsHandler(operation, mux, new RadiusShopsSerializer(), Aws_restJson1_1.serializeFrameworkException, customizer);
62
+ };
63
+ exports.getRadiusShopsHandler = getRadiusShopsHandler;
64
+ const serdeContextBase = {
65
+ base64Encoder: util_base64_1.toBase64,
66
+ base64Decoder: util_base64_1.fromBase64,
67
+ utf8Encoder: util_utf8_1.toUtf8,
68
+ utf8Decoder: util_utf8_1.fromUtf8,
69
+ streamCollector: node_http_handler_1.streamCollector,
70
+ requestHandler: new node_http_handler_1.NodeHttpHandler(),
71
+ disableHostPrefix: true
72
+ };
73
+ async function handle(request, context, operationName, serializer, operation, serializeFrameworkException, validationFn, validationCustomizer) {
74
+ let input;
75
+ try {
76
+ input = await serializer.deserialize(request, {
77
+ endpoint: () => Promise.resolve(request), ...serdeContextBase
78
+ });
79
+ }
80
+ catch (error) {
81
+ if ((0, server_common_1.isFrameworkException)(error)) {
82
+ return serializeFrameworkException(error, serdeContextBase);
83
+ }
84
+ ;
85
+ return serializeFrameworkException(new server_common_1.SerializationException(), serdeContextBase);
86
+ }
87
+ try {
88
+ let validationFailures = validationFn(input);
89
+ if (validationFailures && validationFailures.length > 0) {
90
+ let validationException = validationCustomizer({ operation: operationName }, validationFailures);
91
+ if (validationException) {
92
+ return serializer.serializeError(validationException, serdeContextBase);
93
+ }
94
+ }
95
+ let output = await operation(input, context);
96
+ return serializer.serialize(output, serdeContextBase);
97
+ }
98
+ catch (error) {
99
+ if (serializer.isOperationError(error)) {
100
+ return serializer.serializeError(error, serdeContextBase);
101
+ }
102
+ console.log('Received an unexpected error', error);
103
+ return serializeFrameworkException(new server_common_1.InternalFailureException(), serdeContextBase);
104
+ }
105
+ }
106
+ class RadiusShopsHandler {
107
+ constructor(operation, mux, serializer, serializeFrameworkException, validationCustomizer) {
108
+ this.operation = operation;
109
+ this.mux = mux;
110
+ this.serializer = serializer;
111
+ this.serializeFrameworkException = serializeFrameworkException;
112
+ this.validationCustomizer = validationCustomizer;
113
+ }
114
+ async handle(request, context) {
115
+ const target = this.mux.match(request);
116
+ if (target === undefined) {
117
+ console.log('Received a request that did not match software.amazon.smithy.app#AppAPI.RadiusShops. This indicates a misconfiguration.');
118
+ return this.serializeFrameworkException(new server_common_1.InternalFailureException(), serdeContextBase);
119
+ }
120
+ return handle(request, context, "RadiusShops", this.serializer, this.operation, this.serializeFrameworkException, RadiusShopsServerInput.validate, this.validationCustomizer);
121
+ }
122
+ }
123
+ exports.RadiusShopsHandler = RadiusShopsHandler;
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RecordVisitHandler = exports.getRecordVisitHandler = exports.RecordVisitSerializer = exports.RecordVisitServerInput = void 0;
4
+ const models_0_1 = require("../../models/models_0");
5
+ const Aws_restJson1_1 = require("../../protocols/Aws_restJson1");
6
+ const server_common_1 = require("@aws-smithy/server-common");
7
+ const node_http_handler_1 = require("@smithy/node-http-handler");
8
+ const util_base64_1 = require("@smithy/util-base64");
9
+ const util_utf8_1 = require("@smithy/util-utf8");
10
+ var RecordVisitServerInput;
11
+ (function (RecordVisitServerInput) {
12
+ RecordVisitServerInput.validate = models_0_1.RecordVisitInput.validate;
13
+ })(RecordVisitServerInput = exports.RecordVisitServerInput || (exports.RecordVisitServerInput = {}));
14
+ class RecordVisitSerializer {
15
+ constructor() {
16
+ this.serialize = Aws_restJson1_1.serializeRecordVisitResponse;
17
+ this.deserialize = Aws_restJson1_1.deserializeRecordVisitRequest;
18
+ }
19
+ isOperationError(error) {
20
+ const names = ["ValidationException", "RuntimeError", "InvalidOperationError"];
21
+ return names.includes(error.name);
22
+ }
23
+ ;
24
+ serializeError(error, ctx) {
25
+ switch (error.name) {
26
+ case "ValidationException": {
27
+ return (0, Aws_restJson1_1.serializeValidationExceptionError)(error, ctx);
28
+ }
29
+ case "RuntimeError": {
30
+ return (0, Aws_restJson1_1.serializeRuntimeErrorError)(error, ctx);
31
+ }
32
+ case "InvalidOperationError": {
33
+ return (0, Aws_restJson1_1.serializeInvalidOperationErrorError)(error, ctx);
34
+ }
35
+ default: {
36
+ throw error;
37
+ }
38
+ }
39
+ }
40
+ }
41
+ exports.RecordVisitSerializer = RecordVisitSerializer;
42
+ const getRecordVisitHandler = (operation) => {
43
+ const mux = new server_common_1.httpbinding.HttpBindingMux([
44
+ new server_common_1.httpbinding.UriSpec('POST', [
45
+ { type: 'path_literal', value: "visit" },
46
+ ], [
47
+ { type: 'query', key: "shop_id" },
48
+ { type: 'query', key: "timestamp" },
49
+ { type: 'query', key: "lat" },
50
+ { type: 'query', key: "lon" },
51
+ ], { service: "AppAPI", operation: "RecordVisit" }),
52
+ ]);
53
+ const customizer = (ctx, failures) => {
54
+ if (!failures) {
55
+ return undefined;
56
+ }
57
+ return {
58
+ name: "ValidationException",
59
+ $fault: "client",
60
+ message: (0, server_common_1.generateValidationSummary)(failures),
61
+ fieldList: failures.map(failure => ({
62
+ path: failure.path,
63
+ message: (0, server_common_1.generateValidationMessage)(failure)
64
+ }))
65
+ };
66
+ };
67
+ return new RecordVisitHandler(operation, mux, new RecordVisitSerializer(), Aws_restJson1_1.serializeFrameworkException, customizer);
68
+ };
69
+ exports.getRecordVisitHandler = getRecordVisitHandler;
70
+ const serdeContextBase = {
71
+ base64Encoder: util_base64_1.toBase64,
72
+ base64Decoder: util_base64_1.fromBase64,
73
+ utf8Encoder: util_utf8_1.toUtf8,
74
+ utf8Decoder: util_utf8_1.fromUtf8,
75
+ streamCollector: node_http_handler_1.streamCollector,
76
+ requestHandler: new node_http_handler_1.NodeHttpHandler(),
77
+ disableHostPrefix: true
78
+ };
79
+ async function handle(request, context, operationName, serializer, operation, serializeFrameworkException, validationFn, validationCustomizer) {
80
+ let input;
81
+ try {
82
+ input = await serializer.deserialize(request, {
83
+ endpoint: () => Promise.resolve(request), ...serdeContextBase
84
+ });
85
+ }
86
+ catch (error) {
87
+ if ((0, server_common_1.isFrameworkException)(error)) {
88
+ return serializeFrameworkException(error, serdeContextBase);
89
+ }
90
+ ;
91
+ return serializeFrameworkException(new server_common_1.SerializationException(), serdeContextBase);
92
+ }
93
+ try {
94
+ let validationFailures = validationFn(input);
95
+ if (validationFailures && validationFailures.length > 0) {
96
+ let validationException = validationCustomizer({ operation: operationName }, validationFailures);
97
+ if (validationException) {
98
+ return serializer.serializeError(validationException, serdeContextBase);
99
+ }
100
+ }
101
+ let output = await operation(input, context);
102
+ return serializer.serialize(output, serdeContextBase);
103
+ }
104
+ catch (error) {
105
+ if (serializer.isOperationError(error)) {
106
+ return serializer.serializeError(error, serdeContextBase);
107
+ }
108
+ console.log('Received an unexpected error', error);
109
+ return serializeFrameworkException(new server_common_1.InternalFailureException(), serdeContextBase);
110
+ }
111
+ }
112
+ class RecordVisitHandler {
113
+ constructor(operation, mux, serializer, serializeFrameworkException, validationCustomizer) {
114
+ this.operation = operation;
115
+ this.mux = mux;
116
+ this.serializer = serializer;
117
+ this.serializeFrameworkException = serializeFrameworkException;
118
+ this.validationCustomizer = validationCustomizer;
119
+ }
120
+ async handle(request, context) {
121
+ const target = this.mux.match(request);
122
+ if (target === undefined) {
123
+ console.log('Received a request that did not match software.amazon.smithy.app#AppAPI.RecordVisit. This indicates a misconfiguration.');
124
+ return this.serializeFrameworkException(new server_common_1.InternalFailureException(), serdeContextBase);
125
+ }
126
+ return handle(request, context, "RecordVisit", this.serializer, this.operation, this.serializeFrameworkException, RecordVisitServerInput.validate, this.validationCustomizer);
127
+ }
128
+ }
129
+ exports.RecordVisitHandler = RecordVisitHandler;
@@ -0,0 +1,125 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RedeemFirstTimeRewardHandler = exports.getRedeemFirstTimeRewardHandler = exports.RedeemFirstTimeRewardSerializer = exports.RedeemFirstTimeRewardServerInput = void 0;
4
+ const models_0_1 = require("../../models/models_0");
5
+ const Aws_restJson1_1 = require("../../protocols/Aws_restJson1");
6
+ const server_common_1 = require("@aws-smithy/server-common");
7
+ const node_http_handler_1 = require("@smithy/node-http-handler");
8
+ const util_base64_1 = require("@smithy/util-base64");
9
+ const util_utf8_1 = require("@smithy/util-utf8");
10
+ var RedeemFirstTimeRewardServerInput;
11
+ (function (RedeemFirstTimeRewardServerInput) {
12
+ RedeemFirstTimeRewardServerInput.validate = models_0_1.RedeemFirstTimeRewardInput.validate;
13
+ })(RedeemFirstTimeRewardServerInput = exports.RedeemFirstTimeRewardServerInput || (exports.RedeemFirstTimeRewardServerInput = {}));
14
+ class RedeemFirstTimeRewardSerializer {
15
+ constructor() {
16
+ this.serialize = Aws_restJson1_1.serializeRedeemFirstTimeRewardResponse;
17
+ this.deserialize = Aws_restJson1_1.deserializeRedeemFirstTimeRewardRequest;
18
+ }
19
+ isOperationError(error) {
20
+ const names = ["ValidationException", "RuntimeError"];
21
+ return names.includes(error.name);
22
+ }
23
+ ;
24
+ serializeError(error, ctx) {
25
+ switch (error.name) {
26
+ case "ValidationException": {
27
+ return (0, Aws_restJson1_1.serializeValidationExceptionError)(error, ctx);
28
+ }
29
+ case "RuntimeError": {
30
+ return (0, Aws_restJson1_1.serializeRuntimeErrorError)(error, ctx);
31
+ }
32
+ default: {
33
+ throw error;
34
+ }
35
+ }
36
+ }
37
+ }
38
+ exports.RedeemFirstTimeRewardSerializer = RedeemFirstTimeRewardSerializer;
39
+ const getRedeemFirstTimeRewardHandler = (operation) => {
40
+ const mux = new server_common_1.httpbinding.HttpBindingMux([
41
+ new server_common_1.httpbinding.UriSpec('PUT', [
42
+ { type: 'path_literal', value: "rewards" },
43
+ { type: 'path_literal', value: "redeem" },
44
+ { type: 'path_literal', value: "first-time" },
45
+ ], [
46
+ { type: 'query', key: "org_id" },
47
+ ], { service: "AppAPI", operation: "RedeemFirstTimeReward" }),
48
+ ]);
49
+ const customizer = (ctx, failures) => {
50
+ if (!failures) {
51
+ return undefined;
52
+ }
53
+ return {
54
+ name: "ValidationException",
55
+ $fault: "client",
56
+ message: (0, server_common_1.generateValidationSummary)(failures),
57
+ fieldList: failures.map(failure => ({
58
+ path: failure.path,
59
+ message: (0, server_common_1.generateValidationMessage)(failure)
60
+ }))
61
+ };
62
+ };
63
+ return new RedeemFirstTimeRewardHandler(operation, mux, new RedeemFirstTimeRewardSerializer(), Aws_restJson1_1.serializeFrameworkException, customizer);
64
+ };
65
+ exports.getRedeemFirstTimeRewardHandler = getRedeemFirstTimeRewardHandler;
66
+ const serdeContextBase = {
67
+ base64Encoder: util_base64_1.toBase64,
68
+ base64Decoder: util_base64_1.fromBase64,
69
+ utf8Encoder: util_utf8_1.toUtf8,
70
+ utf8Decoder: util_utf8_1.fromUtf8,
71
+ streamCollector: node_http_handler_1.streamCollector,
72
+ requestHandler: new node_http_handler_1.NodeHttpHandler(),
73
+ disableHostPrefix: true
74
+ };
75
+ async function handle(request, context, operationName, serializer, operation, serializeFrameworkException, validationFn, validationCustomizer) {
76
+ let input;
77
+ try {
78
+ input = await serializer.deserialize(request, {
79
+ endpoint: () => Promise.resolve(request), ...serdeContextBase
80
+ });
81
+ }
82
+ catch (error) {
83
+ if ((0, server_common_1.isFrameworkException)(error)) {
84
+ return serializeFrameworkException(error, serdeContextBase);
85
+ }
86
+ ;
87
+ return serializeFrameworkException(new server_common_1.SerializationException(), serdeContextBase);
88
+ }
89
+ try {
90
+ let validationFailures = validationFn(input);
91
+ if (validationFailures && validationFailures.length > 0) {
92
+ let validationException = validationCustomizer({ operation: operationName }, validationFailures);
93
+ if (validationException) {
94
+ return serializer.serializeError(validationException, serdeContextBase);
95
+ }
96
+ }
97
+ let output = await operation(input, context);
98
+ return serializer.serialize(output, serdeContextBase);
99
+ }
100
+ catch (error) {
101
+ if (serializer.isOperationError(error)) {
102
+ return serializer.serializeError(error, serdeContextBase);
103
+ }
104
+ console.log('Received an unexpected error', error);
105
+ return serializeFrameworkException(new server_common_1.InternalFailureException(), serdeContextBase);
106
+ }
107
+ }
108
+ class RedeemFirstTimeRewardHandler {
109
+ constructor(operation, mux, serializer, serializeFrameworkException, validationCustomizer) {
110
+ this.operation = operation;
111
+ this.mux = mux;
112
+ this.serializer = serializer;
113
+ this.serializeFrameworkException = serializeFrameworkException;
114
+ this.validationCustomizer = validationCustomizer;
115
+ }
116
+ async handle(request, context) {
117
+ const target = this.mux.match(request);
118
+ if (target === undefined) {
119
+ console.log('Received a request that did not match software.amazon.smithy.app#AppAPI.RedeemFirstTimeReward. This indicates a misconfiguration.');
120
+ return this.serializeFrameworkException(new server_common_1.InternalFailureException(), serdeContextBase);
121
+ }
122
+ return handle(request, context, "RedeemFirstTimeReward", this.serializer, this.operation, this.serializeFrameworkException, RedeemFirstTimeRewardServerInput.validate, this.validationCustomizer);
123
+ }
124
+ }
125
+ exports.RedeemFirstTimeRewardHandler = RedeemFirstTimeRewardHandler;
@@ -0,0 +1,126 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RedeemPointRewardHandler = exports.getRedeemPointRewardHandler = exports.RedeemPointRewardSerializer = exports.RedeemPointRewardServerInput = void 0;
4
+ const models_0_1 = require("../../models/models_0");
5
+ const Aws_restJson1_1 = require("../../protocols/Aws_restJson1");
6
+ const server_common_1 = require("@aws-smithy/server-common");
7
+ const node_http_handler_1 = require("@smithy/node-http-handler");
8
+ const util_base64_1 = require("@smithy/util-base64");
9
+ const util_utf8_1 = require("@smithy/util-utf8");
10
+ var RedeemPointRewardServerInput;
11
+ (function (RedeemPointRewardServerInput) {
12
+ RedeemPointRewardServerInput.validate = models_0_1.RedeemPointRewardInput.validate;
13
+ })(RedeemPointRewardServerInput = exports.RedeemPointRewardServerInput || (exports.RedeemPointRewardServerInput = {}));
14
+ class RedeemPointRewardSerializer {
15
+ constructor() {
16
+ this.serialize = Aws_restJson1_1.serializeRedeemPointRewardResponse;
17
+ this.deserialize = Aws_restJson1_1.deserializeRedeemPointRewardRequest;
18
+ }
19
+ isOperationError(error) {
20
+ const names = ["ValidationException", "RuntimeError"];
21
+ return names.includes(error.name);
22
+ }
23
+ ;
24
+ serializeError(error, ctx) {
25
+ switch (error.name) {
26
+ case "ValidationException": {
27
+ return (0, Aws_restJson1_1.serializeValidationExceptionError)(error, ctx);
28
+ }
29
+ case "RuntimeError": {
30
+ return (0, Aws_restJson1_1.serializeRuntimeErrorError)(error, ctx);
31
+ }
32
+ default: {
33
+ throw error;
34
+ }
35
+ }
36
+ }
37
+ }
38
+ exports.RedeemPointRewardSerializer = RedeemPointRewardSerializer;
39
+ const getRedeemPointRewardHandler = (operation) => {
40
+ const mux = new server_common_1.httpbinding.HttpBindingMux([
41
+ new server_common_1.httpbinding.UriSpec('PUT', [
42
+ { type: 'path_literal', value: "rewards" },
43
+ { type: 'path_literal', value: "redeem" },
44
+ { type: 'path_literal', value: "point" },
45
+ ], [
46
+ { type: 'query', key: "org_id" },
47
+ { type: 'query', key: "reward_id" },
48
+ ], { service: "AppAPI", operation: "RedeemPointReward" }),
49
+ ]);
50
+ const customizer = (ctx, failures) => {
51
+ if (!failures) {
52
+ return undefined;
53
+ }
54
+ return {
55
+ name: "ValidationException",
56
+ $fault: "client",
57
+ message: (0, server_common_1.generateValidationSummary)(failures),
58
+ fieldList: failures.map(failure => ({
59
+ path: failure.path,
60
+ message: (0, server_common_1.generateValidationMessage)(failure)
61
+ }))
62
+ };
63
+ };
64
+ return new RedeemPointRewardHandler(operation, mux, new RedeemPointRewardSerializer(), Aws_restJson1_1.serializeFrameworkException, customizer);
65
+ };
66
+ exports.getRedeemPointRewardHandler = getRedeemPointRewardHandler;
67
+ const serdeContextBase = {
68
+ base64Encoder: util_base64_1.toBase64,
69
+ base64Decoder: util_base64_1.fromBase64,
70
+ utf8Encoder: util_utf8_1.toUtf8,
71
+ utf8Decoder: util_utf8_1.fromUtf8,
72
+ streamCollector: node_http_handler_1.streamCollector,
73
+ requestHandler: new node_http_handler_1.NodeHttpHandler(),
74
+ disableHostPrefix: true
75
+ };
76
+ async function handle(request, context, operationName, serializer, operation, serializeFrameworkException, validationFn, validationCustomizer) {
77
+ let input;
78
+ try {
79
+ input = await serializer.deserialize(request, {
80
+ endpoint: () => Promise.resolve(request), ...serdeContextBase
81
+ });
82
+ }
83
+ catch (error) {
84
+ if ((0, server_common_1.isFrameworkException)(error)) {
85
+ return serializeFrameworkException(error, serdeContextBase);
86
+ }
87
+ ;
88
+ return serializeFrameworkException(new server_common_1.SerializationException(), serdeContextBase);
89
+ }
90
+ try {
91
+ let validationFailures = validationFn(input);
92
+ if (validationFailures && validationFailures.length > 0) {
93
+ let validationException = validationCustomizer({ operation: operationName }, validationFailures);
94
+ if (validationException) {
95
+ return serializer.serializeError(validationException, serdeContextBase);
96
+ }
97
+ }
98
+ let output = await operation(input, context);
99
+ return serializer.serialize(output, serdeContextBase);
100
+ }
101
+ catch (error) {
102
+ if (serializer.isOperationError(error)) {
103
+ return serializer.serializeError(error, serdeContextBase);
104
+ }
105
+ console.log('Received an unexpected error', error);
106
+ return serializeFrameworkException(new server_common_1.InternalFailureException(), serdeContextBase);
107
+ }
108
+ }
109
+ class RedeemPointRewardHandler {
110
+ constructor(operation, mux, serializer, serializeFrameworkException, validationCustomizer) {
111
+ this.operation = operation;
112
+ this.mux = mux;
113
+ this.serializer = serializer;
114
+ this.serializeFrameworkException = serializeFrameworkException;
115
+ this.validationCustomizer = validationCustomizer;
116
+ }
117
+ async handle(request, context) {
118
+ const target = this.mux.match(request);
119
+ if (target === undefined) {
120
+ console.log('Received a request that did not match software.amazon.smithy.app#AppAPI.RedeemPointReward. This indicates a misconfiguration.');
121
+ return this.serializeFrameworkException(new server_common_1.InternalFailureException(), serdeContextBase);
122
+ }
123
+ return handle(request, context, "RedeemPointReward", this.serializer, this.operation, this.serializeFrameworkException, RedeemPointRewardServerInput.validate, this.validationCustomizer);
124
+ }
125
+ }
126
+ exports.RedeemPointRewardHandler = RedeemPointRewardHandler;