@bratislava/ginis-sdk 0.5.1 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (4) hide show
  1. package/README.md +102 -63
  2. package/dist/index.d.ts +2096 -230
  3. package/dist/index.js +1053 -112
  4. package/package.json +45 -19
package/dist/index.js CHANGED
@@ -28,26 +28,41 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
28
28
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
29
29
 
30
30
  // src/index.ts
31
- var src_exports = {};
32
- __export(src_exports, {
33
- AxiosError: () => import_axios2.AxiosError,
31
+ var index_exports = {};
32
+ __export(index_exports, {
34
33
  Ginis: () => Ginis,
35
34
  GinisError: () => GinisError
36
35
  });
37
- module.exports = __toCommonJS(src_exports);
38
- var import_axios2 = require("axios");
36
+ module.exports = __toCommonJS(index_exports);
37
+
38
+ // src/ginis.ts
39
+ var import_lodash = require("lodash");
40
+
41
+ // src/api/gin/Detail-funkcniho-mista.ts
42
+ var import_zod = require("zod");
39
43
 
40
44
  // src/utils/api.ts
41
45
  var import_axios = __toESM(require("axios"));
42
- var import_crypto = __toESM(require("crypto"));
46
+
47
+ // src/utils/errors.ts
48
+ var GinisError = class extends Error {
49
+ constructor(message, axiosError) {
50
+ super(message);
51
+ if (axiosError != null) {
52
+ this.axiosError = axiosError;
53
+ }
54
+ }
55
+ };
56
+
57
+ // src/utils/api.ts
43
58
  var defaultAxiosConfig = {
44
59
  headers: {
45
- "Content-Type": "application/json"
60
+ "Content-Type": "text/xml; charset=utf-8"
46
61
  }
47
62
  };
48
- var makeAxiosRequest = async (axiosConfig, url, body, debug) => {
63
+ async function makeAxiosRequest(axiosConfig, url, body, debug) {
49
64
  if (!url) {
50
- throw new Error("Missing GINIS url for the service you are trying to reach.");
65
+ throw new GinisError("Missing GINIS url for the service you are trying to reach.");
51
66
  }
52
67
  const requestConfig = axiosConfig || defaultAxiosConfig;
53
68
  if (debug) {
@@ -60,15 +75,17 @@ var makeAxiosRequest = async (axiosConfig, url, body, debug) => {
60
75
  try {
61
76
  responseAxios = await import_axios.default.post(url, body, requestConfig);
62
77
  } catch (error) {
78
+ if (!(error instanceof import_axios.AxiosError)) {
79
+ throw makeResponseDetailError(error);
80
+ }
63
81
  if (debug) {
64
- let anyError = error;
65
82
  console.log("########### GINIS ERROR RESPONSE ###########");
66
- console.log("status: ", anyError?.response?.status);
67
- console.log("statusText: ", anyError?.response?.statusText);
68
- console.log("data: ", anyError?.response?.data);
83
+ console.log("status: ", error.response?.status);
84
+ console.log("statusText: ", error.response?.statusText);
85
+ console.log("data: ", error.response?.data);
69
86
  console.log("########### GINIS RESPONSE END ###########");
70
87
  }
71
- throw error;
88
+ throw makeResponseDetailError(error, error.response?.data);
72
89
  }
73
90
  if (debug) {
74
91
  console.log("########### GINIS RESPONSE ###########");
@@ -77,145 +94,1071 @@ var makeAxiosRequest = async (axiosConfig, url, body, debug) => {
77
94
  console.log("data: ", responseAxios.data);
78
95
  console.log("########### GINIS RESPONSE END ###########");
79
96
  }
97
+ return responseAxios;
98
+ }
99
+ function makeResponseDetailError(error, responseData = null) {
100
+ if (!(error instanceof Error)) {
101
+ return new GinisError(
102
+ "Non-error passed to throwErrorFaultDetail in ginis-sdk. This should never happen."
103
+ );
104
+ }
105
+ const errorDetail = responseData != null && typeof responseData === "string" ? `${error.message}\r
106
+ Error response details: ${responseData}` : error.message;
107
+ if (error instanceof import_axios.AxiosError) {
108
+ return new GinisError(errorDetail, error);
109
+ }
110
+ return new GinisError(errorDetail);
111
+ }
112
+
113
+ // src/utils/request-util.ts
114
+ var import_stream = require("stream");
115
+ var import_xml2js = require("xml2js");
116
+ function createXmlRequestConfig(requestName2, requestNamespace2) {
80
117
  return {
81
- data: responseAxios.data,
82
- status: responseAxios.status,
83
- statusText: responseAxios.statusText
118
+ headers: {
119
+ SOAPAction: `${requestNamespace2}/${requestName2}`,
120
+ "Content-Type": "text/xml; charset=utf-8"
121
+ }
84
122
  };
85
- };
86
- var getGRestHeader = (config, requestNamespace) => {
123
+ }
124
+ function createXmlRequestBody(config, requestInfo) {
125
+ return `<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" xmlns:u="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
126
+ <s:Header>
127
+ <o:Security s:mustUnderstand="1" xmlns:o="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
128
+ <o:UsernameToken u:Id="uuid-ea5d8d3d-df90-4b69-b034-9026f34a3f21-1">
129
+ <o:Username>${config.username}</o:Username>
130
+ <o:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">${config.password}</o:Password>
131
+ </o:UsernameToken>
132
+ </o:Security>
133
+ </s:Header>
134
+ <s:Body>
135
+ <${requestInfo.name} xmlns="${requestInfo.namespace}">
136
+ <requestXml>
137
+ <Xrg xmlns="${requestInfo.xrgNamespace}">
138
+ <${requestInfo.name}>
139
+ ${requestInfo.paramOrder.filter((e) => requestInfo.paramsBody[e]).map((e) => `<${e}>${requestInfo.paramsBody[e]}</${e}>`).join("")}
140
+ </${requestInfo.name}>
141
+ </Xrg>
142
+ </requestXml>
143
+ </${requestInfo.name}>
144
+ </s:Body>
145
+ </s:Envelope>`.replaceAll(/\s*(<[^>]+>)\s*/g, "$1");
146
+ }
147
+ async function extractResponseJson(responseXml, requestName2, responseSchema) {
148
+ try {
149
+ const response = await (0, import_xml2js.parseStringPromise)(responseXml, {
150
+ explicitArray: false,
151
+ ignoreAttrs: true
152
+ });
153
+ return responseSchema.parse(
154
+ // try catch is covering all parsing, access and validation problems
155
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
156
+ response?.["s:Envelope"]?.["s:Body"]?.[`${requestName2}Response`]?.[`${requestName2}Result`]?.Xrg
157
+ );
158
+ } catch (error) {
159
+ const message = error instanceof Error ? `: ${error.toString()}` : "";
160
+ throw new GinisError(`Failed to parse XML response${message}\r
161
+ Response: ${responseXml}`);
162
+ }
163
+ }
164
+ function createMultipartRequestConfig(requestName2, requestNamespace2, boundary, requestContentId) {
87
165
  return {
88
- RequestName: "Xrg",
89
- RequestNamespace: requestNamespace,
90
- User: config.username,
91
- Password: config.password,
92
- PasswordText: true,
93
- Nonce: import_crypto.default.randomBytes(10).toString("base64"),
94
- Created: (/* @__PURE__ */ new Date()).toISOString()
166
+ headers: {
167
+ SOAPAction: `${requestNamespace2}/${requestName2}`,
168
+ "Content-Type": `multipart/related;type="application/xop+xml";boundary="${boundary}";start="<${requestContentId}>";start-info="text/xml"`,
169
+ "MIME-version": "1.0"
170
+ }
95
171
  };
172
+ }
173
+ function createMultipartRequestBody(config, requestInfo, fileStream, boundary, requestContentId, fileContentId) {
174
+ const xopFileInclude = `<Data><Include xmlns="http://www.w3.org/2004/08/xop/include" href="cid:${fileContentId}"/></Data>`;
175
+ const xmlRequest = createXmlRequestBody(config, requestInfo).replace(
176
+ `<Data>${fileContentId}</Data>`,
177
+ xopFileInclude
178
+ );
179
+ const mainRequest = `--${boundary}\r
180
+ Content-ID:<${requestContentId}>\r
181
+ Content-Transfer-Encoding: 8bit\r
182
+ Content-Type: application/xop+xml;charset=utf-8;type="text/xml"\r
183
+ \r
184
+ ${xmlRequest}\r
185
+ --${boundary}\r
186
+ Content-ID:<${fileContentId}>\r
187
+ Content-Transfer-Encoding: binary\r
188
+ Content-Type: application/octet-stream\r
189
+ \r
190
+ `;
191
+ const closingBoundary = `\r
192
+ --${boundary}--`;
193
+ const requestBody = new import_stream.PassThrough();
194
+ requestBody.write(mainRequest);
195
+ fileStream.pipe(requestBody, { end: false });
196
+ fileStream.on("end", () => {
197
+ requestBody.end(closingBoundary);
198
+ });
199
+ return requestBody;
200
+ }
201
+ async function extractMultipartResponseJson(responseString, requestName2, responseSchema) {
202
+ const startTag = "<s:Envelope";
203
+ const endTag = "</s:Envelope>";
204
+ let responseXml;
205
+ try {
206
+ responseXml = responseString.substring(
207
+ responseString.indexOf(startTag),
208
+ responseString.lastIndexOf(endTag) + endTag.length
209
+ );
210
+ } catch (error) {
211
+ const message = error instanceof Error ? `: ${error.toString()}` : "";
212
+ throw new GinisError(
213
+ `Failed to parse multipart response${message}\r
214
+ Response: ${responseString}`
215
+ );
216
+ }
217
+ return await extractResponseJson(responseXml, requestName2, responseSchema);
218
+ }
219
+
220
+ // src/api/gin/Detail-funkcniho-mista.ts
221
+ var detailFunkcnihoMistaRequestProperties = ["Id-funkce"];
222
+ var detailFunkcnihoMistaSchema = import_zod.z.object({
223
+ "Id-funkce": import_zod.z.string(),
224
+ Aktivita: import_zod.z.string(),
225
+ Nazev: import_zod.z.string().optional(),
226
+ Zkratka: import_zod.z.string().optional(),
227
+ "Oficialni-nazev": import_zod.z.string().optional(),
228
+ Poznamka: import_zod.z.string().optional(),
229
+ "Datum-od": import_zod.z.string(),
230
+ "Datum-do": import_zod.z.string(),
231
+ "Id-spisoveho-uzlu": import_zod.z.string(),
232
+ "Nazev-spisoveho-uzlu": import_zod.z.string().optional(),
233
+ "Zkratka-spisoveho-uzlu": import_zod.z.string().optional(),
234
+ "Uroven-funkce": import_zod.z.string(),
235
+ "Kod-funkce": import_zod.z.string().optional(),
236
+ "Id-nad": import_zod.z.string().optional(),
237
+ "Id-referenta": import_zod.z.string(),
238
+ "Nazev-referenta": import_zod.z.string().optional(),
239
+ "Id-orj": import_zod.z.string(),
240
+ "Nazev-orj": import_zod.z.string().optional(),
241
+ "Kod-mistnosti": import_zod.z.string().optional(),
242
+ Url: import_zod.z.string().optional(),
243
+ Mail: import_zod.z.string().optional(),
244
+ Telefon: import_zod.z.string().optional(),
245
+ Fax: import_zod.z.string().optional(),
246
+ "Datum-zmena": import_zod.z.string()
247
+ });
248
+ var detailFunkcnihoMistaResponseSchema = import_zod.z.object({
249
+ "Detail-funkcniho-mista": detailFunkcnihoMistaSchema
250
+ });
251
+ async function detailFunkcnihoMista(bodyObj) {
252
+ const url = this.config.urls.gin;
253
+ if (!url) throw new GinisError("GINIS SDK Error: Missing GIN url in GINIS config");
254
+ const requestName2 = "Detail-funkcniho-mista";
255
+ const requestNamespace2 = "http://www.gordic.cz/svc/xrg-gin/v_1.0.0.0";
256
+ const response = await makeAxiosRequest(
257
+ createXmlRequestConfig(requestName2, requestNamespace2),
258
+ url,
259
+ createXmlRequestBody(this.config, {
260
+ name: requestName2,
261
+ namespace: requestNamespace2,
262
+ xrgNamespace: "http://www.gordic.cz/xrg/gin/detail-funkcniho-mista/request/v_1.0.0.0",
263
+ paramsBody: bodyObj,
264
+ paramOrder: detailFunkcnihoMistaRequestProperties
265
+ }),
266
+ this.config.debug
267
+ );
268
+ return await extractResponseJson(response.data, requestName2, detailFunkcnihoMistaResponseSchema);
269
+ }
270
+
271
+ // src/api/gin/Detail-referenta.ts
272
+ var import_zod2 = require("zod");
273
+ var detailReferentaRequestProperties = ["Id-osoby"];
274
+ var detailReferentaSchema = import_zod2.z.object({
275
+ "Id-osoby": import_zod2.z.string(),
276
+ Aktivita: import_zod2.z.string(),
277
+ Nazev: import_zod2.z.string().optional(),
278
+ Zkratka: import_zod2.z.string().optional(),
279
+ Jmeno: import_zod2.z.string().optional(),
280
+ Prijmeni: import_zod2.z.string().optional(),
281
+ Poznamka: import_zod2.z.string().optional(),
282
+ "Datum-od": import_zod2.z.string(),
283
+ "Datum-do": import_zod2.z.string(),
284
+ "Id-spisoveho-uzlu": import_zod2.z.string(),
285
+ Login: import_zod2.z.string().optional(),
286
+ "Alt-login": import_zod2.z.string().optional(),
287
+ "Ext-sys-login": import_zod2.z.string().optional(),
288
+ "Titul-pred": import_zod2.z.string().optional(),
289
+ "Titul-za": import_zod2.z.string().optional(),
290
+ "Osobni-cislo": import_zod2.z.string().optional(),
291
+ "Rodne-cislo": import_zod2.z.string().optional(),
292
+ "Rodne-prijmeni": import_zod2.z.string().optional(),
293
+ Mail: import_zod2.z.string().optional(),
294
+ Telefon: import_zod2.z.string().optional(),
295
+ "Telefon-privat": import_zod2.z.string().optional(),
296
+ "Telefon-mobil": import_zod2.z.string().optional(),
297
+ Fax: import_zod2.z.string().optional(),
298
+ "Datum-zmena": import_zod2.z.string(),
299
+ "Login-cs": import_zod2.z.string().optional(),
300
+ "Alt-login-cs": import_zod2.z.string().optional(),
301
+ /**
302
+ * Kód typu autentizace. Hodnoty: -10 = žádná/není určeno, 0 = databázová, 10 = Windows, 20 = virtuální účet, 30 = Azure AD
303
+ */
304
+ "Typ-autentizace-kod": import_zod2.z.string(),
305
+ /**
306
+ * Kód typu autentizace k alternativnímu účtu. Hodnoty: -10 = žádná/není určeno, 0 = databázová, 10 = Windows, 20 = virtuální účet, 30 = Azure AD
307
+ */
308
+ "Alt-typ-autentizace-kod": import_zod2.z.string()
309
+ });
310
+ var detailReferentaResponseSchema = import_zod2.z.object({
311
+ "Detail-referenta": detailReferentaSchema
312
+ });
313
+ async function detailReferenta(bodyObj) {
314
+ const url = this.config.urls.gin;
315
+ if (!url) throw new GinisError("GINIS SDK Error: Missing GIN url in GINIS config");
316
+ const requestName2 = "Detail-referenta";
317
+ const requestNamespace2 = "http://www.gordic.cz/svc/xrg-gin/v_1.0.0.0";
318
+ const response = await makeAxiosRequest(
319
+ createXmlRequestConfig(requestName2, requestNamespace2),
320
+ url,
321
+ createXmlRequestBody(this.config, {
322
+ name: requestName2,
323
+ namespace: requestNamespace2,
324
+ xrgNamespace: "http://www.gordic.cz/xrg/gin/detail-referenta/request/v_1.0.0.0",
325
+ paramsBody: bodyObj,
326
+ paramOrder: detailReferentaRequestProperties
327
+ }),
328
+ this.config.debug
329
+ );
330
+ return await extractResponseJson(response.data, requestName2, detailReferentaResponseSchema);
331
+ }
332
+
333
+ // src/api/gin/index.ts
334
+ var gin_default = {
335
+ detailFunkcnihoMista,
336
+ detailReferenta
96
337
  };
97
338
 
98
- // src/utils/errors.ts
99
- var GinisError = class extends Error {
100
- constructor(message) {
101
- super(message);
102
- }
339
+ // src/api/pod/Detail-el-podani.ts
340
+ var import_zod4 = require("zod");
341
+
342
+ // src/utils/validation.ts
343
+ var import_zod3 = require("zod");
344
+ function coercedArray(schema) {
345
+ return import_zod3.z.preprocess((val) => {
346
+ if (val === void 0 || Array.isArray(val)) return val;
347
+ return schema.safeParse(val).success ? [val] : val;
348
+ }, import_zod3.z.array(schema).default([]));
349
+ }
350
+
351
+ // src/api/pod/Detail-el-podani.ts
352
+ var detailElPodaniRequestProperties = [
353
+ "Id-zpravy",
354
+ "Id-el-podani",
355
+ "Id-esu",
356
+ "Id-eu",
357
+ "Zaradit-navazane"
358
+ ];
359
+ var detailElPodaniSchema = import_zod4.z.object({
360
+ "Datum-prijeti": import_zod4.z.string(),
361
+ "Stav-zpracovani": import_zod4.z.string(),
362
+ "Duvod-odmitnuti": import_zod4.z.string().optional(),
363
+ "Stav-podani-kod": import_zod4.z.string(),
364
+ "Stav-podani-text": import_zod4.z.string().optional(),
365
+ "Stav-odpovedi-kod": import_zod4.z.string(),
366
+ "Stav-odpovedi-text": import_zod4.z.string().optional(),
367
+ "Id-dokumentu": import_zod4.z.string().optional(),
368
+ Vec: import_zod4.z.string().optional(),
369
+ "Spis-znacka": import_zod4.z.string().optional(),
370
+ Znacka: import_zod4.z.string().optional()
371
+ });
372
+ var navazanyDokumentSchema = import_zod4.z.object({
373
+ "Id-dokumentu": import_zod4.z.string(),
374
+ Vec: import_zod4.z.string().optional(),
375
+ "Spis-znacka": import_zod4.z.string().optional(),
376
+ Znacka: import_zod4.z.string().optional()
377
+ });
378
+ var detailElPodaniResponseSchema = import_zod4.z.object({
379
+ "Detail-el-podani": detailElPodaniSchema,
380
+ "Navazany-dokument": coercedArray(navazanyDokumentSchema)
381
+ });
382
+ async function detailElPodani(bodyObj) {
383
+ const url = this.config.urls.pod;
384
+ if (!url) throw new GinisError("GINIS SDK Error: Missing POD url in GINIS config");
385
+ const requestName2 = "Detail-el-podani";
386
+ const requestNamespace2 = "http://www.gordic.cz/svc/xrg-pod/v_1.0.0.0";
387
+ const response = await makeAxiosRequest(
388
+ createXmlRequestConfig(requestName2, requestNamespace2),
389
+ url,
390
+ createXmlRequestBody(this.config, {
391
+ name: requestName2,
392
+ namespace: requestNamespace2,
393
+ xrgNamespace: "http://www.gordic.cz/xrg/pod/detail-el-podani/request/v_1.0.0.0",
394
+ paramsBody: bodyObj,
395
+ paramOrder: detailElPodaniRequestProperties
396
+ }),
397
+ this.config.debug
398
+ );
399
+ return await extractResponseJson(response.data, requestName2, detailElPodaniResponseSchema);
400
+ }
401
+
402
+ // src/api/pod/index.ts
403
+ var pod_default = {
404
+ detailElPodani
103
405
  };
104
406
 
105
- // src/api/json/ssl/Detail-dokumentu.ts
407
+ // src/api/ssl/Detail-dokumentu.ts
408
+ var import_zod5 = require("zod");
409
+ var detailDokumentuRequestProperties = [
410
+ "Id-dokumentu",
411
+ "Vyradit-historii",
412
+ "Vyradit-obsah-spisu",
413
+ "Vyradit-prilohy",
414
+ "Vyradit-souvisejici",
415
+ "Id-esu",
416
+ "Vyradit-doruceni",
417
+ "Id-eu"
418
+ ];
419
+ var wflDokumentSchema = import_zod5.z.object({
420
+ "Id-dokumentu": import_zod5.z.string(),
421
+ "Id-spisu": import_zod5.z.string(),
422
+ "Priznak-spisu": import_zod5.z.string(),
423
+ "Priznak-cj": import_zod5.z.string(),
424
+ "Id-funkce-vlastnika": import_zod5.z.string(),
425
+ Vec: import_zod5.z.string().optional(),
426
+ Znacka: import_zod5.z.string().optional(),
427
+ "Stav-distribuce": import_zod5.z.string(),
428
+ "Stav-dokumentu": import_zod5.z.string(),
429
+ "Id-agendy": import_zod5.z.string(),
430
+ "Id-typu-dokumentu": import_zod5.z.string(),
431
+ "Priznak-doruceni": import_zod5.z.string(),
432
+ "Priznak-evidence-ssl": import_zod5.z.string(),
433
+ "Misto-vzniku": import_zod5.z.string().optional(),
434
+ "Datum-podani": import_zod5.z.string(),
435
+ "Priznak-fyz-existence": import_zod5.z.string(),
436
+ "Priznak-el-obrazu": import_zod5.z.string(),
437
+ "Id-souboru": import_zod5.z.string().optional(),
438
+ "Jmeno-souboru": import_zod5.z.string().optional(),
439
+ "Popis-souboru": import_zod5.z.string().optional(),
440
+ "Datum-zmeny": import_zod5.z.string(),
441
+ "Id-zmenu-provedl": import_zod5.z.string(),
442
+ "Id-originalu": import_zod5.z.string().optional(),
443
+ "Verze-souboru": import_zod5.z.string().optional(),
444
+ "Datum-zmeny-souboru": import_zod5.z.string().optional(),
445
+ "Velikost-souboru": import_zod5.z.string().optional(),
446
+ Barcode: import_zod5.z.string().optional(),
447
+ "Priznak-souboru-ro": import_zod5.z.string().optional()
448
+ });
449
+ var doruceniSchema = import_zod5.z.object({
450
+ "Id-dokumentu": import_zod5.z.string(),
451
+ Stat: import_zod5.z.string().optional(),
452
+ Psc: import_zod5.z.string().optional(),
453
+ "Datum-odeslani": import_zod5.z.string().optional(),
454
+ "Znacka-odesilatele": import_zod5.z.string().optional(),
455
+ "Datum-ze-dne": import_zod5.z.string().optional(),
456
+ "Podaci-cislo": import_zod5.z.string().optional(),
457
+ "Zpusob-doruceni": import_zod5.z.string().optional(),
458
+ "Druh-zasilky": import_zod5.z.string(),
459
+ "Druh-zachazeni": import_zod5.z.string(),
460
+ "Datum-prijmu-podani": import_zod5.z.string().optional(),
461
+ "Id-odesilatele": import_zod5.z.string().optional(),
462
+ "Pocet-listu": import_zod5.z.string().optional(),
463
+ "Pocet-priloh": import_zod5.z.string().optional(),
464
+ "Pocet-stran": import_zod5.z.string().optional(),
465
+ "Pocet-kopii": import_zod5.z.string().optional(),
466
+ "Pocet-listu-priloh": import_zod5.z.string().optional(),
467
+ "Poznamka-k-doruceni": import_zod5.z.string().optional(),
468
+ "Id-uzlu-podani": import_zod5.z.string().optional(),
469
+ "Poradove-cislo-podani": import_zod5.z.string()
470
+ });
471
+ var eDoruceniSchema = import_zod5.z.object({
472
+ "Datum-prijeti": import_zod5.z.string().optional(),
473
+ "Datum-doruceni": import_zod5.z.string().optional(),
474
+ "Id-ds-odesilatele": import_zod5.z.string()
475
+ });
476
+ var historieDokumentuSchema = import_zod5.z.object({
477
+ "Id-dokumentu": import_zod5.z.string(),
478
+ "Text-zmeny": import_zod5.z.string().optional(),
479
+ Poznamka: import_zod5.z.string().optional(),
480
+ "Datum-zmeny": import_zod5.z.string(),
481
+ "Id-zmenu-provedl": import_zod5.z.string(),
482
+ "Id-ktg-zmeny": import_zod5.z.string()
483
+ });
484
+ var sslDokumentSchema = import_zod5.z.object({
485
+ "Id-dokumentu": import_zod5.z.string(),
486
+ "Id-spisoveho-planu": import_zod5.z.string().optional(),
487
+ "Id-spisoveho-znaku": import_zod5.z.string().optional(),
488
+ "Skartacni-znak": import_zod5.z.string().optional(),
489
+ "Skartacni-lhuta": import_zod5.z.string().optional(),
490
+ Pristup: import_zod5.z.string().optional(),
491
+ "Id-stupne-utajeni": import_zod5.z.string().optional(),
492
+ "Vec-podrobne": import_zod5.z.string().optional(),
493
+ Poznamka: import_zod5.z.string().optional(),
494
+ "Pocet-listu": import_zod5.z.string().optional(),
495
+ "Pocet-priloh": import_zod5.z.string().optional(),
496
+ "Pocet-stran": import_zod5.z.string().optional(),
497
+ "Pocet-kopii": import_zod5.z.string().optional(),
498
+ "Pocet-listu-priloh": import_zod5.z.string().optional(),
499
+ "Id-umisteni": import_zod5.z.string().optional(),
500
+ Umisteni: import_zod5.z.string().optional(),
501
+ "Id-funkce-resitele": import_zod5.z.string().optional(),
502
+ "Datum-ulozeni": import_zod5.z.string().optional(),
503
+ "Datum-pravni-moci": import_zod5.z.string().optional(),
504
+ "Datum-vykonatelnosti": import_zod5.z.string().optional()
505
+ });
506
+ var sslSpisSchema = import_zod5.z.object({
507
+ "Id-spisu": import_zod5.z.string(),
508
+ "Id-zpusob-vyrizeni": import_zod5.z.string().optional(),
509
+ "Poznamka-k-vyrizeni": import_zod5.z.string().optional(),
510
+ "Datum-vyrizeni": import_zod5.z.string().optional(),
511
+ "Id-funkce-vyrizovatele": import_zod5.z.string().optional(),
512
+ "Id-funkce-schvalovatele": import_zod5.z.string().optional(),
513
+ "Datum-uzavreni": import_zod5.z.string().optional(),
514
+ "Id-funkce-uzaviratele": import_zod5.z.string().optional(),
515
+ "Datum-pravni-moci": import_zod5.z.string().optional(),
516
+ "Datum-vyrizeni-do": import_zod5.z.string().optional(),
517
+ "Denik-spisu": import_zod5.z.string(),
518
+ "Rok-spisu": import_zod5.z.string(),
519
+ "Poradove-cislo-spisu": import_zod5.z.string(),
520
+ "Doplnek-cj": import_zod5.z.string().optional()
521
+ });
522
+ var sslObsahSpisSchema = import_zod5.z.object({
523
+ "Id-spisu": import_zod5.z.string(),
524
+ "Id-vlozeneho-dokumentu": import_zod5.z.string(),
525
+ "Poradove-cislo": import_zod5.z.string().optional(),
526
+ "Datum-vlozeni": import_zod5.z.string().optional(),
527
+ "Datum-vyjmuti": import_zod5.z.string().optional(),
528
+ "Vztah-ke-spisu": import_zod5.z.string().optional(),
529
+ Aktivita: import_zod5.z.string(),
530
+ "Poradove-cislo-uziv": import_zod5.z.string().optional(),
531
+ Poznamka: import_zod5.z.string().optional()
532
+ });
533
+ var cjDokumentuSchema = import_zod5.z.object({
534
+ "Id-init-dokumentu": import_zod5.z.string(),
535
+ "Id-vyriz-dokumentu": import_zod5.z.string().optional(),
536
+ "Denik-cj": import_zod5.z.string(),
537
+ "Rok-cj": import_zod5.z.string(),
538
+ "Poradove-cislo-cj": import_zod5.z.string(),
539
+ "Vec-cj": import_zod5.z.string().optional(),
540
+ "Znacka-cj": import_zod5.z.string(),
541
+ "Stav-cj": import_zod5.z.string(),
542
+ "Datum-evidence": import_zod5.z.string(),
543
+ "Datum-vyrizeni-do": import_zod5.z.string().optional(),
544
+ "Datum-vyrizeni": import_zod5.z.string().optional(),
545
+ "Datum-vlozeni": import_zod5.z.string().optional(),
546
+ "Datum-vyjmuti": import_zod5.z.string().optional(),
547
+ "Id-zpusob-vyrizeni": import_zod5.z.string().optional(),
548
+ "Doplnek-cj": import_zod5.z.string().optional()
549
+ });
550
+ var prilohyDokumentuSchema = import_zod5.z.object({
551
+ "Poradove-cislo": import_zod5.z.string(),
552
+ Titulek: import_zod5.z.string().optional(),
553
+ Popis: import_zod5.z.string().optional(),
554
+ Poznamka: import_zod5.z.string().optional(),
555
+ "Priznak-el-obrazu": import_zod5.z.string(),
556
+ "Id-souboru": import_zod5.z.string().optional(),
557
+ "Verze-souboru": import_zod5.z.string().optional(),
558
+ "Datum-zmeny-souboru": import_zod5.z.string().optional(),
559
+ "Jmeno-souboru": import_zod5.z.string().optional(),
560
+ "Velikost-souboru": import_zod5.z.string().optional(),
561
+ "Ke-zverejneni": import_zod5.z.string().optional(),
562
+ "Stav-anonymizace": import_zod5.z.string().optional(),
563
+ "Kategorie-prilohy": import_zod5.z.string(),
564
+ "Kategorie-prilohy-txt": import_zod5.z.string().optional(),
565
+ "Priznak-souboru-ro": import_zod5.z.string().optional()
566
+ });
567
+ var souvisejiciDokumentySchema = import_zod5.z.object({
568
+ "Typ-vazby": import_zod5.z.string(),
569
+ "Id-dokumentu": import_zod5.z.string(),
570
+ Poznamka: import_zod5.z.string().optional(),
571
+ "Id-agendy": import_zod5.z.string()
572
+ });
573
+ var spisovnaSchema = import_zod5.z.object({
574
+ "Stav-ulozeni-kod": import_zod5.z.string(),
575
+ "Stav-ulozeni": import_zod5.z.string(),
576
+ "Datum-skartace": import_zod5.z.string().optional(),
577
+ "Id-archivu-nda": import_zod5.z.string().optional()
578
+ });
579
+ var vlozenoDoSpisuSchema = import_zod5.z.object({
580
+ "Id-spisu": import_zod5.z.string(),
581
+ "Poradove-cislo": import_zod5.z.string().optional(),
582
+ "Poradove-cislo-uziv": import_zod5.z.string().optional(),
583
+ Poznamka: import_zod5.z.string().optional()
584
+ });
585
+ var DetailDokumentuResponseSchema = import_zod5.z.object({
586
+ "Wfl-dokument": wflDokumentSchema,
587
+ Doruceni: doruceniSchema.optional(),
588
+ "E-doruceni": eDoruceniSchema.optional(),
589
+ "Historie-dokumentu": coercedArray(historieDokumentuSchema),
590
+ "Ssl-dokument": sslDokumentSchema.optional(),
591
+ "Ssl-spis": sslSpisSchema.optional(),
592
+ "Ssl-obsah-spis": coercedArray(sslObsahSpisSchema),
593
+ "Cj-dokumentu": cjDokumentuSchema.optional(),
594
+ "Prilohy-dokumentu": coercedArray(prilohyDokumentuSchema),
595
+ "Souvisejici-dokumenty": coercedArray(souvisejiciDokumentySchema),
596
+ Spisovna: coercedArray(spisovnaSchema),
597
+ "Vlozeno-do-spisu": vlozenoDoSpisuSchema.optional()
598
+ });
106
599
  async function detailDokumentu(bodyObj) {
107
600
  const url = this.config.urls.ssl;
108
601
  if (!url) throw new GinisError("GINIS SDK Error: Missing SSL url in GINIS config");
602
+ const requestName2 = "Detail-dokumentu";
603
+ const requestNamespace2 = "http://www.gordic.cz/svc/xrg-ssl/v_1.0.0.0";
109
604
  const response = await makeAxiosRequest(
110
- void 0,
111
- `${url}/json/Detail-dokumentu`,
112
- {
113
- GRestHeader: getGRestHeader(
114
- this.config,
115
- "http://www.gordic.cz/xrg/ssl/wfl-dokument/detail-dokumentu/request/v_1.0.0.0"
116
- ),
117
- Xrg: { "Detail-dokumentu": bodyObj }
118
- },
605
+ createXmlRequestConfig(requestName2, requestNamespace2),
606
+ url,
607
+ createXmlRequestBody(this.config, {
608
+ name: requestName2,
609
+ namespace: requestNamespace2,
610
+ xrgNamespace: "http://www.gordic.cz/xrg/ssl/wfl-dokument/detail-dokumentu/request/v_1.0.0.0",
611
+ paramsBody: bodyObj,
612
+ paramOrder: detailDokumentuRequestProperties
613
+ }),
119
614
  this.config.debug
120
615
  );
121
- return response.data.Xrg;
616
+ return await extractResponseJson(response.data, requestName2, DetailDokumentuResponseSchema);
122
617
  }
123
618
 
124
- // src/api/json/ssl/Pridat-soubor.ts
619
+ // src/api/ssl/Pridat-soubor.ts
620
+ var import_fs = require("fs");
621
+ var import_uuid = require("uuid");
622
+ var import_zod6 = require("zod");
623
+ var pridatSouborRequestProperties = [
624
+ "Id-dokumentu",
625
+ "Id-souboru",
626
+ "Jmeno-souboru",
627
+ "Typ-vazby",
628
+ "Popis-souboru",
629
+ "Podrobny-popis-souboru",
630
+ "Data",
631
+ "Kontrola-podpisu",
632
+ "Priz-platna-verze",
633
+ "Priz-archiv-verze",
634
+ "Id-kategorie-typu-prilohy"
635
+ ];
636
+ var pridatSouborSchema = import_zod6.z.object({
637
+ "Datum-zmeny": import_zod6.z.string(),
638
+ "Id-souboru": import_zod6.z.string(),
639
+ "Verze-souboru": import_zod6.z.string()
640
+ });
641
+ var pridatSouborResponseSchema = import_zod6.z.object({
642
+ "Pridat-soubor": pridatSouborSchema
643
+ });
644
+ var requestName = "Pridat-soubor";
645
+ var requestNamespace = "http://www.gordic.cz/svc/xrg-ssl/v_1.0.0.0";
646
+ var requestXrgNamespace = "http://www.gordic.cz/xrg/ssl/wfl-dokument/pridat-soubor/request/v_1.0.0.0";
125
647
  async function pridatSoubor(bodyObj) {
126
648
  const url = this.config.urls.ssl;
127
649
  if (!url) throw new GinisError("GINIS SDK Error: Missing SSL url in GINIS config");
650
+ const requestInfo = {
651
+ name: requestName,
652
+ namespace: requestNamespace,
653
+ xrgNamespace: requestXrgNamespace,
654
+ paramsBody: bodyObj,
655
+ paramOrder: pridatSouborRequestProperties
656
+ };
657
+ const response = await makeAxiosRequest(
658
+ createXmlRequestConfig(requestName, requestNamespace),
659
+ url,
660
+ createXmlRequestBody(this.config, requestInfo),
661
+ this.config.debug
662
+ );
663
+ return await extractResponseJson(response.data, requestName, pridatSouborResponseSchema);
664
+ }
665
+ async function pridatSouborMtom(bodyObj) {
666
+ if (!bodyObj.Obsah) {
667
+ bodyObj.Obsah = new import_fs.ReadStream();
668
+ }
669
+ const url = this.config.urls.ssl_mtom;
670
+ if (!url) throw new GinisError("GINIS SDK Error: Missing SSL url in GINIS config");
671
+ const requestInfo = {
672
+ name: requestName,
673
+ namespace: requestNamespace,
674
+ xrgNamespace: requestXrgNamespace,
675
+ paramsBody: bodyObj,
676
+ paramOrder: pridatSouborRequestProperties
677
+ };
678
+ const requestContentId = "soap-req";
679
+ const fileContentId = "attachment-file";
680
+ const boundary = `----Boundary${(0, import_uuid.v4)()}`;
681
+ bodyObj.Data = fileContentId;
682
+ const requestBody = createMultipartRequestBody(
683
+ this.config,
684
+ requestInfo,
685
+ bodyObj.Obsah,
686
+ boundary,
687
+ requestContentId,
688
+ fileContentId
689
+ );
690
+ const requestHeaders = createMultipartRequestConfig(
691
+ requestName,
692
+ requestNamespace,
693
+ boundary,
694
+ requestContentId
695
+ );
128
696
  const response = await makeAxiosRequest(
129
- void 0,
130
- `${url}/json/Pridat-soubor`,
131
- {
132
- GRestHeader: getGRestHeader(
133
- this.config,
134
- "http://www.gordic.cz/xrg/ssl/wfl-dokument/pridat-soubor/request/v_1.0.0.0"
135
- ),
136
- Xrg: { "Pridat-soubor": bodyObj }
137
- },
697
+ requestHeaders,
698
+ url,
699
+ requestBody,
138
700
  this.config.debug
139
701
  );
140
- return response.data.Xrg;
702
+ return extractMultipartResponseJson(response.data, requestName, pridatSouborResponseSchema);
141
703
  }
142
704
 
143
- // src/api/json/ssl/index.ts
705
+ // src/api/ssl/index.ts
144
706
  var ssl_default = {
145
707
  detailDokumentu,
146
- pridatSoubor
708
+ pridatSoubor,
709
+ pridatSouborMtom
147
710
  };
148
711
 
149
- // src/api/json/pod/Detail-el-podani.ts
150
- async function detailElPodani(bodyObj) {
151
- const url = this.config.urls.pod;
152
- if (!url) throw new GinisError("GINIS SDK Error: Missing POD url in GINIS config");
712
+ // src/api/ude/Detail-dokumentu.ts
713
+ var import_zod7 = require("zod");
714
+ var detailDokumentuRequestProperties2 = ["Vratit-info", "Id-zaznamu"];
715
+ var detailDokumentuSchema = import_zod7.z.object({
716
+ "Id-zaznamu": import_zod7.z.string(),
717
+ Stav: import_zod7.z.string().optional(),
718
+ Kategorie: import_zod7.z.string(),
719
+ Nazev: import_zod7.z.string(),
720
+ Popis: import_zod7.z.string().optional(),
721
+ Poznamka: import_zod7.z.string().optional(),
722
+ /**
723
+ * date
724
+ */
725
+ "Vyveseno-dne": import_zod7.z.string(),
726
+ /**
727
+ * date
728
+ */
729
+ "Sejmuto-dne": import_zod7.z.string().optional(),
730
+ Zdroj: import_zod7.z.string(),
731
+ "Id-fun-navrhl": import_zod7.z.string(),
732
+ Navrhl: import_zod7.z.string(),
733
+ "Id-fun-schvalil": import_zod7.z.string(),
734
+ Schvalil: import_zod7.z.string(),
735
+ Cj: import_zod7.z.string().optional(),
736
+ /**
737
+ * Počet vyvěšených souborů.
738
+ * int
739
+ */
740
+ "Pocet-souboru": import_zod7.z.string(),
741
+ "Id-dokumentu": import_zod7.z.string().optional(),
742
+ /**
743
+ * Datum a čas změny záznamu na úřední desce (změna nastala po tomto okamžiku).
744
+ * dateTime
745
+ */
746
+ "Datum-zmeny": import_zod7.z.string(),
747
+ "Puvod-dokumentu": import_zod7.z.string().optional(),
748
+ "Odesilatel-dokumentu": import_zod7.z.string().optional(),
749
+ "Typ-dokumentu": import_zod7.z.string().optional(),
750
+ /**
751
+ * Příznak, zda je elektronický obraz podepsán. Vráceno v případě, že byl záznam vyvěšen zveřejněním el. obrazu nebo příloh z GINIS dokumentu.
752
+ * int
753
+ *
754
+ * 0 - Soubor není elektronicky podepsán.
755
+ * 1 - Soubor je elektronicky podepsán.
756
+ * 2 - Soubor je elektronicky podepsán čas. razítkem.
757
+ * 3 - Dokument je opatřen čas. razítkem.
758
+ */
759
+ "El-obraz-podpis": import_zod7.z.string().optional(),
760
+ "Cj-spisu": import_zod7.z.string().optional(),
761
+ "Cislo-sml": import_zod7.z.string().optional(),
762
+ "Typ-sml": import_zod7.z.string().optional(),
763
+ "Nazev-sml": import_zod7.z.string().optional(),
764
+ "Subjekt-sml": import_zod7.z.string().optional(),
765
+ "Nazev-sub-sml": import_zod7.z.string().optional(),
766
+ "Prijmeni-sub-sml": import_zod7.z.string().optional(),
767
+ "Jmeno-sub-sml": import_zod7.z.string().optional(),
768
+ "Ico-sub-sml": import_zod7.z.string().optional(),
769
+ "Obec-sub-sml": import_zod7.z.string().optional(),
770
+ "Ulice-sub-sml": import_zod7.z.string().optional(),
771
+ "Cor-sub-sml": import_zod7.z.string().optional(),
772
+ "Cpop-sub-sml": import_zod7.z.string().optional(),
773
+ "Psc-sub-sml": import_zod7.z.string().optional(),
774
+ "Typ-sub-sml": import_zod7.z.string().optional(),
775
+ "Datum-uzavreni-sml": import_zod7.z.string().optional(),
776
+ "Odbor-sml": import_zod7.z.string().optional(),
777
+ "Celkova-castka-sml": import_zod7.z.string().optional(),
778
+ "Mena-sml": import_zod7.z.string().optional()
779
+ });
780
+ var souboryDokumentuSchema = import_zod7.z.object({
781
+ "Id-souboru": import_zod7.z.string(),
782
+ Nazev: import_zod7.z.string(),
783
+ /**
784
+ * Velikost souboru včetně jednotky (např. KB).
785
+ * string
786
+ */
787
+ Velikost: import_zod7.z.string().optional(),
788
+ /**
789
+ * Příznak, zda se jedná o el. obraz GINIS dokumentu. Informace je k dispozici u záznamů vyvěšených přes GINIS v. 364 a vyšší.
790
+ * short
791
+ *
792
+ * 0 - Soubor není el. obraz GINIS dokumentu (soubor je příloha, nebo vložen přes modul UDA01).
793
+ * 1 - Soubor je el. obraz GINIS dokumentu.
794
+ */
795
+ "Priznak-el-obr": import_zod7.z.string().optional(),
796
+ /**
797
+ * Poznámka k souboru.
798
+ */
799
+ Poznamka: import_zod7.z.string().optional(),
800
+ /**
801
+ * Příznak, zda je soubor el. podepsán. Vráceno v případě, že byl záznam vyvěšen zveřejněním el. obrazu nebo příloh z GINIS dokumentu.
802
+ * short
803
+ *
804
+ * 0 - Soubor není elektronicky podepsán.
805
+ * 1 - Soubor je elektronicky podepsán.
806
+ * 2 - Soubor je elektronicky podepsán čas. razítkem.
807
+ * 3 - Dokument je opatřen čas. razítkem.
808
+ */
809
+ "Priznak-podpis": import_zod7.z.string().optional()
810
+ });
811
+ var protistranySmlSchema = import_zod7.z.object({
812
+ "Typ-protistrany": import_zod7.z.string().optional(),
813
+ Subjekt: import_zod7.z.string().optional(),
814
+ "Nazev-sub": import_zod7.z.string().optional(),
815
+ "Prijmeni-sub": import_zod7.z.string().optional(),
816
+ "Jmeno-sub": import_zod7.z.string().optional(),
817
+ "Ico-sub": import_zod7.z.string().optional(),
818
+ "Obec-sub": import_zod7.z.string().optional(),
819
+ "Ulice-sub": import_zod7.z.string().optional(),
820
+ "Cor-sub": import_zod7.z.string().optional(),
821
+ "Cpop-sub": import_zod7.z.string().optional(),
822
+ "Psc-sub": import_zod7.z.string().optional(),
823
+ /**
824
+ * Typ subjektu smlouvy.
825
+ *
826
+ * neurceno - Neurčeno
827
+ * pravnicka-osoba - Právnická osoba
828
+ * fyz-osoba - Fyzická osoba
829
+ * fyz-osoba-osvc - Fyzická osoba OSVČ
830
+ */
831
+ "Typ-sub": import_zod7.z.string().optional()
832
+ });
833
+ var DetailDokumentuResponseSchema2 = import_zod7.z.object({
834
+ "Detail-dokumentu": detailDokumentuSchema.optional(),
835
+ "Soubory-dokumentu": coercedArray(souboryDokumentuSchema),
836
+ "Protistrany-sml": coercedArray(protistranySmlSchema)
837
+ });
838
+ async function detailDokumentu2(bodyObj) {
839
+ const url = this.config.urls.ude;
840
+ if (!url) throw new GinisError("GINIS SDK Error: Missing UDE url in GINIS config");
841
+ const requestName2 = "Detail-dokumentu";
842
+ const requestNamespace2 = "http://www.gordic.cz/svc/xrg-ude/v_1.0.0.0";
153
843
  const response = await makeAxiosRequest(
154
- void 0,
155
- `${url}/json/Detail-el-podani`,
156
- {
157
- GRestHeader: getGRestHeader(
158
- this.config,
159
- "http://www.gordic.cz/xrg/pod/detail-el-podani/request/v_1.0.0.0"
160
- ),
161
- Xrg: { "Detail-el-podani": bodyObj }
162
- },
844
+ createXmlRequestConfig(requestName2, requestNamespace2),
845
+ url,
846
+ createXmlRequestBody(this.config, {
847
+ name: requestName2,
848
+ namespace: requestNamespace2,
849
+ xrgNamespace: "http://www.gordic.cz/xrg/ude/detail-dokumentu/request/v_1.0.0.0",
850
+ paramsBody: bodyObj,
851
+ paramOrder: detailDokumentuRequestProperties2
852
+ }),
163
853
  this.config.debug
164
854
  );
165
- return response.data.Xrg;
855
+ return await extractResponseJson(response.data, requestName2, DetailDokumentuResponseSchema2);
166
856
  }
167
857
 
168
- // src/api/json/pod/index.ts
169
- var pod_default = {
170
- detailElPodani
171
- };
858
+ // src/api/ude/Nacist-soubor.ts
859
+ var import_zod8 = require("zod");
860
+ var nacistSouborRequestProperties = ["Id-souboru"];
861
+ var nacistSouborSchema = import_zod8.z.object({
862
+ /**
863
+ * Jméno el. souboru.
864
+ * string
865
+ * Max. délka: 254, Min. délka: 1,
866
+ */
867
+ "Jmeno-souboru": import_zod8.z.string(),
868
+ /**
869
+ * Binární data souboru v base64 formátu.
870
+ * base64Binary
871
+ */
872
+ Data: import_zod8.z.string()
873
+ });
874
+ var nacistSouborResponseSchema = import_zod8.z.object({
875
+ /**
876
+ * Nacist-soubor - vyžadován: Ne , max. výskyt: 1
877
+ */
878
+ "Nacist-soubor": nacistSouborSchema.optional()
879
+ });
880
+ async function nacistSoubor(bodyObj) {
881
+ const url = this.config.urls.ude;
882
+ if (!url) throw new GinisError("GINIS SDK Error: Missing UDE url in GINIS config");
883
+ const requestName2 = "Nacist-soubor";
884
+ const requestNamespace2 = "http://www.gordic.cz/svc/xrg-ude/v_1.0.0.0";
885
+ const response = await makeAxiosRequest(
886
+ createXmlRequestConfig(requestName2, requestNamespace2),
887
+ url,
888
+ createXmlRequestBody(this.config, {
889
+ name: requestName2,
890
+ namespace: requestNamespace2,
891
+ xrgNamespace: "http://www.gordic.cz/xrg/ude/nacist-soubor/request/v_1.0.0.0",
892
+ paramsBody: bodyObj,
893
+ paramOrder: nacistSouborRequestProperties
894
+ }),
895
+ this.config.debug
896
+ );
897
+ return await extractResponseJson(response.data, requestName2, nacistSouborResponseSchema);
898
+ }
172
899
 
173
- // src/api/json/gin/Detail-funkcniho-mista.ts
174
- async function detailFunkcnihoMista(bodyObj) {
175
- const url = this.config.urls.gin;
176
- if (!url) throw new GinisError("GINIS SDK Error: Missing GIN url in GINIS config");
900
+ // src/api/ude/Seznam-dokumentu.ts
901
+ var import_zod9 = require("zod");
902
+ var seznamDokumentuRequestProperties = [
903
+ /**
904
+ * UDE - Vrátit pouze informace evidované v GINIS modulu Úřední deska. Tj. základní informace o vyvěšeném záznamu. Elementy: Id-zaznamu ... Id-dokumentu.
905
+ * UDEWFL - Když byl záznam vyvěšen z GINIS modulu, jsou o něm dotaženy základní informace (další možno získat voláním XRG-SSL). Elementy: Id-zaznamu ... Id-dokumentu + Puvod-dokumentu ... Cj-spisu
906
+ * UDESML - Když byl záznam vyvěšen z GINIS modulu SML, jsou o něm dotaženy informace. Elementy: Id-zaznamu ... Id-dokumentu + Cislo-sml ... Odbor-sml.
907
+ * UDEWFLSML - Informace UDE + WFL + SML. Vrátí vše.
908
+ */
909
+ "Vratit-info",
910
+ /**
911
+ * vyveseno - vyvěšeno
912
+ * sejmuto - sejmuto
913
+ */
914
+ "Stav",
915
+ "Id-uredni-desky",
916
+ "Id-kategorie",
917
+ /**
918
+ * ISO-string date format
919
+ */
920
+ "Vyveseno-od",
921
+ /**
922
+ * ISO-string date format
923
+ */
924
+ "Vyveseno-od-horni-mez",
925
+ /**
926
+ * ISO-string date format
927
+ */
928
+ "Sejmuto-od",
929
+ /**
930
+ * ISO-string date format
931
+ */
932
+ "Sejmuto-od-horni-mez",
933
+ /**
934
+ * Název záznamu. Hledáno přes LIKE "%hodnota%" bez ohledu na diakritiku a velikost písmen (na db stroji Informix s ohledem na diakritiku)
935
+ * Max 254 chars
936
+ */
937
+ "Nazev",
938
+ /**
939
+ * Popis záznamu. Hledáno přes LIKE "%hodnota%" bez ohledu na diakritiku a velikost písmen (na db stroji Informix s ohledem na diakritiku)
940
+ * Max 254 chars
941
+ */
942
+ "Popis",
943
+ "Zdroj",
944
+ /**
945
+ * rucni-evidence - ruční evidence
946
+ * elektronicke-podani - elektronické podání
947
+ * datova-schranka - datová schránka
948
+ * interface-xrg - interface, xrg
949
+ */
950
+ "Puvod-dokumentu",
951
+ "Odesilatel-dokumentu",
952
+ "Cj-spisu",
953
+ /**
954
+ * ISO-string date-time format
955
+ */
956
+ "Datum-zmeny",
957
+ /**
958
+ * ISO-string date-time format
959
+ */
960
+ "Datum-zmeny-horni-mez",
961
+ "Cislo-sml",
962
+ "Typ-sml",
963
+ "Nazev-sml",
964
+ "Nazev-sub-sml",
965
+ "Prijmeni-sub-sml",
966
+ "Jmeno-sub-sml",
967
+ "Ico-sub-sml",
968
+ "Obec-sub-sml",
969
+ "Ulice-sub-sml",
970
+ "Cor-sub-sml",
971
+ "Cpop-sub-sml",
972
+ "Psc-sub-sml",
973
+ "Typ-sub-sml",
974
+ /**
975
+ * ISO-string date-time format
976
+ */
977
+ "Datum-uzavreni-sml-od",
978
+ /**
979
+ * ISO-string date-time format
980
+ */
981
+ "Datum-uzavreni-sml-do",
982
+ "Odbor-sml",
983
+ "Celkova-castka-od-sml",
984
+ "Celkova-castka-do-sml",
985
+ "Mena-sml"
986
+ ];
987
+ var seznamDokumentuSchema = import_zod9.z.object({
988
+ "Id-zaznamu": import_zod9.z.string(),
989
+ /**
990
+ * pripraveno - Připraveno – schváleno k vyvěšení, ale ještě nenastalo datum vyvěšení. Záznamy s touto hodnotou se na výstupu mohou objevit pouze u desek, které vrací v metodě seznam-desek element Stav-pripraveno = 'true'.
991
+ * vyveseno - Vyvěšeno – schváleno k vyvěšení + nastalo datum vyvěšení (a ještě nenastalo datum sejmutí)
992
+ * sejmuto - Sejmuto – záznam byl na desce, ale už nastalo datum sejmutí a nebo byl ručně sejmut (a do okamžiku ručního sejmutí se posunulo datum sejmutí)
993
+ */
994
+ Stav: import_zod9.z.string().optional(),
995
+ /**
996
+ * Název kategorie.
997
+ */
998
+ Kategorie: import_zod9.z.string(),
999
+ Nazev: import_zod9.z.string(),
1000
+ Popis: import_zod9.z.string().optional(),
1001
+ /**
1002
+ * ISO-string date
1003
+ */
1004
+ "Vyveseno-dne": import_zod9.z.string(),
1005
+ /**
1006
+ * ISO-string date
1007
+ */
1008
+ "Sejmuto-dne": import_zod9.z.string().optional(),
1009
+ Zdroj: import_zod9.z.string(),
1010
+ /**
1011
+ * Identifikace GINIS funkce, která navrhla dokument k vyvěšení.
1012
+ */
1013
+ "Id-fun-navrhl": import_zod9.z.string(),
1014
+ /**
1015
+ * Osoba, která navrhla dokument k vyvěšení.
1016
+ */
1017
+ Navrhl: import_zod9.z.string(),
1018
+ /**
1019
+ * Identifikace GINIS funkce, která dokument schválila resp. vyvěsila.
1020
+ */
1021
+ "Id-fun-schvalil": import_zod9.z.string(),
1022
+ /**
1023
+ * Osoba, která dokument schválila resp. vyvěsila.
1024
+ */
1025
+ Schvalil: import_zod9.z.string(),
1026
+ /**
1027
+ * Číslo jednací resp. značka.
1028
+ */
1029
+ Cj: import_zod9.z.string().optional(),
1030
+ /**
1031
+ * Počet vyvěšených souborů.
1032
+ * int
1033
+ */
1034
+ "Pocet-souboru": import_zod9.z.string(),
1035
+ /**
1036
+ * Identifikace GINIS dokumentu. Vráceno v případě, že byl záznam vyvěšen zveřejněním el. obrazu nebo příloh z GINIS dokumentu.
1037
+ */
1038
+ "Id-dokumentu": import_zod9.z.string().optional(),
1039
+ /**
1040
+ * Celkový počet vyvěšených dokumentů/záznamů.
1041
+ * int
1042
+ */
1043
+ "Pocet-vyveseno": import_zod9.z.string(),
1044
+ /**
1045
+ * Celkový počet dokumentů/záznamů v archivu (sejmutých).
1046
+ * int
1047
+ */
1048
+ "Pocet-archiv": import_zod9.z.string(),
1049
+ /**
1050
+ * Datum a čas změny záznamu na úřední desce.
1051
+ * dateTime
1052
+ */
1053
+ "Datum-zmeny": import_zod9.z.string(),
1054
+ "Puvod-dokumentu": import_zod9.z.string().optional(),
1055
+ "Odesilatel-dokumentu": import_zod9.z.string().optional(),
1056
+ "Typ-dokumentu": import_zod9.z.string().optional(),
1057
+ "El-obraz-podpis": import_zod9.z.string().optional(),
1058
+ "Cj-spisu": import_zod9.z.string().optional(),
1059
+ "Cislo-sml": import_zod9.z.string().optional(),
1060
+ "Typ-sml": import_zod9.z.string().optional(),
1061
+ "Nazev-sml": import_zod9.z.string().optional(),
1062
+ "Subjekt-sml": import_zod9.z.string().optional(),
1063
+ "Nazev-sub-sml": import_zod9.z.string().optional(),
1064
+ "Prijmeni-sub-sml": import_zod9.z.string().optional(),
1065
+ "Jmeno-sub-sml": import_zod9.z.string().optional(),
1066
+ "Ico-sub-sml": import_zod9.z.string().optional(),
1067
+ "Obec-sub-sml": import_zod9.z.string().optional(),
1068
+ "Ulice-sub-sml": import_zod9.z.string().optional(),
1069
+ "Cor-sub-sml": import_zod9.z.string().optional(),
1070
+ "Cpop-sub-sml": import_zod9.z.string().optional(),
1071
+ "Psc-sub-sml": import_zod9.z.string().optional(),
1072
+ "Typ-sub-sml": import_zod9.z.string().optional(),
1073
+ "Datum-uzavreni-sml": import_zod9.z.string().optional(),
1074
+ "Odbor-sml": import_zod9.z.string().optional(),
1075
+ "Celkova-castka-sml": import_zod9.z.string().optional(),
1076
+ "Mena-sml": import_zod9.z.string().optional()
1077
+ });
1078
+ var dokumentySchema = import_zod9.z.object({
1079
+ "Id-zaznamu": import_zod9.z.string().optional(),
1080
+ "Datum-zmeny": import_zod9.z.string().optional()
1081
+ });
1082
+ var seznamDokumentuResponseSchema = import_zod9.z.object({
1083
+ "Seznam-dokumentu": coercedArray(seznamDokumentuSchema),
1084
+ "Sejmute-dokumenty": coercedArray(dokumentySchema),
1085
+ "Zrusene-dokumenty": coercedArray(dokumentySchema)
1086
+ });
1087
+ async function seznamDokumentu(bodyObj) {
1088
+ const url = this.config.urls.ude;
1089
+ if (!url) throw new GinisError("GINIS SDK Error: Missing UDE url in GINIS config");
1090
+ const requestName2 = "Seznam-dokumentu";
1091
+ const requestNamespace2 = "http://www.gordic.cz/svc/xrg-ude/v_1.0.0.0";
177
1092
  const response = await makeAxiosRequest(
178
- void 0,
179
- `${url}/json/Detail-funkcniho-mista`,
180
- {
181
- GRestHeader: getGRestHeader(
182
- this.config,
183
- "http://www.gordic.cz/xrg/gin/detail-funkcniho-mista/request/v_1.0.0.0"
184
- ),
185
- Xrg: { "Detail-funkcniho-mista": bodyObj }
186
- },
1093
+ createXmlRequestConfig(requestName2, requestNamespace2),
1094
+ url,
1095
+ createXmlRequestBody(this.config, {
1096
+ name: requestName2,
1097
+ namespace: requestNamespace2,
1098
+ xrgNamespace: "http://www.gordic.cz/xrg/ude/seznam-dokumentu/request/v_1.0.0.0",
1099
+ paramsBody: bodyObj,
1100
+ paramOrder: seznamDokumentuRequestProperties
1101
+ }),
187
1102
  this.config.debug
188
1103
  );
189
- return response.data.Xrg;
1104
+ return await extractResponseJson(response.data, requestName2, seznamDokumentuResponseSchema);
190
1105
  }
191
1106
 
192
- // src/api/json/gin/Detail-referenta.ts
193
- async function detailReferenta(bodyObj) {
194
- const url = this.config.urls.gin;
195
- if (!url) throw new GinisError("GINIS SDK Error: Missing GIN url in GINIS config");
1107
+ // src/api/ude/Seznam-kategorii.ts
1108
+ var import_zod10 = require("zod");
1109
+ var seznamKategoriiRequestProperties = [
1110
+ // Identifikátor úřední desky. Pokud je v GINIS naadministrována jen jedna deska, nemusí být uvedeno.
1111
+ "Id-uredni-desky"
1112
+ ];
1113
+ var seznamKategoriiSchema = import_zod10.z.object({
1114
+ "Id-kategorie": import_zod10.z.string(),
1115
+ Nazev: import_zod10.z.string().optional(),
1116
+ /**
1117
+ * Počet vyvěšených dokumentů/záznamů v této kategorii.
1118
+ * int
1119
+ */
1120
+ "Pocet-vyveseno": import_zod10.z.string(),
1121
+ /**
1122
+ * Počet dokumentů/záznamů v archivu (sejmutých) této kategorie.
1123
+ * int
1124
+ */
1125
+ "Pocet-archiv": import_zod10.z.string()
1126
+ });
1127
+ var seznamKategoriiResponseSchema = import_zod10.z.object({
1128
+ /**
1129
+ * Seznam-kategorii - vyžadován: Ne , max. výskyt: neomezeně
1130
+ */
1131
+ "Seznam-kategorii": coercedArray(seznamKategoriiSchema)
1132
+ });
1133
+ async function seznamKategorii(bodyObj) {
1134
+ const url = this.config.urls.ude;
1135
+ if (!url) throw new GinisError("GINIS SDK Error: Missing UDE url in GINIS config");
1136
+ const requestName2 = "Seznam-kategorii";
1137
+ const requestNamespace2 = "http://www.gordic.cz/svc/xrg-ude/v_1.0.0.0";
196
1138
  const response = await makeAxiosRequest(
197
- void 0,
198
- `${url}/json/Detail-referenta`,
199
- {
200
- GRestHeader: getGRestHeader(
201
- this.config,
202
- "http://www.gordic.cz/xrg/gin/detail-referenta/request/v_1.0.0.0"
203
- ),
204
- Xrg: { "Detail-referenta": bodyObj }
205
- },
1139
+ createXmlRequestConfig(requestName2, requestNamespace2),
1140
+ url,
1141
+ createXmlRequestBody(this.config, {
1142
+ name: requestName2,
1143
+ namespace: requestNamespace2,
1144
+ xrgNamespace: "http://www.gordic.cz/xrg/ude/seznam-kategorii/request/v_1.0.0.0",
1145
+ paramsBody: bodyObj,
1146
+ paramOrder: seznamKategoriiRequestProperties
1147
+ }),
206
1148
  this.config.debug
207
1149
  );
208
- return response.data.Xrg;
1150
+ return await extractResponseJson(response.data, requestName2, seznamKategoriiResponseSchema);
209
1151
  }
210
1152
 
211
- // src/api/json/gin/index.ts
212
- var gin_default = {
213
- detailFunkcnihoMista,
214
- detailReferenta
1153
+ // src/api/ude/index.ts
1154
+ var ude_default = {
1155
+ detailDokumentu: detailDokumentu2,
1156
+ nacistSoubor,
1157
+ seznamDokumentu,
1158
+ seznamKategorii
215
1159
  };
216
1160
 
217
1161
  // src/ginis.ts
218
- var import_lodash = require("lodash");
219
1162
  var defaultConfig = {};
220
1163
  var Ginis = class {
221
1164
  constructor(config) {
@@ -223,16 +1166,14 @@ var Ginis = class {
223
1166
  ...defaultConfig,
224
1167
  ...config
225
1168
  };
226
- this.json = {
227
- ssl: (0, import_lodash.mapValues)(ssl_default, (v) => (0, import_lodash.bind)(v, this)),
228
- pod: (0, import_lodash.mapValues)(pod_default, (v) => (0, import_lodash.bind)(v, this)),
229
- gin: (0, import_lodash.mapValues)(gin_default, (v) => (0, import_lodash.bind)(v, this))
230
- };
1169
+ this.ssl = (0, import_lodash.mapValues)(ssl_default, (v) => (0, import_lodash.bind)(v, this));
1170
+ this.pod = (0, import_lodash.mapValues)(pod_default, (v) => (0, import_lodash.bind)(v, this));
1171
+ this.gin = (0, import_lodash.mapValues)(gin_default, (v) => (0, import_lodash.bind)(v, this));
1172
+ this.ude = (0, import_lodash.mapValues)(ude_default, (v) => (0, import_lodash.bind)(v, this));
231
1173
  }
232
1174
  };
233
1175
  // Annotate the CommonJS export names for ESM import in node:
234
1176
  0 && (module.exports = {
235
- AxiosError,
236
1177
  Ginis,
237
1178
  GinisError
238
1179
  });