doc-nis-2 2.1.8 → 2.2.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 (112) hide show
  1. package/dist-front/assets/QuoteElement-CFcdhavZ.js +1 -0
  2. package/dist-front/assets/QuoteLink-DSNoTf_G.js +1 -0
  3. package/dist-front/assets/advanced-search-by-IP-B2LqmXzp.png +0 -0
  4. package/dist-front/assets/advanced-search-by-IP-C6B-Mnn_.png +0 -0
  5. package/dist-front/assets/advanced-search-by-description-BQh6pwOz.png +0 -0
  6. package/dist-front/assets/advanced-search-by-description-DeuibbVB.png +0 -0
  7. package/dist-front/assets/advanced-search-by-url-DztVSGfW.png +0 -0
  8. package/dist-front/assets/advanced-search-by-url-RBKEve2P.png +0 -0
  9. package/dist-front/assets/advanced-search-with-prefix-CEOgevpn.png +0 -0
  10. package/dist-front/assets/advanced-search-with-prefix-Ck5N7mD9.png +0 -0
  11. package/dist-front/assets/dashboard-BONDdowW.png +0 -0
  12. package/dist-front/assets/dashboard-CCBJ1o4E.png +0 -0
  13. package/dist-front/assets/dashboard-open-repository-example-BNiZiPJz.png +0 -0
  14. package/dist-front/assets/dashboard-open-repository-example-DSfM0sX0.png +0 -0
  15. package/dist-front/assets/deployment-after-select-database-DiDyml4R.png +0 -0
  16. package/dist-front/assets/deployment-after-select-database-UPTEMfeH.png +0 -0
  17. package/dist-front/assets/deployment-before-filter-BEIB56RC.png +0 -0
  18. package/dist-front/assets/deployment-before-filter-DE1G-dz0.png +0 -0
  19. package/dist-front/assets/deployment-before-filter-hide-actors-obgFAPBN.png +0 -0
  20. package/dist-front/assets/deployment-before-filter-hide-actors-s3dqy1J1.png +0 -0
  21. package/dist-front/assets/deployment-diagram-select-elements-1-BNfG_zzE.png +0 -0
  22. package/dist-front/assets/deployment-diagram-select-elements-1-BkRHn1TY.png +0 -0
  23. package/dist-front/assets/deployment-diagram-select-elements-2-B8F5-nju.png +0 -0
  24. package/dist-front/assets/deployment-diagram-select-elements-2-BbE1fItW.png +0 -0
  25. package/dist-front/assets/deployment-diagram-select-elements-3-CiRgDAJx.png +0 -0
  26. package/dist-front/assets/deployment-diagram-select-elements-3-LyPiN4LO.png +0 -0
  27. package/dist-front/assets/deployment-diagram-select-elements-4-DgKXL6Sm.png +0 -0
  28. package/dist-front/assets/deployment-diagram-select-elements-4-Dl3zq3Es.png +0 -0
  29. package/dist-front/assets/deployment-diagram-select-elements-5-NYRRJYsK.png +0 -0
  30. package/dist-front/assets/deployment-diagram-select-elements-5-TfTB-Oqn.png +0 -0
  31. package/dist-front/assets/deployment-diagram-select-elements-6-BnmwzSpW.png +0 -0
  32. package/dist-front/assets/deployment-diagram-select-elements-6-SCgXRKlk.png +0 -0
  33. package/dist-front/assets/deployment-edit-element-name-BPdKcUZn.png +0 -0
  34. package/dist-front/assets/deployment-edit-element-name-BheWfdx2.png +0 -0
  35. package/dist-front/assets/diagram-without-test-layer-BhRiWpQ3.png +0 -0
  36. package/dist-front/assets/diagram-without-test-layer-D_RU0Xi1.png +0 -0
  37. package/dist-front/assets/element-list-not-filtered-Cvk8tB2f.png +0 -0
  38. package/dist-front/assets/element-list-not-filtered-XVyTUoxe.png +0 -0
  39. package/dist-front/assets/element-list-search-1-DOle2VkK.png +0 -0
  40. package/dist-front/assets/element-list-search-1-DPOY58Eg.png +0 -0
  41. package/dist-front/assets/element-list-search-2-CpcGE9_3.png +0 -0
  42. package/dist-front/assets/element-list-search-2-Dix_xXBI.png +0 -0
  43. package/dist-front/assets/element-list-search-3-BFiRuPza.png +0 -0
  44. package/dist-front/assets/element-list-search-3-E4XtlyZR.png +0 -0
  45. package/dist-front/assets/empty-diagram-BM1L95vH.png +0 -0
  46. package/dist-front/assets/empty-diagram-DhYDVI3_.png +0 -0
  47. package/dist-front/assets/home-page-B7fHs2kb.png +0 -0
  48. package/dist-front/assets/home-page-Ck94L7Rl.png +0 -0
  49. package/dist-front/assets/index-Bv4Dk-O8.js +515 -0
  50. package/dist-front/assets/{index-bXkKx5pj.css → index-CgPoNf8Z.css} +1 -1
  51. package/dist-front/assets/login-page-BIToVvfp.png +0 -0
  52. package/dist-front/assets/login-page-emYnvcIi.png +0 -0
  53. package/dist-front/assets/repository-home-page-D_F5-WZx.png +0 -0
  54. package/dist-front/assets/repository-home-page-KykG8Rih.png +0 -0
  55. package/dist-front/assets/select-diagrams-elements-CSBEk5Cr.png +0 -0
  56. package/dist-front/assets/select-diagrams-elements-C_VbqYVh.png +0 -0
  57. package/dist-front/index.html +2 -2
  58. package/package.json +2 -3
  59. package/src/doc-nis-2.js +38 -44
  60. package/dist-front/assets/advanced-search-by-IP-01mSXPE-.png +0 -0
  61. package/dist-front/assets/advanced-search-by-IP-iOmAopbQ.png +0 -0
  62. package/dist-front/assets/advanced-search-by-description-0nWbn4ol.png +0 -0
  63. package/dist-front/assets/advanced-search-by-description-BBwTm3AY.png +0 -0
  64. package/dist-front/assets/advanced-search-by-url-BSYDgDto.png +0 -0
  65. package/dist-front/assets/advanced-search-by-url-DsVNKyOa.png +0 -0
  66. package/dist-front/assets/advanced-search-with-prefix-Cpl1d4b7.png +0 -0
  67. package/dist-front/assets/advanced-search-with-prefix-NzhP64yh.png +0 -0
  68. package/dist-front/assets/dashboard-BlYyhdI4.png +0 -0
  69. package/dist-front/assets/dashboard-CR39aHlH.png +0 -0
  70. package/dist-front/assets/dashboard-open-repository-example-BuVPFRRm.png +0 -0
  71. package/dist-front/assets/dashboard-open-repository-example-Cg3qKcPN.png +0 -0
  72. package/dist-front/assets/deployment-after-select-database-B6Ncdx8t.png +0 -0
  73. package/dist-front/assets/deployment-after-select-database-fEsjjPVV.png +0 -0
  74. package/dist-front/assets/deployment-before-filter-LFqe44uh.png +0 -0
  75. package/dist-front/assets/deployment-before-filter-Om0xAZih.png +0 -0
  76. package/dist-front/assets/deployment-before-filter-hide-actors-BUmtkqD9.png +0 -0
  77. package/dist-front/assets/deployment-before-filter-hide-actors-DvvPmdm7.png +0 -0
  78. package/dist-front/assets/deployment-diagram-select-elements-1-Bx3k5isS.png +0 -0
  79. package/dist-front/assets/deployment-diagram-select-elements-1-CQefjBXk.png +0 -0
  80. package/dist-front/assets/deployment-diagram-select-elements-2-DI-m_qPN.png +0 -0
  81. package/dist-front/assets/deployment-diagram-select-elements-2-Pso0_g-T.png +0 -0
  82. package/dist-front/assets/deployment-diagram-select-elements-3-BvkuXWie.png +0 -0
  83. package/dist-front/assets/deployment-diagram-select-elements-3-DY0MB8Y-.png +0 -0
  84. package/dist-front/assets/deployment-diagram-select-elements-4-CFJOUe_2.png +0 -0
  85. package/dist-front/assets/deployment-diagram-select-elements-4-Clvy0yTR.png +0 -0
  86. package/dist-front/assets/deployment-diagram-select-elements-5--pxyi244.png +0 -0
  87. package/dist-front/assets/deployment-diagram-select-elements-5-DactLMGV.png +0 -0
  88. package/dist-front/assets/deployment-diagram-select-elements-6-BJ80OGwk.png +0 -0
  89. package/dist-front/assets/deployment-diagram-select-elements-6-ft1kLpfZ.png +0 -0
  90. package/dist-front/assets/deployment-edit-element-name-BcTk-PGe.png +0 -0
  91. package/dist-front/assets/deployment-edit-element-name-Cqy5CnEc.png +0 -0
  92. package/dist-front/assets/diagram-without-test-layer-B_ULJsbz.png +0 -0
  93. package/dist-front/assets/diagram-without-test-layer-Bti0jqa8.png +0 -0
  94. package/dist-front/assets/element-list-not-filtered-B7UUQHB7.png +0 -0
  95. package/dist-front/assets/element-list-not-filtered-B99a8edl.png +0 -0
  96. package/dist-front/assets/element-list-search-1-VeloUMzf.png +0 -0
  97. package/dist-front/assets/element-list-search-2-D0AEqZTG.png +0 -0
  98. package/dist-front/assets/element-list-search-3-D1Yy1UuO.png +0 -0
  99. package/dist-front/assets/element-list-search-3-Fqkr1Trb.png +0 -0
  100. package/dist-front/assets/empty-diagram-BbPd93V3.png +0 -0
  101. package/dist-front/assets/empty-diagram-D56YTenf.png +0 -0
  102. package/dist-front/assets/home-page-DaJeojEF.png +0 -0
  103. package/dist-front/assets/home-page-jY29-DT-.png +0 -0
  104. package/dist-front/assets/index-xxl-_A68.js +0 -443
  105. package/dist-front/assets/login-page-BIZqteOi.png +0 -0
  106. package/dist-front/assets/login-page-BgOQt7Oc.png +0 -0
  107. package/dist-front/assets/repository-home-page-B6r7L1CR.png +0 -0
  108. package/dist-front/assets/repository-home-page-r-ZEWVTX.png +0 -0
  109. package/dist-front/assets/select-diagrams-elements-BmrhLSwn.png +0 -0
  110. package/dist-front/assets/select-diagrams-elements-DDR1kO1I.png +0 -0
  111. package/dist-front/images/new-library.jpg +0 -0
  112. package/dist-front/images/old-library.jpg +0 -0
@@ -3,8 +3,8 @@
3
3
  <head>
4
4
  <meta charset="UTF-8" />
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
6
- <script type="module" crossorigin src="/assets/index-xxl-_A68.js"></script>
7
- <link rel="stylesheet" crossorigin href="/assets/index-bXkKx5pj.css">
6
+ <script type="module" crossorigin src="/assets/index-Bv4Dk-O8.js"></script>
7
+ <link rel="stylesheet" crossorigin href="/assets/index-CgPoNf8Z.css">
8
8
  </head>
9
9
  <body>
10
10
  <div id="app"></div>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "doc-nis-2",
3
- "version": "2.1.8",
3
+ "version": "2.2.0",
4
4
  "author": {
5
5
  "name": "Marc Nicole",
6
6
  "email": "info@nicoleinnovation.com",
@@ -25,8 +25,7 @@
25
25
  "description": "a free IT System cartography tool that helps meet NIS-2 requirement with EBIOS support",
26
26
  "type": "module",
27
27
  "bin": {
28
- "doc-nis-2": "./src/doc-nis-2.js",
29
- "plantuml": "java -DPLANTUML_LIMIT_SIZE=8192 -jar plantuml/plantuml-1.2025.4.jar -picoweb"
28
+ "doc-nis-2": "./src/doc-nis-2.js"
30
29
  },
31
30
  "dependencies": {
32
31
  "mariadb": "3.4.2"
package/src/doc-nis-2.js CHANGED
@@ -79729,7 +79729,7 @@ var import_ms = __toESM(require_ms(), 1);
79729
79729
  import path from "path";
79730
79730
 
79731
79731
  // api/src/commit-sha.ts
79732
- var COMMIT_SHA = "2dc797f1";
79732
+ var COMMIT_SHA = "4150be97";
79733
79733
 
79734
79734
  // api/src/utils/config.ts
79735
79735
  var nodeEnv = process.env.NODE_ENV?.trim() ?? "dev";
@@ -79788,8 +79788,6 @@ var config = {
79788
79788
  // ONBOARDING new Users 1=new users can selt create an account and a repository
79789
79789
  // 0=users have to be invited by an existing user that has the rights
79790
79790
  ONBOARDING: getOption("ONBOARDING")
79791
- // all demo repositories that must be attached in readOnly on onboarding process
79792
- //REMOVEDEMO_REPOSITORIES: process.env.DEMO_REPOSITORIES?.split(/[ ,]+/).map(idstr => Number(idstr)) ?? []
79793
79791
  };
79794
79792
 
79795
79793
  // api/src/databases/DatabaseManager.ts
@@ -84762,7 +84760,8 @@ var ELEMENT_DEFINITIONS = {
84762
84760
  shortcut: "*"
84763
84761
  },
84764
84762
  "useCase": {
84765
- shortcut: "+"
84763
+ shortcut: "+",
84764
+ process: true
84766
84765
  },
84767
84766
  "installation": {
84768
84767
  shortcut: "<",
@@ -84799,48 +84798,60 @@ var ELEMENT_DEFINITIONS = {
84799
84798
  shortcut: "$"
84800
84799
  },
84801
84800
  "risk": {
84802
- shortcut: "!"
84801
+ shortcut: "!",
84802
+ process: true
84803
84803
  },
84804
84804
  "norm": {
84805
- shortcut: "\xA7"
84805
+ shortcut: "\xA7",
84806
+ process: true
84806
84807
  },
84807
84808
  "capability": {
84808
84809
  shortcut: "^",
84810
+ process: true,
84809
84811
  hasSLA: true
84810
84812
  },
84811
84813
  "process": {
84812
84814
  shortcut: ">",
84815
+ process: true,
84813
84816
  hasSLA: true
84814
84817
  },
84815
84818
  "object": {
84816
- shortcut: "#"
84819
+ shortcut: "#",
84820
+ process: true
84817
84821
  },
84818
84822
  "feared": {
84819
- shortcut: "\xB0"
84823
+ shortcut: "\xB0",
84824
+ process: true
84820
84825
  },
84821
84826
  "target": {
84822
- shortcut: "@"
84827
+ shortcut: "@",
84828
+ process: true
84823
84829
  },
84824
84830
  "strategicScenario": {
84825
- shortcut: "&"
84831
+ shortcut: "&",
84832
+ process: true
84826
84833
  },
84827
84834
  "operationalScenario": {
84828
- shortcut: "%"
84835
+ shortcut: "%",
84836
+ process: true
84829
84837
  },
84830
84838
  "report": {
84831
84839
  shortcut: "|"
84832
84840
  },
84833
84841
  "disasterRecoveryPlan": {
84834
- shortcut: "_"
84842
+ shortcut: "_",
84843
+ process: true
84835
84844
  },
84836
84845
  "ebiosStudy": {
84837
- shortcut: "\xA3"
84846
+ shortcut: "\xA3",
84847
+ process: true
84838
84848
  },
84839
84849
  "help": {
84840
84850
  shortcut: "?"
84841
84851
  }
84842
84852
  };
84843
84853
  var isElementClasses = Object.keys(ELEMENT_DEFINITIONS);
84854
+ var processElementClasses = isElementClasses.filter((e) => ELEMENT_DEFINITIONS[e].process);
84844
84855
  var classNameShortcut = {};
84845
84856
  for (const c of isElementClasses) {
84846
84857
  classNameShortcut[ELEMENT_DEFINITIONS[c].shortcut] = c;
@@ -84913,7 +84924,7 @@ var LINK_DEFINITIONS = {
84913
84924
  },
84914
84925
  developedBy: {
84915
84926
  directLabel: "developed by",
84916
- reverseLabel: "developper of",
84927
+ reverseLabel: "developer of",
84917
84928
  description: "represents who has developed what",
84918
84929
  sources: {
84919
84930
  application: ["actor"],
@@ -85285,7 +85296,7 @@ var _elementsData = [
85285
85296
  repId: 1,
85286
85297
  name: "customer",
85287
85298
  className: "actor",
85288
- mdDescription: "notre raison d'\xEAtre",
85299
+ mdDescription: "notre raison d'\xEAtre + il nous paie",
85289
85300
  createdAt: /* @__PURE__ */ new Date("2023-01-01"),
85290
85301
  updatedAt: /* @__PURE__ */ new Date("2024-02-02")
85291
85302
  },
@@ -85919,7 +85930,7 @@ async function resetDatabase() {
85919
85930
  // package.json
85920
85931
  var package_default = {
85921
85932
  name: "doc-nis-2",
85922
- version: "2.1.8",
85933
+ version: "2.2.0",
85923
85934
  license: "GPL-3.0-only",
85924
85935
  author: {
85925
85936
  name: "Marc Nicole",
@@ -85948,16 +85959,10 @@ var package_default = {
85948
85959
  },
85949
85960
  homepage: "https://gitlab.com/nicole_innovation/doc-nis-2",
85950
85961
  exports: {
85951
- ".": "./dist-api/api/src/doc-nis-2.js",
85952
- "./plugins-front": "./dist-api/shared/plugins-front.ts"
85962
+ ".": "./api/src/doc-nis-2.js",
85963
+ "./plugins-front": "./shared/plugins-front.ts"
85953
85964
  },
85954
85965
  type: "module",
85955
- bin: {
85956
- "doc-nis-2": "dist-api/api/src/doc-nis-2.js"
85957
- },
85958
- files: [
85959
- "dist-api"
85960
- ],
85961
85966
  scripts: {
85962
85967
  "build:front": "cd _front && npm run build",
85963
85968
  "build:api": `esbuild api/src/doc-nis-2.ts --bundle --platform=node --format=esm --target=node20 --outfile=dist/src/doc-nis-2.js --external:mariadb --banner:js="import { createRequire } from 'module'; const require = createRequire(import.meta.url);"`,
@@ -86564,7 +86569,6 @@ var getUsers = async (user, repId, pagination) => {
86564
86569
  pagination
86565
86570
  );
86566
86571
  } else {
86567
- console.debug(user, repId);
86568
86572
  return await dbDocIt.query(
86569
86573
  `
86570
86574
  SELECT users.id, users.name, users.firstname, users.email, users.role, users.deleted, users.createdAt, users.updatedAt
@@ -86627,7 +86631,6 @@ async function getDemoUser() {
86627
86631
  updatedAt: /* @__PURE__ */ new Date("2026-03-11"),
86628
86632
  repsRights: await getDemoRepsRights()
86629
86633
  };
86630
- console.dir({ demoUser }, { depth: 10 });
86631
86634
  return demoUser;
86632
86635
  }
86633
86636
  async function onboard(email, firstname, name) {
@@ -86825,7 +86828,6 @@ var updateRepositoryData2 = catchAsync(async (req, res, next) => {
86825
86828
  const repositoryData = req.body;
86826
86829
  logger.debug(`change repository data ${repositoryData}`);
86827
86830
  const result = await updateRepositoryData(repositoryData, req.user);
86828
- console.debug("result", result);
86829
86831
  res.status(200).json({
86830
86832
  status: "sucess",
86831
86833
  data: result
@@ -88953,9 +88955,7 @@ var invite2 = catchAsync(async (req, res, next) => {
88953
88955
  var updateUserRight = catchAsync(async (req, res, next) => {
88954
88956
  const modifiedUser = await getUserById(Number(req.params.id));
88955
88957
  try {
88956
- console.debug("modifiedUser before", modifiedUser);
88957
88958
  setUserPermission(req.user, modifiedUser, req.repId, req.body.path, req.body.permission);
88958
- console.debug("modifiedUser after", modifiedUser);
88959
88959
  await updateUser({ id: modifiedUser.id, repsRights: modifiedUser.repsRights });
88960
88960
  } catch (err) {
88961
88961
  throw new ApiError(err, 401);
@@ -89332,21 +89332,15 @@ import path4 from "path";
89332
89332
  // api/src/controllers/plantuml.controler.ts
89333
89333
  var getPlantuml = catchAsync(async (req, res, next) => {
89334
89334
  const targetUrl = new URL(req.originalUrl, config.PLANTUML_SERVER).href;
89335
- try {
89336
- logger.debug(`get plantuml at ${targetUrl}`);
89337
- const response = await fetch(targetUrl);
89338
- if (!response.ok) {
89339
- throw new ApiError(`PlantUML ${config.PLANTUML_SERVER} responded with ${response.status}`);
89340
- }
89341
- res.set("Content-Type", response.headers.get("content-type") ?? "application/text");
89342
- const buffer = await response.arrayBuffer();
89343
- res.send(Buffer.from(buffer));
89344
- res.message = `\u26A0\uFE0F served from ${config.PLANTUML_SERVER} through the back. consider using a reverse proxy like ngnix`;
89345
- } catch (err) {
89346
- const errMsg = `failed to fetch from plantuml ${targetUrl}
89347
- ${err}`;
89348
- throw new ApiError(errMsg);
89349
- }
89335
+ logger.debug(`get plantuml at ${targetUrl}`);
89336
+ const response = await fetch(targetUrl);
89337
+ if (response.status >= 500) {
89338
+ logger.error(`PlantUML ${config.PLANTUML_SERVER} responded with ${response.status}`);
89339
+ }
89340
+ res.set("Content-Type", response.headers.get("content-type") ?? "application/text");
89341
+ const text = await response.text();
89342
+ res.status(response.status).send(text);
89343
+ res.message = `\u26A0\uFE0F served from ${config.PLANTUML_SERVER} through the back. consider using a reverse proxy like ngnix`;
89350
89344
  });
89351
89345
 
89352
89346
  // api/src/doc-nis-2.ts