@opengis/cms 0.0.2 → 0.0.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 (144) hide show
  1. package/.gitlab-ci.yml +36 -0
  2. package/config.example +21 -0
  3. package/docs/.vitepress/abbr.mjs +26 -0
  4. package/docs/.vitepress/config.mjs +119 -0
  5. package/docs/.vitepress/navigation.mjs +82 -0
  6. package/docs/.vitepress/theme/Layout.vue +17 -0
  7. package/docs/.vitepress/theme/components/NavigationLinks.vue +102 -0
  8. package/docs/.vitepress/theme/components/Panzoom.vue +169 -0
  9. package/docs/.vitepress/theme/index.mjs +15 -0
  10. package/docs/.vitepress/theme/style.scss +136 -0
  11. package/docs/abbr.json +4 -0
  12. package/docs/api/builder/cms.builder.delete.md +65 -0
  13. package/docs/api/builder/cms.builder.get.md +70 -0
  14. package/docs/api/builder/cms.builder.list.md +98 -0
  15. package/docs/api/builder/cms.builder.post.md +72 -0
  16. package/docs/api/builder/cms.builder.put.md +88 -0
  17. package/docs/api/category/cms.category.delete.md +60 -0
  18. package/docs/api/category/cms.category.get.md +61 -0
  19. package/docs/api/category/cms.category.list.md +77 -0
  20. package/docs/api/category/cms.category.post.md +62 -0
  21. package/docs/api/category/cms.category.put.md +78 -0
  22. package/docs/api/index.md +50 -0
  23. package/docs/api/manager/cms.manager.delete.md +64 -0
  24. package/docs/api/manager/cms.manager.get.md +72 -0
  25. package/docs/api/manager/cms.manager.list.md +96 -0
  26. package/docs/api/manager/cms.manager.post.md +70 -0
  27. package/docs/api/manager/cms.manager.put.md +86 -0
  28. package/docs/api/media/del.md +64 -0
  29. package/docs/api/media/edit.md +92 -0
  30. package/docs/api/media/list.md +70 -0
  31. package/docs/api/media/metadata.md +57 -0
  32. package/docs/api/media/preview.md +33 -0
  33. package/docs/api/media/upload.md +84 -0
  34. package/docs/db/erd.md +173 -0
  35. package/docs/db/index.md +7 -0
  36. package/docs/index.md +39 -0
  37. package/docs/public/logo-dark.svg +24 -0
  38. package/docs/public/logo-light.svg +24 -0
  39. package/docs/public/logo-short.svg +15 -0
  40. package/docs/public/logo.svg +19 -0
  41. package/docs/readme/index.md +6 -0
  42. package/docs/src/vs-button.vue +157 -0
  43. package/docs/vue/basic/button.md +144 -0
  44. package/docs/vue/index.md +9 -0
  45. package/index.html +14 -0
  46. package/package.json +2 -5
  47. package/server/app.js +25 -0
  48. package/server/config.js +5 -0
  49. package/server/index.js +23 -0
  50. package/server/migrations/media.sql +30 -0
  51. package/server/plugins/hook.js +91 -0
  52. package/server/plugins/vite.js +80 -0
  53. package/server/routes/builder/controllers/cms.builder.delete.js +21 -0
  54. package/server/routes/builder/controllers/cms.builder.get.js +17 -0
  55. package/server/routes/builder/controllers/cms.builder.list.js +16 -0
  56. package/server/routes/builder/controllers/cms.builder.post.js +21 -0
  57. package/server/routes/builder/controllers/cms.builder.put.js +23 -0
  58. package/server/routes/builder/index.mjs +22 -0
  59. package/server/routes/category/controllers/cms.category.delete.js +21 -0
  60. package/server/routes/category/controllers/cms.category.get.js +17 -0
  61. package/server/routes/category/controllers/cms.category.list.js +16 -0
  62. package/server/routes/category/controllers/cms.category.post.js +21 -0
  63. package/server/routes/category/controllers/cms.category.put.js +23 -0
  64. package/server/routes/category/index.mjs +22 -0
  65. package/server/routes/manager/controllers/cms.manager.delete.js +22 -0
  66. package/server/routes/manager/controllers/cms.manager.get.js +21 -0
  67. package/server/routes/manager/controllers/cms.manager.list.js +31 -0
  68. package/server/routes/manager/controllers/cms.manager.post.js +28 -0
  69. package/server/routes/manager/controllers/cms.manager.put.js +23 -0
  70. package/server/routes/manager/index.mjs +22 -0
  71. package/server/routes/media/controllers/delete.js +59 -0
  72. package/server/routes/media/controllers/edit.js +94 -0
  73. package/server/routes/media/controllers/list.js +74 -0
  74. package/server/routes/media/controllers/metadata.js +51 -0
  75. package/server/routes/media/controllers/preview.js +47 -0
  76. package/server/routes/media/controllers/upload.js +79 -0
  77. package/server/routes/media/index.mjs +16 -0
  78. package/server/routes/root.mjs +15 -0
  79. package/server/templates/cls/cms.category_type.json +10 -0
  80. package/server/templates/cls/cms.content_review_status.json +10 -0
  81. package/server/templates/cls/cms.content_status.json +10 -0
  82. package/server/templates/cls/cms.content_type.json +10 -0
  83. package/server/templates/cls/cms.lang.json +10 -0
  84. package/server/templates/page/login.html +59 -0
  85. package/server/templates/select/cms.category_id.sql +1 -0
  86. package/server/templates/select/cms.type_id.sql +1 -0
  87. package/src/App.vue +4 -0
  88. package/src/assets/tailwind/tailwind.js +62 -0
  89. package/src/assets/vue.svg +1 -0
  90. package/src/components/builder/vs-builder-content.vue +163 -0
  91. package/src/components/builder/vs-builder-menu.vue +142 -0
  92. package/src/components/formats/index.js +8 -0
  93. package/src/components/formats/vs-manager-table-date.vue +29 -0
  94. package/src/components/formats/vs-manager-table-switch.vue +16 -0
  95. package/src/components/icons/icon-actions.vue +24 -0
  96. package/src/components/icons/icon-arrow-left.vue +19 -0
  97. package/src/components/icons/icon-check.vue +23 -0
  98. package/src/components/icons/icon-chewron-right.vue +16 -0
  99. package/src/components/icons/icon-close.vue +22 -0
  100. package/src/components/icons/icon-edit.vue +22 -0
  101. package/src/components/icons/icon-folder.vue +18 -0
  102. package/src/components/icons/icon-folder2.vue +17 -0
  103. package/src/components/icons/icon-home.vue +16 -0
  104. package/src/components/icons/icon-image.vue +18 -0
  105. package/src/components/icons/icon-logo.vue +22 -0
  106. package/src/components/icons/icon-media.vue +22 -0
  107. package/src/components/icons/icon-point.vue +11 -0
  108. package/src/components/icons/icon-search.vue +22 -0
  109. package/src/components/icons/icon-table.vue +22 -0
  110. package/src/components/icons/icon-users.vue +18 -0
  111. package/src/components/icons/icon.plus.vue +18 -0
  112. package/src/components/manager/children/vs-manager-collection-content.vue +55 -0
  113. package/src/components/manager/children/vs-manager-collection-item-content.vue +116 -0
  114. package/src/components/manager/children/vs-manager-single-content.vue +112 -0
  115. package/src/components/manager/manager-table/vs-manager-colection-table-add.vue +84 -0
  116. package/src/components/manager/manager-table/vs-manager-collection-table.vue +59 -0
  117. package/src/components/manager/vs-manager-menu.vue +73 -0
  118. package/src/components/media/Breadcrumb.vue +73 -0
  119. package/src/components/shared-components/vs-not-data.vue +213 -0
  120. package/src/components/vs-main-menu.vue +53 -0
  121. package/src/helpers/debounce.js +10 -0
  122. package/src/helpers/translite.js +19 -0
  123. package/src/main.js +30 -0
  124. package/src/misc/import-file.js +32 -0
  125. package/src/pages/vs-builder.vue +22 -0
  126. package/src/pages/vs-layout.vue +17 -0
  127. package/src/pages/vs-manager.vue +30 -0
  128. package/src/pages/vs-media.vue +398 -0
  129. package/src/router/router.js +9 -0
  130. package/src/router/routes.config.js +40 -0
  131. package/src/style.css +0 -0
  132. package/src/templates/form-columns.js +70 -0
  133. package/src/templates/form-template.js +22 -0
  134. package/test/config.js +17 -0
  135. package/test/files/eye.svg +4 -0
  136. package/test/helper.js +30 -0
  137. package/test/routes/builder.test.js +99 -0
  138. package/test/routes/category.test.js +97 -0
  139. package/test/routes/manager.test.js +103 -0
  140. package/test/routes/media.test.js +252 -0
  141. package/vite.config.js +37 -0
  142. package/editor/dist/cms.js +0 -5900
  143. package/editor/dist/cms.umd.cjs +0 -19
  144. /package/{editor/dist → public}/vite.svg +0 -0
@@ -0,0 +1,136 @@
1
+ /**
2
+ * Customize default theme styling by overriding CSS variables:
3
+ * https://github.com/vuejs/vitepress/blob/main/src/client/theme-default/styles/vars.css
4
+ */
5
+
6
+ /**
7
+ * Colors
8
+ * -------------------------------------------------------------------------- */
9
+
10
+ :root {
11
+ --vp-c-default-1: var(--vp-c-gray-1);
12
+ --vp-c-default-2: var(--vp-c-gray-2);
13
+ --vp-c-default-3: var(--vp-c-gray-3);
14
+ --vp-c-default-soft: var(--vp-c-gray-soft);
15
+
16
+ --vp-c-brand-1: hsl(209, 85%, 57%); // Colored text
17
+ --vp-c-brand-2: hsl(209, 85%, 40%); // Hover Button
18
+ --vp-c-brand-3: hsl(209, 85%, 57%); // button
19
+ --vp-c-brand-soft: hsla(209, 100%, 60%, 0.342); // tip box
20
+
21
+ --vp-c-tip-1: var(--vp-c-brand-1);
22
+ --vp-c-tip-2: var(--vp-c-brand-2);
23
+ --vp-c-tip-3: var(--vp-c-brand-3);
24
+ --vp-c-tip-soft: var(--vp-c-brand-soft);
25
+
26
+ --vp-c-warning-1: var(--vp-c-yellow-1);
27
+ --vp-c-warning-2: var(--vp-c-yellow-2);
28
+ --vp-c-warning-3: var(--vp-c-yellow-3);
29
+ --vp-c-warning-soft: var(--vp-c-yellow-soft);
30
+
31
+ --vp-c-danger-1: var(--vp-c-red-1);
32
+ --vp-c-danger-2: var(--vp-c-red-2);
33
+ --vp-c-danger-3: var(--vp-c-red-3);
34
+ --vp-c-danger-soft: var(--vp-c-red-soft);
35
+ }
36
+
37
+ /**
38
+ * Component: Button
39
+ * -------------------------------------------------------------------------- */
40
+
41
+ :root {
42
+ --vp-button-brand-border: transparent;
43
+ --vp-button-brand-text: var(--vp-c-white);
44
+ --vp-button-brand-bg: var(--vp-c-brand-3);
45
+ --vp-button-brand-hover-border: transparent;
46
+ --vp-button-brand-hover-text: var(--vp-c-white);
47
+ --vp-button-brand-hover-bg: var(--vp-c-brand-2);
48
+ --vp-button-brand-active-border: transparent;
49
+ --vp-button-brand-active-text: var(--vp-c-white);
50
+ --vp-button-brand-active-bg: var(--vp-c-brand-1);
51
+ }
52
+
53
+ /**
54
+ * Component: Home
55
+ * -------------------------------------------------------------------------- */
56
+
57
+ :root {
58
+ --vp-home-hero-name-color: transparent;
59
+ --vp-home-hero-name-background: -webkit-linear-gradient(164deg,
60
+ hsl(209, 85%, 57%) 34%,
61
+ hsl(0, 79%, 62%) 1%);
62
+
63
+ // --vp-home-hero-image-background-image: linear-gradient(0deg,
64
+ // hsl(207, 100%, 50%) 1%,
65
+ // hsl(209, 85%, 57%) 60%);
66
+ // --vp-home-hero-image-filter: blur(44px);
67
+ }
68
+
69
+ @media (min-width: 640px) {
70
+ :root {
71
+ --vp-home-hero-image-filter: blur(56px);
72
+ }
73
+ }
74
+
75
+ @media (min-width: 960px) {
76
+ :root {
77
+ --vp-home-hero-image-filter: blur(50px);
78
+ }
79
+ }
80
+
81
+ .VPHomeHero .VPImage {
82
+ width: 100%;
83
+ height: 100%;
84
+ object-fit: contain;
85
+ }
86
+
87
+ /**
88
+ * Component: Custom Block
89
+ * -------------------------------------------------------------------------- */
90
+
91
+ :root {
92
+ --vp-custom-block-tip-border: transparent;
93
+ --vp-custom-block-tip-text: var(--vp-c-text-1);
94
+ --vp-custom-block-tip-bg: var(--vp-c-brand-soft);
95
+ --vp-custom-block-tip-code-bg: var(--vp-c-brand-soft);
96
+ }
97
+
98
+ /**
99
+ * Component: Algolia
100
+ * -------------------------------------------------------------------------- */
101
+
102
+ .DocSearch {
103
+ --docsearch-primary-color: var(--vp-c-brand-1) !important;
104
+ }
105
+
106
+ /**
107
+ * Component: Badge
108
+ * -------------------------------------------------------------------------- */
109
+
110
+ .VPBadge[class*="code_"] {
111
+ margin-right: 5px;
112
+ }
113
+
114
+ .VPBadge.code_2xx {
115
+ border-color: #1cbb8c;
116
+ color: #189f77;
117
+ background-color: rgba(28, 187, 140, 0.15);
118
+ }
119
+
120
+ .VPBadge.code_3xx {
121
+ border-color: #17a2b8;
122
+ color: #148a9c;
123
+ background-color: rgba(23, 162, 184, 0.15);
124
+ }
125
+
126
+ .VPBadge.code_4xx {
127
+ border-color: #fcb92c;
128
+ color: #d69d25;
129
+ background-color: rgba(252, 185, 44, 0.15);
130
+ }
131
+
132
+ .VPBadge.code_5xx {
133
+ border-color: #dc3545;
134
+ color: #bb2d3b;
135
+ background-color: rgba(220, 53, 69, 0.15);
136
+ }
package/docs/abbr.json ADDED
@@ -0,0 +1,4 @@
1
+ {
2
+ "HTML": "Hyper Text Markup Language",
3
+ "W3C": "World Wide Web Consortium"
4
+ }
@@ -0,0 +1,65 @@
1
+ # `DELETE` cms-builder/:id
2
+
3
+ ## Опис
4
+
5
+ Видаляє запис
6
+
7
+ ```example
8
+ /api/cms-builder/3577962879690737064
9
+ ```
10
+
11
+ ## Параметри
12
+
13
+ ```scheme-api
14
+ /api/cms-builder/:id
15
+ ```
16
+
17
+ :::tabs
18
+
19
+ == params
20
+
21
+ | Назва | Тип | Опис |
22
+ | ----- | ------ | ------------- |
23
+ | id | String | Ідентифікатор |
24
+
25
+ :::
26
+
27
+ ## Відповідь
28
+
29
+ ::: tabs
30
+ ==200
31
+
32
+ :::details Приклад відповіді
33
+
34
+ ```json
35
+ {
36
+ "id": "3577955220287653286",
37
+ "rows": [
38
+ {
39
+ "content_type_id": "3577955220287653286",
40
+ "name": "Новина",
41
+ "template": "news",
42
+ "description": "Шаблон для новини",
43
+ "columns": [
44
+ {
45
+ "name": "provider",
46
+ "type": "Text"
47
+ }
48
+ ],
49
+ "prefix": null,
50
+ "widgets": null,
51
+ "type": "collection",
52
+ "uid": "1",
53
+ "cdate": "2025-03-05 13:14:34.910004",
54
+ "editor_id": null,
55
+ "editor_date": null
56
+ }
57
+ ]
58
+ }
59
+ ```
60
+
61
+ ==500
62
+ ```
63
+ ServerError
64
+ ```
65
+ :::
@@ -0,0 +1,70 @@
1
+ # `GET` cms-builder/:id
2
+
3
+ ## Опис
4
+
5
+ Повертає об'єкт за ідентифікатором
6
+
7
+ ```example
8
+ /api/cms-builder/3577880114538481061
9
+ ```
10
+
11
+ ## Параметри
12
+
13
+ ```scheme-api
14
+ /api/cms-builder/:id
15
+ ```
16
+
17
+ :::tabs
18
+
19
+ == params
20
+
21
+ | Назва | Тип | Опис |
22
+ | ----- | ------ | ------------- |
23
+ | id | String | Ідентифікатор |
24
+
25
+ :::
26
+
27
+ ## Відповідь
28
+
29
+ ::: tabs
30
+ ==200
31
+
32
+ :::details Приклад відповіді
33
+
34
+ ```json
35
+ {
36
+ "total": 1,
37
+ "rows": [
38
+ {
39
+ "id": "3577955220287653286",
40
+ "content_type_id": "3577955220287653286",
41
+ "name": "Новина",
42
+ "template": "news",
43
+ "description": "Шаблон для новини",
44
+ "columns": [
45
+ {
46
+ "name": "provider",
47
+ "type": "Text"
48
+ }
49
+ ],
50
+ "prefix": null,
51
+ "widgets": null,
52
+ "type": "1",
53
+ "uid": "1",
54
+ "cdate": "2025-03-05 13:14:34.910004",
55
+ "editor_id": null,
56
+ "editor_date": null,
57
+ "type_data": {
58
+ "id": "1",
59
+ "text": "Single"
60
+ }
61
+ }
62
+ ]
63
+ }
64
+ ```
65
+
66
+ ==500
67
+ ```
68
+ ServerError
69
+ ```
70
+ :::
@@ -0,0 +1,98 @@
1
+ # `GET` cms-builder
2
+
3
+ ## Опис
4
+
5
+ Повертає список
6
+
7
+ ```example
8
+ /api/cms-builder
9
+ ```
10
+
11
+ ## Параметри
12
+
13
+ ```scheme-api
14
+ /api/cms-builder?id={id}
15
+ ```
16
+
17
+ :::tabs
18
+
19
+ == query
20
+
21
+ | Назва | Тип | Опис |
22
+ | ----- | ------ | ------------- |
23
+ | id | String | Ідентифікатор |
24
+
25
+ :::
26
+
27
+ ## Відповідь
28
+
29
+ ::: tabs
30
+ ==200
31
+
32
+ :::details Приклад відповіді
33
+
34
+ ```json
35
+ {
36
+ "total": 2,
37
+ "rows": [
38
+ {
39
+ "id": "3577880114538481061",
40
+ "content_type_id": "3577880114538481061",
41
+ "name": "Оголошення",
42
+ "template": "notice",
43
+ "description": "Шаблон для оголошення",
44
+ "columns": [
45
+ {
46
+ "name": "username",
47
+ "type": "Text"
48
+ },
49
+ {
50
+ "name": "email",
51
+ "type": "Email"
52
+ }
53
+ ],
54
+ "prefix": null,
55
+ "widgets": null,
56
+ "type": "1",
57
+ "uid": "1",
58
+ "cdate": "2025-03-05 13:13:49.559443",
59
+ "editor_id": null,
60
+ "editor_date": null,
61
+ "type_data": {
62
+ "id": "1",
63
+ "text": "Single"
64
+ }
65
+ },
66
+ {
67
+ "id": "3577955220287653286",
68
+ "content_type_id": "3577955220287653286",
69
+ "name": "Новина",
70
+ "template": "news",
71
+ "description": "Шаблон для новини",
72
+ "columns": [
73
+ {
74
+ "name": "provider",
75
+ "type": "Text"
76
+ }
77
+ ],
78
+ "prefix": null,
79
+ "widgets": null,
80
+ "type": "1",
81
+ "uid": "1",
82
+ "cdate": "2025-03-05 13:14:34.910004",
83
+ "editor_id": null,
84
+ "editor_date": null,
85
+ "type_data": {
86
+ "id": "1",
87
+ "text": "Single"
88
+ }
89
+ }
90
+ ]
91
+ }
92
+ ```
93
+
94
+ ==500
95
+ ```
96
+ ServerError
97
+ ```
98
+ :::
@@ -0,0 +1,72 @@
1
+ # `POST` cms-builder
2
+
3
+ ## Опис
4
+
5
+ Створює запис
6
+
7
+ ```example
8
+ /api/cms-builder
9
+ ```
10
+
11
+ ## Запит
12
+
13
+ :::details Приклад запиту
14
+
15
+ ```json
16
+ {
17
+ "name": "Новина",
18
+ "template": "news", //NOT NULL
19
+ "description": "Шаблон для новин",
20
+ "columns": [
21
+ {
22
+ "name": "provider",
23
+ "type": "Text"
24
+ }
25
+ ],
26
+ "prefix": null,
27
+ "widgets": null,
28
+ "type": "1"
29
+ }
30
+ ```
31
+ :::
32
+
33
+
34
+ ## Відповідь
35
+
36
+ ::: tabs
37
+ ==200
38
+
39
+ :::details Приклад відповіді
40
+
41
+ ```json
42
+ {
43
+ "id": "3577955220287653286",
44
+ "rows": [
45
+ {
46
+ "content_type_id": "3577955220287653286",
47
+ "name": "Новина",
48
+ "template": "news",
49
+ "description": "Шаблон для новин",
50
+ "columns": [
51
+ {
52
+ "name": "provider",
53
+ "type": "Text"
54
+ }
55
+ ],
56
+ "prefix": null,
57
+ "widgets": null,
58
+ "type": "1",
59
+ "uid": "1",
60
+ "cdate": "2025-02-28 14:27:59.915159",
61
+ "editor_id": null,
62
+ "editor_date": "2025-02-28 14:28:00.009607"
63
+ }
64
+ ]
65
+ }
66
+ ```
67
+
68
+ ==500
69
+ ```
70
+ ServerError
71
+ ```
72
+ :::
@@ -0,0 +1,88 @@
1
+ # `PUT` cms-builder/:id
2
+
3
+ ## Опис
4
+
5
+ Редагує запис
6
+
7
+ ```example
8
+ /api/cms-builder/3577880114538481061
9
+ ```
10
+
11
+ ## Параметри
12
+
13
+ ```scheme-api
14
+ /api/cms-builder/:id
15
+ ```
16
+
17
+ :::tabs
18
+
19
+ == params
20
+
21
+ | Назва | Тип | Опис |
22
+ | ----- | ------ | ------------- |
23
+ | id | String | Ідентифікатор |
24
+
25
+ :::
26
+
27
+ ## Запит
28
+
29
+ :::details Приклад запиту
30
+
31
+ ```json
32
+ {
33
+ "name": "Новина",
34
+ "template": "news", //NOT NULL
35
+ "description": "Шаблон для новин",
36
+ "columns": [
37
+ {
38
+ "name": "provider",
39
+ "type": "Text"
40
+ }
41
+ ],
42
+ "prefix": null,
43
+ "widgets": null,
44
+ "type": "1"
45
+ }
46
+ ```
47
+ :::
48
+
49
+
50
+ ## Відповідь
51
+
52
+ ::: tabs
53
+ ==200
54
+
55
+ :::details Приклад відповіді
56
+
57
+ ```json
58
+ {
59
+ "id": "3577955220287653286",
60
+ "rows": [
61
+ {
62
+ "content_type_id": "3577955220287653286",
63
+ "name": "Новина",
64
+ "template": "news",
65
+ "description": "Шаблон для новин",
66
+ "columns": [
67
+ {
68
+ "name": "provider",
69
+ "type": "Text"
70
+ }
71
+ ],
72
+ "prefix": null,
73
+ "widgets": null,
74
+ "type": "1",
75
+ "uid": "1",
76
+ "cdate": "2025-02-28 14:27:59.915159",
77
+ "editor_id": null,
78
+ "editor_date": "2025-02-28 14:28:00.009607"
79
+ }
80
+ ]
81
+ }
82
+ ```
83
+
84
+ ==500
85
+ ```
86
+ ServerError
87
+ ```
88
+ :::
@@ -0,0 +1,60 @@
1
+ # `DELETE` cms-category/:id
2
+
3
+ ## Опис
4
+
5
+ Видаляє запис
6
+
7
+ ```example
8
+ /api/cms-category/3577962879690737064
9
+ ```
10
+
11
+ ## Параметри
12
+
13
+ ```scheme-api
14
+ /api/cms-category/:id
15
+ ```
16
+
17
+ :::tabs
18
+
19
+ == params
20
+
21
+ | Назва | Тип | Опис |
22
+ | ----- | ------ | ------------- |
23
+ | id | String | Ідентифікатор |
24
+
25
+ :::
26
+
27
+ ## Відповідь
28
+
29
+ ::: tabs
30
+ ==200
31
+
32
+ :::details Приклад відповіді
33
+
34
+ ```json
35
+ {
36
+ "id": "3577962879690737064",
37
+ "rows": [
38
+ {
39
+ "category_id": "3577962879690737064",
40
+ "title": "Категорія 1",
41
+ "url": null,
42
+ "lang": "uk",
43
+ "template": null,
44
+ "type": "important",
45
+ "parent": null,
46
+ "prefix": null,
47
+ "uid": "1",
48
+ "cdate": "2025-02-28 14:40:34.647636",
49
+ "editor_id": null,
50
+ "editor_date": null
51
+ }
52
+ ]
53
+ }
54
+ ```
55
+
56
+ ==500
57
+ ```
58
+ ServerError
59
+ ```
60
+ :::
@@ -0,0 +1,61 @@
1
+ # `GET` cms-category/:id
2
+
3
+ ## Опис
4
+
5
+ Повертає об'єкт за ідентифікатором
6
+
7
+ ```example
8
+ /api/cms-category/3577962879690737064
9
+ ```
10
+
11
+ ## Параметри
12
+
13
+ ```scheme-api
14
+ /api/cms-category/:id
15
+ ```
16
+
17
+ :::tabs
18
+
19
+ == params
20
+
21
+ | Назва | Тип | Опис |
22
+ | ----- | ------ | ------------- |
23
+ | id | String | Ідентифікатор |
24
+
25
+ :::
26
+
27
+ ## Відповідь
28
+
29
+ ::: tabs
30
+ ==200
31
+
32
+ :::details Приклад відповіді
33
+
34
+ ```json
35
+ {
36
+ "total": 1,
37
+ "rows": [
38
+ {
39
+ "id": "3577962879690737064",
40
+ "category_id": "3577962879690737064",
41
+ "title": "Категорія 1",
42
+ "url": null,
43
+ "lang": "uk",
44
+ "template": null,
45
+ "type": "1",
46
+ "parent": null,
47
+ "prefix": null,
48
+ "uid": "1",
49
+ "cdate": "2025-02-28 14:40:34.647636",
50
+ "editor_id": null,
51
+ "editor_date": null
52
+ }
53
+ ]
54
+ }
55
+ ```
56
+
57
+ ==500
58
+ ```
59
+ ServerError
60
+ ```
61
+ :::