{
  "openapi": "3.0.1",
  "info": {
    "title": "Triarc Authentication Api",
    "version": "v1"
  },
  "servers": [
    {
      "url": "http://auth.connect.wwag.ch:443"
    }
  ],
  "paths": {
    "/api/time": {
      "get": {
        "tags": [
          "DateTime"
        ],
        "operationId": "Now",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              },
              "application/json": {
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              },
              "text/json": {
                "schema": {
                  "type": "string",
                  "format": "date-time"
                }
              }
            }
          }
        }
      }
    },
    "/api/permission/all": {
      "get": {
        "tags": [
          "Permission"
        ],
        "operationId": "GetAll",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PermissionDefinitionDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PermissionDefinitionDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/PermissionDefinitionDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/policy/{userName}": {
      "get": {
        "tags": [
          "Policy"
        ],
        "operationId": "GetPermissionsForUserName",
        "parameters": [
          {
            "name": "userName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/role/all": {
      "get": {
        "tags": [
          "Role"
        ],
        "operationId": "GetAllRoles",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RolePermissionsDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RolePermissionsDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RolePermissionsDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/role/permission": {
      "post": {
        "tags": [
          "Role"
        ],
        "operationId": "SavePermission",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/RoleUpdateDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/RoleUpdateDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/RoleUpdateDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/RoleUpdateDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/role/role/{roleName}": {
      "put": {
        "tags": [
          "Role"
        ],
        "operationId": "AddRole",
        "parameters": [
          {
            "name": "roleName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      },
      "delete": {
        "tags": [
          "Role"
        ],
        "operationId": "DeleteRole",
        "parameters": [
          {
            "name": "roleName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "boolean"
                }
              },
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              },
              "text/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/api/role/role": {
      "post": {
        "tags": [
          "Role"
        ],
        "operationId": "UpdateRole",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/EditRoleDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/EditRoleDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/EditRoleDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/EditRoleDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/test-data/create/{mode}": {
      "post": {
        "tags": [
          "TestData"
        ],
        "operationId": "Create",
        "parameters": [
          {
            "name": "mode",
            "in": "query",
            "schema": {
              "type": "string",
              "default": "AllTestData",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/test-data/create": {
      "post": {
        "tags": [
          "TestData"
        ],
        "operationId": "CreateTestData",
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/loading/show-reset": {
      "get": {
        "tags": [
          "User"
        ],
        "operationId": "ShowPasswordReset",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "boolean"
                }
              },
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              },
              "text/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/api/user/{userName}": {
      "delete": {
        "tags": [
          "User"
        ],
        "operationId": "Delete",
        "parameters": [
          {
            "name": "userName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/user/disable/{username}": {
      "post": {
        "tags": [
          "User"
        ],
        "operationId": "Disable",
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/user/enable/{username}": {
      "post": {
        "tags": [
          "User"
        ],
        "operationId": "Enable",
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/user": {
      "put": {
        "tags": [
          "User"
        ],
        "operationId": "Edit",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateUserDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateUserDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateUserDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateUserDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/UserDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDto"
                }
              }
            }
          }
        }
      },
      "get": {
        "tags": [
          "User"
        ],
        "operationId": "GetAllUser",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UserDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UserDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UserDto"
                  }
                }
              }
            }
          }
        }
      },
      "post": {
        "tags": [
          "User"
        ],
        "operationId": "Save",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateUserDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateUserDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateUserDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateUserDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/UserDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/user/current": {
      "get": {
        "tags": [
          "User"
        ],
        "operationId": "Get",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CurrentUserDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CurrentUserDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CurrentUserDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/user/{username}": {
      "get": {
        "tags": [
          "User"
        ],
        "operationId": "GetUserByUsername",
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/UserDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/user/{username}/extendend": {
      "get": {
        "tags": [
          "User"
        ],
        "operationId": "GetExtendend",
        "parameters": [
          {
            "name": "username",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/ExtendedUserDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExtendedUserDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/ExtendedUserDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/user/id/{id}": {
      "get": {
        "tags": [
          "User"
        ],
        "operationId": "GetById",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/UserDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/user/context": {
      "get": {
        "tags": [
          "User"
        ],
        "operationId": "GetContext",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/CurrentUserContextDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/CurrentUserContextDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/CurrentUserContextDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/user/create": {
      "post": {
        "tags": [
          "User"
        ],
        "operationId": "CreateNewUser",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateUserDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateUserDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateUserDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/UpdateUserDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "$ref": "#/components/schemas/UserDto"
                }
              },
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDto"
                }
              },
              "text/json": {
                "schema": {
                  "$ref": "#/components/schemas/UserDto"
                }
              }
            }
          }
        }
      }
    },
    "/api/user/password": {
      "post": {
        "tags": [
          "User"
        ],
        "operationId": "SetOwnPassword",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ChangePasswordDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangePasswordDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangePasswordDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ChangePasswordDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/user/{userName}/password-hash": {
      "post": {
        "tags": [
          "User"
        ],
        "operationId": "SetPasswordHash",
        "parameters": [
          {
            "name": "userName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "nullable": true
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ChangePasswordHashDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangePasswordHashDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ChangePasswordHashDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ChangePasswordHashDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/user/{userName}/password": {
      "post": {
        "tags": [
          "User"
        ],
        "operationId": "SetPassword",
        "parameters": [
          {
            "name": "userName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "nullable": true
            }
          }
        ],
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/SetPasswordDto"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/SetPasswordDto"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/SetPasswordDto"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/SetPasswordDto"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/user/search": {
      "get": {
        "tags": [
          "User"
        ],
        "operationId": "Search",
        "parameters": [
          {
            "name": "text",
            "in": "query",
            "schema": {
              "type": "string",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtendedUserDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtendedUserDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ExtendedUserDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/user/{id}/roles": {
      "get": {
        "tags": [
          "User"
        ],
        "operationId": "GetUserRoles",
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "format": "uuid"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "format": "uuid"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "format": "uuid"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "type": "string",
                    "format": "uuid"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/user/roles": {
      "get": {
        "tags": [
          "User"
        ],
        "operationId": "GetRoles",
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RoleDto"
                  }
                }
              },
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RoleDto"
                  }
                }
              },
              "text/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/RoleDto"
                  }
                }
              }
            }
          }
        }
      }
    },
    "/api/user/{userName}/password/forgot": {
      "post": {
        "tags": [
          "User"
        ],
        "operationId": "ForgotPassword",
        "parameters": [
          {
            "name": "userName",
            "in": "path",
            "required": true,
            "schema": {
              "type": "string",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "boolean"
                }
              },
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              },
              "text/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/api/user/password/reset": {
      "post": {
        "tags": [
          "User"
        ],
        "operationId": "ResetPassword",
        "requestBody": {
          "content": {
            "application/json-patch+json": {
              "schema": {
                "$ref": "#/components/schemas/ResetPasswordVm"
              }
            },
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/ResetPasswordVm"
              }
            },
            "text/json": {
              "schema": {
                "$ref": "#/components/schemas/ResetPasswordVm"
              }
            },
            "application/*+json": {
              "schema": {
                "$ref": "#/components/schemas/ResetPasswordVm"
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Success",
            "content": {
              "text/plain": {
                "schema": {
                  "type": "boolean"
                }
              },
              "application/json": {
                "schema": {
                  "type": "boolean"
                }
              },
              "text/json": {
                "schema": {
                  "type": "boolean"
                }
              }
            }
          }
        }
      }
    },
    "/api/test/test-data": {
      "post": {
        "tags": [
          "UserIntegrationTest"
        ],
        "operationId": "CreateIntegrationTestData",
        "parameters": [
          {
            "name": "testDataMode",
            "in": "query",
            "schema": {
              "type": "string",
              "nullable": true
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    },
    "/api/test/setup": {
      "post": {
        "tags": [
          "UserIntegrationTest"
        ],
        "operationId": "Setup",
        "responses": {
          "200": {
            "description": "Success"
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "PermissionDefinitionDto": {
        "type": "object",
        "properties": {
          "displayName": {
            "type": "string",
            "nullable": true
          },
          "key": {
            "type": "string",
            "nullable": true
          },
          "description": {
            "type": "string",
            "nullable": true
          },
          "groupName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RolePermissionsDto": {
        "required": [
          "permissions"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "nullable": true
          },
          "permissions": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "additionalProperties": false
      },
      "RoleUpdateDto": {
        "type": "object",
        "properties": {
          "roleId": {
            "type": "string",
            "format": "uuid"
          },
          "permissionKey": {
            "type": "string",
            "nullable": true
          },
          "hasPermission": {
            "type": "boolean"
          }
        },
        "additionalProperties": false
      },
      "EditRoleDto": {
        "type": "object",
        "properties": {
          "oldRoleName": {
            "type": "string",
            "nullable": true
          },
          "newRoleName": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UserDto": {
        "required": [
          "email",
          "firstName",
          "lastName",
          "userName"
        ],
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "email": {
            "type": "string"
          },
          "userName": {
            "type": "string"
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "data": {
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "UpdateUserDto": {
        "type": "object",
        "properties": {
          "userDto": {
            "$ref": "#/components/schemas/UserDto"
          },
          "roles": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "updateRoles": {
            "type": "boolean"
          },
          "password": {
            "type": "string",
            "nullable": true
          },
          "passwordHash": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CurrentUserDto": {
        "required": [
          "email",
          "firstName",
          "lastName",
          "userName"
        ],
        "type": "object",
        "properties": {
          "permissions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "email": {
            "type": "string"
          },
          "userName": {
            "type": "string"
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "data": {
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ExtendedUserDto": {
        "required": [
          "email",
          "firstName",
          "lastName",
          "userName"
        ],
        "type": "object",
        "properties": {
          "roles": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          },
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "email": {
            "type": "string"
          },
          "userName": {
            "type": "string"
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "data": {
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "CurrentUserContextDto": {
        "type": "object",
        "properties": {
          "actingUser": {
            "$ref": "#/components/schemas/CurrentUserDto"
          },
          "tokenUser": {
            "$ref": "#/components/schemas/CurrentUserDto"
          },
          "appPermissions": {
            "type": "array",
            "items": {
              "type": "string"
            },
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ChangePasswordDto": {
        "type": "object",
        "properties": {
          "newPassword": {
            "type": "string",
            "nullable": true
          },
          "oldPassword": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ChangePasswordHashDto": {
        "type": "object",
        "properties": {
          "passwordHash": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "SetPasswordDto": {
        "type": "object",
        "properties": {
          "newPassword": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "RoleDto": {
        "type": "object",
        "properties": {
          "id": {
            "type": "string",
            "format": "uuid"
          },
          "name": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      },
      "ResetPasswordVm": {
        "type": "object",
        "properties": {
          "userId": {
            "type": "string",
            "format": "uuid"
          },
          "code": {
            "type": "string",
            "nullable": true
          },
          "newPassword": {
            "type": "string",
            "nullable": true
          }
        },
        "additionalProperties": false
      }
    }
  }
}