@intuitionrobotics/permissions 0.47.59 → 1.0.1
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/LICENSE +3 -0
- package/dist/app-backend/api/v1/permissions/_imports.d.ts +3 -0
- package/dist/app-backend/api/v1/permissions/_imports.d.ts.map +1 -0
- package/{shared/assign-types.js → dist/app-backend/api/v1/permissions/_imports.js} +3 -3
- package/{app-backend → dist/app-backend}/api/v1/permissions/_imports.js.map +1 -1
- package/dist/app-backend/api/v1/permissions/_permissions.d.ts +4 -0
- package/dist/app-backend/api/v1/permissions/_permissions.d.ts.map +1 -0
- package/{app-backend → dist/app-backend}/api/v1/permissions/_permissions.js +2 -4
- package/dist/app-backend/api/v1/permissions/_permissions.js.map +1 -0
- package/dist/app-backend/api/v1/permissions/assert.d.ts +10 -0
- package/dist/app-backend/api/v1/permissions/assert.d.ts.map +1 -0
- package/dist/app-backend/api/v1/permissions/assert.js +36 -0
- package/dist/app-backend/api/v1/permissions/assert.js.map +1 -0
- package/dist/app-backend/api/v1/permissions/assign/apis.d.ts +4 -0
- package/dist/app-backend/api/v1/permissions/assign/apis.d.ts.map +1 -0
- package/{app-backend → dist/app-backend}/api/v1/permissions/assign/apis.js +6 -7
- package/dist/app-backend/api/v1/permissions/assign/apis.js.map +1 -0
- package/dist/app-backend/api/v1/permissions/assign/app-permissions.d.ts +10 -0
- package/dist/app-backend/api/v1/permissions/assign/app-permissions.d.ts.map +1 -0
- package/dist/app-backend/api/v1/permissions/assign/app-permissions.js +42 -0
- package/dist/app-backend/api/v1/permissions/assign/app-permissions.js.map +1 -0
- package/dist/app-backend/api/v1/permissions/manage/apis.d.ts +4 -0
- package/dist/app-backend/api/v1/permissions/manage/apis.d.ts.map +1 -0
- package/{app-backend → dist/app-backend}/api/v1/permissions/manage/apis.js +8 -9
- package/dist/app-backend/api/v1/permissions/manage/apis.js.map +1 -0
- package/dist/app-backend/api/v1/permissions/tags/apis.d.ts +3 -0
- package/dist/app-backend/api/v1/permissions/tags/apis.d.ts.map +1 -0
- package/dist/app-backend/api/v1/permissions/tags/apis.js +3 -0
- package/{app-backend → dist/app-backend}/api/v1/permissions/tags/apis.js.map +1 -1
- package/dist/app-backend/api/v1/permissions/user-urls-permissions.d.ts +9 -0
- package/dist/app-backend/api/v1/permissions/user-urls-permissions.d.ts.map +1 -0
- package/dist/app-backend/api/v1/permissions/user-urls-permissions.js +34 -0
- package/dist/app-backend/api/v1/permissions/user-urls-permissions.js.map +1 -0
- package/dist/app-backend/api/v1/register/_register-project.d.ts +4 -0
- package/dist/app-backend/api/v1/register/_register-project.d.ts.map +1 -0
- package/dist/app-backend/api/v1/register/_register-project.js +20 -0
- package/dist/app-backend/api/v1/register/_register-project.js.map +1 -0
- package/dist/app-backend/api/v1/register/register-external-project.d.ts +9 -0
- package/dist/app-backend/api/v1/register/register-external-project.d.ts.map +1 -0
- package/dist/app-backend/api/v1/register/register-external-project.js +33 -0
- package/dist/app-backend/api/v1/register/register-external-project.js.map +1 -0
- package/dist/app-backend/api/v1/register/register-project.d.ts +11 -0
- package/dist/app-backend/api/v1/register/register-project.d.ts.map +1 -0
- package/dist/app-backend/api/v1/register/register-project.js +16 -0
- package/dist/app-backend/api/v1/register/register-project.js.map +1 -0
- package/dist/app-backend/api/v1/test/_imports.d.ts +2 -0
- package/dist/app-backend/api/v1/test/_imports.d.ts.map +1 -0
- package/dist/app-backend/api/v1/test/_imports.js +19 -0
- package/{app-backend → dist/app-backend}/api/v1/test/_imports.js.map +1 -1
- package/dist/app-backend/api/v1/test/_test-permissions.d.ts +4 -0
- package/dist/app-backend/api/v1/test/_test-permissions.d.ts.map +1 -0
- package/dist/app-backend/api/v1/test/_test-permissions.js +20 -0
- package/dist/app-backend/api/v1/test/_test-permissions.js.map +1 -0
- package/dist/app-backend/api/v1/test/test-permissions.d.ts +10 -0
- package/dist/app-backend/api/v1/test/test-permissions.d.ts.map +1 -0
- package/dist/app-backend/api/v1/test/test-permissions.js +34 -0
- package/dist/app-backend/api/v1/test/test-permissions.js.map +1 -0
- package/dist/app-backend/api/v1/user-custom-fields/_user-custom-fields.d.ts +4 -0
- package/dist/app-backend/api/v1/user-custom-fields/_user-custom-fields.d.ts.map +1 -0
- package/dist/app-backend/api/v1/user-custom-fields/_user-custom-fields.js +20 -0
- package/dist/app-backend/api/v1/user-custom-fields/_user-custom-fields.js.map +1 -0
- package/dist/app-backend/api/v1/user-custom-fields/user-cf-by-share-groups.d.ts +9 -0
- package/dist/app-backend/api/v1/user-custom-fields/user-cf-by-share-groups.d.ts.map +1 -0
- package/dist/app-backend/api/v1/user-custom-fields/user-cf-by-share-groups.js +17 -0
- package/dist/app-backend/api/v1/user-custom-fields/user-cf-by-share-groups.js.map +1 -0
- package/dist/app-backend/api/v1/user-custom-fields/users-cf-by-share-groups.d.ts +9 -0
- package/dist/app-backend/api/v1/user-custom-fields/users-cf-by-share-groups.d.ts.map +1 -0
- package/dist/app-backend/api/v1/user-custom-fields/users-cf-by-share-groups.js +15 -0
- package/dist/app-backend/api/v1/user-custom-fields/users-cf-by-share-groups.js.map +1 -0
- package/{app-backend → dist/app-backend}/benchmark/permission-user-assert-benchmark.d.ts +1 -0
- package/dist/app-backend/benchmark/permission-user-assert-benchmark.d.ts.map +1 -0
- package/dist/app-backend/benchmark/permission-user-assert-benchmark.js +92 -0
- package/dist/app-backend/benchmark/permission-user-assert-benchmark.js.map +1 -0
- package/dist/app-backend/core/module-pack.d.ts +7 -0
- package/dist/app-backend/core/module-pack.d.ts.map +1 -0
- package/dist/app-backend/core/module-pack.js +39 -0
- package/dist/app-backend/core/module-pack.js.map +1 -0
- package/{app-backend → dist/app-backend}/modules/PermissionsModule.d.ts +3 -2
- package/dist/app-backend/modules/PermissionsModule.d.ts.map +1 -0
- package/dist/app-backend/modules/PermissionsModule.js +119 -0
- package/dist/app-backend/modules/PermissionsModule.js.map +1 -0
- package/{app-backend → dist/app-backend}/modules/TagsModule.d.ts +5 -4
- package/dist/app-backend/modules/TagsModule.d.ts.map +1 -0
- package/dist/app-backend/modules/TagsModule.js +36 -0
- package/dist/app-backend/modules/TagsModule.js.map +1 -0
- package/{app-backend → dist/app-backend}/modules/_imports.d.ts +4 -3
- package/dist/app-backend/modules/_imports.d.ts.map +1 -0
- package/{app-backend/api/v1/test → dist/app-backend/modules}/_imports.js +9 -5
- package/dist/app-backend/modules/_imports.js.map +1 -0
- package/{app-backend → dist/app-backend}/modules/db-types/assign.d.ts +7 -6
- package/dist/app-backend/modules/db-types/assign.d.ts.map +1 -0
- package/dist/app-backend/modules/db-types/assign.js +251 -0
- package/dist/app-backend/modules/db-types/assign.js.map +1 -0
- package/{app-backend → dist/app-backend}/modules/db-types/managment.d.ts +5 -4
- package/dist/app-backend/modules/db-types/managment.d.ts.map +1 -0
- package/dist/app-backend/modules/db-types/managment.js +210 -0
- package/dist/app-backend/modules/db-types/managment.js.map +1 -0
- package/{app-backend → dist/app-backend}/modules/permissions-assert.d.ts +4 -3
- package/dist/app-backend/modules/permissions-assert.d.ts.map +1 -0
- package/dist/app-backend/modules/permissions-assert.js +226 -0
- package/dist/app-backend/modules/permissions-assert.js.map +1 -0
- package/{app-backend → dist/app-backend}/modules/permissions-share.d.ts +2 -1
- package/dist/app-backend/modules/permissions-share.d.ts.map +1 -0
- package/dist/app-backend/modules/permissions-share.js +13 -0
- package/dist/app-backend/modules/permissions-share.js.map +1 -0
- package/dist/app-frontend/core/module-pack.d.ts +9 -0
- package/dist/app-frontend/core/module-pack.d.ts.map +1 -0
- package/dist/app-frontend/core/module-pack.js +41 -0
- package/dist/app-frontend/core/module-pack.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/modules/PermissionsComponent.d.ts +2 -1
- package/dist/app-frontend/modules/PermissionsComponent.d.ts.map +1 -0
- package/dist/app-frontend/modules/PermissionsComponent.js +19 -0
- package/dist/app-frontend/modules/PermissionsComponent.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/modules/PermissionsModuleFE.d.ts +1 -0
- package/dist/app-frontend/modules/PermissionsModuleFE.d.ts.map +1 -0
- package/dist/app-frontend/modules/PermissionsModuleFE.js +80 -0
- package/dist/app-frontend/modules/PermissionsModuleFE.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/modules/assign/ApiCaller_PermissionsGroup.d.ts +6 -5
- package/dist/app-frontend/modules/assign/ApiCaller_PermissionsGroup.d.ts.map +1 -0
- package/dist/app-frontend/modules/assign/ApiCaller_PermissionsGroup.js +50 -0
- package/dist/app-frontend/modules/assign/ApiCaller_PermissionsGroup.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/modules/assign/ApiCaller_PermissionsUser.d.ts +6 -5
- package/dist/app-frontend/modules/assign/ApiCaller_PermissionsUser.d.ts.map +1 -0
- package/dist/app-frontend/modules/assign/ApiCaller_PermissionsUser.js +50 -0
- package/dist/app-frontend/modules/assign/ApiCaller_PermissionsUser.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/modules/manage/ApiCaller_PermissionsApi.d.ts +6 -5
- package/dist/app-frontend/modules/manage/ApiCaller_PermissionsApi.d.ts.map +1 -0
- package/dist/app-frontend/modules/manage/ApiCaller_PermissionsApi.js +55 -0
- package/dist/app-frontend/modules/manage/ApiCaller_PermissionsApi.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/modules/manage/ApiCaller_PermissionsDomain.d.ts +6 -5
- package/dist/app-frontend/modules/manage/ApiCaller_PermissionsDomain.d.ts.map +1 -0
- package/dist/app-frontend/modules/manage/ApiCaller_PermissionsDomain.js +61 -0
- package/dist/app-frontend/modules/manage/ApiCaller_PermissionsDomain.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/modules/manage/ApiCaller_PermissionsLevel.d.ts +6 -5
- package/dist/app-frontend/modules/manage/ApiCaller_PermissionsLevel.d.ts.map +1 -0
- package/dist/app-frontend/modules/manage/ApiCaller_PermissionsLevel.js +61 -0
- package/dist/app-frontend/modules/manage/ApiCaller_PermissionsLevel.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/modules/manage/ApiCaller_PermissionsProject.d.ts +6 -5
- package/dist/app-frontend/modules/manage/ApiCaller_PermissionsProject.d.ts.map +1 -0
- package/dist/app-frontend/modules/manage/ApiCaller_PermissionsProject.js +60 -0
- package/dist/app-frontend/modules/manage/ApiCaller_PermissionsProject.js.map +1 -0
- package/{app-frontend → dist/app-frontend}/modules/tags/ApiCaller_PermissionsTags.d.ts +6 -5
- package/dist/app-frontend/modules/tags/ApiCaller_PermissionsTags.d.ts.map +1 -0
- package/dist/app-frontend/modules/tags/ApiCaller_PermissionsTags.js +33 -0
- package/dist/app-frontend/modules/tags/ApiCaller_PermissionsTags.js.map +1 -0
- package/dist/backend.d.ts +2 -0
- package/dist/backend.d.ts.map +1 -0
- package/{shared/apis.js → dist/backend.js} +2 -3
- package/dist/backend.js.map +1 -0
- package/dist/frontend.d.ts +4 -0
- package/dist/frontend.d.ts.map +1 -0
- package/dist/frontend.js +21 -0
- package/dist/frontend.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -0
- package/{shared → dist/shared}/apis.d.ts +6 -5
- package/dist/shared/apis.d.ts.map +1 -0
- package/dist/shared/apis.js +23 -0
- package/dist/shared/apis.js.map +1 -0
- package/{shared → dist/shared}/assign-types.d.ts +3 -2
- package/dist/shared/assign-types.d.ts.map +1 -0
- package/{shared/manager-types.js → dist/shared/assign-types.js} +3 -3
- package/{shared → dist/shared}/assign-types.js.map +1 -1
- package/{shared → dist/shared}/manager-types.d.ts +3 -2
- package/dist/shared/manager-types.d.ts.map +1 -0
- package/dist/shared/manager-types.js +20 -0
- package/{shared → dist/shared}/manager-types.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +66 -17
- package/app-backend/api/v1/permissions/_imports.d.ts +0 -2
- package/app-backend/api/v1/permissions/_imports.js +0 -36
- package/app-backend/api/v1/permissions/_permissions.d.ts +0 -1
- package/app-backend/api/v1/permissions/_permissions.js.map +0 -1
- package/app-backend/api/v1/permissions/assert.d.ts +0 -1
- package/app-backend/api/v1/permissions/assert.js +0 -47
- package/app-backend/api/v1/permissions/assert.js.map +0 -1
- package/app-backend/api/v1/permissions/assign/apis.d.ts +0 -1
- package/app-backend/api/v1/permissions/assign/apis.js.map +0 -1
- package/app-backend/api/v1/permissions/assign/app-permissions.d.ts +0 -1
- package/app-backend/api/v1/permissions/assign/app-permissions.js +0 -55
- package/app-backend/api/v1/permissions/assign/app-permissions.js.map +0 -1
- package/app-backend/api/v1/permissions/manage/apis.d.ts +0 -1
- package/app-backend/api/v1/permissions/manage/apis.js.map +0 -1
- package/app-backend/api/v1/permissions/tags/apis.d.ts +0 -1
- package/app-backend/api/v1/permissions/tags/apis.js +0 -5
- package/app-backend/api/v1/permissions/user-urls-permissions.d.ts +0 -1
- package/app-backend/api/v1/permissions/user-urls-permissions.js +0 -46
- package/app-backend/api/v1/permissions/user-urls-permissions.js.map +0 -1
- package/app-backend/api/v1/register/_register-project.d.ts +0 -1
- package/app-backend/api/v1/register/_register-project.js +0 -22
- package/app-backend/api/v1/register/_register-project.js.map +0 -1
- package/app-backend/api/v1/register/register-external-project.d.ts +0 -6
- package/app-backend/api/v1/register/register-external-project.js +0 -46
- package/app-backend/api/v1/register/register-external-project.js.map +0 -1
- package/app-backend/api/v1/register/register-project.d.ts +0 -8
- package/app-backend/api/v1/register/register-project.js +0 -29
- package/app-backend/api/v1/register/register-project.js.map +0 -1
- package/app-backend/api/v1/test/_imports.d.ts +0 -1
- package/app-backend/api/v1/test/_test-permissions.d.ts +0 -1
- package/app-backend/api/v1/test/_test-permissions.js +0 -22
- package/app-backend/api/v1/test/_test-permissions.js.map +0 -1
- package/app-backend/api/v1/test/test-permissions.d.ts +0 -1
- package/app-backend/api/v1/test/test-permissions.js +0 -45
- package/app-backend/api/v1/test/test-permissions.js.map +0 -1
- package/app-backend/api/v1/user-custom-fields/_user-custom-fields.d.ts +0 -1
- package/app-backend/api/v1/user-custom-fields/_user-custom-fields.js +0 -22
- package/app-backend/api/v1/user-custom-fields/_user-custom-fields.js.map +0 -1
- package/app-backend/api/v1/user-custom-fields/user-cf-by-share-groups.d.ts +0 -6
- package/app-backend/api/v1/user-custom-fields/user-cf-by-share-groups.js +0 -31
- package/app-backend/api/v1/user-custom-fields/user-cf-by-share-groups.js.map +0 -1
- package/app-backend/api/v1/user-custom-fields/users-cf-by-share-groups.d.ts +0 -6
- package/app-backend/api/v1/user-custom-fields/users-cf-by-share-groups.js +0 -30
- package/app-backend/api/v1/user-custom-fields/users-cf-by-share-groups.js.map +0 -1
- package/app-backend/benchmark/permission-user-assert-benchmark.js +0 -108
- package/app-backend/benchmark/permission-user-assert-benchmark.js.map +0 -1
- package/app-backend/core/module-pack.d.ts +0 -6
- package/app-backend/core/module-pack.js +0 -56
- package/app-backend/core/module-pack.js.map +0 -1
- package/app-backend/modules/PermissionsModule.js +0 -140
- package/app-backend/modules/PermissionsModule.js.map +0 -1
- package/app-backend/modules/TagsModule.js +0 -51
- package/app-backend/modules/TagsModule.js.map +0 -1
- package/app-backend/modules/_imports.js +0 -44
- package/app-backend/modules/_imports.js.map +0 -1
- package/app-backend/modules/db-types/assign.js +0 -288
- package/app-backend/modules/db-types/assign.js.map +0 -1
- package/app-backend/modules/db-types/managment.js +0 -242
- package/app-backend/modules/db-types/managment.js.map +0 -1
- package/app-backend/modules/permissions-assert.js +0 -250
- package/app-backend/modules/permissions-assert.js.map +0 -1
- package/app-backend/modules/permissions-share.js +0 -27
- package/app-backend/modules/permissions-share.js.map +0 -1
- package/app-frontend/core/module-pack.d.ts +0 -8
- package/app-frontend/core/module-pack.js +0 -58
- package/app-frontend/core/module-pack.js.map +0 -1
- package/app-frontend/modules/PermissionsComponent.js +0 -23
- package/app-frontend/modules/PermissionsComponent.js.map +0 -1
- package/app-frontend/modules/PermissionsModuleFE.js +0 -92
- package/app-frontend/modules/PermissionsModuleFE.js.map +0 -1
- package/app-frontend/modules/assign/ApiCaller_PermissionsGroup.js +0 -55
- package/app-frontend/modules/assign/ApiCaller_PermissionsGroup.js.map +0 -1
- package/app-frontend/modules/assign/ApiCaller_PermissionsUser.js +0 -72
- package/app-frontend/modules/assign/ApiCaller_PermissionsUser.js.map +0 -1
- package/app-frontend/modules/manage/ApiCaller_PermissionsApi.js +0 -76
- package/app-frontend/modules/manage/ApiCaller_PermissionsApi.js.map +0 -1
- package/app-frontend/modules/manage/ApiCaller_PermissionsDomain.js +0 -83
- package/app-frontend/modules/manage/ApiCaller_PermissionsDomain.js.map +0 -1
- package/app-frontend/modules/manage/ApiCaller_PermissionsLevel.js +0 -83
- package/app-frontend/modules/manage/ApiCaller_PermissionsLevel.js.map +0 -1
- package/app-frontend/modules/manage/ApiCaller_PermissionsProject.js +0 -82
- package/app-frontend/modules/manage/ApiCaller_PermissionsProject.js.map +0 -1
- package/app-frontend/modules/tags/ApiCaller_PermissionsTags.js +0 -55
- package/app-frontend/modules/tags/ApiCaller_PermissionsTags.js.map +0 -1
- package/backend.d.ts +0 -1
- package/backend.js +0 -35
- package/backend.js.map +0 -1
- package/frontend.d.ts +0 -3
- package/frontend.js +0 -37
- package/frontend.js.map +0 -1
- package/index.d.ts +0 -3
- package/index.js +0 -37
- package/index.js.map +0 -1
- package/shared/apis.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_user-custom-fields.d.ts","sourceRoot":"","sources":["../../../../../src/main/app-backend/api/v1/user-custom-fields/_user-custom-fields.ts"],"names":[],"mappings":"AAkBA,OAAO,EAAC,aAAa,EAAC,MAAM,yCAAyC,CAAC;;AAEtE,wBAAkD"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* ts-common is the basic building blocks of our typescript projects
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2020 Intuition Robotics
|
|
5
|
+
*
|
|
6
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
+
* you may not use this file except in compliance with the License.
|
|
8
|
+
* You may obtain a copy of the License at
|
|
9
|
+
*
|
|
10
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
*
|
|
12
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
* See the License for the specific language governing permissions and
|
|
16
|
+
* limitations under the License.
|
|
17
|
+
*/
|
|
18
|
+
import { RouteResolver } from "@intuitionrobotics/thunderstorm/backend";
|
|
19
|
+
export default new RouteResolver(import.meta.url);
|
|
20
|
+
//# sourceMappingURL=_user-custom-fields.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_user-custom-fields.js","sourceRoot":"","sources":["../../../../../src/main/app-backend/api/v1/user-custom-fields/_user-custom-fields.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAC,aAAa,EAAC,MAAM,yCAAyC,CAAC;AAEtE,eAAe,IAAI,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ApiResponse, type ExpressRequest, ServerApi } from "@intuitionrobotics/thunderstorm/backend";
|
|
2
|
+
import { type PermissionsApi_UserCFsByShareGroups, type Request_UserCFsByShareGroups } from "../permissions/_imports.js";
|
|
3
|
+
export declare class ServerApi_UserCFsByShareGroups extends ServerApi<PermissionsApi_UserCFsByShareGroups> {
|
|
4
|
+
constructor();
|
|
5
|
+
protected process(request: ExpressRequest, response: ApiResponse, queryParams: {}, body: Request_UserCFsByShareGroups): Promise<import("@intuitionrobotics/ts-common").StringMap[]>;
|
|
6
|
+
}
|
|
7
|
+
declare const _default: ServerApi_UserCFsByShareGroups;
|
|
8
|
+
export default _default;
|
|
9
|
+
//# sourceMappingURL=user-cf-by-share-groups.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-cf-by-share-groups.d.ts","sourceRoot":"","sources":["../../../../../src/main/app-backend/api/v1/user-custom-fields/user-cf-by-share-groups.ts"],"names":[],"mappings":"AACA,OAAO,EACN,WAAW,EACX,KAAK,cAAc,EACnB,SAAS,EACT,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACN,KAAK,mCAAmC,EACxC,KAAK,4BAA4B,EACjC,MAAM,4BAA4B,CAAC;AAKpC,qBAAa,8BACZ,SAAQ,SAAS,CAAC,mCAAmC,CAAC;;cAOtC,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,4BAA4B;CAI3H;;AAED,wBAAoD"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ApiResponse, ServerApi } from "@intuitionrobotics/thunderstorm/backend";
|
|
2
|
+
import {} from "../permissions/_imports.js";
|
|
3
|
+
import { HttpMethod } from "@intuitionrobotics/thunderstorm";
|
|
4
|
+
import { AccountModule } from "@intuitionrobotics/user-account/backend";
|
|
5
|
+
import { PermissionsModule } from "../../../modules/PermissionsModule.js";
|
|
6
|
+
export class ServerApi_UserCFsByShareGroups extends ServerApi {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(HttpMethod.POST, "user-cf-by-share-groups");
|
|
9
|
+
this.dontPrintResponse();
|
|
10
|
+
}
|
|
11
|
+
async process(request, response, queryParams, body) {
|
|
12
|
+
const account = await AccountModule.validateSession(request, this.getScopes(), response);
|
|
13
|
+
return PermissionsModule.getUserCFsByShareGroups(account._id, body.groupsIds);
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export default new ServerApi_UserCFsByShareGroups();
|
|
17
|
+
//# sourceMappingURL=user-cf-by-share-groups.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"user-cf-by-share-groups.js","sourceRoot":"","sources":["../../../../../src/main/app-backend/api/v1/user-custom-fields/user-cf-by-share-groups.ts"],"names":[],"mappings":"AACA,OAAO,EACN,WAAW,EAEX,SAAS,EACT,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAGN,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAC,UAAU,EAAC,MAAM,iCAAiC,CAAC;AAC3D,OAAO,EAAC,aAAa,EAAC,MAAM,yCAAyC,CAAC;AACtE,OAAO,EAAC,iBAAiB,EAAC,MAAM,uCAAuC,CAAC;AAExE,MAAM,OAAO,8BACZ,SAAQ,SAA8C;IAEtD;QACC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,yBAAyB,CAAC,CAAC;QAClD,IAAI,CAAC,iBAAiB,EAAE,CAAC;IAC1B,CAAC;IAES,KAAK,CAAC,OAAO,CAAC,OAAuB,EAAE,QAAqB,EAAE,WAAe,EAAE,IAAkC;QAC1H,MAAM,OAAO,GAAG,MAAM,aAAa,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,QAAQ,CAAC,CAAC;QACzF,OAAO,iBAAiB,CAAC,uBAAuB,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IAC/E,CAAC;CACD;AAED,eAAe,IAAI,8BAA8B,EAAE,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ApiResponse, type ExpressRequest, ServerApi } from "@intuitionrobotics/thunderstorm/backend";
|
|
2
|
+
import { type PermissionsApi_UsersCFsByShareGroups, type Request_UsersCFsByShareGroups } from "../permissions/_imports.js";
|
|
3
|
+
export declare class ServerApi_UsersCFsByShareGroups extends ServerApi<PermissionsApi_UsersCFsByShareGroups> {
|
|
4
|
+
constructor();
|
|
5
|
+
protected process(request: ExpressRequest, response: ApiResponse, queryParams: {}, body: Request_UsersCFsByShareGroups): Promise<import("../permissions/_imports.js").Response_UsersCFsByShareGroups>;
|
|
6
|
+
}
|
|
7
|
+
declare const _default: ServerApi_UsersCFsByShareGroups;
|
|
8
|
+
export default _default;
|
|
9
|
+
//# sourceMappingURL=users-cf-by-share-groups.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"users-cf-by-share-groups.d.ts","sourceRoot":"","sources":["../../../../../src/main/app-backend/api/v1/user-custom-fields/users-cf-by-share-groups.ts"],"names":[],"mappings":"AACA,OAAO,EACN,WAAW,EACX,KAAK,cAAc,EACnB,SAAS,EAET,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACN,KAAK,oCAAoC,EACzC,KAAK,6BAA6B,EAElC,MAAM,4BAA4B,CAAC;AAGpC,qBAAa,+BACZ,SAAQ,SAAS,CAAC,oCAAoC,CAAC;;cAQvC,OAAO,CAAC,OAAO,EAAE,cAAc,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,EAAE,EAAE,IAAI,EAAE,6BAA6B;CAG5H;;AAED,wBAAqD"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ApiResponse, ServerApi, RemoteProxy } from "@intuitionrobotics/thunderstorm/backend";
|
|
2
|
+
import { PermissionsModule } from "../permissions/_imports.js";
|
|
3
|
+
import { HttpMethod } from "@intuitionrobotics/thunderstorm";
|
|
4
|
+
export class ServerApi_UsersCFsByShareGroups extends ServerApi {
|
|
5
|
+
constructor() {
|
|
6
|
+
super(HttpMethod.POST, "users-cf-by-share-groups");
|
|
7
|
+
this.dontPrintResponse();
|
|
8
|
+
this.setMiddlewares(RemoteProxy.Middleware);
|
|
9
|
+
}
|
|
10
|
+
async process(request, response, queryParams, body) {
|
|
11
|
+
return PermissionsModule.getUsersCFsByShareGroups(body.usersEmails, body.groupsIds);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
export default new ServerApi_UsersCFsByShareGroups();
|
|
15
|
+
//# sourceMappingURL=users-cf-by-share-groups.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"users-cf-by-share-groups.js","sourceRoot":"","sources":["../../../../../src/main/app-backend/api/v1/user-custom-fields/users-cf-by-share-groups.ts"],"names":[],"mappings":"AACA,OAAO,EACN,WAAW,EAEX,SAAS,EACT,WAAW,EACX,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAGN,iBAAiB,EACjB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAC,UAAU,EAAC,MAAM,iCAAiC,CAAC;AAE3D,MAAM,OAAO,+BACZ,SAAQ,SAA+C;IAEvD;QACC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,0BAA0B,CAAC,CAAC;QACnD,IAAI,CAAC,iBAAiB,EAAE,CAAC;QACzB,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,UAAU,CAAC,CAAC;IAC7C,CAAC;IAES,KAAK,CAAC,OAAO,CAAC,OAAuB,EAAE,QAAqB,EAAE,WAAe,EAAE,IAAmC;QAC3H,OAAO,iBAAiB,CAAC,wBAAwB,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,CAAC;IACrF,CAAC;CACD;AAED,eAAe,IAAI,+BAA+B,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permission-user-assert-benchmark.d.ts","sourceRoot":"","sources":["../../../src/main/app-backend/benchmark/permission-user-assert-benchmark.ts"],"names":[],"mappings":"AAkDA,wBAAsB,uBAAuB,kBA2D5C"}
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* ts-common is the basic building blocks of our typescript projects
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2020 Intuition Robotics
|
|
5
|
+
*
|
|
6
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
+
* you may not use this file except in compliance with the License.
|
|
8
|
+
* You may obtain a copy of the License at
|
|
9
|
+
*
|
|
10
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
*
|
|
12
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
* See the License for the specific language governing permissions and
|
|
16
|
+
* limitations under the License.
|
|
17
|
+
*/
|
|
18
|
+
import { generateHex, currentTimeMillies } from "@intuitionrobotics/ts-common";
|
|
19
|
+
import { AccessLevelPermissionsDB, ApiPermissionsDB, DomainPermissionsDB, ProjectPermissionsDB } from "../modules/db-types/managment.js";
|
|
20
|
+
import { GroupPermissionsDB, UserPermissionsDB } from "../modules/db-types/assign.js";
|
|
21
|
+
import { PermissionsAssert } from "../modules/permissions-assert.js";
|
|
22
|
+
import {} from "../../index.js";
|
|
23
|
+
import { FirestoreTransaction } from "@intuitionrobotics/firebase/backend";
|
|
24
|
+
function makeAlphaBetIdForTestOnly(length) {
|
|
25
|
+
let result = '';
|
|
26
|
+
const characters = `abcdefghijklmnopqrstuvwxyz`;
|
|
27
|
+
const charactersLength = characters.length;
|
|
28
|
+
for (let i = 0; i < length; i++) {
|
|
29
|
+
result += characters.charAt(Math.floor(Math.random() * charactersLength));
|
|
30
|
+
}
|
|
31
|
+
return result;
|
|
32
|
+
}
|
|
33
|
+
export async function testUserPermissionsTime() {
|
|
34
|
+
console.log("---Inside of permissions test---");
|
|
35
|
+
const projectId = 'project-test-ten';
|
|
36
|
+
const apiId = generateHex(32);
|
|
37
|
+
const userId = generateHex(32);
|
|
38
|
+
const apiPath = '/v1/test/test-it10';
|
|
39
|
+
const userUuid = 'test10@intuitionrobotics.com';
|
|
40
|
+
const permissionId = generateHex(32);
|
|
41
|
+
const domainId = generateHex(32);
|
|
42
|
+
const permissionValue = 50;
|
|
43
|
+
const customField = { UnitId: 'eq1' };
|
|
44
|
+
await ProjectPermissionsDB.upsert({ _id: projectId, name: 'project test' });
|
|
45
|
+
await DomainPermissionsDB.upsert({ _id: domainId, projectId: projectId, namespace: 'domain-test' });
|
|
46
|
+
const accessLevel = await AccessLevelPermissionsDB.upsert({ _id: permissionId, name: 'test-permission', domainId, value: permissionValue });
|
|
47
|
+
await ApiPermissionsDB.upsert({ projectId: projectId, _id: apiId, path: apiPath, accessLevelIds: [permissionId] });
|
|
48
|
+
const groupIdArray = [];
|
|
49
|
+
const dbInstances = [];
|
|
50
|
+
for (let counter = 0; counter < 100; counter++) {
|
|
51
|
+
const groupId = generateHex(32);
|
|
52
|
+
const baseAccessLevel = { domainId: accessLevel.domainId, value: accessLevel.value };
|
|
53
|
+
dbInstances.push({
|
|
54
|
+
_id: groupId,
|
|
55
|
+
accessLevelIds: [accessLevel._id],
|
|
56
|
+
__accessLevels: [baseAccessLevel],
|
|
57
|
+
customFields: [customField],
|
|
58
|
+
label: `group-${makeAlphaBetIdForTestOnly(5)}`
|
|
59
|
+
});
|
|
60
|
+
groupIdArray.push({ groupId, customField: { test: "test" } });
|
|
61
|
+
}
|
|
62
|
+
console.log('dbInstances ready to upsert');
|
|
63
|
+
const collection = GroupPermissionsDB.collection;
|
|
64
|
+
await collection.runInTransaction(async (transaction) => {
|
|
65
|
+
await Promise.all(dbInstances.map(dbInstance => GroupPermissionsDB.assertUniqueness(transaction, dbInstance)));
|
|
66
|
+
return transaction.upsertAll(collection, dbInstances);
|
|
67
|
+
});
|
|
68
|
+
await UserPermissionsDB.upsert({ _id: userId, accountId: userUuid, groups: groupIdArray });
|
|
69
|
+
const tests = new Array().fill(0, 0, 50);
|
|
70
|
+
const durations = await Promise.all(tests.map(_test => runAssertion(projectId, apiPath, userUuid, customField)));
|
|
71
|
+
const sum = durations.reduce((_sum, val) => _sum + val, 0);
|
|
72
|
+
console.log(`Call to assertion on ${tests.length} call took on agerage ${sum / tests.length}ms`);
|
|
73
|
+
// ----deletes db documents---
|
|
74
|
+
await UserPermissionsDB.delete({ where: { _id: userId } });
|
|
75
|
+
for (let counter = 0; counter < 10; counter++) {
|
|
76
|
+
const startIndex = counter * 10;
|
|
77
|
+
const subDbInstances = dbInstances.slice(startIndex, startIndex + 10);
|
|
78
|
+
await GroupPermissionsDB.delete({ where: { _id: { $in: subDbInstances.map(e => e._id) } } });
|
|
79
|
+
}
|
|
80
|
+
await AccessLevelPermissionsDB.delete({ where: { _id: permissionId } });
|
|
81
|
+
await DomainPermissionsDB.delete({ where: { _id: domainId } });
|
|
82
|
+
await ApiPermissionsDB.delete({ where: { _id: apiId } });
|
|
83
|
+
await ProjectPermissionsDB.delete({ where: { _id: projectId } });
|
|
84
|
+
}
|
|
85
|
+
async function runAssertion(projectId, apiPath, userUuid, customField) {
|
|
86
|
+
const start = currentTimeMillies();
|
|
87
|
+
await PermissionsAssert.assertUserPermissions(projectId, apiPath, userUuid, customField);
|
|
88
|
+
const runTime = currentTimeMillies() - start;
|
|
89
|
+
console.log(`Call to assertion took ${runTime}ms`);
|
|
90
|
+
return runTime;
|
|
91
|
+
}
|
|
92
|
+
//# sourceMappingURL=permission-user-assert-benchmark.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permission-user-assert-benchmark.js","sourceRoot":"","sources":["../../../src/main/app-backend/benchmark/permission-user-assert-benchmark.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const Backend_ModulePack_Permissions: (import("../modules/PermissionsModule.js").PermissionsModule_Class | import("../modules/permissions-assert.js").PermissionsAssert_Class | import("../modules/db-types/managment.js").ApiDB_Class | import("../modules/db-types/assign.js").UsersDB_Class | import("../modules/db-types/managment.js").ProjectDB_Class | import("../modules/db-types/assign.js").GroupsDB_Class | import("../modules/db-types/managment.js").LevelDB_Class | import("../modules/db-types/managment.js").DomainDB_Class | import("../modules/TagsModule.js").TagsDB_Class)[];
|
|
2
|
+
export * from "../modules/db-types/managment.js";
|
|
3
|
+
export * from "../modules/db-types/assign.js";
|
|
4
|
+
export * from "../modules/permissions-assert.js";
|
|
5
|
+
export * from "../modules/PermissionsModule.js";
|
|
6
|
+
export * from "../modules/TagsModule.js";
|
|
7
|
+
//# sourceMappingURL=module-pack.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module-pack.d.ts","sourceRoot":"","sources":["../../../src/main/app-backend/core/module-pack.ts"],"names":[],"mappings":"AAgCA,eAAO,MAAM,8BAA8B,4hBAU1C,CAAC;AAEF,cAAc,kCAAkC,CAAA;AAChD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,kCAAkC,CAAA;AAChD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,0BAA0B,CAAA"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* ts-common is the basic building blocks of our typescript projects
|
|
3
|
+
*
|
|
4
|
+
* Copyright (C) 2020 Intuition Robotics
|
|
5
|
+
*
|
|
6
|
+
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
7
|
+
* you may not use this file except in compliance with the License.
|
|
8
|
+
* You may obtain a copy of the License at
|
|
9
|
+
*
|
|
10
|
+
* http://www.apache.org/licenses/LICENSE-2.0
|
|
11
|
+
*
|
|
12
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
13
|
+
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
14
|
+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
15
|
+
* See the License for the specific language governing permissions and
|
|
16
|
+
* limitations under the License.
|
|
17
|
+
*/
|
|
18
|
+
import { AccessLevelPermissionsDB, ApiPermissionsDB, DomainPermissionsDB, ProjectPermissionsDB } from "../modules/db-types/managment.js";
|
|
19
|
+
import { GroupPermissionsDB, UserPermissionsDB } from "../modules/db-types/assign.js";
|
|
20
|
+
import { PermissionsAssert } from "../modules/permissions-assert.js";
|
|
21
|
+
import { PermissionsModule } from "../modules/PermissionsModule.js";
|
|
22
|
+
import { TagsDB } from "../modules/TagsModule.js";
|
|
23
|
+
export const Backend_ModulePack_Permissions = [
|
|
24
|
+
ProjectPermissionsDB,
|
|
25
|
+
DomainPermissionsDB,
|
|
26
|
+
AccessLevelPermissionsDB,
|
|
27
|
+
ApiPermissionsDB,
|
|
28
|
+
GroupPermissionsDB,
|
|
29
|
+
UserPermissionsDB,
|
|
30
|
+
PermissionsAssert,
|
|
31
|
+
PermissionsModule,
|
|
32
|
+
TagsDB
|
|
33
|
+
];
|
|
34
|
+
export * from "../modules/db-types/managment.js";
|
|
35
|
+
export * from "../modules/db-types/assign.js";
|
|
36
|
+
export * from "../modules/permissions-assert.js";
|
|
37
|
+
export * from "../modules/PermissionsModule.js";
|
|
38
|
+
export * from "../modules/TagsModule.js";
|
|
39
|
+
//# sourceMappingURL=module-pack.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"module-pack.js","sourceRoot":"","sources":["../../../src/main/app-backend/core/module-pack.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EACN,wBAAwB,EACxB,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACN,kBAAkB,EAClB,iBAAiB,EACjB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAC,iBAAiB,EAAC,MAAM,kCAAkC,CAAC;AACnE,OAAO,EAAC,iBAAiB,EAAC,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAC,MAAM,EAAC,MAAM,0BAA0B,CAAC;AAEhD,MAAM,CAAC,MAAM,8BAA8B,GAAG;IAC7C,oBAAoB;IACpB,mBAAmB;IACnB,wBAAwB;IACxB,gBAAgB;IAChB,kBAAkB;IAClB,iBAAiB;IACjB,iBAAiB;IACjB,iBAAiB;IACjB,MAAM;CACN,CAAC;AAEF,cAAc,kCAAkC,CAAA;AAChD,cAAc,+BAA+B,CAAA;AAC7C,cAAc,kCAAkC,CAAA;AAChD,cAAc,iCAAiC,CAAA;AAC/C,cAAc,0BAA0B,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Module, StringMap } from "@intuitionrobotics/ts-common";
|
|
2
|
-
import { DB_PermissionProject, PredefinedGroup, PredefinedUser, Request_RegisterProject, Response_UsersCFsByShareGroups, UserUrlsPermissions } from "./_imports";
|
|
1
|
+
import { Module, type StringMap } from "@intuitionrobotics/ts-common";
|
|
2
|
+
import { type DB_PermissionProject, type PredefinedGroup, type PredefinedUser, type Request_RegisterProject, type Response_UsersCFsByShareGroups, type UserUrlsPermissions } from "./_imports.js";
|
|
3
3
|
type Config = {
|
|
4
4
|
project: DB_PermissionProject;
|
|
5
5
|
predefinedGroups?: PredefinedGroup[];
|
|
@@ -18,3 +18,4 @@ export declare class PermissionsModule_Class extends Module<Config> {
|
|
|
18
18
|
}
|
|
19
19
|
export declare const PermissionsModule: PermissionsModule_Class;
|
|
20
20
|
export {};
|
|
21
|
+
//# sourceMappingURL=PermissionsModule.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PermissionsModule.d.ts","sourceRoot":"","sources":["../../../src/main/app-backend/modules/PermissionsModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkE,MAAM,EAAE,KAAK,SAAS,EAAC,MAAM,8BAA8B,CAAC;AACrI,OAAO,EACH,KAAK,oBAAoB,EAEzB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,uBAAuB,EAC5B,KAAK,8BAA8B,EACnC,KAAK,mBAAmB,EAC3B,MAAM,eAAe,CAAC;AAOvB,KAAK,MAAM,GAAG;IACV,OAAO,EAAE,oBAAoB,CAAA;IAC7B,gBAAgB,CAAC,EAAE,eAAe,EAAE,CAAC;IACrC,cAAc,CAAC,EAAE,cAAc,CAAA;CAClC,CAAA;AAED,qBAAa,uBACT,SAAQ,MAAM,CAAC,MAAM,CAAC;;IAMtB,SAAS,CAAC,IAAI,IAAI,IAAI;IAKtB,kBAAkB,6BAA6B;IAEzC,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM,EAAE,kBAAkB,EAAE,SAAS;IAyBrH,wBAAwB,CAAC,WAAW,EAAE,MAAM,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,8BAA8B,CAAC;IA4B7G,uBAAuB,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAKxF,OAAO,CAAC,eAAe;IAgBjB,eAAe,CAAC,MAAM,EAAE,MAAM,EAAE;IAWhC,gBAAgB,CAAC,eAAe,EAAE,uBAAuB;CAgClE;AAED,eAAO,MAAM,iBAAiB,yBAAgC,CAAC"}
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
import { arrayToMap, batchActionParallel, ImplementationMissingException, Module } from "@intuitionrobotics/ts-common";
|
|
2
|
+
import {} from "./_imports.js";
|
|
3
|
+
import { PermissionsAssert } from "./permissions-assert.js";
|
|
4
|
+
import { ApiPermissionsDB, ProjectPermissionsDB } from "./db-types/managment.js";
|
|
5
|
+
import { GroupPermissionsDB, UserPermissionsDB } from "./db-types/assign.js";
|
|
6
|
+
import { AccountModule } from "@intuitionrobotics/user-account/backend";
|
|
7
|
+
import {} from "@intuitionrobotics/user-account/shared/api";
|
|
8
|
+
export class PermissionsModule_Class extends Module {
|
|
9
|
+
constructor() {
|
|
10
|
+
super("PermissionsModule");
|
|
11
|
+
}
|
|
12
|
+
init() {
|
|
13
|
+
if (!this.config)
|
|
14
|
+
throw new ImplementationMissingException("MUST set config with project identity!!");
|
|
15
|
+
}
|
|
16
|
+
getProjectIdentity = () => this.config.project;
|
|
17
|
+
async getUserUrlsPermissions(projectId, urlsMap, userId, requestCustomField) {
|
|
18
|
+
const urls = Object.keys(urlsMap);
|
|
19
|
+
const [userDetails, apiDetails] = await Promise.all([
|
|
20
|
+
PermissionsAssert.getUserDetails(userId),
|
|
21
|
+
PermissionsAssert.getApisDetails(urls, projectId)
|
|
22
|
+
]);
|
|
23
|
+
return urls.reduce((userUrlsPermissions, url, i) => {
|
|
24
|
+
const apiDetail = apiDetails[i];
|
|
25
|
+
if (apiDetail) {
|
|
26
|
+
try {
|
|
27
|
+
PermissionsAssert._assertUserPermissionsImpl(apiDetail, projectId, userDetails, requestCustomField);
|
|
28
|
+
userUrlsPermissions[url] = true;
|
|
29
|
+
}
|
|
30
|
+
catch (_e) {
|
|
31
|
+
userUrlsPermissions[url] = false;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
else
|
|
35
|
+
userUrlsPermissions[url] = false;
|
|
36
|
+
return userUrlsPermissions;
|
|
37
|
+
}, {});
|
|
38
|
+
}
|
|
39
|
+
async getUsersCFsByShareGroups(usersEmails, groupsIds) {
|
|
40
|
+
const accounts = await AccountModule.getUsers(usersEmails);
|
|
41
|
+
const usersMap = arrayToMap(accounts, u => u.email);
|
|
42
|
+
const permissionUsers = await batchActionParallel(accounts.map(u => u._id), 10, async (batchedAccountIds) => {
|
|
43
|
+
return UserPermissionsDB.query({
|
|
44
|
+
where: {
|
|
45
|
+
accountId: {
|
|
46
|
+
$in: batchedAccountIds
|
|
47
|
+
}
|
|
48
|
+
},
|
|
49
|
+
select: ['groups', 'accountId']
|
|
50
|
+
});
|
|
51
|
+
});
|
|
52
|
+
const permissionUsersMap = arrayToMap(permissionUsers, pu => pu.accountId);
|
|
53
|
+
return usersEmails.reduce((acc, e) => {
|
|
54
|
+
const account = usersMap[e.toLowerCase()];
|
|
55
|
+
if (!account)
|
|
56
|
+
return acc;
|
|
57
|
+
const user = permissionUsersMap[account._id];
|
|
58
|
+
if (!user)
|
|
59
|
+
return acc;
|
|
60
|
+
acc[e] = this.getCustomFields(user, groupsIds);
|
|
61
|
+
return acc;
|
|
62
|
+
}, {});
|
|
63
|
+
}
|
|
64
|
+
async getUserCFsByShareGroups(userId, groupsIds) {
|
|
65
|
+
const user = await UserPermissionsDB.queryUnique({ accountId: userId });
|
|
66
|
+
return this.getCustomFields(user, groupsIds);
|
|
67
|
+
}
|
|
68
|
+
getCustomFields(user, groupsIds) {
|
|
69
|
+
if (!user.groups)
|
|
70
|
+
return [];
|
|
71
|
+
return user.groups.reduce((acc, userGroup) => {
|
|
72
|
+
if (!groupsIds.find(groupId => groupId === userGroup.groupId))
|
|
73
|
+
return acc;
|
|
74
|
+
if (!userGroup.customField)
|
|
75
|
+
return acc;
|
|
76
|
+
acc.push(userGroup.customField);
|
|
77
|
+
return acc;
|
|
78
|
+
}, []);
|
|
79
|
+
}
|
|
80
|
+
async registerProject(routes) {
|
|
81
|
+
const projectRoutes = {
|
|
82
|
+
project: PermissionsModule.getProjectIdentity(),
|
|
83
|
+
routes,
|
|
84
|
+
predefinedGroups: this.config.predefinedGroups,
|
|
85
|
+
predefinedUser: this.config.predefinedUser
|
|
86
|
+
};
|
|
87
|
+
return this._registerProject(projectRoutes);
|
|
88
|
+
}
|
|
89
|
+
async _registerProject(registerProject) {
|
|
90
|
+
const project = registerProject.project;
|
|
91
|
+
await ProjectPermissionsDB.upsert(project);
|
|
92
|
+
await ApiPermissionsDB.registerApis(project._id, registerProject.routes);
|
|
93
|
+
const predefinedGroups = registerProject.predefinedGroups;
|
|
94
|
+
if (!predefinedGroups || predefinedGroups.length === 0)
|
|
95
|
+
return;
|
|
96
|
+
await GroupPermissionsDB.upsertPredefinedGroups(project._id, project.name, predefinedGroups);
|
|
97
|
+
const predefinedUser = registerProject.predefinedUser;
|
|
98
|
+
if (!predefinedUser)
|
|
99
|
+
return;
|
|
100
|
+
const groupsUser = predefinedUser.groups.map(groupItem => {
|
|
101
|
+
const customField = {};
|
|
102
|
+
const allRegEx = ".*";
|
|
103
|
+
if (!groupItem.customKeys || !groupItem.customKeys.length)
|
|
104
|
+
customField["_id"] = allRegEx;
|
|
105
|
+
else {
|
|
106
|
+
groupItem.customKeys.forEach((customKey) => {
|
|
107
|
+
customField[customKey] = allRegEx;
|
|
108
|
+
});
|
|
109
|
+
}
|
|
110
|
+
return {
|
|
111
|
+
groupId: GroupPermissionsDB.getPredefinedGroupId(project._id, groupItem._id),
|
|
112
|
+
customField
|
|
113
|
+
};
|
|
114
|
+
});
|
|
115
|
+
await UserPermissionsDB.upsert({ ...predefinedUser, groups: groupsUser });
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
export const PermissionsModule = new PermissionsModule_Class();
|
|
119
|
+
//# sourceMappingURL=PermissionsModule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PermissionsModule.js","sourceRoot":"","sources":["../../../src/main/app-backend/modules/PermissionsModule.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { BaseDB_ApiGenerator } from "@intuitionrobotics/db-api-generator/backend";
|
|
2
|
-
import { Clause_Where, FirestoreQuery } from "@intuitionrobotics/firebase";
|
|
3
|
-
import { ExpressRequest, ServerApi } from "@intuitionrobotics/thunderstorm/backend";
|
|
4
|
-
import { TypeValidator } from "@intuitionrobotics/ts-common";
|
|
5
|
-
import { DB_GroupTags } from "
|
|
2
|
+
import { type Clause_Where, type FirestoreQuery } from "@intuitionrobotics/firebase";
|
|
3
|
+
import { type ExpressRequest, ServerApi } from "@intuitionrobotics/thunderstorm/backend";
|
|
4
|
+
import { type TypeValidator } from "@intuitionrobotics/ts-common";
|
|
5
|
+
import { type DB_GroupTags } from "../../index.js";
|
|
6
6
|
export declare const CollectionNameTags = "permissions--tags";
|
|
7
7
|
export declare class TagsDB_Class extends BaseDB_ApiGenerator<DB_GroupTags> {
|
|
8
8
|
static _validator: TypeValidator<DB_GroupTags>;
|
|
@@ -12,3 +12,4 @@ export declare class TagsDB_Class extends BaseDB_ApiGenerator<DB_GroupTags> {
|
|
|
12
12
|
apis(pathPart?: string): ServerApi<any>[];
|
|
13
13
|
}
|
|
14
14
|
export declare const TagsDB: TagsDB_Class;
|
|
15
|
+
//# sourceMappingURL=TagsModule.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TagsModule.d.ts","sourceRoot":"","sources":["../../../src/main/app-backend/modules/TagsModule.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,mBAAmB,EAMnB,MAAM,6CAA6C,CAAC;AACrD,OAAO,EACN,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACN,KAAK,cAAc,EACnB,SAAS,EACT,MAAM,yCAAyC,CAAC;AACjD,OAAO,EACN,KAAK,aAAa,EAElB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAC,KAAK,YAAY,EAAC,MAAM,gBAAgB,CAAC;AAKjD,eAAO,MAAM,kBAAkB,sBAAsB,CAAC;AAGtD,qBAAa,YACZ,SAAQ,mBAAmB,CAAC,YAAY,CAAC;IAEzC,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,YAAY,CAAC,CAG5C;;IAOF,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,YAAY,GAAG,YAAY,CAAC,YAAY,CAAC,EAAE;IAKpE,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC,EAAE,cAAc;IAK1E,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,EAAE;CAQzC;AAED,eAAO,MAAM,MAAM,cAAqB,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { BaseDB_ApiGenerator, ServerApi_Create, ServerApi_Delete, ServerApi_Query, ServerApi_Unique, validateStringAndNumbersWithDashes } from "@intuitionrobotics/db-api-generator/backend";
|
|
2
|
+
import {} from "@intuitionrobotics/firebase";
|
|
3
|
+
import { ServerApi } from "@intuitionrobotics/thunderstorm/backend";
|
|
4
|
+
import { validateRegexp, } from "@intuitionrobotics/ts-common";
|
|
5
|
+
import {} from "../../index.js";
|
|
6
|
+
import { GroupPermissionsDB } from "./db-types/assign.js";
|
|
7
|
+
const validateGroupLabel = validateRegexp(/^[A-Za-z-\._ ]+$/);
|
|
8
|
+
export const CollectionNameTags = 'permissions--tags';
|
|
9
|
+
export class TagsDB_Class extends BaseDB_ApiGenerator {
|
|
10
|
+
static _validator = {
|
|
11
|
+
_id: validateStringAndNumbersWithDashes,
|
|
12
|
+
label: validateGroupLabel
|
|
13
|
+
};
|
|
14
|
+
constructor() {
|
|
15
|
+
super(CollectionNameTags, TagsDB_Class._validator, "permissionsTags", "TagsDB");
|
|
16
|
+
}
|
|
17
|
+
internalFilter(item) {
|
|
18
|
+
const { label } = item;
|
|
19
|
+
return [{ label }];
|
|
20
|
+
}
|
|
21
|
+
async delete(query, request) {
|
|
22
|
+
if (query.where?._id)
|
|
23
|
+
await GroupPermissionsDB.deleteTags(query.where?._id.toString());
|
|
24
|
+
return super.delete(query, request);
|
|
25
|
+
}
|
|
26
|
+
apis(pathPart) {
|
|
27
|
+
return [
|
|
28
|
+
new ServerApi_Delete(this, pathPart),
|
|
29
|
+
new ServerApi_Query(this, pathPart),
|
|
30
|
+
new ServerApi_Unique(this, pathPart),
|
|
31
|
+
new ServerApi_Create(this, pathPart)
|
|
32
|
+
];
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
export const TagsDB = new TagsDB_Class();
|
|
36
|
+
//# sourceMappingURL=TagsModule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TagsModule.js","sourceRoot":"","sources":["../../../src/main/app-backend/modules/TagsModule.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,kCAAkC,EAClC,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAGN,MAAM,6BAA6B,CAAC;AACrC,OAAO,EAEN,SAAS,EACT,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAEN,cAAc,GACd,MAAM,8BAA8B,CAAC;AACtC,OAAO,EAAmB,MAAM,gBAAgB,CAAC;AACjD,OAAO,EAAC,kBAAkB,EAAC,MAAM,sBAAsB,CAAC;AAExD,MAAM,kBAAkB,GAAG,cAAc,CAAC,kBAAkB,CAAC,CAAC;AAE9D,MAAM,CAAC,MAAM,kBAAkB,GAAG,mBAAmB,CAAC;AAGtD,MAAM,OAAO,YACZ,SAAQ,mBAAiC;IAEzC,MAAM,CAAC,UAAU,GAAgC;QAChD,GAAG,EAAE,kCAAkC;QACvC,KAAK,EAAE,kBAAkB;KACzB,CAAC;IAEF;QACC,KAAK,CAAC,kBAAkB,EAAE,YAAY,CAAC,UAAU,EAAE,iBAAiB,EAAE,QAAQ,CAAC,CAAC;IACjF,CAAC;IAGS,cAAc,CAAC,IAAkB;QAC1C,MAAM,EAAC,KAAK,EAAC,GAAG,IAAI,CAAC;QACrB,OAAO,CAAC,EAAC,KAAK,EAAC,CAAC,CAAC;IAClB,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAmC,EAAE,OAAwB;QACzE,IAAI,KAAK,CAAC,KAAK,EAAE,GAAG;YAAE,MAAM,kBAAkB,CAAC,UAAU,CAAC,KAAK,CAAC,KAAK,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC,CAAA;QACtF,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAA;IACpC,CAAC;IAED,IAAI,CAAC,QAAiB;QACrB,OAAO;YACN,IAAI,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC;YACpC,IAAI,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC;YACnC,IAAI,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC;YACpC,IAAI,gBAAgB,CAAC,IAAI,EAAE,QAAQ,CAAC;SACpC,CAAC;IACH,CAAC;;AAGF,MAAM,CAAC,MAAM,MAAM,GAAG,IAAI,YAAY,EAAE,CAAC"}
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
export * from "../../shared/apis";
|
|
2
|
-
export * from "../../shared/manager-types";
|
|
3
|
-
export * from "../../shared/assign-types";
|
|
1
|
+
export * from "../../shared/apis.js";
|
|
2
|
+
export * from "../../shared/manager-types.js";
|
|
3
|
+
export * from "../../shared/assign-types.js";
|
|
4
4
|
export declare const CollectionName_Users = "permissions--user";
|
|
5
5
|
export declare const CollectionName_Groups = "permissions--group";
|
|
6
6
|
export declare const CollectionName_Projects = "permissions--project";
|
|
7
7
|
export declare const CollectionName_Domain = "permissions--domain";
|
|
8
8
|
export declare const CollectionName_Level = "permissions--level";
|
|
9
9
|
export declare const CollectionName_Api = "permissions--api";
|
|
10
|
+
//# sourceMappingURL=_imports.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_imports.d.ts","sourceRoot":"","sources":["../../../src/main/app-backend/modules/_imports.ts"],"names":[],"mappings":"AAkBA,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAE7C,eAAO,MAAM,oBAAoB,sBAAsB,CAAC;AACxD,eAAO,MAAM,qBAAqB,uBAAuB,CAAC;AAE1D,eAAO,MAAM,uBAAuB,yBAAyB,CAAC;AAC9D,eAAO,MAAM,qBAAqB,wBAAwB,CAAC;AAC3D,eAAO,MAAM,oBAAoB,uBAAuB,CAAC;AACzD,eAAO,MAAM,kBAAkB,qBAAqB,CAAC"}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
"use strict";
|
|
2
1
|
/*
|
|
3
2
|
* ts-common is the basic building blocks of our typescript projects
|
|
4
3
|
*
|
|
@@ -16,8 +15,13 @@
|
|
|
16
15
|
* See the License for the specific language governing permissions and
|
|
17
16
|
* limitations under the License.
|
|
18
17
|
*/
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
18
|
+
export * from "../../shared/apis.js";
|
|
19
|
+
export * from "../../shared/manager-types.js";
|
|
20
|
+
export * from "../../shared/assign-types.js";
|
|
21
|
+
export const CollectionName_Users = "permissions--user";
|
|
22
|
+
export const CollectionName_Groups = "permissions--group";
|
|
23
|
+
export const CollectionName_Projects = "permissions--project";
|
|
24
|
+
export const CollectionName_Domain = "permissions--domain";
|
|
25
|
+
export const CollectionName_Level = "permissions--level";
|
|
26
|
+
export const CollectionName_Api = "permissions--api";
|
|
23
27
|
//# sourceMappingURL=_imports.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_imports.js","sourceRoot":"","sources":["../../../src/main/app-backend/modules/_imports.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,cAAc,sBAAsB,CAAC;AACrC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,8BAA8B,CAAC;AAE7C,MAAM,CAAC,MAAM,oBAAoB,GAAG,mBAAmB,CAAC;AACxD,MAAM,CAAC,MAAM,qBAAqB,GAAG,oBAAoB,CAAC;AAE1D,MAAM,CAAC,MAAM,uBAAuB,GAAG,sBAAsB,CAAC;AAC9D,MAAM,CAAC,MAAM,qBAAqB,GAAG,qBAAqB,CAAC;AAC3D,MAAM,CAAC,MAAM,oBAAoB,GAAG,oBAAoB,CAAC;AACzD,MAAM,CAAC,MAAM,kBAAkB,GAAG,kBAAkB,CAAC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { AssignAppPermissions, DB_PermissionsGroup, DB_PermissionsUser, PredefinedGroup } from "../_imports";
|
|
1
|
+
import { type AssignAppPermissions, type DB_PermissionsGroup, type DB_PermissionsUser, type PredefinedGroup } from "../_imports.js";
|
|
2
2
|
import { BaseDB_ApiGenerator } from "@intuitionrobotics/db-api-generator/backend";
|
|
3
|
-
import { OnNewUserRegistered, OnUserLogin } from "@intuitionrobotics/user-account/backend";
|
|
4
|
-
import { Clause_Where } from "@intuitionrobotics/firebase";
|
|
5
|
-
import { ExpressRequest } from "@intuitionrobotics/thunderstorm/backend";
|
|
6
|
-
import { TypeValidator } from "@intuitionrobotics/ts-common";
|
|
3
|
+
import { type OnNewUserRegistered, type OnUserLogin } from "@intuitionrobotics/user-account/backend";
|
|
4
|
+
import { type Clause_Where } from "@intuitionrobotics/firebase";
|
|
5
|
+
import { type ExpressRequest } from "@intuitionrobotics/thunderstorm/backend";
|
|
6
|
+
import { type TypeValidator } from "@intuitionrobotics/ts-common";
|
|
7
7
|
import { FirestoreTransaction } from "@intuitionrobotics/firebase/backend";
|
|
8
|
-
import { UI_Account } from "@intuitionrobotics/user-account";
|
|
8
|
+
import { type UI_Account } from "@intuitionrobotics/user-account";
|
|
9
9
|
export declare class GroupsDB_Class extends BaseDB_ApiGenerator<DB_PermissionsGroup> {
|
|
10
10
|
static _validator: TypeValidator<DB_PermissionsGroup>;
|
|
11
11
|
constructor();
|
|
@@ -34,3 +34,4 @@ export declare class UsersDB_Class extends BaseDB_ApiGenerator<DB_PermissionsUse
|
|
|
34
34
|
}
|
|
35
35
|
export declare const GroupPermissionsDB: GroupsDB_Class;
|
|
36
36
|
export declare const UserPermissionsDB: UsersDB_Class;
|
|
37
|
+
//# sourceMappingURL=assign.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"assign.d.ts","sourceRoot":"","sources":["../../../../src/main/app-backend/modules/db-types/assign.ts"],"names":[],"mappings":"AAkBA,OAAO,EACN,KAAK,oBAAoB,EAIzB,KAAK,mBAAmB,EACxB,KAAK,kBAAkB,EACvB,KAAK,eAAe,EACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACN,mBAAmB,EAGnB,MAAM,6CAA6C,CAAC;AACrD,OAAO,EAEN,KAAK,mBAAmB,EACxB,KAAK,WAAW,EAChB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAAC,KAAK,YAAY,EAAC,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAEN,KAAK,cAAc,EACnB,MAAM,yCAAyC,CAAC;AAEjD,OAAO,EASN,KAAK,aAAa,EAMlB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EAAC,oBAAoB,EAAC,MAAM,qCAAqC,CAAC;AAEzE,OAAO,EAAC,KAAK,UAAU,EAAC,MAAM,iCAAiC,CAAC;AAahE,qBAAa,cACZ,SAAQ,mBAAmB,CAAC,mBAAmB,CAAC;IAChD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAQnD;;IAOF,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,mBAAmB,GAAG,YAAY,CAAC,mBAAmB,CAAC;IAKtF,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,mBAAmB,GAAG,YAAY,CAAC,mBAAmB,CAAC,EAAE;cAKxE,cAAc,CAAC,WAAW,EAAE,oBAAoB,EAAE,UAAU,EAAE,mBAAmB,GAAG,OAAO,CAAC,IAAI,CAAC;YAQnG,eAAe;IAcvB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE;IAO9B,UAAU,CAAC,GAAG,EAAE,MAAM;cAYZ,mBAAmB,CAAC,WAAW,EAAE,oBAAoB,EAAE,UAAU,EAAE,mBAAmB,EAAE,OAAO,CAAC,EAAE,cAAc;IAehI,SAAS;IAIT,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM;IAIjE,sBAAsB,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,gBAAgB,EAAE,eAAe,EAAE;CAclG;AAED,qBAAa,aACZ,SAAQ,mBAAmB,CAAC,kBAAkB,CAC9C,YAAW,mBAAmB,EAAE,WAAW;IAC3C,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,kBAAkB,CAAC,CAMlD;;cAOc,mBAAmB,CAAC,WAAW,EAAE,oBAAoB,EAAE,UAAU,EAAE,kBAAkB,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAiC/I,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,kBAAkB,GAAG,YAAY,CAAC,kBAAkB,CAAC,EAAE;IAKtF,OAAO,CAAC,WAAW;IAQb,aAAa,CAAC,OAAO,EAAE,UAAU;IAIjC,qBAAqB,CAAC,OAAO,EAAE,UAAU;IAIzC,gBAAgB,CAAC,KAAK,EAAE,MAAM;IAe9B,oBAAoB,CAAC,uBAAuB,EAAE,oBAAoB,EAAE,OAAO,CAAC,EAAE,cAAc;IAgD5F,KAAK,CAAC,QAAQ,EAAE,kBAAkB,EAAE,YAAY,CAAC,EAAE,CAAC,MAAM,kBAAkB,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,kBAAkB,CAAC;CA6B7I;AAED,eAAO,MAAM,kBAAkB,gBAAuB,CAAC;AACvD,eAAO,MAAM,iBAAiB,eAAsB,CAAC"}
|