EsperoTech / yaade

Yaade is an open-source, self-hosted, collaborative API development environment.
MIT License
1.52k stars 65 forks source link

Error when importing Postman.json #171

Closed Drilio closed 3 weeks ago

Drilio commented 1 month ago

Hello,

I want to switch from postman to Yaade. I need to import my set-up into yaade

And I have this error : 'The collection could be not created'

I can give you the two json output from Postman if it help.

jonrosner commented 1 month ago

Hello, yes please provide the json output from postman.

Drilio commented 1 month ago

I have an error 500 with this message :

{
    "cause": null,
    "stackTrace": [
        {
            "classLoaderName": "app",
            "moduleName": null,
            "moduleVersion": null,
            "methodName": "handleFailure",
            "fileName": "ServerError.kt",
            "lineNumber": 37,
            "className": "com.espero.yaade.server.errors.ServerErrorKt",
            "nativeMethod": false
        },
        {
            "classLoaderName": "app",
            "moduleName": null,
            "moduleVersion": null,
            "methodName": "handleFailure",
            "fileName": "RouteState.java",
            "lineNumber": 1291,
            "className": "io.vertx.ext.web.impl.RouteState",
            "nativeMethod": false
        },
        {
            "classLoaderName": "app",
            "moduleName": null,
            "moduleVersion": null,
            "methodName": "iterateNext",
            "fileName": "RoutingContextImplBase.java",
            "lineNumber": 174,
            "className": "io.vertx.ext.web.impl.RoutingContextImplBase",
            "nativeMethod": false
        },
        {
            "classLoaderName": "app",
            "moduleName": null,
            "moduleVersion": null,
            "methodName": "next",
            "fileName": "RoutingContextWrapper.java",
            "lineNumber": 200,
            "className": "io.vertx.ext.web.impl.RoutingContextWrapper",
            "nativeMethod": false
        },
        {
            "classLoaderName": "app",
            "moduleName": null,
            "moduleVersion": null,
            "methodName": "handleFailure",
            "fileName": "RouterImpl.java",
            "lineNumber": 256,
            "className": "io.vertx.ext.web.impl.RouterImpl",
            "nativeMethod": false
        },
        {
            "classLoaderName": "app",
            "moduleName": null,
            "moduleVersion": null,
            "methodName": "handleFailure",
            "fileName": "RouteState.java",
            "lineNumber": 1291,
            "className": "io.vertx.ext.web.impl.RouteState",
            "nativeMethod": false
        },
        {
            "classLoaderName": "app",
            "moduleName": null,
            "moduleVersion": null,
            "methodName": "iterateNext",
            "fileName": "RoutingContextImplBase.java",
            "lineNumber": 174,
            "className": "io.vertx.ext.web.impl.RoutingContextImplBase",
            "nativeMethod": false
        },
        {
            "classLoaderName": "app",
            "moduleName": null,
            "moduleVersion": null,
            "methodName": "next",
            "fileName": "RoutingContextImpl.java",
            "lineNumber": 143,
            "className": "io.vertx.ext.web.impl.RoutingContextImpl",
            "nativeMethod": false
        },
        {
            "classLoaderName": "app",
            "moduleName": null,
            "moduleVersion": null,
            "methodName": "doFail",
            "fileName": "RoutingContextImpl.java",
            "lineNumber": 566,
            "className": "io.vertx.ext.web.impl.RoutingContextImpl",
            "nativeMethod": false
        },
        {
            "classLoaderName": "app",
            "moduleName": null,
            "moduleVersion": null,
            "methodName": "fail",
            "fileName": "RoutingContextImpl.java",
            "lineNumber": 199,
            "className": "io.vertx.ext.web.impl.RoutingContextImpl",
            "nativeMethod": false
        },
        {
            "classLoaderName": "app",
            "moduleName": null,
            "moduleVersion": null,
            "methodName": "fail",
            "fileName": "RoutingContextImpl.java",
            "lineNumber": 188,
            "className": "io.vertx.ext.web.impl.RoutingContextImpl",
            "nativeMethod": false
        },
        {
            "classLoaderName": "app",
            "moduleName": null,
            "moduleVersion": null,
            "methodName": "fail",
            "fileName": "RoutingContextWrapper.java",
            "lineNumber": 98,
            "className": "io.vertx.ext.web.impl.RoutingContextWrapper",
            "nativeMethod": false
        },
        {
            "classLoaderName": "app",
            "moduleName": null,
            "moduleVersion": null,
            "methodName": "invokeSuspend",
            "fileName": "VertxUtils.kt",
            "lineNumber": 58,
            "className": "com.espero.yaade.server.utils.VertxUtilsKt$authorizedCoroutineHandler$1$1",
            "nativeMethod": false
        },
        {
            "classLoaderName": "app",
            "moduleName": null,
            "moduleVersion": null,
            "methodName": "resumeWith",
            "fileName": "ContinuationImpl.kt",
            "lineNumber": 33,
            "className": "kotlin.coroutines.jvm.internal.BaseContinuationImpl",
            "nativeMethod": false
        },
        {
            "classLoaderName": "app",
            "moduleName": null,
            "moduleVersion": null,
            "methodName": "resume",
            "fileName": "DispatchedTask.kt",
            "lineNumber": 234,
            "className": "kotlinx.coroutines.DispatchedTaskKt",
            "nativeMethod": false
        },
        {
            "classLoaderName": "app",
            "moduleName": null,
            "moduleVersion": null,
            "methodName": "resumeUnconfined",
            "fileName": "DispatchedTask.kt",
            "lineNumber": 190,
            "className": "kotlinx.coroutines.DispatchedTaskKt",
            "nativeMethod": false
        },
        {
            "classLoaderName": "app",
            "moduleName": null,
            "moduleVersion": null,
            "methodName": "dispatch",
            "fileName": "DispatchedTask.kt",
            "lineNumber": 161,
            "className": "kotlinx.coroutines.DispatchedTaskKt",
            "nativeMethod": false
        },
        {
            "classLoaderName": "app",
            "moduleName": null,
            "moduleVersion": null,
            "methodName": "dispatchResume",
            "fileName": "CancellableContinuationImpl.kt",
            "lineNumber": 397,
            "className": "kotlinx.coroutines.CancellableContinuationImpl",
            "nativeMethod": false
        },
        {
            "classLoaderName": "app",
            "moduleName": null,
            "moduleVersion": null,
            "methodName": "resumeImpl",
            "fileName": "CancellableContinuationImpl.kt",
            "lineNumber": 431,
            "className": "kotlinx.coroutines.CancellableContinuationImpl",
            "nativeMethod": false
        },
        {
            "classLoaderName": "app",
            "moduleName": null,
            "moduleVersion": null,
            "methodName": "resumeImpl$default",
            "fileName": "CancellableContinuationImpl.kt",
            "lineNumber": 420,
            "className": "kotlinx.coroutines.CancellableContinuationImpl",
            "nativeMethod": false
        },
        {
            "classLoaderName": "app",
            "moduleName": null,
            "moduleVersion": null,
            "methodName": "resumeWith",
            "fileName": "CancellableContinuationImpl.kt",
            "lineNumber": 328,
            "className": "kotlinx.coroutines.CancellableContinuationImpl",
            "nativeMethod": false
        },
        {
            "classLoaderName": "app",
            "moduleName": null,
            "moduleVersion": null,
            "methodName": "handle",
            "fileName": "VertxCoroutine.kt",
            "lineNumber": 144,
            "className": "io.vertx.kotlin.coroutines.VertxCoroutineKt$coAwait$2$1",
            "nativeMethod": false
        },
        {
            "classLoaderName": "app",
            "moduleName": null,
            "moduleVersion": null,
            "methodName": "handle",
            "fileName": "VertxCoroutine.kt",
            "lineNumber": 143,
            "className": "io.vertx.kotlin.coroutines.VertxCoroutineKt$coAwait$2$1",
            "nativeMethod": false
        },
        {
            "classLoaderName": "app",
            "moduleName": null,
            "moduleVersion": null,
            "methodName": "onSuccess",
            "fileName": "FutureImpl.java",
            "lineNumber": 176,
            "className": "io.vertx.core.impl.future.FutureImpl$4",
            "nativeMethod": false
        },
        {
            "classLoaderName": "app",
            "moduleName": null,
            "moduleVersion": null,
            "methodName": "lambda$emitSuccess$0",
            "fileName": "FutureBase.java",
            "lineNumber": 60,
            "className": "io.vertx.core.impl.future.FutureBase",
            "nativeMethod": false
        },
        {
            "classLoaderName": "app",
            "moduleName": null,
            "moduleVersion": null,
            "methodName": "runTask",
            "fileName": "AbstractEventExecutor.java",
            "lineNumber": 173,
            "className": "io.netty.util.concurrent.AbstractEventExecutor",
            "nativeMethod": false
        },
        {
            "classLoaderName": "app",
            "moduleName": null,
            "moduleVersion": null,
            "methodName": "safeExecute",
            "fileName": "AbstractEventExecutor.java",
            "lineNumber": 166,
            "className": "io.netty.util.concurrent.AbstractEventExecutor",
            "nativeMethod": false
        },
        {
            "classLoaderName": "app",
            "moduleName": null,
            "moduleVersion": null,
            "methodName": "runAllTasks",
            "fileName": "SingleThreadEventExecutor.java",
            "lineNumber": 470,
            "className": "io.netty.util.concurrent.SingleThreadEventExecutor",
            "nativeMethod": false
        },
        {
            "classLoaderName": "app",
            "moduleName": null,
            "moduleVersion": null,
            "methodName": "run",
            "fileName": "NioEventLoop.java",
            "lineNumber": 569,
            "className": "io.netty.channel.nio.NioEventLoop",
            "nativeMethod": false
        },
        {
            "classLoaderName": "app",
            "moduleName": null,
            "moduleVersion": null,
            "methodName": "run",
            "fileName": "SingleThreadEventExecutor.java",
            "lineNumber": 997,
            "className": "io.netty.util.concurrent.SingleThreadEventExecutor$4",
            "nativeMethod": false
        },
        {
            "classLoaderName": "app",
            "moduleName": null,
            "moduleVersion": null,
            "methodName": "run",
            "fileName": "ThreadExecutorMap.java",
            "lineNumber": 74,
            "className": "io.netty.util.internal.ThreadExecutorMap$2",
            "nativeMethod": false
        },
        {
            "classLoaderName": "app",
            "moduleName": null,
            "moduleVersion": null,
            "methodName": "run",
            "fileName": "FastThreadLocalRunnable.java",
            "lineNumber": 30,
            "className": "io.netty.util.concurrent.FastThreadLocalRunnable",
            "nativeMethod": false
        },
        {
            "classLoaderName": null,
            "moduleName": "java.base",
            "moduleVersion": "11.0.23",
            "methodName": "run",
            "fileName": "Thread.java",
            "lineNumber": 829,
            "className": "java.lang.Thread",
            "nativeMethod": false
        }
    ],
    "code": 500,
    "message": "An unknown error occured",
    "suppressed": [],
    "localizedMessage": "An unknown error occured"
}

JSON version 2.0

{
    "info": {
        "_postman_id": "9240d070-f81c-4dba-ab55-7d71776e0279",
        "name": "Mirador-multi-user",
        "schema": "https://schema.getpostman.com/json/collection/v2.0.0/collection.json",
        "_exporter_id": "32876358",
        "_collection_link": "https://tetras-libres.postman.co/workspace/My-Workspace~3b2a9dc4-2308-4025-8f97-6eaf878e2ce4/collection/32876358-9240d070-f81c-4dba-ab55-7d71776e0279?action=share&source=collection_link&creator=32876358"
    },
    "item": [
        {
            "name": "User",
            "item": [
                {
                    "name": "CreateUser",
                    "request": {
                        "method": "POST",
                        "header": [],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n        \"name\":\"clouclou\",\n        \"mail\":\"clouclou@mail.com\",\n        \"password\": \"changeme\",\n        \"userGroupIds\":[]\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "url": "{{DOMAIN}}:{{PORT}}/users/"
                    },
                    "response": []
                },
                {
                    "name": "GetAllUsers",
                    "request": {
                        "method": "GET",
                        "header": [],
                        "url": "{{DOMAIN}}:3000/users"
                    },
                    "response": []
                },
                {
                    "name": "GetOneUser",
                    "protocolProfileBehavior": {
                        "disableBodyPruning": true
                    },
                    "request": {
                        "method": "GET",
                        "header": [],
                        "body": {
                            "mode": "raw",
                            "raw": "{ \n  \"data\": {\n    \"idScene\" : 1,\n    \"idEdition\" : 1,\n    \"title\": \"FRANCIS LALAN\",\n    \"description\": \"concert de Francis\",\n    \"start\": \"2024-02-09T00:00:00Z\",\n    \"end\": \"2024-02-10T00:00:00Z\"\n  }\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "url": "{{DOMAIN}}:{{PORT}}/users/28"
                    },
                    "response": []
                },
                {
                    "name": "VerifyUser",
                    "request": {
                        "auth": {
                            "type": "bearer",
                            "bearer": {
                                "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOjIsInVzZXIiOiJhbnRob2xla2luZyIsImlhdCI6MTcxNDk4MTAzMywiZXhwIjoxNzE1MDY3NDMzfQ.59T2fqF6xH9b1N77t0EWu19DefeS5jL0-m_uns3AJ70"
                            }
                        },
                        "method": "GET",
                        "header": [],
                        "url": "{{DOMAIN}}:{{PORT}}/auth/profile"
                    },
                    "response": []
                },
                {
                    "name": "Login",
                    "request": {
                        "method": "POST",
                        "header": [],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n        \"mail\":\"tatatata@mail.com\",\n        \"password\":\"changeme\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "url": "{{DOMAIN}}:{{PORT}}/auth/login"
                    },
                    "response": []
                },
                {
                    "name": "DeleteUser",
                    "request": {
                        "method": "DELETE",
                        "header": [],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n        \"name\":\"monFestivalier\",\n        \"mail\":\"monFestivalier@festival.com\",\n        \"password\":\"monmdp\",\n        \"status\":\"ETUDIANT\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "url": "{{DOMAIN}}:{{PORT}}/users/1"
                    },
                    "response": []
                },
                {
                    "name": "UpdateUser",
                    "request": {
                        "method": "PATCH",
                        "header": [],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"name\":\"toto\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "url": "{{DOMAIN}}:{{PORT}}/users/1"
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Projects",
            "item": [
                {
                    "name": "createProject",
                    "request": {
                        "method": "POST",
                        "header": [],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"name\":\"My HARVARD\",\n    \"owner\":1,\n    \"linkGroupProjectsIds\":1,\n    \"userWorkspace\":{\n  \"catalog\": [\n    {\n      \"manifestId\": \"https://iiif.lib.harvard.edu/manifests/drs:51287251\"\n    }\n  ],\n  \"companionWindows\": {\n    \"cw-b068533f-651b-439f-98c0-8e0fa59d44a4\": {\n      \"content\": \"info\",\n      \"default\": true,\n      \"id\": \"cw-b068533f-651b-439f-98c0-8e0fa59d44a4\",\n      \"position\": \"left\"\n    },\n    \"cw-f54fa58a-7de5-422b-ab7f-95955719dd28\": {\n      \"content\": \"thumbnailNavigation\",\n      \"default\": true,\n      \"id\": \"cw-f54fa58a-7de5-422b-ab7f-95955719dd28\",\n      \"position\": \"off\"\n    }\n  },\n  \"config\": {\n    \"state\": {},\n    \"canvasNavigation\": {\n      \"height\": 50,\n      \"width\": 50\n    },\n    \"selectedTheme\": \"light\",\n    \"themes\": {\n      \"dark\": {\n        \"palette\": {\n          \"mode\": \"dark\",\n          \"primary\": {\n            \"main\": \"#4db6ac\"\n          },\n          \"secondary\": {\n            \"main\": \"#4db6ac\"\n          },\n          \"shades\": {\n            \"dark\": \"#000000\",\n            \"main\": \"#424242\",\n            \"light\": \"#616161\"\n          }\n        }\n      },\n      \"light\": {\n        \"palette\": {\n          \"mode\": \"light\"\n        }\n      }\n    },\n    \"theme\": {\n      \"palette\": {\n        \"mode\": \"light\",\n        \"primary\": {\n          \"main\": \"#1967d2\"\n        },\n        \"secondary\": {\n          \"main\": \"#1967d2\"\n        },\n        \"shades\": {\n          \"dark\": \"#eeeeee\",\n          \"main\": \"#ffffff\",\n          \"light\": \"#f5f5f5\"\n        },\n        \"error\": {\n          \"main\": \"#b00020\"\n        },\n        \"notification\": {\n          \"main\": \"#ffa224\"\n        },\n        \"hitCounter\": {\n          \"default\": \"#bdbdbd\"\n        },\n        \"highlights\": {\n          \"primary\": \"#ffff00\",\n          \"secondary\": \"#00BFFF\"\n        },\n        \"section_divider\": \"rgba(0, 0, 0, 0.25)\",\n        \"annotations\": {\n          \"chipBackground\": \"#e0e0e0\",\n          \"hidden\": {\n            \"globalAlpha\": 0\n          },\n          \"default\": {\n            \"strokeStyle\": \"#00BFFF\",\n            \"globalAlpha\": 1\n          },\n          \"hovered\": {\n            \"strokeStyle\": \"#BF00FF\",\n            \"globalAlpha\": 1\n          },\n          \"selected\": {\n            \"strokeStyle\": \"#ffff00\",\n            \"globalAlpha\": 1\n          }\n        },\n        \"search\": {\n          \"default\": {\n            \"fillStyle\": \"#00BFFF\",\n            \"globalAlpha\": 0.3\n          },\n          \"hovered\": {\n            \"fillStyle\": \"#00FFFF\",\n            \"globalAlpha\": 0.3\n          },\n          \"selected\": {\n            \"fillStyle\": \"#ffff00\",\n            \"globalAlpha\": 0.3\n          }\n        }\n      },\n      \"typography\": {\n        \"body1\": {\n          \"fontSize\": \"1rem\",\n          \"letterSpacing\": \"0em\",\n          \"lineHeight\": \"1.6em\"\n        },\n        \"body2\": {\n          \"fontSize\": \"0.878rem\",\n          \"letterSpacing\": \"0.015em\",\n          \"lineHeight\": \"1.6em\"\n        },\n        \"button\": {\n          \"fontSize\": \"0.878rem\",\n          \"letterSpacing\": \"0.09em\",\n          \"lineHeight\": \"2.25rem\",\n          \"textTransform\": \"uppercase\"\n        },\n        \"caption\": {\n          \"fontSize\": \"0.772rem\",\n          \"letterSpacing\": \"0.033em\",\n          \"lineHeight\": \"1.6rem\"\n        },\n        \"body1Next\": {\n          \"fontSize\": \"1rem\",\n          \"letterSpacing\": \"0em\",\n          \"lineHeight\": \"1.6em\"\n        },\n        \"body2Next\": {\n          \"fontSize\": \"0.878rem\",\n          \"letterSpacing\": \"0.015em\",\n          \"lineHeight\": \"1.6em\"\n        },\n        \"buttonNext\": {\n          \"fontSize\": \"0.878rem\",\n          \"letterSpacing\": \"0.09em\",\n          \"lineHeight\": \"2.25rem\"\n        },\n        \"captionNext\": {\n          \"fontSize\": \"0.772rem\",\n          \"letterSpacing\": \"0.33em\",\n          \"lineHeight\": \"1.6rem\"\n        },\n        \"overline\": {\n          \"fontSize\": \"0.678rem\",\n          \"fontWeight\": 500,\n          \"letterSpacing\": \"0.166em\",\n          \"lineHeight\": \"2em\",\n          \"textTransform\": \"uppercase\"\n        },\n        \"h1\": {\n          \"fontSize\": \"2.822rem\",\n          \"letterSpacing\": \"-0.015em\",\n          \"lineHeight\": \"1.2em\"\n        },\n        \"h2\": {\n          \"fontSize\": \"1.575rem\",\n          \"letterSpacing\": \"0em\",\n          \"lineHeight\": \"1.33em\"\n        },\n        \"h3\": {\n          \"fontSize\": \"1.383rem\",\n          \"fontWeight\": 300,\n          \"letterSpacing\": \"0em\",\n          \"lineHeight\": \"1.33em\"\n        },\n        \"h4\": {\n          \"fontSize\": \"1.215rem\",\n          \"letterSpacing\": \"0.007em\",\n          \"lineHeight\": \"1.45em\"\n        },\n        \"h5\": {\n          \"fontSize\": \"1.138rem\",\n          \"letterSpacing\": \"0.005em\",\n          \"lineHeight\": \"1.55em\"\n        },\n        \"h6\": {\n          \"fontSize\": \"1.067rem\",\n          \"fontWeight\": 400,\n          \"letterSpacing\": \"0.01em\",\n          \"lineHeight\": \"1.6em\"\n        },\n        \"subtitle1\": {\n          \"fontSize\": \"0.937rem\",\n          \"letterSpacing\": \"0.015em\",\n          \"lineHeight\": \"1.6em\",\n          \"fontWeight\": 300\n        },\n        \"subtitle2\": {\n          \"fontSize\": \"0.878rem\",\n          \"fontWeight\": 500,\n          \"letterSpacing\": \"0.02em\",\n          \"lineHeight\": \"1.75em\"\n        },\n        \"useNextVariants\": true\n      },\n      \"components\": {\n        \"MuiMenuItem\": {\n          \"variants\": [\n            {\n              \"props\": {\n                \"variant\": \"multiline\"\n              },\n              \"style\": {\n                \"whiteSpace\": \"normal\"\n              }\n            }\n          ]\n        },\n        \"CompanionWindow\": {\n          \"styleOverrides\": {\n            \"closeButton\": {\n              \"order\": 4\n            },\n            \"contents\": {\n              \"overflowY\": \"auto\",\n              \"wordBreak\": \"break-word\"\n            },\n            \"positionButton\": {\n              \"marginLeft\": -16,\n              \"order\": -100,\n              \"width\": 24\n            }\n          }\n        },\n        \"CompanionWindowSection\": {\n          \"styleOverrides\": {\n            \"root\": {\n              \"borderBlockEnd\": \".5px solid rgba(0, 0, 0, 0.25)\"\n            }\n          }\n        },\n        \"IIIFHtmlContent\": {\n          \"styleOverrides\": {}\n        },\n        \"IIIFThumbnail\": {\n          \"styleOverrides\": {}\n        },\n        \"ThemeIcon\": {\n          \"styleOverrides\": {}\n        },\n        \"MuiAccordion\": {\n          \"variants\": [\n            {\n              \"props\": {\n                \"variant\": \"compact\"\n              },\n              \"style\": {\n                \"& .MuiAccordionSummary-root\": {\n                  \"minHeight\": \"unset\",\n                  \"padding\": 0\n                },\n                \"& .MuiAccordionSummary-content\": {\n                  \"margin\": 0\n                },\n                \"& .MuiAccordionDetails-root\": {\n                  \"padding\": 0\n                }\n              }\n            }\n          ]\n        },\n        \"MuiButton\": {\n          \"styleOverrides\": {\n            \"inlineText\": {\n              \"lineHeight\": \"1.5em\",\n              \"padding\": 0,\n              \"textAlign\": \"inherit\",\n              \"textTransform\": \"none\"\n            }\n          }\n        },\n        \"MuiButtonBase\": {\n          \"defaultProps\": {\n            \"disableTouchRipple\": true\n          }\n        },\n        \"MuiDialog\": {\n          \"variants\": [\n            {\n              \"props\": {\n                \"variant\": \"contained\"\n              },\n              \"style\": {\n                \"position\": \"absolute\",\n                \"& .MuiBackdrop-root\": {\n                  \"position\": \"absolute\"\n                }\n              }\n            }\n          ]\n        },\n        \"MuiFab\": {\n          \"styleOverrides\": {\n            \"root\": {\n              \"transition\": \"none\"\n            }\n          }\n        },\n        \"MuiLink\": {\n          \"defaultProps\": {\n            \"underline\": \"always\"\n          }\n        },\n        \"MuiListSubheader\": {\n          \"styleOverrides\": {\n            \"root\": {\n              \"&[role=\\\"presentation\\\"]:focus\": {\n                \"outline\": 0\n              }\n            }\n          }\n        },\n        \"MuiTooltip\": {\n          \"styleOverrides\": {\n            \"tooltipPlacementLeft\": {\n              \"@media (min-width:600px)\": {\n                \"margin\": \"0 !important\"\n              }\n            },\n            \"tooltipPlacementRight\": {\n              \"@media (min-width:600px)\": {\n                \"margin\": \"0 !important\"\n              }\n            },\n            \"tooltipPlacementTop\": {\n              \"@media (min-width:600px)\": {\n                \"margin\": \"0 !important\"\n              }\n            },\n            \"tooltipPlacementBottom\": {\n              \"@media (min-width:600px)\": {\n                \"margin\": \"0 !important\"\n              }\n            }\n          }\n        },\n        \"MuiTouchRipple\": {\n          \"styleOverrides\": {\n            \"childPulsate\": {\n              \"animation\": \"none\"\n            },\n            \"rippleVisible\": {\n              \"animation\": \"none\"\n            }\n          }\n        }\n      }\n    },\n    \"language\": \"en\",\n    \"availableLanguages\": {\n      \"ar\": \"العربية\",\n      \"de\": \"Deutsch\",\n      \"en\": \"English\",\n      \"et\": \"Eesti\",\n      \"fa\": \"فارسی\",\n      \"fr\": \"Français\",\n      \"ja\": \"日本語\",\n      \"kr\": \"한국어\",\n      \"lt\": \"Lietuvių\",\n      \"nl\": \"Nederlands\",\n      \"nb-NO\": \"Norwegian Bokmål\",\n      \"pl\": \"Polski\",\n      \"pt-BR\": \"Português do Brasil\",\n      \"vi\": \"Tiếng Việt\",\n      \"zh-CN\": \"中文(简体)\",\n      \"zh-TW\": \"中文(繁體)\",\n      \"it\": \"Italiano\",\n      \"sr\": \"Српски\",\n      \"sv\": \"Svenska\",\n      \"bg\": \"Български\"\n    },\n    \"annotations\": {\n      \"htmlSanitizationRuleSet\": \"iiif\",\n      \"filteredMotivations\": [\n        \"oa:commenting\",\n        \"oa:tagging\",\n        \"sc:painting\",\n        \"commenting\",\n        \"tagging\"\n      ]\n    },\n    \"createGenerateClassNameOptions\": {\n      \"productionPrefix\": \"mirador\"\n    },\n    \"requests\": {\n      \"preprocessors\": [],\n      \"postprocessors\": []\n    },\n    \"translations\": {},\n    \"window\": {\n      \"allowClose\": true,\n      \"allowFullscreen\": false,\n      \"allowMaximize\": true,\n      \"allowTopMenuButton\": true,\n      \"allowWindowSideBar\": true,\n      \"authNewWindowCenter\": \"parent\",\n      \"sideBarPanel\": \"info\",\n      \"defaultSidebarPanelHeight\": 201,\n      \"defaultSidebarPanelWidth\": 235,\n      \"defaultView\": \"single\",\n      \"forceDrawAnnotations\": false,\n      \"hideWindowTitle\": false,\n      \"highlightAllAnnotations\": false,\n      \"showLocalePicker\": false,\n      \"sideBarOpen\": false,\n      \"switchCanvasOnSearch\": true,\n      \"panels\": {\n        \"info\": true,\n        \"attribution\": true,\n        \"canvas\": true,\n        \"annotations\": true,\n        \"search\": true,\n        \"layers\": true\n      },\n      \"views\": [\n        {\n          \"key\": \"single\",\n          \"behaviors\": [\n            \"individuals\"\n          ]\n        },\n        {\n          \"key\": \"book\",\n          \"behaviors\": [\n            \"paged\"\n          ]\n        },\n        {\n          \"key\": \"scroll\",\n          \"behaviors\": [\n            \"continuous\"\n          ]\n        },\n        {\n          \"key\": \"gallery\"\n        }\n      ],\n      \"elastic\": {\n        \"height\": 400,\n        \"width\": 480\n      }\n    },\n    \"windows\": [\n      {\n        \"id\": \"primaryWindow\",\n        \"loadedManifest\": \"https://iiif.lib.harvard.edu/manifests/drs:51287251\"\n      }\n    ],\n    \"thumbnails\": {\n      \"preferredFormats\": [\n        \"jpg\",\n        \"png\",\n        \"webp\",\n        \"tif\"\n      ]\n    },\n    \"thumbnailNavigation\": {\n      \"defaultPosition\": \"off\",\n      \"displaySettings\": true,\n      \"height\": 130,\n      \"width\": 100\n    },\n    \"workspace\": {\n      \"draggingEnabled\": true,\n      \"allowNewWindows\": true,\n      \"id\": \"de108137-a038-47ae-8b12-14ee0485814d\",\n      \"isWorkspaceAddVisible\": false,\n      \"exposeModeOn\": false,\n      \"height\": 5000,\n      \"showZoomControls\": false,\n      \"type\": \"mosaic\",\n      \"viewportPosition\": {\n        \"x\": 0,\n        \"y\": 0\n      },\n      \"width\": 5000\n    },\n    \"workspaceControlPanel\": {\n      \"enabled\": true\n    },\n    \"galleryView\": {\n      \"height\": 120,\n      \"width\": null\n    },\n    \"osdConfig\": {\n      \"alwaysBlend\": false,\n      \"blendTime\": 0.1,\n      \"preserveImageSizeOnResize\": true,\n      \"preserveViewport\": true,\n      \"showNavigationControl\": false\n    },\n    \"export\": {\n      \"catalog\": true,\n      \"companionWindows\": true,\n      \"config\": true,\n      \"elasticLayout\": true,\n      \"layers\": true,\n      \"manifests\": {},\n      \"viewers\": true,\n      \"windows\": true,\n      \"workspace\": true\n    },\n    \"audioOptions\": {\n      \"controls\": true,\n      \"crossOrigin\": \"anonymous\"\n    },\n    \"videoOptions\": {\n      \"controls\": true,\n      \"crossOrigin\": \"anonymous\"\n    },\n    \"auth\": {\n      \"serviceProfiles\": [\n        {\n          \"profile\": \"http://iiif.io/api/auth/1/external\",\n          \"external\": true\n        },\n        {\n          \"profile\": \"http://iiif.io/api/auth/1/kiosk\",\n          \"kiosk\": true\n        },\n        {\n          \"profile\": \"http://iiif.io/api/auth/1/clickthrough\"\n        },\n        {\n          \"profile\": \"http://iiif.io/api/auth/1/login\"\n        },\n        {\n          \"profile\": \"http://iiif.io/api/auth/0/external\",\n          \"external\": true\n        },\n        {\n          \"profile\": \"http://iiif.io/api/auth/0/kiosk\",\n          \"kiosk\": true\n        },\n        {\n          \"profile\": \"http://iiif.io/api/auth/0/clickthrough\"\n        },\n        {\n          \"profile\": \"http://iiif.io/api/auth/0/login\"\n        }\n      ]\n    },\n    \"id\": \"viewer\",\n    \"manifests\": {\n      \"https://iiif.lib.harvard.edu/manifests/drs:51287251\": {\n        \"provider\": \"Amy Phillips & Christopher Morse\"\n      }\n    }\n  },\n  \"elasticLayout\": {\n    \"primaryWindow\": {\n      \"windowId\": \"primaryWindow\",\n      \"height\": 400,\n      \"width\": 480,\n      \"x\": 200,\n      \"y\": 200\n    }\n  },\n  \"layers\": {},\n  \"manifests\": {},\n  \"viewers\": {\n    \"primaryWindow\": {\n      \"flip\": false,\n      \"rotation\": 0,\n      \"x\": 3000,\n      \"y\": 4000,\n      \"zoom\": 0.00008900822669104205\n    }\n  },\n  \"windows\": {\n    \"primaryWindow\": {\n      \"canvasId\": \"https://iiif.lib.harvard.edu/manifests/drs:51287251/canvas/canvas-51287264.json\",\n      \"collectionIndex\": 0,\n      \"companionAreaOpen\": true,\n      \"companionWindowIds\": [\n        \"cw-b068533f-651b-439f-98c0-8e0fa59d44a4\",\n        \"cw-f54fa58a-7de5-422b-ab7f-95955719dd28\"\n      ],\n      \"draggingEnabled\": true,\n      \"highlightAllAnnotations\": false,\n      \"id\": \"primaryWindow\",\n      \"manifestId\": \"https://iiif.lib.harvard.edu/manifests/drs:51287251\",\n      \"maximized\": false,\n      \"rangeId\": null,\n      \"rotation\": null,\n      \"selectedAnnotations\": {},\n      \"sideBarOpen\": false,\n      \"sideBarPanel\": \"info\",\n      \"thumbnailNavigationId\": \"cw-f54fa58a-7de5-422b-ab7f-95955719dd28\",\n      \"loadedManifest\": \"https://iiif.lib.harvard.edu/manifests/drs:51287251\",\n      \"visibleCanvases\": [\n        \"https://iiif.lib.harvard.edu/manifests/drs:51287251/canvas/canvas-51287264.json\"\n      ]\n    }\n  },\n  \"workspace\": {\n    \"draggingEnabled\": true,\n    \"allowNewWindows\": true,\n    \"id\": \"de108137-a038-47ae-8b12-14ee0485814d\",\n    \"isWorkspaceAddVisible\": false,\n    \"exposeModeOn\": false,\n    \"height\": 5000,\n    \"showZoomControls\": false,\n    \"type\": \"mosaic\",\n    \"viewportPosition\": {\n      \"x\": 0,\n      \"y\": 0\n    },\n    \"width\": 5000,\n    \"windowIds\": [\n      \"primaryWindow\"\n    ],\n    \"focusedWindowId\": \"primaryWindow\",\n    \"layout\": \"primaryWindow\"\n  }\n}\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "url": "{{DOMAIN}}:3000/project/"
                    },
                    "response": []
                },
                {
                    "name": "getAllProjects",
                    "request": {
                        "auth": {
                            "type": "bearer",
                            "bearer": {
                                "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOjMsInVzZXIiOiJ0YXRhIiwiaWF0IjoxNzE5OTMxODU3LCJleHAiOjE3MjAwMTgyNTd9.0maXjr8VFMhWaIoNEZp70djxsNbTg4yEoJ6kwj0BlGk"
                            }
                        },
                        "method": "GET",
                        "header": [],
                        "url": "{{DOMAIN}}:3000/project/1"
                    },
                    "response": []
                },
                {
                    "name": "getOneProject",
                    "request": {
                        "auth": {
                            "type": "bearer",
                            "bearer": {
                                "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOjMsInVzZXIiOiJUQVRBIiwiaWF0IjoxNzE1MDg0NTg0LCJleHAiOjE3MTUxNzA5ODR9.Ix7eoIKg5cj2Qy-N4K30ybfuCDGzQD0FAcLHtAOtxjg"
                            }
                        },
                        "method": "GET",
                        "header": [],
                        "url": "localhost:3000/project/10"
                    },
                    "response": []
                },
                {
                    "name": "deleteProject",
                    "request": {
                        "auth": {
                            "type": "bearer",
                            "bearer": {
                                "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOjMsInVzZXIiOiJUQVRBIiwiaWF0IjoxNzE1MDc0NDA2LCJleHAiOjE3MTUxNjA4MDZ9.V7GPtXXhiRUjtYlJX8hFrGrGuDJ9LSksMceGRe-3Maw"
                            }
                        },
                        "method": "DELETE",
                        "header": [],
                        "url": "{{DOMAIN}}:{{PORT}}/project/14"
                    },
                    "response": []
                },
                {
                    "name": "updateProject",
                    "request": {
                        "auth": {
                            "type": "bearer",
                            "bearer": {
                                "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOjEsInVzZXIiOiJ0YXRhdGF0YSIsImlhdCI6MTcxNjQ1MDk0NSwiZXhwIjoxNzE2NTM3MzQ1fQ.1H52pE3f7UapvLMV-4J3EgdRiecPNv5j2lLuaZqrfFw"
                            }
                        },
                        "method": "PATCH",
                        "header": [],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"id\" : 40,\n    \"name\":\"My Great Project\",\n    \"owner\":1\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "url": "{{DOMAIN}}:3000/project/40"
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "User-Group",
            "item": [
                {
                    "name": "CreateUserGroup",
                    "request": {
                        "method": "POST",
                        "header": [],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n        \"name\":\"titi\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "url": "{{DOMAIN}}:{{PORT}}/user-group/"
                    },
                    "response": []
                },
                {
                    "name": "GetAllUserGroup",
                    "request": {
                        "method": "GET",
                        "header": [],
                        "url": "{{DOMAIN}}:3000/user-group"
                    },
                    "response": []
                },
                {
                    "name": "GetOneUserGroup",
                    "protocolProfileBehavior": {
                        "disableBodyPruning": true
                    },
                    "request": {
                        "method": "GET",
                        "header": [],
                        "body": {
                            "mode": "raw",
                            "raw": "{ \n  \"data\": {\n    \"idScene\" : 1,\n    \"idEdition\" : 1,\n    \"title\": \"FRANCIS LALAN\",\n    \"description\": \"concert de Francis\",\n    \"start\": \"2024-02-09T00:00:00Z\",\n    \"end\": \"2024-02-10T00:00:00Z\"\n  }\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "url": "{{DOMAIN}}:{{PORT}}/user-group/8"
                    },
                    "response": []
                },
                {
                    "name": "DeleteUserGroup",
                    "request": {
                        "method": "DELETE",
                        "header": [],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n        \"name\":\"monFestivalier\",\n        \"mail\":\"monFestivalier@festival.com\",\n        \"password\":\"monmdp\",\n        \"status\":\"ETUDIANT\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "url": "{{DOMAIN}}:{{PORT}}/user-group/3"
                    },
                    "response": []
                },
                {
                    "name": "UpdateUserGroup",
                    "request": {
                        "method": "PATCH",
                        "header": [],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"name\":\"ahbahoui\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "url": "{{DOMAIN}}:{{PORT}}/user-group/1"
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Link-Group-Projects",
            "item": [
                {
                    "name": "createLinkGroupProject",
                    "request": {
                        "method": "POST",
                        "header": [],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"rights\":0,\n    \"project\":1,\n    \"user_group\":8\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "url": "{{DOMAIN}}:3000/link-group-project/"
                    },
                    "response": []
                },
                {
                    "name": "getAllLink-group-project",
                    "request": {
                        "auth": {
                            "type": "bearer",
                            "bearer": {
                                "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOjMsInVzZXIiOiJ0YXRhIiwiaWF0IjoxNzE5OTMxODU3LCJleHAiOjE3MjAwMTgyNTd9.0maXjr8VFMhWaIoNEZp70djxsNbTg4yEoJ6kwj0BlGk"
                            }
                        },
                        "method": "GET",
                        "header": [],
                        "url": "{{DOMAIN}}:3000/link-group-project/1"
                    },
                    "response": []
                },
                {
                    "name": "getOneLink-group-project",
                    "request": {
                        "auth": {
                            "type": "bearer",
                            "bearer": {
                                "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOjMsInVzZXIiOiJUQVRBIiwiaWF0IjoxNzE1MDg0NTg0LCJleHAiOjE3MTUxNzA5ODR9.Ix7eoIKg5cj2Qy-N4K30ybfuCDGzQD0FAcLHtAOtxjg"
                            }
                        },
                        "method": "GET",
                        "header": [],
                        "url": "localhost:3000/link-group-project/10"
                    },
                    "response": []
                },
                {
                    "name": "deleteLink-group-project",
                    "request": {
                        "auth": {
                            "type": "bearer",
                            "bearer": {
                                "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOjMsInVzZXIiOiJUQVRBIiwiaWF0IjoxNzE1MDc0NDA2LCJleHAiOjE3MTUxNjA4MDZ9.V7GPtXXhiRUjtYlJX8hFrGrGuDJ9LSksMceGRe-3Maw"
                            }
                        },
                        "method": "DELETE",
                        "header": [],
                        "url": "{{DOMAIN}}:{{PORT}}/link-group-project/1"
                    },
                    "response": []
                },
                {
                    "name": "updateLink-group-project",
                    "request": {
                        "auth": {
                            "type": "bearer",
                            "bearer": {
                                "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOjEsInVzZXIiOiJ0YXRhdGF0YSIsImlhdCI6MTcxNjQ1MDk0NSwiZXhwIjoxNzE2NTM3MzQ1fQ.1H52pE3f7UapvLMV-4J3EgdRiecPNv5j2lLuaZqrfFw"
                            }
                        },
                        "method": "PATCH",
                        "header": [],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"id\" : 40,\n    \"name\":\"My Great Project\",\n    \"owner\":1\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "url": "{{DOMAIN}}:3000/link-group-project/40"
                    },
                    "response": []
                },
                {
                    "name": "FindAllGroupProjects",
                    "request": {
                        "method": "GET",
                        "header": []
                    },
                    "response": []
                },
                {
                    "name": "findAllProjectsGroup",
                    "request": {
                        "method": "GET",
                        "header": []
                    },
                    "response": []
                }
            ]
        }
    ]
}

JSON version 2.1

{
    "info": {
        "_postman_id": "9240d070-f81c-4dba-ab55-7d71776e0279",
        "name": "Mirador-multi-user",
        "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
        "_exporter_id": "32876358",
        "_collection_link": "https://tetras-libres.postman.co/workspace/My-Workspace~3b2a9dc4-2308-4025-8f97-6eaf878e2ce4/collection/32876358-9240d070-f81c-4dba-ab55-7d71776e0279?action=share&source=collection_link&creator=32876358"
    },
    "item": [
        {
            "name": "User",
            "item": [
                {
                    "name": "CreateUser",
                    "request": {
                        "method": "POST",
                        "header": [],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n        \"name\":\"clouclou\",\n        \"mail\":\"clouclou@mail.com\",\n        \"password\": \"changeme\",\n        \"userGroupIds\":[]\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "url": {
                            "raw": "{{DOMAIN}}:{{PORT}}/users/",
                            "host": [
                                "{{DOMAIN}}"
                            ],
                            "port": "{{PORT}}",
                            "path": [
                                "users",
                                ""
                            ]
                        }
                    },
                    "response": []
                },
                {
                    "name": "GetAllUsers",
                    "request": {
                        "method": "GET",
                        "header": [],
                        "url": {
                            "raw": "{{DOMAIN}}:3000/users",
                            "host": [
                                "{{DOMAIN}}"
                            ],
                            "port": "3000",
                            "path": [
                                "users"
                            ]
                        }
                    },
                    "response": []
                },
                {
                    "name": "GetOneUser",
                    "protocolProfileBehavior": {
                        "disableBodyPruning": true
                    },
                    "request": {
                        "method": "GET",
                        "header": [],
                        "body": {
                            "mode": "raw",
                            "raw": "{ \n  \"data\": {\n    \"idScene\" : 1,\n    \"idEdition\" : 1,\n    \"title\": \"FRANCIS LALAN\",\n    \"description\": \"concert de Francis\",\n    \"start\": \"2024-02-09T00:00:00Z\",\n    \"end\": \"2024-02-10T00:00:00Z\"\n  }\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "url": {
                            "raw": "{{DOMAIN}}:{{PORT}}/users/28",
                            "host": [
                                "{{DOMAIN}}"
                            ],
                            "port": "{{PORT}}",
                            "path": [
                                "users",
                                "28"
                            ]
                        }
                    },
                    "response": []
                },
                {
                    "name": "VerifyUser",
                    "request": {
                        "auth": {
                            "type": "bearer",
                            "bearer": [
                                {
                                    "key": "token",
                                    "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOjIsInVzZXIiOiJhbnRob2xla2luZyIsImlhdCI6MTcxNDk4MTAzMywiZXhwIjoxNzE1MDY3NDMzfQ.59T2fqF6xH9b1N77t0EWu19DefeS5jL0-m_uns3AJ70",
                                    "type": "string"
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [],
                        "url": {
                            "raw": "{{DOMAIN}}:{{PORT}}/auth/profile",
                            "host": [
                                "{{DOMAIN}}"
                            ],
                            "port": "{{PORT}}",
                            "path": [
                                "auth",
                                "profile"
                            ]
                        }
                    },
                    "response": []
                },
                {
                    "name": "Login",
                    "request": {
                        "method": "POST",
                        "header": [],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n        \"mail\":\"tatatata@mail.com\",\n        \"password\":\"changeme\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "url": {
                            "raw": "{{DOMAIN}}:{{PORT}}/auth/login",
                            "host": [
                                "{{DOMAIN}}"
                            ],
                            "port": "{{PORT}}",
                            "path": [
                                "auth",
                                "login"
                            ]
                        }
                    },
                    "response": []
                },
                {
                    "name": "DeleteUser",
                    "request": {
                        "method": "DELETE",
                        "header": [],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n        \"name\":\"monFestivalier\",\n        \"mail\":\"monFestivalier@festival.com\",\n        \"password\":\"monmdp\",\n        \"status\":\"ETUDIANT\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "url": {
                            "raw": "{{DOMAIN}}:{{PORT}}/users/1",
                            "host": [
                                "{{DOMAIN}}"
                            ],
                            "port": "{{PORT}}",
                            "path": [
                                "users",
                                "1"
                            ]
                        }
                    },
                    "response": []
                },
                {
                    "name": "UpdateUser",
                    "request": {
                        "method": "PATCH",
                        "header": [],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"name\":\"toto\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "url": {
                            "raw": "{{DOMAIN}}:{{PORT}}/users/1",
                            "host": [
                                "{{DOMAIN}}"
                            ],
                            "port": "{{PORT}}",
                            "path": [
                                "users",
                                "1"
                            ]
                        }
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Projects",
            "item": [
                {
                    "name": "createProject",
                    "request": {
                        "method": "POST",
                        "header": [],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"name\":\"My HARVARD\",\n    \"owner\":1,\n    \"linkGroupProjectsIds\":1,\n    \"userWorkspace\":{\n  \"catalog\": [\n    {\n      \"manifestId\": \"https://iiif.lib.harvard.edu/manifests/drs:51287251\"\n    }\n  ],\n  \"companionWindows\": {\n    \"cw-b068533f-651b-439f-98c0-8e0fa59d44a4\": {\n      \"content\": \"info\",\n      \"default\": true,\n      \"id\": \"cw-b068533f-651b-439f-98c0-8e0fa59d44a4\",\n      \"position\": \"left\"\n    },\n    \"cw-f54fa58a-7de5-422b-ab7f-95955719dd28\": {\n      \"content\": \"thumbnailNavigation\",\n      \"default\": true,\n      \"id\": \"cw-f54fa58a-7de5-422b-ab7f-95955719dd28\",\n      \"position\": \"off\"\n    }\n  },\n  \"config\": {\n    \"state\": {},\n    \"canvasNavigation\": {\n      \"height\": 50,\n      \"width\": 50\n    },\n    \"selectedTheme\": \"light\",\n    \"themes\": {\n      \"dark\": {\n        \"palette\": {\n          \"mode\": \"dark\",\n          \"primary\": {\n            \"main\": \"#4db6ac\"\n          },\n          \"secondary\": {\n            \"main\": \"#4db6ac\"\n          },\n          \"shades\": {\n            \"dark\": \"#000000\",\n            \"main\": \"#424242\",\n            \"light\": \"#616161\"\n          }\n        }\n      },\n      \"light\": {\n        \"palette\": {\n          \"mode\": \"light\"\n        }\n      }\n    },\n    \"theme\": {\n      \"palette\": {\n        \"mode\": \"light\",\n        \"primary\": {\n          \"main\": \"#1967d2\"\n        },\n        \"secondary\": {\n          \"main\": \"#1967d2\"\n        },\n        \"shades\": {\n          \"dark\": \"#eeeeee\",\n          \"main\": \"#ffffff\",\n          \"light\": \"#f5f5f5\"\n        },\n        \"error\": {\n          \"main\": \"#b00020\"\n        },\n        \"notification\": {\n          \"main\": \"#ffa224\"\n        },\n        \"hitCounter\": {\n          \"default\": \"#bdbdbd\"\n        },\n        \"highlights\": {\n          \"primary\": \"#ffff00\",\n          \"secondary\": \"#00BFFF\"\n        },\n        \"section_divider\": \"rgba(0, 0, 0, 0.25)\",\n        \"annotations\": {\n          \"chipBackground\": \"#e0e0e0\",\n          \"hidden\": {\n            \"globalAlpha\": 0\n          },\n          \"default\": {\n            \"strokeStyle\": \"#00BFFF\",\n            \"globalAlpha\": 1\n          },\n          \"hovered\": {\n            \"strokeStyle\": \"#BF00FF\",\n            \"globalAlpha\": 1\n          },\n          \"selected\": {\n            \"strokeStyle\": \"#ffff00\",\n            \"globalAlpha\": 1\n          }\n        },\n        \"search\": {\n          \"default\": {\n            \"fillStyle\": \"#00BFFF\",\n            \"globalAlpha\": 0.3\n          },\n          \"hovered\": {\n            \"fillStyle\": \"#00FFFF\",\n            \"globalAlpha\": 0.3\n          },\n          \"selected\": {\n            \"fillStyle\": \"#ffff00\",\n            \"globalAlpha\": 0.3\n          }\n        }\n      },\n      \"typography\": {\n        \"body1\": {\n          \"fontSize\": \"1rem\",\n          \"letterSpacing\": \"0em\",\n          \"lineHeight\": \"1.6em\"\n        },\n        \"body2\": {\n          \"fontSize\": \"0.878rem\",\n          \"letterSpacing\": \"0.015em\",\n          \"lineHeight\": \"1.6em\"\n        },\n        \"button\": {\n          \"fontSize\": \"0.878rem\",\n          \"letterSpacing\": \"0.09em\",\n          \"lineHeight\": \"2.25rem\",\n          \"textTransform\": \"uppercase\"\n        },\n        \"caption\": {\n          \"fontSize\": \"0.772rem\",\n          \"letterSpacing\": \"0.033em\",\n          \"lineHeight\": \"1.6rem\"\n        },\n        \"body1Next\": {\n          \"fontSize\": \"1rem\",\n          \"letterSpacing\": \"0em\",\n          \"lineHeight\": \"1.6em\"\n        },\n        \"body2Next\": {\n          \"fontSize\": \"0.878rem\",\n          \"letterSpacing\": \"0.015em\",\n          \"lineHeight\": \"1.6em\"\n        },\n        \"buttonNext\": {\n          \"fontSize\": \"0.878rem\",\n          \"letterSpacing\": \"0.09em\",\n          \"lineHeight\": \"2.25rem\"\n        },\n        \"captionNext\": {\n          \"fontSize\": \"0.772rem\",\n          \"letterSpacing\": \"0.33em\",\n          \"lineHeight\": \"1.6rem\"\n        },\n        \"overline\": {\n          \"fontSize\": \"0.678rem\",\n          \"fontWeight\": 500,\n          \"letterSpacing\": \"0.166em\",\n          \"lineHeight\": \"2em\",\n          \"textTransform\": \"uppercase\"\n        },\n        \"h1\": {\n          \"fontSize\": \"2.822rem\",\n          \"letterSpacing\": \"-0.015em\",\n          \"lineHeight\": \"1.2em\"\n        },\n        \"h2\": {\n          \"fontSize\": \"1.575rem\",\n          \"letterSpacing\": \"0em\",\n          \"lineHeight\": \"1.33em\"\n        },\n        \"h3\": {\n          \"fontSize\": \"1.383rem\",\n          \"fontWeight\": 300,\n          \"letterSpacing\": \"0em\",\n          \"lineHeight\": \"1.33em\"\n        },\n        \"h4\": {\n          \"fontSize\": \"1.215rem\",\n          \"letterSpacing\": \"0.007em\",\n          \"lineHeight\": \"1.45em\"\n        },\n        \"h5\": {\n          \"fontSize\": \"1.138rem\",\n          \"letterSpacing\": \"0.005em\",\n          \"lineHeight\": \"1.55em\"\n        },\n        \"h6\": {\n          \"fontSize\": \"1.067rem\",\n          \"fontWeight\": 400,\n          \"letterSpacing\": \"0.01em\",\n          \"lineHeight\": \"1.6em\"\n        },\n        \"subtitle1\": {\n          \"fontSize\": \"0.937rem\",\n          \"letterSpacing\": \"0.015em\",\n          \"lineHeight\": \"1.6em\",\n          \"fontWeight\": 300\n        },\n        \"subtitle2\": {\n          \"fontSize\": \"0.878rem\",\n          \"fontWeight\": 500,\n          \"letterSpacing\": \"0.02em\",\n          \"lineHeight\": \"1.75em\"\n        },\n        \"useNextVariants\": true\n      },\n      \"components\": {\n        \"MuiMenuItem\": {\n          \"variants\": [\n            {\n              \"props\": {\n                \"variant\": \"multiline\"\n              },\n              \"style\": {\n                \"whiteSpace\": \"normal\"\n              }\n            }\n          ]\n        },\n        \"CompanionWindow\": {\n          \"styleOverrides\": {\n            \"closeButton\": {\n              \"order\": 4\n            },\n            \"contents\": {\n              \"overflowY\": \"auto\",\n              \"wordBreak\": \"break-word\"\n            },\n            \"positionButton\": {\n              \"marginLeft\": -16,\n              \"order\": -100,\n              \"width\": 24\n            }\n          }\n        },\n        \"CompanionWindowSection\": {\n          \"styleOverrides\": {\n            \"root\": {\n              \"borderBlockEnd\": \".5px solid rgba(0, 0, 0, 0.25)\"\n            }\n          }\n        },\n        \"IIIFHtmlContent\": {\n          \"styleOverrides\": {}\n        },\n        \"IIIFThumbnail\": {\n          \"styleOverrides\": {}\n        },\n        \"ThemeIcon\": {\n          \"styleOverrides\": {}\n        },\n        \"MuiAccordion\": {\n          \"variants\": [\n            {\n              \"props\": {\n                \"variant\": \"compact\"\n              },\n              \"style\": {\n                \"& .MuiAccordionSummary-root\": {\n                  \"minHeight\": \"unset\",\n                  \"padding\": 0\n                },\n                \"& .MuiAccordionSummary-content\": {\n                  \"margin\": 0\n                },\n                \"& .MuiAccordionDetails-root\": {\n                  \"padding\": 0\n                }\n              }\n            }\n          ]\n        },\n        \"MuiButton\": {\n          \"styleOverrides\": {\n            \"inlineText\": {\n              \"lineHeight\": \"1.5em\",\n              \"padding\": 0,\n              \"textAlign\": \"inherit\",\n              \"textTransform\": \"none\"\n            }\n          }\n        },\n        \"MuiButtonBase\": {\n          \"defaultProps\": {\n            \"disableTouchRipple\": true\n          }\n        },\n        \"MuiDialog\": {\n          \"variants\": [\n            {\n              \"props\": {\n                \"variant\": \"contained\"\n              },\n              \"style\": {\n                \"position\": \"absolute\",\n                \"& .MuiBackdrop-root\": {\n                  \"position\": \"absolute\"\n                }\n              }\n            }\n          ]\n        },\n        \"MuiFab\": {\n          \"styleOverrides\": {\n            \"root\": {\n              \"transition\": \"none\"\n            }\n          }\n        },\n        \"MuiLink\": {\n          \"defaultProps\": {\n            \"underline\": \"always\"\n          }\n        },\n        \"MuiListSubheader\": {\n          \"styleOverrides\": {\n            \"root\": {\n              \"&[role=\\\"presentation\\\"]:focus\": {\n                \"outline\": 0\n              }\n            }\n          }\n        },\n        \"MuiTooltip\": {\n          \"styleOverrides\": {\n            \"tooltipPlacementLeft\": {\n              \"@media (min-width:600px)\": {\n                \"margin\": \"0 !important\"\n              }\n            },\n            \"tooltipPlacementRight\": {\n              \"@media (min-width:600px)\": {\n                \"margin\": \"0 !important\"\n              }\n            },\n            \"tooltipPlacementTop\": {\n              \"@media (min-width:600px)\": {\n                \"margin\": \"0 !important\"\n              }\n            },\n            \"tooltipPlacementBottom\": {\n              \"@media (min-width:600px)\": {\n                \"margin\": \"0 !important\"\n              }\n            }\n          }\n        },\n        \"MuiTouchRipple\": {\n          \"styleOverrides\": {\n            \"childPulsate\": {\n              \"animation\": \"none\"\n            },\n            \"rippleVisible\": {\n              \"animation\": \"none\"\n            }\n          }\n        }\n      }\n    },\n    \"language\": \"en\",\n    \"availableLanguages\": {\n      \"ar\": \"العربية\",\n      \"de\": \"Deutsch\",\n      \"en\": \"English\",\n      \"et\": \"Eesti\",\n      \"fa\": \"فارسی\",\n      \"fr\": \"Français\",\n      \"ja\": \"日本語\",\n      \"kr\": \"한국어\",\n      \"lt\": \"Lietuvių\",\n      \"nl\": \"Nederlands\",\n      \"nb-NO\": \"Norwegian Bokmål\",\n      \"pl\": \"Polski\",\n      \"pt-BR\": \"Português do Brasil\",\n      \"vi\": \"Tiếng Việt\",\n      \"zh-CN\": \"中文(简体)\",\n      \"zh-TW\": \"中文(繁體)\",\n      \"it\": \"Italiano\",\n      \"sr\": \"Српски\",\n      \"sv\": \"Svenska\",\n      \"bg\": \"Български\"\n    },\n    \"annotations\": {\n      \"htmlSanitizationRuleSet\": \"iiif\",\n      \"filteredMotivations\": [\n        \"oa:commenting\",\n        \"oa:tagging\",\n        \"sc:painting\",\n        \"commenting\",\n        \"tagging\"\n      ]\n    },\n    \"createGenerateClassNameOptions\": {\n      \"productionPrefix\": \"mirador\"\n    },\n    \"requests\": {\n      \"preprocessors\": [],\n      \"postprocessors\": []\n    },\n    \"translations\": {},\n    \"window\": {\n      \"allowClose\": true,\n      \"allowFullscreen\": false,\n      \"allowMaximize\": true,\n      \"allowTopMenuButton\": true,\n      \"allowWindowSideBar\": true,\n      \"authNewWindowCenter\": \"parent\",\n      \"sideBarPanel\": \"info\",\n      \"defaultSidebarPanelHeight\": 201,\n      \"defaultSidebarPanelWidth\": 235,\n      \"defaultView\": \"single\",\n      \"forceDrawAnnotations\": false,\n      \"hideWindowTitle\": false,\n      \"highlightAllAnnotations\": false,\n      \"showLocalePicker\": false,\n      \"sideBarOpen\": false,\n      \"switchCanvasOnSearch\": true,\n      \"panels\": {\n        \"info\": true,\n        \"attribution\": true,\n        \"canvas\": true,\n        \"annotations\": true,\n        \"search\": true,\n        \"layers\": true\n      },\n      \"views\": [\n        {\n          \"key\": \"single\",\n          \"behaviors\": [\n            \"individuals\"\n          ]\n        },\n        {\n          \"key\": \"book\",\n          \"behaviors\": [\n            \"paged\"\n          ]\n        },\n        {\n          \"key\": \"scroll\",\n          \"behaviors\": [\n            \"continuous\"\n          ]\n        },\n        {\n          \"key\": \"gallery\"\n        }\n      ],\n      \"elastic\": {\n        \"height\": 400,\n        \"width\": 480\n      }\n    },\n    \"windows\": [\n      {\n        \"id\": \"primaryWindow\",\n        \"loadedManifest\": \"https://iiif.lib.harvard.edu/manifests/drs:51287251\"\n      }\n    ],\n    \"thumbnails\": {\n      \"preferredFormats\": [\n        \"jpg\",\n        \"png\",\n        \"webp\",\n        \"tif\"\n      ]\n    },\n    \"thumbnailNavigation\": {\n      \"defaultPosition\": \"off\",\n      \"displaySettings\": true,\n      \"height\": 130,\n      \"width\": 100\n    },\n    \"workspace\": {\n      \"draggingEnabled\": true,\n      \"allowNewWindows\": true,\n      \"id\": \"de108137-a038-47ae-8b12-14ee0485814d\",\n      \"isWorkspaceAddVisible\": false,\n      \"exposeModeOn\": false,\n      \"height\": 5000,\n      \"showZoomControls\": false,\n      \"type\": \"mosaic\",\n      \"viewportPosition\": {\n        \"x\": 0,\n        \"y\": 0\n      },\n      \"width\": 5000\n    },\n    \"workspaceControlPanel\": {\n      \"enabled\": true\n    },\n    \"galleryView\": {\n      \"height\": 120,\n      \"width\": null\n    },\n    \"osdConfig\": {\n      \"alwaysBlend\": false,\n      \"blendTime\": 0.1,\n      \"preserveImageSizeOnResize\": true,\n      \"preserveViewport\": true,\n      \"showNavigationControl\": false\n    },\n    \"export\": {\n      \"catalog\": true,\n      \"companionWindows\": true,\n      \"config\": true,\n      \"elasticLayout\": true,\n      \"layers\": true,\n      \"manifests\": {},\n      \"viewers\": true,\n      \"windows\": true,\n      \"workspace\": true\n    },\n    \"audioOptions\": {\n      \"controls\": true,\n      \"crossOrigin\": \"anonymous\"\n    },\n    \"videoOptions\": {\n      \"controls\": true,\n      \"crossOrigin\": \"anonymous\"\n    },\n    \"auth\": {\n      \"serviceProfiles\": [\n        {\n          \"profile\": \"http://iiif.io/api/auth/1/external\",\n          \"external\": true\n        },\n        {\n          \"profile\": \"http://iiif.io/api/auth/1/kiosk\",\n          \"kiosk\": true\n        },\n        {\n          \"profile\": \"http://iiif.io/api/auth/1/clickthrough\"\n        },\n        {\n          \"profile\": \"http://iiif.io/api/auth/1/login\"\n        },\n        {\n          \"profile\": \"http://iiif.io/api/auth/0/external\",\n          \"external\": true\n        },\n        {\n          \"profile\": \"http://iiif.io/api/auth/0/kiosk\",\n          \"kiosk\": true\n        },\n        {\n          \"profile\": \"http://iiif.io/api/auth/0/clickthrough\"\n        },\n        {\n          \"profile\": \"http://iiif.io/api/auth/0/login\"\n        }\n      ]\n    },\n    \"id\": \"viewer\",\n    \"manifests\": {\n      \"https://iiif.lib.harvard.edu/manifests/drs:51287251\": {\n        \"provider\": \"Amy Phillips & Christopher Morse\"\n      }\n    }\n  },\n  \"elasticLayout\": {\n    \"primaryWindow\": {\n      \"windowId\": \"primaryWindow\",\n      \"height\": 400,\n      \"width\": 480,\n      \"x\": 200,\n      \"y\": 200\n    }\n  },\n  \"layers\": {},\n  \"manifests\": {},\n  \"viewers\": {\n    \"primaryWindow\": {\n      \"flip\": false,\n      \"rotation\": 0,\n      \"x\": 3000,\n      \"y\": 4000,\n      \"zoom\": 0.00008900822669104205\n    }\n  },\n  \"windows\": {\n    \"primaryWindow\": {\n      \"canvasId\": \"https://iiif.lib.harvard.edu/manifests/drs:51287251/canvas/canvas-51287264.json\",\n      \"collectionIndex\": 0,\n      \"companionAreaOpen\": true,\n      \"companionWindowIds\": [\n        \"cw-b068533f-651b-439f-98c0-8e0fa59d44a4\",\n        \"cw-f54fa58a-7de5-422b-ab7f-95955719dd28\"\n      ],\n      \"draggingEnabled\": true,\n      \"highlightAllAnnotations\": false,\n      \"id\": \"primaryWindow\",\n      \"manifestId\": \"https://iiif.lib.harvard.edu/manifests/drs:51287251\",\n      \"maximized\": false,\n      \"rangeId\": null,\n      \"rotation\": null,\n      \"selectedAnnotations\": {},\n      \"sideBarOpen\": false,\n      \"sideBarPanel\": \"info\",\n      \"thumbnailNavigationId\": \"cw-f54fa58a-7de5-422b-ab7f-95955719dd28\",\n      \"loadedManifest\": \"https://iiif.lib.harvard.edu/manifests/drs:51287251\",\n      \"visibleCanvases\": [\n        \"https://iiif.lib.harvard.edu/manifests/drs:51287251/canvas/canvas-51287264.json\"\n      ]\n    }\n  },\n  \"workspace\": {\n    \"draggingEnabled\": true,\n    \"allowNewWindows\": true,\n    \"id\": \"de108137-a038-47ae-8b12-14ee0485814d\",\n    \"isWorkspaceAddVisible\": false,\n    \"exposeModeOn\": false,\n    \"height\": 5000,\n    \"showZoomControls\": false,\n    \"type\": \"mosaic\",\n    \"viewportPosition\": {\n      \"x\": 0,\n      \"y\": 0\n    },\n    \"width\": 5000,\n    \"windowIds\": [\n      \"primaryWindow\"\n    ],\n    \"focusedWindowId\": \"primaryWindow\",\n    \"layout\": \"primaryWindow\"\n  }\n}\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "url": {
                            "raw": "{{DOMAIN}}:3000/project/",
                            "host": [
                                "{{DOMAIN}}"
                            ],
                            "port": "3000",
                            "path": [
                                "project",
                                ""
                            ]
                        }
                    },
                    "response": []
                },
                {
                    "name": "getAllProjects",
                    "request": {
                        "auth": {
                            "type": "bearer",
                            "bearer": [
                                {
                                    "key": "token",
                                    "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOjMsInVzZXIiOiJ0YXRhIiwiaWF0IjoxNzE5OTMxODU3LCJleHAiOjE3MjAwMTgyNTd9.0maXjr8VFMhWaIoNEZp70djxsNbTg4yEoJ6kwj0BlGk",
                                    "type": "string"
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [],
                        "url": {
                            "raw": "{{DOMAIN}}:3000/project/1",
                            "host": [
                                "{{DOMAIN}}"
                            ],
                            "port": "3000",
                            "path": [
                                "project",
                                "1"
                            ]
                        }
                    },
                    "response": []
                },
                {
                    "name": "getOneProject",
                    "request": {
                        "auth": {
                            "type": "bearer",
                            "bearer": [
                                {
                                    "key": "token",
                                    "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOjMsInVzZXIiOiJUQVRBIiwiaWF0IjoxNzE1MDg0NTg0LCJleHAiOjE3MTUxNzA5ODR9.Ix7eoIKg5cj2Qy-N4K30ybfuCDGzQD0FAcLHtAOtxjg",
                                    "type": "string"
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [],
                        "url": {
                            "raw": "localhost:3000/project/10",
                            "host": [
                                "localhost"
                            ],
                            "port": "3000",
                            "path": [
                                "project",
                                "10"
                            ]
                        }
                    },
                    "response": []
                },
                {
                    "name": "deleteProject",
                    "request": {
                        "auth": {
                            "type": "bearer",
                            "bearer": [
                                {
                                    "key": "token",
                                    "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOjMsInVzZXIiOiJUQVRBIiwiaWF0IjoxNzE1MDc0NDA2LCJleHAiOjE3MTUxNjA4MDZ9.V7GPtXXhiRUjtYlJX8hFrGrGuDJ9LSksMceGRe-3Maw",
                                    "type": "string"
                                }
                            ]
                        },
                        "method": "DELETE",
                        "header": [],
                        "url": {
                            "raw": "{{DOMAIN}}:{{PORT}}/project/14",
                            "host": [
                                "{{DOMAIN}}"
                            ],
                            "port": "{{PORT}}",
                            "path": [
                                "project",
                                "14"
                            ]
                        }
                    },
                    "response": []
                },
                {
                    "name": "updateProject",
                    "request": {
                        "auth": {
                            "type": "bearer",
                            "bearer": [
                                {
                                    "key": "token",
                                    "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOjEsInVzZXIiOiJ0YXRhdGF0YSIsImlhdCI6MTcxNjQ1MDk0NSwiZXhwIjoxNzE2NTM3MzQ1fQ.1H52pE3f7UapvLMV-4J3EgdRiecPNv5j2lLuaZqrfFw",
                                    "type": "string"
                                }
                            ]
                        },
                        "method": "PATCH",
                        "header": [],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"id\" : 40,\n    \"name\":\"My Great Project\",\n    \"owner\":1\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "url": {
                            "raw": "{{DOMAIN}}:3000/project/40",
                            "host": [
                                "{{DOMAIN}}"
                            ],
                            "port": "3000",
                            "path": [
                                "project",
                                "40"
                            ]
                        }
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "User-Group",
            "item": [
                {
                    "name": "CreateUserGroup",
                    "request": {
                        "method": "POST",
                        "header": [],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n        \"name\":\"titi\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "url": {
                            "raw": "{{DOMAIN}}:{{PORT}}/user-group/",
                            "host": [
                                "{{DOMAIN}}"
                            ],
                            "port": "{{PORT}}",
                            "path": [
                                "user-group",
                                ""
                            ]
                        }
                    },
                    "response": []
                },
                {
                    "name": "GetAllUserGroup",
                    "request": {
                        "method": "GET",
                        "header": [],
                        "url": {
                            "raw": "{{DOMAIN}}:3000/user-group",
                            "host": [
                                "{{DOMAIN}}"
                            ],
                            "port": "3000",
                            "path": [
                                "user-group"
                            ]
                        }
                    },
                    "response": []
                },
                {
                    "name": "GetOneUserGroup",
                    "protocolProfileBehavior": {
                        "disableBodyPruning": true
                    },
                    "request": {
                        "method": "GET",
                        "header": [],
                        "body": {
                            "mode": "raw",
                            "raw": "{ \n  \"data\": {\n    \"idScene\" : 1,\n    \"idEdition\" : 1,\n    \"title\": \"FRANCIS LALAN\",\n    \"description\": \"concert de Francis\",\n    \"start\": \"2024-02-09T00:00:00Z\",\n    \"end\": \"2024-02-10T00:00:00Z\"\n  }\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "url": {
                            "raw": "{{DOMAIN}}:{{PORT}}/user-group/8",
                            "host": [
                                "{{DOMAIN}}"
                            ],
                            "port": "{{PORT}}",
                            "path": [
                                "user-group",
                                "8"
                            ]
                        }
                    },
                    "response": []
                },
                {
                    "name": "DeleteUserGroup",
                    "request": {
                        "method": "DELETE",
                        "header": [],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n        \"name\":\"monFestivalier\",\n        \"mail\":\"monFestivalier@festival.com\",\n        \"password\":\"monmdp\",\n        \"status\":\"ETUDIANT\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "url": {
                            "raw": "{{DOMAIN}}:{{PORT}}/user-group/3",
                            "host": [
                                "{{DOMAIN}}"
                            ],
                            "port": "{{PORT}}",
                            "path": [
                                "user-group",
                                "3"
                            ]
                        }
                    },
                    "response": []
                },
                {
                    "name": "UpdateUserGroup",
                    "request": {
                        "method": "PATCH",
                        "header": [],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"name\":\"ahbahoui\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "url": {
                            "raw": "{{DOMAIN}}:{{PORT}}/user-group/1",
                            "host": [
                                "{{DOMAIN}}"
                            ],
                            "port": "{{PORT}}",
                            "path": [
                                "user-group",
                                "1"
                            ]
                        }
                    },
                    "response": []
                }
            ]
        },
        {
            "name": "Link-Group-Projects",
            "item": [
                {
                    "name": "createLinkGroupProject",
                    "request": {
                        "method": "POST",
                        "header": [],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"rights\":0,\n    \"project\":1,\n    \"user_group\":8\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "url": {
                            "raw": "{{DOMAIN}}:3000/link-group-project/",
                            "host": [
                                "{{DOMAIN}}"
                            ],
                            "port": "3000",
                            "path": [
                                "link-group-project",
                                ""
                            ]
                        }
                    },
                    "response": []
                },
                {
                    "name": "getAllLink-group-project",
                    "request": {
                        "auth": {
                            "type": "bearer",
                            "bearer": [
                                {
                                    "key": "token",
                                    "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOjMsInVzZXIiOiJ0YXRhIiwiaWF0IjoxNzE5OTMxODU3LCJleHAiOjE3MjAwMTgyNTd9.0maXjr8VFMhWaIoNEZp70djxsNbTg4yEoJ6kwj0BlGk",
                                    "type": "string"
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [],
                        "url": {
                            "raw": "{{DOMAIN}}:3000/link-group-project/1",
                            "host": [
                                "{{DOMAIN}}"
                            ],
                            "port": "3000",
                            "path": [
                                "link-group-project",
                                "1"
                            ]
                        }
                    },
                    "response": []
                },
                {
                    "name": "getOneLink-group-project",
                    "request": {
                        "auth": {
                            "type": "bearer",
                            "bearer": [
                                {
                                    "key": "token",
                                    "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOjMsInVzZXIiOiJUQVRBIiwiaWF0IjoxNzE1MDg0NTg0LCJleHAiOjE3MTUxNzA5ODR9.Ix7eoIKg5cj2Qy-N4K30ybfuCDGzQD0FAcLHtAOtxjg",
                                    "type": "string"
                                }
                            ]
                        },
                        "method": "GET",
                        "header": [],
                        "url": {
                            "raw": "localhost:3000/link-group-project/10",
                            "host": [
                                "localhost"
                            ],
                            "port": "3000",
                            "path": [
                                "link-group-project",
                                "10"
                            ]
                        }
                    },
                    "response": []
                },
                {
                    "name": "deleteLink-group-project",
                    "request": {
                        "auth": {
                            "type": "bearer",
                            "bearer": [
                                {
                                    "key": "token",
                                    "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOjMsInVzZXIiOiJUQVRBIiwiaWF0IjoxNzE1MDc0NDA2LCJleHAiOjE3MTUxNjA4MDZ9.V7GPtXXhiRUjtYlJX8hFrGrGuDJ9LSksMceGRe-3Maw",
                                    "type": "string"
                                }
                            ]
                        },
                        "method": "DELETE",
                        "header": [],
                        "url": {
                            "raw": "{{DOMAIN}}:{{PORT}}/link-group-project/1",
                            "host": [
                                "{{DOMAIN}}"
                            ],
                            "port": "{{PORT}}",
                            "path": [
                                "link-group-project",
                                "1"
                            ]
                        }
                    },
                    "response": []
                },
                {
                    "name": "updateLink-group-project",
                    "request": {
                        "auth": {
                            "type": "bearer",
                            "bearer": [
                                {
                                    "key": "token",
                                    "value": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOjEsInVzZXIiOiJ0YXRhdGF0YSIsImlhdCI6MTcxNjQ1MDk0NSwiZXhwIjoxNzE2NTM3MzQ1fQ.1H52pE3f7UapvLMV-4J3EgdRiecPNv5j2lLuaZqrfFw",
                                    "type": "string"
                                }
                            ]
                        },
                        "method": "PATCH",
                        "header": [],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"id\" : 40,\n    \"name\":\"My Great Project\",\n    \"owner\":1\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "url": {
                            "raw": "{{DOMAIN}}:3000/link-group-project/40",
                            "host": [
                                "{{DOMAIN}}"
                            ],
                            "port": "3000",
                            "path": [
                                "link-group-project",
                                "40"
                            ]
                        }
                    },
                    "response": []
                },
                {
                    "name": "FindAllGroupProjects",
                    "request": {
                        "method": "GET",
                        "header": []
                    },
                    "response": []
                },
                {
                    "name": "findAllProjectsGroup",
                    "request": {
                        "method": "GET",
                        "header": []
                    },
                    "response": []
                }
            ]
        }
    ]
}
shafamail commented 1 month ago

I have the same error:

Shows TypeError: Failed to construct 'URL': Invalid URL in the browser console.

It fails for both Postman and OpenAPI collection import (Local and Sever behind NginX on default base path)

paulo-hortelan commented 4 weeks ago

I'm having the same problem, any news on the issue?

jonrosner commented 3 weeks ago

This is next on my list. I looked at it briefly and looks like Postman has a few different formats that are not considered yet.

jonrosner commented 3 weeks ago

I merged a fix to this problem. Please fetch the latest docker container and see if it resolved your problem.

progsoftpack commented 3 weeks ago

I also have problems importing from postman (v2 and v2.1) It gives "The collection cannot be created" And the log:

com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at path $.url
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:520)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$2.readIntoField(ReflectiveTypeAdapterFactory.java:267)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$FieldReflectionAdapter.readField(ReflectiveTypeAdapterFactory.java:558)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:516)
at com.google.gson.Gson.fromJson(Gson.java:1361)
at com.google.gson.Gson.fromJson(Gson.java:1463)
at com.google.gson.Gson.fromJson(Gson.java:1434)
at com.google.gson.internal.bind.TreeTypeAdapter$GsonContextImpl.deserialize(TreeTypeAdapter.java:199)
at com.postman.collection.adapter.ItemDeserializer.deserialize(ItemDeserializer.java:53)
at com.postman.collection.adapter.ItemDeserializer.deserialize(ItemDeserializer.java:24)
at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:95)
at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:40)
at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:83)
at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:59)
at com.google.gson.Gson.fromJson(Gson.java:1361)
at com.google.gson.Gson.fromJson(Gson.java:1463)
at com.google.gson.Gson.fromJson(Gson.java:1434)
at com.google.gson.internal.bind.TreeTypeAdapter$GsonContextImpl.deserialize(TreeTypeAdapter.java:199)
at com.postman.collection.adapter.ItemGroupDeserializer.deserialize(ItemGroupDeserializer.java:44)
at com.postman.collection.adapter.ItemGroupDeserializer.deserialize(ItemGroupDeserializer.java:19)
at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:95)
at com.google.gson.Gson.fromJson(Gson.java:1361)
at com.google.gson.Gson.fromJson(Gson.java:1463)
at com.google.gson.Gson.fromJson(Gson.java:1434)
at com.google.gson.internal.bind.TreeTypeAdapter$GsonContextImpl.deserialize(TreeTypeAdapter.java:199)
at com.postman.collection.adapter.ItemDeserializer.deserialize(ItemDeserializer.java:43)
at com.postman.collection.adapter.ItemDeserializer.deserialize(ItemDeserializer.java:24)
at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:95)
at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:40)
at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:83)
at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:59)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$2.readIntoField(ReflectiveTypeAdapterFactory.java:267)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$FieldReflectionAdapter.readField(ReflectiveTypeAdapterFactory.java:558)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:516)
at com.google.gson.Gson.fromJson(Gson.java:1361)
at com.google.gson.Gson.fromJson(Gson.java:1262)
at com.google.gson.Gson.fromJson(Gson.java:1171)
at com.google.gson.Gson.fromJson(Gson.java:1107)
at com.postman.collection.Collection.pmcFactory(Collection.java:438)
at com.espero.yaade.services.PostmanParser.parseCollection(PostmanParser.kt:22)
at com.espero.yaade.server.routes.CollectionRoute.importPostmanCollection(CollectionRoute.kt:289)
at com.espero.yaade.server.routes.CollectionRoute$importPostmanCollection$1.invokeSuspend(CollectionRoute.kt)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTaskKt.resume(DispatchedTask.kt:234)
at kotlinx.coroutines.DispatchedTaskKt.resumeUnconfined(DispatchedTask.kt:190)
at kotlinx.coroutines.DispatchedTaskKt.dispatch(DispatchedTask.kt:161)
at kotlinx.coroutines.CancellableContinuationImpl.dispatchResume(CancellableContinuationImpl.kt:397)
at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl(CancellableContinuationImpl.kt:431)
at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl$default(CancellableContinuationImpl.kt:420)
at kotlinx.coroutines.CancellableContinuationImpl.resumeWith(CancellableContinuationImpl.kt:328)
at io.vertx.kotlin.coroutines.VertxCoroutineKt$coAwait$2$1.handle(VertxCoroutine.kt:144)
at io.vertx.kotlin.coroutines.VertxCoroutineKt$coAwait$2$1.handle(VertxCoroutine.kt:143)
at io.vertx.core.impl.future.FutureImpl$4.onSuccess(FutureImpl.java:176)
at io.vertx.core.impl.future.FutureBase.lambda$emitSuccess$0(FutureBase.java:60)
at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:173)
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:166)
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at path $.url
at com.google.gson.internal.bind.JsonTreeReader.expect(JsonTreeReader.java:179)
at com.google.gson.internal.bind.JsonTreeReader.beginObject(JsonTreeReader.java:96)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:509)
... 61 more
com.google.gson.JsonSyntaxException: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at path $.url
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:520)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$2.readIntoField(ReflectiveTypeAdapterFactory.java:267)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$FieldReflectionAdapter.readField(ReflectiveTypeAdapterFactory.java:558)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:516)
at com.google.gson.Gson.fromJson(Gson.java:1361)
at com.google.gson.Gson.fromJson(Gson.java:1463)
at com.google.gson.Gson.fromJson(Gson.java:1434)
at com.google.gson.internal.bind.TreeTypeAdapter$GsonContextImpl.deserialize(TreeTypeAdapter.java:199)
at com.postman.collection.adapter.ItemDeserializer.deserialize(ItemDeserializer.java:53)
at com.postman.collection.adapter.ItemDeserializer.deserialize(ItemDeserializer.java:24)
at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:95)
at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:40)
at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:83)
at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:59)
at com.google.gson.Gson.fromJson(Gson.java:1361)
at com.google.gson.Gson.fromJson(Gson.java:1463)
at com.google.gson.Gson.fromJson(Gson.java:1434)
at com.google.gson.internal.bind.TreeTypeAdapter$GsonContextImpl.deserialize(TreeTypeAdapter.java:199)
at com.postman.collection.adapter.ItemGroupDeserializer.deserialize(ItemGroupDeserializer.java:44)
at com.postman.collection.adapter.ItemGroupDeserializer.deserialize(ItemGroupDeserializer.java:19)
at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:95)
at com.google.gson.Gson.fromJson(Gson.java:1361)
at com.google.gson.Gson.fromJson(Gson.java:1463)
at com.google.gson.Gson.fromJson(Gson.java:1434)
at com.google.gson.internal.bind.TreeTypeAdapter$GsonContextImpl.deserialize(TreeTypeAdapter.java:199)
at com.postman.collection.adapter.ItemDeserializer.deserialize(ItemDeserializer.java:43)
at com.postman.collection.adapter.ItemDeserializer.deserialize(ItemDeserializer.java:24)
at com.google.gson.internal.bind.TreeTypeAdapter.read(TreeTypeAdapter.java:95)
at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.read(TypeAdapterRuntimeTypeWrapper.java:40)
at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:83)
at com.google.gson.internal.bind.CollectionTypeAdapterFactory$Adapter.read(CollectionTypeAdapterFactory.java:59)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$2.readIntoField(ReflectiveTypeAdapterFactory.java:267)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$FieldReflectionAdapter.readField(ReflectiveTypeAdapterFactory.java:558)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:516)
at com.google.gson.Gson.fromJson(Gson.java:1361)
at com.google.gson.Gson.fromJson(Gson.java:1262)
at com.google.gson.Gson.fromJson(Gson.java:1171)
at com.google.gson.Gson.fromJson(Gson.java:1107)
at com.postman.collection.Collection.pmcFactory(Collection.java:438)
at com.espero.yaade.services.PostmanParser.parseCollection(PostmanParser.kt:22)
at com.espero.yaade.server.routes.CollectionRoute.importPostmanCollection(CollectionRoute.kt:289)
at com.espero.yaade.server.routes.CollectionRoute$importPostmanCollection$1.invokeSuspend(CollectionRoute.kt)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTaskKt.resume(DispatchedTask.kt:234)
at kotlinx.coroutines.DispatchedTaskKt.resumeUnconfined(DispatchedTask.kt:190)
at kotlinx.coroutines.DispatchedTaskKt.dispatch(DispatchedTask.kt:161)
at kotlinx.coroutines.CancellableContinuationImpl.dispatchResume(CancellableContinuationImpl.kt:397)
at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl(CancellableContinuationImpl.kt:431)
at kotlinx.coroutines.CancellableContinuationImpl.resumeImpl$default(CancellableContinuationImpl.kt:420)
at kotlinx.coroutines.CancellableContinuationImpl.resumeWith(CancellableContinuationImpl.kt:328)
at io.vertx.kotlin.coroutines.VertxCoroutineKt$coAwait$2$1.handle(VertxCoroutine.kt:144)
at io.vertx.kotlin.coroutines.VertxCoroutineKt$coAwait$2$1.handle(VertxCoroutine.kt:143)
at io.vertx.core.impl.future.FutureImpl$4.onSuccess(FutureImpl.java:176)
at io.vertx.core.impl.future.FutureBase.lambda$emitSuccess$0(FutureBase.java:60)
at io.netty.util.concurrent.AbstractEventExecutor.runTask(AbstractEventExecutor.java:173)
at io.netty.util.concurrent.AbstractEventExecutor.safeExecute(AbstractEventExecutor.java:166)
at io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(SingleThreadEventExecutor.java:470)
at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:569)
at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
at java.base/java.lang.Thread.run(Thread.java:829)
Caused by: java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at path $.url
at com.google.gson.internal.bind.JsonTreeReader.expect(JsonTreeReader.java:179)
at com.google.gson.internal.bind.JsonTreeReader.beginObject(JsonTreeReader.java:96)
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.read(ReflectiveTypeAdapterFactory.java:509)
... 61 more
jonrosner commented 3 weeks ago

@progsoftpack are you already using the latest docker container I released yesterday? If so, can you share a minimal reproducible example of your collection? You can edit the raw json and remove parts of it until you find the breaking part.

progsoftpack commented 3 weeks ago

I'm using that docker image: esperotech/yaade:latest There is an example:

{
    "info": {
        "_postman_id": "81d29962-3178-4f92-99e0-af4071ab0c9d",
        "name": "My collection",
        "schema": "https://schema.getpostman.com/json/collection/v2.0.0/collection.json",
        "_exporter_id": "27307316"
    },
    "item": [
        {
            "name": "Login Copy",
            "item": [
                {
                    "name": "Login",
                    "event": [
                        {
                            "listen": "test",
                            "script": {
                                "exec": [
                                    "var jsonData = pm.response.json();",
                                    "const token = jsonData.data.token;",
                                    "pm.collectionVariables.set('token', token);"
                                ],
                                "type": "text/javascript"
                            }
                        }
                    ],
                    "request": {
                        "auth": {
                            "type": "noauth"
                        },
                        "method": "POST",
                        "header": [],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"username\": \"administrador\",\n    \"password\": \"administrador\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "url": "{{endereco}}/api/auth/login",
                        "description": "Permite fazer o login para utilizar a maioria dos endpoints desta Api.  \n\nEste pedido devolve um token que deve ser incluido na maioria dos pedidos a esta Api."
                    },
                    "response": [
                        {
                            "name": "Login",
                            "originalRequest": {
                                "method": "POST",
                                "header": [],
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"username\": \"teste\",\n    \"password\": \"teste\"\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                },
                                "url": {
                                    "raw": "{{endereco}}/api/login",
                                    "host": [
                                        "{{endereco}}"
                                    ],
                                    "path": [
                                        "api",
                                        "login"
                                    ],
                                    "query": [
                                        {
                                            "key": "username",
                                            "value": "ola",
                                            "disabled": true
                                        },
                                        {
                                            "key": "password",
                                            "value": "joaquim",
                                            "disabled": true
                                        }
                                    ]
                                }
                            },
                            "status": "OK",
                            "code": 200,
                            "_postman_previewlanguage": "json",
                            "header": [
                                {
                                    "key": "Date",
                                    "value": "Fri, 22 Jun 2023 10:04:59 GMT"
                                },
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                },
                                {
                                    "key": "Transfer-Encoding",
                                    "value": "chunked"
                                }
                            ],
                            "cookie": [],
                            "body": "{\n    \"codigo_promocional\": \"codigoTeste\",\n    \"email\": \"email\",\n    \"id\": 1,\n    \"nome\": \"Teste\",\n    \"role\": 0,\n    \"token\": \"eyJ0eXAiOiAiSldUIiwgImFsZyIgOiAiSFMyNTYifQ.eyJleHAiOiIxNjg3NDI4Mjk5IiwiaWF0IjoiMTY4NzQyODI5OSIsImlzcyI6Imdlc3R3aW4tcmVnaXN0b3MgYXBpIn0.MJiQnRAxsogoMaGulGI8zNC7ruQext_IikbC82RAkdU\"\n}"
                        }
                    ]
                },
                {
                    "name": "Logout",
                    "event": [
                        {
                            "listen": "test",
                            "script": {
                                "exec": [
                                    "pm.collectionVariables.set('token', '');"
                                ],
                                "type": "text/javascript"
                            }
                        }
                    ],
                    "request": {
                        "auth": {
                            "type": "noauth"
                        },
                        "method": "POST",
                        "header": [],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"token\" : {{token}}\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "url": "{{endereco}}/api/auth/logout",
                        "description": "Permite fazer o login para utilizar a maioria dos endpoints desta Api.  \n\nEste pedido devolve um token que deve ser incluido na maioria dos pedidos a esta Api."
                    },
                    "response": [
                        {
                            "name": "Login",
                            "originalRequest": {
                                "method": "POST",
                                "header": [],
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"username\": \"teste\",\n    \"password\": \"teste\"\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                },
                                "url": {
                                    "raw": "{{endereco}}/api/login",
                                    "host": [
                                        "{{endereco}}"
                                    ],
                                    "path": [
                                        "api",
                                        "login"
                                    ],
                                    "query": [
                                        {
                                            "key": "username",
                                            "value": "ola",
                                            "disabled": true
                                        },
                                        {
                                            "key": "password",
                                            "value": "joaquim",
                                            "disabled": true
                                        }
                                    ]
                                }
                            },
                            "status": "OK",
                            "code": 200,
                            "_postman_previewlanguage": "json",
                            "header": [
                                {
                                    "key": "Date",
                                    "value": "Fri, 22 Jun 2023 10:04:59 GMT"
                                },
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                },
                                {
                                    "key": "Transfer-Encoding",
                                    "value": "chunked"
                                }
                            ],
                            "cookie": [],
                            "body": "{\n    \"codigo_promocional\": \"codigoTeste\",\n    \"email\": \"email\",\n    \"id\": 1,\n    \"nome\": \"Teste\",\n    \"role\": 0,\n    \"token\": \"eyJ0eXAiOiAiSldUIiwgImFsZyIgOiAiSFMyNTYifQ.eyJleHAiOiIxNjg3NDI4Mjk5IiwiaWF0IjoiMTY4NzQyODI5OSIsImlzcyI6Imdlc3R3aW4tcmVnaXN0b3MgYXBpIn0.MJiQnRAxsogoMaGulGI8zNC7ruQext_IikbC82RAkdU\"\n}"
                        }
                    ]
                }
            ]
        },
        {
            "name": "Pais Copy",
            "item": [
                {
                    "name": "GetPais",
                    "request": {
                        "method": "GET",
                        "header": [],
                        "url": {
                            "raw": "{{endereco}}/api/paises",
                            "host": [
                                "{{endereco}}"
                            ],
                            "path": [
                                "api",
                                "paises"
                            ],
                            "query": [
                                {
                                    "key": "alpha2",
                                    "value": "",
                                    "disabled": true
                                },
                                {
                                    "key": "alpha3",
                                    "value": "",
                                    "disabled": true
                                },
                                {
                                    "key": "ativo",
                                    "value": "",
                                    "disabled": true
                                },
                                {
                                    "key": "nome",
                                    "value": "",
                                    "disabled": true
                                },
                                {
                                    "key": "id",
                                    "value": null,
                                    "disabled": true
                                },
                                {
                                    "key": "vies",
                                    "value": null,
                                    "disabled": true
                                }
                            ]
                        },
                        "description": "Permite obter os paises onde é vendido o gestwin.\n\nPode ser feita pesquisa por alpha2, alpha3, nome,ativo, vies ou id."
                    },
                    "response": [
                        {
                            "name": "GetPais",
                            "originalRequest": {
                                "method": "GET",
                                "header": [],
                                "url": {
                                    "raw": "{{endereco}}/api/paises",
                                    "host": [
                                        "{{endereco}}"
                                    ],
                                    "path": [
                                        "api",
                                        "paises"
                                    ],
                                    "query": [
                                        {
                                            "key": "alpha2",
                                            "value": "",
                                            "disabled": true
                                        },
                                        {
                                            "key": "alpha3",
                                            "value": "",
                                            "disabled": true
                                        },
                                        {
                                            "key": "ativo",
                                            "value": "",
                                            "disabled": true
                                        },
                                        {
                                            "key": "nome",
                                            "value": "",
                                            "disabled": true
                                        },
                                        {
                                            "key": "id",
                                            "value": null,
                                            "disabled": true
                                        },
                                        {
                                            "key": "vies",
                                            "value": null,
                                            "disabled": true
                                        }
                                    ]
                                }
                            },
                            "status": "OK",
                            "code": 200,
                            "_postman_previewlanguage": "json",
                            "header": [
                                {
                                    "key": "Date",
                                    "value": "Fri, 22 Jun 2023 10:08:11 GMT"
                                },
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                },
                                {
                                    "key": "Transfer-Encoding",
                                    "value": "chunked"
                                }
                            ],
                            "cookie": [],
                            "body": "[\n    {\n        \"alpha2\": \"PT\",\n        \"alpha3\": \"PRT\",\n        \"ativo\": true,\n        \"id\": 1,\n        \"is_vies\": true,\n        \"nome\": \"Portugal\"\n    },\n    {\n        \"alpha2\": \"MZ\",\n        \"alpha3\": \"MOZ\",\n        \"ativo\": true,\n        \"id\": 2,\n        \"is_vies\": false,\n        \"nome\": \"Moçambique\"\n    },\n    {\n        \"alpha2\": \"CV\",\n        \"alpha3\": \"CPV\",\n        \"ativo\": true,\n        \"id\": 3,\n        \"is_vies\": false,\n        \"nome\": \"Cabo Verde\"\n    },\n    {\n        \"alpha2\": \"ST\",\n        \"alpha3\": \"STP\",\n        \"ativo\": true,\n        \"id\": 4,\n        \"is_vies\": false,\n        \"nome\": \"São Tomé e Príncipe\"\n    },\n    {\n        \"alpha2\": \"AO\",\n        \"alpha3\": \"AGO\",\n        \"ativo\": true,\n        \"id\": 5,\n        \"is_vies\": false,\n        \"nome\": \"Angola\"\n    }\n]"
                        }
                    ]
                },
                {
                    "name": "PostCreatePais",
                    "request": {
                        "method": "POST",
                        "header": [],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"alpha2\":\"\",\n    \"alpha3\":\"\",\n    \"ativo\":true,\n    \"vies\":true,\n    \"nome\":\"\"\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "url": "{{endereco}}/api/paises",
                        "description": "Permite criar um novo país"
                    },
                    "response": [
                        {
                            "name": "PostCreatePais",
                            "originalRequest": {
                                "method": "POST",
                                "header": [],
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"alpha2\":\"\",\n    \"alpha3\":\"\",\n    \"ativo\":true,\n    \"vies\":true,\n    \"nome\":\"\"\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                },
                                "url": "{{endereco}}/api/paises"
                            },
                            "status": "OK",
                            "code": 200,
                            "_postman_previewlanguage": "json",
                            "header": [
                                {
                                    "key": "Date",
                                    "value": "Fri, 22 Jun 2023 10:08:21 GMT"
                                },
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                },
                                {
                                    "key": "Transfer-Encoding",
                                    "value": "chunked"
                                }
                            ],
                            "cookie": [],
                            "body": "{\n    \"alpha2\": \"\",\n    \"alpha3\": \"\",\n    \"ativo\": true,\n    \"is_vies\": true,\n    \"nome\": \"\"\n}"
                        }
                    ]
                },
                {
                    "name": "UpdatePais",
                    "request": {
                        "method": "PUT",
                        "header": [],
                        "body": {
                            "mode": "raw",
                            "raw": "{\n    \"alpha2\":\"\",\n    \"alpha3\":\"\",\n    \"ativo\":true,\n    \"vies\":true,\n    \"nome\":\"\",\n    \"id\":6\n}",
                            "options": {
                                "raw": {
                                    "language": "json"
                                }
                            }
                        },
                        "url": "{{endereco}}/api/paises",
                        "description": "Permite editar um país.\n\nA pesquisa do país a editar é feita através do id."
                    },
                    "response": [
                        {
                            "name": "UpdatePais",
                            "originalRequest": {
                                "method": "PUT",
                                "header": [],
                                "body": {
                                    "mode": "raw",
                                    "raw": "{\n    \"alpha2\":\"\",\n    \"alpha3\":\"\",\n    \"ativo\":true,\n    \"vies\":true,\n    \"nome\":\"\",\n    \"id\":6\n}",
                                    "options": {
                                        "raw": {
                                            "language": "json"
                                        }
                                    }
                                },
                                "url": "{{endereco}}/api/paises"
                            },
                            "status": "OK",
                            "code": 200,
                            "_postman_previewlanguage": "json",
                            "header": [
                                {
                                    "key": "Date",
                                    "value": "Fri, 22 Jun 2023 10:08:47 GMT"
                                },
                                {
                                    "key": "Content-Type",
                                    "value": "application/json"
                                },
                                {
                                    "key": "Transfer-Encoding",
                                    "value": "chunked"
                                }
                            ],
                            "cookie": [],
                            "body": "{\n    \"alpha2\": \"\",\n    \"alpha3\": \"\",\n    \"ativo\": true,\n    \"is_vies\": true,\n    \"nome\": \"\"\n}"
                        }
                    ]
                }
            ]
        }
    ]
}
jonrosner commented 3 weeks ago

I pushed a fix for the collection you posted to latest. Can you try it with your full collection? Unfortunately the Postman JSON export has a lot of edge cases...

progsoftpack commented 3 weeks ago

It works. Thank you.

Drilio commented 2 weeks ago

Same here it works, thank you !