@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.
- package/.gitlab-ci.yml +36 -0
- package/config.example +21 -0
- package/docs/.vitepress/abbr.mjs +26 -0
- package/docs/.vitepress/config.mjs +119 -0
- package/docs/.vitepress/navigation.mjs +82 -0
- package/docs/.vitepress/theme/Layout.vue +17 -0
- package/docs/.vitepress/theme/components/NavigationLinks.vue +102 -0
- package/docs/.vitepress/theme/components/Panzoom.vue +169 -0
- package/docs/.vitepress/theme/index.mjs +15 -0
- package/docs/.vitepress/theme/style.scss +136 -0
- package/docs/abbr.json +4 -0
- package/docs/api/builder/cms.builder.delete.md +65 -0
- package/docs/api/builder/cms.builder.get.md +70 -0
- package/docs/api/builder/cms.builder.list.md +98 -0
- package/docs/api/builder/cms.builder.post.md +72 -0
- package/docs/api/builder/cms.builder.put.md +88 -0
- package/docs/api/category/cms.category.delete.md +60 -0
- package/docs/api/category/cms.category.get.md +61 -0
- package/docs/api/category/cms.category.list.md +77 -0
- package/docs/api/category/cms.category.post.md +62 -0
- package/docs/api/category/cms.category.put.md +78 -0
- package/docs/api/index.md +50 -0
- package/docs/api/manager/cms.manager.delete.md +64 -0
- package/docs/api/manager/cms.manager.get.md +72 -0
- package/docs/api/manager/cms.manager.list.md +96 -0
- package/docs/api/manager/cms.manager.post.md +70 -0
- package/docs/api/manager/cms.manager.put.md +86 -0
- package/docs/api/media/del.md +64 -0
- package/docs/api/media/edit.md +92 -0
- package/docs/api/media/list.md +70 -0
- package/docs/api/media/metadata.md +57 -0
- package/docs/api/media/preview.md +33 -0
- package/docs/api/media/upload.md +84 -0
- package/docs/db/erd.md +173 -0
- package/docs/db/index.md +7 -0
- package/docs/index.md +39 -0
- package/docs/public/logo-dark.svg +24 -0
- package/docs/public/logo-light.svg +24 -0
- package/docs/public/logo-short.svg +15 -0
- package/docs/public/logo.svg +19 -0
- package/docs/readme/index.md +6 -0
- package/docs/src/vs-button.vue +157 -0
- package/docs/vue/basic/button.md +144 -0
- package/docs/vue/index.md +9 -0
- package/index.html +14 -0
- package/package.json +2 -5
- package/server/app.js +25 -0
- package/server/config.js +5 -0
- package/server/index.js +23 -0
- package/server/migrations/media.sql +30 -0
- package/server/plugins/hook.js +91 -0
- package/server/plugins/vite.js +80 -0
- package/server/routes/builder/controllers/cms.builder.delete.js +21 -0
- package/server/routes/builder/controllers/cms.builder.get.js +17 -0
- package/server/routes/builder/controllers/cms.builder.list.js +16 -0
- package/server/routes/builder/controllers/cms.builder.post.js +21 -0
- package/server/routes/builder/controllers/cms.builder.put.js +23 -0
- package/server/routes/builder/index.mjs +22 -0
- package/server/routes/category/controllers/cms.category.delete.js +21 -0
- package/server/routes/category/controllers/cms.category.get.js +17 -0
- package/server/routes/category/controllers/cms.category.list.js +16 -0
- package/server/routes/category/controllers/cms.category.post.js +21 -0
- package/server/routes/category/controllers/cms.category.put.js +23 -0
- package/server/routes/category/index.mjs +22 -0
- package/server/routes/manager/controllers/cms.manager.delete.js +22 -0
- package/server/routes/manager/controllers/cms.manager.get.js +21 -0
- package/server/routes/manager/controllers/cms.manager.list.js +31 -0
- package/server/routes/manager/controllers/cms.manager.post.js +28 -0
- package/server/routes/manager/controllers/cms.manager.put.js +23 -0
- package/server/routes/manager/index.mjs +22 -0
- package/server/routes/media/controllers/delete.js +59 -0
- package/server/routes/media/controllers/edit.js +94 -0
- package/server/routes/media/controllers/list.js +74 -0
- package/server/routes/media/controllers/metadata.js +51 -0
- package/server/routes/media/controllers/preview.js +47 -0
- package/server/routes/media/controllers/upload.js +79 -0
- package/server/routes/media/index.mjs +16 -0
- package/server/routes/root.mjs +15 -0
- package/server/templates/cls/cms.category_type.json +10 -0
- package/server/templates/cls/cms.content_review_status.json +10 -0
- package/server/templates/cls/cms.content_status.json +10 -0
- package/server/templates/cls/cms.content_type.json +10 -0
- package/server/templates/cls/cms.lang.json +10 -0
- package/server/templates/page/login.html +59 -0
- package/server/templates/select/cms.category_id.sql +1 -0
- package/server/templates/select/cms.type_id.sql +1 -0
- package/src/App.vue +4 -0
- package/src/assets/tailwind/tailwind.js +62 -0
- package/src/assets/vue.svg +1 -0
- package/src/components/builder/vs-builder-content.vue +163 -0
- package/src/components/builder/vs-builder-menu.vue +142 -0
- package/src/components/formats/index.js +8 -0
- package/src/components/formats/vs-manager-table-date.vue +29 -0
- package/src/components/formats/vs-manager-table-switch.vue +16 -0
- package/src/components/icons/icon-actions.vue +24 -0
- package/src/components/icons/icon-arrow-left.vue +19 -0
- package/src/components/icons/icon-check.vue +23 -0
- package/src/components/icons/icon-chewron-right.vue +16 -0
- package/src/components/icons/icon-close.vue +22 -0
- package/src/components/icons/icon-edit.vue +22 -0
- package/src/components/icons/icon-folder.vue +18 -0
- package/src/components/icons/icon-folder2.vue +17 -0
- package/src/components/icons/icon-home.vue +16 -0
- package/src/components/icons/icon-image.vue +18 -0
- package/src/components/icons/icon-logo.vue +22 -0
- package/src/components/icons/icon-media.vue +22 -0
- package/src/components/icons/icon-point.vue +11 -0
- package/src/components/icons/icon-search.vue +22 -0
- package/src/components/icons/icon-table.vue +22 -0
- package/src/components/icons/icon-users.vue +18 -0
- package/src/components/icons/icon.plus.vue +18 -0
- package/src/components/manager/children/vs-manager-collection-content.vue +55 -0
- package/src/components/manager/children/vs-manager-collection-item-content.vue +116 -0
- package/src/components/manager/children/vs-manager-single-content.vue +112 -0
- package/src/components/manager/manager-table/vs-manager-colection-table-add.vue +84 -0
- package/src/components/manager/manager-table/vs-manager-collection-table.vue +59 -0
- package/src/components/manager/vs-manager-menu.vue +73 -0
- package/src/components/media/Breadcrumb.vue +73 -0
- package/src/components/shared-components/vs-not-data.vue +213 -0
- package/src/components/vs-main-menu.vue +53 -0
- package/src/helpers/debounce.js +10 -0
- package/src/helpers/translite.js +19 -0
- package/src/main.js +30 -0
- package/src/misc/import-file.js +32 -0
- package/src/pages/vs-builder.vue +22 -0
- package/src/pages/vs-layout.vue +17 -0
- package/src/pages/vs-manager.vue +30 -0
- package/src/pages/vs-media.vue +398 -0
- package/src/router/router.js +9 -0
- package/src/router/routes.config.js +40 -0
- package/src/style.css +0 -0
- package/src/templates/form-columns.js +70 -0
- package/src/templates/form-template.js +22 -0
- package/test/config.js +17 -0
- package/test/files/eye.svg +4 -0
- package/test/helper.js +30 -0
- package/test/routes/builder.test.js +99 -0
- package/test/routes/category.test.js +97 -0
- package/test/routes/manager.test.js +103 -0
- package/test/routes/media.test.js +252 -0
- package/vite.config.js +37 -0
- package/editor/dist/cms.js +0 -5900
- package/editor/dist/cms.umd.cjs +0 -19
- /package/{editor/dist → public}/vite.svg +0 -0
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
# `DELETE` /cms-media/:token
|
|
2
|
+
|
|
3
|
+
## Опис
|
|
4
|
+
|
|
5
|
+
Видалення директорій, файлів через токен, який можна отримати із [списку](./list.md)
|
|
6
|
+
|
|
7
|
+
## Параметри
|
|
8
|
+
|
|
9
|
+
```scheme-api
|
|
10
|
+
/api/cms-media/:token?
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
:::tabs
|
|
14
|
+
|
|
15
|
+
== params
|
|
16
|
+
|
|
17
|
+
| Назва | Тип | Опис |
|
|
18
|
+
| ----- | ------ | ------------- |
|
|
19
|
+
| token | String | Токен |
|
|
20
|
+
|
|
21
|
+
:::
|
|
22
|
+
|
|
23
|
+
## Відповідь
|
|
24
|
+
|
|
25
|
+
:::tabs
|
|
26
|
+
|
|
27
|
+
== Видалення файлу
|
|
28
|
+
|
|
29
|
+
DELETE Request:
|
|
30
|
+
|
|
31
|
+
```url
|
|
32
|
+
/api/cms-media/TR2nTuq8jqQck3RgHExmisRpHM
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
Response:
|
|
36
|
+
|
|
37
|
+
```json
|
|
38
|
+
{
|
|
39
|
+
"id": "288f3b581905",
|
|
40
|
+
"name": "1234.svg",
|
|
41
|
+
"size": "530",
|
|
42
|
+
"extension": "svg",
|
|
43
|
+
"caption": "Icon",
|
|
44
|
+
"altname": "image alt name"
|
|
45
|
+
}
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
== Видалення директорії
|
|
49
|
+
|
|
50
|
+
DELETE Request:
|
|
51
|
+
|
|
52
|
+
```url
|
|
53
|
+
/api/cms-media/TR2nTuq8jqQck3RgHExmisRpHM
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
Response:
|
|
57
|
+
|
|
58
|
+
```json
|
|
59
|
+
{
|
|
60
|
+
"name": "subdirname"
|
|
61
|
+
}
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
:::
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# `PUT` /cms-media/:token
|
|
2
|
+
|
|
3
|
+
## Опис
|
|
4
|
+
|
|
5
|
+
Перейменування директорій, редагування метаданих файлів через токен, який можна отримати із [списку](./list.md)
|
|
6
|
+
|
|
7
|
+
## Параметри
|
|
8
|
+
|
|
9
|
+
```scheme-api
|
|
10
|
+
/api/cms-media/:token?
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
:::tabs
|
|
14
|
+
|
|
15
|
+
== body
|
|
16
|
+
|
|
17
|
+
| Назва | Тип | Опис |
|
|
18
|
+
| ------- | ------ | -------------- |
|
|
19
|
+
| name | String | Назва |
|
|
20
|
+
| caption | String | Заголовок |
|
|
21
|
+
| altname | String | Альтернативна назва |
|
|
22
|
+
|
|
23
|
+
== params
|
|
24
|
+
|
|
25
|
+
| Назва | Тип | Опис |
|
|
26
|
+
| ----- | ------ | ------------- |
|
|
27
|
+
| token | String | Токен |
|
|
28
|
+
|
|
29
|
+
:::
|
|
30
|
+
|
|
31
|
+
## Відповідь
|
|
32
|
+
|
|
33
|
+
::: tabs
|
|
34
|
+
|
|
35
|
+
== Редагування метаданих
|
|
36
|
+
|
|
37
|
+
PUT Request:
|
|
38
|
+
|
|
39
|
+
```url
|
|
40
|
+
/api/cms-media/TR2nTuq8jqQck3RgHExmisRpHM
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Request payload:
|
|
44
|
+
|
|
45
|
+
```json
|
|
46
|
+
{
|
|
47
|
+
"name": "123.svg",
|
|
48
|
+
"caption": "Icon",
|
|
49
|
+
"altname": "image alt name"
|
|
50
|
+
}
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
Response:
|
|
54
|
+
|
|
55
|
+
```json
|
|
56
|
+
{
|
|
57
|
+
"id": "da993e9e291b",
|
|
58
|
+
"name": "123.svg",
|
|
59
|
+
"relpath": "/media/testdirname/123.svg",
|
|
60
|
+
"size": "530",
|
|
61
|
+
"extension": "svg",
|
|
62
|
+
"caption": "Icon",
|
|
63
|
+
"altname": "image alt name"
|
|
64
|
+
}
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
==Перейменування директорії
|
|
68
|
+
|
|
69
|
+
PUT Request:
|
|
70
|
+
|
|
71
|
+
```url
|
|
72
|
+
/api/cms-media/100ZjMW2ZbMyTYIaqPfvUmf3A4U
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
Request payload:
|
|
76
|
+
|
|
77
|
+
```json
|
|
78
|
+
{
|
|
79
|
+
"name": "new directory name"
|
|
80
|
+
}
|
|
81
|
+
```
|
|
82
|
+
|
|
83
|
+
Response:
|
|
84
|
+
|
|
85
|
+
```json
|
|
86
|
+
{
|
|
87
|
+
"name": "new directory name",
|
|
88
|
+
"relpath": "/media/new directory name"
|
|
89
|
+
}
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
:::
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# `GET` /cms-media
|
|
2
|
+
|
|
3
|
+
## Опис
|
|
4
|
+
|
|
5
|
+
Повертає список файлів
|
|
6
|
+
|
|
7
|
+
## Параметри
|
|
8
|
+
|
|
9
|
+
```scheme-api
|
|
10
|
+
/api/cms-media?dir={dir}
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
:::tabs
|
|
14
|
+
|
|
15
|
+
== query
|
|
16
|
+
|
|
17
|
+
| Назва | Тип | Опис |
|
|
18
|
+
| ----- | ------ | ------------- |
|
|
19
|
+
| dir | String | Директорія |
|
|
20
|
+
|
|
21
|
+
:::
|
|
22
|
+
|
|
23
|
+
## Відповідь
|
|
24
|
+
|
|
25
|
+
:::details Приклад відповіді
|
|
26
|
+
|
|
27
|
+
```url
|
|
28
|
+
/api/cms-media?dir=subdir
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
```json
|
|
32
|
+
{
|
|
33
|
+
"token": "kh9GWz8kiQ1ZxqsDHGsiq1jghKc",
|
|
34
|
+
"data": [
|
|
35
|
+
{
|
|
36
|
+
"name": "a24520ac7d302678b1d903900.svg",
|
|
37
|
+
"type": "file",
|
|
38
|
+
"size": 530,
|
|
39
|
+
"extension": "svg",
|
|
40
|
+
"token": "TR2nTuq8jqQck3RgHExmisRpHM",
|
|
41
|
+
"ctime": "2025-03-11T12:53:46.055Z",
|
|
42
|
+
"mtime": "2025-03-11T13:57:15.453Z"
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
"name": "subdir2",
|
|
46
|
+
"type": "dir",
|
|
47
|
+
"size": 0,
|
|
48
|
+
"token": "100ZjMW2ZbMyTYIaqPfvUmf3A4U",
|
|
49
|
+
"ctime": "2025-03-11T12:57:15.453Z",
|
|
50
|
+
"mtime": "2025-03-11T13:57:15.453Z"
|
|
51
|
+
}
|
|
52
|
+
]
|
|
53
|
+
}
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
:::
|
|
57
|
+
|
|
58
|
+
## Параметри відповіді
|
|
59
|
+
|
|
60
|
+
| Назва | Тип | Опис |
|
|
61
|
+
| ----- | ------ | ------------- |
|
|
62
|
+
| token | String | Токен для створення піддиректорій в межах даної директорії або завантаження файлів у дану директорію |
|
|
63
|
+
| data | Array | Список файлів в межах даної директорії |
|
|
64
|
+
| data.name | String | Назва файлу / директорії |
|
|
65
|
+
| data.type | String | Тип |
|
|
66
|
+
| data.size | Number | Розмір файлу |
|
|
67
|
+
| data.token | String | Токен для редагування метаданих файлу, перейменування файлу / директорії |
|
|
68
|
+
| data.extension | String | Розширення файлу |
|
|
69
|
+
| data.ctime | String | Дата створення |
|
|
70
|
+
| data.mtime | String | Дата редагування |
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# `GET` /cms-media-metadata/:token
|
|
2
|
+
|
|
3
|
+
## Опис
|
|
4
|
+
|
|
5
|
+
Отримання метаданих файлу через токен, який можна отримати із [списку](./list.md)
|
|
6
|
+
|
|
7
|
+
## Параметри
|
|
8
|
+
|
|
9
|
+
```scheme-api
|
|
10
|
+
/api/cms-media-metadata/:token
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
:::tabs
|
|
14
|
+
|
|
15
|
+
== params
|
|
16
|
+
|
|
17
|
+
| Назва | Тип | Опис |
|
|
18
|
+
| ----- | ------ | ------------- |
|
|
19
|
+
| token | String | Токен |
|
|
20
|
+
|
|
21
|
+
:::
|
|
22
|
+
|
|
23
|
+
## Відповідь
|
|
24
|
+
|
|
25
|
+
:::details Приклад відповіді
|
|
26
|
+
|
|
27
|
+
GET Request:
|
|
28
|
+
|
|
29
|
+
```url
|
|
30
|
+
/api/cms-media-metadata/TR2nTuq8jqQck3RgHExmisRpHM
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Response:
|
|
34
|
+
|
|
35
|
+
```json
|
|
36
|
+
{
|
|
37
|
+
"id": "bfcf02f9f34f",
|
|
38
|
+
"name": "94a501f4216900853e3736e00.svg",
|
|
39
|
+
"size": 530,
|
|
40
|
+
"extension": "svg",
|
|
41
|
+
"ctime": "2025-03-12T08:27:25.944Z",
|
|
42
|
+
"mtime": "2025-03-12T08:27:25.906Z"
|
|
43
|
+
}
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
:::
|
|
47
|
+
|
|
48
|
+
## Параметри відповіді
|
|
49
|
+
|
|
50
|
+
| Назва | Тип | Опис |
|
|
51
|
+
| ----- | ------ | ------------- |
|
|
52
|
+
| id | Array | ID запису в БД, що містить метадані |
|
|
53
|
+
| name | String | Назва файлу |
|
|
54
|
+
| size | Number | Розмір файлу |
|
|
55
|
+
| extension | String | Розширення файлу |
|
|
56
|
+
| ctime | String | Дата створення |
|
|
57
|
+
| mtime | String | Дата редагування |
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
# `GET` /cms-media/:token
|
|
2
|
+
|
|
3
|
+
## Опис
|
|
4
|
+
|
|
5
|
+
Дозволяє виконати перегляд файлу за токеном зі [списку](./list.md)
|
|
6
|
+
|
|
7
|
+
Є можливість викачати його за умови передачі `query` параметру `download`
|
|
8
|
+
|
|
9
|
+
## Параметри
|
|
10
|
+
|
|
11
|
+
```scheme-api
|
|
12
|
+
/api/cms-media/:token
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
:::tabs
|
|
16
|
+
|
|
17
|
+
== query
|
|
18
|
+
|
|
19
|
+
| Назва | Тип | Опис |
|
|
20
|
+
| ----- | ------ | ------------- |
|
|
21
|
+
| token | String | Token |
|
|
22
|
+
|
|
23
|
+
:::
|
|
24
|
+
|
|
25
|
+
## Приклади
|
|
26
|
+
|
|
27
|
+
```url
|
|
28
|
+
/api/cms-media/TR2nTuq8jqQck3RgHExmisRpHM
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
```url
|
|
32
|
+
/api/cms-media/TR2nTuq8jqQck3RgHExmisRpHM?download=1
|
|
33
|
+
```
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
# `POST` /cms-media/:token
|
|
2
|
+
|
|
3
|
+
## Опис
|
|
4
|
+
|
|
5
|
+
Завантаження файлів / Створення директорій через токен, який можна отримати із [списку](./list.md)
|
|
6
|
+
|
|
7
|
+
## Параметри
|
|
8
|
+
|
|
9
|
+
```scheme-api
|
|
10
|
+
/api/cms-media/:token
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
:::tabs
|
|
14
|
+
|
|
15
|
+
== body
|
|
16
|
+
|
|
17
|
+
| Назва | Тип | Опис |
|
|
18
|
+
| ----- | ------ | ------------- |
|
|
19
|
+
| name | String | Назва директорії |
|
|
20
|
+
|
|
21
|
+
== params
|
|
22
|
+
|
|
23
|
+
| Назва | Тип | Опис |
|
|
24
|
+
| ----- | ------ | ------------- |
|
|
25
|
+
| token | String | Токен |
|
|
26
|
+
|
|
27
|
+
:::
|
|
28
|
+
|
|
29
|
+
## Відповідь
|
|
30
|
+
|
|
31
|
+
::: tabs
|
|
32
|
+
|
|
33
|
+
==Завантаження файлу
|
|
34
|
+
|
|
35
|
+
POST Request:
|
|
36
|
+
|
|
37
|
+
```url
|
|
38
|
+
/api/cms-media/kh9GWz8kiQ1ZxqsDHGsiq1jghKc
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
Request payload:
|
|
42
|
+
|
|
43
|
+
file (`multipart/form-data`)
|
|
44
|
+
|
|
45
|
+
Response:
|
|
46
|
+
|
|
47
|
+
```json
|
|
48
|
+
{
|
|
49
|
+
"dir": "testdirname",
|
|
50
|
+
"id": "1b74cc3b47a0",
|
|
51
|
+
"name": "31555c4bde0681c618c9a6300.svg",
|
|
52
|
+
"type": "file",
|
|
53
|
+
"token": "jbEFF4CQ784KOpcNr0GmO4Rm2Ys"
|
|
54
|
+
}
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
==Створення директорії
|
|
58
|
+
|
|
59
|
+
POST Request:
|
|
60
|
+
|
|
61
|
+
```url
|
|
62
|
+
/api/cms-media/kh9GWz8kiQ1ZxqsDHGsiq1jghKc
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
Request payload:
|
|
66
|
+
|
|
67
|
+
```json
|
|
68
|
+
{
|
|
69
|
+
"name": "new dir name"
|
|
70
|
+
}
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
Response:
|
|
74
|
+
|
|
75
|
+
```json
|
|
76
|
+
{
|
|
77
|
+
"dir": "/media/testdirname",
|
|
78
|
+
"name": "testdirname",
|
|
79
|
+
"type": "dir",
|
|
80
|
+
"token": "dZI9Pv_tc3y3jVEJvuHxstnuQMQ"
|
|
81
|
+
}
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
:::
|
package/docs/db/erd.md
ADDED
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
# ERD DataBase
|
|
2
|
+
|
|
3
|
+
## Схема
|
|
4
|
+
|
|
5
|
+
``` mermaid
|
|
6
|
+
erDiagram
|
|
7
|
+
gis_metadata_role {
|
|
8
|
+
text metadata_role_id PK
|
|
9
|
+
text metadata_id FK
|
|
10
|
+
string role_code
|
|
11
|
+
text account_id FK
|
|
12
|
+
timestamp cdate
|
|
13
|
+
text uid
|
|
14
|
+
text editor_id
|
|
15
|
+
timestamp editor_date
|
|
16
|
+
}
|
|
17
|
+
gis_metadata_service {
|
|
18
|
+
text metadata_service_id PK
|
|
19
|
+
text metadata_id FK
|
|
20
|
+
text standart_type
|
|
21
|
+
text link
|
|
22
|
+
timestamp cdate
|
|
23
|
+
text uid
|
|
24
|
+
text editor_id
|
|
25
|
+
timestamp editor_date
|
|
26
|
+
}
|
|
27
|
+
gis_metadata {
|
|
28
|
+
text metadata_id PK
|
|
29
|
+
text parent_identifier
|
|
30
|
+
text title
|
|
31
|
+
text resource_type
|
|
32
|
+
text resource_language
|
|
33
|
+
text md_scope
|
|
34
|
+
text keywords
|
|
35
|
+
text coord_ref_system
|
|
36
|
+
geometry geom
|
|
37
|
+
text scale
|
|
38
|
+
text character_encoding
|
|
39
|
+
text spatial_representation
|
|
40
|
+
}
|
|
41
|
+
gis_metadata_service ||--|{ gis_metadata : ""
|
|
42
|
+
gis_metadata_role ||--|{ gis_metadata : ""
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
## Метадані - nsdi_metadata.gis_metadata
|
|
46
|
+
|
|
47
|
+
:::tabs
|
|
48
|
+
|
|
49
|
+
==sql
|
|
50
|
+
|
|
51
|
+
```sql
|
|
52
|
+
|
|
53
|
+
CREATE TABLE nsdi_metadata.gis_metadata
|
|
54
|
+
(
|
|
55
|
+
metadata_id text NOT NULL DEFAULT admin.next_id(), -- Id метаданих
|
|
56
|
+
parent_identifier text, -- parent Identifier
|
|
57
|
+
title text, -- Назва метаданих
|
|
58
|
+
resource_type text DEFAULT 'dataset'::text, -- Тип метаданих
|
|
59
|
+
resource_language text DEFAULT 1, -- Мова метаданих
|
|
60
|
+
md_scope text, -- Опис метаданих
|
|
61
|
+
keywords text[], -- Ключові слова
|
|
62
|
+
coord_ref_system text DEFAULT '5561'::text, -- Система координат
|
|
63
|
+
geom geometry, -- Охоплення (екстент)
|
|
64
|
+
scale text, -- Масштаб подання даних
|
|
65
|
+
character_encoding text DEFAULT 'UTF-8'::text, -- Система кодування
|
|
66
|
+
spatial_representation text, -- Подання просторових даних
|
|
67
|
+
CONSTRAINT gis_metadata_pkey PRIMARY KEY (metadata_id)
|
|
68
|
+
);
|
|
69
|
+
|
|
70
|
+
```
|
|
71
|
+
==table
|
|
72
|
+
|
|
73
|
+
| Назва колонки | Опис | Тип |
|
|
74
|
+
| ---------------------- | ------------------------- | ---------- |
|
|
75
|
+
| metadata_id | Id метаданих | `text` |
|
|
76
|
+
| parent_identifier | parent Identifier | `text` |
|
|
77
|
+
| title | Назва метаданих | `text` |
|
|
78
|
+
| resource_type | Тип метаданих | `text` |
|
|
79
|
+
| resource_language | Мова метаданих | `text` |
|
|
80
|
+
| md_scope | Опис метаданих | `text` |
|
|
81
|
+
| keywords | Ключові слова | `text` |
|
|
82
|
+
| coord_ref_system | Система координат | `text` |
|
|
83
|
+
| geom | Охоплення (екстент) | `geometry` |
|
|
84
|
+
| scale | Масштаб подання даних | `text` |
|
|
85
|
+
| character_encoding | Система кодування | `text` |
|
|
86
|
+
| spatial_representation | Подання просторових даних | `text` |
|
|
87
|
+
|
|
88
|
+
:::
|
|
89
|
+
|
|
90
|
+
## Організації - nsdi_metadata.gis_metadata_role
|
|
91
|
+
|
|
92
|
+
:::tabs
|
|
93
|
+
|
|
94
|
+
==sql
|
|
95
|
+
|
|
96
|
+
```sql
|
|
97
|
+
|
|
98
|
+
CREATE TABLE nsdi_metadata.gis_metadata_role
|
|
99
|
+
(
|
|
100
|
+
metadata_role_id text NOT NULL DEFAULT admin.next_id(), -- Id ролі організації в метаданих
|
|
101
|
+
metadata_id text NOT NULL, -- Id метаданих
|
|
102
|
+
role_code text, -- Функція відповідальної сторони
|
|
103
|
+
account_id text, -- Організація
|
|
104
|
+
cdate timestamp without time zone DEFAULT now(),
|
|
105
|
+
uid text,
|
|
106
|
+
editor_id text, -- Ідентифікатор редактора
|
|
107
|
+
editor_date timestamp without time zone,
|
|
108
|
+
CONSTRAINT gis_metadata_role_pkey PRIMARY KEY (metadata_role_id),
|
|
109
|
+
CONSTRAINT fkey_metadata_role FOREIGN KEY (metadata_id)
|
|
110
|
+
REFERENCES nsdi_metadata.gis_metadata (metadata_id) MATCH SIMPLE
|
|
111
|
+
ON UPDATE NO ACTION ON DELETE NO ACTION,
|
|
112
|
+
CONSTRAINT metadata_acc_id_fkey FOREIGN KEY (account_id)
|
|
113
|
+
REFERENCES nsdi_metadata.gis_metadata_account (metadata_acc_id) MATCH SIMPLE
|
|
114
|
+
ON UPDATE NO ACTION ON DELETE NO ACTION,
|
|
115
|
+
CONSTRAINT metadata_id_role_fkey FOREIGN KEY (metadata_id)
|
|
116
|
+
REFERENCES nsdi_metadata.gis_metadata (metadata_id) MATCH SIMPLE
|
|
117
|
+
ON UPDATE CASCADE ON DELETE CASCADE
|
|
118
|
+
);
|
|
119
|
+
|
|
120
|
+
```
|
|
121
|
+
==table
|
|
122
|
+
| Назва колонки | Опис | Тип |
|
|
123
|
+
| ---------------- | ------------------------------- | ----------------------------- |
|
|
124
|
+
| metadata_role_id | Id ролі організації в метаданих | `text` |
|
|
125
|
+
| metadata_id | Id метаданих | `text` |
|
|
126
|
+
| role_code | Функція відповідальної сторони | `text` |
|
|
127
|
+
| account_id | Організація | `text` |
|
|
128
|
+
| cdate | Дата додавання | `timestamp without time zone` |
|
|
129
|
+
| editor_id | Ідентифікатор редактора | `text` |
|
|
130
|
+
| editor_date | Дата редагування | `timestamp without time zone` |
|
|
131
|
+
|
|
132
|
+
:::
|
|
133
|
+
|
|
134
|
+
## Сервіси - nsdi_metadata.gis_metadata_service
|
|
135
|
+
|
|
136
|
+
:::tabs
|
|
137
|
+
==sql
|
|
138
|
+
|
|
139
|
+
```sql
|
|
140
|
+
|
|
141
|
+
CREATE TABLE nsdi_metadata.gis_metadata_service
|
|
142
|
+
(
|
|
143
|
+
metadata_service_id text NOT NULL DEFAULT admin.next_id(), -- Id сервісу в метаданих
|
|
144
|
+
metadata_id text NOT NULL, -- Id метаданих
|
|
145
|
+
standard_type text, -- Стандарт, якому відповідає сервіс
|
|
146
|
+
link text, -- Посилання на сервіс (Онлайн доступ до ресурсу)
|
|
147
|
+
cdate timestamp without time zone DEFAULT now(),
|
|
148
|
+
uid text,
|
|
149
|
+
editor_id text, -- Ідентифікатор редактора
|
|
150
|
+
editor_date timestamp without time zone,
|
|
151
|
+
enabled boolean NOT NULL DEFAULT true,
|
|
152
|
+
CONSTRAINT gis_metadata_service_pkey PRIMARY KEY (metadata_service_id),
|
|
153
|
+
CONSTRAINT fkey_metadata_service FOREIGN KEY (metadata_id)
|
|
154
|
+
REFERENCES nsdi_metadata.gis_metadata (metadata_id) MATCH SIMPLE
|
|
155
|
+
ON UPDATE NO ACTION ON DELETE NO ACTION,
|
|
156
|
+
CONSTRAINT metadata_id_service_fkey FOREIGN KEY (metadata_id)
|
|
157
|
+
REFERENCES nsdi_metadata.gis_metadata (metadata_id) MATCH SIMPLE
|
|
158
|
+
ON UPDATE CASCADE ON DELETE CASCADE
|
|
159
|
+
);
|
|
160
|
+
|
|
161
|
+
```
|
|
162
|
+
==table
|
|
163
|
+
| Назва колонки | Опис | Тип |
|
|
164
|
+
| ---------------- | ---------------------------------------------- | ----------------------------- |
|
|
165
|
+
| metadata_role_id | Id сервісу в метаданих | `text` |
|
|
166
|
+
| metadata_id | Id метаданих | `text` |
|
|
167
|
+
| standard_type | Стандарт, якому відповідає сервіс | `text` |
|
|
168
|
+
| link | Посилання на сервіс (Онлайн доступ до ресурсу) | `text` |
|
|
169
|
+
| cdate | Дата додавання | `timestamp without time zone` |
|
|
170
|
+
| editor_id | Ідентифікатор редактора | `text` |
|
|
171
|
+
| editor_date | Дата редагування | `timestamp without time zone` |
|
|
172
|
+
|
|
173
|
+
:::
|
package/docs/db/index.md
ADDED
package/docs/index.md
ADDED
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
---
|
|
2
|
+
# https://vitepress.dev/reference/default-theme-home-page
|
|
3
|
+
layout: home
|
|
4
|
+
|
|
5
|
+
hero:
|
|
6
|
+
name: opengis/cms
|
|
7
|
+
text: Документація розробника
|
|
8
|
+
tagline: Документація описує основні процеси розробки в модулі Content Management System
|
|
9
|
+
image:
|
|
10
|
+
light: /logo-light.svg
|
|
11
|
+
dark: /logo-dark.svg
|
|
12
|
+
actions:
|
|
13
|
+
- theme: brand
|
|
14
|
+
text: 'NPM @opengis/cms'
|
|
15
|
+
link: https://www.npmjs.com/package/@opengis/cms
|
|
16
|
+
- theme: brand
|
|
17
|
+
text: GitLab CMS
|
|
18
|
+
link: https://git.softpro.ua/npm/cms
|
|
19
|
+
- theme: alt
|
|
20
|
+
text: Відкрити Readme
|
|
21
|
+
link: /readme/
|
|
22
|
+
|
|
23
|
+
features:
|
|
24
|
+
- icon: 💿
|
|
25
|
+
title: DB
|
|
26
|
+
details: Робота з БД
|
|
27
|
+
link: /db/
|
|
28
|
+
linkText: Переглянути
|
|
29
|
+
- icon: 🔗
|
|
30
|
+
title: API
|
|
31
|
+
details: Робота з API
|
|
32
|
+
link: /api/
|
|
33
|
+
linkText: Переглянути
|
|
34
|
+
- icon: 🚀
|
|
35
|
+
title: Vue
|
|
36
|
+
details: Робота з Vue.js
|
|
37
|
+
link: /vue/
|
|
38
|
+
linkText: Переглянути
|
|
39
|
+
---
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg"
|
|
2
|
+
width="24"
|
|
3
|
+
height="24"
|
|
4
|
+
viewBox="0 0 24 24"
|
|
5
|
+
fill="none"
|
|
6
|
+
stroke="#e6e6dc"
|
|
7
|
+
stroke-width="2"
|
|
8
|
+
stroke-linecap="round"
|
|
9
|
+
stroke-linejoin="round"
|
|
10
|
+
class="lucide lucide-square-kanban">
|
|
11
|
+
<rect width="18" height="18" x="3" y="3" rx="2"/>
|
|
12
|
+
<path d="M8 7v9"/>
|
|
13
|
+
<path d="M12 7v4"/>
|
|
14
|
+
<path d="M16 7v7"/>
|
|
15
|
+
|
|
16
|
+
<path d="M19.001 19m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0" stroke="#3494ef"/>
|
|
17
|
+
<path d="M19.001 15.5v1.5" stroke="#3494ef"/>
|
|
18
|
+
<path d="M19.001 21v1.5" stroke="#3494ef"/>
|
|
19
|
+
<path d="M22.032 17.25l-1.299 .75" stroke="#3494ef"/>
|
|
20
|
+
<path d="M17.27 20l-1.3 .75" stroke="#3494ef"/>
|
|
21
|
+
<path d="M15.97 17.25l1.3 .75" stroke="#3494ef"/>
|
|
22
|
+
<path d="M20.733 20l1.3 .75" stroke="#3494ef"/>
|
|
23
|
+
|
|
24
|
+
</svg>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<svg xmlns="http://www.w3.org/2000/svg"
|
|
2
|
+
width="24"
|
|
3
|
+
height="24"
|
|
4
|
+
viewBox="0 0 24 24"
|
|
5
|
+
fill="none"
|
|
6
|
+
stroke="#27272b"
|
|
7
|
+
stroke-width="2"
|
|
8
|
+
stroke-linecap="round"
|
|
9
|
+
stroke-linejoin="round"
|
|
10
|
+
class="lucide lucide-square-kanban">
|
|
11
|
+
<rect width="18" height="18" x="3" y="3" rx="2"/>
|
|
12
|
+
<path d="M8 7v9"/>
|
|
13
|
+
<path d="M12 7v4"/>
|
|
14
|
+
<path d="M16 7v7"/>
|
|
15
|
+
|
|
16
|
+
<path d="M19.001 19m-2 0a2 2 0 1 0 4 0a2 2 0 1 0 -4 0" stroke="#3494ef"/>
|
|
17
|
+
<path d="M19.001 15.5v1.5" stroke="#3494ef"/>
|
|
18
|
+
<path d="M19.001 21v1.5" stroke="#3494ef"/>
|
|
19
|
+
<path d="M22.032 17.25l-1.299 .75" stroke="#3494ef"/>
|
|
20
|
+
<path d="M17.27 20l-1.3 .75" stroke="#3494ef"/>
|
|
21
|
+
<path d="M15.97 17.25l1.3 .75" stroke="#3494ef"/>
|
|
22
|
+
<path d="M20.733 20l1.3 .75" stroke="#3494ef"/>
|
|
23
|
+
|
|
24
|
+
</svg>
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
<svg width="31" height="30.000000000000004" xmlns="http://www.w3.org/2000/svg" fill="none">
|
|
2
|
+
<defs>
|
|
3
|
+
<clipPath id="clip0_200_320">
|
|
4
|
+
<rect id="svg_1" fill="white" height="30" width="228"/>
|
|
5
|
+
</clipPath>
|
|
6
|
+
</defs>
|
|
7
|
+
<g>
|
|
8
|
+
<title>Layer 1</title>
|
|
9
|
+
<g id="svg_2" clip-path="url(#clip0_200_320)">
|
|
10
|
+
<path id="svg_3" fill="#CE4140" d="m27.3044,11.5405c0.5845,0.3818 1.2274,0.6681 1.9042,0.8501l0,5.1362c-2.7563,0.7427 -4.7867,3.2004 -4.7867,6.1056c0,0.5428 0.0708,1.0797 0.2123,1.5987l-4.5806,2.5651c-0.5138,-0.4892 -1.1044,-0.8918 -1.7535,-1.1931l0,-5.8968c2.2426,-1.029 3.7131,-3.2213 3.7131,-5.7178c0,-0.1581 -0.0062,-0.3162 -0.0185,-0.4743l5.3097,-2.9737zm0.1784,-2.05808l-7.4231,4.15788c0.1323,0.4265 0.2061,0.8799 0.2061,1.3482c0,2.2042 -1.5873,4.0505 -3.7131,4.5218l0,8.2859c1.3105,0.2923 2.4149,1.1066 3.0702,2.2042l7.1985,-4.0296c-0.4122,-0.686 -0.6491,-1.4824 -0.6491,-2.3325c0,-2.5621 2.1442,-4.6411 4.7868,-4.6411l0,-8.0652c-1.3721,0 -2.6026,-0.5578 -3.4763,-1.44958z"/>
|
|
11
|
+
<path id="svg_4" fill="#CE4140" d="m20.1119,2.21018l4.5099,2.52635c-0.1323,0.50706 -0.2,1.02903 -0.2,1.55399c0,0.17597 0.0061,0.35195 0.0215,0.52793l-5.2697,2.94989c-1.0798,-0.71883 -2.3718,-1.11254 -3.6977,-1.11254c-1.3166,0 -2.6025,0.39073 -3.6792,1.10061l-5.28513,-2.95884c0.01231,-0.16703 0.02154,-0.33704 0.02154,-0.50705c0,-0.52496 -0.06768,-1.04693 -0.19996,-1.55399l4.50675,-2.52337c1.2121,1.18115 2.8733,1.87016 4.6329,1.87016c1.7628,0 3.427,-0.69199 4.6391,-1.87314zm-0.4553,-2.21018c-0.8183,1.42275 -2.3841,2.38616 -4.1838,2.38616c-1.7996,0 -3.3654,-0.96341 -4.1837,-2.38318l-7.1309,3.99086c0.39685,0.67707 0.62757,1.45854 0.62757,2.29369c0,0.48022 -0.07383,0.94254 -0.21534,1.37503l7.41387,4.14894c0.8737,-0.9038 2.1134,-1.4675 3.4916,-1.4675c1.3843,0 2.6333,0.5697 3.507,1.4824l7.4077,-4.14595c-0.1415,-0.44144 -0.2215,-0.90972 -0.2215,-1.3959c0,-0.83516 0.2277,-1.61662 0.6276,-2.2937l-7.1401,-3.99085z"/>
|
|
12
|
+
<path id="svg_5" fill="#CE4140" d="m3.67003,11.5278l5.29431,2.9648c-0.01231,0.1641 -0.01846,0.3311 -0.01846,0.4982c0,2.4935 1.47052,4.6828 3.70692,5.7148l0,5.8998c-0.646,0.3012 -1.2397,0.7039 -1.7504,1.1901l-4.57753,-2.5622c0.14151,-0.5189 0.21227,-1.0588 0.21227,-1.6017c0,-2.9081 -2.03036,-5.3629 -4.78673,-6.1055l0,-5.1333c0.67987,-0.1849 1.33204,-0.4772 1.91962,-0.865zm-0.18458,-2.061c-0.87367,0.9008 -2.11034,1.4615 -3.48545,1.4615l0,8.0623c2.64254,0 4.78672,2.0789 4.78672,4.641c0,0.8501 -0.23687,1.6465 -0.6491,2.3325l7.19238,4.0267c0.6553,-1.0947 1.7566,-1.909 3.0671,-2.2013l0,-8.28c-2.1227,-0.4742 -3.707,-2.3175 -3.707,-4.5217c0,-0.4773 0.0739,-0.9366 0.2123,-1.3691l-7.41695,-4.1519z"/>
|
|
13
|
+
</g>
|
|
14
|
+
</g>
|
|
15
|
+
</svg>
|