@computec/uibase 1.0.3 → 1.0.6

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 (181) hide show
  1. package/dist/communication/ConnectionOptions.d.ts +48 -0
  2. package/dist/communication/ConnectionOptions.d.ts.map +1 -0
  3. package/dist/communication/ConnectionOptions.js +9 -0
  4. package/dist/communication/HttpClient.d.ts +1 -0
  5. package/dist/communication/HttpClient.d.ts.map +1 -1
  6. package/dist/communication/HttpClient.js +6 -1
  7. package/dist/communication/IBaseHttpClientOptions.d.ts +1 -0
  8. package/dist/communication/IBaseHttpClientOptions.d.ts.map +1 -1
  9. package/dist/communication/IConnectionInfo.d.ts +17 -0
  10. package/dist/communication/IConnectionInfo.d.ts.map +1 -0
  11. package/dist/communication/IConnectionInfo.js +2 -0
  12. package/dist/communication/ISignalRHubClient.d.ts +47 -0
  13. package/dist/communication/ISignalRHubClient.d.ts.map +1 -0
  14. package/dist/communication/ISignalRHubClient.js +2 -0
  15. package/dist/communication/ISignalRMessage.d.ts +8 -0
  16. package/dist/communication/ISignalRMessage.d.ts.map +1 -0
  17. package/dist/communication/ISignalRMessage.js +2 -0
  18. package/dist/communication/SignalRHubClient.d.ts +26 -0
  19. package/dist/communication/SignalRHubClient.d.ts.map +1 -0
  20. package/dist/communication/SignalRHubClient.js +133 -0
  21. package/dist/communication/SignalRMessage.d.ts +10 -0
  22. package/dist/communication/SignalRMessage.d.ts.map +1 -0
  23. package/dist/communication/SignalRMessage.js +9 -0
  24. package/dist/communication/SubscribeProperties.d.ts +17 -0
  25. package/dist/communication/SubscribeProperties.d.ts.map +1 -0
  26. package/dist/communication/SubscribeProperties.js +25 -0
  27. package/dist/helpers/ErrorHelper.d.ts.map +1 -1
  28. package/dist/helpers/ErrorHelper.js +12 -0
  29. package/dist/helpers/HttpClientHelper.d.ts.map +1 -1
  30. package/dist/helpers/HttpClientHelper.js +15 -4
  31. package/dist/index.d.ts +4 -0
  32. package/dist/index.d.ts.map +1 -1
  33. package/dist/index.js +7 -1
  34. package/dist/models/AppEngineException.d.ts +17 -7
  35. package/dist/models/AppEngineException.d.ts.map +1 -1
  36. package/dist/models/AppEngineException.js +31 -8
  37. package/dist/models/BaseBusinessObject.d.ts +1 -2
  38. package/dist/models/BaseBusinessObject.d.ts.map +1 -1
  39. package/dist/models/BaseError.d.ts +51 -0
  40. package/dist/models/BaseError.d.ts.map +1 -0
  41. package/dist/models/BaseError.js +53 -0
  42. package/dist/models/CompanyInfo.d.ts +4 -1
  43. package/dist/models/CompanyInfo.d.ts.map +1 -1
  44. package/dist/models/CompanyInfo.js +13 -0
  45. package/dist/models/DocumentedException.d.ts +22 -0
  46. package/dist/models/DocumentedException.d.ts.map +1 -0
  47. package/dist/models/DocumentedException.js +48 -0
  48. package/dist/models/HttpResponse.d.ts +7 -0
  49. package/dist/models/HttpResponse.d.ts.map +1 -0
  50. package/dist/models/HttpResponse.js +9 -0
  51. package/dist/models/IOdataResponse.d.ts +6 -0
  52. package/dist/models/IOdataResponse.d.ts.map +1 -0
  53. package/dist/models/IOdataResponse.js +2 -0
  54. package/dist/models/OdataError.d.ts +56 -0
  55. package/dist/models/OdataError.d.ts.map +1 -0
  56. package/dist/models/OdataError.js +88 -0
  57. package/dist/models/ProblemDetails.d.ts +23 -0
  58. package/dist/models/ProblemDetails.d.ts.map +1 -0
  59. package/dist/models/ProblemDetails.js +37 -0
  60. package/dist/models/Session.d.ts +2 -1
  61. package/dist/models/Session.d.ts.map +1 -1
  62. package/dist/models/Session.js +5 -1
  63. package/dist/models/UserInfo.d.ts +27 -1
  64. package/dist/models/UserInfo.d.ts.map +1 -1
  65. package/dist/models/ValidationProblemDetails.d.ts +19 -0
  66. package/dist/models/ValidationProblemDetails.d.ts.map +1 -0
  67. package/dist/models/ValidationProblemDetails.js +41 -0
  68. package/dist/models/Version.d.ts +35 -0
  69. package/dist/models/Version.d.ts.map +1 -0
  70. package/dist/models/Version.js +185 -0
  71. package/dist/models/enums/HeadersContentTypeEnum.d.ts +7 -0
  72. package/dist/models/enums/HeadersContentTypeEnum.d.ts.map +1 -1
  73. package/dist/models/enums/HeadersContentTypeEnum.js +7 -0
  74. package/dist/models/interfaces/IAppEngineException.d.ts +54 -4
  75. package/dist/models/interfaces/IAppEngineException.d.ts.map +1 -1
  76. package/dist/models/interfaces/IDocumentedException.d.ts +60 -0
  77. package/dist/models/interfaces/IDocumentedException.d.ts.map +1 -0
  78. package/dist/models/interfaces/IDocumentedException.js +2 -0
  79. package/dist/models/interfaces/IHttpResponse.d.ts +5 -0
  80. package/dist/models/interfaces/IHttpResponse.d.ts.map +1 -0
  81. package/dist/models/interfaces/IHttpResponse.js +2 -0
  82. package/dist/models/interfaces/IOdataError.d.ts +182 -0
  83. package/dist/models/interfaces/IOdataError.d.ts.map +1 -0
  84. package/dist/models/interfaces/IOdataError.js +2 -0
  85. package/dist/models/interfaces/IProblemDetails.d.ts +93 -0
  86. package/dist/models/interfaces/IProblemDetails.d.ts.map +1 -0
  87. package/dist/models/interfaces/IProblemDetails.js +2 -0
  88. package/dist/models/interfaces/IValidationProblemDetails.d.ts +82 -0
  89. package/dist/models/interfaces/IValidationProblemDetails.d.ts.map +1 -0
  90. package/dist/models/interfaces/IValidationProblemDetails.js +2 -0
  91. package/dist-ui5/resources/computec/appengine/uibase/.library +1 -1
  92. package/dist-ui5/resources/computec/appengine/uibase/communication/ConnectionOptions-dbg.js +20 -0
  93. package/dist-ui5/resources/computec/appengine/uibase/communication/ConnectionOptions.js +2 -0
  94. package/dist-ui5/resources/computec/appengine/uibase/communication/ConnectionOptions.js.map +1 -0
  95. package/dist-ui5/resources/computec/appengine/uibase/communication/HttpClient-dbg.js +41 -22
  96. package/dist-ui5/resources/computec/appengine/uibase/communication/HttpClient.js +1 -1
  97. package/dist-ui5/resources/computec/appengine/uibase/communication/HttpClient.js.map +1 -1
  98. package/dist-ui5/resources/computec/appengine/uibase/communication/IConnectionInfo-dbg.js +7 -0
  99. package/dist-ui5/resources/computec/appengine/uibase/communication/IConnectionInfo.js +2 -0
  100. package/dist-ui5/resources/computec/appengine/uibase/communication/IConnectionInfo.js.map +1 -0
  101. package/dist-ui5/resources/computec/appengine/uibase/communication/ISignalRHubClient-dbg.js +7 -0
  102. package/dist-ui5/resources/computec/appengine/uibase/communication/ISignalRHubClient.js +2 -0
  103. package/dist-ui5/resources/computec/appengine/uibase/communication/ISignalRHubClient.js.map +1 -0
  104. package/dist-ui5/resources/computec/appengine/uibase/communication/ISignalRMessage-dbg.js +7 -0
  105. package/dist-ui5/resources/computec/appengine/uibase/communication/ISignalRMessage.js +2 -0
  106. package/dist-ui5/resources/computec/appengine/uibase/communication/ISignalRMessage.js.map +1 -0
  107. package/dist-ui5/resources/computec/appengine/uibase/communication/SignalRHubClient-dbg.js +213 -0
  108. package/dist-ui5/resources/computec/appengine/uibase/communication/SignalRHubClient.js +2 -0
  109. package/dist-ui5/resources/computec/appengine/uibase/communication/SignalRHubClient.js.map +1 -0
  110. package/dist-ui5/resources/computec/appengine/uibase/communication/SignalRMessage-dbg.js +31 -0
  111. package/dist-ui5/resources/computec/appengine/uibase/communication/SignalRMessage.js +2 -0
  112. package/dist-ui5/resources/computec/appengine/uibase/communication/SignalRMessage.js.map +1 -0
  113. package/dist-ui5/resources/computec/appengine/uibase/communication/SubscribeProperties-dbg.js +49 -0
  114. package/dist-ui5/resources/computec/appengine/uibase/communication/SubscribeProperties.js +2 -0
  115. package/dist-ui5/resources/computec/appengine/uibase/communication/SubscribeProperties.js.map +1 -0
  116. package/dist-ui5/resources/computec/appengine/uibase/helpers/ErrorHelper-dbg.js +13 -1
  117. package/dist-ui5/resources/computec/appengine/uibase/helpers/ErrorHelper.js +1 -1
  118. package/dist-ui5/resources/computec/appengine/uibase/helpers/ErrorHelper.js.map +1 -1
  119. package/dist-ui5/resources/computec/appengine/uibase/helpers/HttpClientHelper-dbg.js +76 -85
  120. package/dist-ui5/resources/computec/appengine/uibase/helpers/HttpClientHelper.js +1 -1
  121. package/dist-ui5/resources/computec/appengine/uibase/helpers/HttpClientHelper.js.map +1 -1
  122. package/dist-ui5/resources/computec/appengine/uibase/index-dbg.js +5 -1
  123. package/dist-ui5/resources/computec/appengine/uibase/index.js +1 -1
  124. package/dist-ui5/resources/computec/appengine/uibase/index.js.map +1 -1
  125. package/dist-ui5/resources/computec/appengine/uibase/library-dbg.js +1 -1
  126. package/dist-ui5/resources/computec/appengine/uibase/library-preload.js +70 -10
  127. package/dist-ui5/resources/computec/appengine/uibase/library-preload.js.map +1 -1
  128. package/dist-ui5/resources/computec/appengine/uibase/library.js +1 -1
  129. package/dist-ui5/resources/computec/appengine/uibase/manifest.json +1 -1
  130. package/dist-ui5/resources/computec/appengine/uibase/models/AppEngineException-dbg.js +49 -12
  131. package/dist-ui5/resources/computec/appengine/uibase/models/AppEngineException.js +1 -1
  132. package/dist-ui5/resources/computec/appengine/uibase/models/AppEngineException.js.map +1 -1
  133. package/dist-ui5/resources/computec/appengine/uibase/models/BaseError-dbg.js +92 -0
  134. package/dist-ui5/resources/computec/appengine/uibase/models/BaseError.js +2 -0
  135. package/dist-ui5/resources/computec/appengine/uibase/models/BaseError.js.map +1 -0
  136. package/dist-ui5/resources/computec/appengine/uibase/models/CompanyInfo-dbg.js +34 -6
  137. package/dist-ui5/resources/computec/appengine/uibase/models/CompanyInfo.js +1 -1
  138. package/dist-ui5/resources/computec/appengine/uibase/models/CompanyInfo.js.map +1 -1
  139. package/dist-ui5/resources/computec/appengine/uibase/models/DocumentedException-dbg.js +75 -0
  140. package/dist-ui5/resources/computec/appengine/uibase/models/DocumentedException.js +2 -0
  141. package/dist-ui5/resources/computec/appengine/uibase/models/DocumentedException.js.map +1 -0
  142. package/dist-ui5/resources/computec/appengine/uibase/models/HttpResponse-dbg.js +17 -0
  143. package/dist-ui5/resources/computec/appengine/uibase/models/HttpResponse.js +2 -0
  144. package/dist-ui5/resources/computec/appengine/uibase/models/HttpResponse.js.map +1 -0
  145. package/dist-ui5/resources/computec/appengine/uibase/models/IOdataResponse-dbg.js +7 -0
  146. package/dist-ui5/resources/computec/appengine/uibase/models/IOdataResponse.js +2 -0
  147. package/dist-ui5/resources/computec/appengine/uibase/models/IOdataResponse.js.map +1 -0
  148. package/dist-ui5/resources/computec/appengine/uibase/models/OdataError-dbg.js +122 -0
  149. package/dist-ui5/resources/computec/appengine/uibase/models/OdataError.js +2 -0
  150. package/dist-ui5/resources/computec/appengine/uibase/models/OdataError.js.map +1 -0
  151. package/dist-ui5/resources/computec/appengine/uibase/models/ProblemDetails-dbg.js +71 -0
  152. package/dist-ui5/resources/computec/appengine/uibase/models/ProblemDetails.js +2 -0
  153. package/dist-ui5/resources/computec/appengine/uibase/models/ProblemDetails.js.map +1 -0
  154. package/dist-ui5/resources/computec/appengine/uibase/models/Session-dbg.js +20 -4
  155. package/dist-ui5/resources/computec/appengine/uibase/models/Session.js +1 -1
  156. package/dist-ui5/resources/computec/appengine/uibase/models/Session.js.map +1 -1
  157. package/dist-ui5/resources/computec/appengine/uibase/models/ValidationProblemDetails-dbg.js +83 -0
  158. package/dist-ui5/resources/computec/appengine/uibase/models/ValidationProblemDetails.js +2 -0
  159. package/dist-ui5/resources/computec/appengine/uibase/models/ValidationProblemDetails.js.map +1 -0
  160. package/dist-ui5/resources/computec/appengine/uibase/models/Version-dbg.js +253 -0
  161. package/dist-ui5/resources/computec/appengine/uibase/models/Version.js +2 -0
  162. package/dist-ui5/resources/computec/appengine/uibase/models/Version.js.map +1 -0
  163. package/dist-ui5/resources/computec/appengine/uibase/models/enums/HeadersContentTypeEnum-dbg.js +7 -0
  164. package/dist-ui5/resources/computec/appengine/uibase/models/enums/HeadersContentTypeEnum.js +1 -1
  165. package/dist-ui5/resources/computec/appengine/uibase/models/enums/HeadersContentTypeEnum.js.map +1 -1
  166. package/dist-ui5/resources/computec/appengine/uibase/models/interfaces/IDocumentedException-dbg.js +7 -0
  167. package/dist-ui5/resources/computec/appengine/uibase/models/interfaces/IDocumentedException.js +2 -0
  168. package/dist-ui5/resources/computec/appengine/uibase/models/interfaces/IDocumentedException.js.map +1 -0
  169. package/dist-ui5/resources/computec/appengine/uibase/models/interfaces/IHttpResponse-dbg.js +1 -0
  170. package/dist-ui5/resources/computec/appengine/uibase/models/interfaces/IHttpResponse.js +2 -0
  171. package/dist-ui5/resources/computec/appengine/uibase/models/interfaces/IHttpResponse.js.map +1 -0
  172. package/dist-ui5/resources/computec/appengine/uibase/models/interfaces/IOdataError-dbg.js +1 -0
  173. package/dist-ui5/resources/computec/appengine/uibase/models/interfaces/IOdataError.js +2 -0
  174. package/dist-ui5/resources/computec/appengine/uibase/models/interfaces/IOdataError.js.map +1 -0
  175. package/dist-ui5/resources/computec/appengine/uibase/models/interfaces/IProblemDetails-dbg.js +1 -0
  176. package/dist-ui5/resources/computec/appengine/uibase/models/interfaces/IProblemDetails.js +2 -0
  177. package/dist-ui5/resources/computec/appengine/uibase/models/interfaces/IProblemDetails.js.map +1 -0
  178. package/dist-ui5/resources/computec/appengine/uibase/models/interfaces/IValidationProblemDetails-dbg.js +1 -0
  179. package/dist-ui5/resources/computec/appengine/uibase/models/interfaces/IValidationProblemDetails.js +2 -0
  180. package/dist-ui5/resources/computec/appengine/uibase/models/interfaces/IValidationProblemDetails.js.map +1 -0
  181. package/package.json +11 -6
@@ -1 +1 @@
1
- {"version":3,"file":"UserInfo.d.ts","sourceRoot":"","sources":["../../src/models/UserInfo.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AAGtD,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,kBAAkB;IACvD,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CACjB"}
1
+ {"version":3,"file":"UserInfo.d.ts","sourceRoot":"","sources":["../../src/models/UserInfo.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AAGtD,MAAM,CAAC,OAAO,OAAO,QAAS,SAAQ,kBAAkB;IACvD,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,iBAAiB,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,kBAAkB,EAAE,MAAM,CAAC;IAC3B,gBAAgB,EAAE,MAAM,CAAC;IACzB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,wBAAwB,EAAE,MAAM,CAAC;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,CAAC;IACvB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,cAAc,EAAE,GAAG,EAAE,CAAC;IACtB,eAAe,EAAE,GAAG,EAAE,CAAC;IACvB,oBAAoB,EAAE,GAAG,EAAE,CAAC;CAC5B"}
@@ -0,0 +1,19 @@
1
+ import { IValidationProblemDetails } from "./interfaces/IValidationProblemDetails";
2
+ import ProblemDetails from "./ProblemDetails";
3
+ /**
4
+ * Specialized implementation for validation-specific problem details.
5
+ * Extends ProblemDetails to handle field-level validation errors
6
+ * with structured error mapping and optional request tracing.
7
+ *
8
+ * @extends ProblemDetails
9
+ * @implements IValidationProblemDetails
10
+ */
11
+ export default class ValidationProblemDetails extends ProblemDetails implements IValidationProblemDetails {
12
+ errors: Record<string, string[]>;
13
+ traceId: string;
14
+ get name(): string;
15
+ get message(): string;
16
+ get error(): Error;
17
+ static is(obj: any): obj is IValidationProblemDetails;
18
+ }
19
+ //# sourceMappingURL=ValidationProblemDetails.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ValidationProblemDetails.d.ts","sourceRoot":"","sources":["../../src/models/ValidationProblemDetails.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,MAAM,wCAAwC,CAAC;AACnF,OAAO,cAAc,MAAM,kBAAkB,CAAC;AAE9C;;;;;;;GAOG;AACH,MAAM,CAAC,OAAO,OAAO,wBACpB,SAAQ,cACR,YAAW,yBAAyB;IAEpC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAM;IACtC,OAAO,EAAE,MAAM,CAAQ;IAEvB,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,IAAI,OAAO,IAAI,MAAM,CAMpB;IAED,IAAI,KAAK,IAAI,KAAK,CAEjB;IAED,MAAM,CAAC,EAAE,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,yBAAyB;CAQrD"}
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const ProblemDetails_1 = __importDefault(require("./ProblemDetails"));
7
+ /**
8
+ * Specialized implementation for validation-specific problem details.
9
+ * Extends ProblemDetails to handle field-level validation errors
10
+ * with structured error mapping and optional request tracing.
11
+ *
12
+ * @extends ProblemDetails
13
+ * @implements IValidationProblemDetails
14
+ */
15
+ class ValidationProblemDetails extends ProblemDetails_1.default {
16
+ constructor() {
17
+ super(...arguments);
18
+ this.errors = {};
19
+ this.traceId = null;
20
+ }
21
+ get name() {
22
+ return "Validation Problem Details";
23
+ }
24
+ get message() {
25
+ let errorMessage = "";
26
+ Object.entries(this.errors).forEach(([field, messages]) => {
27
+ errorMessage += `${field}: ${messages.join(", ")}\n`;
28
+ });
29
+ return errorMessage.trim();
30
+ }
31
+ get error() {
32
+ return this;
33
+ }
34
+ static is(obj) {
35
+ if (!ProblemDetails_1.default.is(obj))
36
+ return false;
37
+ const candidate = obj;
38
+ return ("errors" in candidate && typeof candidate.errors === "object" && candidate.errors !== null);
39
+ }
40
+ }
41
+ exports.default = ValidationProblemDetails;
@@ -0,0 +1,35 @@
1
+ import BaseBusinessObject from "./BaseBusinessObject";
2
+ export default class Version extends BaseBusinessObject {
3
+ static readonly VERSION_PATTERN: RegExp;
4
+ private readonly _major;
5
+ private readonly _minor;
6
+ private readonly _build;
7
+ private readonly _revision;
8
+ private readonly _prerelease;
9
+ constructor();
10
+ constructor(version: Version);
11
+ constructor(version: string);
12
+ constructor(version: number);
13
+ constructor(major: number, minor: number, build?: number, revision?: number, prerelease?: string);
14
+ static tryParse(version: string): {
15
+ success: boolean;
16
+ version?: Version;
17
+ };
18
+ private static tryParseComponent;
19
+ static isVersion(obj: any): obj is Partial<Version>;
20
+ get major(): number;
21
+ get minor(): number;
22
+ get build(): number;
23
+ get revision(): number;
24
+ get prerelease(): string;
25
+ static ZERO(): Version;
26
+ isZero(): boolean;
27
+ toString(): string;
28
+ private compare;
29
+ equals(other: Version): boolean;
30
+ lessThan(other: Version): boolean;
31
+ greaterThan(other: Version): boolean;
32
+ lessThanOrEqual(other: Version): boolean;
33
+ greaterThanOrEqual(other: Version): boolean;
34
+ }
35
+ //# sourceMappingURL=Version.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Version.d.ts","sourceRoot":"","sources":["../../src/models/Version.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,MAAM,sBAAsB,CAAC;AAEtD,MAAM,CAAC,OAAO,OAAO,OAAQ,SAAQ,kBAAkB;IACtD,gBAAuB,eAAe,SAAgC;IACtE,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAa;IACpC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAa;IACvC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAc;;gBAG9B,OAAO,EAAE,OAAO;gBAChB,OAAO,EAAE,MAAM;gBACf,OAAO,EAAE,MAAM;gBAE1B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,KAAK,CAAC,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,EACjB,UAAU,CAAC,EAAE,MAAM;WA2CN,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG;QACxC,OAAO,EAAE,OAAO,CAAC;QACjB,OAAO,CAAC,EAAE,OAAO,CAAC;KAClB;IA4DD,OAAO,CAAC,MAAM,CAAC,iBAAiB;WAalB,SAAS,CAAC,GAAG,EAAE,GAAG,GAAG,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC;IAS1D,IAAW,KAAK,IAAI,MAAM,CAEzB;IACD,IAAW,KAAK,IAAI,MAAM,CAEzB;IACD,IAAW,KAAK,IAAI,MAAM,CAEzB;IACD,IAAW,QAAQ,IAAI,MAAM,CAE5B;IACD,IAAW,UAAU,IAAI,MAAM,CAE9B;WAEa,IAAI;IAIX,MAAM,IAAI,OAAO;IAIxB,QAAQ,IAAI,MAAM;IAYlB,OAAO,CAAC,OAAO;IA8BR,MAAM,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAI/B,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAIjC,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAIpC,eAAe,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAIxC,kBAAkB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;CAGlD"}
@@ -0,0 +1,185 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ const BaseBusinessObject_1 = __importDefault(require("./BaseBusinessObject"));
7
+ class Version extends BaseBusinessObject_1.default {
8
+ constructor(major, minor, build, revision, prerelease) {
9
+ super();
10
+ this._major = 0; // Major version number
11
+ this._minor = 0; // Minor version number
12
+ this._build = 0; // Build number
13
+ this._revision = 0; // Revision number
14
+ this._prerelease = ""; // Prerelease/metadata suffix
15
+ if (arguments.length === 0)
16
+ return this;
17
+ if (Version.isVersion(major)) {
18
+ this._major = major._major;
19
+ this._minor = major._minor;
20
+ this._build = major._build;
21
+ this._revision = major._revision;
22
+ this._prerelease = major._prerelease || "";
23
+ }
24
+ else if (typeof major === "string") {
25
+ const parsed = Version.tryParse(major);
26
+ if (!parsed.success) {
27
+ throw new Error("Invalid version format. Expected format: 'major.minor[.build][.revision][-prerelease]'");
28
+ }
29
+ this._major = parsed.version._major;
30
+ this._minor = parsed.version._minor;
31
+ this._build = parsed.version._build;
32
+ this._revision = parsed.version._revision;
33
+ this._prerelease = parsed.version._prerelease;
34
+ }
35
+ else if (typeof major === "number" && arguments.length === 1) {
36
+ const padded = major.toString().padStart(7, "0");
37
+ this._major = parseInt(padded.slice(0, 2), 10);
38
+ this._minor = parseInt(padded.slice(2, 4), 10);
39
+ this._build = parseInt(padded.slice(4, 7), 10);
40
+ }
41
+ else {
42
+ this._major = major || 0;
43
+ this._minor = minor || 0;
44
+ this._build = build || 0;
45
+ this._revision = revision || 0;
46
+ this._prerelease = prerelease || "";
47
+ }
48
+ }
49
+ static tryParse(version) {
50
+ if (!version) {
51
+ return { success: false };
52
+ }
53
+ let prerelease = "";
54
+ let prereleasePosition = version.indexOf("-");
55
+ if (prereleasePosition === -1) {
56
+ prereleasePosition = version.indexOf("+");
57
+ }
58
+ const isPrerelease = prereleasePosition > 1;
59
+ if (isPrerelease) {
60
+ prerelease = version.substring(prereleasePosition + 1);
61
+ version = version.substring(0, prereleasePosition);
62
+ }
63
+ const parts = version.split(".");
64
+ const length = parts.length;
65
+ if (length < 2 || length > 4) {
66
+ return { success: false };
67
+ }
68
+ const parsedComponents = [];
69
+ // Parse and validate each component
70
+ for (let i = 0; i < length; i++) {
71
+ const component = this.tryParseComponent(parts[i]);
72
+ if (!component.success) {
73
+ return { success: false };
74
+ }
75
+ parsedComponents.push(component.value);
76
+ }
77
+ // Create version based on number of components
78
+ let parsedVersion;
79
+ if (length === 2) {
80
+ parsedVersion = new Version(parsedComponents[0], parsedComponents[1], 0, 0, prerelease);
81
+ }
82
+ else if (length === 3) {
83
+ parsedVersion = new Version(parsedComponents[0], parsedComponents[1], parsedComponents[2], 0, prerelease);
84
+ }
85
+ else {
86
+ parsedVersion = new Version(parsedComponents[0], parsedComponents[1], parsedComponents[2], parsedComponents[3], prerelease);
87
+ }
88
+ return { success: true, version: parsedVersion };
89
+ }
90
+ static tryParseComponent(component) {
91
+ const parsed = parseInt(component, 10);
92
+ if (isNaN(parsed) || parsed < 0) {
93
+ return { success: false };
94
+ }
95
+ return { success: true, value: parsed };
96
+ }
97
+ static isVersion(obj) {
98
+ var _a, _b, _c;
99
+ if (obj instanceof Version)
100
+ return true;
101
+ if (!obj || typeof obj !== "object")
102
+ return false;
103
+ if (((_a = obj._major) !== null && _a !== void 0 ? _a : null) === null)
104
+ return false;
105
+ if (((_b = obj._minor) !== null && _b !== void 0 ? _b : null) === null)
106
+ return false;
107
+ if (((_c = obj._build) !== null && _c !== void 0 ? _c : null) === null)
108
+ return false;
109
+ return true;
110
+ }
111
+ get major() {
112
+ return this._major;
113
+ }
114
+ get minor() {
115
+ return this._minor;
116
+ }
117
+ get build() {
118
+ return this._build;
119
+ }
120
+ get revision() {
121
+ return this._revision;
122
+ }
123
+ get prerelease() {
124
+ return this._prerelease;
125
+ }
126
+ static ZERO() {
127
+ return new Version(0, 0, 0);
128
+ }
129
+ isZero() {
130
+ return this._major === 0 && this._minor === 0 && this._build === 0;
131
+ }
132
+ toString() {
133
+ let version = `${this._major.toString()}.${this._minor.toString()}.${this._build.toString()}`;
134
+ if (this._revision > 0) {
135
+ version += `.${this._revision.toString()}`;
136
+ }
137
+ if (this._prerelease) {
138
+ version += `-${this._prerelease}`;
139
+ }
140
+ return version;
141
+ }
142
+ //#region Comparison Methods
143
+ compare(other) {
144
+ if (this._major !== other._major) {
145
+ return this._major - other._major;
146
+ }
147
+ if (this._minor !== other._minor) {
148
+ return this._minor - other._minor;
149
+ }
150
+ if (this._build !== other._build) {
151
+ return this._build - other._build;
152
+ }
153
+ if (this._revision !== other._revision) {
154
+ return this._revision - other._revision;
155
+ }
156
+ // Handle prerelease comparison
157
+ // Normal versions (no prerelease) are greater than prerelease versions
158
+ if (!this._prerelease && other._prerelease)
159
+ return 1;
160
+ if (this._prerelease && !other._prerelease)
161
+ return -1;
162
+ // Both have prerelease, compare lexicographically
163
+ if (this._prerelease && other._prerelease) {
164
+ return this._prerelease.localeCompare(other._prerelease);
165
+ }
166
+ return 0;
167
+ }
168
+ equals(other) {
169
+ return this.compare(other) === 0;
170
+ }
171
+ lessThan(other) {
172
+ return this.compare(other) < 0;
173
+ }
174
+ greaterThan(other) {
175
+ return this.compare(other) > 0;
176
+ }
177
+ lessThanOrEqual(other) {
178
+ return this.compare(other) <= 0;
179
+ }
180
+ greaterThanOrEqual(other) {
181
+ return this.compare(other) >= 0;
182
+ }
183
+ }
184
+ Version.VERSION_PATTERN = /^\d+(\.\d+){1,3}([-+].+)?$/; // Pattern for version strings with optional prerelease/metadata
185
+ exports.default = Version;
@@ -2,6 +2,13 @@ declare enum HeadersContentTypeEnum {
2
2
  Json = "application/json",
3
3
  Text = "text/plain",
4
4
  OctetStream = "application/octet-stream",
5
+ Pdf = "application/pdf",
6
+ Csv = "text/csv",
7
+ Excel = "application/vnd.ms-excel",
8
+ ExcelOpenXml = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",
9
+ Word = "application/vnd.openxmlformats-officedocument.wordprocessingml.document",
10
+ Zip = "application/zip",
11
+ Xml = "application/xml",
5
12
  Null = "null"
6
13
  }
7
14
  export default HeadersContentTypeEnum;
@@ -1 +1 @@
1
- {"version":3,"file":"HeadersContentTypeEnum.d.ts","sourceRoot":"","sources":["../../../src/models/enums/HeadersContentTypeEnum.ts"],"names":[],"mappings":"AAAA,aAAK,sBAAsB;IACzB,IAAI,qBAAqB;IACzB,IAAI,eAAe;IACnB,WAAW,6BAA6B;IACxC,IAAI,SAAS;CACd;AAED,eAAe,sBAAsB,CAAC"}
1
+ {"version":3,"file":"HeadersContentTypeEnum.d.ts","sourceRoot":"","sources":["../../../src/models/enums/HeadersContentTypeEnum.ts"],"names":[],"mappings":"AAAA,aAAK,sBAAsB;IACzB,IAAI,qBAAqB;IACzB,IAAI,eAAe;IACnB,WAAW,6BAA6B;IACxC,GAAG,oBAAoB;IACvB,GAAG,aAAa;IAChB,KAAK,6BAA6B;IAClC,YAAY,sEAAsE;IAClF,IAAI,4EAA4E;IAChF,GAAG,oBAAoB;IACvB,GAAG,oBAAoB;IACvB,IAAI,SAAS;CACd;AAED,eAAe,sBAAsB,CAAC"}
@@ -5,6 +5,13 @@ var HeadersContentTypeEnum;
5
5
  HeadersContentTypeEnum["Json"] = "application/json";
6
6
  HeadersContentTypeEnum["Text"] = "text/plain";
7
7
  HeadersContentTypeEnum["OctetStream"] = "application/octet-stream";
8
+ HeadersContentTypeEnum["Pdf"] = "application/pdf";
9
+ HeadersContentTypeEnum["Csv"] = "text/csv";
10
+ HeadersContentTypeEnum["Excel"] = "application/vnd.ms-excel";
11
+ HeadersContentTypeEnum["ExcelOpenXml"] = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
12
+ HeadersContentTypeEnum["Word"] = "application/vnd.openxmlformats-officedocument.wordprocessingml.document";
13
+ HeadersContentTypeEnum["Zip"] = "application/zip";
14
+ HeadersContentTypeEnum["Xml"] = "application/xml";
8
15
  HeadersContentTypeEnum["Null"] = "null";
9
16
  })(HeadersContentTypeEnum || (HeadersContentTypeEnum = {}));
10
17
  exports.default = HeadersContentTypeEnum;
@@ -1,7 +1,57 @@
1
+ /**
2
+ * Interface for AppEngine-specific exceptions that provide structured error information.
3
+ * This interface defines the contract for exceptions thrown by the AppEngine system,
4
+ * following the RFC 7807 Problem Details specification with Title and Detail properties.
5
+ *
6
+ * AppEngineExceptions are typically used for business logic errors, validation failures,
7
+ * and other application-specific error conditions that need to be communicated to the UI
8
+ * with clear, user-friendly information.
9
+ *
10
+ * This interface is designed to work with C# backend services that implement
11
+ * the ProblemDetails standard for consistent error reporting across the application.
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * const exception: IAppEngineException = {
16
+ * Title: "Validation Error",
17
+ * Detail: "The provided email address is not in a valid format"
18
+ * };
19
+ * ```
20
+ *
21
+ * @example
22
+ * ```typescript
23
+ * // Business logic error
24
+ * const businessError: IAppEngineException = {
25
+ * Title: "Operation Not Allowed",
26
+ * Detail: "Cannot delete a customer that has active orders"
27
+ * };
28
+ * ```
29
+ */
1
30
  export default interface IAppEngineException {
2
- Title?: string;
3
- Detail?: string;
4
- title?: string;
5
- detail?: string;
31
+ /**
32
+ * A short, human-readable summary of the problem.
33
+ * This should be a brief title that describes the general nature of the error
34
+ * without including instance-specific details.
35
+ *
36
+ * The title should be suitable for display in error dialogs, notifications,
37
+ * or as a heading for more detailed error information.
38
+ *
39
+ * @example "Validation Error", "Authorization Failed", "Resource Not Found"
40
+ * @example "Operation Not Allowed", "Configuration Error", "Service Unavailable"
41
+ */
42
+ Title: string;
43
+ /**
44
+ * A human-readable explanation specific to this occurrence of the problem.
45
+ * This should provide detailed information about what went wrong and,
46
+ * when possible, guidance on how to resolve the issue.
47
+ *
48
+ * The detail should be informative enough for users or developers to understand
49
+ * the specific error condition and take appropriate action.
50
+ *
51
+ * @example "The email field must contain a valid email address format"
52
+ * @example "You do not have permission to access this resource. Please contact your administrator."
53
+ * @example "The customer cannot be deleted because they have 3 active orders. Please cancel or complete the orders first."
54
+ */
55
+ Detail: string;
6
56
  }
7
57
  //# sourceMappingURL=IAppEngineException.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IAppEngineException.d.ts","sourceRoot":"","sources":["../../../src/models/interfaces/IAppEngineException.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,OAAO,WAAW,mBAAmB;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
1
+ {"version":3,"file":"IAppEngineException.d.ts","sourceRoot":"","sources":["../../../src/models/interfaces/IAppEngineException.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,MAAM,CAAC,OAAO,WAAW,mBAAmB;IAC3C;;;;;;;;;;OAUG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;;;;;;;;;OAWG;IACH,MAAM,EAAE,MAAM,CAAC;CACf"}
@@ -0,0 +1,60 @@
1
+ /**
2
+ * Interface for AppEngine-specific exceptions that provide structured error information.
3
+ * This interface defines the contract for exceptions thrown by the AppEngine system,
4
+ * following the RFC 7807 Problem Details specification with Title and Detail properties.
5
+ *
6
+ * AppEngineExceptions are typically used for business logic errors, validation failures,
7
+ * and other application-specific error conditions that need to be communicated to the UI
8
+ * with clear, user-friendly information.
9
+ *
10
+ * This interface is designed to work with C# backend services that implement
11
+ * the ProblemDetails standard for consistent error reporting across the application.
12
+ *
13
+ * @example
14
+ * ```typescript
15
+ * const exception: IAppEngineException = {
16
+ * title: "Validation Error",
17
+ * detail: "The provided email address is not in a valid format",
18
+ * documentationUrl: "https://learn.computec.one"
19
+ * };
20
+ * ```
21
+ *
22
+ * @example
23
+ * ```typescript
24
+ * // Business logic error
25
+ * const businessError: IAppEngineException = {
26
+ * title: "Operation Not Allowed",
27
+ * detail: "Cannot delete a customer that has active orders",
28
+ * documentationUrl: "https://learn.computec.one"
29
+ * };
30
+ * ```
31
+ */
32
+ export default interface IDocumentedException {
33
+ /**
34
+ * A short, human-readable summary of the problem.
35
+ * This should be a brief title that describes the general nature of the error
36
+ * without including instance-specific details.
37
+ *
38
+ * The title should be suitable for display in error dialogs, notifications,
39
+ * or as a heading for more detailed error information.
40
+ *
41
+ * @example "Validation Error", "Authorization Failed", "Resource Not Found"
42
+ * @example "Operation Not Allowed", "Configuration Error", "Service Unavailable"
43
+ */
44
+ title: string;
45
+ /**
46
+ * A human-readable explanation specific to this occurrence of the problem.
47
+ * This should provide detailed information about what went wrong and,
48
+ * when possible, guidance on how to resolve the issue.
49
+ *
50
+ * The detail should be informative enough for users or developers to understand
51
+ * the specific error condition and take appropriate action.
52
+ *
53
+ * @example "The email field must contain a valid email address format"
54
+ * @example "You do not have permission to access this resource. Please contact your administrator."
55
+ * @example "The customer cannot be deleted because they have 3 active orders. Please cancel or complete the orders first."
56
+ */
57
+ detail: string;
58
+ documentationUrl: string;
59
+ }
60
+ //# sourceMappingURL=IDocumentedException.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IDocumentedException.d.ts","sourceRoot":"","sources":["../../../src/models/interfaces/IDocumentedException.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,MAAM,CAAC,OAAO,WAAW,oBAAoB;IAC5C;;;;;;;;;;OAUG;IACH,KAAK,EAAE,MAAM,CAAC;IAEd;;;;;;;;;;;OAWG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf,gBAAgB,EAAE,MAAM,CAAC;CACzB"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,5 @@
1
+ export interface IHttpResponse<T> {
2
+ data: T;
3
+ response: Response;
4
+ }
5
+ //# sourceMappingURL=IHttpResponse.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IHttpResponse.d.ts","sourceRoot":"","sources":["../../../src/models/interfaces/IHttpResponse.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa,CAAC,CAAC;IAC/B,IAAI,EAAE,CAAC,CAAC;IACR,QAAQ,EAAE,QAAQ,CAAC;CACnB"}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,182 @@
1
+ /**
2
+ * Represents a detailed error entry within an OData error response.
3
+ * Each detail provides specific information about individual validation errors
4
+ * or issues that occurred during the operation.
5
+ *
6
+ * This follows the OData v4 specification for error detail structures,
7
+ * commonly used in C# Web API and Entity Framework OData implementations.
8
+ *
9
+ * @example
10
+ * ```typescript
11
+ * const detail: IODataErrorDetail = {
12
+ * code: "FIELD_REQUIRED",
13
+ * message: "The Name field is required",
14
+ * target: "Name"
15
+ * };
16
+ * ```
17
+ */
18
+ export interface IODataErrorDetail {
19
+ /**
20
+ * The error code specific to this detail.
21
+ * Typically represents a validation rule or specific error type.
22
+ *
23
+ * @example "FIELD_REQUIRED", "INVALID_FORMAT", "VALUE_OUT_OF_RANGE"
24
+ */
25
+ code?: string;
26
+ /**
27
+ * Human-readable description of the specific error.
28
+ * Should provide clear information about what went wrong.
29
+ *
30
+ * @example "The Name field is required", "Invalid email format"
31
+ */
32
+ message?: string;
33
+ /**
34
+ * The target field, property, or parameter that caused this error.
35
+ * Helps identify which specific input or data element has the issue.
36
+ *
37
+ * @example "Name", "Email", "User.Address.PostalCode"
38
+ */
39
+ target?: string;
40
+ }
41
+ /**
42
+ * Represents the inner error structure containing technical debugging information.
43
+ * This is typically populated by C# backend services and contains detailed
44
+ * technical information useful for developers and system administrators.
45
+ *
46
+ * Inner errors can be nested to represent a chain of exceptions that led
47
+ * to the final error condition.
48
+ *
49
+ * @example
50
+ * ```typescript
51
+ * const innerError: IODataInnerError = {
52
+ * message: "Object reference not set to an instance of an object",
53
+ * type: "System.NullReferenceException",
54
+ * stacktrace: "at MyService.ProcessData()...",
55
+ * innererror: {
56
+ * message: "Connection timeout",
57
+ * type: "System.TimeoutException"
58
+ * }
59
+ * };
60
+ * ```
61
+ */
62
+ export interface IODataInnerError {
63
+ /**
64
+ * The technical error message from the underlying exception.
65
+ * Usually contains the actual exception message from the C# backend.
66
+ *
67
+ * @example "Object reference not set to an instance of an object"
68
+ */
69
+ message?: string;
70
+ /**
71
+ * The .NET type name of the exception that occurred.
72
+ * Useful for developers to understand the specific exception type.
73
+ *
74
+ * @example "System.NullReferenceException", "System.ArgumentException"
75
+ */
76
+ type?: string;
77
+ /**
78
+ * The full stack trace from the C# exception.
79
+ * Contains detailed information about where the error occurred in the code.
80
+ *
81
+ * @example "at MyNamespace.MyClass.MyMethod() in C:\\Source\\MyFile.cs:line 42"
82
+ */
83
+ stacktrace?: string;
84
+ /**
85
+ * Nested inner error for chained exceptions.
86
+ * Allows representation of exception chains where one exception caused another.
87
+ *
88
+ * @example When a database timeout causes a business logic exception
89
+ */
90
+ innererror?: IODataInnerError;
91
+ }
92
+ /**
93
+ * Represents the core error object structure within an OData error response.
94
+ * This contains the primary error information including code, message, details,
95
+ * and optional inner error data.
96
+ *
97
+ * This interface is designed to match the OData v4 error format specification
98
+ * and is typically implemented by C# Web API services using Entity Framework
99
+ * or ASP.NET Core OData middleware.
100
+ *
101
+ * @example
102
+ * ```typescript
103
+ * const errorObject: IOdataErrorObject = {
104
+ * code: "VALIDATION_FAILED",
105
+ * message: "One or more validation errors occurred",
106
+ * details: [
107
+ * { code: "REQUIRED", message: "Name is required", target: "Name" }
108
+ * ],
109
+ * innererror: {
110
+ * type: "ValidationException",
111
+ * message: "Validation failed for entity"
112
+ * }
113
+ * };
114
+ * ```
115
+ */
116
+ export interface IOdataErrorObject {
117
+ /**
118
+ * The primary error code identifying the type of error.
119
+ * Represents the main category or type of error that occurred.
120
+ *
121
+ * @example "VALIDATION_FAILED", "UNAUTHORIZED", "NOT_FOUND", "INTERNAL_ERROR"
122
+ */
123
+ code: string;
124
+ /**
125
+ * The primary human-readable error message.
126
+ * Should provide a clear, user-friendly description of what went wrong.
127
+ *
128
+ * @example "One or more validation errors occurred", "Access denied"
129
+ */
130
+ message: string;
131
+ /**
132
+ * Array of detailed error information.
133
+ * Contains specific details about individual errors, particularly useful
134
+ * for validation errors where multiple fields may have issues.
135
+ */
136
+ details: IODataErrorDetail[];
137
+ /**
138
+ * Optional inner error containing technical debugging information.
139
+ * Typically includes exception details, stack traces, and other
140
+ * technical information from the C# backend service.
141
+ */
142
+ innererror?: IODataInnerError;
143
+ }
144
+ /**
145
+ * Represents the complete OData error response structure.
146
+ * This is the top-level interface that wraps the error object and matches
147
+ * the standard OData v4 error response format.
148
+ *
149
+ * This structure is typically returned by C# Web API services when errors occur,
150
+ * following the OData specification for error responses.
151
+ *
152
+ * @example
153
+ * ```typescript
154
+ * // Typical OData error response from C# Web API
155
+ * const odataErrorResponse: IODataError = {
156
+ * error: {
157
+ * code: "VALIDATION_FAILED",
158
+ * message: "Validation failed",
159
+ * details: [
160
+ * {
161
+ * code: "REQUIRED_FIELD",
162
+ * message: "The Name field is required",
163
+ * target: "Name"
164
+ * }
165
+ * ],
166
+ * innererror: {
167
+ * type: "System.ComponentModel.DataAnnotations.ValidationException",
168
+ * message: "Validation failed for one or more entities"
169
+ * }
170
+ * }
171
+ * };
172
+ * ```
173
+ */
174
+ export interface IODataError {
175
+ /**
176
+ * The error object containing all error information.
177
+ * This follows the OData v4 specification requirement that errors
178
+ * be wrapped in an "error" property at the root level.
179
+ */
180
+ error: IOdataErrorObject;
181
+ }
182
+ //# sourceMappingURL=IOdataError.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IOdataError.d.ts","sourceRoot":"","sources":["../../../src/models/interfaces/IOdataError.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AACH,MAAM,WAAW,iBAAiB;IACjC;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,WAAW,gBAAgB;IAChC;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB;;;;;OAKG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd;;;;;OAKG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB;;;;;OAKG;IACH,UAAU,CAAC,EAAE,gBAAgB,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,WAAW,iBAAiB;IACjC;;;;;OAKG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;;;OAKG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;;;OAIG;IACH,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAE7B;;;;OAIG;IACH,UAAU,CAAC,EAAE,gBAAgB,CAAC;CAC9B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAM,WAAW,WAAW;IAC3B;;;;OAIG;IACH,KAAK,EAAE,iBAAiB,CAAC;CACzB"}