@opengis/gis 0.2.168 → 0.2.170

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 (192) hide show
  1. package/dist/{CardIcon-DzERD2T8.js → CardIcon-DXaESte6.js} +1 -1
  2. package/dist/{EntityTablePage-DAVJRQLe.js → EntityTablePage-BwyMNhrm.js} +1 -1
  3. package/dist/{ExtentOutlineLayer.vue_vue_type_script_setup_true_lang-B-6axJUY.js → ExtentOutlineLayer.vue_vue_type_script_setup_true_lang-DrHke0pk.js} +1 -1
  4. package/dist/{HeaderActions.vue_vue_type_script_setup_true_lang-D1iwSeRN.js → HeaderActions.vue_vue_type_script_setup_true_lang-9Rm8Dhc4.js} +1 -1
  5. package/dist/{MapSettings-wVix8wMh.js → MapSettings-E1aNltts.js} +1 -1
  6. package/dist/{RastersTablePage-u3oN_h_n.js → RastersTablePage-CJblEi8a.js} +1 -1
  7. package/dist/{cartocss-BIveBlgY.js → cartocss-Dv2QILZ2.js} +5 -5
  8. package/dist/{import-utils-DkKPU_Nd.js → import-utils-CL-V2wSj.js} +1 -1
  9. package/dist/{index-C3bl1qBS.js → index-Bi60lcRm.js} +4768 -4718
  10. package/dist/index.css +1 -1
  11. package/dist/index.js +1 -1
  12. package/dist/index.umd.cjs +31 -31
  13. package/dist/{raster-CfTJZx5p.js → raster-nn-sOUb9.js} +3 -3
  14. package/dist/{register-dV5ipRhb.js → register-CjHXBGr5.js} +3 -3
  15. package/dist/{service-DWC5gq3L.js → service-l3Csdnxm.js} +8 -7
  16. package/dist/{vs-datatable-Cd2Gp4jo.js → vs-datatable-CJlE3-mz.js} +3 -2
  17. package/module/test/map/addr.json +303 -0
  18. package/module/test/map/{addr.yml → addr1.yml} +3 -1
  19. package/module/test/select/address.str_id.sql +3 -0
  20. package/package.json +10 -10
  21. package/plugin.js +21 -12
  22. package/server/plugins/mapnik/funcs/checkRasterFile.js +1 -3
  23. package/server/routes/cartocss/cartocss.route.js +31 -0
  24. package/server/routes/cartocss/cartocss.route.test.js +79 -0
  25. package/server/routes/cartocss/cartocss.schema.js +73 -0
  26. package/server/routes/{gis/cartocss → cartocss/functions}/add.cartocss.js +8 -11
  27. package/server/routes/{gis/cartocss → cartocss/functions}/get.cartocss.js +11 -13
  28. package/server/routes/gis/functions/checkXML.js +107 -0
  29. package/server/routes/gis/functions/dashboard.js +24 -0
  30. package/server/routes/gis/gis.route.js +26 -0
  31. package/server/routes/gis/gis.route.test.js +34 -0
  32. package/server/routes/gis/gis.schema.js +1 -0
  33. package/server/routes/map/{controllers → functions}/clearTiles.js +9 -8
  34. package/server/routes/map/{controllers → functions}/geojson.js +43 -43
  35. package/server/routes/map/{controllers → functions}/gis.convert.js +15 -23
  36. package/server/routes/map/{controllers → functions}/gis.icon.js +23 -10
  37. package/server/routes/map/{controllers → functions}/jsonData.js +72 -71
  38. package/server/routes/map/{controllers → functions}/layerList.js +17 -17
  39. package/server/routes/map/{controllers → functions}/map.js +8 -9
  40. package/server/routes/map/{controllers → functions}/mapCatalog.js +7 -7
  41. package/server/routes/map/functions/mapCatalogAttribute.js +54 -0
  42. package/server/routes/map/{controllers → functions}/mapFeatures.js +22 -18
  43. package/server/routes/map/{controllers → functions}/mapFormat.js +25 -28
  44. package/server/routes/map/{controllers → functions}/mapTiles.js +39 -30
  45. package/server/routes/map/{controllers → functions}/maps.js +3 -3
  46. package/server/routes/map/{controllers → functions}/marker_icon.js +1 -1
  47. package/server/routes/map/{controllers → functions}/parseGeoFile.js +10 -11
  48. package/server/routes/map/{controllers → functions}/pointHeight.js +3 -7
  49. package/server/routes/map/{controllers → functions}/vtile.js +5 -3
  50. package/server/routes/map/{vtile1.js → functions/vtile1.js} +39 -33
  51. package/server/routes/map/map.route.js +280 -0
  52. package/server/routes/map/map.route.test.js +503 -0
  53. package/server/routes/map/map.schema.js +356 -0
  54. package/server/routes/mapnik/{controllers → functions}/clearTiles.js +26 -29
  55. package/server/routes/mapnik/{controllers → functions}/createXml.js +17 -20
  56. package/server/routes/mapnik/{controllers → functions}/createXmlMulti.js +11 -15
  57. package/server/routes/mapnik/{controllers → functions}/fileSearch.js +6 -9
  58. package/server/routes/mapnik/functions/fileStat.js +28 -0
  59. package/server/routes/mapnik/{controllers → functions}/pretile.js +29 -35
  60. package/server/routes/mapnik/{controllers → functions}/rasterInfo.js +19 -10
  61. package/server/routes/mapnik/{controllers → functions}/readDir.js +4 -4
  62. package/server/routes/mapnik/functions/rtile.js +164 -0
  63. package/server/routes/mapnik/{controllers → functions}/uploadRaster.js +19 -24
  64. package/server/routes/mapnik/functions/uploadXML.js +27 -0
  65. package/server/routes/mapnik/mapnik.route.js +102 -0
  66. package/server/routes/mapnik/mapnik.route.test.js +371 -0
  67. package/server/routes/mapnik/mapnik.schema.mjs +190 -0
  68. package/server/routes/mapnik.prefixless/functions/mapnikLogger.js +31 -0
  69. package/server/routes/{mapnik/controllers → mapnik.prefixless/functions}/mapnikStat.js +7 -5
  70. package/server/routes/mapnik.prefixless/mapnik.prefixless.route.js +20 -0
  71. package/server/routes/mapnik.prefixless/mapnik.prefixless.route.test.js +91 -0
  72. package/server/routes/mapnik.prefixless/mapnik.prefixless.schema.mjs +27 -0
  73. package/server/routes/maps/functions/add.map.js +42 -0
  74. package/server/routes/{map/maps → maps/functions}/del.map.js +6 -7
  75. package/server/routes/{map/maps → maps/functions}/get.map.js +12 -11
  76. package/server/routes/maps/maps.route.js +58 -0
  77. package/server/routes/maps/maps.route.test.js +231 -0
  78. package/server/routes/maps/maps.schema.js +10 -0
  79. package/server/routes/metadata/functions/editMetadata.js +35 -0
  80. package/server/routes/metadata/functions/metadataXML.js +19 -0
  81. package/server/routes/metadata/metadata.route.js +26 -0
  82. package/server/routes/metadata/metadata.route.test.js +47 -0
  83. package/server/routes/metadata/metadata.schema.js +53 -0
  84. package/server/routes/{gis/ogc → ogc/functions}/map.info.point.js +22 -29
  85. package/server/routes/ogc/ogc.route.js +21 -0
  86. package/server/routes/ogc/ogc.route.test.js +54 -0
  87. package/server/routes/ogc/ogc.schema.js +16 -0
  88. package/server/routes/permissions/functions/catalog.permissions.edit.js +20 -0
  89. package/server/routes/permissions/functions/catalog.permissions.js +13 -0
  90. package/server/routes/permissions/{controllers → functions}/gis.catalog.js +10 -10
  91. package/server/routes/permissions/permissions.route.js +35 -0
  92. package/server/routes/permissions/permissions.route.test.js +35 -0
  93. package/server/routes/permissions/permissions.schema.js +44 -0
  94. package/server/routes/registers/functions/add.registry.js +37 -0
  95. package/server/routes/{gis/registers/funcs → registers/functions}/classifiers.js +2 -2
  96. package/server/routes/{gis/registers → registers/functions}/del.registry.js +5 -5
  97. package/server/routes/{gis/registers/funcs → registers/functions}/get.info.js +9 -5
  98. package/server/routes/{gis/registers → registers/functions}/gis.export.js +27 -21
  99. package/server/routes/{gis/registers → registers/functions}/gis.registry.js +22 -15
  100. package/server/routes/{gis/registers → registers/functions}/gis.registry.list.js +12 -10
  101. package/server/routes/{gis/registers/funcs → registers/functions}/handleRegistryRequest.js +12 -11
  102. package/server/routes/registers/registers.route.js +80 -0
  103. package/server/routes/registers/registers.route.test.js +145 -0
  104. package/server/routes/registers/registers.schema.js +246 -0
  105. package/server/routes/{gis/services → services/functions}/add.service.js +14 -16
  106. package/server/routes/services/functions/create.route.js +93 -0
  107. package/server/routes/{gis/services → services/functions}/del.service.js +5 -5
  108. package/server/routes/{gis/services → services/functions}/get.service.users.js +15 -13
  109. package/server/routes/services/functions/get.services.col.js +34 -0
  110. package/server/routes/{gis/services → services/functions}/get.services.js +21 -16
  111. package/server/routes/services/services.route.js +76 -0
  112. package/server/routes/services/services.route.test.js +168 -0
  113. package/server/routes/services/services.schema.js +278 -0
  114. package/server/routes/widgets/functions/add.widget.js +39 -0
  115. package/server/routes/widgets/functions/del.widget.js +18 -0
  116. package/server/routes/{map/widgets → widgets/functions}/get.widget.js +12 -11
  117. package/server/routes/widgets/widgets.route.js +61 -0
  118. package/server/routes/widgets/widgets.route.test.js +144 -0
  119. package/server/routes/widgets/widgets.schema.js +25 -0
  120. package/module/cls.json +0 -7
  121. package/module/gis/card/gis.metadata.table/main_info.hbs +0 -21
  122. package/module/gis/card/gis.metadata.table/metadata_info.hbs +0 -28
  123. package/module/gis/card/gis.metadata.table/other.hbs +0 -26
  124. package/module/gis/card/gis.rasters.table/main_info.hbs +0 -27
  125. package/module/gis/card/gis.registers.table/cls.hbs +0 -36
  126. package/module/gis/card/gis.registers.table/columns.hbs +0 -89
  127. package/module/gis/card/gis.registers.table/filters.hbs +0 -80
  128. package/module/gis/card/gis.registers.table/main_info.hbs +0 -35
  129. package/module/gis/card/gis.registers.table/source.hbs +0 -45
  130. package/module/gis/card/gis.services.table/attributes.hbs +0 -91
  131. package/module/gis/card/gis.services.table/filters.hbs +0 -83
  132. package/module/gis/card/gis.services.table/main_info.hbs +0 -27
  133. package/module/gis/card/gis.services.table/source.hbs +0 -26
  134. package/module/test/cls/bp_build_type.json +0 -37
  135. package/module/test/cls/doc_status.json +0 -32
  136. package/module/test/cls/ts.temp_status.json +0 -18
  137. package/module/test/cls/ts.temp_structure.ts_class.json +0 -50
  138. package/module/test/cls/ts.temp_type.json +0 -10
  139. package/module/test/layer/bp.json +0 -60
  140. package/module/test/layer/bp1.yml +0 -33
  141. package/module/test/layer/individual.yml +0 -54
  142. package/module/test/layer/ts.linking_passport.yml +0 -56
  143. package/module/test/layer/ts.temp_structure.yml +0 -51
  144. package/module/test/map/bp_myo.json +0 -44
  145. package/module/test/map/bpf.json +0 -44
  146. package/module/test/map/main.json +0 -39
  147. package/module/test/map/mbd.json +0 -92
  148. package/module/test/map/ts.json +0 -53
  149. package/module/test/select/address_id.json +0 -3
  150. package/module/test/select/address_id.sql +0 -8
  151. package/module/test/select/core.user_uid.sql +0 -1
  152. package/module/test/table/data_address.street.table.json +0 -70
  153. package/module/test/table/data_bp_myo.bp.table.json +0 -123
  154. package/server/routes/gis/checkXML.js +0 -117
  155. package/server/routes/gis/dashboard.js +0 -29
  156. package/server/routes/gis/index.mjs +0 -92
  157. package/server/routes/gis/metadata/editMetadata.js +0 -34
  158. package/server/routes/gis/metadata/metadataXML.js +0 -13
  159. package/server/routes/gis/registers/add.registry.js +0 -35
  160. package/server/routes/gis/registers/insert.columns.js +0 -107
  161. package/server/routes/gis/registers/insert.filters.js +0 -110
  162. package/server/routes/gis/services/create.route.js +0 -96
  163. package/server/routes/gis/services/get.services.col.js +0 -33
  164. package/server/routes/map/controllers/mapCatalogAttribute.js +0 -56
  165. package/server/routes/map/index.mjs +0 -259
  166. package/server/routes/map/maps/add.map.js +0 -43
  167. package/server/routes/map/widgets/add.widget.js +0 -39
  168. package/server/routes/map/widgets/del.widget.js +0 -23
  169. package/server/routes/mapnik/controllers/fileStat.js +0 -28
  170. package/server/routes/mapnik/controllers/mapnikLogger.js +0 -29
  171. package/server/routes/mapnik/controllers/rtile.js +0 -167
  172. package/server/routes/mapnik/index.js +0 -40
  173. package/server/routes/permissions/controllers/catalog.permissions.edit.js +0 -22
  174. package/server/routes/permissions/controllers/catalog.permissions.js +0 -8
  175. package/server/routes/permissions/index.mjs +0 -18
  176. /package/server/routes/map/{controllers/pin → pin}/circle1.svg +0 -0
  177. /package/server/routes/map/{controllers/pin → pin}/circle2.svg +0 -0
  178. /package/server/routes/map/{controllers/pin → pin}/none.svg +0 -0
  179. /package/server/routes/map/{controllers/pin → pin}/pin.svg +0 -0
  180. /package/server/routes/map/{controllers/pin → pin}/pin1.svg +0 -0
  181. /package/server/routes/map/{controllers/pin → pin}/pin2.svg +0 -0
  182. /package/server/routes/map/{controllers/pin → pin}/pin3.svg +0 -0
  183. /package/server/routes/map/{controllers/pin → pin}/pin4.svg +0 -0
  184. /package/server/routes/map/{controllers/pin → pin}/pin5.svg +0 -0
  185. /package/server/routes/map/{controllers/pin → pin}/pin6.svg +0 -0
  186. /package/server/routes/map/{controllers/pin → pin}/pin7.svg +0 -0
  187. /package/server/routes/permissions/{controllers/utils → functions}/get.permissions.js +0 -0
  188. /package/server/routes/{gis/registers/funcs → registers/functions}/columns.js +0 -0
  189. /package/server/routes/{gis/registers/funcs → registers/functions}/content.type.js +0 -0
  190. /package/server/routes/{gis/registers → registers/functions}/map.registry.js +0 -0
  191. /package/server/routes/{gis/services → services/functions}/get.layer.geom.js +0 -0
  192. /package/server/routes/{gis/services → services/functions}/legend.auto.js +0 -0
@@ -1,167 +0,0 @@
1
- import path from 'node:path';
2
- import { createHash } from 'node:crypto';
3
-
4
- import SphericalMercator from '@mapbox/sphericalmercator';
5
-
6
- import {
7
- config, logger, pgClients,
8
- } from '@opengis/fastify-table/utils.js';
9
-
10
- import mapnik from '../../../plugins/mapnik/funcs/mapnik.js';
11
-
12
- const { RenderTile } = mapnik();
13
-
14
- const mercator = new SphericalMercator({ size: 256 });
15
-
16
- /**
17
- * Формування растрового tile cartoCss
18
- *
19
- * @method GET
20
- * @alias rtile
21
- * @param {String} bbox - bbox
22
- * @param {Number} height - висота по координатам
23
- * @param {Number} width - ширина по координатам
24
- * @param {String} data - стилізація
25
- * @param {String} lang - мова
26
- * @param {String} z - координата z
27
- * @param {String} x - координата y
28
- * @param {String} y - координата x
29
- */
30
-
31
- export default async function gisRtile({
32
- pg = pgClients.client, params, query, user,
33
- }, reply) {
34
- if (!RenderTile) {
35
- return reply.status(400).send({ error: 'mapnik server address needed', code: 400 });
36
- }
37
-
38
- const { id, z, y } = params;
39
-
40
- const x = params.x.split('.')[0] - 0;
41
-
42
- if (!id) {
43
- return reply.status(400).send({ error: 'not enough params: id', code: 400 });
44
- }
45
-
46
- if (!x || !y || !z) {
47
- return reply.status(400).send({ error: 'not enough params: xyz', code: 400 });
48
- }
49
-
50
- const decodedPath = Buffer.from(id, 'base64url').toString('utf-8');
51
-
52
- const data = pg.pk?.['gis.rasters']
53
- ? await pg.queryCache(`select raster_id as id, source_path, is_public, 'raster' as type from gis.rasters where raster_id=$1::text or source_path=$2::text`, { args: [id, decodedPath], table: 'gis.rasters' })
54
- .then(el => el.rows?.[0] || {})
55
- : {};
56
-
57
- const carto = pg.pk?.['gis.cartocss']
58
- ? await pg.queryCache('select cartocss_id, source_path, is_public, is_static from gis.cartocss where cartocss_id=$1::text', { args: [id], table: 'gis.cartocss' }).then(el => el.rows?.[0] || {})
59
- : {};
60
-
61
- if (carto.cartocss_id) {
62
- Object.assign(data, {
63
- id: carto.cartocss_id,
64
- source_path: carto.source_path,
65
- is_public: carto.is_public,
66
- is_static: carto.is_static,
67
- type: 'css',
68
- });
69
- }
70
-
71
- if (!user?.uid && !config.local && data.is_public === false) {
72
- return reply.status(403).send({ error: 'access restricted', code: 403 });
73
- }
74
-
75
- if (!data.id && data.type !== 'css') {
76
- Object.assign(data, { source_path: decodedPath });
77
- }
78
-
79
- if (!data.source_path && data.type !== 'css') {
80
- return reply.status(404).send({ error: 'raster / cartocss not found', code: 404 });
81
- }
82
-
83
- const bbox = mercator.bbox(y, x, z, false, '900913');
84
-
85
- const meta = config?.mapnik?.meta ? true : false;
86
-
87
- try {
88
- const ttl = (query.nocache ? '0' : null)
89
- || (data.type === 'css' && !data.is_static ? '1w' : null);
90
-
91
- const md5 = data.source_path
92
- ? createHash('md5').update(data.source_path).digest('hex')
93
- : undefined;
94
- const base64 = data.source_path
95
- ? Buffer.from(data.source_path).toString('base64url')
96
- : undefined;
97
-
98
- const getParams = () => {
99
- if (data.type === 'css' && data.source_path) {
100
- return { name: path.posix.join('vector', config.mapnik?.folder || '', data.source_path) };
101
- }
102
- if (data.type === 'css') {
103
- return { name: path.posix.join('xml', config.mapnik?.folder || '', id) };
104
- }
105
- return { path: path.posix.join('raster', config.mapnik?.folder || '', data.source_path) };
106
- };
107
-
108
- const { path: rpath, name } = getParams();
109
-
110
- const param = {
111
- path: rpath, // for rasters only
112
- name, // required for cartocss
113
- width: 256,
114
- bbox,
115
- ttl,
116
- format: 'webp',
117
- meta,
118
- base64: false,
119
- debug: query.debug,
120
- };
121
-
122
- const result = await RenderTile(param);
123
-
124
- if (result.err) {
125
- logger.file('rtile/error', {
126
- error: result.err, x, y, z, id: data.id, type: data.type,
127
- });
128
- return reply.status(500).send({ error: config.local ? result.err : 'render error', code: 500 });
129
- }
130
-
131
- if (meta) {
132
- const accelPath = result.tile_path?.startsWith('/') ? result.tile_path : `/${result.tile_path}`;
133
- const metaHeaders = {
134
- 'Content-Type': 'image/webp',
135
- 'Cache-Control': query.nocache || query.nottl ? 'no-store, no-cache, must-revalidate' : 'public, max-age=2592000',
136
- 'X-Accel-Redirect': accelPath,
137
- };
138
- if (query.debug) return reply.send({ ...metaHeaders, base64: result.base64, z, x, y });
139
- reply.headers(metaHeaders);
140
- return reply.code(204).send();
141
- }
142
-
143
- if (query.debug) {
144
- return {
145
- ...result,
146
- name,
147
- path: rpath,
148
- ttl,
149
- md5_path: md5,
150
- base64_path: base64,
151
- raster: !!data.id,
152
- carto: data.type === 'css',
153
- is_static: data.type === 'css' ? data.is_static : true,
154
- };
155
- }
156
-
157
- const buffer = result.data || Buffer.from(result.base64, 'base64');
158
-
159
- return reply.headers({ 'Content-Type': 'image/webp', 'Cache-Control': query.nocache || query.nottl ? 'no-store, no-cache, must-revalidate' : 'public, max-age=2592000' }).send(buffer);
160
- }
161
- catch (err) {
162
- logger.file('rtile/error', {
163
- error: err.toString(), stack: err.stack, x, y, z, id: data.id, type: data.type,
164
- });
165
- return reply.status(500).send({ error: config.local ? err.toString() : 'rtile error', code: 500 });
166
- }
167
- }
@@ -1,40 +0,0 @@
1
- import uploadRaster from './controllers/uploadRaster.js';
2
- import createXml from './controllers/createXml.js';
3
- import rtile from './controllers/rtile.js';
4
- import rasterInfo from './controllers/rasterInfo.js';
5
-
6
- import createXmlMulti from './controllers/createXmlMulti.js';
7
- import readDir from './controllers/readDir.js';
8
- import fileStat from './controllers/fileStat.js';
9
- import fileSearch from './controllers/fileSearch.js';
10
- import clearTiles from './controllers/clearTiles.js';
11
- import pretile from './controllers/pretile.js';
12
-
13
- const publicParams = { config: { policy: 'L0' }, package: 'gis' }; // L0 === public
14
- const adminParams = { config: { policy: 'L1', role: 'admin' }, package: 'gis' };
15
- const params = { config: { policy: 'L1' }, package: 'gis' }; // L1 === authorized only
16
-
17
- const pretileSchema = {
18
- querystring: {
19
- type: "object",
20
- properties: {
21
- zoom: { type: "number", exclusiveMinimum: 0, maximum: 22 },
22
- max: { type: "number", exclusiveMinimum: 0, maximum: 22 },
23
- },
24
- required: ["zoom"],
25
- },
26
- };
27
-
28
- export default async function route(app) {
29
- app.get('/gis-upload-raster/:id', params, uploadRaster);
30
- app.get('/gis-xml/:id', publicParams, createXml);
31
- app.get('/gis-rtile/:id/:z/:y/:x', publicParams, rtile);
32
- app.get('/gis-raster/:id', publicParams, rasterInfo);
33
-
34
- app.get('/gis-create-xml/:id?', adminParams, createXmlMulti);
35
- app.get('/gis-files', adminParams, readDir);
36
- app.get('/gis-file-info', adminParams, fileStat);
37
- app.get('/gis-file-search', adminParams, fileSearch);
38
- app.get('/gis-clear-rtile/:id', adminParams, clearTiles);
39
- app.get('/gis-pretile/:id', { ...adminParams, schema: pretileSchema }, pretile);
40
- }
@@ -1,22 +0,0 @@
1
- export default async function catalogPermissionsEdit(req, reply) {
2
- const { pg, params, body } = req;
3
- const { uid } = params;
4
- if (!uid) return reply.status(403).send({ status: 403, message: 'access restricted' });
5
- if (!body?.length) return reply.status(400).send({ status: 400, message: 'body is empty' });
6
-
7
- try {
8
- await pg.one(`delete from gis.services_users_rel where user_id = $1`, [uid]);
9
-
10
- const sql = [];
11
- body.map(el => {
12
- const insertSql = `('${el?.service_id}','${uid}','${uid}',${(el?.actions?.length) ? `'{${el?.actions?.map(action => `"${action}"`)}}'::text[]` : 'null'})`;
13
- sql.push(insertSql);
14
- });
15
-
16
- await pg.query(`insert into gis.services_users_rel (service_id,user_id,created_by,actions) values ${sql?.join(',')}`);
17
- return reply.status(201).send({ status: 201, message: `Inserted ${body?.length} permissions` });
18
- }
19
- catch (err) {
20
- return reply.status(500).send({ status: 500, message: err.toString() });
21
- }
22
- }
@@ -1,8 +0,0 @@
1
- export default async function catalogPermissions(req, reply) {
2
- const { pg, params } = req;
3
- const { uid } = params;
4
- if (!uid) return reply.status(403).send({ status: 403, message: 'access restricted' });
5
- const { total, layer_list } = await pg.one(
6
- `select count(*)::int as total,array_agg(json_build_object('service_id',service_id,'actions',actions)) as layer_list from gis.services_users_rel where user_id=$1`, [uid]);
7
- return reply.status(200).send({ status: 200, total, layer_list })
8
- }
@@ -1,18 +0,0 @@
1
- import catalogPermissions from './controllers/catalog.permissions.js';
2
- import catalogPermissionsEdit from './controllers/catalog.permissions.edit.js';
3
- import gisCatalog from './controllers/gis.catalog.js';
4
-
5
- export default async function route(fastify) {
6
- if (!fastify.hasRoute({ method: 'GET', url: '/api/catalog' })) {
7
- console.log('\x1b[34m%s\x1b[0m', 'add catalog from gis');
8
- fastify.get('/catalog', { policy: 'L2' }, gisCatalog);
9
- }
10
- if (!fastify.hasRoute({ method: 'GET', url: '/api/catalog-permissions/:uid' })) {
11
- console.log('\x1b[34m%s\x1b[0m', 'add catalog-permissions from gis');
12
- fastify.get('/catalog-permissions/:uid', { policy: 'L2' }, catalogPermissions);
13
- }
14
- if (!fastify.hasRoute({ method: 'POST', url: '/api/catalog-permissions/:uid' })) {
15
- console.log('\x1b[34m%s\x1b[0m', 'add catalog-permissions-edit from gis');
16
- fastify.post('/catalog-permissions/:uid', { policy: 'L2' }, catalogPermissionsEdit);
17
- }
18
- }