@cas-smartdesign/data-access 5.1.3

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 (257) hide show
  1. package/LICENSE +8 -0
  2. package/dist/dataaccess.cjs +1 -0
  3. package/dist/dataaccess.cjs.map +1 -0
  4. package/dist/dataaccess.d.mts +2272 -0
  5. package/dist/dataaccess.d.ts +2272 -0
  6. package/dist/dataaccess.js +2 -0
  7. package/dist/dataaccess.js.map +1 -0
  8. package/dist/dataaccess.mjs +2 -0
  9. package/dist/dataaccess.mjs.map +1 -0
  10. package/dist/docs/.nojekyll +1 -0
  11. package/dist/docs/assets/highlight.css +22 -0
  12. package/dist/docs/assets/main.js +59 -0
  13. package/dist/docs/assets/navigation.js +1 -0
  14. package/dist/docs/assets/search.js +1 -0
  15. package/dist/docs/assets/style.css +1414 -0
  16. package/dist/docs/classes/FetchError.html +5 -0
  17. package/dist/docs/classes/PrimaryLinkedParent.html +6 -0
  18. package/dist/docs/classes/RestypedFetch.html +15 -0
  19. package/dist/docs/classes/TeamFilter.html +5 -0
  20. package/dist/docs/classes/_internal_.CreateObjectRequestBuilder.html +21 -0
  21. package/dist/docs/classes/_internal_.DataObjectNormalizer.html +4 -0
  22. package/dist/docs/classes/_internal_.DeleteAddressImageRequestBuilder.html +17 -0
  23. package/dist/docs/classes/_internal_.DeleteLinkRequestBuilder.html +17 -0
  24. package/dist/docs/classes/_internal_.DeleteObjectRequestBuilder.html +17 -0
  25. package/dist/docs/classes/_internal_.ExtendAppSettingsRequestBuilder.html +20 -0
  26. package/dist/docs/classes/_internal_.GetAddressImageAsBlobRequestBuilder.html +19 -0
  27. package/dist/docs/classes/_internal_.GetAddressImageRequestBuilder.html +19 -0
  28. package/dist/docs/classes/_internal_.GetAddressListRequestBuilder.html +33 -0
  29. package/dist/docs/classes/_internal_.GetAppSettingsRequestBuilder.html +19 -0
  30. package/dist/docs/classes/_internal_.GetDocumentRequestBuilder.html +19 -0
  31. package/dist/docs/classes/_internal_.GetDossierCountRequestBuilder.html +17 -0
  32. package/dist/docs/classes/_internal_.GetDossierEntryRequestBuilder.html +17 -0
  33. package/dist/docs/classes/_internal_.GetDossierRequestBuilder.html +20 -0
  34. package/dist/docs/classes/_internal_.GetEmailStoreRequestBuilder.html +18 -0
  35. package/dist/docs/classes/_internal_.GetFullGroupListRequestBuilder.html +24 -0
  36. package/dist/docs/classes/_internal_.GetFullObjectListRequestBuilder.html +31 -0
  37. package/dist/docs/classes/_internal_.GetFullResourceListRequestBuilder.html +24 -0
  38. package/dist/docs/classes/_internal_.GetFullUserListRequestBuilder.html +24 -0
  39. package/dist/docs/classes/_internal_.GetGroupCountRequestBuilder.html +19 -0
  40. package/dist/docs/classes/_internal_.GetGroupListRequestBuilder.html +24 -0
  41. package/dist/docs/classes/_internal_.GetGroupRequestBuilder.html +19 -0
  42. package/dist/docs/classes/_internal_.GetItemCountForViewRequestBuilder.html +22 -0
  43. package/dist/docs/classes/_internal_.GetItemsForViewRequestBuilder.html +29 -0
  44. package/dist/docs/classes/_internal_.GetLoggedInUserInfoRequestBuilder.html +20 -0
  45. package/dist/docs/classes/_internal_.GetLoginInformationRequestBuilder.html +17 -0
  46. package/dist/docs/classes/_internal_.GetObjectDescriptionRequestBuilder.html +17 -0
  47. package/dist/docs/classes/_internal_.GetObjectListCountRequestBuilder.html +25 -0
  48. package/dist/docs/classes/_internal_.GetObjectListRequestBuilder.html +31 -0
  49. package/dist/docs/classes/_internal_.GetObjectRequestBuilder.html +24 -0
  50. package/dist/docs/classes/_internal_.GetObjectSchemaRequestBuilder.html +18 -0
  51. package/dist/docs/classes/_internal_.GetPartialAddressListRequestBuilder.html +33 -0
  52. package/dist/docs/classes/_internal_.GetPartialGroupListRequestBuilder.html +24 -0
  53. package/dist/docs/classes/_internal_.GetPartialItemsForViewRequestBuilder.html +29 -0
  54. package/dist/docs/classes/_internal_.GetPartialObjectListRequestBuilder.html +31 -0
  55. package/dist/docs/classes/_internal_.GetPartialResourceListRequestBuilder.html +24 -0
  56. package/dist/docs/classes/_internal_.GetPartialUserListRequestBuilder.html +24 -0
  57. package/dist/docs/classes/_internal_.GetParticipantDetailsRequestBuilder.html +17 -0
  58. package/dist/docs/classes/_internal_.GetParticipantInfoCountRequestBuilder.html +17 -0
  59. package/dist/docs/classes/_internal_.GetParticipantInfoRequestBuilder.html +17 -0
  60. package/dist/docs/classes/_internal_.GetPermissionDetailsRequestBuilder.html +17 -0
  61. package/dist/docs/classes/_internal_.GetPermissionInfoCountRequestBuilder.html +17 -0
  62. package/dist/docs/classes/_internal_.GetPermissionInfoRequestBuilder.html +17 -0
  63. package/dist/docs/classes/_internal_.GetPrimaryParentsListRequestBuilder.html +17 -0
  64. package/dist/docs/classes/_internal_.GetRecentlyUsedObjectListRequestBuilder.html +19 -0
  65. package/dist/docs/classes/_internal_.GetRecordTypeImageRequestBuilder.html +18 -0
  66. package/dist/docs/classes/_internal_.GetResourceCountRequestBuilder.html +19 -0
  67. package/dist/docs/classes/_internal_.GetResourceListRequestBuilder.html +24 -0
  68. package/dist/docs/classes/_internal_.GetResourceRequestBuilder.html +19 -0
  69. package/dist/docs/classes/_internal_.GetSchemaListRequestBuilder.html +17 -0
  70. package/dist/docs/classes/_internal_.GetSchemaRequestBuilder.html +17 -0
  71. package/dist/docs/classes/_internal_.GetUserCountRequestBuilder.html +19 -0
  72. package/dist/docs/classes/_internal_.GetUserListRequestBuilder.html +24 -0
  73. package/dist/docs/classes/_internal_.GetUserRequestBuilder.html +20 -0
  74. package/dist/docs/classes/_internal_.GetViewCountForTypeRequestBuilder.html +17 -0
  75. package/dist/docs/classes/_internal_.GetViewForTypeRequestBuilder.html +17 -0
  76. package/dist/docs/classes/_internal_.GetViewItemsRequestBuilder.html +29 -0
  77. package/dist/docs/classes/_internal_.GetViewsForTypeRequestBuilder.html +20 -0
  78. package/dist/docs/classes/_internal_.MaskAsRecentlyUsedDataObjectRequestBuilder.html +17 -0
  79. package/dist/docs/classes/_internal_.PostDocumentRequestBuilder.html +22 -0
  80. package/dist/docs/classes/_internal_.PostDossierRequestBuilder.html +24 -0
  81. package/dist/docs/classes/_internal_.PostEmailStoreRequestBuilder.html +25 -0
  82. package/dist/docs/classes/_internal_.PutAddressImageRequestBuilder.html +22 -0
  83. package/dist/docs/classes/_internal_.PutDocumentRequestBuilder.html +27 -0
  84. package/dist/docs/classes/_internal_.PutObjectRequestBuilder.html +18 -0
  85. package/dist/docs/classes/_internal_.QueryRequestBuilder.html +22 -0
  86. package/dist/docs/classes/_internal_.RequestBuilder.html +22 -0
  87. package/dist/docs/classes/_internal_.ServerVersionRequestBuilder.html +18 -0
  88. package/dist/docs/classes/_internal_.SetAppSettingsRequestBuilder.html +20 -0
  89. package/dist/docs/enums/AccessRight.html +18 -0
  90. package/dist/docs/enums/DatePrecision.html +11 -0
  91. package/dist/docs/enums/ForeignEditPermission.html +17 -0
  92. package/dist/docs/enums/HtmlFilter.html +13 -0
  93. package/dist/docs/enums/TeamFilterConstant.html +4 -0
  94. package/dist/docs/functions/create.html +7 -0
  95. package/dist/docs/hierarchy.html +1 -0
  96. package/dist/docs/index.html +10 -0
  97. package/dist/docs/interfaces/IAPIResponse.html +3 -0
  98. package/dist/docs/interfaces/IAPIVersions.html +3 -0
  99. package/dist/docs/interfaces/IAddressRelatedPermissionOwnerInfoFields.html +21 -0
  100. package/dist/docs/interfaces/IAddressService.html +29 -0
  101. package/dist/docs/interfaces/IAddressSpecificQueryParameters.html +3 -0
  102. package/dist/docs/interfaces/IAppointmentService.html +15 -0
  103. package/dist/docs/interfaces/IBooleanField.html +18 -0
  104. package/dist/docs/interfaces/ICommonField.html +18 -0
  105. package/dist/docs/interfaces/ICommonPermissionOwnerFields.html +11 -0
  106. package/dist/docs/interfaces/ICountInfo.html +2 -0
  107. package/dist/docs/interfaces/IDataObject.html +10 -0
  108. package/dist/docs/interfaces/IDataObjectCountQueryParameters.html +10 -0
  109. package/dist/docs/interfaces/IDataObjectDateChangeQueryParameters.html +3 -0
  110. package/dist/docs/interfaces/IDataObjectDateIntervalQueryParameters.html +3 -0
  111. package/dist/docs/interfaces/IDataObjectDescription.html +13 -0
  112. package/dist/docs/interfaces/IDataObjectLinkQueryParameters.html +4 -0
  113. package/dist/docs/interfaces/IDataObjectQueryParameters.html +16 -0
  114. package/dist/docs/interfaces/IDataObjectSchema.html +3 -0
  115. package/dist/docs/interfaces/IDataObjectSchemaPart.html +2 -0
  116. package/dist/docs/interfaces/IDataObjectService.html +88 -0
  117. package/dist/docs/interfaces/IDataObjectTransferable.html +2 -0
  118. package/dist/docs/interfaces/IDataObjectTypesQueryParameter.html +2 -0
  119. package/dist/docs/interfaces/IDateTimeField.html +20 -0
  120. package/dist/docs/interfaces/IDecimalField.html +21 -0
  121. package/dist/docs/interfaces/IDecimalSuggestField.html +23 -0
  122. package/dist/docs/interfaces/IDocumentService.html +19 -0
  123. package/dist/docs/interfaces/IDomainQueryParameter.html +2 -0
  124. package/dist/docs/interfaces/IDossierEntry.html +4 -0
  125. package/dist/docs/interfaces/IDossierQueryParameters.html +4 -0
  126. package/dist/docs/interfaces/IDoubleField.html +21 -0
  127. package/dist/docs/interfaces/IDoubleSuggestField.html +23 -0
  128. package/dist/docs/interfaces/IEmailStoreService.html +9 -0
  129. package/dist/docs/interfaces/IFavoriteQueryParameter.html +2 -0
  130. package/dist/docs/interfaces/IFetchWrapper.html +3 -0
  131. package/dist/docs/interfaces/IGguidField.html +19 -0
  132. package/dist/docs/interfaces/IGroupInfo.html +6 -0
  133. package/dist/docs/interfaces/IGroupService.html +15 -0
  134. package/dist/docs/interfaces/IGwSpecific.html +2 -0
  135. package/dist/docs/interfaces/IHasFormatOption.html +2 -0
  136. package/dist/docs/interfaces/IHasLength.html +2 -0
  137. package/dist/docs/interfaces/IHasMaxLength.html +2 -0
  138. package/dist/docs/interfaces/IHasOverflowLength.html +2 -0
  139. package/dist/docs/interfaces/IHasPrecision.html +2 -0
  140. package/dist/docs/interfaces/IHasPrecisionAndScale.html +3 -0
  141. package/dist/docs/interfaces/IHasSystemDefinedTranslated.html +2 -0
  142. package/dist/docs/interfaces/IIncludeMaxJournalIdQueryParameter.html +2 -0
  143. package/dist/docs/interfaces/IIncludePermissionsQueryParameter.html +3 -0
  144. package/dist/docs/interfaces/IIncludePrivateForeignrecordsQueryParameter.html +2 -0
  145. package/dist/docs/interfaces/IIntField.html +19 -0
  146. package/dist/docs/interfaces/IIntSuggestField.html +23 -0
  147. package/dist/docs/interfaces/IInterPlatform.html +58 -0
  148. package/dist/docs/interfaces/ILastUsedDataObjectQueryParameters.html +3 -0
  149. package/dist/docs/interfaces/ILinkingService.html +33 -0
  150. package/dist/docs/interfaces/ILoginInformation.html +5 -0
  151. package/dist/docs/interfaces/IMassQueryResult.html +4 -0
  152. package/dist/docs/interfaces/IOpenSpecific.html +2 -0
  153. package/dist/docs/interfaces/IOrderByQueryParameters.html +2 -0
  154. package/dist/docs/interfaces/IPagedQueryParameters.html +3 -0
  155. package/dist/docs/interfaces/IPartialObjectQueryParameters.html +2 -0
  156. package/dist/docs/interfaces/IParticipantInfo.html +4 -0
  157. package/dist/docs/interfaces/IPermission.html +7 -0
  158. package/dist/docs/interfaces/IPermissionInfo.html +4 -0
  159. package/dist/docs/interfaces/IPermissionRequirementQueryParameter.html +2 -0
  160. package/dist/docs/interfaces/IQueryPart.html +2 -0
  161. package/dist/docs/interfaces/IRecentlyUsedQueryParameter.html +2 -0
  162. package/dist/docs/interfaces/IResourceInfo.html +5 -0
  163. package/dist/docs/interfaces/IResourceQueryParameters.html +7 -0
  164. package/dist/docs/interfaces/IResourceService.html +15 -0
  165. package/dist/docs/interfaces/IRestypedBase.html +1 -0
  166. package/dist/docs/interfaces/IRestypedIndexedBase.html +1 -0
  167. package/dist/docs/interfaces/IRestypedRoute.html +5 -0
  168. package/dist/docs/interfaces/ISearchQueryParameters.html +2 -0
  169. package/dist/docs/interfaces/ISelectionValue.html +9 -0
  170. package/dist/docs/interfaces/ISelectionValueListField.html +22 -0
  171. package/dist/docs/interfaces/IServerInformationService.html +4 -0
  172. package/dist/docs/interfaces/IServerSpecificVersionAPIDefinition.html +4 -0
  173. package/dist/docs/interfaces/IServerVersion.html +6 -0
  174. package/dist/docs/interfaces/IServerVersionPart.html +2 -0
  175. package/dist/docs/interfaces/IServerVersionResponseGw.html +2 -0
  176. package/dist/docs/interfaces/IServiceRegistry.html +28 -0
  177. package/dist/docs/interfaces/ISettingsService.html +21 -0
  178. package/dist/docs/interfaces/ISingleDataObjectQueryParameters.html +7 -0
  179. package/dist/docs/interfaces/ISingleDataObjectTypesQueryParameter.html +2 -0
  180. package/dist/docs/interfaces/IStringField.html +20 -0
  181. package/dist/docs/interfaces/IStringKeyed.html +1 -0
  182. package/dist/docs/interfaces/IStringListSuggestField.html +22 -0
  183. package/dist/docs/interfaces/IStringSuggestField.html +22 -0
  184. package/dist/docs/interfaces/ISuggestField.html +20 -0
  185. package/dist/docs/interfaces/ISuggestionWithRawValue.html +3 -0
  186. package/dist/docs/interfaces/ITeamFilter.html +3 -0
  187. package/dist/docs/interfaces/ITeamFilterQueryParameters.html +2 -0
  188. package/dist/docs/interfaces/ITextField.html +22 -0
  189. package/dist/docs/interfaces/ITypedJSONResponse.html +2 -0
  190. package/dist/docs/interfaces/ITypedRequestInit.html +4 -0
  191. package/dist/docs/interfaces/IUserInfo.html +6 -0
  192. package/dist/docs/interfaces/IUserService.html +30 -0
  193. package/dist/docs/interfaces/IVersion6.html +2 -0
  194. package/dist/docs/interfaces/IVersion7.html +2 -0
  195. package/dist/docs/interfaces/IViewInfo.html +3 -0
  196. package/dist/docs/interfaces/IViewItemsCountQueryParameters.html +6 -0
  197. package/dist/docs/interfaces/IViewItemsQueryParameters.html +12 -0
  198. package/dist/docs/interfaces/IViewKindQueryParameters.html +2 -0
  199. package/dist/docs/interfaces/IViewQueryParameters.html +4 -0
  200. package/dist/docs/interfaces/IViewService.html +33 -0
  201. package/dist/docs/interfaces/IWhereStringQueryParameters.html +2 -0
  202. package/dist/docs/modules/_internal_.html +70 -0
  203. package/dist/docs/modules.html +168 -0
  204. package/dist/docs/types/APIVersion.html +1 -0
  205. package/dist/docs/types/AppSettings.html +1 -0
  206. package/dist/docs/types/AppSettingsChange.html +1 -0
  207. package/dist/docs/types/AppSettingsEndpoint.html +1 -0
  208. package/dist/docs/types/AppSettingsListResponse.html +1 -0
  209. package/dist/docs/types/AppSettingsResponse.html +1 -0
  210. package/dist/docs/types/AppSettingsSchema.html +1 -0
  211. package/dist/docs/types/AppSettingsSchemaBooleanProperty.html +1 -0
  212. package/dist/docs/types/AppSettingsSchemaColorProperty.html +1 -0
  213. package/dist/docs/types/AppSettingsSchemaFloatProperty.html +1 -0
  214. package/dist/docs/types/AppSettingsSchemaIntegerProperty.html +1 -0
  215. package/dist/docs/types/AppSettingsSchemaProperty.html +1 -0
  216. package/dist/docs/types/AppSettingsSchemaPropertyScope.html +1 -0
  217. package/dist/docs/types/AppSettingsSchemaPropertyType.html +1 -0
  218. package/dist/docs/types/AppSettingsSchemaResponse.html +1 -0
  219. package/dist/docs/types/AppSettingsSchemaStringProperty.html +1 -0
  220. package/dist/docs/types/AppSettingsValues.html +1 -0
  221. package/dist/docs/types/FieldCommon.html +1 -0
  222. package/dist/docs/types/FieldCommon7.html +1 -0
  223. package/dist/docs/types/FieldGw.html +1 -0
  224. package/dist/docs/types/FieldGw7.html +1 -0
  225. package/dist/docs/types/FieldOpen.html +1 -0
  226. package/dist/docs/types/FieldType.html +1 -0
  227. package/dist/docs/types/FieldTypes.html +1 -0
  228. package/dist/docs/types/FieldTypesV6.html +1 -0
  229. package/dist/docs/types/FieldTypesV7.html +1 -0
  230. package/dist/docs/types/GUID.html +1 -0
  231. package/dist/docs/types/HasSettingsAPIVersion.html +1 -0
  232. package/dist/docs/types/IAppSettingsSchemaProperty.html +3 -0
  233. package/dist/docs/types/IHasSelection.html +1 -0
  234. package/dist/docs/types/InterPlatform6.html +1 -0
  235. package/dist/docs/types/InterPlatform6Common.html +1 -0
  236. package/dist/docs/types/InterPlatform6Gw.html +1 -0
  237. package/dist/docs/types/InterPlatform6Open.html +1 -0
  238. package/dist/docs/types/InterPlatform7.html +1 -0
  239. package/dist/docs/types/InterPlatform7Common.html +1 -0
  240. package/dist/docs/types/InterPlatform7Gw.html +1 -0
  241. package/dist/docs/types/InterPlatform7Open.html +1 -0
  242. package/dist/docs/types/InterPlatformGw.html +1 -0
  243. package/dist/docs/types/InterPlatformOpen.html +1 -0
  244. package/dist/docs/types/LinkDirection.html +1 -0
  245. package/dist/docs/types/Methods.html +1 -0
  246. package/dist/docs/types/NoPathParams.html +1 -0
  247. package/dist/docs/types/NoQueryParams.html +1 -0
  248. package/dist/docs/types/OmitProp.html +1 -0
  249. package/dist/docs/types/QueryResponseLegacyGw.html +1 -0
  250. package/dist/docs/types/ServerIndependentFieldTypes.html +1 -0
  251. package/dist/docs/types/ServerType.html +1 -0
  252. package/dist/docs/types/StringKeyOf.html +1 -0
  253. package/dist/docs/types/V7SuggestField.html +1 -0
  254. package/dist/docs/variables/ALL_PUBLIC_PERMISSION_GGUID.html +3 -0
  255. package/npm-third-party-licenses.json +182 -0
  256. package/package.json +31 -0
  257. package/readme.md +18 -0
@@ -0,0 +1,2272 @@
1
+ interface IRestypedBase {
2
+ [route: string]: any;
3
+ }
4
+ interface IRestypedRoute {
5
+ params: any;
6
+ query: any;
7
+ body: any;
8
+ response: any;
9
+ }
10
+ interface IRestypedIndexedBase {
11
+ [route: string]: {
12
+ [method: string]: IRestypedRoute;
13
+ };
14
+ }
15
+
16
+ type StringKeyOf<T> = Extract<keyof T, string>;
17
+ type HasSettingsAPIVersion = {
18
+ _apiVersion: "v1" | string;
19
+ };
20
+ type AppSettingsListResponse = HasSettingsAPIVersion & {
21
+ apps: Record<string, {
22
+ schema: AppSettingsSchema;
23
+ }>;
24
+ };
25
+ type AppSettingsSchemaResponse = AppSettingsSchema;
26
+ type AppSettingsResponse = AppSettings;
27
+ type AppSettingsSchemaPropertyType = "string" | "integer" | "float" | "color" | "boolean";
28
+ type AppSettingsSchemaPropertyScope = "global" | "user";
29
+ type IAppSettingsSchemaProperty<VALUE> = {
30
+ type: AppSettingsSchemaPropertyType;
31
+ /**
32
+ * Indicates the scope of the property. Global properties can be changed only by the administrators,
33
+ * while user scoped properties can also be changed by individual users.
34
+ */
35
+ scope: AppSettingsSchemaPropertyScope;
36
+ nullable: boolean;
37
+ title: string;
38
+ default: VALUE;
39
+ };
40
+ type IHasSelection<VALUE> = {
41
+ values: VALUE[];
42
+ };
43
+ type AppSettingsSchemaStringProperty = IAppSettingsSchemaProperty<string> & IHasSelection<string> & {
44
+ type: "string";
45
+ };
46
+ type AppSettingsSchemaIntegerProperty = IAppSettingsSchemaProperty<number> & IHasSelection<number> & {
47
+ type: "integer";
48
+ };
49
+ type AppSettingsSchemaFloatProperty = IAppSettingsSchemaProperty<number> & IHasSelection<number> & {
50
+ type: "float";
51
+ };
52
+ type AppSettingsSchemaBooleanProperty = IAppSettingsSchemaProperty<boolean> & {
53
+ type: "boolean";
54
+ };
55
+ type AppSettingsSchemaColorProperty = IAppSettingsSchemaProperty<string> & IHasSelection<string> & {
56
+ type: "color";
57
+ };
58
+ type AppSettingsSchemaProperty = AppSettingsSchemaStringProperty | AppSettingsSchemaIntegerProperty | AppSettingsSchemaFloatProperty | AppSettingsSchemaBooleanProperty | AppSettingsSchemaColorProperty;
59
+ type AppSettingsSchema = HasSettingsAPIVersion & {
60
+ properties: Record<string, AppSettingsSchemaProperty>;
61
+ };
62
+ type AppSettingsValues = Record<string, number | boolean | string>;
63
+ type AppSettings<SETTINGSTYPE extends AppSettingsValues = AppSettingsValues> = HasSettingsAPIVersion & {
64
+ properties: SETTINGSTYPE;
65
+ };
66
+ type AppSettingsChange<SETTINGSTYPE extends AppSettingsValues = AppSettingsValues> = HasSettingsAPIVersion & {
67
+ properties: Partial<SETTINGSTYPE>;
68
+ removedProperties: StringKeyOf<SETTINGSTYPE>[];
69
+ };
70
+ type AppSettingsEndpoint = "/settings/app/:appId" | "/settings/app/:appId/user" | "/settings/app/:appId/global";
71
+
72
+ /**
73
+ * This gguid is associated with the special permission All Public which can
74
+ * be used to make an object accessible for everyone.
75
+ */
76
+ declare const ALL_PUBLIC_PERMISSION_GGUID: GUID;
77
+ type NoQueryParams = {};
78
+ type NoPathParams = {};
79
+ interface IStringKeyed<T = any> {
80
+ [key: string]: T;
81
+ }
82
+ type GUID = string;
83
+ declare enum TeamFilterConstant {
84
+ ExternalAccess = "CASExternalAccess",
85
+ LoggedInUser = "CASLoggedInUser",
86
+ PublicRecords = "CASPublicRecords"
87
+ }
88
+ interface ITeamFilter {
89
+ teamFilterIds: Array<GUID | TeamFilterConstant>;
90
+ role?: string;
91
+ }
92
+ declare class TeamFilter implements ITeamFilter {
93
+ teamFilterIds: Array<GUID | TeamFilterConstant>;
94
+ role?: string;
95
+ constructor(options: ITeamFilter);
96
+ convertToQueryParameterValue(): string;
97
+ }
98
+ declare enum ForeignEditPermission {
99
+ /**
100
+ * The object is private.
101
+ */
102
+ PRIVATE = -1,
103
+ /**
104
+ * The object is confidential.
105
+ */
106
+ CONFIDENTIAL = 0,
107
+ /**
108
+ * The object is readable.
109
+ */
110
+ READ = 64,
111
+ /**
112
+ * The object is duplicateable.
113
+ */
114
+ DUPLICATE = 256,
115
+ /**
116
+ * The object is readable and change time of time based DataObjects is allowed.
117
+ */
118
+ READ_CHANGE_TIMES = 512,
119
+ /**
120
+ * The object is editable.
121
+ */
122
+ EDIT = 2048,
123
+ /**
124
+ * The object is deleteable.
125
+ */
126
+ DELETE = 8192,
127
+ /**
128
+ * The object is neither private nor confidential.
129
+ */
130
+ IN_EFFECT = 65535
131
+ }
132
+ declare enum AccessRight {
133
+ /**
134
+ * Indicates that the PermissionOwner has no direct right on this DataObject.
135
+ */
136
+ NO_ACCESS = 0,
137
+ /**
138
+ * Indicates that the PermissionOwner has the direct right to read this DataObject.
139
+ */
140
+ READ = 64,
141
+ /**
142
+ * Indicates that the PermissionOwner has the direct right to insert this DataObject.
143
+ * @deprecated
144
+ */
145
+ INSERT = 128,
146
+ /**
147
+ * Indicates that the PermissionOwner has the direct right to read and duplicate this DataObject.
148
+ */
149
+ DUPLICATE = 256,
150
+ /**
151
+ * Indicates that the PermissionOwner has the direct right
152
+ * to read this DataObject and change the times (only for time based DataObjects, e.g. an appointment).
153
+ */
154
+ READ_CHANGE_TIMES = 512,
155
+ /**
156
+ * Indicates that the PermissionOwner has the direct right to edit this DataObject.
157
+ */
158
+ EDIT = 2048,
159
+ /**
160
+ * Indicates that the PermissionOwner has the direct right to delete this DataObject (move to recycle bin).
161
+ */
162
+ DELETE = 8192,
163
+ /**
164
+ * Indicates that the PermissionOwner has full access rights on this DataObject including deleting from recycle bin.
165
+ */
166
+ FULL_ACCESS = 32768
167
+ }
168
+ declare enum HtmlFilter {
169
+ /**
170
+ * Removes nothing.
171
+ */
172
+ NOTHING = 0,
173
+ /**
174
+ * Removes external images.
175
+ */
176
+ EXTERNAL_IMAGES = 1,
177
+ /**
178
+ * Removes all images.
179
+ */
180
+ ALL_IMAGES = 2,
181
+ /**
182
+ * Removes dangerous content like IFRAME tags and ONCLICK attributes.
183
+ */
184
+ DANGEROUS_TAGS_AND_ATTRIBUTES = 4,
185
+ /**
186
+ * Removes dangerous content like IFRAME tags and ONCLICK attributes.
187
+ */
188
+ DANGEROUS_TAGS_AND_ATTRIBUTES_EXCLUDE_STYLES = 8,
189
+ /**
190
+ * Filter everything.
191
+ */
192
+ ALL = 2147483647
193
+ }
194
+ type FieldType = "DATETIME" | "STRINGSUGGEST" | "INT" | "TEXT" | "DECIMAL" | "CURRENCY" | "STRING" | "STRINGLISTSUGGEST" | "STRINGTREESUGGEST" | "BOOLEAN" | "GGUID" | "DOUBLE" | "INTSUGGEST" | "DECIMALSUGGEST" | "CURRENCYSUGGEST" | "DOUBLESUGGEST" | "SELECTIONVALUELIST";
195
+ type ServerIndependentFieldTypes = IDateTimeField | IIntField | ITextField | IDecimalField | IStringField | IBooleanField | IGguidField | IDoubleField;
196
+ type FieldGw = ServerIndependentFieldTypes | IStringSuggestField | IStringListSuggestField | IIntSuggestField | IDecimalSuggestField | IDoubleSuggestField;
197
+ type FieldOpen = ServerIndependentFieldTypes | ISelectionValueListField;
198
+ type LinkDirection = "LEFT_TO_RIGHT" | "RIGHT_TO_LEFT" | "BIDIRECTIONAL";
199
+ interface ISelectionValueListField extends ICommonField, ISuggestField<ISelectionValue> {
200
+ type: "SELECTIONVALUELIST";
201
+ lengthOfBinaryShadowField: number;
202
+ cardinality: "ZERO_TO_ONE" | "ONE" | "ONE_TO_N" | "ZERO_TO_N";
203
+ }
204
+ interface IStringSuggestField extends ICommonField, ISuggestField<string>, IHasMaxLength, IHasSystemDefinedTranslated {
205
+ type: "STRINGSUGGEST";
206
+ }
207
+ interface IStringListSuggestField extends ICommonField, ISuggestField<string>, IHasMaxLength, IHasSystemDefinedTranslated {
208
+ type: "STRINGLISTSUGGEST";
209
+ }
210
+ interface IIntSuggestField extends ICommonField, ISuggestField<number>, IHasFormatOption, IHasPrecisionAndScale {
211
+ type: "INTSUGGEST";
212
+ }
213
+ interface IDecimalSuggestField extends ICommonField, ISuggestField<number>, IHasFormatOption, IHasPrecisionAndScale {
214
+ type: "DECIMALSUGGEST";
215
+ }
216
+ interface IDoubleSuggestField extends ICommonField, ISuggestField<number>, IHasFormatOption, IHasPrecisionAndScale {
217
+ type: "DOUBLESUGGEST";
218
+ }
219
+ interface IDecimalField extends ICommonField, IHasFormatOption, IHasPrecisionAndScale {
220
+ type: "DECIMAL";
221
+ }
222
+ interface IDateTimeField extends ICommonField, IHasFormatOption, IHasPrecision {
223
+ type: "DATETIME";
224
+ }
225
+ interface IIntField extends ICommonField, IHasFormatOption {
226
+ type: "INT";
227
+ }
228
+ interface ITextField extends ICommonField, IHasMaxLength, IHasSystemDefinedTranslated, IHasOverflowLength, IHasFormatOption {
229
+ type: "TEXT";
230
+ }
231
+ interface IStringField extends ICommonField, IHasMaxLength, IHasSystemDefinedTranslated {
232
+ type: "STRING";
233
+ }
234
+ interface IDoubleField extends ICommonField, IHasFormatOption, IHasPrecisionAndScale {
235
+ type: "DOUBLE";
236
+ }
237
+ interface IGguidField extends ICommonField, IHasLength {
238
+ type: "GGUID";
239
+ }
240
+ interface IBooleanField extends ICommonField {
241
+ type: "BOOLEAN";
242
+ }
243
+ interface ISelectionValue {
244
+ userEditable: boolean;
245
+ systemDefinedDeleted: boolean;
246
+ sortIndex: number;
247
+ displayName: string;
248
+ deletable: boolean;
249
+ GGUID: GUID;
250
+ displayID: string;
251
+ systemDefined: boolean;
252
+ }
253
+ interface ISuggestField<T> extends ICommonField {
254
+ suggestedValues: T[];
255
+ customValueAllowed: boolean;
256
+ }
257
+ interface IHasMaxLength {
258
+ maxLength: number;
259
+ }
260
+ interface IHasLength {
261
+ length: number;
262
+ }
263
+ interface IHasSystemDefinedTranslated {
264
+ systemDefinedTranslated: boolean;
265
+ }
266
+ interface IHasOverflowLength {
267
+ overflowLength: number;
268
+ }
269
+ interface IHasFormatOption {
270
+ formatOption: string;
271
+ }
272
+ interface IHasPrecisionAndScale extends IHasPrecision {
273
+ scale: number;
274
+ }
275
+ interface IHasPrecision {
276
+ precision: number;
277
+ }
278
+ interface ICommonField {
279
+ id: number;
280
+ name: string;
281
+ type: FieldType;
282
+ mandatory: boolean;
283
+ hidden: boolean;
284
+ updateable: boolean;
285
+ displayname: string;
286
+ displaynameShort: string;
287
+ allowedForMassUpdate: boolean;
288
+ duplicatable: boolean;
289
+ accessPermission: number;
290
+ minAccessPermission: number;
291
+ inListEditable: boolean;
292
+ recommended: boolean;
293
+ optional: boolean;
294
+ custom: boolean;
295
+ systemField: boolean;
296
+ }
297
+ interface IMassQueryResult {
298
+ types: {
299
+ [key: string]: string;
300
+ };
301
+ displayNames: {
302
+ [key: string]: string;
303
+ };
304
+ rows: Array<{
305
+ [key: string]: any;
306
+ }>;
307
+ }
308
+ interface IViewInfo {
309
+ fields: {
310
+ VIEWID: GUID;
311
+ VIEWKIND: string;
312
+ VIEWNAME: string;
313
+ VIEWTYPE: string;
314
+ VIEWURI: string;
315
+ };
316
+ id: GUID;
317
+ }
318
+ interface IDataObject extends IDataObjectTransferable {
319
+ objectType: string;
320
+ ETAG?: string;
321
+ id: GUID;
322
+ links?: IStringKeyed<string>;
323
+ foreignEditPermission?: ForeignEditPermission;
324
+ foreignEditPermissionRestriction?: ForeignEditPermission;
325
+ permissions?: IPermission[];
326
+ writable?: boolean;
327
+ }
328
+ interface IPermissionInfo {
329
+ fields: IPermission;
330
+ id: GUID;
331
+ links: IStringKeyed<string>;
332
+ }
333
+ interface IPermission {
334
+ ACCESSRIGHT: AccessRight;
335
+ GGUID?: GUID;
336
+ RIGHTOWNERGGUID: GUID;
337
+ RIGHTOWNERID?: number;
338
+ TYPE?: "USER" | "GROUP" | "RESOURCE";
339
+ ROLE?: string;
340
+ }
341
+ interface IDataObjectTransferable {
342
+ fields: IStringKeyed<any>;
343
+ }
344
+ interface ICountInfo {
345
+ count: number;
346
+ }
347
+ interface ICommonPermissionOwnerFields {
348
+ EMAILADDRESS: string;
349
+ HIDDEN: boolean;
350
+ CLIENT: GUID;
351
+ DESCRIPTION: string;
352
+ GGUID: GUID;
353
+ ENABLED: boolean;
354
+ DISPLAYNAME: string;
355
+ DOMAINGUID?: GUID;
356
+ DOMAINNAME?: string;
357
+ DOMAINISLOCAL?: boolean;
358
+ }
359
+ interface IAddressRelatedPermissionOwnerInfoFields extends ICommonPermissionOwnerFields {
360
+ GGUIDOFADDRESSRECORD: string;
361
+ GUEST: boolean;
362
+ TIMEZONE: string;
363
+ USERTYPE: string;
364
+ ACTIONADMINISTRATOR: boolean;
365
+ ADMINISTRATOR: boolean;
366
+ OID: string;
367
+ PREFERREDCOUNTRY: string;
368
+ PREFERREDLANGUAGE: string;
369
+ ALLOWMOBILEAPPSOFFLINE: boolean;
370
+ }
371
+ interface IGroupInfo {
372
+ directSuperGroups: string[];
373
+ members: string[];
374
+ links: IStringKeyed<string>;
375
+ id: GUID;
376
+ fields: ICommonPermissionOwnerFields & {
377
+ GID: string;
378
+ };
379
+ }
380
+ declare class PrimaryLinkedParent {
381
+ gguid: GUID;
382
+ objectType: string;
383
+ caption: string;
384
+ description: string;
385
+ }
386
+ interface IDossierEntry {
387
+ ETAG: string;
388
+ id: GUID;
389
+ fields: {
390
+ GGUID: string;
391
+ GGUID1: string;
392
+ GGUID2: string;
393
+ KEYWORD: string;
394
+ LINKDIRECTION?: LinkDirection;
395
+ OBJECTTYPE1: string;
396
+ OBJECTTYPE2: string;
397
+ PLUSINFO: string;
398
+ DOCEXT?: string;
399
+ SORTDATE?: string;
400
+ };
401
+ }
402
+ interface IUserInfo {
403
+ directSuperGroups: string[];
404
+ fields: IAddressRelatedPermissionOwnerInfoFields;
405
+ id: GUID;
406
+ links: IStringKeyed<string>;
407
+ PrivilegedOperations: string[];
408
+ }
409
+ interface IServerVersion {
410
+ serverVersion: string;
411
+ productversion: string;
412
+ major: string;
413
+ minor: string;
414
+ build: string;
415
+ }
416
+ interface ILoginInformation {
417
+ CLIENTNAME: string;
418
+ LOGINTIMESTAMP: string;
419
+ LOGINCOUNT: string;
420
+ CLIENTVERSION: string;
421
+ }
422
+ interface IResourceInfo {
423
+ directSuperGroups: string[];
424
+ fields: IAddressRelatedPermissionOwnerInfoFields;
425
+ id: GUID;
426
+ links: IStringKeyed<string>;
427
+ }
428
+ interface IParticipantInfo {
429
+ fields: {
430
+ DISPLAYNAME: string;
431
+ PARTICIPANTGGUID: GUID;
432
+ DESCRIPTION: string;
433
+ TYPE: string;
434
+ };
435
+ id: GUID;
436
+ links: IStringKeyed<string>;
437
+ }
438
+ interface IDataObjectSchema<FieldTypes> {
439
+ name: string;
440
+ properties: {
441
+ fields: IStringKeyed<FieldTypes>;
442
+ };
443
+ }
444
+ interface IDataObjectDescription {
445
+ displayNameSingular: string;
446
+ displayNamePlural: string;
447
+ dataObjectTypePermission: number;
448
+ isUserSensitive: boolean;
449
+ isTaggable: boolean;
450
+ isLinkable: boolean;
451
+ isRecycleBinActivated: boolean;
452
+ isTemplateActivated: boolean;
453
+ primaryLinkParents: {
454
+ parentObjectTypes: string[];
455
+ mandatoryParentObjectTypes: string[];
456
+ };
457
+ searchFieldsString: string;
458
+ searchColumnNames: string[];
459
+ linkAttributes: IStringKeyed<IStringKeyed<string>>;
460
+ }
461
+ interface IDataObjectDateChangeQueryParameters {
462
+ updatedAfter?: Date;
463
+ insertedAfter?: Date;
464
+ }
465
+ interface IDataObjectDateIntervalQueryParameters {
466
+ intervalStart?: Date;
467
+ intervalEnd?: Date;
468
+ }
469
+ interface IDataObjectLinkQueryParameters {
470
+ linkedToType?: string;
471
+ linkedTo?: GUID[];
472
+ linkedToAttributes?: string[];
473
+ }
474
+ interface IPagedQueryParameters {
475
+ page?: number;
476
+ entriesPerPage?: number;
477
+ }
478
+ interface IAddressSpecificQueryParameters {
479
+ isUser?: boolean | null;
480
+ hasBirthdayOn?: Date;
481
+ }
482
+ interface IPartialObjectQueryParameters {
483
+ fields?: string | string[];
484
+ }
485
+ interface IOrderByQueryParameters {
486
+ orderBy?: string | string[];
487
+ }
488
+ interface ITeamFilterQueryParameters {
489
+ teamFilter?: string | TeamFilter;
490
+ }
491
+ interface ISearchQueryParameters {
492
+ search?: string;
493
+ }
494
+ interface IDataObjectTypesQueryParameter {
495
+ objectTypes?: string | string[];
496
+ }
497
+ interface ISingleDataObjectTypesQueryParameter {
498
+ objectType?: string;
499
+ }
500
+ interface IIncludePermissionsQueryParameter {
501
+ includePermissions?: boolean;
502
+ includeSyncrecordPermissions?: boolean;
503
+ }
504
+ interface IIncludePrivateForeignrecordsQueryParameter {
505
+ includePrivateForeignrecords?: boolean;
506
+ }
507
+ interface IRecentlyUsedQueryParameter {
508
+ tagAsRecentlyUsed?: boolean;
509
+ }
510
+ interface IFavoriteQueryParameter {
511
+ isfavorite?: boolean;
512
+ }
513
+ interface IIncludeMaxJournalIdQueryParameter {
514
+ includeMaxjournalid?: boolean;
515
+ }
516
+ interface IViewItemsCountQueryParameters extends ISearchQueryParameters, IDataObjectDateChangeQueryParameters, IDataObjectDateIntervalQueryParameters {
517
+ }
518
+ interface IViewQueryParameters extends IViewKindQueryParameters, IPagedQueryParameters {
519
+ }
520
+ interface IViewKindQueryParameters {
521
+ viewKind?: string;
522
+ }
523
+ interface IViewItemsQueryParameters extends IPagedQueryParameters, ISearchQueryParameters, IDataObjectDateIntervalQueryParameters, IDataObjectDateChangeQueryParameters, IPartialObjectQueryParameters, IOrderByQueryParameters, IAddressSpecificQueryParameters {
524
+ }
525
+ interface ISingleDataObjectQueryParameters extends IPartialObjectQueryParameters, IIncludePermissionsQueryParameter, IRecentlyUsedQueryParameter, IFavoriteQueryParameter, IIncludeMaxJournalIdQueryParameter {
526
+ }
527
+ interface IDataObjectQueryParameters extends IDataObjectDateChangeQueryParameters, IDataObjectDateIntervalQueryParameters, IDataObjectLinkQueryParameters, IPagedQueryParameters, IAddressSpecificQueryParameters, IPartialObjectQueryParameters, IOrderByQueryParameters, ITeamFilterQueryParameters, ISearchQueryParameters {
528
+ }
529
+ interface IDataObjectCountQueryParameters extends ITeamFilterQueryParameters, ISearchQueryParameters, IDataObjectDateChangeQueryParameters, IDataObjectDateIntervalQueryParameters, IDataObjectLinkQueryParameters {
530
+ }
531
+ interface IDossierQueryParameters extends IPagedQueryParameters, IDataObjectTypesQueryParameter {
532
+ }
533
+ interface IPermissionRequirementQueryParameter {
534
+ minPermission?: ForeignEditPermission;
535
+ }
536
+ interface IDomainQueryParameter {
537
+ domainGuid?: GUID;
538
+ }
539
+ interface IResourceQueryParameters extends IPagedQueryParameters, ISingleDataObjectTypesQueryParameter, IDataObjectTypesQueryParameter, IPermissionRequirementQueryParameter, IDomainQueryParameter {
540
+ }
541
+ interface IWhereStringQueryParameters {
542
+ whereString: string;
543
+ }
544
+ interface ILastUsedDataObjectQueryParameters extends IPartialObjectQueryParameters, IWhereStringQueryParameters {
545
+ }
546
+ interface IDataObjectSchemaPart<FIELDTYPES> {
547
+ "/type/:dataObjectType/schema": {
548
+ GET: {
549
+ query: NoQueryParams;
550
+ params: {
551
+ dataObjectType: string;
552
+ };
553
+ response: IDataObjectSchema<FIELDTYPES>;
554
+ };
555
+ };
556
+ }
557
+ interface IServerVersionResponseGw {
558
+ fields: IServerVersion;
559
+ }
560
+ interface IServerVersionPart<RESPONSETYPE> {
561
+ "/version/server": {
562
+ GET: {
563
+ query: NoQueryParams;
564
+ response: RESPONSETYPE;
565
+ };
566
+ };
567
+ }
568
+ type QueryResponseLegacyGw = [IMassQueryResult];
569
+ interface IQueryPart<RESPONSETYPE> {
570
+ "/query": {
571
+ POST: {
572
+ query: IPagedQueryParameters & IIncludePrivateForeignrecordsQueryParameter;
573
+ params: NoPathParams;
574
+ body: {
575
+ query: string;
576
+ };
577
+ response: RESPONSETYPE;
578
+ };
579
+ };
580
+ }
581
+ interface IGwSpecific {
582
+ gwSpecific: true;
583
+ }
584
+ interface IOpenSpecific {
585
+ openSpecific: true;
586
+ }
587
+ type InterPlatformOpen = IInterPlatform & IDataObjectSchemaPart<FieldOpen> & IServerVersionPart<IServerVersion> & IQueryPart<IMassQueryResult> & IOpenSpecific;
588
+ type InterPlatformGw = IInterPlatform & IServerVersionPart<IServerVersionResponseGw> & IGwSpecific;
589
+ interface IInterPlatform extends IDataObjectSchemaPart<ICommonField>, IServerVersionPart<IServerVersion | IServerVersionResponseGw>, IQueryPart<IMassQueryResult | QueryResponseLegacyGw> {
590
+ "/type/:dataObjectType/:dataObjectGGUID/dossier/:dossierentryGGUID": {
591
+ GET: {
592
+ query: NoQueryParams;
593
+ params: {
594
+ dataObjectType: string;
595
+ dataObjectGGUID: GUID;
596
+ dossierentryGGUID: GUID;
597
+ };
598
+ response: IDossierEntry;
599
+ };
600
+ DELETE: {
601
+ query: NoQueryParams;
602
+ params: {
603
+ dataObjectType: string;
604
+ dataObjectGGUID: GUID;
605
+ dossierentryGGUID: GUID;
606
+ };
607
+ };
608
+ };
609
+ "/type/:dataObjectType/:dataObjectGGUID/permission/:permissionGGUID": {
610
+ GET: {
611
+ query: NoQueryParams;
612
+ params: {
613
+ dataObjectType: string;
614
+ dataObjectGGUID: GUID;
615
+ permissionGGUID: GUID;
616
+ };
617
+ response: IPermissionInfo;
618
+ };
619
+ DELETE: {
620
+ query: NoQueryParams;
621
+ params: {
622
+ dataObjectType: string;
623
+ dataObjectGGUID: GUID;
624
+ permissionGGUID: GUID;
625
+ };
626
+ };
627
+ };
628
+ "/type/appointment/:dataObjectGGUID/participant/:participantGGUID": {
629
+ GET: {
630
+ query: NoQueryParams;
631
+ params: {
632
+ dataObjectGGUID: GUID;
633
+ participantGGUID: GUID;
634
+ };
635
+ response: IParticipantInfo;
636
+ };
637
+ DELETE: {
638
+ query: NoQueryParams;
639
+ params: {
640
+ dataObjectGGUID: GUID;
641
+ participantGGUID: GUID;
642
+ };
643
+ };
644
+ };
645
+ "/type/:dataObjectType/:dataObjectGGUID": {
646
+ PUT: {
647
+ query: {
648
+ tagAsRecentlyUsed?: boolean;
649
+ };
650
+ params: {
651
+ dataObjectType: string;
652
+ dataObjectGGUID: GUID;
653
+ };
654
+ body: string;
655
+ };
656
+ GET: {
657
+ query: ISingleDataObjectQueryParameters;
658
+ params: {
659
+ dataObjectType: string;
660
+ dataObjectGGUID: GUID;
661
+ };
662
+ response: IDataObject;
663
+ };
664
+ DELETE: {
665
+ query: NoQueryParams;
666
+ params: {
667
+ dataObjectType: string;
668
+ dataObjectGGUID: GUID;
669
+ };
670
+ };
671
+ };
672
+ "/type/address/:dataObjectGGUID/image": {
673
+ PUT: {
674
+ query: NoQueryParams;
675
+ params: {
676
+ dataObjectGGUID: GUID;
677
+ };
678
+ body: ArrayBuffer;
679
+ };
680
+ GET: {
681
+ query: {
682
+ maxWidth?: number;
683
+ maxHeight?: number;
684
+ };
685
+ params: {
686
+ dataObjectGGUID: GUID;
687
+ };
688
+ };
689
+ DELETE: {
690
+ query: NoQueryParams;
691
+ params: {
692
+ dataObjectGGUID: GUID;
693
+ };
694
+ };
695
+ };
696
+ "/type/document/:dataObjectGGUID/file": {
697
+ PUT: {
698
+ query: {
699
+ keepCheckedOut?: boolean;
700
+ createNewVersion?: boolean;
701
+ versionComment?: string;
702
+ };
703
+ body: ArrayBuffer;
704
+ params: {
705
+ dataObjectGGUID: GUID;
706
+ };
707
+ };
708
+ POST: {
709
+ query: {
710
+ keepCheckedOut?: boolean;
711
+ createNewVersion?: boolean;
712
+ versionComment?: string;
713
+ };
714
+ body: ArrayBuffer;
715
+ params: {
716
+ dataObjectGGUID: GUID;
717
+ };
718
+ };
719
+ GET: {
720
+ query: {
721
+ version?: string;
722
+ readOnly?: boolean;
723
+ };
724
+ params: {
725
+ dataObjectGGUID: GUID;
726
+ };
727
+ response: ArrayBuffer;
728
+ };
729
+ };
730
+ "/type/:dataObjectType": {
731
+ POST: {
732
+ query: {
733
+ templateGguid?: GUID;
734
+ tagAsRecentlyUsed?: boolean;
735
+ };
736
+ params: {
737
+ dataObjectType: string;
738
+ };
739
+ body: string;
740
+ };
741
+ };
742
+ "/type/:dataObjectType/:dataObjectGGUID/dossier": {
743
+ POST: {
744
+ query: {
745
+ gguid2?: GUID;
746
+ objectType2?: string;
747
+ attribute?: string;
748
+ role1?: string;
749
+ role2?: string;
750
+ linkDirection?: LinkDirection;
751
+ additionalField1?: string;
752
+ additionalField2?: string;
753
+ };
754
+ params: {
755
+ dataObjectGGUID: GUID;
756
+ dataObjectType: string;
757
+ };
758
+ };
759
+ };
760
+ "/type/:dataObjectType/:dataObjectGGUID/permission": {
761
+ POST: {
762
+ query: {
763
+ rightOwnerGguid?: GUID;
764
+ accessRight?: number;
765
+ };
766
+ params: {
767
+ dataObjectGGUID: GUID;
768
+ dataObjectType: string;
769
+ };
770
+ response: any;
771
+ };
772
+ };
773
+ "/type/appointment/:dataObjectGGUID/participant": {
774
+ POST: {
775
+ query: {
776
+ gguid?: GUID;
777
+ };
778
+ params: {
779
+ dataObjectGGUID: GUID;
780
+ };
781
+ response: any;
782
+ };
783
+ };
784
+ "/type/document/file": {
785
+ POST: {
786
+ query: NoQueryParams;
787
+ body: ArrayBuffer;
788
+ };
789
+ };
790
+ "/type/emailstore/file": {
791
+ POST: {
792
+ query: {
793
+ foreignEditPermissionRestriction?: number;
794
+ };
795
+ body: string;
796
+ };
797
+ };
798
+ "/checklogin": {
799
+ GET: {
800
+ query: {
801
+ silent?: boolean;
802
+ };
803
+ };
804
+ };
805
+ "/group/:GGUID": {
806
+ GET: {
807
+ query: IPartialObjectQueryParameters;
808
+ params: {
809
+ GGUID: GUID;
810
+ };
811
+ response: IGroupInfo;
812
+ };
813
+ };
814
+ "/group/count": {
815
+ GET: {
816
+ query: {
817
+ objectType?: string;
818
+ minPermission?: ForeignEditPermission;
819
+ };
820
+ response: ICountInfo;
821
+ };
822
+ };
823
+ "/group/full": {
824
+ GET: {
825
+ query: IResourceQueryParameters;
826
+ response: IGroupInfo[];
827
+ };
828
+ };
829
+ "/group/list": {
830
+ GET: {
831
+ query: IResourceQueryParameters;
832
+ response: IGroupInfo[];
833
+ };
834
+ };
835
+ "/resource/:guid": {
836
+ GET: {
837
+ query: {
838
+ fields?: string | string[];
839
+ };
840
+ params: {
841
+ guid: GUID;
842
+ };
843
+ response: IResourceInfo;
844
+ };
845
+ };
846
+ "/resource/count": {
847
+ GET: {
848
+ query: {
849
+ objectType?: string;
850
+ minPermission?: ForeignEditPermission;
851
+ };
852
+ response: ICountInfo;
853
+ };
854
+ };
855
+ "/resource/full": {
856
+ GET: {
857
+ query: IResourceQueryParameters;
858
+ response: IResourceInfo[];
859
+ };
860
+ };
861
+ "/resource/list": {
862
+ GET: {
863
+ query: IResourceQueryParameters;
864
+ response: IResourceInfo[];
865
+ };
866
+ };
867
+ "/type/:dataObjectType/:dataObjectGGUID/dossier/count": {
868
+ GET: {
869
+ query: NoQueryParams;
870
+ params: {
871
+ dataObjectType: string;
872
+ dataObjectGGUID: GUID;
873
+ };
874
+ response: ICountInfo;
875
+ };
876
+ };
877
+ "/type/:dataObjectType/:dataObjectGGUID/dossier/full": {
878
+ GET: {
879
+ query: IDossierQueryParameters;
880
+ params: {
881
+ dataObjectType: string;
882
+ dataObjectGGUID: GUID;
883
+ };
884
+ response: IDossierEntry[];
885
+ };
886
+ };
887
+ "/type/:dataObjectType/:dataObjectGGUID/permission/count": {
888
+ GET: {
889
+ query: NoQueryParams;
890
+ params: {
891
+ dataObjectType: string;
892
+ dataObjectGGUID: GUID;
893
+ };
894
+ response: ICountInfo;
895
+ };
896
+ };
897
+ "/type/:dataObjectType/:dataObjectGGUID/permission/full": {
898
+ GET: {
899
+ query: {
900
+ page?: number;
901
+ entriesPerPage?: number;
902
+ };
903
+ params: {
904
+ dataObjectType: string;
905
+ dataObjectGGUID: GUID;
906
+ };
907
+ response: IPermissionInfo[];
908
+ };
909
+ };
910
+ "/type/:dataObjectType/:dataObjectGGUID/primarylinkparents": {
911
+ GET: {
912
+ query: NoQueryParams;
913
+ params: {
914
+ dataObjectType: string;
915
+ dataObjectGGUID: GUID;
916
+ };
917
+ response: PrimaryLinkedParent[];
918
+ };
919
+ };
920
+ "/type/:dataObjectType/count": {
921
+ GET: {
922
+ query: IDataObjectCountQueryParameters;
923
+ params: {
924
+ dataObjectType: string;
925
+ };
926
+ response: ICountInfo;
927
+ };
928
+ };
929
+ "/type/:dataObjectType/full": {
930
+ GET: {
931
+ query: IDataObjectQueryParameters;
932
+ params: {
933
+ dataObjectType: string;
934
+ };
935
+ response: IDataObject[];
936
+ };
937
+ };
938
+ "/type/:dataObjectType/image": {
939
+ GET: {
940
+ query: {
941
+ iconType?: string;
942
+ };
943
+ params: {
944
+ dataObjectType: string;
945
+ };
946
+ };
947
+ };
948
+ "/type/:dataObjectType/list": {
949
+ GET: {
950
+ query: IDataObjectQueryParameters;
951
+ params: {
952
+ dataObjectType: string;
953
+ };
954
+ response: IDataObject[];
955
+ };
956
+ };
957
+ "/type/:dataObjectType/recent/list": {
958
+ GET: {
959
+ query: ILastUsedDataObjectQueryParameters;
960
+ params: {
961
+ dataObjectType: string;
962
+ };
963
+ response: IDataObject[];
964
+ };
965
+ };
966
+ "/type/:dataObjectType/:dataObjectGGUID/recent": {
967
+ POST: {
968
+ query: NoQueryParams;
969
+ params: {
970
+ dataObjectType: string;
971
+ dataObjectGGUID: GUID;
972
+ };
973
+ };
974
+ };
975
+ "/type/:dataObjectType/view/:viewID": {
976
+ GET: {
977
+ query: NoQueryParams;
978
+ params: {
979
+ dataObjectType: string;
980
+ viewID: GUID;
981
+ };
982
+ response: IViewInfo;
983
+ };
984
+ };
985
+ "/type/:dataObjectType/view/:viewID/count": {
986
+ GET: {
987
+ query: IViewItemsCountQueryParameters;
988
+ params: {
989
+ dataObjectType: string;
990
+ viewID: GUID;
991
+ };
992
+ response: ICountInfo;
993
+ };
994
+ };
995
+ "/type/:dataObjectType/view/:viewID/full": {
996
+ GET: {
997
+ query: IViewItemsQueryParameters;
998
+ params: {
999
+ dataObjectType: string;
1000
+ viewID: GUID;
1001
+ };
1002
+ response: IDataObject[];
1003
+ };
1004
+ };
1005
+ "/type/:dataObjectType/view/:viewID/list": {
1006
+ GET: {
1007
+ query: IViewItemsQueryParameters;
1008
+ params: {
1009
+ dataObjectType: string;
1010
+ viewID: GUID;
1011
+ };
1012
+ response: IDataObject[];
1013
+ };
1014
+ };
1015
+ "/type/:dataObjectType/view/count": {
1016
+ GET: {
1017
+ query: NoQueryParams;
1018
+ params: {
1019
+ dataObjectType: string;
1020
+ };
1021
+ response: ICountInfo;
1022
+ };
1023
+ };
1024
+ "/type/:dataObjectType/view/list": {
1025
+ GET: {
1026
+ query: IViewQueryParameters;
1027
+ params: {
1028
+ dataObjectType: string;
1029
+ };
1030
+ response: IViewInfo[];
1031
+ };
1032
+ };
1033
+ "/type/appointment/:dataObjectGGUID/participant/count": {
1034
+ GET: {
1035
+ query: NoQueryParams;
1036
+ params: {
1037
+ dataObjectGGUID: GUID;
1038
+ };
1039
+ response: ICountInfo;
1040
+ };
1041
+ };
1042
+ "/type/appointment/:dataObjectGGUID/participant/full": {
1043
+ GET: {
1044
+ query: {
1045
+ page?: number;
1046
+ entriesPerPage?: number;
1047
+ domainGuid?: GUID;
1048
+ };
1049
+ params: {
1050
+ dataObjectGGUID: GUID;
1051
+ };
1052
+ response: IParticipantInfo[];
1053
+ };
1054
+ };
1055
+ "/user/:GGUID": {
1056
+ GET: {
1057
+ query: {
1058
+ fields?: string | string[];
1059
+ includePrivilegedOperations?: boolean;
1060
+ };
1061
+ params: {
1062
+ GGUID: GUID;
1063
+ };
1064
+ response: IUserInfo;
1065
+ };
1066
+ };
1067
+ "/user/:GGUID/image": {
1068
+ GET: {
1069
+ query: {
1070
+ maxWidth?: number;
1071
+ maxHeight?: number;
1072
+ };
1073
+ params: {
1074
+ GGUID: GUID;
1075
+ };
1076
+ response: ArrayBuffer;
1077
+ };
1078
+ };
1079
+ "/user/count": {
1080
+ GET: {
1081
+ query: {
1082
+ objectType?: string;
1083
+ minPermission?: ForeignEditPermission;
1084
+ };
1085
+ response: ICountInfo;
1086
+ };
1087
+ };
1088
+ "/user/full": {
1089
+ GET: {
1090
+ query: IResourceQueryParameters;
1091
+ response: IUserInfo[];
1092
+ };
1093
+ };
1094
+ "/user/list": {
1095
+ GET: {
1096
+ query: IResourceQueryParameters;
1097
+ response: IUserInfo[];
1098
+ };
1099
+ };
1100
+ "/user/self": {
1101
+ GET: {
1102
+ query: {
1103
+ fields?: string | string[];
1104
+ includePrivilegedOperations?: boolean;
1105
+ };
1106
+ response: IUserInfo;
1107
+ };
1108
+ };
1109
+ "/user/self/logininformation": {
1110
+ GET: {
1111
+ query: NoQueryParams;
1112
+ response: ILoginInformation[];
1113
+ };
1114
+ };
1115
+ "/type/:dataObjectType/description": {
1116
+ GET: {
1117
+ query: NoQueryParams;
1118
+ params: {
1119
+ dataObjectType: string;
1120
+ };
1121
+ response: IDataObjectDescription;
1122
+ };
1123
+ };
1124
+ "/type/emailstore/:dataObjectGGUID/file": {
1125
+ GET: {
1126
+ query: {
1127
+ htmlFilter?: HtmlFilter;
1128
+ };
1129
+ params: {
1130
+ dataObjectGGUID: GUID;
1131
+ };
1132
+ response: ArrayBuffer;
1133
+ };
1134
+ };
1135
+ "/settings/app/list": {
1136
+ GET: {
1137
+ response: AppSettingsListResponse;
1138
+ };
1139
+ };
1140
+ "/settings/app/:appId/schema": {
1141
+ GET: {
1142
+ params: {
1143
+ appId: string;
1144
+ };
1145
+ response: AppSettingsSchemaResponse;
1146
+ };
1147
+ };
1148
+ "/settings/app/:appId": {
1149
+ GET: {
1150
+ params: {
1151
+ appId: string;
1152
+ };
1153
+ response: AppSettingsSchemaResponse;
1154
+ };
1155
+ };
1156
+ "/settings/app/:appId/user": {
1157
+ GET: {
1158
+ params: {
1159
+ appId: string;
1160
+ };
1161
+ response: AppSettingsSchemaResponse;
1162
+ };
1163
+ PUT: {
1164
+ params: {
1165
+ appId: string;
1166
+ };
1167
+ body: AppSettings;
1168
+ };
1169
+ POST: {
1170
+ params: {
1171
+ appId: string;
1172
+ };
1173
+ body: AppSettingsChange;
1174
+ };
1175
+ };
1176
+ "/settings/app/:appId/global": {
1177
+ GET: {
1178
+ params: {
1179
+ appId: string;
1180
+ };
1181
+ response: AppSettingsSchemaResponse;
1182
+ };
1183
+ PUT: {
1184
+ params: {
1185
+ appId: string;
1186
+ };
1187
+ body: AppSettings;
1188
+ };
1189
+ POST: {
1190
+ params: {
1191
+ appId: string;
1192
+ };
1193
+ body: AppSettingsChange;
1194
+ };
1195
+ };
1196
+ }
1197
+ declare enum DatePrecision {
1198
+ /**
1199
+ * Complete precision, that includes year, month, day, hour, minute, second and millisecond
1200
+ */
1201
+ COMPLETE = 2048,
1202
+ /**
1203
+ * Only year, month, day
1204
+ */
1205
+ NO_TIME = 512,
1206
+ /**
1207
+ * Only year, month, day, hour, minute
1208
+ */
1209
+ NO_SECONDS = 64,
1210
+ /**
1211
+ * Only year, month, day, hour, minute, seconds
1212
+ */
1213
+ NO_MILLISECONDS = 0,
1214
+ /**
1215
+ * Time, no date
1216
+ */
1217
+ NO_DATE = 4096
1218
+ }
1219
+
1220
+ interface IVersion6 {
1221
+ version6: true;
1222
+ }
1223
+ type FieldCommon = FieldGw | FieldOpen;
1224
+ type InterPlatform6 = IInterPlatform & IVersion6;
1225
+ type InterPlatform6Common = InterPlatform6 & IDataObjectSchemaPart<FieldCommon>;
1226
+ type InterPlatform6Gw = InterPlatformGw & InterPlatform6 & IDataObjectSchemaPart<FieldGw> & IQueryPart<QueryResponseLegacyGw>;
1227
+ type InterPlatform6Open = InterPlatformOpen & InterPlatform6;
1228
+
1229
+ interface IVersion7 {
1230
+ version7: true;
1231
+ }
1232
+ interface ISuggestionWithRawValue<T> {
1233
+ value: T;
1234
+ rawValue: T;
1235
+ }
1236
+ type FieldGw7 = ServerIndependentFieldTypes | V7SuggestField<IStringSuggestField> | V7SuggestField<IStringListSuggestField> | V7SuggestField<IIntSuggestField> | V7SuggestField<IDecimalSuggestField> | V7SuggestField<IDoubleSuggestField>;
1237
+ type OmitProp<T, K extends keyof T> = Pick<T, ({
1238
+ [P in keyof T]: P;
1239
+ } & {
1240
+ [P in K]: never;
1241
+ } & {
1242
+ [x: string]: never;
1243
+ })[keyof T]>;
1244
+ type V7SuggestField<T extends ISuggestField<any>> = OmitProp<T, "suggestedValues"> & {
1245
+ suggestedValues: Array<ISuggestionWithRawValue<T extends ISuggestField<infer U> ? U : any>>;
1246
+ };
1247
+ type FieldCommon7 = FieldGw7 | FieldOpen;
1248
+ type InterPlatform7 = IInterPlatform & IQueryPart<IMassQueryResult> & IVersion7;
1249
+ type InterPlatform7Common = InterPlatform7 & IDataObjectSchemaPart<FieldCommon7>;
1250
+ type InterPlatform7Gw = InterPlatformGw & InterPlatform7 & IDataObjectSchemaPart<FieldGw7>;
1251
+ type InterPlatform7Open = InterPlatformOpen & InterPlatform7;
1252
+
1253
+ interface IServerSpecificVersionAPIDefinition {
1254
+ common: IInterPlatform;
1255
+ gw: IInterPlatform;
1256
+ open: IInterPlatform;
1257
+ }
1258
+ type ServerType = keyof IServerSpecificVersionAPIDefinition;
1259
+ interface IAPIVersions {
1260
+ [version: string]: IServerSpecificVersionAPIDefinition;
1261
+ "6.0": {
1262
+ common: InterPlatform6Common;
1263
+ gw: InterPlatform6Gw;
1264
+ open: InterPlatform6Open;
1265
+ };
1266
+ "7.0": {
1267
+ common: InterPlatform7Common;
1268
+ gw: InterPlatform7Gw;
1269
+ open: InterPlatform7Open;
1270
+ };
1271
+ }
1272
+ type APIVersion = "6.0" | "7.0";
1273
+ type FieldTypesV7<PLATFORM> = PLATFORM extends IOpenSpecific ? FieldOpen : PLATFORM extends IGwSpecific ? FieldGw7 : FieldCommon7;
1274
+ type FieldTypesV6<PLATFORM> = PLATFORM extends IOpenSpecific ? FieldOpen : PLATFORM extends IGwSpecific ? FieldGw : FieldCommon;
1275
+ type FieldTypes<PLATFORM> = PLATFORM extends IVersion7 ? FieldTypesV7<PLATFORM> : FieldTypesV6<PLATFORM>;
1276
+
1277
+ interface IFetchWrapper {
1278
+ fetch: typeof fetch;
1279
+ }
1280
+ interface ITypedJSONResponse<T> extends Response {
1281
+ json(): Promise<T>;
1282
+ }
1283
+ interface ITypedRequestInit<T extends IRestypedRoute> extends RequestInit {
1284
+ body?: T["body"];
1285
+ params?: T["params"];
1286
+ query?: T["query"];
1287
+ }
1288
+ declare class RestypedFetch<APIDef extends IRestypedBase> {
1289
+ private version;
1290
+ private server;
1291
+ private fetcher?;
1292
+ constructor(version?: APIVersion, server?: ServerType, fetcher?: IFetchWrapper);
1293
+ get<Path extends keyof APIDef>(path: Path, config?: ITypedRequestInit<APIDef[Path]["GET"]>): Promise<ITypedJSONResponse<APIDef[Path]["GET"]["response"]>>;
1294
+ post<Path extends keyof APIDef>(path: Path, config: ITypedRequestInit<APIDef[Path]["POST"]>): Promise<ITypedJSONResponse<APIDef[Path]["POST"]["response"]>>;
1295
+ put<Path extends keyof APIDef>(path: Path, config: ITypedRequestInit<APIDef[Path]["PUT"]>): Promise<ITypedJSONResponse<APIDef[Path]["PUT"]["response"]>>;
1296
+ delete<Path extends keyof APIDef>(path: Path, config: ITypedRequestInit<APIDef[Path]["DELETE"]>): Promise<ITypedJSONResponse<APIDef[Path]["DELETE"]["response"]>>;
1297
+ patch<Path extends keyof APIDef>(path: Path, config: ITypedRequestInit<APIDef[Path]["PATCH"]>): Promise<APIDef[Path]["PATCH"]["response"]>;
1298
+ options<Path extends keyof APIDef>(path: Path, config: ITypedRequestInit<APIDef[Path]["OPTIONS"]>): Promise<ITypedJSONResponse<APIDef[Path]["OPTIONS"]["response"]>>;
1299
+ head<Path extends keyof APIDef>(path: Path, config: ITypedRequestInit<APIDef[Path]["HEAD"]>): Promise<ITypedJSONResponse<APIDef[Path]["HEAD"]["response"]>>;
1300
+ private camelToDash;
1301
+ private isBoolean;
1302
+ proxy<Path extends keyof APIDef, Method extends keyof APIDef[Path]>(path: Path | string, method: Method, config?: ITypedRequestInit<IRestypedRoute>): Promise<ITypedJSONResponse<APIDef[Path][Method]["response"]>>;
1303
+ }
1304
+
1305
+ type Methods = "GET" | "POST" | "PUT" | "PATCH" | "HEAD" | "DELETE" | "OPTIONS";
1306
+ interface IAPIResponse<T> {
1307
+ readonly headers: Headers;
1308
+ readonly data: T;
1309
+ }
1310
+ declare class FetchError extends Error {
1311
+ status: number;
1312
+ statusText: string;
1313
+ text: string;
1314
+ constructor(status: number, statusText: string, text?: string);
1315
+ }
1316
+ declare abstract class RequestBuilder<ApiDef extends IRestypedBase, Path extends keyof ApiDef, Method extends Methods = "GET", ReturnType = ApiDef[Path][Method]["response"], ServerResponseType = ApiDef[Path][Method]["response"]> {
1317
+ protected typedFetch: RestypedFetch<ApiDef>;
1318
+ private _path;
1319
+ private _method;
1320
+ private _parameters;
1321
+ private _transform;
1322
+ protected _query: ApiDef[Path][Method]["query"];
1323
+ protected _body: unknown;
1324
+ protected _headers: HeadersInit;
1325
+ private _execution;
1326
+ constructor(typedFetch: RestypedFetch<ApiDef>, _path: Path, _method?: Method, _parameters?: ApiDef[Path][Method]["params"] | NoPathParams, _transform?: (response: ITypedJSONResponse<ServerResponseType>) => Promise<ReturnType>);
1327
+ setQueryParameter<Property extends keyof ApiDef[Path][Method]["query"]>(property: Property, value: ApiDef[Path][Method]["query"][Property]): this;
1328
+ protected setBody(body: unknown): this;
1329
+ setAcceptHeader(accept: string): this;
1330
+ setContentType(contentType: string): this;
1331
+ setHeader(key: string, value: string): this;
1332
+ protected prepareRequest(): Promise<ITypedJSONResponse<ReturnType>>;
1333
+ execute(): Promise<IAPIResponse<ReturnType>>;
1334
+ then<TResult1 = IAPIResponse<ReturnType>, TResult2 = never>(onfulfilled?: ((value: IAPIResponse<ReturnType>) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): Promise<TResult1 | TResult2>;
1335
+ catch<TResult = never>(onrejected?: (reason: any) => TResult | PromiseLike<TResult>): Promise<IAPIResponse<ReturnType> | TResult>;
1336
+ protected transformStream(response: Response): Promise<ReturnType>;
1337
+ protected handleErrorResponse(response: Response): Promise<ReturnType>;
1338
+ }
1339
+
1340
+ /**
1341
+ * Provides builders for record specific REST operations
1342
+ */
1343
+ interface IDataObjectService<PLATFORM extends IInterPlatform> {
1344
+ /**
1345
+ * Creates a builder which can be used to delete a given record
1346
+ * @param type type of the record to be deleted e.g. ADDRESS
1347
+ * @param gguid unique identifier of the record to be deleted
1348
+ */
1349
+ deleteObject(type: string, gguid: GUID): DeleteObjectRequestBuilder<PLATFORM>;
1350
+ /**
1351
+ * Creates a builder which can be used to retrieve a given record
1352
+ * @param type type of the record to be retrieved e.g. ADDRESS
1353
+ * @param gguid unique identifier of the record to be retrieved
1354
+ */
1355
+ getObject(type: string, gguid: GUID): GetObjectRequestBuilder<PLATFORM>;
1356
+ /**
1357
+ * Creates a builder which can be used to retrieve a list of records
1358
+ * @param type type of the record to be retrieved e.g. ADDRESS
1359
+ */
1360
+ getObjectList(type: string): GetFullObjectListRequestBuilder<PLATFORM>;
1361
+ /**
1362
+ * Creates a builder which can be used to retrieve a list of records
1363
+ * Please note that the result contains only a fraction of the available
1364
+ * information. It can be used to access data in an efficient way with
1365
+ * less network traffic.
1366
+ * @param type type of the records to be retrieved e.g. ADDRESS
1367
+ */
1368
+ getPartialObjectList(type: string): GetPartialObjectListRequestBuilder<PLATFORM>;
1369
+ /**
1370
+ * Creates a builder which can be used to retrieve the amount of records
1371
+ * for the given type.
1372
+ * @param type type of the records to operate on e.g. ADDRESS
1373
+ */
1374
+ getObjectListCount(type: string): GetObjectListCountRequestBuilder<PLATFORM>;
1375
+ /**
1376
+ * Creates a builder which can be used to save a given record.
1377
+ * Please note that during the saving process the object is going
1378
+ * to be normalized to match the contract given by the API.
1379
+ * @param dataObject the record to be saved
1380
+ */
1381
+ saveObject(dataObject: IDataObject): PutObjectRequestBuilder<PLATFORM, void>;
1382
+ /**
1383
+ * Creates a builder which can be used to save and then retrieve
1384
+ * a given record.
1385
+ * Please note that during the saving process the object is going
1386
+ * to be normalized to match the contract given by the API.
1387
+ * @param dataObject the record to be saved
1388
+ */
1389
+ saveAndReturnObject(dataObject: IDataObject): PutObjectRequestBuilder<PLATFORM, IDataObject>;
1390
+ /**
1391
+ * Creates a builder which can be used to create a new record.
1392
+ * @param type type of the record to be created e.g. ADDRESS
1393
+ */
1394
+ createObject(type: string): CreateObjectRequestBuilder<PLATFORM>;
1395
+ /**
1396
+ * Creates a builder which can be used to retrieve the list of permisisons
1397
+ * for the given object.
1398
+ * @param type type of the record e.g. ADDRESS
1399
+ * @param gguid gguid of the record
1400
+ */
1401
+ getPermissionInfo(type: string, gguid: GUID): GetPermissionInfoRequestBuilder<PLATFORM>;
1402
+ /**
1403
+ * Creates a builder which can be used to retrieve the amount of permisisons
1404
+ * for the given object.
1405
+ * @param type type of the record e.g. ADDRESS
1406
+ * @param gguid gguid of the record
1407
+ */
1408
+ getPermissionInfoCount(type: string, gguid: GUID): GetPermissionInfoCountRequestBuilder<PLATFORM>;
1409
+ /**
1410
+ * Creates a builder which can be used to retrieve the detailed permission
1411
+ * information for the given record and permission.
1412
+ * @param type type of the record e.g. ADDRESS
1413
+ * @param gguid gguid of the record
1414
+ * @param permissionGguid gguid of the permission
1415
+ */
1416
+ getPermissionDetails(type: string, gguid: GUID, permissionGguid: string): GetPermissionDetailsRequestBuilder<PLATFORM>;
1417
+ /**
1418
+ * Creates a builder which can be used to retrieve schema information for
1419
+ * the given type. The schema contains detailed information about the record
1420
+ * type e.g. all available fields and their types.
1421
+ * @param type record type e.g. ADDRESS
1422
+ */
1423
+ getObjectSchema(type: string): GetObjectSchemaRequestBuilder<PLATFORM>;
1424
+ /** Creates a builder which can be used to retrieve meta information for
1425
+ * the given type. This contains information like translations, link
1426
+ * attributes, flags which indicate whether the type is user sensitive,
1427
+ * linkable and more.
1428
+ * @param type record type e.g. ADDRESS
1429
+ */
1430
+ getObjectDescription(type: string): GetObjectDescriptionRequestBuilder<PLATFORM>;
1431
+ /**
1432
+ * Creates a builder which can be used to retrieve the image
1433
+ * for a given record type.
1434
+ * @param type record type e.g. ADDRESS
1435
+ */
1436
+ getRecordTypeImage(type: string): GetRecordTypeImageRequestBuilder<PLATFORM, ArrayBuffer>;
1437
+ /**
1438
+ * Creates a builder which can be used to retrieve the image
1439
+ * for a given record type.
1440
+ * This can then be used to create a URL which can be used as e.g.
1441
+ * the src attribute of an img element.
1442
+ * @param type record type e.g. ADDRESS
1443
+ */
1444
+ getRecordTypeImageBlob(type: string): GetRecordTypeImageRequestBuilder<PLATFORM, Blob>;
1445
+ /**
1446
+ * Creates a builder which can be used to retrieve the result of the given
1447
+ * query.
1448
+ * Please note that the query syntax is limited to the Select operation.
1449
+ * @param query the query to be executed
1450
+ */
1451
+ query(query: string): QueryRequestBuilder<PLATFORM>;
1452
+ /**
1453
+ * Creates a builder which can be used to retrieve a list of recently
1454
+ * used records.
1455
+ * @param type type of the record to be retrieved e.g. ADDRESS
1456
+ */
1457
+ getRecentlyUsedObjectList(type: string): GetRecentlyUsedObjectListRequestBuilder<PLATFORM>;
1458
+ /**
1459
+ * Creates a builder which can be used to mask the given record
1460
+ * as recently used.
1461
+ * @param type record type e.g. ADDRESS
1462
+ * @param gguid gguid of the record
1463
+ */
1464
+ maskAsRecentlyUsedDataObject(type: string, gguid: GUID): MaskAsRecentlyUsedDataObjectRequestBuilder<PLATFORM>;
1465
+ }
1466
+ declare class DataObjectNormalizer {
1467
+ normalizeDataObject(dataObject: Partial<IDataObject>): Partial<IDataObject>;
1468
+ normalizePermissions(permissions?: IPermission[]): IPermission[];
1469
+ }
1470
+ declare class PutObjectRequestBuilder<PLATFORM extends IInterPlatform, T> extends RequestBuilder<PLATFORM, "/type/:dataObjectType/:dataObjectGGUID", "PUT", T> {
1471
+ constructor(typedFetch: RestypedFetch<PLATFORM>, dataObjectNormalizer: DataObjectNormalizer, dao: IDataObject, transform: (response: Response) => Promise<T>);
1472
+ tagAsRecentlyUsed(tagAsRecentlyUsed?: boolean): this;
1473
+ }
1474
+ declare class DeleteObjectRequestBuilder<PLATFORM extends IInterPlatform> extends RequestBuilder<PLATFORM, "/type/:dataObjectType/:dataObjectGGUID", "DELETE"> {
1475
+ constructor(typedFetch: RestypedFetch<PLATFORM>, type: string, gguid: GUID);
1476
+ }
1477
+ declare class GetObjectRequestBuilder<PLATFORM extends IInterPlatform> extends RequestBuilder<PLATFORM, "/type/:dataObjectType/:dataObjectGGUID"> {
1478
+ constructor(typedFetch: RestypedFetch<PLATFORM>, type: string, gguid: GUID);
1479
+ withPreconfiguredFields(fields: string): this;
1480
+ withFields(fields: string[]): this;
1481
+ includePermissions(includePermissions?: boolean): this;
1482
+ includeSyncrecordPermissions(includeSyncrecordPermissions?: boolean): this;
1483
+ tagAsRecentlyUsed(tagAsRecentlyUsed?: boolean): this;
1484
+ includeMaxjournalid(includeMaxjournalid?: boolean): this;
1485
+ isFavorite(isFavorite?: boolean): this;
1486
+ }
1487
+ declare abstract class GetObjectListRequestBuilder<ApiDef extends IRestypedBase, Path extends keyof ApiDef, Method extends Methods = "GET"> extends RequestBuilder<ApiDef, Path, Method, IDataObject[]> {
1488
+ constructor(typedFetch: RestypedFetch<ApiDef>, _path: Path, _method?: Method, params?: ApiDef[Path][Method]["params"] | NoPathParams);
1489
+ forPage(page: number): this;
1490
+ withEntriesPerPage(entriesPerPage: number): this;
1491
+ withPreconfiguredFields(fields: string): this;
1492
+ withFields(fields: string[]): this;
1493
+ withPreconfiguredTeamFilter(teamFilter: string): this;
1494
+ withTeamFilter(teamFilter: ITeamFilter): this;
1495
+ whenUpdatedAfter(updatedAfter: Date): this;
1496
+ whenInsertedAfter(insertedAfter: Date): this;
1497
+ withIntervalStart(intervalStart: Date): this;
1498
+ withIntervalEnd(intervalEnd: Date): this;
1499
+ withSearchTerm(searchTerm: string): this;
1500
+ withPreconfiguredOrderBy(orderBy: string): this;
1501
+ orderBy(orderBy: string, isAscending?: boolean): this;
1502
+ whenLinkedTo(linkedToType: string, linkedTo: string[], linkedToAttributes?: string[]): this;
1503
+ }
1504
+ declare class GetFullObjectListRequestBuilder<PLATFORM extends IInterPlatform> extends GetObjectListRequestBuilder<PLATFORM, "/type/:dataObjectType/full"> {
1505
+ constructor(typedFetch: RestypedFetch<PLATFORM>, type: string);
1506
+ }
1507
+ declare class GetPartialObjectListRequestBuilder<PLATFORM extends IInterPlatform> extends GetObjectListRequestBuilder<PLATFORM, "/type/:dataObjectType/list"> {
1508
+ constructor(typedFetch: RestypedFetch<PLATFORM>, type: string);
1509
+ }
1510
+ declare class GetObjectListCountRequestBuilder<PLATFORM extends IInterPlatform> extends RequestBuilder<PLATFORM, "/type/:dataObjectType/count"> {
1511
+ constructor(typedFetch: RestypedFetch<PLATFORM>, type: string);
1512
+ withPreconfiguredTeamFilter(teamFilter: string): this;
1513
+ withTeamFilter(teamFilter: ITeamFilter): this;
1514
+ whenUpdatedAfter(updatedAfter: Date): this;
1515
+ whenInsertedAfter(insertedAfter: Date): this;
1516
+ withIntervalStart(intervalStart: Date): this;
1517
+ withIntervalEnd(intervalEnd: Date): this;
1518
+ withSearchTerm(searchTerm: string): this;
1519
+ whenLinkedTo(linkedToType: string, linkedTo: GUID[], linkedToAttributes?: string[]): this;
1520
+ }
1521
+ declare class CreateObjectRequestBuilder<PLATFORM extends IInterPlatform> extends RequestBuilder<PLATFORM, "/type/:dataObjectType", "POST", IDataObject> {
1522
+ private dataObjectNormalizer;
1523
+ constructor(typedFetch: RestypedFetch<PLATFORM>, dataObjectNormalizer: DataObjectNormalizer, type: string);
1524
+ withTemplateGguid(templateGguid: GUID): this;
1525
+ tagAsRecentlyUsed(tagAsRecentlyUsed?: boolean): this;
1526
+ setDataObject(dataObject: Partial<IDataObject>): this;
1527
+ }
1528
+ declare class GetPermissionDetailsRequestBuilder<PLATFORM extends IInterPlatform> extends RequestBuilder<PLATFORM, "/type/:dataObjectType/:dataObjectGGUID/permission/:permissionGGUID"> {
1529
+ constructor(typedFetch: RestypedFetch<PLATFORM>, type: string, gguid: GUID, permissionGGUID: string);
1530
+ }
1531
+ declare class GetPermissionInfoRequestBuilder<PLATFORM extends IInterPlatform> extends RequestBuilder<PLATFORM, "/type/:dataObjectType/:dataObjectGGUID/permission/full"> {
1532
+ constructor(typedFetch: RestypedFetch<PLATFORM>, type: string, gguid: GUID);
1533
+ }
1534
+ declare class GetPermissionInfoCountRequestBuilder<PLATFORM extends IInterPlatform> extends RequestBuilder<PLATFORM, "/type/:dataObjectType/:dataObjectGGUID/permission/count"> {
1535
+ constructor(typedFetch: RestypedFetch<PLATFORM>, type: string, gguid: GUID);
1536
+ }
1537
+ declare class GetObjectSchemaRequestBuilder<PLATFORM extends IInterPlatform> extends RequestBuilder<PLATFORM, "/type/:dataObjectType/schema", "GET"> {
1538
+ constructor(typedFetch: RestypedFetch<PLATFORM>, type: string);
1539
+ private normalizeMandatoryAndOptionalFlag;
1540
+ }
1541
+ declare class GetObjectDescriptionRequestBuilder<PLATFORM extends IInterPlatform> extends RequestBuilder<PLATFORM, "/type/:dataObjectType/description"> {
1542
+ constructor(typedFetch: RestypedFetch<PLATFORM>, type: string);
1543
+ }
1544
+ declare class QueryRequestBuilder<PLATFORM extends IInterPlatform> extends RequestBuilder<PLATFORM, "/query", "POST", IMassQueryResult, IMassQueryResult | QueryResponseLegacyGw> {
1545
+ constructor(typedFetch: RestypedFetch<PLATFORM>, query: string);
1546
+ private normalizeMassData;
1547
+ private isLegacyGwResponse;
1548
+ forPage(page: number): this;
1549
+ withEntriesPerPage(entriesPerPage: number): this;
1550
+ includePrivateForeignrecords(includePrivateForeignrecords: boolean): this;
1551
+ }
1552
+ declare class GetRecordTypeImageRequestBuilder<PLATFORM extends IInterPlatform, T> extends RequestBuilder<PLATFORM, "/type/:dataObjectType/image", "GET", T> {
1553
+ constructor(typedFetch: RestypedFetch<PLATFORM>, type: string, transform: (response: Response) => Promise<T>);
1554
+ forIconType(iconType: string): this;
1555
+ }
1556
+ declare class GetRecentlyUsedObjectListRequestBuilder<PLATFORM extends IInterPlatform> extends RequestBuilder<PLATFORM, "/type/:dataObjectType/recent/list"> {
1557
+ constructor(typedFetch: RestypedFetch<PLATFORM>, type: string);
1558
+ withFields(fields: string[]): this;
1559
+ withWhereString(whereString: string): this;
1560
+ }
1561
+ declare class MaskAsRecentlyUsedDataObjectRequestBuilder<PLATFORM extends IInterPlatform> extends RequestBuilder<PLATFORM, "/type/:dataObjectType/:dataObjectGGUID/recent", "POST"> {
1562
+ constructor(typedFetch: RestypedFetch<PLATFORM>, dataObjectType: string, dataObjectGGUID: GUID);
1563
+ }
1564
+
1565
+ /**
1566
+ * Provides builders to link specific REST operations
1567
+ */
1568
+ interface ILinkingService<PLATFORM extends IInterPlatform> {
1569
+ /**
1570
+ * Creates a builder which can be used to create a link between two objects
1571
+ * @param type the type of the record to be linked e.g. ADDRESS
1572
+ * @param gguid the gguid of the record to be linked
1573
+ */
1574
+ linkDataObject(type: string, gguid: GUID): PostDossierRequestBuilder<PLATFORM>;
1575
+ /**
1576
+ * Creates a builder which can be used to delete an existing dossier entry.
1577
+ */
1578
+ deleteLink(dossierEntry: IDossierEntry): DeleteLinkRequestBuilder<PLATFORM>;
1579
+ /**
1580
+ * Creates a builder which can be used to delete an existing link between two objects.
1581
+ * @param type the type of the record e.g. ADDRESS
1582
+ * @param gguid the gguid of the record
1583
+ * @param dossierentryGGUID the gguid of the dossier entry
1584
+ */
1585
+ deleteLink(type: string, gguid: GUID, dossierentryGGUID: GUID): DeleteLinkRequestBuilder<PLATFORM>;
1586
+ /**
1587
+ * Creates a builder which can be used to retrieve the detailed information
1588
+ * of a dossier entry which is linked to a given record.
1589
+ * @param type the type of the record e.g. ADDRESS
1590
+ * @param gguid the gguid of the record
1591
+ * @param dossierentryGGUID the gguid of the dossier entry
1592
+ */
1593
+ getDossierEntry(type: string, gguid: GUID, dossierentryGGUID: GUID): GetDossierEntryRequestBuilder<PLATFORM>;
1594
+ /**
1595
+ * Creates a builder which can be used to retrieve amount of dossier entries
1596
+ * which are linked to a given record.
1597
+ * @param type the type of the record e.g. ADDRESS
1598
+ * @param gguid the gguid of the record
1599
+ */
1600
+ getDossierCount(type: string, gguid: GUID): GetDossierCountRequestBuilder<PLATFORM>;
1601
+ /**
1602
+ * Creates a builder which can be used to retrieve a list of dossier entries
1603
+ * which are linked to a given record.
1604
+ * @param type the type of the record e.g. ADDRESS
1605
+ * @param gguid the gguid of the record
1606
+ */
1607
+ getDossier(type: string, gguid: GUID): GetDossierRequestBuilder<PLATFORM>;
1608
+ /**
1609
+ * Creates a builder which can be used to retrieve the list of primary linked
1610
+ * parent records
1611
+ * @param type the type of the record e.g. ADDRESS
1612
+ * @param gguid the gguid of the record
1613
+ */
1614
+ getPrimaryLinkParentsList(type: string, gguid: GUID): GetPrimaryParentsListRequestBuilder<PLATFORM>;
1615
+ }
1616
+ declare class PostDossierRequestBuilder<PLATFORM extends IInterPlatform> extends RequestBuilder<PLATFORM, "/type/:dataObjectType/:dataObjectGGUID/dossier", "POST", IDossierEntry> {
1617
+ constructor(typedFetch: RestypedFetch<PLATFORM>, type: string, gguid: GUID);
1618
+ withDataObject(type: string, gguid: GUID): this;
1619
+ withLinkAttribute(linkAttribute: string): this;
1620
+ withRole1(role1: string): this;
1621
+ withRole2(role2: string): this;
1622
+ withLinkDirection(linkDirection: LinkDirection): this;
1623
+ withAdditionalField1(additionalField1: string): this;
1624
+ withAdditionalField2(additionalField2: string): this;
1625
+ }
1626
+ declare class GetDossierEntryRequestBuilder<PLATFORM extends IInterPlatform> extends RequestBuilder<PLATFORM, "/type/:dataObjectType/:dataObjectGGUID/dossier/:dossierentryGGUID"> {
1627
+ constructor(typedFetch: RestypedFetch<PLATFORM>, dataObjectType: string, dataObjectGGUID: GUID, dossierentryGGUID: GUID);
1628
+ }
1629
+ declare class GetDossierCountRequestBuilder<PLATFORM extends IInterPlatform> extends RequestBuilder<PLATFORM, "/type/:dataObjectType/:dataObjectGGUID/dossier/count"> {
1630
+ constructor(typedFetch: RestypedFetch<PLATFORM>, dataObjectType: string, dataObjectGGUID: GUID);
1631
+ }
1632
+ declare class GetDossierRequestBuilder<PLATFORM extends IInterPlatform> extends RequestBuilder<PLATFORM, "/type/:dataObjectType/:dataObjectGGUID/dossier/full"> {
1633
+ constructor(typedFetch: RestypedFetch<PLATFORM>, dataObjectType: string, dataObjectGGUID: GUID);
1634
+ forPage(page: number): this;
1635
+ withEntriesPerPage(entriesPerPage: number): this;
1636
+ forObjectTypes(objectTypes: string | string[]): this;
1637
+ }
1638
+ declare class DeleteLinkRequestBuilder<PLATFORM extends IInterPlatform> extends RequestBuilder<PLATFORM, "/type/:dataObjectType/:dataObjectGGUID/dossier/:dossierentryGGUID", "DELETE"> {
1639
+ constructor(typedFetch: RestypedFetch<PLATFORM>, dataObjectType: string, dataObjectGGUID: GUID, dossierentryGGUID: GUID);
1640
+ }
1641
+ declare class GetPrimaryParentsListRequestBuilder<PLATFORM extends IInterPlatform> extends RequestBuilder<PLATFORM, "/type/:dataObjectType/:dataObjectGGUID/primarylinkparents"> {
1642
+ constructor(typedFetch: RestypedFetch<PLATFORM>, dataObjectType: string, dataObjectGGUID: GUID);
1643
+ }
1644
+
1645
+ /**
1646
+ * Provides builders for address specific REST operations
1647
+ */
1648
+ interface IAddressService<PLATFORM extends IInterPlatform> {
1649
+ /**
1650
+ * Creates a builder which can be used to retrieve a list of addresses.
1651
+ */
1652
+ getAddressList(): GetAddressListRequestBuilder<PLATFORM>;
1653
+ /**
1654
+ * Creates a builder which can be used to retrieve a list of addresses.
1655
+ * Please note that the result contains only a fraction of the available
1656
+ * information. It can be used to access data in an efficient way with
1657
+ * less network traffic.
1658
+ */
1659
+ getPartialAddressList(): GetPartialAddressListRequestBuilder<PLATFORM>;
1660
+ /**
1661
+ * Creates a builder which can be used to retrieve the image of the address
1662
+ * @param addressGguid the id of the address record
1663
+ * Please note that the returned image is an ArrayBuffer in this case.
1664
+ * To display the image it might be more appropriate to use
1665
+ * [[IAddressService.getAddressImageAsBlob]]
1666
+ */
1667
+ getAddressImage(addressGguid: GUID): GetAddressImageRequestBuilder<PLATFORM>;
1668
+ /**
1669
+ * Creates a builder which can be used to retrieve the image of the address
1670
+ * as a [[Blob]]. This can then be used to create a URL which can be used as e.g.
1671
+ * the src attribute of an img element.
1672
+ * @param addressGguid the id of the address record
1673
+ */
1674
+ getAddressImageAsBlob(addressGguid: GUID): GetAddressImageAsBlobRequestBuilder<PLATFORM>;
1675
+ /**
1676
+ * Creates a builder which can be used to update the image of a given address
1677
+ * @param addressGguid the id of the address record
1678
+ * @param eTagOfAddress the ETAG field of an address object, please note that
1679
+ * it is used to guarantee update safety. It can be aquired from a previously
1680
+ * fetched address object.
1681
+ */
1682
+ updateAddressImage(addressGguid: GUID, eTagOfAddress: string): PutAddressImageRequestBuilder<PLATFORM>;
1683
+ /**
1684
+ * Creates a builder which can be used to delete the image of a given address
1685
+ * @param addressGguid the id of the address record
1686
+ */
1687
+ deleteAddressImage(addressGguid: GUID): DeleteAddressImageRequestBuilder<PLATFORM>;
1688
+ }
1689
+ declare class GetAddressImageRequestBuilder<PLATFORM extends IInterPlatform> extends RequestBuilder<PLATFORM, "/type/address/:dataObjectGGUID/image", "GET", ArrayBuffer> {
1690
+ constructor(typedFetch: RestypedFetch<PLATFORM>, addressGguid: GUID);
1691
+ withMaxWidth(maxWidth: number): this;
1692
+ withMaxHeight(maxHeight: number): this;
1693
+ }
1694
+ declare class GetAddressImageAsBlobRequestBuilder<PLATFORM extends IInterPlatform> extends RequestBuilder<PLATFORM, "/type/address/:dataObjectGGUID/image", "GET", Blob> {
1695
+ constructor(typedFetch: RestypedFetch<PLATFORM>, addressGguid: GUID);
1696
+ withMaxWidth(maxWidth: number): this;
1697
+ withMaxHeight(maxHeight: number): this;
1698
+ }
1699
+ declare class DeleteAddressImageRequestBuilder<PLATFORM extends IInterPlatform> extends RequestBuilder<PLATFORM, "/type/address/:dataObjectGGUID/image", "DELETE"> {
1700
+ constructor(typedFetch: RestypedFetch<PLATFORM>, addressGguid: GUID);
1701
+ }
1702
+ declare class PutAddressImageRequestBuilder<PLATFORM extends IInterPlatform> extends RequestBuilder<PLATFORM, "/type/address/:dataObjectGGUID/image", "PUT", void> {
1703
+ private binaryLoader;
1704
+ constructor(typedFetch: RestypedFetch<PLATFORM>, addressGguid: GUID, eTagOfAddress: string);
1705
+ setImageFromArrayBuffer(contentType: string, buffer: ArrayBuffer): this;
1706
+ setImageFromUInt8Array(contentType: string, uInt8Array: Uint8Array): this;
1707
+ setImageFromBase64String(contentType: string, base64: string): this;
1708
+ setImageFromFile(file: File, contentType?: string): this;
1709
+ execute(): Promise<IAPIResponse<void>>;
1710
+ }
1711
+ declare class GetAddressListRequestBuilder<PLATFORM extends IInterPlatform> extends GetFullObjectListRequestBuilder<PLATFORM> {
1712
+ usersOnly(isUser?: boolean | null): this;
1713
+ whenBirthdayIsOn(hasBirthdayOn: Date): this;
1714
+ }
1715
+ declare class GetPartialAddressListRequestBuilder<PLATFORM extends IInterPlatform> extends GetPartialObjectListRequestBuilder<PLATFORM> {
1716
+ usersOnly(isUser?: boolean | null): this;
1717
+ whenBirthdayIsOn(hasBirthdayOn: Date): this;
1718
+ }
1719
+
1720
+ /**
1721
+ * Provides builders for user specific REST operations
1722
+ */
1723
+ interface IUserService<PLATFORM extends IInterPlatform> {
1724
+ /**
1725
+ * Creates a builder which can be used to retrieve detailed
1726
+ * information about a given user.
1727
+ * @param gguid the id of the user
1728
+ */
1729
+ getUser(gguid: GUID): GetUserRequestBuilder<PLATFORM>;
1730
+ /**
1731
+ * Creates a builder which can be used to retrieve the user image
1732
+ * for a given user.
1733
+ * @param user the user for whom the image should be retrieved
1734
+ */
1735
+ getUserImage(user: IUserInfo): GetAddressImageRequestBuilder<PLATFORM>;
1736
+ /**
1737
+ * Creates a builder which can be used to retrieve the user image
1738
+ * of a given user as a [[Blob]].
1739
+ * This can then be used to create a URL which can be used as e.g.
1740
+ * the src attribute of an img element.
1741
+ * @param user the user for whom the image should be retrieved
1742
+ */
1743
+ getUserImageAsBlob(user: IUserInfo): GetAddressImageAsBlobRequestBuilder<PLATFORM>;
1744
+ /**
1745
+ * Creates a builder which can be used to retrieve the amount of users.
1746
+ */
1747
+ getUserCount(): GetUserCountRequestBuilder<PLATFORM>;
1748
+ /**
1749
+ * Creates a builder which can be used to retrieve a list of users.
1750
+ */
1751
+ getUserList(): GetFullUserListRequestBuilder<PLATFORM>;
1752
+ /**
1753
+ * Creates a builder which can be used to retrieve a list of users.
1754
+ * Please note that the result contains only a fraction of the available
1755
+ * information. It can be used to access data in an efficient way with
1756
+ * less network traffic.
1757
+ */
1758
+ getPartialUserList(): GetPartialUserListRequestBuilder<PLATFORM>;
1759
+ /**
1760
+ * Creates a builder which can be used to retrieve information about
1761
+ * the currently logged in user.
1762
+ */
1763
+ getLoggedInUser(): GetLoggedInUserInfoRequestBuilder<PLATFORM>;
1764
+ /**
1765
+ * Creates a builder which can be used to retrieve login related information.
1766
+ */
1767
+ getLoginInformation(): GetLoginInformationRequestBuilder<PLATFORM>;
1768
+ }
1769
+ declare class GetUserRequestBuilder<PLATFORM extends IInterPlatform> extends RequestBuilder<PLATFORM, "/user/:GGUID"> {
1770
+ constructor(typedFetch: RestypedFetch<PLATFORM>, gguid: GUID);
1771
+ withPreconfiguredFields(fields: string): this;
1772
+ withFields(fields: string[]): this;
1773
+ includePrivilegedOperations(includePrivilegedOperations?: boolean): this;
1774
+ }
1775
+ declare class GetUserCountRequestBuilder<PLATFORM extends IInterPlatform> extends RequestBuilder<PLATFORM, "/user/count"> {
1776
+ constructor(typedFetch: RestypedFetch<PLATFORM>);
1777
+ forObjectType(objectType: string): this;
1778
+ withMinimumPermission(minPermission: ForeignEditPermission): this;
1779
+ }
1780
+ declare class GetUserListRequestBuilder<ApiDef extends IRestypedBase, Path extends keyof ApiDef, Method extends Methods = "GET"> extends RequestBuilder<ApiDef, Path, Method, IUserInfo[]> {
1781
+ constructor(typedFetch: RestypedFetch<ApiDef>, path: Path, method?: Method, parameters?: ApiDef[Path][Method]["params"] | NoPathParams);
1782
+ forPage(page: number): this;
1783
+ withEntriesPerPage(entriesPerPage: number): this;
1784
+ withPreconfiguredFields(fields: string): this;
1785
+ withFields(fields: string[]): this;
1786
+ forObjectType(objectType: string): this;
1787
+ withMinimumPermission(minPermission: ForeignEditPermission): this;
1788
+ withDomainGuid(domainGuid: string): this;
1789
+ }
1790
+ declare class GetFullUserListRequestBuilder<PLATFORM extends IInterPlatform> extends GetUserListRequestBuilder<PLATFORM, "/user/full"> {
1791
+ constructor(typedFetch: RestypedFetch<PLATFORM>);
1792
+ }
1793
+ declare class GetPartialUserListRequestBuilder<PLATFORM extends IInterPlatform> extends GetUserListRequestBuilder<PLATFORM, "/user/list"> {
1794
+ constructor(typedFetch: RestypedFetch<PLATFORM>);
1795
+ }
1796
+ declare class GetLoggedInUserInfoRequestBuilder<PLATFORM extends IInterPlatform> extends RequestBuilder<PLATFORM, "/user/self"> {
1797
+ constructor(typedFetch: RestypedFetch<PLATFORM>);
1798
+ withPreconfiguredFields(fields: string): this;
1799
+ withFields(fields: string[]): this;
1800
+ includePrivilegedOperations(includePrivilegedOperations?: boolean): this;
1801
+ }
1802
+ declare class GetLoginInformationRequestBuilder<PLATFORM extends IInterPlatform> extends RequestBuilder<PLATFORM, "/user/self/logininformation"> {
1803
+ constructor(typedFetch: RestypedFetch<PLATFORM>);
1804
+ }
1805
+
1806
+ /**
1807
+ * Provides builders for appointment specific REST operations
1808
+ */
1809
+ interface IAppointmentService<PLATFORM extends IInterPlatform> {
1810
+ /**
1811
+ * Creates a builder which can be used to retrieve the detailed participant information
1812
+ * for the given appointment and participant.
1813
+ * @param gguid unique identifier of the record to be retrieved
1814
+ * @param participantGGUID gguid of the participant
1815
+ */
1816
+ getParticipantDetails(gguid: GUID, participantGGUID: GUID): GetParticipantDetailsRequestBuilder<PLATFORM>;
1817
+ /**
1818
+ * Creates a builder which can be used to retrieve the list of participant
1819
+ * information for the given appointment.
1820
+ * @param gguid unique identifier of the record to be retrieved
1821
+ */
1822
+ getParticipantInfo(gguid: GUID): GetParticipantInfoRequestBuilder<PLATFORM>;
1823
+ /**
1824
+ * Creates a builder which can be used to retrieve the amount of participants
1825
+ * for the given appointment.
1826
+ * @param gguid unique identifier of the record to be retrieved
1827
+ */
1828
+ getParticipantInfoCount(gguid: GUID): GetParticipantInfoCountRequestBuilder<PLATFORM>;
1829
+ }
1830
+ declare class GetParticipantDetailsRequestBuilder<PLATFORM extends IInterPlatform> extends RequestBuilder<PLATFORM, "/type/appointment/:dataObjectGGUID/participant/:participantGGUID"> {
1831
+ constructor(typedFetch: RestypedFetch<PLATFORM>, gguid: GUID, participantGGUID: GUID);
1832
+ }
1833
+ declare class GetParticipantInfoRequestBuilder<PLATFORM extends IInterPlatform> extends RequestBuilder<PLATFORM, "/type/appointment/:dataObjectGGUID/participant/full"> {
1834
+ constructor(typedFetch: RestypedFetch<PLATFORM>, gguid: GUID);
1835
+ }
1836
+ declare class GetParticipantInfoCountRequestBuilder<PLATFORM extends IInterPlatform> extends RequestBuilder<PLATFORM, "/type/appointment/:dataObjectGGUID/participant/count"> {
1837
+ constructor(typedFetch: RestypedFetch<PLATFORM>, gguid: GUID);
1838
+ }
1839
+
1840
+ /**
1841
+ * Provides a builder to retrieve server version information
1842
+ */
1843
+ interface IServerInformationService<PLATFORM extends IInterPlatform> {
1844
+ /**
1845
+ * Creates a builder which can be used to retrieve server version information
1846
+ */
1847
+ getServerVersion(): ServerVersionRequestBuilder<PLATFORM>;
1848
+ }
1849
+ declare class ServerVersionRequestBuilder<PLATFORM extends IInterPlatform> extends RequestBuilder<PLATFORM, "/version/server", "GET", IServerVersion, IServerVersion | IServerVersionResponseGw> {
1850
+ constructor(typedFetch: RestypedFetch<PLATFORM>);
1851
+ private isGwResponse;
1852
+ }
1853
+
1854
+ /**
1855
+ * Provides builders for email store specific REST operations.
1856
+ */
1857
+ interface IEmailStoreService<PLATFORM extends IInterPlatform> {
1858
+ /**
1859
+ * Creates a builder which can be used to retrieve content associated
1860
+ * with the given email store record
1861
+ * @param dataObjectGGUID unique identifier of the email store record
1862
+ */
1863
+ getEmail(dataObjectGGUID: GUID): GetEmailStoreRequestBuilder<PLATFORM>;
1864
+ /**
1865
+ * Creates a builder which can be used to update the content associated
1866
+ * with the given the email store record
1867
+ * @param dataObjectGGUID unique identifier of the email store record
1868
+ */
1869
+ archiveEmail(): PostEmailStoreRequestBuilder<PLATFORM>;
1870
+ }
1871
+ declare class PostEmailStoreRequestBuilder<PLATFORM extends IInterPlatform> extends RequestBuilder<PLATFORM, "/type/emailstore/file", "POST", IDataObject> {
1872
+ private static readonly DEFAULT_MESSAGE_MIME_TYPE;
1873
+ private binaryLoader;
1874
+ constructor(typedFetch: RestypedFetch<PLATFORM>, dataObjectService: IDataObjectService<PLATFORM>);
1875
+ withForeignEditPermissionRestriction(foreignEditPermissionRestriction: ForeignEditPermission): this;
1876
+ setContentFromArrayBuffer(buffer: ArrayBuffer, contentType?: string): this;
1877
+ setContentFromUInt8Array(uInt8Array: Uint8Array, contentType?: string): this;
1878
+ setContentFromBase64String(base64: string, contentType?: string): this;
1879
+ setContentFromFile(file: File, contentType?: string): this;
1880
+ setContent(content: string, contentType?: string): this;
1881
+ execute(): Promise<IAPIResponse<IDataObject>>;
1882
+ }
1883
+ declare class GetEmailStoreRequestBuilder<PLATFORM extends IInterPlatform> extends RequestBuilder<PLATFORM, "/type/emailstore/:dataObjectGGUID/file", "GET", ArrayBuffer> {
1884
+ constructor(typedFetch: RestypedFetch<PLATFORM>, dataObjectGGUID: GUID);
1885
+ withHtmlFilter(htmlFilter: HtmlFilter): this;
1886
+ }
1887
+
1888
+ /**
1889
+ * Provides builders for view specific REST operations
1890
+ */
1891
+ interface IViewService<PLATFORM extends IInterPlatform> {
1892
+ /**
1893
+ * Creates a builder which can be used to retrieve the list of views
1894
+ * for the given type
1895
+ * @param dataObjectType type of the view to be retrieved e.g. ADDRESS
1896
+ */
1897
+ getViewsForType(dataObjectType: string): GetViewsForTypeRequestBuilder<PLATFORM>;
1898
+ /**
1899
+ * Creates a builder which can be used to retrieve the amount of views
1900
+ * for the given type
1901
+ * @param dataObjectType type of the view to be retrieved e.g. ADDRESS
1902
+ */
1903
+ getViewCountForType(dataObjectType: string): GetViewCountForTypeRequestBuilder<PLATFORM>;
1904
+ /**
1905
+ * Creates a builder which can be used to retrieve additional information
1906
+ * about the given view
1907
+ * @param dataObjectType type of the view to be retrieved e.g. ADDRESS
1908
+ * @param viewID unique identifier of the view to be retrieved
1909
+ */
1910
+ getViewDetails(dataObjectType: string, viewID: string): GetViewForTypeRequestBuilder<PLATFORM>;
1911
+ /**
1912
+ * Creates a builder which can be used to retrieve a list of records
1913
+ * for the given view
1914
+ * Please note that the result contains only a fraction of the available
1915
+ * information. It can be used to access data in an efficient way with
1916
+ * less network traffic.
1917
+ * @param dataObjectType type of the records to be retrieved e.g. ADDRESS
1918
+ * @param viewID unique identifier of the view to be retrieved
1919
+ */
1920
+ getPartialItemsForView(dataObjectType: string, viewID: string): GetPartialItemsForViewRequestBuilder<PLATFORM>;
1921
+ /**
1922
+ * Creates a builder which can be used to retrieve a list of records
1923
+ * for the given view
1924
+ * @param dataObjectType type of the records to be retrieved e.g. ADDRESS
1925
+ * @param viewID unique identifier of the view to be retrieved
1926
+ */
1927
+ getItemsForView(dataObjectType: string, viewID: string): GetItemsForViewRequestBuilder<PLATFORM>;
1928
+ /**
1929
+ * Creates a builder which can be used to retrieve the amount of records
1930
+ * for the given view
1931
+ * @param dataObjectType type of the records to be retrieved e.g. ADDRESS
1932
+ * @param viewID unique identifier of the view to be retrieved
1933
+ */
1934
+ getItemCountForView(dataObjectType: string, viewID: string): GetItemCountForViewRequestBuilder<PLATFORM>;
1935
+ }
1936
+ declare abstract class GetViewItemsRequestBuilder<ApiDef extends IRestypedBase, Path extends keyof ApiDef, Method extends Methods = "GET"> extends RequestBuilder<ApiDef, Path, Method, IDataObject[]> {
1937
+ constructor(typedFetch: RestypedFetch<ApiDef>, _path: Path, _method?: Method, params?: ApiDef[Path][Method]["params"] | NoPathParams);
1938
+ forPage(page: number): this;
1939
+ withEntriesPerPage(entriesPerPage: number): this;
1940
+ withPreconfiguredFields(fields: string): this;
1941
+ withFields(fields: string[]): this;
1942
+ whenUpdatedAfter(updatedAfter: Date): this;
1943
+ whenInsertedAfter(insertedAfter: Date): this;
1944
+ withIntervalStart(intervalStart: Date): this;
1945
+ withIntervalEnd(intervalEnd: Date): this;
1946
+ withSearchTerm(searchTerm: string): this;
1947
+ withPreconfiguredOrderBy(orderBy: string): this;
1948
+ orderBy(orderBy: string, isAscending?: boolean): this;
1949
+ whenLinkedTo(linkedToType: string, linkedTo: string[], linkedToAttributes?: string[]): this;
1950
+ }
1951
+ declare class GetViewsForTypeRequestBuilder<PLATFORM extends IInterPlatform> extends RequestBuilder<PLATFORM, "/type/:dataObjectType/view/list"> {
1952
+ constructor(typedFetch: RestypedFetch<PLATFORM>, dataObjectType: string);
1953
+ forPage(page: number): this;
1954
+ withEntriesPerPage(entriesPerPage: number): this;
1955
+ forViewKind(viewKind: string): this;
1956
+ }
1957
+ declare class GetViewCountForTypeRequestBuilder<PLATFORM extends IInterPlatform> extends RequestBuilder<PLATFORM, "/type/:dataObjectType/view/count"> {
1958
+ constructor(typedFetch: RestypedFetch<PLATFORM>, dataObjectType: string);
1959
+ }
1960
+ declare class GetViewForTypeRequestBuilder<PLATFORM extends IInterPlatform> extends RequestBuilder<PLATFORM, "/type/:dataObjectType/view/:viewID"> {
1961
+ constructor(typedFetch: RestypedFetch<PLATFORM>, dataObjectType: string, viewID: string);
1962
+ }
1963
+ declare class GetPartialItemsForViewRequestBuilder<PLATFORM extends IInterPlatform> extends GetViewItemsRequestBuilder<PLATFORM, "/type/:dataObjectType/view/:viewID/list"> {
1964
+ constructor(typedFetch: RestypedFetch<PLATFORM>, dataObjectType: string, viewID: string);
1965
+ }
1966
+ declare class GetItemsForViewRequestBuilder<PLATFORM extends IInterPlatform> extends GetViewItemsRequestBuilder<PLATFORM, "/type/:dataObjectType/view/:viewID/full"> {
1967
+ constructor(typedFetch: RestypedFetch<PLATFORM>, dataObjectType: string, viewID: string);
1968
+ }
1969
+ declare class GetItemCountForViewRequestBuilder<PLATFORM extends IInterPlatform> extends RequestBuilder<PLATFORM, "/type/:dataObjectType/view/:viewID/count"> {
1970
+ constructor(typedFetch: RestypedFetch<PLATFORM>, dataObjectType: string, viewID: string);
1971
+ whenUpdatedAfter(updatedAfter: Date): this;
1972
+ whenInsertedAfter(insertedAfter: Date): this;
1973
+ withIntervalStart(intervalStart: Date): this;
1974
+ withIntervalEnd(intervalEnd: Date): this;
1975
+ withSearchTerm(searchTerm: string): this;
1976
+ }
1977
+
1978
+ /**
1979
+ * Provides builders for group specific REST operations
1980
+ */
1981
+ interface IGroupService<PLATFORM extends IInterPlatform> {
1982
+ /**
1983
+ * Creates a builder which can be used to retrieve detailed
1984
+ * information about a given group.
1985
+ * @param gguid the id of the group
1986
+ */
1987
+ getGroup(gguid: GUID): GetGroupRequestBuilder<PLATFORM>;
1988
+ /**
1989
+ * Creates a builder which can be used to retrieve the amount of groups.
1990
+ */
1991
+ getGroupCount(): GetGroupCountRequestBuilder<PLATFORM>;
1992
+ /**
1993
+ * Creates a builder which can be used to retrieve a list of groups.
1994
+ */
1995
+ getGroupList(): GetFullGroupListRequestBuilder<PLATFORM>;
1996
+ /**
1997
+ * Creates a builder which can be used to retrieve a list of groups.
1998
+ * Please note that the result contains only a fraction of the available
1999
+ * information. It can be used to access data in an efficient way with
2000
+ * less network traffic.
2001
+ */
2002
+ getPartialGroupList(): GetPartialGroupListRequestBuilder<PLATFORM>;
2003
+ }
2004
+ declare class GetGroupRequestBuilder<PLATFORM extends IInterPlatform> extends RequestBuilder<PLATFORM, "/group/:GGUID"> {
2005
+ constructor(typedFetch: RestypedFetch<PLATFORM>, gguid: GUID);
2006
+ withPreconfiguredFields(fields: string): this;
2007
+ withFields(fields: string[]): this;
2008
+ }
2009
+ declare class GetGroupCountRequestBuilder<PLATFORM extends IInterPlatform> extends RequestBuilder<PLATFORM, "/group/count"> {
2010
+ constructor(typedFetch: RestypedFetch<PLATFORM>);
2011
+ forObjectType(objectType: string): this;
2012
+ withMinimumPermission(minPermission: ForeignEditPermission): this;
2013
+ }
2014
+ declare class GetGroupListRequestBuilder<ApiDef extends IRestypedBase, Path extends keyof ApiDef, Method extends Methods = "GET"> extends RequestBuilder<ApiDef, Path, Method, IGroupInfo[]> {
2015
+ constructor(typedFetch: RestypedFetch<ApiDef>, path: Path, method?: Method, params?: ApiDef[Path][Method]["params"] | NoPathParams);
2016
+ forPage(page: number): this;
2017
+ withEntriesPerPage(entriesPerPage: number): this;
2018
+ withPreconfiguredFields(fields: string): this;
2019
+ withFields(fields: string[]): this;
2020
+ forObjectType(objectType: string): this;
2021
+ withMinimumPermission(minPermission: ForeignEditPermission): this;
2022
+ withDomainGuid(domainGuid: string): this;
2023
+ }
2024
+ declare class GetFullGroupListRequestBuilder<PLATFORM extends IInterPlatform> extends GetGroupListRequestBuilder<PLATFORM, "/group/full"> {
2025
+ constructor(typedFetch: RestypedFetch<PLATFORM>);
2026
+ }
2027
+ declare class GetPartialGroupListRequestBuilder<PLATFORM extends IInterPlatform> extends GetGroupListRequestBuilder<PLATFORM, "/group/list"> {
2028
+ constructor(typedFetch: RestypedFetch<PLATFORM>);
2029
+ }
2030
+
2031
+ /**
2032
+ * Provides builders for resource specific REST operations
2033
+ */
2034
+ interface IResourceService<PLATFORM extends IInterPlatform> {
2035
+ /**
2036
+ * Creates a builder which can be used to retrieve detailed
2037
+ * information about a given resource.
2038
+ * @param gguid the id of the resource
2039
+ */
2040
+ getResource(gguid: GUID): GetResourceRequestBuilder<PLATFORM>;
2041
+ /**
2042
+ * Creates a builder which can be used to retrieve the amount of resources.
2043
+ */
2044
+ getResourceCount(): GetResourceCountRequestBuilder<PLATFORM>;
2045
+ /**
2046
+ * Creates a builder which can be used to retrieve a list of resources.
2047
+ */
2048
+ getResourceList(): GetFullResourceListRequestBuilder<PLATFORM>;
2049
+ /**
2050
+ * Creates a builder which can be used to retrieve a list of resources.
2051
+ * Please note that the result contains only a fraction of the available
2052
+ * information. It can be used to access data in an efficient way with
2053
+ * less network traffic.
2054
+ */
2055
+ getPartialResourceList(): GetPartialResourceListRequestBuilder<PLATFORM>;
2056
+ }
2057
+ declare class GetResourceRequestBuilder<PLATFORM extends IInterPlatform> extends RequestBuilder<PLATFORM, "/resource/:guid"> {
2058
+ constructor(typedFetch: RestypedFetch<PLATFORM>, gguid: GUID);
2059
+ withPreconfiguredFields(fields: string): this;
2060
+ withFields(fields: string[]): this;
2061
+ }
2062
+ declare class GetResourceCountRequestBuilder<PLATFORM extends IInterPlatform> extends RequestBuilder<PLATFORM, "/resource/count"> {
2063
+ constructor(typedFetch: RestypedFetch<PLATFORM>);
2064
+ forObjectType(objectType: string): this;
2065
+ withMinimumPermission(minPermission: ForeignEditPermission): this;
2066
+ }
2067
+ declare class GetResourceListRequestBuilder<ApiDef extends IRestypedBase, Path extends keyof ApiDef, Method extends Methods = "GET"> extends RequestBuilder<ApiDef, Path, Method, IResourceInfo[]> {
2068
+ constructor(typedFetch: RestypedFetch<ApiDef>, path: Path, method?: Method, params?: ApiDef[Path][Method]["params"] | NoPathParams);
2069
+ forPage(page: number): this;
2070
+ withEntriesPerPage(entriesPerPage: number): this;
2071
+ withPreconfiguredFields(fields: string): this;
2072
+ withFields(fields: string[]): this;
2073
+ forObjectType(objectType: string): this;
2074
+ withMinimumPermission(minPermission: ForeignEditPermission): this;
2075
+ withDomainGuid(domainGuid: string): this;
2076
+ }
2077
+ declare class GetFullResourceListRequestBuilder<PLATFORM extends IInterPlatform> extends GetResourceListRequestBuilder<PLATFORM, "/resource/full"> {
2078
+ constructor(typedFetch: RestypedFetch<PLATFORM>);
2079
+ }
2080
+ declare class GetPartialResourceListRequestBuilder<PLATFORM extends IInterPlatform> extends GetResourceListRequestBuilder<PLATFORM, "/resource/list"> {
2081
+ constructor(typedFetch: RestypedFetch<PLATFORM>);
2082
+ }
2083
+
2084
+ /**
2085
+ * Provides builders for document specific REST operations
2086
+ */
2087
+ interface IDocumentService<PLATFORM extends IInterPlatform> {
2088
+ /**
2089
+ * Creates a builder which can be used to upload a file.
2090
+ * Please note that after a successful upload a new document
2091
+ * record is going to be created as well. This new record can
2092
+ * be used to access the file later.
2093
+ */
2094
+ createDocument(): PostDocumentRequestBuilder<PLATFORM>;
2095
+ /**
2096
+ * Creates a builder which can be used to retrive the file
2097
+ * associated with the given document record.
2098
+ * @param gguid unique identifier of the document record
2099
+ */
2100
+ getDocument(gguid: GUID): GetDocumentRequestBuilder<PLATFORM>;
2101
+ /**
2102
+ * Creates a builder which can be used to upload a new version for
2103
+ * the given document
2104
+ * @param gguid unique identifier of the document record
2105
+ * @param eTagOfRecord the ETAG field of the document object, please note that
2106
+ * it is used to guarantee update safety. It can be aquired from a previously
2107
+ * fetched document object.
2108
+ * @param fileExtension the file extension for the uploaded content
2109
+ */
2110
+ uploadDocument(gguid: GUID, eTagOfRecord: string, fileExtension: string): PutDocumentRequestBuilder<PLATFORM>;
2111
+ }
2112
+ declare class PostDocumentRequestBuilder<PLATFORM extends IInterPlatform> extends RequestBuilder<PLATFORM, "/type/document/file", "POST", IDataObject> {
2113
+ private binaryLoader;
2114
+ constructor(typedFetch: RestypedFetch<PLATFORM>, dataObjectService: IDataObjectService<PLATFORM>);
2115
+ setContentFromArrayBuffer(contentType: string, buffer: ArrayBuffer): this;
2116
+ setContentFromUInt8Array(contentType: string, uInt8Array: Uint8Array): this;
2117
+ setContentFromBase64String(contentType: string, base64: string): this;
2118
+ setContentFromFile(file: File, contentType?: string): this;
2119
+ execute(): Promise<IAPIResponse<IDataObject>>;
2120
+ }
2121
+ declare class GetDocumentRequestBuilder<PLATFORM extends IInterPlatform> extends RequestBuilder<PLATFORM, "/type/document/:dataObjectGGUID/file", "GET", ArrayBuffer> {
2122
+ constructor(typedFetch: RestypedFetch<PLATFORM>, gguid: GUID);
2123
+ withReadOnlyInterest(readOnlyInterest?: boolean): this;
2124
+ withVersion(version: string): this;
2125
+ }
2126
+ declare class PutDocumentRequestBuilder<PLATFORM extends IInterPlatform> extends RequestBuilder<PLATFORM, "/type/document/:dataObjectGGUID/file", "PUT", void> {
2127
+ private eTagOfRecord;
2128
+ private fileExtension;
2129
+ private binaryLoader;
2130
+ constructor(typedFetch: RestypedFetch<PLATFORM>, gguid: GUID, eTagOfRecord: string, fileExtension: string);
2131
+ setContentFromArrayBuffer(contentType: string, buffer: ArrayBuffer): this;
2132
+ setContentFromUInt8Array(contentType: string, uInt8Array: Uint8Array): this;
2133
+ setContentFromBase64String(contentType: string, base64: string): this;
2134
+ setContentFromFile(file: File, contentType?: string): this;
2135
+ execute(): Promise<IAPIResponse<void>>;
2136
+ keepCheckedOut(keepCheckedOut?: boolean): this;
2137
+ createNewVersion(createNewVersion?: boolean): this;
2138
+ withVersionComment(versionComment: string): this;
2139
+ }
2140
+
2141
+ /**
2142
+ * Provides methods to retrieve information about settings and to get or set the settings themselves.
2143
+ */
2144
+ interface ISettingsService<PLATFORM extends IInterPlatform> {
2145
+ /**
2146
+ * Gets the settings schema for apps where it's defined.
2147
+ */
2148
+ getSchemaList(): GetSchemaListRequestBuilder<PLATFORM>;
2149
+ /**
2150
+ * Gets the settings schema for the given app. If the app has no schema, an empty one will be returned.
2151
+ */
2152
+ getSchema(appId: string): GetSchemaRequestBuilder<PLATFORM>;
2153
+ /**
2154
+ * Gets the effective settings stored for the given app. The effective settings contains all the properties
2155
+ * that affects the current user, including the global properties and the schema defaults as fallback.
2156
+ *
2157
+ * To get the settings only for the user or global
2158
+ * scope, use the {@link GetAppSettingsRequestBuilder.withScope} method on the returned builder.
2159
+ */
2160
+ getAppSettings<SETTINGSTYPE extends AppSettingsValues = AppSettingsValues>(appId: string): GetAppSettingsRequestBuilder<PLATFORM, AppSettingsEndpoint, SETTINGSTYPE>;
2161
+ /**
2162
+ * Replaces all settings for the given app withing the scope. By default, the user settings are changed. To change the global settings,
2163
+ * use the {@link SetAppSettingsRequestBuilder.withScope} method on the returned builder. Note that setting the global settings
2164
+ * needs administrator privileges.
2165
+ *
2166
+ * Properties that are absent on the given settings object will removed on the scope.
2167
+ */
2168
+ setAppSettings<SETTINGSTYPE extends AppSettingsValues = AppSettingsValues>(appId: string, settings: SETTINGSTYPE | null): SetAppSettingsRequestBuilder<PLATFORM, AppSettingsEndpoint>;
2169
+ /**
2170
+ * Changes the settings for the given app withing the scope partially. By default, the user settings are changed. To change the global settings,
2171
+ * use the {@link SetAppSettingsRequestBuilder.withScope} method on the returned builder. Note that setting the global settings
2172
+ * needs administrator privileges.
2173
+ *
2174
+ * Properties that are absent on the given settings object will be left untouched.
2175
+ */
2176
+ changeAppSettings<SETTINGSTYPE extends AppSettingsValues = AppSettingsValues>(appId: string, settings: Partial<SETTINGSTYPE>): ExtendAppSettingsRequestBuilder<PLATFORM, AppSettingsEndpoint>;
2177
+ }
2178
+ declare class GetSchemaListRequestBuilder<PLATFORM extends IInterPlatform> extends RequestBuilder<PLATFORM, "/settings/app/list", "GET"> {
2179
+ constructor(typedFetch: RestypedFetch<PLATFORM>);
2180
+ }
2181
+ declare class GetSchemaRequestBuilder<PLATFORM extends IInterPlatform> extends RequestBuilder<PLATFORM, "/settings/app/:appId/schema", "GET"> {
2182
+ constructor(typedFetch: RestypedFetch<PLATFORM>, appId: string);
2183
+ protected handleErrorResponse(response: Response): Promise<AppSettingsSchema>;
2184
+ }
2185
+ declare class GetAppSettingsRequestBuilder<PLATFORM extends IInterPlatform, ENDPOINT extends AppSettingsEndpoint, SETTINGSTYPE extends AppSettingsValues = AppSettingsValues> extends RequestBuilder<PLATFORM, ENDPOINT, "GET", AppSettings<SETTINGSTYPE>> {
2186
+ private appId;
2187
+ constructor(typedFetch: RestypedFetch<PLATFORM>, endpoint: ENDPOINT, appId: string);
2188
+ withScope(scope: AppSettingsSchemaPropertyScope): GetAppSettingsRequestBuilder<PLATFORM, AppSettingsEndpoint, SETTINGSTYPE>;
2189
+ protected handleErrorResponse(response: Response): Promise<AppSettings<SETTINGSTYPE>>;
2190
+ }
2191
+ declare class SetAppSettingsRequestBuilder<PLATFORM extends IInterPlatform, ENDPOINT extends AppSettingsEndpoint> extends RequestBuilder<PLATFORM, ENDPOINT, "PUT", AppSettings> {
2192
+ private appId;
2193
+ private settings;
2194
+ constructor(typedFetch: RestypedFetch<PLATFORM>, endpoint: ENDPOINT, appId: string, settings: AppSettings);
2195
+ withScope(scope: AppSettingsSchemaPropertyScope): SetAppSettingsRequestBuilder<PLATFORM, AppSettingsEndpoint>;
2196
+ }
2197
+ declare class ExtendAppSettingsRequestBuilder<PLATFORM extends IInterPlatform, ENDPOINT extends AppSettingsEndpoint> extends RequestBuilder<PLATFORM, ENDPOINT, "POST", AppSettingsChange> {
2198
+ private appId;
2199
+ private settings;
2200
+ constructor(typedFetch: RestypedFetch<PLATFORM>, endpoint: ENDPOINT, appId: string, settings: AppSettingsChange);
2201
+ withScope(scope: AppSettingsSchemaPropertyScope): ExtendAppSettingsRequestBuilder<PLATFORM, AppSettingsEndpoint>;
2202
+ }
2203
+
2204
+ /**
2205
+ * Provides access to the various domain specific services.
2206
+ */
2207
+ interface IServiceRegistry<PLATFORM extends IInterPlatform> {
2208
+ /**
2209
+ * Provides access to the REST endpoints in a type safe fashion
2210
+ */
2211
+ readonly api: RestypedFetch<PLATFORM>;
2212
+ /**
2213
+ * Provides access to address specific REST operations
2214
+ */
2215
+ readonly addressService: IAddressService<PLATFORM>;
2216
+ /**
2217
+ * Provides access to appointment specific REST operations
2218
+ */
2219
+ readonly appointmentService: IAppointmentService<PLATFORM>;
2220
+ /**
2221
+ * Provides access to data object specific REST operations
2222
+ */
2223
+ readonly dataObjectService: IDataObjectService<PLATFORM>;
2224
+ /**
2225
+ * Provides access to link specific REST operations
2226
+ */
2227
+ readonly linkingService: ILinkingService<PLATFORM>;
2228
+ /**
2229
+ * Provides access to user specific REST operations
2230
+ */
2231
+ readonly userService: IUserService<PLATFORM>;
2232
+ /**
2233
+ * Provides access to server version information
2234
+ */
2235
+ readonly serverInformationService: IServerInformationService<PLATFORM>;
2236
+ /**
2237
+ * Provides access to email store specific REST operations
2238
+ */
2239
+ readonly emailStoreService: IEmailStoreService<PLATFORM>;
2240
+ /**
2241
+ * Provides access to view specific REST operations
2242
+ */
2243
+ readonly viewService: IViewService<PLATFORM>;
2244
+ /**
2245
+ * Provides access to group specific REST operations
2246
+ */
2247
+ readonly groupService: IGroupService<PLATFORM>;
2248
+ /**
2249
+ * Provides access to resource specific REST operations
2250
+ */
2251
+ readonly resourceService: IResourceService<PLATFORM>;
2252
+ /**
2253
+ * Provides access to document specific REST operations
2254
+ */
2255
+ readonly documentService: IDocumentService<PLATFORM>;
2256
+ /**
2257
+ * Provides access to settings related REST operations
2258
+ */
2259
+ readonly settingsService: ISettingsService<PLATFORM>;
2260
+ }
2261
+ /**
2262
+ * Creates an instance of [[IServiceRegistry]] which provides access to the various
2263
+ * services.
2264
+ * @param {IFetchWrapper} api An authorized fetch api to use for the connection
2265
+ * @param {VERSION} version REST api version to be used ("6.0" or above is recommended)
2266
+ * @param {SERVER} serverType Type of the server
2267
+ * @return {IServiceRegistry} An instance of [[IServiceRegistry]] for the given configuration
2268
+ */
2269
+ declare function create<VERSION extends APIVersion = "6.0", SERVER extends ServerType = "common">(api: IFetchWrapper, version?: VERSION, serverType?: SERVER): IServiceRegistry<IAPIVersions[VERSION][SERVER]>;
2270
+
2271
+ export { ALL_PUBLIC_PERMISSION_GGUID, type APIVersion, AccessRight, type AppSettings, type AppSettingsChange, type AppSettingsEndpoint, type AppSettingsListResponse, type AppSettingsResponse, type AppSettingsSchema, type AppSettingsSchemaBooleanProperty, type AppSettingsSchemaColorProperty, type AppSettingsSchemaFloatProperty, type AppSettingsSchemaIntegerProperty, type AppSettingsSchemaProperty, type AppSettingsSchemaPropertyScope, type AppSettingsSchemaPropertyType, type AppSettingsSchemaResponse, type AppSettingsSchemaStringProperty, type AppSettingsValues, DatePrecision, FetchError, type FieldCommon, type FieldCommon7, type FieldGw, type FieldGw7, type FieldOpen, type FieldType, type FieldTypes, type FieldTypesV6, type FieldTypesV7, ForeignEditPermission, type GUID, type HasSettingsAPIVersion, HtmlFilter, type IAPIResponse, type IAPIVersions, type IAddressRelatedPermissionOwnerInfoFields, type IAddressService, type IAddressSpecificQueryParameters, type IAppSettingsSchemaProperty, type IAppointmentService, type IBooleanField, type ICommonField, type ICommonPermissionOwnerFields, type ICountInfo, type IDataObject, type IDataObjectCountQueryParameters, type IDataObjectDateChangeQueryParameters, type IDataObjectDateIntervalQueryParameters, type IDataObjectDescription, type IDataObjectLinkQueryParameters, type IDataObjectQueryParameters, type IDataObjectSchema, type IDataObjectSchemaPart, type IDataObjectService, type IDataObjectTransferable, type IDataObjectTypesQueryParameter, type IDateTimeField, type IDecimalField, type IDecimalSuggestField, type IDocumentService, type IDomainQueryParameter, type IDossierEntry, type IDossierQueryParameters, type IDoubleField, type IDoubleSuggestField, type IEmailStoreService, type IFavoriteQueryParameter, type IFetchWrapper, type IGguidField, type IGroupInfo, type IGroupService, type IGwSpecific, type IHasFormatOption, type IHasLength, type IHasMaxLength, type IHasOverflowLength, type IHasPrecision, type IHasPrecisionAndScale, type IHasSelection, type IHasSystemDefinedTranslated, type IIncludeMaxJournalIdQueryParameter, type IIncludePermissionsQueryParameter, type IIncludePrivateForeignrecordsQueryParameter, type IIntField, type IIntSuggestField, type IInterPlatform, type ILastUsedDataObjectQueryParameters, type ILinkingService, type ILoginInformation, type IMassQueryResult, type IOpenSpecific, type IOrderByQueryParameters, type IPagedQueryParameters, type IPartialObjectQueryParameters, type IParticipantInfo, type IPermission, type IPermissionInfo, type IPermissionRequirementQueryParameter, type IQueryPart, type IRecentlyUsedQueryParameter, type IResourceInfo, type IResourceQueryParameters, type IResourceService, type IRestypedBase, type IRestypedIndexedBase, type IRestypedRoute, type ISearchQueryParameters, type ISelectionValue, type ISelectionValueListField, type IServerInformationService, type IServerSpecificVersionAPIDefinition, type IServerVersion, type IServerVersionPart, type IServerVersionResponseGw, type IServiceRegistry, type ISettingsService, type ISingleDataObjectQueryParameters, type ISingleDataObjectTypesQueryParameter, type IStringField, type IStringKeyed, type IStringListSuggestField, type IStringSuggestField, type ISuggestField, type ISuggestionWithRawValue, type ITeamFilter, type ITeamFilterQueryParameters, type ITextField, type ITypedJSONResponse, type ITypedRequestInit, type IUserInfo, type IUserService, type IVersion6, type IVersion7, type IViewInfo, type IViewItemsCountQueryParameters, type IViewItemsQueryParameters, type IViewKindQueryParameters, type IViewQueryParameters, type IViewService, type IWhereStringQueryParameters, type InterPlatform6, type InterPlatform6Common, type InterPlatform6Gw, type InterPlatform6Open, type InterPlatform7, type InterPlatform7Common, type InterPlatform7Gw, type InterPlatform7Open, type InterPlatformGw, type InterPlatformOpen, type LinkDirection, type Methods, type NoPathParams, type NoQueryParams, type OmitProp, PrimaryLinkedParent, type QueryResponseLegacyGw, RestypedFetch, type ServerIndependentFieldTypes, type ServerType, type StringKeyOf, TeamFilter, TeamFilterConstant, type V7SuggestField, create };
2272
+ export as namespace dataaccess;