Closed Drilio closed 3 weeks ago
Hello, yes please provide the json output from postman.
{
"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"
}
{
"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": []
}
]
}
]
}
{
"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": []
}
]
}
]
}
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)
I'm having the same problem, any news on the issue?
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.
I merged a fix to this problem. Please fetch the latest docker container and see if it resolved your problem.
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
@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.
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}"
}
]
}
]
}
]
}
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...
It works. Thank you.
Same here it works, thank you !
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.