{
  "$schema": "../node_modules/@angular-devkit/schematics/collection-schema.json",
  "extends": ["@schematics/angular"],
  "schematics": {
    "router": {
      "description": "Runs the specified schematic",
      "factory": "../js/router.gen#gen",
      "schema": "./router-schema.json"
    },
    "ng-new": {
      "description": "Generates a new frontend to contact the backend",
      "factory": "../js/ng-new.gen#gen",
      "schema": "./ng-new-schema.json"
    },
    "new-project": {
      "description": "Generates a new project backend and frontend with database conection, e-mail transport, spring framework",
      "factory": "../js/new-project.gen#gen",
      "schema": "./ng-new-schema.json"
    },
    "new-backend": {
      "description": "Generates a new backend with database conection, e-mail transport, spring framework",
      "factory": "../js/backend/new/new-backend.gen#gen",
      "schema": "./ng-new-schema.json"
    },
    "new-frontend": {
      "description": "Generates a new frontend to contact the backend",
      "factory": "../js/frontend/new/new-frontend.gen#gen",
      "schema": "./ng-new-schema.json"
    },
    "all-ucs-backend": {
      "description": "Generates all ucs backend artifacts (classes, enums, services, mappers, dtos, repositories)",
      "factory": "../js/backend/gen-all-ucs.gen#gen",
      "schema": "./ng-new-schema.json"
    },
    "add-backend-artifacts": {
      "description": "Generates a uc backend artifacts (classes, enums, services, mappers, dtos, repositories)",
      "factory": "../js/backend/add-artifacts/gen-entire-uc.gen#gen",
      "schema": "./ng-new-schema.json"
    },
    "add-backend-controller": {
      "description": "Generates a new controller for backend",
      "factory": "../js/backend/add-artifacts/controller/generate.gen#gen"
    },
    "add-backend-unit-test": {
      "description": "Generates a new controller for backend",
      "factory": "../js/backend/add-artifacts/test/generate.gen#gen"
    },
    "add-backend-create-table-script": {
      "description": "Generates a new script for create a table on dbms",
      "factory": "../js/backend/add-artifacts/create-table/generate.gen#gen"
    },
    "add-backend-create-table-mm-script": {
      "description": "Generates a new script for creating a relation table many to many on dbms",
      "factory": "../js/backend/add-artifacts/create-table-mm/generate.gen#gen"
    },
    "insert-menu-script": {
      "description": "Generates a new script for inserting a new menu option",
      "factory": "../js/backend/add-artifacts/insert-menu/generate.gen#gen"
    },
    "update-insert-all-menus-script": {
      "description": "Generates a new script for inserting a new menu option",
      "factory": "../js/backend/updates/update-insert-all-menus.gen#gen"
    },
    "update-create-relations-fks-script": {
      "description": "Update the create-relation-tables script to add new relation",
      "factory": "../js/backend/updates/update-create-relations-fks.gen#gen"
    },
    "add-backend-dto": {
      "description": "Generates a new dto for backend",
      "factory": "../js/backend/add-artifacts/dto/generate.gen#gen"
    },
    "update-backend-new-urls": {
      "description": "Update configurations for new endpoints",
      "factory": "../js/backend/updates/update-new-urls.gen#gen"
    },
    "update-backend-swagger-config": {
      "description": "Update configurations for swagger endpoints",
      "factory": "../js/backend/updates/update-swagger-config.gen#gen"
    },
    "update-backend-call-all-scripts": {
      "description": "Update the call-all-scripts to include the new models",
      "factory": "../js/backend/updates/update-call-all-scripts.gen#gen"
    },
    "update-frontend-module": {
      "description": "Update modules for new components",
      "factory": "../js/frontend/updates/update-modules.gen#gen"
    },
    "add-backend-entity": {
      "description": "Generates a new entity for backend",
      "factory": "../js/backend/add-artifacts/entity/generate.gen#gen"
    },
    "add-backend-enum": {
      "description": "Generates a new enum for backend",
      "factory": "../js/backend/add-artifacts/enum/generate.gen#gen"
    },
    "add-backend-mapper": {
      "description": "Generates a new mapper for backend",
      "factory": "../js/backend/add-artifacts/mapper/generate.gen#gen"
    },
    "add-backend-repository": {
      "description": "Generates a new repository for backend",
      "factory": "../js/backend/add-artifacts/repository/generate.gen#gen"
    },
    "add-backend-service": {
      "description": "Generates a new service for backend",
      "factory": "../js/backend/add-artifacts/service/generate.gen#gen"
    },
    "all-ucs-frontend": {
      "description": "Generates all ucs frontend artifacts (classes, enums, services, etc)",
      "factory": "../js/frontend/gen-all-ucs.gen#gen",
      "schema": "./ng-new-schema.json"
    },
    "add-frontend-artifacts": {
      "description": "Generates a uc frontend artifacts (classes, enums, services, etc)",
      "factory": "../js/frontend/add-artifacts/gen-entire-uc.gen#gen",
      "schema": "./ng-new-schema.json"
    },
    "add-frontend-service": {
      "description": "Generates a new service for frontend",
      "factory": "../js/frontend/add-artifacts/service/generate.gen#gen"
    },
    "add-frontend-class": {
      "description": "Generates a new class for frontend",
      "factory": "../js/frontend/add-artifacts/class/generate.gen#gen"
    },
    "add-frontend-enum": {
      "description": "Generates a new enum for frontend",
      "factory": "../js/frontend/add-artifacts/enum/generate.gen#gen"
    },
    "add-frontend-app-filterable": {
      "description": "Generates a new filterable for frontend",
      "factory": "../js/frontend/add-artifacts/app-filterable/generate.gen#gen"
    },
    "add-frontend-app-formable": {
      "description": "Generates a new formable for frontend",
      "factory": "../js/frontend/add-artifacts/app-formable/generate.gen#gen"
    },
    "add-frontend-app-tableable": {
      "description": "Generates a new tableable for frontend",
      "factory": "../js/frontend/add-artifacts/app-tableable/generate.gen#gen"
    },
    "add-frontend-component": {
      "description": "Generates a new component for frontend",
      "factory": "../js/frontend/add-artifacts/component/generate.gen#gen"
    },
    "add-frontend-update-dialog": {
      "description": "Generates a new update component for frontend",
      "factory": "../js/frontend/add-artifacts/update-dialog/generate.gen#gen"
    },
    "add-frontend-update-page": {
      "description": "Generates a new update component for frontend",
      "factory": "../js/frontend/add-artifacts/update-page/generate.gen#gen"
    },
    "add-e2e": {
        "description": "Generates the entire framework for e2e",
        "factory": "../js/frontend/add-artifacts/e2e/generate.gen#gen"
    },
    "e2e-factory": {
        "description": "Generates a factory for a given model of a uc frontend",
        "factory": "../js/frontend/add-artifacts/e2e/factory/generate.gen#gen"
    },
    "e2e-search-page": {
        "description": "Generates e2e for a search page for a given model of a uc frontend",
        "factory": "../js/frontend/add-artifacts/e2e/search-page/generate.gen#gen"
    },
    "e2e-update-page": {
        "description": "Generates e2e for a update page for a given model of a uc frontend",
        "factory": "../js/frontend/add-artifacts/e2e/update-page/generate.gen#gen"
    },
    "e2e-update-dialog": {
        "description": "Generates e2e for a update dialog for a given model of a uc frontend",
        "factory": "../js/frontend/add-artifacts/e2e/update-dialog/generate.gen#gen"
    },
    "e2e-add-child-update-dialog": {
        "description": "Generates e2e for a update dialog for a given child model of a model of a uc frontend",
        "factory": "../js/frontend/add-artifacts/e2e/child-update-dialog/generate.gen#gen"
    },
    "e2e-update-app-test-suite": {
        "description": "Updates e2e app test suite file",
        "factory": "../js/frontend/updates/update-app-test-suite.gen#gen"
    },
    "e2e-update-db-scripts": {
        "description": "Updates e2e db scripts file",
        "factory": "../js/frontend/updates/update-db-scripts.gen#gen"
    },
    "e2e-update-global-spec": {
        "description": "Updates global e2e spec script file",
        "factory": "../js/frontend/updates/update-global-e2e-spec.gen#gen"
    },
    "e2e-add-uc-test-suit": {
        "description": "Generate the use case test suit",
        "factory": "../js/frontend/add-artifacts/e2e/uc-test-suit/generate.gen#gen"
    }
  }
}
