{
  "openapi": "3.0.0",
  "info": {
    "title": "laboite-blog-backend",
    "version": "1.8.0",
    "description": "API backend for laboite blog service",
    "contact": {
      "name": "EOLE/PCLL",
      "email": "team@eole.education"
    }
  },
  "paths": {
    "/appsettings": {
      "get": {
        "x-controller-name": "AppSettingsController",
        "x-operation-name": "find",
        "tags": [
          "AppSettingsController"
        ],
        "responses": {
          "200": {
            "description": "All appsettings",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/AppSettingsWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/AppSettings.Filter"
                }
              }
            }
          }
        ],
        "operationId": "AppSettingsController.find"
      }
    },
    "/articles/count": {
      "get": {
        "x-controller-name": "ArticlesController",
        "x-operation-name": "count",
        "tags": [
          "ArticlesController"
        ],
        "responses": {
          "200": {
            "description": "Article model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Article.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Article>"
                }
              }
            }
          }
        ],
        "operationId": "ArticlesController.count"
      }
    },
    "/articles/{id}/read": {
      "patch": {
        "x-controller-name": "ArticlesController",
        "x-operation-name": "updateById",
        "tags": [
          "ArticlesController"
        ],
        "responses": {
          "204": {
            "description": "Article PATCH success"
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ArticlesController.updateById"
      }
    },
    "/articles/{id}/users": {
      "get": {
        "x-controller-name": "ArticleUsersController",
        "x-operation-name": "getUsers",
        "tags": [
          "ArticleUsersController"
        ],
        "responses": {
          "200": {
            "description": "Users belonging to Article",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Users"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ArticleUsersController.getUsers"
      }
    },
    "/articles/{id}": {
      "get": {
        "x-controller-name": "ArticlesController",
        "x-operation-name": "findById",
        "tags": [
          "ArticlesController"
        ],
        "responses": {
          "200": {
            "description": "Article model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ArticleWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ArticlesController.findById"
      }
    },
    "/articles": {
      "get": {
        "x-controller-name": "ArticlesController",
        "x-operation-name": "find",
        "tags": [
          "ArticlesController"
        ],
        "responses": {
          "200": {
            "description": "Array of Article model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ArticleWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Article.Filter"
                }
              }
            }
          }
        ],
        "operationId": "ArticlesController.find"
      }
    },
    "/authors/count": {
      "get": {
        "x-controller-name": "UsersController",
        "x-operation-name": "count",
        "tags": [
          "UsersController"
        ],
        "responses": {
          "200": {
            "description": "Users model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Users.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Users>"
                }
              }
            }
          }
        ],
        "operationId": "UsersController.count"
      }
    },
    "/authors/{id}": {
      "get": {
        "x-controller-name": "UsersController",
        "x-operation-name": "findById",
        "tags": [
          "UsersController"
        ],
        "responses": {
          "200": {
            "description": "Users model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/UsersWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Users.Filter"
                }
              }
            }
          }
        ],
        "operationId": "UsersController.findById"
      }
    },
    "/authors": {
      "get": {
        "x-controller-name": "UsersController",
        "x-operation-name": "find",
        "tags": [
          "UsersController"
        ],
        "responses": {
          "200": {
            "description": "Array of Users model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/UsersWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Users.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "UsersController.find"
      }
    },
    "/context-settings/{key}": {
      "get": {
        "x-controller-name": "ContextSettingsController",
        "x-operation-name": "findByKey",
        "tags": [
          "ContextSettingsController"
        ],
        "responses": {
          "200": {
            "description": "ContextSettings model instance",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/ContextSettings"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "key",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          }
        ],
        "operationId": "ContextSettingsController.findByKey"
      }
    },
    "/groups/count": {
      "get": {
        "x-controller-name": "GroupController",
        "x-operation-name": "count",
        "tags": [
          "GroupController"
        ],
        "responses": {
          "200": {
            "description": "Group model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Group.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Group>"
                }
              }
            }
          }
        ],
        "operationId": "GroupController.count"
      }
    },
    "/groups/{id}": {
      "get": {
        "x-controller-name": "GroupController",
        "x-operation-name": "findById",
        "tags": [
          "GroupController"
        ],
        "responses": {
          "200": {
            "description": "Group model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/GroupWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Group.Filter"
                }
              }
            }
          }
        ],
        "operationId": "GroupController.findById"
      }
    },
    "/groups": {
      "get": {
        "x-controller-name": "GroupController",
        "x-operation-name": "find",
        "tags": [
          "GroupController"
        ],
        "responses": {
          "200": {
            "description": "Array of Group model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/GroupWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Group.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "GroupController.find"
      }
    },
    "/structures/count": {
      "get": {
        "x-controller-name": "StructureController",
        "x-operation-name": "count",
        "tags": [
          "StructureController"
        ],
        "responses": {
          "200": {
            "description": "Structure model count",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/loopback.Count"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "where",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "title": "Structure.WhereFilter",
                  "additionalProperties": true,
                  "x-typescript-type": "@loopback/repository#Where<Structure>"
                }
              }
            }
          }
        ],
        "operationId": "StructureController.count"
      }
    },
    "/structures/{id}": {
      "get": {
        "x-controller-name": "StructureController",
        "x-operation-name": "findById",
        "tags": [
          "StructureController"
        ],
        "responses": {
          "200": {
            "description": "Structure model instance",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/StructureWithRelations"
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Structure.Filter"
                }
              }
            }
          }
        ],
        "operationId": "StructureController.findById"
      }
    },
    "/structures": {
      "get": {
        "x-controller-name": "StructureController",
        "x-operation-name": "find",
        "tags": [
          "StructureController"
        ],
        "responses": {
          "200": {
            "description": "Array of Structure model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/StructureWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Structure.Filter1"
                }
              }
            }
          }
        ],
        "operationId": "StructureController.find"
      }
    },
    "/tags": {
      "get": {
        "x-controller-name": "TagsControllerController",
        "x-operation-name": "find",
        "tags": [
          "TagsControllerController"
        ],
        "responses": {
          "200": {
            "description": "Array of Tags model instances",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/TagsWithRelations"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Tags.Filter"
                }
              }
            }
          }
        ],
        "operationId": "TagsControllerController.find"
      }
    },
    "/users/{id}/articles": {
      "get": {
        "x-controller-name": "UsersArticleController",
        "x-operation-name": "find",
        "tags": [
          "UsersArticleController"
        ],
        "responses": {
          "200": {
            "description": "Array of Users has many Article",
            "content": {
              "application/json": {
                "schema": {
                  "type": "array",
                  "items": {
                    "$ref": "#/components/schemas/Article"
                  }
                }
              }
            }
          }
        },
        "parameters": [
          {
            "name": "id",
            "in": "path",
            "schema": {
              "type": "string"
            },
            "required": true
          },
          {
            "name": "filter",
            "in": "query",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "additionalProperties": true
                }
              }
            }
          }
        ],
        "operationId": "UsersArticleController.find"
      }
    }
  },
  "servers": [
    {
      "url": "https://blogapi.mim-libre.fr"
    }
  ],
  "components": {
    "schemas": {
      "AppSettingsWithRelations": {
        "title": "AppSettingsWithRelations",
        "type": "object",
        "description": "(tsType: AppSettingsWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "_id": {
            "type": "string"
          },
          "legal": {
            "type": "object"
          },
          "accessibility": {
            "type": "object"
          },
          "gcu": {
            "type": "object"
          },
          "personalData": {
            "type": "object"
          },
          "maintenance": {
            "type": "object"
          },
          "textMaintenance": {
            "type": "object"
          }
        },
        "required": [
          "_id",
          "legal",
          "accessibility",
          "gcu",
          "personalData",
          "maintenance",
          "textMaintenance"
        ],
        "additionalProperties": false,
        "x-typescript-type": "AppSettingsWithRelations"
      },
      "Users": {
        "title": "Users",
        "type": "object",
        "properties": {
          "_id": {
            "type": "string"
          },
          "username": {
            "type": "string"
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "avatar": {
            "type": "string"
          },
          "articlesCount": {
            "type": "number"
          },
          "structure": {
            "type": "string"
          }
        },
        "required": [
          "username",
          "firstName",
          "lastName",
          "structure"
        ],
        "additionalProperties": false
      },
      "GroupItem": {
        "title": "GroupItem",
        "type": "object",
        "properties": {
          "_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "type": {
            "type": "number"
          }
        },
        "additionalProperties": false
      },
      "UsersWithRelations": {
        "title": "UsersWithRelations",
        "type": "object",
        "description": "(tsType: UsersWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "_id": {
            "type": "string"
          },
          "username": {
            "type": "string"
          },
          "firstName": {
            "type": "string"
          },
          "lastName": {
            "type": "string"
          },
          "avatar": {
            "type": "string"
          },
          "articlesCount": {
            "type": "number"
          },
          "structure": {
            "type": "string"
          },
          "articles": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/ArticleWithRelations"
            }
          }
        },
        "required": [
          "username",
          "firstName",
          "lastName",
          "structure"
        ],
        "additionalProperties": false,
        "x-typescript-type": "UsersWithRelations"
      },
      "ArticleWithRelations": {
        "title": "ArticleWithRelations",
        "type": "object",
        "description": "(tsType: ArticleWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "_id": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "content": {
            "type": "string"
          },
          "structure": {
            "type": "string"
          },
          "markdown": {
            "type": "boolean"
          },
          "draft": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "visits": {
            "type": "number"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "licence": {
            "type": "string"
          },
          "groups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GroupItem"
            }
          },
          "userId": {
            "type": "string"
          },
          "user": {
            "$ref": "#/components/schemas/UsersWithRelations"
          }
        },
        "required": [
          "slug",
          "title",
          "description",
          "content",
          "structure",
          "createdAt",
          "updatedAt",
          "licence"
        ],
        "additionalProperties": false,
        "x-typescript-type": "ArticleWithRelations"
      },
      "ContextSettings": {
        "title": "ContextSettings",
        "type": "object",
        "properties": {
          "_id": {
            "type": "string"
          },
          "key": {
            "type": "string"
          },
          "value": {
            "type": "array",
            "items": {
              "type": "string"
            }
          }
        },
        "required": [
          "key"
        ],
        "additionalProperties": false
      },
      "GroupWithRelations": {
        "title": "GroupWithRelations",
        "type": "object",
        "description": "(tsType: GroupWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "avatar": {
            "type": "string"
          },
          "articles": {
            "type": "boolean"
          },
          "slug": {
            "type": "string"
          },
          "type": {
            "type": "number"
          }
        },
        "required": [
          "name",
          "avatar"
        ],
        "additionalProperties": false,
        "x-typescript-type": "GroupWithRelations"
      },
      "StructureWithRelations": {
        "title": "StructureWithRelations",
        "type": "object",
        "description": "(tsType: StructureWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false,
        "x-typescript-type": "StructureWithRelations"
      },
      "TagsWithRelations": {
        "title": "TagsWithRelations",
        "type": "object",
        "description": "(tsType: TagsWithRelations, schemaOptions: { includeRelations: true })",
        "properties": {
          "_id": {
            "type": "string"
          },
          "name": {
            "type": "string"
          }
        },
        "required": [
          "name"
        ],
        "additionalProperties": false,
        "x-typescript-type": "TagsWithRelations"
      },
      "Article": {
        "title": "Article",
        "type": "object",
        "properties": {
          "_id": {
            "type": "string"
          },
          "slug": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "content": {
            "type": "string"
          },
          "structure": {
            "type": "string"
          },
          "markdown": {
            "type": "boolean"
          },
          "draft": {
            "type": "boolean"
          },
          "createdAt": {
            "type": "string",
            "format": "date-time"
          },
          "updatedAt": {
            "type": "string",
            "format": "date-time"
          },
          "visits": {
            "type": "number"
          },
          "tags": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "licence": {
            "type": "string"
          },
          "groups": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/GroupItem"
            }
          },
          "userId": {
            "type": "string"
          }
        },
        "required": [
          "slug",
          "title",
          "description",
          "content",
          "structure",
          "createdAt",
          "updatedAt",
          "licence"
        ],
        "additionalProperties": false
      },
      "AppSettings.Filter": {
        "type": "object",
        "title": "AppSettings.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "_id": {
                    "type": "boolean"
                  },
                  "legal": {
                    "type": "boolean"
                  },
                  "accessibility": {
                    "type": "boolean"
                  },
                  "gcu": {
                    "type": "boolean"
                  },
                  "personalData": {
                    "type": "boolean"
                  },
                  "maintenance": {
                    "type": "boolean"
                  },
                  "textMaintenance": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "_id",
                    "legal",
                    "accessibility",
                    "gcu",
                    "personalData",
                    "maintenance",
                    "textMaintenance"
                  ],
                  "example": "_id"
                },
                "uniqueItems": true
              }
            ],
            "title": "AppSettings.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<AppSettings>"
      },
      "loopback.Count": {
        "type": "object",
        "title": "loopback.Count",
        "x-typescript-type": "@loopback/repository#Count",
        "properties": {
          "count": {
            "type": "number"
          }
        }
      },
      "Article.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "Article.ScopeFilter"
      },
      "Article.IncludeFilter.Items": {
        "title": "Article.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string"
          },
          "scope": {
            "$ref": "#/components/schemas/Article.ScopeFilter"
          }
        }
      },
      "Article.Filter": {
        "type": "object",
        "title": "Article.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "Article.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "_id": {
                    "type": "boolean"
                  },
                  "slug": {
                    "type": "boolean"
                  },
                  "title": {
                    "type": "boolean"
                  },
                  "description": {
                    "type": "boolean"
                  },
                  "content": {
                    "type": "boolean"
                  },
                  "structure": {
                    "type": "boolean"
                  },
                  "markdown": {
                    "type": "boolean"
                  },
                  "draft": {
                    "type": "boolean"
                  },
                  "createdAt": {
                    "type": "boolean"
                  },
                  "updatedAt": {
                    "type": "boolean"
                  },
                  "visits": {
                    "type": "boolean"
                  },
                  "tags": {
                    "type": "boolean"
                  },
                  "licence": {
                    "type": "boolean"
                  },
                  "groups": {
                    "type": "boolean"
                  },
                  "userId": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "_id",
                    "slug",
                    "title",
                    "description",
                    "content",
                    "structure",
                    "markdown",
                    "draft",
                    "createdAt",
                    "updatedAt",
                    "visits",
                    "tags",
                    "licence",
                    "groups",
                    "userId"
                  ]
                },
                "uniqueItems": true
              }
            ],
            "title": "Article.Fields"
          },
          "include": {
            "title": "Article.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Article.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Article>"
      },
      "Users.ScopeFilter": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {},
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "properties": {},
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "Users.ScopeFilter"
      },
      "Users.IncludeFilter.Items": {
        "title": "Users.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string"
          },
          "scope": {
            "$ref": "#/components/schemas/Users.ScopeFilter"
          }
        }
      },
      "Users.Filter": {
        "type": "object",
        "title": "Users.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "_id": {
                    "type": "boolean"
                  },
                  "username": {
                    "type": "boolean"
                  },
                  "firstName": {
                    "type": "boolean"
                  },
                  "lastName": {
                    "type": "boolean"
                  },
                  "avatar": {
                    "type": "boolean"
                  },
                  "articlesCount": {
                    "type": "boolean"
                  },
                  "structure": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "_id",
                    "username",
                    "firstName",
                    "lastName",
                    "avatar",
                    "articlesCount",
                    "structure"
                  ],
                  "example": "_id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Users.Fields"
          },
          "include": {
            "title": "Users.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Users.IncludeFilter.Items"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Users>"
      },
      "Users.ScopeFilter1": {
        "type": "object",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "additionalProperties": true
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                },
                "uniqueItems": true
              }
            ]
          },
          "include": {
            "type": "array",
            "items": {
              "type": "object",
              "additionalProperties": true
            }
          }
        },
        "additionalProperties": false,
        "title": "Users.ScopeFilter"
      },
      "Users.IncludeFilter.Items1": {
        "title": "Users.IncludeFilter.Items",
        "type": "object",
        "properties": {
          "relation": {
            "type": "string"
          },
          "scope": {
            "$ref": "#/components/schemas/Users.ScopeFilter1"
          }
        }
      },
      "Users.Filter1": {
        "type": "object",
        "title": "Users.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "Users.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "_id": {
                    "type": "boolean"
                  },
                  "username": {
                    "type": "boolean"
                  },
                  "firstName": {
                    "type": "boolean"
                  },
                  "lastName": {
                    "type": "boolean"
                  },
                  "avatar": {
                    "type": "boolean"
                  },
                  "articlesCount": {
                    "type": "boolean"
                  },
                  "structure": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "_id",
                    "username",
                    "firstName",
                    "lastName",
                    "avatar",
                    "articlesCount",
                    "structure"
                  ]
                },
                "uniqueItems": true
              }
            ],
            "title": "Users.Fields"
          },
          "include": {
            "title": "Users.IncludeFilter",
            "type": "array",
            "items": {
              "anyOf": [
                {
                  "$ref": "#/components/schemas/Users.IncludeFilter.Items1"
                },
                {
                  "type": "string"
                }
              ]
            }
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Users>"
      },
      "Group.Filter": {
        "type": "object",
        "title": "Group.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "_id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "avatar": {
                    "type": "boolean"
                  },
                  "articles": {
                    "type": "boolean"
                  },
                  "slug": {
                    "type": "boolean"
                  },
                  "type": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "_id",
                    "name",
                    "avatar",
                    "articles",
                    "slug",
                    "type"
                  ],
                  "example": "_id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Group.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Group>"
      },
      "Group.Filter1": {
        "type": "object",
        "title": "Group.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "Group.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "_id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  },
                  "avatar": {
                    "type": "boolean"
                  },
                  "articles": {
                    "type": "boolean"
                  },
                  "slug": {
                    "type": "boolean"
                  },
                  "type": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "_id",
                    "name",
                    "avatar",
                    "articles",
                    "slug",
                    "type"
                  ]
                },
                "uniqueItems": true
              }
            ],
            "title": "Group.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Group>"
      },
      "Structure.Filter": {
        "type": "object",
        "title": "Structure.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "_id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "_id",
                    "name"
                  ],
                  "example": "_id"
                },
                "uniqueItems": true
              }
            ],
            "title": "Structure.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Structure>"
      },
      "Structure.Filter1": {
        "type": "object",
        "title": "Structure.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "Structure.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "_id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "_id",
                    "name"
                  ]
                },
                "uniqueItems": true
              }
            ],
            "title": "Structure.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Structure>"
      },
      "Tags.Filter": {
        "type": "object",
        "title": "Tags.Filter",
        "properties": {
          "offset": {
            "type": "integer",
            "minimum": 0
          },
          "limit": {
            "type": "integer",
            "minimum": 1,
            "example": 100
          },
          "skip": {
            "type": "integer",
            "minimum": 0
          },
          "order": {
            "oneOf": [
              {
                "type": "string"
              },
              {
                "type": "array",
                "items": {
                  "type": "string"
                }
              }
            ]
          },
          "where": {
            "title": "Tags.WhereFilter",
            "type": "object",
            "additionalProperties": true
          },
          "fields": {
            "oneOf": [
              {
                "type": "object",
                "properties": {
                  "_id": {
                    "type": "boolean"
                  },
                  "name": {
                    "type": "boolean"
                  }
                },
                "additionalProperties": false
              },
              {
                "type": "array",
                "items": {
                  "type": "string",
                  "enum": [
                    "_id",
                    "name"
                  ]
                },
                "uniqueItems": true
              }
            ],
            "title": "Tags.Fields"
          }
        },
        "additionalProperties": false,
        "x-typescript-type": "@loopback/repository#Filter<Tags>"
      }
    }
  }
}