From 9bbf27776a988b5c5a0f1a97a1eecb8cde11f580 Mon Sep 17 00:00:00 2001 From: Jose Chavez <115018284+jchavez137@users.noreply.github.com> Date: Wed, 24 May 2023 08:55:10 -0600 Subject: [PATCH 01/20] Adding Screen to Search/Filter Metadata (#401) * Adding new services classes for jobCodes and namedReferences * Renaming package and services name classes. Extending new abstract class from the existing one. * refactoring JobCode classes and package. Adding CRUD requests * Adding Enum for MetadataType, Optimizing Imports * Adding implementation for delete method in Abstract service * Adding new services classes for jobCodes and namedReferences * Renaming package and services name classes. Extending new abstract class from the existing one. * refactoring JobCode classes and package. Adding CRUD requests * Adding Enum for MetadataType, Optimizing Imports * updating openapi.yaml to match endpoint definition. * Correcting Routepath and refactoring web methods * Refactoring entry points in navigation bar --- ui/angular.json | 7 +- ui/package-lock.json | 1701 +++++++++++++++++ ui/package.json | 2 + ui/src/app/app-routing.module.ts | 7 + ui/src/app/app.module.ts | 23 +- ui/src/app/auth/auth-roles.ts | 6 +- ...code-search-multi-select.component.spec.ts | 2 +- ...d-jobcode-search-multi-select.component.ts | 2 +- ...ld-jobcode-search-select.component.spec.ts | 2 +- ...m-field-jobcode-search-select.component.ts | 2 +- ...ld-jobcode-search-select.utilities.spec.ts | 2 +- ...m-field-jobcode-search-select.utilities.ts | 2 +- ui/src/app/metadata/PaginatedMetadata.ts | 11 + .../metadata/abstract-data.service.spec.ts | 31 + ui/src/app/metadata/abstract-data.service.ts | 37 + .../metadata-list.component.html | 83 + .../metadata-list.component.spec.ts | 47 + .../metadata-list/metadata-list.component.ts | 196 ++ .../metadata-selector.component.html | 10 + .../metadata-selector.component.scss | 4 + .../metadata-selector.component.spec.ts | 34 + .../metadata-selector.component.ts | 25 + .../{ => metadata}/job-codes/Jobcode.spec.ts | 4 +- .../app/{ => metadata}/job-codes/Jobcode.ts | 8 + .../job-code-list-row.component.html | 36 + .../job-code-list-row.component.spec.ts | 24 + .../job-code-list-row.component.ts | 41 + .../job-code-table.component.html | 72 + .../job-code-table.component.spec.ts | 24 + .../job-code-table.component.ts | 22 + .../service/job-code.service.spec.ts | 176 ++ .../job-codes/service/job-code.service.ts | 97 + .../named-references/NamedReference.ts | 25 + .../named-reference-list-row.component.html | 35 + ...named-reference-list-row.component.spec.ts | 25 + .../named-reference-list-row.component.ts | 41 + .../named-reference-table.component.html | 73 + .../named-reference-table.component.spec.ts | 25 + .../named-reference-table.component.ts | 21 + .../named-reference.service.spec.ts | 31 + .../named-reference.service.ts | 29 + ui/src/app/metadata/rsd-metadata.enum.ts | 10 + ui/src/app/models/filter-dropdown.model.ts | 2 +- .../commoncontrols-mobile.component.html | 6 + ui/src/app/navigation/header.component.html | 19 +- .../app/navigation/header.component.spec.ts | 4 +- ui/src/app/richskill/ApiSkill.spec.ts | 2 +- ui/src/app/richskill/ApiSkill.ts | 2 +- ui/src/app/richskill/ApiSkillSummary.ts | 2 +- .../occupations-card-section.component.ts | 2 +- .../form/rich-skill-form.component.spec.ts | 2 +- .../form/rich-skill-form.component.ts | 2 +- .../service/keyword-search.service.ts | 2 +- .../advanced-search.component.spec.ts | 2 +- .../advanced-search.component.ts | 2 +- .../filter-chips/filter-chips.component.ts | 2 +- .../filter-search.component.spec.ts | 2 +- .../filter-search/filter-search.component.ts | 2 +- .../search-multi-select.component.ts | 2 +- .../skill-table.component.spec.ts | 2 +- ui/src/styles.scss | 2 +- ui/test/resource/mock-data.ts | 2 +- ui/test/resource/mock-stubs.ts | 2 +- 63 files changed, 3072 insertions(+), 48 deletions(-) create mode 100644 ui/src/app/metadata/PaginatedMetadata.ts create mode 100644 ui/src/app/metadata/abstract-data.service.spec.ts create mode 100644 ui/src/app/metadata/abstract-data.service.ts create mode 100644 ui/src/app/metadata/detail/metadata-list/metadata-list.component.html create mode 100644 ui/src/app/metadata/detail/metadata-list/metadata-list.component.spec.ts create mode 100644 ui/src/app/metadata/detail/metadata-list/metadata-list.component.ts create mode 100644 ui/src/app/metadata/detail/metadata-selector/metadata-selector.component.html create mode 100644 ui/src/app/metadata/detail/metadata-selector/metadata-selector.component.scss create mode 100644 ui/src/app/metadata/detail/metadata-selector/metadata-selector.component.spec.ts create mode 100644 ui/src/app/metadata/detail/metadata-selector/metadata-selector.component.ts rename ui/src/app/{ => metadata}/job-codes/Jobcode.spec.ts (74%) rename ui/src/app/{ => metadata}/job-codes/Jobcode.ts (81%) create mode 100644 ui/src/app/metadata/job-codes/job-code-list-row/job-code-list-row.component.html create mode 100644 ui/src/app/metadata/job-codes/job-code-list-row/job-code-list-row.component.spec.ts create mode 100644 ui/src/app/metadata/job-codes/job-code-list-row/job-code-list-row.component.ts create mode 100644 ui/src/app/metadata/job-codes/job-code-table/job-code-table.component.html create mode 100644 ui/src/app/metadata/job-codes/job-code-table/job-code-table.component.spec.ts create mode 100644 ui/src/app/metadata/job-codes/job-code-table/job-code-table.component.ts create mode 100644 ui/src/app/metadata/job-codes/service/job-code.service.spec.ts create mode 100644 ui/src/app/metadata/job-codes/service/job-code.service.ts create mode 100644 ui/src/app/metadata/named-references/NamedReference.ts create mode 100644 ui/src/app/metadata/named-references/named-reference-list-row/named-reference-list-row.component.html create mode 100644 ui/src/app/metadata/named-references/named-reference-list-row/named-reference-list-row.component.spec.ts create mode 100644 ui/src/app/metadata/named-references/named-reference-list-row/named-reference-list-row.component.ts create mode 100644 ui/src/app/metadata/named-references/named-reference-table/named-reference-table.component.html create mode 100644 ui/src/app/metadata/named-references/named-reference-table/named-reference-table.component.spec.ts create mode 100644 ui/src/app/metadata/named-references/named-reference-table/named-reference-table.component.ts create mode 100644 ui/src/app/metadata/named-references/named-reference.service.spec.ts create mode 100644 ui/src/app/metadata/named-references/named-reference.service.ts create mode 100644 ui/src/app/metadata/rsd-metadata.enum.ts diff --git a/ui/angular.json b/ui/angular.json index 05cdfc9e3..4487e4895 100644 --- a/ui/angular.json +++ b/ui/angular.json @@ -49,6 +49,7 @@ } ], "styles": [ + "./node_modules/@angular/material/prebuilt-themes/indigo-pink.css", "node_modules/@concentricsky/wgu-design-system-patternlibrary/dist/css/screen.css", "src/styles.scss" ], @@ -126,6 +127,7 @@ "src/assets" ], "styles": [ + "./node_modules/@angular/material/prebuilt-themes/indigo-pink.css", "src/styles.scss" ], "scripts": [], @@ -145,9 +147,6 @@ } }, "cli": { - "analytics": false, - "schematicCollections": [ - "@angular-eslint/schematics" - ] + "analytics": false } } diff --git a/ui/package-lock.json b/ui/package-lock.json index fa0f68d4e..59c41ce94 100644 --- a/ui/package-lock.json +++ b/ui/package-lock.json @@ -13,6 +13,7 @@ "@angular/compiler": "^16.0.2", "@angular/core": "^16.0.2", "@angular/forms": "^16.0.2", + "@angular/material": "^16.0.2", "@angular/platform-browser": "^16.0.2", "@angular/platform-browser-dynamic": "^16.0.2", "@angular/router": "^16.0.2", @@ -38,6 +39,7 @@ "@angular-eslint/eslint-plugin-template": "16.0.2", "@angular-eslint/schematics": "16.0.2", "@angular-eslint/template-parser": "16.0.2", + "@angular/cdk": "^16.0.2", "@angular/cli": "^16.0.2", "@angular/compiler-cli": "^16.0.2", "@types/jasmine": "~4.3.2", @@ -587,6 +589,46 @@ "@angular/core": "16.0.4" } }, + "node_modules/@angular/cdk": { + "version": "16.1.4", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-16.1.4.tgz", + "integrity": "sha512-05m0+NoAkV5O15GUEX2GQLySe8iC6P0GXVqUjLipdGmZ2/pNndJ/DGbqkX8dAAo/Z3ss2TEyRNYMOJdLIjV5vw==", + "dependencies": { + "tslib": "^2.3.0" + }, + "optionalDependencies": { + "parse5": "^7.1.2" + }, + "peerDependencies": { + "@angular/common": "^16.0.0 || ^17.0.0", + "@angular/core": "^16.0.0 || ^17.0.0", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/cdk/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "optional": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/@angular/cdk/node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "optional": true, + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, "node_modules/@angular/cli": { "version": "16.0.4", "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-16.0.4.tgz", @@ -769,6 +811,70 @@ "rxjs": "^6.5.3 || ^7.4.0" } }, + "node_modules/@angular/material": { + "version": "16.1.4", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-16.1.4.tgz", + "integrity": "sha512-1SKWB14J+IorRL6uzq4a9cBLpVOMONTzso05LoVLGKrmtMCL5cRYLM/otT0IjY+oqG/fnTpsYDwV7E6n7AljeA==", + "dependencies": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/auto-init": "15.0.0-canary.b994146f6.0", + "@material/banner": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/button": "15.0.0-canary.b994146f6.0", + "@material/card": "15.0.0-canary.b994146f6.0", + "@material/checkbox": "15.0.0-canary.b994146f6.0", + "@material/chips": "15.0.0-canary.b994146f6.0", + "@material/circular-progress": "15.0.0-canary.b994146f6.0", + "@material/data-table": "15.0.0-canary.b994146f6.0", + "@material/density": "15.0.0-canary.b994146f6.0", + "@material/dialog": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/drawer": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/fab": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/floating-label": "15.0.0-canary.b994146f6.0", + "@material/form-field": "15.0.0-canary.b994146f6.0", + "@material/icon-button": "15.0.0-canary.b994146f6.0", + "@material/image-list": "15.0.0-canary.b994146f6.0", + "@material/layout-grid": "15.0.0-canary.b994146f6.0", + "@material/line-ripple": "15.0.0-canary.b994146f6.0", + "@material/linear-progress": "15.0.0-canary.b994146f6.0", + "@material/list": "15.0.0-canary.b994146f6.0", + "@material/menu": "15.0.0-canary.b994146f6.0", + "@material/menu-surface": "15.0.0-canary.b994146f6.0", + "@material/notched-outline": "15.0.0-canary.b994146f6.0", + "@material/radio": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/segmented-button": "15.0.0-canary.b994146f6.0", + "@material/select": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/slider": "15.0.0-canary.b994146f6.0", + "@material/snackbar": "15.0.0-canary.b994146f6.0", + "@material/switch": "15.0.0-canary.b994146f6.0", + "@material/tab": "15.0.0-canary.b994146f6.0", + "@material/tab-bar": "15.0.0-canary.b994146f6.0", + "@material/tab-indicator": "15.0.0-canary.b994146f6.0", + "@material/tab-scroller": "15.0.0-canary.b994146f6.0", + "@material/textfield": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tooltip": "15.0.0-canary.b994146f6.0", + "@material/top-app-bar": "15.0.0-canary.b994146f6.0", + "@material/touch-target": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@angular/animations": "^16.0.0 || ^17.0.0", + "@angular/cdk": "16.1.4", + "@angular/common": "^16.0.0 || ^17.0.0", + "@angular/core": "^16.0.0 || ^17.0.0", + "@angular/forms": "^16.0.0 || ^17.0.0", + "@angular/platform-browser": "^16.0.0 || ^17.0.0", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, "node_modules/@angular/platform-browser": { "version": "16.0.4", "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-16.0.4.tgz", @@ -3291,6 +3397,758 @@ "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", "dev": true }, + "node_modules/@material/animation": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/animation/-/animation-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-kqqzG54tabYJ5VsBur5k1bqCFQCEpaW3hmLRMiSVVxRY7XgTt7qkuOOz48gs+MPqR6P8VIi6gFpuscV1+DWDhw==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@material/auto-init": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/auto-init/-/auto-init-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-8nLe/XeueJg5yyYx5e4UxWQXpTDyUhibKfyroGwnRKc8pdpOCOulHSOj/fIVGJAIbxkEJoebwMadWUNCjUhc9A==", + "dependencies": { + "@material/base": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/banner": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/banner/-/banner-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-gJ4/VdP4dJgHP72Kdjy2f/UjHB45J4CuxoGvI0NIQYUjOSsr4kQiQHsjVgyEPZR/5wa7kBhM7/0mJ+zF7Ghv2A==", + "dependencies": { + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/button": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tokens": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/base": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/base/-/base-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-rW2upYD5YjRFBL6DzYn3SCRhtvpEDkwplDS810e3vt71uLMRyqXyw4OQJH+Nab/t+32TFDtKNUphXIzwICXGDQ==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@material/button": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/button/-/button-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-SMyqtsvJuCqpXBz2JgciuR6wddNJSGpTXUFxmLbGluBy5/hHm06JWlOFcUOxGDv46OdRGGrRfkg6A9JtvtsJsw==", + "dependencies": { + "@material/density": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/focus-ring": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tokens": "15.0.0-canary.b994146f6.0", + "@material/touch-target": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/card": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/card/-/card-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-WSggGon91HcDhJyatnYLFkoM9glkkeJjyjFDWrcJkwN1rdrPJU+GH+PNjvmArz5hGv9WkmjDjhOdAuPnL4Mb7g==", + "dependencies": { + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tokens": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/checkbox": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/checkbox/-/checkbox-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-pulRiwG9S/dS6WBG+GteODBltddFiL0Sb7HAqdzF2BTKNKv25q1ZIR3ftoEa09TNeWM88AOzTJ4aBHiADfJn2w==", + "dependencies": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/density": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/focus-ring": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/touch-target": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/chips": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/chips/-/chips-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-3yJPj7x+eKLA4LMKG7aTWI+itAnKRVGOcniuR6aiXVy0OKr5asNuWNeZc9J0/VErjjxF3tdybDzDSPo01qPy9w==", + "dependencies": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/checkbox": "15.0.0-canary.b994146f6.0", + "@material/density": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/focus-ring": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tokens": "15.0.0-canary.b994146f6.0", + "@material/touch-target": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "safevalues": "^0.3.4", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/circular-progress": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/circular-progress/-/circular-progress-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-6YUvGXdtZKJoE7AuovR4xk1aiWp/EDZ6j2U3TOeynd1assQQCg5XT4abqAoHtpJrRPaCFgUAp836HyiDVVuYug==", + "dependencies": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/progress-indicator": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/data-table": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/data-table/-/data-table-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-v4hIduIe/wzyibuL/RPM/ErYrt8XpB7fxyQqtV+0JsMpFa8E81QYyvMCS9EJj9m4YdkrQnZgA+vXQlOkhWvmdQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/checkbox": "15.0.0-canary.b994146f6.0", + "@material/density": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/icon-button": "15.0.0-canary.b994146f6.0", + "@material/linear-progress": "15.0.0-canary.b994146f6.0", + "@material/list": "15.0.0-canary.b994146f6.0", + "@material/menu": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/select": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tokens": "15.0.0-canary.b994146f6.0", + "@material/touch-target": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/density": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/density/-/density-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-m8l0vuoWSoAPItBpWp5eZDvitUcB2JWoO8V486hLgdveVcKgXG09xWM43ScH+PLXAWjzr5olDEuJ2tvfkN3SpQ==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@material/dialog": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/dialog/-/dialog-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-JucU92yh8cfZQpyRBunHr6uohacePLYmhcPaGpkAGQ1b+zCznEsNs55tjhaVQNoj91XA9rrBqtL6Otg+fxFJtQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/button": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/icon-button": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tokens": "15.0.0-canary.b994146f6.0", + "@material/touch-target": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/dom": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/dom/-/dom-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-DiUsTezrCi4iytjIn7xXoXZSNFvuTrVVZgc7cR9cW8yu2Hpz8bPf87PacVn4IP9OsNwy/dCDMk1Kcq/DMh7gXQ==", + "dependencies": { + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/drawer": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/drawer/-/drawer-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-Kbuf32V0eX69amvCVbAjNSabNDerZWyG8ip466EfQHRh0OUZwvsbhLp9FZOB7AyR+/bQiHf3mVLcombOdmdkcQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/list": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/elevation": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/elevation/-/elevation-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-l2YDNgBajSI6oA2l6gaeYCTGHRao657syqQ/tv95/Hkcee9900A4RrsxCwSxOqqAs5pZZDEJ33kFJjj27nqZDw==", + "dependencies": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/fab": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/fab/-/fab-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-ExyDVkNWINpns41Ahj4u8I/OhiVkqI0nmcqjFRtgTJMmKEd4NhlvqIxE7gakAlyS68riJu5UleqTSTVmt8mv2Q==", + "dependencies": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/focus-ring": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tokens": "15.0.0-canary.b994146f6.0", + "@material/touch-target": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/feature-targeting": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/feature-targeting/-/feature-targeting-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-HR/FjSQmza98B1DF80MRjODyfOI9r7wXkPSts/cLQsYkpwZ5uJmxhvQKjDCeYVpMV0lQuvuvVOQo7uD44TdWEg==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@material/floating-label": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/floating-label/-/floating-label-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-g64talBNWCS0FUfLWal0uB637gUciSIqYxFzSW//LglTtbZLGK2J4+9gAEswQGnKeO4ux08EN2n1ZcMDYQ58ow==", + "dependencies": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/focus-ring": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/focus-ring/-/focus-ring-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-87qEMuXsCvlQfTiimnzJUZoebnIXWcMtRZevNLymN9Y0t9jGckQxZPmrI0llRkpyiR/Ewhec5SI/JGrFlYHnsA==", + "dependencies": { + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0" + } + }, + "node_modules/@material/form-field": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/form-field/-/form-field-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-Tg1SQQaopvXMyDEYxGTWnhCWQmNcWVIoKMLmle9P/gi2p8ulcj0iOCPYf+3ECqUBVozOmTPKlYOOiRwtKStAeA==", + "dependencies": { + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/icon-button": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/icon-button/-/icon-button-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-X6DvOv4jpymHUjI7ZAbO946nDgGYKDwPZfkRzBE84gv2XEr2qfMuABhojxkYubRbt03oauBdcJVVMFCXkVhArQ==", + "dependencies": { + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/density": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/focus-ring": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/touch-target": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/image-list": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/image-list/-/image-list-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-kf903XFF1P+V5ZPXCt+7R6c55g4UyQE1ZHkTViCIJfd52gU40bHODMhTQy/ywBkwDeJfNk8uf1V1IM24WQYpxA==", + "dependencies": { + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/layout-grid": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/layout-grid/-/layout-grid-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-OALBSGue8g1/mEwLYYi2d950dJFpNYKW87jPS9/KM65JKMyxoU7tU2d4An1BuyqK0r9sopGq6Pn/zhill0iLaw==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@material/line-ripple": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/line-ripple/-/line-ripple-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-evjZxCu4iodiKtW8N0xjY8ACRXm3sY+4rAmq3vV5BmHWAJ3BobjbFYslDMZQ+4mu3HmwMatbJehKxHegahitNg==", + "dependencies": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/linear-progress": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/linear-progress/-/linear-progress-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-jlXh+tIj+/o0Ks7fHdC/24fH6IXCAl2vF52U6NwT39ESrlwmlLhp3gtag5GSBHN5E7Z09nK871Yo1G/b1F+COg==", + "dependencies": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/progress-indicator": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/list": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/list/-/list-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-kY/i6VvFBb/W3VvCPvWRMzWvu7mvNFJ+R8ijfawDoAXiv4fj42GO4iFyTcFXaUevEPKp791pN/09BMJQ6jYEvA==", + "dependencies": { + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/density": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tokens": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/menu": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/menu/-/menu-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-y6smNmLJ+U0DoXWbyqzW+VW/uWDuklhdGHc5MbZrTOhsKkhvoTVNMSOa+NFPU4gTwrplvUjaUvnIsQ0wygwD3g==", + "dependencies": { + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/list": "15.0.0-canary.b994146f6.0", + "@material/menu-surface": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tokens": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/menu-surface": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/menu-surface/-/menu-surface-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-StmM3lrRn1iMEZfq532jpMNppqyBBy68FbPurKEsHuP/3q+CscfnwjrS9ym+JcHqXKMHnQXbL/49ymffRGX2AQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/notched-outline": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/notched-outline/-/notched-outline-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-UZxU8jXM2t/bk/CiO0K+TSPspuJRZIyrYlIS0gd+qq/u8Gi2DpALBlLAh9Jeu46IUg4YGlPsNWYfe8p3QAVyoA==", + "dependencies": { + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/floating-label": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/progress-indicator": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/progress-indicator/-/progress-indicator-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-VT+mOQhohaM+pBX1rknbVOI6JCGKg9NiOHBoYljIvnexNeILE+mW9g6mtQ0ZCJPz0oMmiSAMLcuxMIcBXx84Xw==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@material/radio": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/radio/-/radio-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-U/RR2lVNWwEO2+kJtGz9XzvnOF0gAZn1krMY0z/eU9Wnl0OgPZbqQrxXMoVNv1pzKYSEwZQEGado/rv8qp7piA==", + "dependencies": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/density": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/focus-ring": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/touch-target": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/ripple": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/ripple/-/ripple-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-WzIbc8wYTzMOczqGXVCBPdNcv/73Ef8FwcQYsscGMaqCzgVsdpoqilTfsx7Ryyz6dQbyfmJqp7s+YpPujcezOA==", + "dependencies": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/rtl": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/rtl/-/rtl-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-H/W6BVn4Ygfkrf/FgSrNhbu1uY7PST2wlsjEYQt06EfAM0CDHEwSL1MwV4FmpQA/r40Q0PqoLN6moDrtCe5S8g==", + "dependencies": { + "@material/theme": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/segmented-button": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/segmented-button/-/segmented-button-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-jd+f4BTnU0tghxBpAM/XdVmruDXSoQ88TYSFWbrhulS+/c/ooCZURWvVC4mHNej+QR/fODkx4adbqkBiwwCtMw==", + "dependencies": { + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/touch-target": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/select": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/select/-/select-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-5thEQS+B17JSm3I8D+mqQe2G3ArVnXJALTEEE9FmMUKwKYkrsLplm3FYuEXERZGJnYeTRdkdmhYY/YeocfZoyA==", + "dependencies": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/density": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/floating-label": "15.0.0-canary.b994146f6.0", + "@material/line-ripple": "15.0.0-canary.b994146f6.0", + "@material/list": "15.0.0-canary.b994146f6.0", + "@material/menu": "15.0.0-canary.b994146f6.0", + "@material/menu-surface": "15.0.0-canary.b994146f6.0", + "@material/notched-outline": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tokens": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/shape": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/shape/-/shape-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-sINM3gr3aLgdvqZVfqfXV5EB77owLLJjy+2NqchJ8ZPqucCJ+F/BsCBfLA2Wu3O4Sc9IpAEn/o1hzYm/CWAFAw==", + "dependencies": { + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/slider": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/slider/-/slider-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-dyT72+Kp//AEajJxDUVoMoizUjf2uggVMGXOaQ7FhpGHuf7LC3EyEjrrJ15efFzYgTjdJUU1YQkCwGmdt6CQsA==", + "dependencies": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tokens": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/snackbar": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/snackbar/-/snackbar-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-fEhPASJossScNpcrNYrrH8uU+rUf6+kw7/ZMrpUzzz1lVXliL28jTNEmU1nFpcDI4M2GXH+Z64f7vl2hiMDG8g==", + "dependencies": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/button": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/icon-button": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tokens": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/switch": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/switch/-/switch-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-czCXTUa30ILIf1J3exiuSVIRcodGATHexd3eWDq4sfHo4iMh4rBMaIxcqkmnb2iwE/mMTNyVfoauijx2QiNKrA==", + "dependencies": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/density": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/focus-ring": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tokens": "15.0.0-canary.b994146f6.0", + "safevalues": "^0.3.4", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/tab": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/tab/-/tab-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-ygswooiNdBNNDnQdbPX0nzDQu7oQlHo8vWZ0/xL4IPVEXabY5zCzsEbGNZw2u/syo56c/NHPyMsUmXDGRSXOvQ==", + "dependencies": { + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/focus-ring": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/tab-indicator": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tokens": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/tab-bar": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/tab-bar/-/tab-bar-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-F9NegACnFEWMu1pAAypV4Jd7qROeffkvEgVO28Xxk/CvzZxFz8kAjYJZ+rI6RUhPX3BhXzwsz/AlLwsJMT2tnA==", + "dependencies": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/density": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/tab": "15.0.0-canary.b994146f6.0", + "@material/tab-indicator": "15.0.0-canary.b994146f6.0", + "@material/tab-scroller": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tokens": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/tab-indicator": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/tab-indicator/-/tab-indicator-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-8IH/DmwlZhQlw/2Y3aKrEvjEhZB+qbKUiyaij3BkTAexvyFeDBh5cLNjRpYkUJSGeSPhS6yu4SYzMHPmQEwQmA==", + "dependencies": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/tab-scroller": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/tab-scroller/-/tab-scroller-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-1MeWkr62OICfTv8oqhIZe6jFo0dKeMlUfB+/WcgnpoeMBszCOSlx5tQ4pedxUkuR3I+Z7rsTfSN0LavgF8bATA==", + "dependencies": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/tab": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/textfield": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/textfield/-/textfield-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-Kxb3DoJ5o8u3Y1gRMHKmWrDl1TirVxuf/UFrxPFiCE3J1SqiE2VQpakiD1emZwp+LSKtbRsQ/iILYLB/h7Wuvw==", + "dependencies": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/density": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/floating-label": "15.0.0-canary.b994146f6.0", + "@material/line-ripple": "15.0.0-canary.b994146f6.0", + "@material/notched-outline": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tokens": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/theme": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/theme/-/theme-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-5tsZ92dAeUcZ9g9CrIkqX/GYc0M5DIfsydtI1PAidaBzr1Uokuh4rTZVQZBv7gyglF0yDua59lkb0I6wI9vxXg==", + "dependencies": { + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/tokens": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/tokens/-/tokens-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-jFqU7PtvGkrP8b8i2soCrYQInTrnZ1/rIPDi+Xm3sa/qSghCNwFrdJEqwcwtv1fPlJIOtzkIuVRYRmAP9rXQIQ==", + "dependencies": { + "@material/elevation": "15.0.0-canary.b994146f6.0" + } + }, + "node_modules/@material/tooltip": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/tooltip/-/tooltip-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-bVzydXGn3fauHJ8pkh32DsdyRJXleeFQ4t7jZ/rcRik+n4G1BvYiblfuu3Z/OCC0m3TJDyMdJhd+sLqRDqLUUg==", + "dependencies": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/button": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tokens": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "safevalues": "^0.3.4", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/top-app-bar": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/top-app-bar/-/top-app-bar-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-VHq0wX3OJE1TKvjO8Qtlu+rv5EGoqAhNLBcEjpUUGoqHH/gpd356FEuIqJId4pUh5jaWf8T4ZU9xVbQGMtntzw==", + "dependencies": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/touch-target": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/touch-target/-/touch-target-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-X26Y9OWvIqYOHo+sC2VMvOoeQWlUR3/yb7uPdfq92Y44zlQ4Vexgq7nEUblEiXQ8Fj+d0T9rIhRh1y9PP3Z2dw==", + "dependencies": { + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/typography": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/typography/-/typography-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-sWU5W30WWqdw5P6bsRx9AbvMNcz/QvQg56Syr06V6nfgSztpeuo7TfPk2J+N0ArRALo1mUrkAPk66iWYQ2p/QA==", + "dependencies": { + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, "node_modules/@ng-idle/core": { "version": "12.0.4", "resolved": "https://registry.npmjs.org/@ng-idle/core/-/core-12.0.4.tgz", @@ -12505,6 +13363,11 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, + "node_modules/safevalues": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/safevalues/-/safevalues-0.3.4.tgz", + "integrity": "sha512-LRneZZRXNgjzwG4bDQdOTSbze3fHm1EAKN/8bePxnlEZiBmkYEDggaHbuvHI9/hoqHbGfsEA7tWS9GhYHZBBsw==" + }, "node_modules/sass": { "version": "1.62.1", "resolved": "https://registry.npmjs.org/sass/-/sass-1.62.1.tgz", @@ -15227,6 +16090,32 @@ "tslib": "^2.3.0" } }, + "@angular/cdk": { + "version": "16.1.4", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-16.1.4.tgz", + "integrity": "sha512-05m0+NoAkV5O15GUEX2GQLySe8iC6P0GXVqUjLipdGmZ2/pNndJ/DGbqkX8dAAo/Z3ss2TEyRNYMOJdLIjV5vw==", + "requires": { + "parse5": "^7.1.2", + "tslib": "^2.3.0" + }, + "dependencies": { + "entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "optional": true + }, + "parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "optional": true, + "requires": { + "entities": "^4.4.0" + } + } + } + }, "@angular/cli": { "version": "16.0.4", "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-16.0.4.tgz", @@ -15346,6 +16235,61 @@ "tslib": "^2.3.0" } }, + "@angular/material": { + "version": "16.1.4", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-16.1.4.tgz", + "integrity": "sha512-1SKWB14J+IorRL6uzq4a9cBLpVOMONTzso05LoVLGKrmtMCL5cRYLM/otT0IjY+oqG/fnTpsYDwV7E6n7AljeA==", + "requires": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/auto-init": "15.0.0-canary.b994146f6.0", + "@material/banner": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/button": "15.0.0-canary.b994146f6.0", + "@material/card": "15.0.0-canary.b994146f6.0", + "@material/checkbox": "15.0.0-canary.b994146f6.0", + "@material/chips": "15.0.0-canary.b994146f6.0", + "@material/circular-progress": "15.0.0-canary.b994146f6.0", + "@material/data-table": "15.0.0-canary.b994146f6.0", + "@material/density": "15.0.0-canary.b994146f6.0", + "@material/dialog": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/drawer": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/fab": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/floating-label": "15.0.0-canary.b994146f6.0", + "@material/form-field": "15.0.0-canary.b994146f6.0", + "@material/icon-button": "15.0.0-canary.b994146f6.0", + "@material/image-list": "15.0.0-canary.b994146f6.0", + "@material/layout-grid": "15.0.0-canary.b994146f6.0", + "@material/line-ripple": "15.0.0-canary.b994146f6.0", + "@material/linear-progress": "15.0.0-canary.b994146f6.0", + "@material/list": "15.0.0-canary.b994146f6.0", + "@material/menu": "15.0.0-canary.b994146f6.0", + "@material/menu-surface": "15.0.0-canary.b994146f6.0", + "@material/notched-outline": "15.0.0-canary.b994146f6.0", + "@material/radio": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/segmented-button": "15.0.0-canary.b994146f6.0", + "@material/select": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/slider": "15.0.0-canary.b994146f6.0", + "@material/snackbar": "15.0.0-canary.b994146f6.0", + "@material/switch": "15.0.0-canary.b994146f6.0", + "@material/tab": "15.0.0-canary.b994146f6.0", + "@material/tab-bar": "15.0.0-canary.b994146f6.0", + "@material/tab-indicator": "15.0.0-canary.b994146f6.0", + "@material/tab-scroller": "15.0.0-canary.b994146f6.0", + "@material/textfield": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tooltip": "15.0.0-canary.b994146f6.0", + "@material/top-app-bar": "15.0.0-canary.b994146f6.0", + "@material/touch-target": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.3.0" + } + }, "@angular/platform-browser": { "version": "16.0.4", "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-16.0.4.tgz", @@ -17050,6 +17994,758 @@ "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", "dev": true }, + "@material/animation": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/animation/-/animation-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-kqqzG54tabYJ5VsBur5k1bqCFQCEpaW3hmLRMiSVVxRY7XgTt7qkuOOz48gs+MPqR6P8VIi6gFpuscV1+DWDhw==", + "requires": { + "tslib": "^2.1.0" + } + }, + "@material/auto-init": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/auto-init/-/auto-init-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-8nLe/XeueJg5yyYx5e4UxWQXpTDyUhibKfyroGwnRKc8pdpOCOulHSOj/fIVGJAIbxkEJoebwMadWUNCjUhc9A==", + "requires": { + "@material/base": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "@material/banner": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/banner/-/banner-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-gJ4/VdP4dJgHP72Kdjy2f/UjHB45J4CuxoGvI0NIQYUjOSsr4kQiQHsjVgyEPZR/5wa7kBhM7/0mJ+zF7Ghv2A==", + "requires": { + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/button": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tokens": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "@material/base": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/base/-/base-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-rW2upYD5YjRFBL6DzYn3SCRhtvpEDkwplDS810e3vt71uLMRyqXyw4OQJH+Nab/t+32TFDtKNUphXIzwICXGDQ==", + "requires": { + "tslib": "^2.1.0" + } + }, + "@material/button": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/button/-/button-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-SMyqtsvJuCqpXBz2JgciuR6wddNJSGpTXUFxmLbGluBy5/hHm06JWlOFcUOxGDv46OdRGGrRfkg6A9JtvtsJsw==", + "requires": { + "@material/density": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/focus-ring": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tokens": "15.0.0-canary.b994146f6.0", + "@material/touch-target": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "@material/card": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/card/-/card-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-WSggGon91HcDhJyatnYLFkoM9glkkeJjyjFDWrcJkwN1rdrPJU+GH+PNjvmArz5hGv9WkmjDjhOdAuPnL4Mb7g==", + "requires": { + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tokens": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "@material/checkbox": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/checkbox/-/checkbox-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-pulRiwG9S/dS6WBG+GteODBltddFiL0Sb7HAqdzF2BTKNKv25q1ZIR3ftoEa09TNeWM88AOzTJ4aBHiADfJn2w==", + "requires": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/density": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/focus-ring": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/touch-target": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "@material/chips": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/chips/-/chips-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-3yJPj7x+eKLA4LMKG7aTWI+itAnKRVGOcniuR6aiXVy0OKr5asNuWNeZc9J0/VErjjxF3tdybDzDSPo01qPy9w==", + "requires": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/checkbox": "15.0.0-canary.b994146f6.0", + "@material/density": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/focus-ring": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tokens": "15.0.0-canary.b994146f6.0", + "@material/touch-target": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "safevalues": "^0.3.4", + "tslib": "^2.1.0" + } + }, + "@material/circular-progress": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/circular-progress/-/circular-progress-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-6YUvGXdtZKJoE7AuovR4xk1aiWp/EDZ6j2U3TOeynd1assQQCg5XT4abqAoHtpJrRPaCFgUAp836HyiDVVuYug==", + "requires": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/progress-indicator": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "@material/data-table": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/data-table/-/data-table-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-v4hIduIe/wzyibuL/RPM/ErYrt8XpB7fxyQqtV+0JsMpFa8E81QYyvMCS9EJj9m4YdkrQnZgA+vXQlOkhWvmdQ==", + "requires": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/checkbox": "15.0.0-canary.b994146f6.0", + "@material/density": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/icon-button": "15.0.0-canary.b994146f6.0", + "@material/linear-progress": "15.0.0-canary.b994146f6.0", + "@material/list": "15.0.0-canary.b994146f6.0", + "@material/menu": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/select": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tokens": "15.0.0-canary.b994146f6.0", + "@material/touch-target": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "@material/density": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/density/-/density-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-m8l0vuoWSoAPItBpWp5eZDvitUcB2JWoO8V486hLgdveVcKgXG09xWM43ScH+PLXAWjzr5olDEuJ2tvfkN3SpQ==", + "requires": { + "tslib": "^2.1.0" + } + }, + "@material/dialog": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/dialog/-/dialog-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-JucU92yh8cfZQpyRBunHr6uohacePLYmhcPaGpkAGQ1b+zCznEsNs55tjhaVQNoj91XA9rrBqtL6Otg+fxFJtQ==", + "requires": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/button": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/icon-button": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tokens": "15.0.0-canary.b994146f6.0", + "@material/touch-target": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "@material/dom": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/dom/-/dom-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-DiUsTezrCi4iytjIn7xXoXZSNFvuTrVVZgc7cR9cW8yu2Hpz8bPf87PacVn4IP9OsNwy/dCDMk1Kcq/DMh7gXQ==", + "requires": { + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "@material/drawer": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/drawer/-/drawer-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-Kbuf32V0eX69amvCVbAjNSabNDerZWyG8ip466EfQHRh0OUZwvsbhLp9FZOB7AyR+/bQiHf3mVLcombOdmdkcQ==", + "requires": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/list": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "@material/elevation": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/elevation/-/elevation-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-l2YDNgBajSI6oA2l6gaeYCTGHRao657syqQ/tv95/Hkcee9900A4RrsxCwSxOqqAs5pZZDEJ33kFJjj27nqZDw==", + "requires": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "@material/fab": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/fab/-/fab-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-ExyDVkNWINpns41Ahj4u8I/OhiVkqI0nmcqjFRtgTJMmKEd4NhlvqIxE7gakAlyS68riJu5UleqTSTVmt8mv2Q==", + "requires": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/focus-ring": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tokens": "15.0.0-canary.b994146f6.0", + "@material/touch-target": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "@material/feature-targeting": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/feature-targeting/-/feature-targeting-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-HR/FjSQmza98B1DF80MRjODyfOI9r7wXkPSts/cLQsYkpwZ5uJmxhvQKjDCeYVpMV0lQuvuvVOQo7uD44TdWEg==", + "requires": { + "tslib": "^2.1.0" + } + }, + "@material/floating-label": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/floating-label/-/floating-label-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-g64talBNWCS0FUfLWal0uB637gUciSIqYxFzSW//LglTtbZLGK2J4+9gAEswQGnKeO4ux08EN2n1ZcMDYQ58ow==", + "requires": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "@material/focus-ring": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/focus-ring/-/focus-ring-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-87qEMuXsCvlQfTiimnzJUZoebnIXWcMtRZevNLymN9Y0t9jGckQxZPmrI0llRkpyiR/Ewhec5SI/JGrFlYHnsA==", + "requires": { + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0" + } + }, + "@material/form-field": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/form-field/-/form-field-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-Tg1SQQaopvXMyDEYxGTWnhCWQmNcWVIoKMLmle9P/gi2p8ulcj0iOCPYf+3ECqUBVozOmTPKlYOOiRwtKStAeA==", + "requires": { + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "@material/icon-button": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/icon-button/-/icon-button-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-X6DvOv4jpymHUjI7ZAbO946nDgGYKDwPZfkRzBE84gv2XEr2qfMuABhojxkYubRbt03oauBdcJVVMFCXkVhArQ==", + "requires": { + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/density": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/focus-ring": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/touch-target": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "@material/image-list": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/image-list/-/image-list-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-kf903XFF1P+V5ZPXCt+7R6c55g4UyQE1ZHkTViCIJfd52gU40bHODMhTQy/ywBkwDeJfNk8uf1V1IM24WQYpxA==", + "requires": { + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "@material/layout-grid": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/layout-grid/-/layout-grid-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-OALBSGue8g1/mEwLYYi2d950dJFpNYKW87jPS9/KM65JKMyxoU7tU2d4An1BuyqK0r9sopGq6Pn/zhill0iLaw==", + "requires": { + "tslib": "^2.1.0" + } + }, + "@material/line-ripple": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/line-ripple/-/line-ripple-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-evjZxCu4iodiKtW8N0xjY8ACRXm3sY+4rAmq3vV5BmHWAJ3BobjbFYslDMZQ+4mu3HmwMatbJehKxHegahitNg==", + "requires": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "@material/linear-progress": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/linear-progress/-/linear-progress-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-jlXh+tIj+/o0Ks7fHdC/24fH6IXCAl2vF52U6NwT39ESrlwmlLhp3gtag5GSBHN5E7Z09nK871Yo1G/b1F+COg==", + "requires": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/progress-indicator": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "@material/list": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/list/-/list-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-kY/i6VvFBb/W3VvCPvWRMzWvu7mvNFJ+R8ijfawDoAXiv4fj42GO4iFyTcFXaUevEPKp791pN/09BMJQ6jYEvA==", + "requires": { + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/density": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tokens": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "@material/menu": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/menu/-/menu-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-y6smNmLJ+U0DoXWbyqzW+VW/uWDuklhdGHc5MbZrTOhsKkhvoTVNMSOa+NFPU4gTwrplvUjaUvnIsQ0wygwD3g==", + "requires": { + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/list": "15.0.0-canary.b994146f6.0", + "@material/menu-surface": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tokens": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "@material/menu-surface": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/menu-surface/-/menu-surface-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-StmM3lrRn1iMEZfq532jpMNppqyBBy68FbPurKEsHuP/3q+CscfnwjrS9ym+JcHqXKMHnQXbL/49ymffRGX2AQ==", + "requires": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "@material/notched-outline": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/notched-outline/-/notched-outline-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-UZxU8jXM2t/bk/CiO0K+TSPspuJRZIyrYlIS0gd+qq/u8Gi2DpALBlLAh9Jeu46IUg4YGlPsNWYfe8p3QAVyoA==", + "requires": { + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/floating-label": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "@material/progress-indicator": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/progress-indicator/-/progress-indicator-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-VT+mOQhohaM+pBX1rknbVOI6JCGKg9NiOHBoYljIvnexNeILE+mW9g6mtQ0ZCJPz0oMmiSAMLcuxMIcBXx84Xw==", + "requires": { + "tslib": "^2.1.0" + } + }, + "@material/radio": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/radio/-/radio-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-U/RR2lVNWwEO2+kJtGz9XzvnOF0gAZn1krMY0z/eU9Wnl0OgPZbqQrxXMoVNv1pzKYSEwZQEGado/rv8qp7piA==", + "requires": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/density": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/focus-ring": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/touch-target": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "@material/ripple": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/ripple/-/ripple-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-WzIbc8wYTzMOczqGXVCBPdNcv/73Ef8FwcQYsscGMaqCzgVsdpoqilTfsx7Ryyz6dQbyfmJqp7s+YpPujcezOA==", + "requires": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "@material/rtl": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/rtl/-/rtl-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-H/W6BVn4Ygfkrf/FgSrNhbu1uY7PST2wlsjEYQt06EfAM0CDHEwSL1MwV4FmpQA/r40Q0PqoLN6moDrtCe5S8g==", + "requires": { + "@material/theme": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "@material/segmented-button": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/segmented-button/-/segmented-button-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-jd+f4BTnU0tghxBpAM/XdVmruDXSoQ88TYSFWbrhulS+/c/ooCZURWvVC4mHNej+QR/fODkx4adbqkBiwwCtMw==", + "requires": { + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/touch-target": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "@material/select": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/select/-/select-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-5thEQS+B17JSm3I8D+mqQe2G3ArVnXJALTEEE9FmMUKwKYkrsLplm3FYuEXERZGJnYeTRdkdmhYY/YeocfZoyA==", + "requires": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/density": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/floating-label": "15.0.0-canary.b994146f6.0", + "@material/line-ripple": "15.0.0-canary.b994146f6.0", + "@material/list": "15.0.0-canary.b994146f6.0", + "@material/menu": "15.0.0-canary.b994146f6.0", + "@material/menu-surface": "15.0.0-canary.b994146f6.0", + "@material/notched-outline": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tokens": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "@material/shape": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/shape/-/shape-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-sINM3gr3aLgdvqZVfqfXV5EB77owLLJjy+2NqchJ8ZPqucCJ+F/BsCBfLA2Wu3O4Sc9IpAEn/o1hzYm/CWAFAw==", + "requires": { + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "@material/slider": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/slider/-/slider-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-dyT72+Kp//AEajJxDUVoMoizUjf2uggVMGXOaQ7FhpGHuf7LC3EyEjrrJ15efFzYgTjdJUU1YQkCwGmdt6CQsA==", + "requires": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tokens": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "@material/snackbar": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/snackbar/-/snackbar-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-fEhPASJossScNpcrNYrrH8uU+rUf6+kw7/ZMrpUzzz1lVXliL28jTNEmU1nFpcDI4M2GXH+Z64f7vl2hiMDG8g==", + "requires": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/button": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/icon-button": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tokens": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "@material/switch": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/switch/-/switch-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-czCXTUa30ILIf1J3exiuSVIRcodGATHexd3eWDq4sfHo4iMh4rBMaIxcqkmnb2iwE/mMTNyVfoauijx2QiNKrA==", + "requires": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/density": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/focus-ring": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tokens": "15.0.0-canary.b994146f6.0", + "safevalues": "^0.3.4", + "tslib": "^2.1.0" + } + }, + "@material/tab": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/tab/-/tab-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-ygswooiNdBNNDnQdbPX0nzDQu7oQlHo8vWZ0/xL4IPVEXabY5zCzsEbGNZw2u/syo56c/NHPyMsUmXDGRSXOvQ==", + "requires": { + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/focus-ring": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/tab-indicator": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tokens": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "@material/tab-bar": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/tab-bar/-/tab-bar-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-F9NegACnFEWMu1pAAypV4Jd7qROeffkvEgVO28Xxk/CvzZxFz8kAjYJZ+rI6RUhPX3BhXzwsz/AlLwsJMT2tnA==", + "requires": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/density": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/tab": "15.0.0-canary.b994146f6.0", + "@material/tab-indicator": "15.0.0-canary.b994146f6.0", + "@material/tab-scroller": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tokens": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "@material/tab-indicator": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/tab-indicator/-/tab-indicator-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-8IH/DmwlZhQlw/2Y3aKrEvjEhZB+qbKUiyaij3BkTAexvyFeDBh5cLNjRpYkUJSGeSPhS6yu4SYzMHPmQEwQmA==", + "requires": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "@material/tab-scroller": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/tab-scroller/-/tab-scroller-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-1MeWkr62OICfTv8oqhIZe6jFo0dKeMlUfB+/WcgnpoeMBszCOSlx5tQ4pedxUkuR3I+Z7rsTfSN0LavgF8bATA==", + "requires": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/tab": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "@material/textfield": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/textfield/-/textfield-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-Kxb3DoJ5o8u3Y1gRMHKmWrDl1TirVxuf/UFrxPFiCE3J1SqiE2VQpakiD1emZwp+LSKtbRsQ/iILYLB/h7Wuvw==", + "requires": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/density": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/floating-label": "15.0.0-canary.b994146f6.0", + "@material/line-ripple": "15.0.0-canary.b994146f6.0", + "@material/notched-outline": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tokens": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "@material/theme": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/theme/-/theme-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-5tsZ92dAeUcZ9g9CrIkqX/GYc0M5DIfsydtI1PAidaBzr1Uokuh4rTZVQZBv7gyglF0yDua59lkb0I6wI9vxXg==", + "requires": { + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "@material/tokens": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/tokens/-/tokens-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-jFqU7PtvGkrP8b8i2soCrYQInTrnZ1/rIPDi+Xm3sa/qSghCNwFrdJEqwcwtv1fPlJIOtzkIuVRYRmAP9rXQIQ==", + "requires": { + "@material/elevation": "15.0.0-canary.b994146f6.0" + } + }, + "@material/tooltip": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/tooltip/-/tooltip-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-bVzydXGn3fauHJ8pkh32DsdyRJXleeFQ4t7jZ/rcRik+n4G1BvYiblfuu3Z/OCC0m3TJDyMdJhd+sLqRDqLUUg==", + "requires": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/button": "15.0.0-canary.b994146f6.0", + "@material/dom": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/tokens": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "safevalues": "^0.3.4", + "tslib": "^2.1.0" + } + }, + "@material/top-app-bar": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/top-app-bar/-/top-app-bar-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-VHq0wX3OJE1TKvjO8Qtlu+rv5EGoqAhNLBcEjpUUGoqHH/gpd356FEuIqJId4pUh5jaWf8T4ZU9xVbQGMtntzw==", + "requires": { + "@material/animation": "15.0.0-canary.b994146f6.0", + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/elevation": "15.0.0-canary.b994146f6.0", + "@material/ripple": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/shape": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "@material/typography": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "@material/touch-target": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/touch-target/-/touch-target-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-X26Y9OWvIqYOHo+sC2VMvOoeQWlUR3/yb7uPdfq92Y44zlQ4Vexgq7nEUblEiXQ8Fj+d0T9rIhRh1y9PP3Z2dw==", + "requires": { + "@material/base": "15.0.0-canary.b994146f6.0", + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/rtl": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, + "@material/typography": { + "version": "15.0.0-canary.b994146f6.0", + "resolved": "https://registry.npmjs.org/@material/typography/-/typography-15.0.0-canary.b994146f6.0.tgz", + "integrity": "sha512-sWU5W30WWqdw5P6bsRx9AbvMNcz/QvQg56Syr06V6nfgSztpeuo7TfPk2J+N0ArRALo1mUrkAPk66iWYQ2p/QA==", + "requires": { + "@material/feature-targeting": "15.0.0-canary.b994146f6.0", + "@material/theme": "15.0.0-canary.b994146f6.0", + "tslib": "^2.1.0" + } + }, "@ng-idle/core": { "version": "12.0.4", "resolved": "https://registry.npmjs.org/@ng-idle/core/-/core-12.0.4.tgz", @@ -23982,6 +25678,11 @@ "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, + "safevalues": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/safevalues/-/safevalues-0.3.4.tgz", + "integrity": "sha512-LRneZZRXNgjzwG4bDQdOTSbze3fHm1EAKN/8bePxnlEZiBmkYEDggaHbuvHI9/hoqHbGfsEA7tWS9GhYHZBBsw==" + }, "sass": { "version": "1.62.1", "resolved": "https://registry.npmjs.org/sass/-/sass-1.62.1.tgz", diff --git a/ui/package.json b/ui/package.json index 26031491d..2e649917f 100644 --- a/ui/package.json +++ b/ui/package.json @@ -20,6 +20,7 @@ "@angular/compiler": "^16.0.2", "@angular/core": "^16.0.2", "@angular/forms": "^16.0.2", + "@angular/material": "^16.0.2", "@angular/platform-browser": "^16.0.2", "@angular/platform-browser-dynamic": "^16.0.2", "@angular/router": "^16.0.2", @@ -45,6 +46,7 @@ "@angular-eslint/eslint-plugin-template": "16.0.2", "@angular-eslint/schematics": "16.0.2", "@angular-eslint/template-parser": "16.0.2", + "@angular/cdk": "^16.0.2", "@angular/cli": "^16.0.2", "@angular/compiler-cli": "^16.0.2", "@types/jasmine": "~4.3.2", diff --git a/ui/src/app/app-routing.module.ts b/ui/src/app/app-routing.module.ts index 5329a4a2b..2c8ceccef 100644 --- a/ui/src/app/app-routing.module.ts +++ b/ui/src/app/app-routing.module.ts @@ -28,6 +28,8 @@ import {ConvertToCollectionComponent} from "./my-workspace/convert-to-collection import { BatchImportCollectionComponent } from "./collection/create-collection/batch-import-collection/batch-import-collection.component" +import { MetadataListComponent } from "./metadata/detail/metadata-list/metadata-list.component" + const routes: Routes = [ { path: "", redirectTo: "/skills", pathMatch: "full" }, @@ -191,6 +193,11 @@ const routes: Routes = [ roles: ActionByRoles.get(ButtonAction.MyWorkspace) } }, + { + path: "metadata", + component: MetadataListComponent, + canActivate: [AuthGuard], + }, /* PUBLIC VIEWS */ {path: "skills/:uuid", component: RichSkillPublicComponent}, {path: "collections/:uuid", component: CollectionPublicComponent}, diff --git a/ui/src/app/app.module.ts b/ui/src/app/app.module.ts index abc1c1dd0..c54dcc4d3 100644 --- a/ui/src/app/app.module.ts +++ b/ui/src/app/app.module.ts @@ -16,8 +16,8 @@ import {HeaderComponent} from "./navigation/header.component" import {FooterComponent} from "./navigation/footer.component" import {SkillCollectionsDisplayComponent} from "./richskill/form/skill-collections-display.component" import {ToastComponent} from "./toast/toast.component" -import {PillComponent} from "./core/pill/pill.component"; -import {PillGroupComponent} from "./core/pill/group/pill-group.component"; +import {PillComponent} from "./core/pill/pill.component" +import {PillGroupComponent} from "./core/pill/group/pill-group.component" import {AuthService} from "./auth/auth-service" import {AuthGuard} from "./auth/auth.guard" import {CommoncontrolsComponent} from "./navigation/commoncontrols.component" @@ -113,6 +113,14 @@ import { ConvertToCollectionComponent } from "./my-workspace/convert-to-collecti import { SizePaginationComponent } from "./table/skills-library-table/size-pagination/size-pagination.component" import {OsmtTableModule} from "./table/osmt-table.module" import { getBaseApi } from "./api-versions" +import { NoopAnimationsModule } from "@angular/platform-browser/animations" +import { MatMenuModule } from "@angular/material/menu" +import { MetadataListComponent } from "./metadata/detail/metadata-list/metadata-list.component" +import { JobCodeListRowComponent } from "./metadata/job-codes/job-code-list-row/job-code-list-row.component" +import { JobCodeTableComponent } from "./metadata/job-codes/job-code-table/job-code-table.component" +import { NamedReferenceListRowComponent } from "./metadata/named-references/named-reference-list-row/named-reference-list-row.component" +import { NamedReferenceTableComponent } from "./metadata/named-references/named-reference-table/named-reference-table.component" +import { MetadataSelectorComponent } from "./metadata/detail/metadata-selector/metadata-selector.component" import { InlineHeadingComponent } from './richskill/import/inline-heading/inline-heading.component' import { InlineErrorComponent } from "./richskill/import/inline-error/inline-error.component" import { BatchImportCollectionComponent } from './collection/create-collection/batch-import-collection/batch-import-collection.component' @@ -237,6 +245,13 @@ export function initializeApp( ConvertToCollectionComponent, SizePaginationComponent, BatchImportCollectionComponent, + MetadataListComponent, + JobCodeListRowComponent, + JobCodeTableComponent, + NamedReferenceListRowComponent, + NamedReferenceTableComponent, + MetadataSelectorComponent, + InlineHeadingComponent ], imports: [ NgIdleKeepaliveModule.forRoot(), @@ -249,7 +264,9 @@ export function initializeApp( OsmtCoreModule, OsmtFormModule, FormsModule, - OsmtTableModule + OsmtTableModule, + NoopAnimationsModule, + MatMenuModule ], providers: [ EnvironmentService, diff --git a/ui/src/app/auth/auth-roles.ts b/ui/src/app/auth/auth-roles.ts index 80916fa18..791d54882 100644 --- a/ui/src/app/auth/auth-roles.ts +++ b/ui/src/app/auth/auth-roles.ts @@ -14,7 +14,8 @@ export enum ButtonAction { LibraryExport, ExportDraftCollection, DeleteCollection, - MyWorkspace + MyWorkspace, + MetadataAdmin, } export const ActionByRoles = new Map([ @@ -28,7 +29,8 @@ export const ActionByRoles = new Map([ [ButtonAction.LibraryExport, [OSMT_ADMIN]], [ButtonAction.ExportDraftCollection, [OSMT_ADMIN]], [ButtonAction.DeleteCollection, [OSMT_ADMIN]], - [ButtonAction.MyWorkspace, [OSMT_ADMIN, OSMT_CURATOR]] + [ButtonAction.MyWorkspace, [OSMT_ADMIN, OSMT_CURATOR]], + [ButtonAction.MetadataAdmin, [OSMT_ADMIN]], ]) //TODO migrate AuthServiceWgu & AuthService.hasRole & isEnabledByRoles into a singleton here. HDN Sept 15, 2022 diff --git a/ui/src/app/form/form-field-search-select/jobcode/form-field-jobcode-search-multi-select.component.spec.ts b/ui/src/app/form/form-field-search-select/jobcode/form-field-jobcode-search-multi-select.component.spec.ts index e01ea87ce..418eef5c1 100644 --- a/ui/src/app/form/form-field-search-select/jobcode/form-field-jobcode-search-multi-select.component.spec.ts +++ b/ui/src/app/form/form-field-search-select/jobcode/form-field-jobcode-search-multi-select.component.spec.ts @@ -10,7 +10,7 @@ import {EnvironmentService} from "src/app/core/environment.service" import {ActivatedRouteStubSpec} from "test/util/activated-route-stub.spec" import {KeywordSearchService} from "../../../richskill/service/keyword-search.service" import {KeywordSearchServiceStub} from "../../../../../test/resource/mock-stubs" -import {ApiJobCode, IJobCode} from "../../../job-codes/Jobcode" +import { ApiJobCode, IJobCode } from "../../../metadata/job-codes/Jobcode" import {FormFieldJobCodeSearchMultiSelect} from "./form-field-jobcode-search-multi-select.component" @Component({ diff --git a/ui/src/app/form/form-field-search-select/jobcode/form-field-jobcode-search-multi-select.component.ts b/ui/src/app/form/form-field-search-select/jobcode/form-field-jobcode-search-multi-select.component.ts index 318b6d117..41f67a185 100644 --- a/ui/src/app/form/form-field-search-select/jobcode/form-field-jobcode-search-multi-select.component.ts +++ b/ui/src/app/form/form-field-search-select/jobcode/form-field-jobcode-search-multi-select.component.ts @@ -2,7 +2,7 @@ import {Component} from "@angular/core" import {Observable} from "rxjs" import {map} from "rxjs/operators" import {KeywordSearchService} from "../../../richskill/service/keyword-search.service" -import {IJobCode} from "../../../job-codes/Jobcode" +import { IJobCode } from "../../../metadata/job-codes/Jobcode" import {isJobCode} from "./form-field-jobcode-search-select.utilities" import {areSearchResultsEqual, labelFor, searchResultFromString} from "./form-field-jobcode-search-select.utilities" import {AbstractFormFieldSearchMultiSelect} from "../abstract-form-field-search-multi-select.component" diff --git a/ui/src/app/form/form-field-search-select/jobcode/form-field-jobcode-search-select.component.spec.ts b/ui/src/app/form/form-field-search-select/jobcode/form-field-jobcode-search-select.component.spec.ts index f5faad8a7..1e6f9e306 100644 --- a/ui/src/app/form/form-field-search-select/jobcode/form-field-jobcode-search-select.component.spec.ts +++ b/ui/src/app/form/form-field-search-select/jobcode/form-field-jobcode-search-select.component.spec.ts @@ -10,7 +10,7 @@ import {EnvironmentService} from "src/app/core/environment.service" import {ActivatedRouteStubSpec} from "test/util/activated-route-stub.spec" import {KeywordSearchService} from "../../../richskill/service/keyword-search.service" import {KeywordSearchServiceStub} from "../../../../../test/resource/mock-stubs" -import {ApiJobCode, IJobCode} from "../../../job-codes/Jobcode" +import { ApiJobCode, IJobCode } from "../../../metadata/job-codes/Jobcode" import {FormFieldJobCodeSearchSelect} from "./form-field-jobcode-search-select.component" @Component({ diff --git a/ui/src/app/form/form-field-search-select/jobcode/form-field-jobcode-search-select.component.ts b/ui/src/app/form/form-field-search-select/jobcode/form-field-jobcode-search-select.component.ts index feedab67b..9a35e54d2 100644 --- a/ui/src/app/form/form-field-search-select/jobcode/form-field-jobcode-search-select.component.ts +++ b/ui/src/app/form/form-field-search-select/jobcode/form-field-jobcode-search-select.component.ts @@ -2,7 +2,7 @@ import {Component} from "@angular/core" import {Observable} from "rxjs" import {map} from "rxjs/operators" import {KeywordSearchService} from "../../../richskill/service/keyword-search.service" -import {IJobCode} from "../../../job-codes/Jobcode" +import { IJobCode } from "../../../metadata/job-codes/Jobcode" import {isJobCode} from "./form-field-jobcode-search-select.utilities" import {areSearchResultsEqual, labelFor, searchResultFromString} from "./form-field-jobcode-search-select.utilities" import {AbstractFormFieldSearchSingleSelect} from "../abstract-form-field-search-single-select.component" diff --git a/ui/src/app/form/form-field-search-select/jobcode/form-field-jobcode-search-select.utilities.spec.ts b/ui/src/app/form/form-field-search-select/jobcode/form-field-jobcode-search-select.utilities.spec.ts index 4b5fd4e9c..f6918249d 100644 --- a/ui/src/app/form/form-field-search-select/jobcode/form-field-jobcode-search-select.utilities.spec.ts +++ b/ui/src/app/form/form-field-search-select/jobcode/form-field-jobcode-search-select.utilities.spec.ts @@ -1,6 +1,6 @@ // noinspection LocalVariableNamingConventionJS import {async, ComponentFixture, TestBed} from "@angular/core/testing" -import {IJobCode} from "../../../job-codes/Jobcode" +import { IJobCode } from "../../../metadata/job-codes/Jobcode" import {createMockJobcode} from "../../../../../test/resource/mock-data" import { areSearchResultsEqual, diff --git a/ui/src/app/form/form-field-search-select/jobcode/form-field-jobcode-search-select.utilities.ts b/ui/src/app/form/form-field-search-select/jobcode/form-field-jobcode-search-select.utilities.ts index 97cb1e69b..a5cf2f12d 100644 --- a/ui/src/app/form/form-field-search-select/jobcode/form-field-jobcode-search-select.utilities.ts +++ b/ui/src/app/form/form-field-search-select/jobcode/form-field-jobcode-search-select.utilities.ts @@ -1,4 +1,4 @@ -import {IJobCode} from "../../../job-codes/Jobcode" +import { IJobCode } from "../../../metadata/job-codes/Jobcode" export const areSearchResultsEqual = (result1: IJobCode, result2: IJobCode): boolean => { if (result1 && result2) { diff --git a/ui/src/app/metadata/PaginatedMetadata.ts b/ui/src/app/metadata/PaginatedMetadata.ts new file mode 100644 index 000000000..fb5bb9373 --- /dev/null +++ b/ui/src/app/metadata/PaginatedMetadata.ts @@ -0,0 +1,11 @@ +import { ApiJobCode } from "./job-codes/Jobcode" +import { ApiNamedReference } from "./named-references/NamedReference" + +export class PaginatedMetadata { + totalCount = 0 + metadata: ApiJobCode[]|ApiNamedReference[] = [] + constructor(metadata: ApiJobCode[]|ApiNamedReference[], totalCount: number) { + this.metadata = metadata + this.totalCount = totalCount + } +} diff --git a/ui/src/app/metadata/abstract-data.service.spec.ts b/ui/src/app/metadata/abstract-data.service.spec.ts new file mode 100644 index 000000000..af5423540 --- /dev/null +++ b/ui/src/app/metadata/abstract-data.service.spec.ts @@ -0,0 +1,31 @@ +import { TestBed } from "@angular/core/testing" +import { Router } from "@angular/router" +import { HttpClientTestingModule } from "@angular/common/http/testing" +import { Location } from "@angular/common" +import { AbstractDataService } from "./abstract-data.service" +import { EnvironmentService } from "../core/environment.service" +import { AppConfig } from "../app.config" +import { AuthService } from "../auth/auth-service" +import { AuthServiceStub, RouterStub } from "@test/resource/mock-stubs" + +describe("AbstractAdminService", () => { + let testService: AbstractDataService + + beforeEach(() => { + TestBed.configureTestingModule({ + imports: [HttpClientTestingModule], + providers: [ + EnvironmentService, + AppConfig, + AbstractDataService, + Location, + { provide: AuthService, useClass: AuthServiceStub }, + { provide: Router, useClass: RouterStub } + ]}) + testService = TestBed.inject(AbstractDataService) + }) + + it("should be created", () => { + expect(testService).toBeTruthy() + }) +}) diff --git a/ui/src/app/metadata/abstract-data.service.ts b/ui/src/app/metadata/abstract-data.service.ts new file mode 100644 index 000000000..0f68b1c10 --- /dev/null +++ b/ui/src/app/metadata/abstract-data.service.ts @@ -0,0 +1,37 @@ +import { Location } from "@angular/common" +import { HttpClient, HttpResponse } from "@angular/common/http" +import { Injectable } from "@angular/core" +import { Router } from "@angular/router" +import { Observable } from "rxjs" +import { share } from "rxjs/operators" +import { AbstractService, ApiGetParams } from "../abstract.service" +import { AuthService } from "../auth/auth-service" + +@Injectable({ providedIn: "root" }) +export abstract class AbstractDataService extends AbstractService { + + protected constructor(httpClient: HttpClient, authService: AuthService, router: Router, location: Location) { + super(httpClient, authService, router, location) + } + + /** + * Perform a patch request. + * + * const {body, headers, status, type, url} = response + * + * @param path The relative path to the endpoint + * @param headers Json blob defining headers + * @param params Json blob defining path params + * @param body Json blob defining the changes to be applied to the object + */ + patch({path, headers, params, body}: ApiGetParams): Observable> { + const observable = this.httpClient.patch(this.buildUrl(path + "/update"), body, { + headers: this.wrapHeaders(headers), + params, + observe: "response"}).pipe(share()) + observable + .subscribe(() => {}, (err) => { this.redirectToLogin(err) }) + return observable + } + +} diff --git a/ui/src/app/metadata/detail/metadata-list/metadata-list.component.html b/ui/src/app/metadata/detail/metadata-list/metadata-list.component.html new file mode 100644 index 000000000..ef3cea520 --- /dev/null +++ b/ui/src/app/metadata/detail/metadata-list/metadata-list.component.html @@ -0,0 +1,83 @@ + + + + diff --git a/ui/src/app/metadata/detail/metadata-list/metadata-list.component.spec.ts b/ui/src/app/metadata/detail/metadata-list/metadata-list.component.spec.ts new file mode 100644 index 000000000..7f7c951ab --- /dev/null +++ b/ui/src/app/metadata/detail/metadata-list/metadata-list.component.spec.ts @@ -0,0 +1,47 @@ +import { ComponentFixture, TestBed } from "@angular/core/testing" +import { MetadataListComponent } from "./metadata-list.component" +import { MetadataType } from "../../rsd-metadata.enum" +import { PaginatedMetadata } from "../../PaginatedMetadata" +import { ApiJobCode } from "../../job-codes/Jobcode" +import { AuthServiceStub } from "@test/resource/mock-stubs"; +import { AuthService } from "../../../auth/auth-service"; + +describe("ManageMetadataComponent", () => { + let component: MetadataListComponent + let fixture: ComponentFixture + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ MetadataListComponent ], + providers: [ + { provide: AuthService, useClass: AuthServiceStub }, + ] + }) + .compileComponents() + }) + + beforeEach(() => { + fixture = TestBed.createComponent(MetadataListComponent) + component = fixture.componentInstance + fixture.detectChanges() + }) + + it("should create", () => { + expect(component).toBeTruthy() + }) + it("isJobCodeDataSelected returns false if JobCode MetadataType is not selected", () => { + expect(component.isJobCodeDataSelected).toBeFalse() + }) + it("isJobCodeDataSelected returns true if JobCode MetadataType is selected", () => { + component.selectedMetadataType = MetadataType.JobCode + expect(component.isJobCodeDataSelected).toBeTrue() + }) + it("emptyResults returns true if Metadata is empty", () => { + component.results = new PaginatedMetadata([], 0) + expect(component.emptyResults).toBeTrue() + }) + it("emptyResults returns false if Metadata is not empty", () => { + component.results = new PaginatedMetadata([new ApiJobCode(), new ApiJobCode()], 2) + expect(component.emptyResults).toBeFalse() + }) +}) diff --git a/ui/src/app/metadata/detail/metadata-list/metadata-list.component.ts b/ui/src/app/metadata/detail/metadata-list/metadata-list.component.ts new file mode 100644 index 000000000..461069dc7 --- /dev/null +++ b/ui/src/app/metadata/detail/metadata-list/metadata-list.component.ts @@ -0,0 +1,196 @@ +import {Component, OnInit, ViewChild} from "@angular/core" +import { FormControl, FormGroup } from "@angular/forms" +import { Observable, Subject } from "rxjs" +import { PaginatedMetadata } from "../../PaginatedMetadata" +import { ApiSortOrder } from "../../../richskill/ApiSkill" +import { ApiJobCode, IJobCode } from "../../job-codes/Jobcode" +import { TableActionBarComponent } from "../../../table/skills-library-table/table-action-bar.component" +import { Whitelabelled } from "../../../../whitelabel" +import { ApiNamedReference, INamedReference } from "../../named-references/NamedReference" +import { TableActionDefinition } from "../../../table/skills-library-table/has-action-definitions" +import { ButtonAction } from "../../../auth/auth-roles" +import { AuthService } from "../../../auth/auth-service" +import { MetadataType } from "../../rsd-metadata.enum" + +@Component({ + selector: "app-metadata-list", + templateUrl: "./metadata-list.component.html" +}) +export class MetadataListComponent extends Whitelabelled implements OnInit { + + @ViewChild(TableActionBarComponent) actionBar!: TableActionBarComponent + + title = "Metadata" + handleSelectedMetadata?: IJobCode[]|INamedReference[] + selectedMetadataType = "category" + matchingQuery?: string[] + + typeControl: FormControl = new FormControl(this.selectedMetadataType) + columnSort: ApiSortOrder = ApiSortOrder.NameAsc + + from = 0 + size = 50 + showSearchEmptyMessage = false + resultsLoaded: Observable | undefined + canDeleteMetadata = this.authService.isEnabledByRoles(ButtonAction.MetadataAdmin) + + searchForm = new FormGroup({ + search: new FormControl("") + }) + sampleJobCodeResult = new PaginatedMetadata([ + new ApiJobCode({code: "code1", targetNodeName: "targetNodeName1", frameworkName: "frameworkName1", url: "url1", broad: "broad1", level: "Broad"}), + new ApiJobCode({code: "code2", targetNodeName: "targetNodeName2", frameworkName: "frameworkName2", url: "url2", broad: "broad1", level: "Broad"}), + new ApiJobCode({code: "code3", targetNodeName: "targetNodeName3", frameworkName: "frameworkName3", url: "url3", broad: "broad1", level: "Broad"}), + new ApiJobCode({code: "code4", targetNodeName: "targetNodeName4", frameworkName: "frameworkName4", url: "url4", broad: "broad1", level: "Broad"}), + new ApiJobCode({code: "code5", targetNodeName: "targetNodeName5", frameworkName: "frameworkName5", url: "url5", broad: "broad1", level: "Broad"}), + new ApiJobCode({code: "code6", targetNodeName: "targetNodeName6", frameworkName: "frameworkName6", url: "url6", broad: "broad1", level: "Broad"}), + new ApiJobCode({code: "code7", targetNodeName: "targetNodeName7", frameworkName: "frameworkName7", url: "url7", broad: "broad1", level: "Broad"}), + new ApiJobCode({code: "code8", targetNodeName: "targetNodeName8", frameworkName: "frameworkName8", url: "url8", broad: "broad1", level: "Broad"}), + ], 8) + + sampleNamedReferenceResult = new PaginatedMetadata([ + new ApiNamedReference({id: "id1", framework: "framework1", name: "name1", type: MetadataType.Category, value: "value1"}), + new ApiNamedReference({id: "id2", framework: "framework2", name: "name2", type: MetadataType.Category, value: "value2"}), + new ApiNamedReference({id: "id3", framework: "framework3", name: "name3", type: MetadataType.Category, value: "value3"}), + new ApiNamedReference({id: "id4", framework: "framework4", name: "name4", type: MetadataType.Category, value: "value4"}), + new ApiNamedReference({id: "id5", framework: "framework5", name: "name5", type: MetadataType.Category, value: "value5"}), + new ApiNamedReference({id: "id6", framework: "framework6", name: "name6", type: MetadataType.Category, value: "value6"}), + new ApiNamedReference({id: "id7", framework: "framework7", name: "name7", type: MetadataType.Category, value: "value7"}), + new ApiNamedReference({id: "id8", framework: "framework8", name: "name8", type: MetadataType.Category, value: "value8"}), + ], 8) + + results: PaginatedMetadata = this.sampleNamedReferenceResult + + clearSelectedItemsFromTable = new Subject() + constructor(protected authService: AuthService) { + super() + } + + ngOnInit(): void { + this.typeControl.valueChanges.subscribe( + value => { + this.selectedMetadataType = value + if (this.selectedMetadataType === MetadataType.JobCode) { + this.results = this.sampleJobCodeResult + } + else { + this.results = this.sampleNamedReferenceResult + } + }) + this.searchForm.get("search")?.valueChanges.subscribe( value => this.matchingQuery = value) + } + + clearSearch(): boolean { + this.searchForm.reset() + return false + } + + handleDefaultSubmit(): boolean { + this.loadNextPage() + this.from = 0 + + return false + } + loadNextPage(): void {} + handleSelectAll(selectAllChecked: boolean): void {} + + handleNewSelection(selected: IJobCode[]|INamedReference[]): void { + this.handleSelectedMetadata = selected + } + + handleHeaderColumnSort(sort: ApiSortOrder): void { + this.columnSort = sort + this.from = 0 + this.loadNextPage() + } + + get totalCount(): number { + return this.results?.totalCount ?? 0 + } + + get metadataCountLabel(): string { + if (this.totalCount > 0) { + if (this.selectedMetadataType !== MetadataType.Category) { + return `${this.totalCount} ${this.selectedMetadataType}${this.totalCount > 1 ? "s" : ""}` + } + else if (this.totalCount > 1) { + return `${this.totalCount} categories` + } + else { + return `${this.totalCount} category` + } + } + return `0 ${this.selectedMetadataType}s` + } + get firstRecordNo(): number { + return this.from + 1 + } + get lastRecordNo(): number { + return Math.min(this.from + this.curPageCount, this.totalCount) + } + + get totalPageCount(): number { + return Math.ceil(this.totalCount / this.size) + } + get currentPageNo(): number { + return Math.floor(this.from / this.size) + 1 + } + + get curPageCount(): number { + return this.results?.metadata.length ?? 0 + } + + get emptyResults(): boolean { + return this.curPageCount < 1 + } + get isJobCodeDataSelected(): boolean { + console.log(this.selectedMetadataType === MetadataType.JobCode.toString()) + return this.selectedMetadataType === MetadataType.JobCode + } + + getSelectAllCount(): number { + return this.curPageCount + } + + getSelectAllEnabled(): boolean { + return true + } + + focusActionBar(): void { + this.actionBar?.focus() + } + getJobCodes(): IJobCode[] { + return (this.results?.metadata) as IJobCode[] + } + + getNamedReferences(): INamedReference[] { + return (this.results?.metadata) as INamedReference[] + } + public get searchQuery(): string { + return this.searchForm.get("search")?.value ?? "" + } + + navigateToPage(newPageNo: number): void { + this.from = (newPageNo - 1) * this.size + this.loadNextPage() + } + + handlePageClicked(newPageNo: number): void { + this.navigateToPage(newPageNo) + } + + rowActions(): TableActionDefinition[] { + const tableActions = [] + if (this.canDeleteMetadata) { + tableActions.push(new TableActionDefinition({ + label: `Delete`, + callback: (action: TableActionDefinition, skill?: IJobCode|INamedReference) => this.handleClickDeleteItem(action, skill), + })) + } + return tableActions + } + + // tslint:disable-next-line:typedef + private handleClickDeleteItem(action: TableActionDefinition, skill: IJobCode|INamedReference | undefined) { + } +} diff --git a/ui/src/app/metadata/detail/metadata-selector/metadata-selector.component.html b/ui/src/app/metadata/detail/metadata-selector/metadata-selector.component.html new file mode 100644 index 000000000..89bd0ea40 --- /dev/null +++ b/ui/src/app/metadata/detail/metadata-selector/metadata-selector.component.html @@ -0,0 +1,10 @@ + diff --git a/ui/src/app/metadata/detail/metadata-selector/metadata-selector.component.scss b/ui/src/app/metadata/detail/metadata-selector/metadata-selector.component.scss new file mode 100644 index 000000000..343dc9e7c --- /dev/null +++ b/ui/src/app/metadata/detail/metadata-selector/metadata-selector.component.scss @@ -0,0 +1,4 @@ +.metadata-selector { + display: flex; + margin-bottom: 20px; +} diff --git a/ui/src/app/metadata/detail/metadata-selector/metadata-selector.component.spec.ts b/ui/src/app/metadata/detail/metadata-selector/metadata-selector.component.spec.ts new file mode 100644 index 000000000..93b21eef9 --- /dev/null +++ b/ui/src/app/metadata/detail/metadata-selector/metadata-selector.component.spec.ts @@ -0,0 +1,34 @@ +import { ComponentFixture, TestBed } from "@angular/core/testing" +import { MetadataSelectorComponent } from "./metadata-selector.component" + +describe("MetadataSelectorComponent", () => { + let component: MetadataSelectorComponent + let fixture: ComponentFixture + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ MetadataSelectorComponent ] + }) + .compileComponents() + }) + + beforeEach(() => { + fixture = TestBed.createComponent(MetadataSelectorComponent) + component = fixture.componentInstance + fixture.detectChanges() + }) + + it("should create", () => { + expect(component).toBeTruthy() + }) + + it("Should call onValueChange with a param of type string", () => { + const param = "category" + const onValueChangeSpy = spyOn(component, "onValueChange").withArgs(param).and.callThrough() + + component.onValueChange("category") + + expect(onValueChangeSpy).toHaveBeenCalled() + expect(typeof param).toEqual("string") + }) +}) diff --git a/ui/src/app/metadata/detail/metadata-selector/metadata-selector.component.ts b/ui/src/app/metadata/detail/metadata-selector/metadata-selector.component.ts new file mode 100644 index 000000000..d8c4a605e --- /dev/null +++ b/ui/src/app/metadata/detail/metadata-selector/metadata-selector.component.ts @@ -0,0 +1,25 @@ +import { Component, Input } from "@angular/core" +import { FormControl } from "@angular/forms" +import { MetadataType } from "../../rsd-metadata.enum" + +@Component({ + selector: "app-metadata-selector", + templateUrl: "./metadata-selector.component.html", + styleUrls: ["./metadata-selector.component.scss"] +}) +export class MetadataSelectorComponent { + + @Input() + control?: FormControl + @Input() + currentSelection?: string + + protected readonly MetadataType = MetadataType + @Input() + isVisible: () => boolean = () => false + + onValueChange(value: string): void { + this.control?.patchValue(value) + this.currentSelection = value + } +} diff --git a/ui/src/app/job-codes/Jobcode.spec.ts b/ui/src/app/metadata/job-codes/Jobcode.spec.ts similarity index 74% rename from ui/src/app/job-codes/Jobcode.spec.ts rename to ui/src/app/metadata/job-codes/Jobcode.spec.ts index eec42f096..01a20f806 100644 --- a/ui/src/app/job-codes/Jobcode.spec.ts +++ b/ui/src/app/metadata/job-codes/Jobcode.spec.ts @@ -1,5 +1,5 @@ -import { createMockJobcode } from "test/resource/mock-data" -import { deepEqualSkipOuterType, mismatched } from "../../../test/util/deep-equals" +import { createMockJobcode } from "@test/resource/mock-data" +import { deepEqualSkipOuterType, mismatched } from "@test/util/deep-equals" import { ApiJobCode, IJobCode } from "./Jobcode" diff --git a/ui/src/app/job-codes/Jobcode.ts b/ui/src/app/metadata/job-codes/Jobcode.ts similarity index 81% rename from ui/src/app/job-codes/Jobcode.ts rename to ui/src/app/metadata/job-codes/Jobcode.ts index f1169c754..b02e43f1c 100644 --- a/ui/src/app/job-codes/Jobcode.ts +++ b/ui/src/app/metadata/job-codes/Jobcode.ts @@ -24,6 +24,14 @@ export class ApiJobCode implements IJobCode { frameworkName?: string level?: JobCodeLevel parents?: IJobCode[] + major?: string + majorCode?: string + minor?: string + minorCode?: string + broad?: string + broadCode?: string + detailed?: string + url?: string constructor(o?: IJobCode) { if (o !== undefined) { diff --git a/ui/src/app/metadata/job-codes/job-code-list-row/job-code-list-row.component.html b/ui/src/app/metadata/job-codes/job-code-list-row/job-code-list-row.component.html new file mode 100644 index 000000000..fa7651888 --- /dev/null +++ b/ui/src/app/metadata/job-codes/job-code-list-row/job-code-list-row.component.html @@ -0,0 +1,36 @@ + + + + {{jobCode.targetNodeName}} + + + {{jobCode.level}} + + + {{jobCode.parents}} + + + {{jobCode.frameworkName}} + + + +
+
+ + +
+ +
+
+ +
+ + + + + +
diff --git a/ui/src/app/metadata/job-codes/job-code-list-row/job-code-list-row.component.spec.ts b/ui/src/app/metadata/job-codes/job-code-list-row/job-code-list-row.component.spec.ts new file mode 100644 index 000000000..4b1accb59 --- /dev/null +++ b/ui/src/app/metadata/job-codes/job-code-list-row/job-code-list-row.component.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed } from "@angular/core/testing" +import { JobCodeListRowComponent } from "./job-code-list-row.component" + +describe("JobCodeListRowComponent", () => { + let component: JobCodeListRowComponent + let fixture: ComponentFixture + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ JobCodeListRowComponent ] + }) + .compileComponents() + }) + + beforeEach(() => { + fixture = TestBed.createComponent(JobCodeListRowComponent) + component = fixture.componentInstance + fixture.detectChanges() + }) + + it("should create", () => { + expect(component).toBeTruthy() + }) +}) diff --git a/ui/src/app/metadata/job-codes/job-code-list-row/job-code-list-row.component.ts b/ui/src/app/metadata/job-codes/job-code-list-row/job-code-list-row.component.ts new file mode 100644 index 000000000..09f3b223a --- /dev/null +++ b/ui/src/app/metadata/job-codes/job-code-list-row/job-code-list-row.component.ts @@ -0,0 +1,41 @@ +import { Component, EventEmitter, Input, OnInit, Output } from "@angular/core" +import { TableActionDefinition } from "../../../table/skills-library-table/has-action-definitions" +import { SvgHelper, SvgIcon } from "../../../core/SvgHelper" +import { ApiJobCode, IJobCode } from "../Jobcode" + +@Component({ + // tslint:disable-next-line:component-selector + selector: "[app-job-code-list-row]", + templateUrl: "./job-code-list-row.component.html" +}) +export class JobCodeListRowComponent { + @Input() jobCode?: ApiJobCode + @Input() id = "job-code-list-row" + @Input() isSelected = false + @Input() rowActions: TableActionDefinition[] = [] + + @Output() rowSelected = new EventEmitter() + @Output() focusActionBar = new EventEmitter() + checkIcon = SvgHelper.path(SvgIcon.CHECK) + + constructor() { } + + selected(): void { + this.rowSelected.emit(this.jobCode) + } + + handleClick(action: TableActionDefinition): boolean { + action.fire(this.jobCode) + return false + } + + focusFirstColumnInRow(): boolean { + const ref = document.getElementById(`${this.id}-header-name`) + if (ref) { + ref.focus() + return true + } else { + return false + } + } +} diff --git a/ui/src/app/metadata/job-codes/job-code-table/job-code-table.component.html b/ui/src/app/metadata/job-codes/job-code-table/job-code-table.component.html new file mode 100644 index 000000000..e7e622ca2 --- /dev/null +++ b/ui/src/app/metadata/job-codes/job-code-table/job-code-table.component.html @@ -0,0 +1,72 @@ + + + + + + + + + + + + + + + + + + + + + +
diff --git a/ui/src/app/metadata/job-codes/job-code-table/job-code-table.component.spec.ts b/ui/src/app/metadata/job-codes/job-code-table/job-code-table.component.spec.ts new file mode 100644 index 000000000..34370ccda --- /dev/null +++ b/ui/src/app/metadata/job-codes/job-code-table/job-code-table.component.spec.ts @@ -0,0 +1,24 @@ +import { ComponentFixture, TestBed } from "@angular/core/testing" +import { JobCodeTableComponent } from "./job-code-table.component" + +describe("JobCodeTableComponent", () => { + let component: JobCodeTableComponent + let fixture: ComponentFixture + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ JobCodeTableComponent ] + }) + .compileComponents() + }) + + beforeEach(() => { + fixture = TestBed.createComponent(JobCodeTableComponent) + component = fixture.componentInstance + fixture.detectChanges() + }) + + it("should create", () => { + expect(component).toBeTruthy() + }) +}) diff --git a/ui/src/app/metadata/job-codes/job-code-table/job-code-table.component.ts b/ui/src/app/metadata/job-codes/job-code-table/job-code-table.component.ts new file mode 100644 index 000000000..7fdece162 --- /dev/null +++ b/ui/src/app/metadata/job-codes/job-code-table/job-code-table.component.ts @@ -0,0 +1,22 @@ +import { AfterViewInit, Component, Input, QueryList, ViewChildren } from "@angular/core" +import { AbstractTableComponent } from "../../../table/abstract-table.component" +import { JobCodeListRowComponent } from "../job-code-list-row/job-code-list-row.component" +import { IJobCode } from "../Jobcode" + +@Component({ + selector: "app-job-code-table", + templateUrl: "./job-code-table.component.html" +}) +export class JobCodeTableComponent extends AbstractTableComponent implements AfterViewInit { + + @ViewChildren(JobCodeListRowComponent) rowReferences: QueryList | undefined = undefined + + @Input() allowSorting = false + + ngAfterViewInit(): void { + if (this.rowReferences && this.rowReferences.length > 0) { + this.rowReferences.first.focusFirstColumnInRow() + } + } +} + diff --git a/ui/src/app/metadata/job-codes/service/job-code.service.spec.ts b/ui/src/app/metadata/job-codes/service/job-code.service.spec.ts new file mode 100644 index 000000000..3d9122dd7 --- /dev/null +++ b/ui/src/app/metadata/job-codes/service/job-code.service.spec.ts @@ -0,0 +1,176 @@ +import { fakeAsync, TestBed, tick } from "@angular/core/testing" +import { HttpClientTestingModule, HttpTestingController } from "@angular/common/http/testing" +import { Location } from "@angular/common" +import { Router } from "@angular/router" +import { JobCodeService, PaginatedJobCodes } from "./job-code.service" +import { AuthServiceData, AuthServiceStub, RouterData, RouterStub } from "@test/resource/mock-stubs" +import { AppConfig } from "../../../app.config" +import { EnvironmentService } from "../../../core/environment.service" +import { AuthService } from "../../../auth/auth-service" +import { + apiTaskResultForDeleteJobCode, + createMockJobcode, + createMockPaginatedJobCodes +} from "@test/resource/mock-data" +import { ApiSortOrder } from "../../../richskill/ApiSkill" +import { ApiJobCode, ApiJobCodeUpdate } from "../Jobcode" +import { ApiBatchResult } from "../../../richskill/ApiBatchResult" + +const ASYNC_WAIT_PERIOD = 3000 + +describe("JobCodeService", () => { + let testService: JobCodeService + let httpTestingController: HttpTestingController + + + beforeEach(() => { + TestBed.configureTestingModule({ + imports: [HttpClientTestingModule], + providers: [ + EnvironmentService, + AppConfig, + JobCodeService, + Location, + { provide: AuthService, useClass: AuthServiceStub }, + { provide: Router, useClass: RouterStub } + ]}).compileComponents() + testService = TestBed.inject(JobCodeService) + httpTestingController = TestBed.inject(HttpTestingController) + const appConfig = TestBed.inject(AppConfig) + AppConfig.settings = appConfig.defaultConfig() + }) + + it("JobCode should be created", () => { + expect(testService).toBeTruthy() + }) + + it("getJobCodes should return Array of JobCodes", () => { + // Arrange + RouterData.commands = [] + AuthServiceData.isDown = false + const path = "api/metadata/jobcodes?sort=name.asc&size=3&from=0" + const testData: PaginatedJobCodes = createMockPaginatedJobCodes(3, 10) + + // Act + // noinspection LocalVariableNamingConventionJS + const result$ = testService.getJobCodes(testData.jobCodes.length, 0, ApiSortOrder.NameAsc) + + // Assert + result$ + .subscribe((data: PaginatedJobCodes) => { + expect(data).toEqual(testData) + expect(RouterData.commands).toEqual([ ]) // No errors + expect(AuthServiceData.isDown).toEqual(false) + }) + + const req = httpTestingController.expectOne(AppConfig.settings.baseApiUrl + "/" + path) + expect(req.request.method).toEqual("GET") + req.flush(testData.jobCodes, { + headers: { "x-total-count": "" + testData.totalCount} + }) + }) + + it("getJobCodeById should return", () => { + // Arrange + RouterData.commands = [] + AuthServiceData.isDown = false + const id = "12345" + const path = "api/metadata/jobcodes/" + id + const testData: ApiJobCode = new ApiJobCode(createMockJobcode(42, "my jobcode name", id)) + + // Act + // noinspection LocalVariableNamingConventionJS + const result$ = testService.getJobCodeById(id) + + // Assert + result$ + .subscribe((data: ApiJobCode) => { + expect(data).toEqual(testData) + expect(RouterData.commands).toEqual([ ]) // No errors + expect(AuthServiceData.isDown).toEqual(false) + }) + + const req = httpTestingController.expectOne(AppConfig.settings.baseApiUrl + "/" + path) + expect(req.request.method).toEqual("GET") + req.flush(testData) + }) + + it("createJobCode should return a JobCode", () => { + // Arrange + RouterData.commands = [] + AuthServiceData.isDown = false + const path = "api/metadata/jobcodes" + const testData = [ + new ApiJobCode(createMockJobcode()) + ] + const expected = testData[0] + const input = new ApiJobCodeUpdate({ + code : expected.code, + targetNodeName : expected.targetNodeName, + targetNode : expected.targetNode, + frameworkName : expected.frameworkName, + level : expected.level, + parents : [] + }) + + // Act + const result$ = testService.createJobCode(input) + + // Assert + result$ + .subscribe((data: ApiJobCode) => { + expect(data).toEqual(expected) + expect(RouterData.commands).toEqual([ ]) // No errors + expect(AuthServiceData.isDown).toEqual(false) + }) + + const req = httpTestingController.expectOne(AppConfig.settings.baseApiUrl + "/" + path) + expect(req.request.method).toEqual("POST") + req.flush(testData) + }) + + it("updateJobCode should return", () => { + // Arrange + RouterData.commands = [] + AuthServiceData.isDown = false + const testData = new ApiJobCode(createMockJobcode()) + const expected = testData + const id = expected.code + const path = "api/metadata/jobcodes/" + id + const input = new ApiJobCodeUpdate({ + code: expected.code, + targetNodeName: expected.targetNodeName, + targetNode: expected.targetNode, + frameworkName: expected.frameworkName, + level: expected.level, + parents: expected.parents + }) + + // Act + const result$ = testService.updateJobCode(id, input) + + // Assert + result$ + .subscribe((data: ApiJobCode) => { + expect(data).toEqual(expected) + expect(RouterData.commands).toEqual([ ]) // No errors + expect(AuthServiceData.isDown).toEqual(false) + }) + + const req = httpTestingController.expectOne(AppConfig.settings.baseApiUrl + "/" + path + "/update") + expect(req.request.method).toEqual("POST") + req.flush(testData) + }) + + it("deleteJobCodeWithResult() should works", fakeAsync(() => { + const result$ = testService.deleteJobCodeWithResult(apiTaskResultForDeleteJobCode.uuid) + tick(ASYNC_WAIT_PERIOD) + // Assert + result$.subscribe((data: ApiBatchResult) => { + expect(RouterData.commands).toEqual([]) // No Errors + }) + const req = httpTestingController.expectOne(AppConfig.settings.baseApiUrl + `/api/metadata/jobcodes/${apiTaskResultForDeleteJobCode.uuid}/remove`) + expect(req.request.method).toEqual("DELETE") + expect(req.request.headers.get("Accept")).toEqual("application/json") + })) +}) diff --git a/ui/src/app/metadata/job-codes/service/job-code.service.ts b/ui/src/app/metadata/job-codes/service/job-code.service.ts new file mode 100644 index 000000000..67698b34c --- /dev/null +++ b/ui/src/app/metadata/job-codes/service/job-code.service.ts @@ -0,0 +1,97 @@ +import { Location } from "@angular/common" +import { HttpClient, HttpHeaders } from "@angular/common/http" +import { Injectable } from "@angular/core" +import { Router } from "@angular/router" +import { Observable } from "rxjs" +import { map, share } from "rxjs/operators" +import { ApiJobCode, IJobCode, IJobCodeUpdate } from "../Jobcode" +import { AuthService } from "../../../auth/auth-service"; +import { AbstractDataService } from "../../abstract-data.service"; +import { ApiSortOrder } from "../../../richskill/ApiSkill"; +import { ApiBatchResult } from "../../../richskill/ApiBatchResult"; +import { ApiTaskResult, ITaskResult } from "../../../task/ApiTaskResult"; + +@Injectable({ + providedIn: "root" +}) +export class JobCodeService extends AbstractDataService{ + + private baseServiceUrl = "api/metadata/jobcodes" + + constructor(protected httpClient: HttpClient, protected authService: AuthService, + protected router: Router, protected location: Location) { + super(httpClient, authService, router, location) + } + + getJobCodes( + size: number = 50, + from: number = 0, + sort: ApiSortOrder | undefined + ): Observable { + const params = this.buildTableParams(size, from, undefined, sort) + return this.get({ + path: `${this.baseServiceUrl}`, + params, + }) + .pipe(share()) + .pipe(map(({body, headers}) => { + return new PaginatedJobCodes( + body || [], + Number(headers.get("X-Total-Count")) + ) + })) + } + + getJobCodeById(id: string): Observable { + const errorMsg = `Could not find JobCode with id [${id}]` + return this.get({ + path: `${this.baseServiceUrl}/${id}` + }) + .pipe(share()) + .pipe(map(({body}) => new ApiJobCode(this.safeUnwrapBody(body, errorMsg)))) + } + + createJobCode(newObject: IJobCode): Observable { + const errorMsg = `Error creating JobCode` + return this.post({ + path: this.baseServiceUrl, + body: [newObject] + }) + .pipe(share()) + .pipe(map(({body}) => this.safeUnwrapBody(body, errorMsg).map(s => new ApiJobCode(s))[0])) + } + + updateJobCode(id: string, updateObject: IJobCodeUpdate): Observable { + const errorMsg = `Could not find JobCode with id: [${id}]` + return this.post({ + path: `${this.baseServiceUrl}/${id}/update`, + body: updateObject + }) + .pipe(share()) + .pipe(map(({body}) => new ApiJobCode(this.safeUnwrapBody(body, errorMsg)))) + } + + deleteJobCodeWithResult(id: string): Observable { + return this.pollForTaskResult(this.deleteJobCode(id)) + } + + deleteJobCode(id: string): Observable { + return this.httpClient.delete(this.buildUrl("api/metadata/jobcodes/" + id + "/remove"), { + headers: this.wrapHeaders(new HttpHeaders({ + Accept: "application/json" + } + )) + }) + .pipe(share()) + .pipe(map((body) => new ApiTaskResult(this.safeUnwrapBody(body, "unwrap failure")))) + } +} + +export class PaginatedJobCodes { + totalCount = 0 + jobCodes: ApiJobCode[] = [] + constructor(jobCodes: ApiJobCode[], totalCount: number) { + this.jobCodes = jobCodes + this.totalCount = totalCount + } +} diff --git a/ui/src/app/metadata/named-references/NamedReference.ts b/ui/src/app/metadata/named-references/NamedReference.ts new file mode 100644 index 000000000..0f00ead0b --- /dev/null +++ b/ui/src/app/metadata/named-references/NamedReference.ts @@ -0,0 +1,25 @@ +import {MetadataType} from "../rsd-metadata.enum" +import {Meta} from "@angular/platform-browser" + +export interface INamedReference { + id: string + name?: string + value: string + type?: MetadataType + framework: string +} + +export class ApiNamedReference implements INamedReference { + id = "" + framework = "" + name?: string = "" + type?: MetadataType = MetadataType.Category + value = "" + + constructor(o?: INamedReference) { + if (o !== undefined) { + Object.assign(this, o) + } + } + +} diff --git a/ui/src/app/metadata/named-references/named-reference-list-row/named-reference-list-row.component.html b/ui/src/app/metadata/named-references/named-reference-list-row/named-reference-list-row.component.html new file mode 100644 index 000000000..e423fc6ac --- /dev/null +++ b/ui/src/app/metadata/named-references/named-reference-list-row/named-reference-list-row.component.html @@ -0,0 +1,35 @@ + + + + {{namedReference.name}} + + + {{namedReference.framework}} + + + {{namedReference.value}} + + + + +
+
+ + +
+ +
+
+ +
+ + + + + + +
diff --git a/ui/src/app/metadata/named-references/named-reference-list-row/named-reference-list-row.component.spec.ts b/ui/src/app/metadata/named-references/named-reference-list-row/named-reference-list-row.component.spec.ts new file mode 100644 index 000000000..907310f3f --- /dev/null +++ b/ui/src/app/metadata/named-references/named-reference-list-row/named-reference-list-row.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from "@angular/core/testing" + +import { NamedReferenceListRowComponent } from "./named-reference-list-row.component" + +describe("NamedReferenceListRowComponent", () => { + let component: NamedReferenceListRowComponent + let fixture: ComponentFixture + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ NamedReferenceListRowComponent ] + }) + .compileComponents() + }) + + beforeEach(() => { + fixture = TestBed.createComponent(NamedReferenceListRowComponent) + component = fixture.componentInstance + fixture.detectChanges() + }) + + it("should create", () => { + expect(component).toBeTruthy() + }) +}) diff --git a/ui/src/app/metadata/named-references/named-reference-list-row/named-reference-list-row.component.ts b/ui/src/app/metadata/named-references/named-reference-list-row/named-reference-list-row.component.ts new file mode 100644 index 000000000..1b56caed7 --- /dev/null +++ b/ui/src/app/metadata/named-references/named-reference-list-row/named-reference-list-row.component.ts @@ -0,0 +1,41 @@ +import { Component, EventEmitter, Input, OnInit, Output } from "@angular/core" +import { TableActionDefinition } from "../../../table/skills-library-table/has-action-definitions" +import { SvgHelper, SvgIcon } from "../../../core/SvgHelper" +import { ApiNamedReference, INamedReference } from "../NamedReference" + +@Component({ + // tslint:disable-next-line:component-selector + selector: "[app-named-reference-list-row]", + templateUrl: "./named-reference-list-row.component.html" +}) +export class NamedReferenceListRowComponent { + @Input() namedReference?: ApiNamedReference + @Input() id = "named-reference-list-row" + @Input() isSelected = false + @Input() rowActions: TableActionDefinition[] = [] + + @Output() rowSelected = new EventEmitter() + @Output() focusActionBar = new EventEmitter() + checkIcon = SvgHelper.path(SvgIcon.CHECK) + + constructor() { } + + selected(): void { + this.rowSelected.emit(this.namedReference) + } + + handleClick(action: TableActionDefinition): boolean { + action.fire(this.namedReference) + return false + } + + focusFirstColumnInRow(): boolean { + const ref = document.getElementById(`${this.id}-header-name`) + if (ref) { + ref.focus() + return true + } else { + return false + } + } +} diff --git a/ui/src/app/metadata/named-references/named-reference-table/named-reference-table.component.html b/ui/src/app/metadata/named-references/named-reference-table/named-reference-table.component.html new file mode 100644 index 000000000..b22a3c3d0 --- /dev/null +++ b/ui/src/app/metadata/named-references/named-reference-table/named-reference-table.component.html @@ -0,0 +1,73 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + +
Named ReferencesNameFrameworkValue
diff --git a/ui/src/app/metadata/named-references/named-reference-table/named-reference-table.component.spec.ts b/ui/src/app/metadata/named-references/named-reference-table/named-reference-table.component.spec.ts new file mode 100644 index 000000000..e88afdcfe --- /dev/null +++ b/ui/src/app/metadata/named-references/named-reference-table/named-reference-table.component.spec.ts @@ -0,0 +1,25 @@ +import { ComponentFixture, TestBed } from "@angular/core/testing" + +import { NamedReferenceTableComponent } from "./named-reference-table.component" + +describe("NamedReferenceTableComponent", () => { + let component: NamedReferenceTableComponent + let fixture: ComponentFixture + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ NamedReferenceTableComponent ] + }) + .compileComponents() + }) + + beforeEach(() => { + fixture = TestBed.createComponent(NamedReferenceTableComponent) + component = fixture.componentInstance + fixture.detectChanges() + }) + + it("should create", () => { + expect(component).toBeTruthy() + }) +}) diff --git a/ui/src/app/metadata/named-references/named-reference-table/named-reference-table.component.ts b/ui/src/app/metadata/named-references/named-reference-table/named-reference-table.component.ts new file mode 100644 index 000000000..f9af27b8a --- /dev/null +++ b/ui/src/app/metadata/named-references/named-reference-table/named-reference-table.component.ts @@ -0,0 +1,21 @@ +import { AfterViewInit, Component, Input, QueryList, ViewChildren } from "@angular/core" +import { AbstractTableComponent } from "../../../table/abstract-table.component" +import { NamedReferenceListRowComponent } from "../named-reference-list-row/named-reference-list-row.component" +import { INamedReference } from "../NamedReference" + +@Component({ + selector: "app-named-reference-table", + templateUrl: "./named-reference-table.component.html" +}) +export class NamedReferenceTableComponent extends AbstractTableComponent implements AfterViewInit { + + @ViewChildren(NamedReferenceListRowComponent) rowReferences: QueryList | undefined = undefined + + @Input() allowSorting = false + + ngAfterViewInit(): void { + if (this.rowReferences && this.rowReferences.length > 0) { + this.rowReferences.first.focusFirstColumnInRow() + } + } +} diff --git a/ui/src/app/metadata/named-references/named-reference.service.spec.ts b/ui/src/app/metadata/named-references/named-reference.service.spec.ts new file mode 100644 index 000000000..4ed0c1c9f --- /dev/null +++ b/ui/src/app/metadata/named-references/named-reference.service.spec.ts @@ -0,0 +1,31 @@ +import { TestBed } from "@angular/core/testing" +import { HttpClientTestingModule } from "@angular/common/http/testing" +import { NamedReferenceService } from "./named-reference.service" +import { Location } from "@angular/common" +import { Router } from "@angular/router" +import { EnvironmentService } from "../../core/environment.service" +import { AppConfig } from "../../app.config" +import { AuthService } from "../../auth/auth-service" +import { AuthServiceStub, RouterStub } from "@test/resource/mock-stubs" + +describe("NamedReferenceService", () => { + let testService: NamedReferenceService + + beforeEach(() => { + TestBed.configureTestingModule({ + imports: [HttpClientTestingModule], + providers: [ + EnvironmentService, + AppConfig, + NamedReferenceService, + Location, + { provide: AuthService, useClass: AuthServiceStub }, + { provide: Router, useClass: RouterStub } + ]}) + testService = TestBed.inject(NamedReferenceService) + }) + + it("should be created", () => { + expect(testService).toBeTruthy() + }) +}) diff --git a/ui/src/app/metadata/named-references/named-reference.service.ts b/ui/src/app/metadata/named-references/named-reference.service.ts new file mode 100644 index 000000000..fa551ec9d --- /dev/null +++ b/ui/src/app/metadata/named-references/named-reference.service.ts @@ -0,0 +1,29 @@ +import { Injectable } from "@angular/core" +import { HttpClient } from "@angular/common/http" +import { Router } from "@angular/router" +import { Location } from "@angular/common" +import { AuthService } from "../../auth/auth-service" +import { AbstractDataService } from "../abstract-data.service" +import { ApiNamedReference } from "./NamedReference" + +@Injectable({ + providedIn: "root" +}) +export class NamedReferenceService extends AbstractDataService{ + + private baseServiceUrl = "api/named-references" + + constructor(protected httpClient: HttpClient, protected authService: AuthService, + protected router: Router, protected location: Location) { + super(httpClient, authService, router, location) + } +} + +export class PaginatedNamedReferences { + totalCount = 0 + namedReferences: ApiNamedReference[] = [] + constructor(namedReferences: ApiNamedReference[], totalCount: number) { + this.namedReferences = namedReferences + this.totalCount = totalCount + } +} diff --git a/ui/src/app/metadata/rsd-metadata.enum.ts b/ui/src/app/metadata/rsd-metadata.enum.ts new file mode 100644 index 000000000..bad69fee3 --- /dev/null +++ b/ui/src/app/metadata/rsd-metadata.enum.ts @@ -0,0 +1,10 @@ +export enum MetadataType { + Category = "category", + Keyword = "keyword", + Standard = "standard", + Certification = "certification", + Alignment = "alignment", + Employer = "employer", + Author = "author", + JobCode = "jobcode" +} diff --git a/ui/src/app/models/filter-dropdown.model.ts b/ui/src/app/models/filter-dropdown.model.ts index 57b1f6353..4c6ee1385 100644 --- a/ui/src/app/models/filter-dropdown.model.ts +++ b/ui/src/app/models/filter-dropdown.model.ts @@ -1,5 +1,5 @@ import {ApiNamedReference} from "../richskill/ApiSkill" -import {ApiJobCode} from "../job-codes/Jobcode" +import { ApiJobCode } from "../metadata/job-codes/Jobcode" export interface FilterDropdown { categories: ApiNamedReference[] diff --git a/ui/src/app/navigation/commoncontrols-mobile.component.html b/ui/src/app/navigation/commoncontrols-mobile.component.html index 34fee092b..f4c6b0465 100644 --- a/ui/src/app/navigation/commoncontrols-mobile.component.html +++ b/ui/src/app/navigation/commoncontrols-mobile.component.html @@ -16,6 +16,12 @@ Categories + +
  • + +
  • diff --git a/ui/src/app/navigation/header.component.html b/ui/src/app/navigation/header.component.html index b16dcf208..2f29054ba 100644 --- a/ui/src/app/navigation/header.component.html +++ b/ui/src/app/navigation/header.component.html @@ -21,18 +21,13 @@

    Site Navigation

    diff --git a/ui/src/app/metadata/job-codes/Jobcode.ts b/ui/src/app/metadata/job-codes/Jobcode.ts index 5217fbed0..179874ffc 100644 --- a/ui/src/app/metadata/job-codes/Jobcode.ts +++ b/ui/src/app/metadata/job-codes/Jobcode.ts @@ -1,10 +1,12 @@ export type JobCodeLevel = "Major" | "Minor" | "Broad" | "Detailed" | "Onet" export interface IJobCode { + id?: number targetNodeName?: string code: string targetNode?: number frameworkName?: string + jobCodeLevelAsNumber?: number level?: JobCodeLevel parents?: IJobCode[] major?: string @@ -18,6 +20,7 @@ export interface IJobCode { } export class ApiJobCode implements IJobCode { + id?: number code = "" targetNodeName?: string targetNode?: number diff --git a/ui/src/app/metadata/job-codes/job-code-list-row/job-code-list-row.component.html b/ui/src/app/metadata/job-codes/job-code-list-row/job-code-list-row.component.html index fa7651888..660dbb57b 100644 --- a/ui/src/app/metadata/job-codes/job-code-list-row/job-code-list-row.component.html +++ b/ui/src/app/metadata/job-codes/job-code-list-row/job-code-list-row.component.html @@ -1,17 +1,21 @@ - + {{jobCode.targetNodeName}} - - + + + {{jobCode.code}} + + {{jobCode.level}} - - - {{jobCode.parents}} - - - {{jobCode.frameworkName}} - + + +
      + +
    +
    diff --git a/ui/src/app/metadata/job-codes/job-code-list-row/job-code-list-row.component.spec.ts b/ui/src/app/metadata/job-codes/job-code-list-row/job-code-list-row.component.spec.ts index 4b1accb59..14ecce827 100644 --- a/ui/src/app/metadata/job-codes/job-code-list-row/job-code-list-row.component.spec.ts +++ b/ui/src/app/metadata/job-codes/job-code-list-row/job-code-list-row.component.spec.ts @@ -1,5 +1,6 @@ import { ComponentFixture, TestBed } from "@angular/core/testing" import { JobCodeListRowComponent } from "./job-code-list-row.component" +import { createMockJobcode, mockJobCodeWithParents } from "@test/resource/mock-data" describe("JobCodeListRowComponent", () => { let component: JobCodeListRowComponent @@ -21,4 +22,12 @@ describe("JobCodeListRowComponent", () => { it("should create", () => { expect(component).toBeTruthy() }) + + it("Parents should be ordered", () => { + component.jobCode = mockJobCodeWithParents + const sorted = component.sortedParents() + expect(sorted[0].code).toBe("13-0000") + expect(sorted[1].code).toBe("13-2000") + expect(sorted[2].code).toBe("13-2010") + }) }) diff --git a/ui/src/app/metadata/job-codes/job-code-list-row/job-code-list-row.component.ts b/ui/src/app/metadata/job-codes/job-code-list-row/job-code-list-row.component.ts index 09f3b223a..14fba521f 100644 --- a/ui/src/app/metadata/job-codes/job-code-list-row/job-code-list-row.component.ts +++ b/ui/src/app/metadata/job-codes/job-code-list-row/job-code-list-row.component.ts @@ -1,4 +1,4 @@ -import { Component, EventEmitter, Input, OnInit, Output } from "@angular/core" +import { Component, EventEmitter, Input, Output } from "@angular/core" import { TableActionDefinition } from "../../../table/skills-library-table/has-action-definitions" import { SvgHelper, SvgIcon } from "../../../core/SvgHelper" import { ApiJobCode, IJobCode } from "../Jobcode" @@ -38,4 +38,15 @@ export class JobCodeListRowComponent { return false } } + + sortedParents(): IJobCode[] { + return this.jobCode?.parents?.sort((a, b) => { + if (a.code < b.code) { + return -1 + } else if (a.code > b.code) { + return 1 + } + return 0 + }) ?? [] + } } diff --git a/ui/src/app/metadata/job-codes/job-code-table/job-code-table.component.html b/ui/src/app/metadata/job-codes/job-code-table/job-code-table.component.html index e7e622ca2..c9106921e 100644 --- a/ui/src/app/metadata/job-codes/job-code-table/job-code-table.component.html +++ b/ui/src/app/metadata/job-codes/job-code-table/job-code-table.component.html @@ -1,20 +1,19 @@ - - - - + - + - diff --git a/ui/src/app/metadata/job-codes/job-code-table/job-code-table.component.spec.ts b/ui/src/app/metadata/job-codes/job-code-table/job-code-table.component.spec.ts index 34370ccda..8d12dd899 100644 --- a/ui/src/app/metadata/job-codes/job-code-table/job-code-table.component.spec.ts +++ b/ui/src/app/metadata/job-codes/job-code-table/job-code-table.component.spec.ts @@ -1,5 +1,7 @@ import { ComponentFixture, TestBed } from "@angular/core/testing" import { JobCodeTableComponent } from "./job-code-table.component" +import { ApiSortOrder } from "../../../richskill/ApiSkill" +import { curry } from "lodash" describe("JobCodeTableComponent", () => { let component: JobCodeTableComponent @@ -21,4 +23,46 @@ describe("JobCodeTableComponent", () => { it("should create", () => { expect(component).toBeTruthy() }) + + it("Current sort should be name.asc", () => { + component.sortColumn("name", true) + expect(component.currentSort).toEqual(ApiSortOrder.NameAsc) + }) + + it("Current sort should be name.desc", () => { + component.sortColumn("name", false) + expect(component.currentSort).toEqual(ApiSortOrder.NameDesc) + }) + + it("Current sort should be code.asc", () => { + component.sortColumn("code", true) + expect(component.currentSort).toEqual(ApiSortOrder.CodeAsc) + }) + + it("Current sort should be code.desc", () => { + component.sortColumn("code", false) + expect(component.currentSort).toEqual(ApiSortOrder.CodeDesc) + }) + + it("Current sort should be jobCodeLevel.asc", () => { + component.sortColumn("jobCodeLevel", true) + expect(component.currentSort).toEqual(ApiSortOrder.JobCodeLevelAsc) + }) + + it("Current sort should be jobCodeLevel.desc", () => { + component.sortColumn("jobCodeLevel", false) + expect(component.currentSort).toEqual(ApiSortOrder.JobCodeLevelDesc) + }) + + it("Get code sort should be true", () => { + component.currentSort = ApiSortOrder.CodeAsc + const codeSort = component.getCodeSort() + expect(codeSort).toBeTrue() + }) + + it("Get job code level should be true", () => { + component.currentSort = ApiSortOrder.JobCodeLevelAsc + const codeSort = component.getJobCodeLevelSort() + expect(codeSort).toBeTrue() + }) }) diff --git a/ui/src/app/metadata/job-codes/job-code-table/job-code-table.component.ts b/ui/src/app/metadata/job-codes/job-code-table/job-code-table.component.ts index 7fdece162..4c50ede17 100644 --- a/ui/src/app/metadata/job-codes/job-code-table/job-code-table.component.ts +++ b/ui/src/app/metadata/job-codes/job-code-table/job-code-table.component.ts @@ -2,6 +2,7 @@ import { AfterViewInit, Component, Input, QueryList, ViewChildren } from "@angul import { AbstractTableComponent } from "../../../table/abstract-table.component" import { JobCodeListRowComponent } from "../job-code-list-row/job-code-list-row.component" import { IJobCode } from "../Jobcode" +import { ApiSortOrder } from "../../../richskill/ApiSkill" @Component({ selector: "app-job-code-table", @@ -18,5 +19,25 @@ export class JobCodeTableComponent extends AbstractTableComponent impl this.rowReferences.first.focusFirstColumnInRow() } } + + sortColumn(column: string, ascending: boolean): void { + if (column.toLowerCase() === "name") { + this.currentSort = ascending ? ApiSortOrder.NameAsc : this.currentSort = ApiSortOrder.NameDesc + } else if (column.toLowerCase() === "code") { + this.currentSort = ascending ? ApiSortOrder.CodeAsc : ApiSortOrder.CodeDesc + } else { + this.currentSort = ascending ? ApiSortOrder.JobCodeLevelAsc : ApiSortOrder.JobCodeLevelDesc + } + this.columnSorted.emit(this.currentSort) + } + + getCodeSort(): boolean | undefined { + return this.currentSort == ApiSortOrder.CodeAsc; + } + + getJobCodeLevelSort(): boolean | undefined { + return this.currentSort == ApiSortOrder.JobCodeLevelAsc; + } + } diff --git a/ui/src/app/metadata/job-codes/service/job-code.service.spec.ts b/ui/src/app/metadata/job-codes/service/job-code.service.spec.ts index 3d9122dd7..cf368bace 100644 --- a/ui/src/app/metadata/job-codes/service/job-code.service.spec.ts +++ b/ui/src/app/metadata/job-codes/service/job-code.service.spec.ts @@ -2,7 +2,7 @@ import { fakeAsync, TestBed, tick } from "@angular/core/testing" import { HttpClientTestingModule, HttpTestingController } from "@angular/common/http/testing" import { Location } from "@angular/common" import { Router } from "@angular/router" -import { JobCodeService, PaginatedJobCodes } from "./job-code.service" +import { JobCodeService } from "./job-code.service" import { AuthServiceData, AuthServiceStub, RouterData, RouterStub } from "@test/resource/mock-stubs" import { AppConfig } from "../../../app.config" import { EnvironmentService } from "../../../core/environment.service" @@ -10,11 +10,12 @@ import { AuthService } from "../../../auth/auth-service" import { apiTaskResultForDeleteJobCode, createMockJobcode, - createMockPaginatedJobCodes + createMockPaginatedMetaDataWithJobCodes } from "@test/resource/mock-data" import { ApiSortOrder } from "../../../richskill/ApiSkill" import { ApiJobCode, ApiJobCodeUpdate } from "../Jobcode" import { ApiBatchResult } from "../../../richskill/ApiBatchResult" +import { PaginatedMetadata } from "../../PaginatedMetadata" const ASYNC_WAIT_PERIOD = 3000 @@ -48,16 +49,16 @@ describe("JobCodeService", () => { // Arrange RouterData.commands = [] AuthServiceData.isDown = false - const path = "api/metadata/jobcodes?sort=name.asc&size=3&from=0" - const testData: PaginatedJobCodes = createMockPaginatedJobCodes(3, 10) + const path = "api/metadata/jobcodes?size=3&from=0&sort=name.asc&query=" + const testData: PaginatedMetadata = createMockPaginatedMetaDataWithJobCodes(3, 10) // Act // noinspection LocalVariableNamingConventionJS - const result$ = testService.getJobCodes(testData.jobCodes.length, 0, ApiSortOrder.NameAsc) + const result$ = testService.paginatedJobCodes(testData.data.length, 0, ApiSortOrder.NameAsc, undefined) // Assert result$ - .subscribe((data: PaginatedJobCodes) => { + .subscribe((data: PaginatedMetadata) => { expect(data).toEqual(testData) expect(RouterData.commands).toEqual([ ]) // No errors expect(AuthServiceData.isDown).toEqual(false) @@ -65,7 +66,7 @@ describe("JobCodeService", () => { const req = httpTestingController.expectOne(AppConfig.settings.baseApiUrl + "/" + path) expect(req.request.method).toEqual("GET") - req.flush(testData.jobCodes, { + req.flush(testData.data, { headers: { "x-total-count": "" + testData.totalCount} }) }) @@ -163,13 +164,14 @@ describe("JobCodeService", () => { }) it("deleteJobCodeWithResult() should works", fakeAsync(() => { - const result$ = testService.deleteJobCodeWithResult(apiTaskResultForDeleteJobCode.uuid) + const jobCodeId = 2 + const result$ = testService.deleteJobCodeWithResult(jobCodeId) tick(ASYNC_WAIT_PERIOD) // Assert result$.subscribe((data: ApiBatchResult) => { expect(RouterData.commands).toEqual([]) // No Errors }) - const req = httpTestingController.expectOne(AppConfig.settings.baseApiUrl + `/api/metadata/jobcodes/${apiTaskResultForDeleteJobCode.uuid}/remove`) + const req = httpTestingController.expectOne(AppConfig.settings.baseApiUrl + `/api/metadata/jobcodes/${jobCodeId}/remove`) expect(req.request.method).toEqual("DELETE") expect(req.request.headers.get("Accept")).toEqual("application/json") })) diff --git a/ui/src/app/metadata/job-codes/service/job-code.service.ts b/ui/src/app/metadata/job-codes/service/job-code.service.ts index 67698b34c..22a061fbe 100644 --- a/ui/src/app/metadata/job-codes/service/job-code.service.ts +++ b/ui/src/app/metadata/job-codes/service/job-code.service.ts @@ -1,41 +1,48 @@ import { Location } from "@angular/common" -import { HttpClient, HttpHeaders } from "@angular/common/http" +import { HttpClient, HttpHeaders, HttpParams } from "@angular/common/http" import { Injectable } from "@angular/core" import { Router } from "@angular/router" import { Observable } from "rxjs" import { map, share } from "rxjs/operators" import { ApiJobCode, IJobCode, IJobCodeUpdate } from "../Jobcode" -import { AuthService } from "../../../auth/auth-service"; -import { AbstractDataService } from "../../abstract-data.service"; -import { ApiSortOrder } from "../../../richskill/ApiSkill"; -import { ApiBatchResult } from "../../../richskill/ApiBatchResult"; -import { ApiTaskResult, ITaskResult } from "../../../task/ApiTaskResult"; +import { AuthService } from "../../../auth/auth-service" +import { AbstractDataService } from "../../abstract-data.service" +import { ApiSortOrder } from "../../../richskill/ApiSkill" +import { ApiBatchResult } from "../../../richskill/ApiBatchResult" +import { ApiTaskResult, ITaskResult } from "../../../task/ApiTaskResult" +import { PaginatedMetadata } from "../../PaginatedMetadata" @Injectable({ providedIn: "root" }) -export class JobCodeService extends AbstractDataService{ +export class JobCodeService extends AbstractDataService { private baseServiceUrl = "api/metadata/jobcodes" - constructor(protected httpClient: HttpClient, protected authService: AuthService, - protected router: Router, protected location: Location) { + constructor( + protected httpClient: HttpClient, + protected authService: AuthService, + protected router: Router, + protected location: Location + ) { super(httpClient, authService, router, location) } - getJobCodes( - size: number = 50, - from: number = 0, - sort: ApiSortOrder | undefined - ): Observable { - const params = this.buildTableParams(size, from, undefined, sort) + paginatedJobCodes( + size = 50, + from = 0, + sort: ApiSortOrder | undefined, + query: string | undefined + ): Observable { + const params = new HttpParams({ + fromObject: {size, from, sort: sort ?? "", query: query ?? ""} + }) return this.get({ path: `${this.baseServiceUrl}`, params, - }) - .pipe(share()) + }).pipe(share()) .pipe(map(({body, headers}) => { - return new PaginatedJobCodes( + return new PaginatedMetadata( body || [], Number(headers.get("X-Total-Count")) ) @@ -71,11 +78,11 @@ export class JobCodeService extends AbstractDataService{ .pipe(map(({body}) => new ApiJobCode(this.safeUnwrapBody(body, errorMsg)))) } - deleteJobCodeWithResult(id: string): Observable { + deleteJobCodeWithResult(id: number): Observable { return this.pollForTaskResult(this.deleteJobCode(id)) } - deleteJobCode(id: string): Observable { + deleteJobCode(id: number): Observable { return this.httpClient.delete(this.buildUrl("api/metadata/jobcodes/" + id + "/remove"), { headers: this.wrapHeaders(new HttpHeaders({ Accept: "application/json" @@ -86,12 +93,3 @@ export class JobCodeService extends AbstractDataService{ .pipe(map((body) => new ApiTaskResult(this.safeUnwrapBody(body, "unwrap failure")))) } } - -export class PaginatedJobCodes { - totalCount = 0 - jobCodes: ApiJobCode[] = [] - constructor(jobCodes: ApiJobCode[], totalCount: number) { - this.jobCodes = jobCodes - this.totalCount = totalCount - } -} diff --git a/ui/src/app/metadata/rsd-metadata.enum.ts b/ui/src/app/metadata/rsd-metadata.enum.ts index bad69fee3..bf30b8996 100644 --- a/ui/src/app/metadata/rsd-metadata.enum.ts +++ b/ui/src/app/metadata/rsd-metadata.enum.ts @@ -1,10 +1,10 @@ export enum MetadataType { - Category = "category", - Keyword = "keyword", - Standard = "standard", - Certification = "certification", - Alignment = "alignment", - Employer = "employer", - Author = "author", - JobCode = "jobcode" + Category = "categories", + Keyword = "keywords", + Standard = "standards", + Certification = "certifications", + Alignment = "alignments", + Employer = "employers", + Author = "authors", + JobCode = "occupations" } diff --git a/ui/src/app/models/index.ts b/ui/src/app/models/index.ts index f13546be6..a90d4bd93 100644 --- a/ui/src/app/models/index.ts +++ b/ui/src/app/models/index.ts @@ -1,3 +1,4 @@ export * from "./app-config.model" export * from "./filter-dropdown.model" +export * from "./paginated-data.model" export * from "./select-all-event.model" diff --git a/ui/src/app/models/paginated-data.model.ts b/ui/src/app/models/paginated-data.model.ts new file mode 100644 index 000000000..07dffc349 --- /dev/null +++ b/ui/src/app/models/paginated-data.model.ts @@ -0,0 +1,4 @@ +export interface PaginatedData { + data: T[] + totalCount: number +} diff --git a/ui/src/app/pipes/index.ts b/ui/src/app/pipes/index.ts index 795d12242..6fb5acf18 100644 --- a/ui/src/app/pipes/index.ts +++ b/ui/src/app/pipes/index.ts @@ -1 +1,2 @@ export * from "./collection.pipe" +export * from "./job-code-parents.pipe" diff --git a/ui/src/app/pipes/job-code-parents.pipe.spec.ts b/ui/src/app/pipes/job-code-parents.pipe.spec.ts new file mode 100644 index 000000000..2eb816c6f --- /dev/null +++ b/ui/src/app/pipes/job-code-parents.pipe.spec.ts @@ -0,0 +1,16 @@ +import { JobCodeParentsPipe } from './job-code-parents.pipe'; +import { mockJobCodesParents } from "@test/resource/mock-data" + +describe("JobCodeParentsPipe", () => { + + it("create an instance", () => { + const pipe = new JobCodeParentsPipe(); + expect(pipe).toBeTruthy(); + }); + + it("should transform correctly", () => { + const pipe = new JobCodeParentsPipe(); + const [parent] = mockJobCodesParents + expect(pipe.transform(parent)).toEqual(parent.code + " " + parent.targetNodeName) + }) +}); diff --git a/ui/src/app/pipes/job-code-parents.pipe.ts b/ui/src/app/pipes/job-code-parents.pipe.ts new file mode 100644 index 000000000..21f838ab2 --- /dev/null +++ b/ui/src/app/pipes/job-code-parents.pipe.ts @@ -0,0 +1,13 @@ +import { Pipe, PipeTransform } from '@angular/core'; +import { IJobCode } from "../metadata/job-codes/Jobcode" + +@Pipe({ + name: 'jobCodeParents' +}) +export class JobCodeParentsPipe implements PipeTransform { + + transform(jobCode: IJobCode): string { + return jobCode.code + " " + jobCode.targetNodeName; + } + +} diff --git a/ui/src/app/richskill/ApiSkill.ts b/ui/src/app/richskill/ApiSkill.ts index 7a985f9aa..8f1445abb 100644 --- a/ui/src/app/richskill/ApiSkill.ts +++ b/ui/src/app/richskill/ApiSkill.ts @@ -203,10 +203,13 @@ export enum ApiSortOrder { SkillAsc = "skill.asc", SkillDesc = "skill.desc", NameAsc = "name.asc", - NameDesc = "name.desc" + NameDesc = "name.desc", + CodeAsc = "code.asc", + CodeDesc = "code.desc", + JobCodeLevelAsc = "jobCodeLevel.asc", + JobCodeLevelDesc = "jobCodeLevel.desc", } - export enum AuditOperationType { Insert = "Insert", Update = "Update", diff --git a/ui/src/app/table/abstract-list.component.ts b/ui/src/app/table/abstract-list.component.ts new file mode 100644 index 000000000..e05a1df91 --- /dev/null +++ b/ui/src/app/table/abstract-list.component.ts @@ -0,0 +1,103 @@ +import { QuickLinksHelper } from "../core/quick-links-helper" +import { Component, ElementRef, ViewChild } from "@angular/core" +import { TableActionDefinition } from "./skills-library-table/has-action-definitions" +import { FormControl, FormGroup } from "@angular/forms" +import { TableActionBarComponent } from "./skills-library-table/table-action-bar.component" +import { PaginatedMetadata } from "../metadata/PaginatedMetadata" +import { ApiSortOrder } from "../richskill/ApiSkill" +import { Observable } from "rxjs" +import { PaginatedData } from "../models" + +@Component({ + selector: "app-abstract-list", + template: "" +}) +export abstract class AbstractListComponent extends QuickLinksHelper { + + from = 0 + size = 50 + matchingQuery?: string = "" + title = "Metadata" + columnSort: ApiSortOrder = ApiSortOrder.NameAsc + @ViewChild("titleHeading") titleElement!: ElementRef + @ViewChild(TableActionBarComponent) actionBar!: TableActionBarComponent + searchForm = new FormGroup({ + search: new FormControl("") + }) + results!: PaginatedData + selectedData?: T[] + resultsLoaded: Observable | undefined + selectAllChecked = false + + abstract rowActions(): TableActionDefinition[] + + abstract tableActions(): TableActionDefinition[] + + abstract loadNextPage(): void + + handleClickBackToTop(): void { + this.focusAndScrollIntoView(this.titleElement.nativeElement) + } + + navigateToPage(newPageNo: number): void { + this.from = (newPageNo - 1) * this.size + this.loadNextPage() + } + + handlePageClicked(newPageNo: number): void { + this.navigateToPage(newPageNo) + } + + focusActionBar(): void { + this.actionBar?.focus() + } + + get firstRecordNo(): number { + return this.from + 1 + } + get lastRecordNo(): number { + return Math.min(this.from + this.curPageCount, this.totalCount) + } + + get totalPageCount(): number { + return Math.ceil(this.totalCount / this.size) + } + get currentPageNo(): number { + return Math.floor(this.from / this.size) + 1 + } + + get emptyResults(): boolean { + return this.curPageCount < 1 + } + + get totalCount(): number { + return (this.results as any)?.totalCount ?? 0 + } + + get curPageCount(): number { + return this.results?.data.length ?? 0 + } + + getSelectAllCount(): number { + return this.curPageCount + } + + getSelectAllEnabled(): boolean { + return true + } + + handleNewSelection(selected: T[]): void { + this.selectedData = selected + } + + handleHeaderColumnSort(sort: ApiSortOrder): void { + this.columnSort = sort + this.from = 0 + this.loadNextPage() + } + + handleSelectAll(selectAllChecked: boolean): void { + this.selectAllChecked = selectAllChecked + } + +} diff --git a/ui/src/app/table/abstract-table.component.ts b/ui/src/app/table/abstract-table.component.ts index 46da000fa..44924406d 100644 --- a/ui/src/app/table/abstract-table.component.ts +++ b/ui/src/app/table/abstract-table.component.ts @@ -1,4 +1,4 @@ -import {Component, EventEmitter, HostListener, Input, OnInit, Output} from "@angular/core" +import { Component, EventEmitter, HostListener, Input, OnChanges, OnInit, Output, SimpleChanges } from "@angular/core" import {ApiSortOrder} from "../richskill/ApiSkill" import {TableActionDefinition} from "./skills-library-table/has-action-definitions" import {SvgHelper, SvgIcon} from "../core/SvgHelper" @@ -13,7 +13,7 @@ import {SelectAllEvent} from "../models" selector: "app-abstract-table", template: `` }) -export class AbstractTableComponent implements OnInit { +export class AbstractTableComponent implements OnInit, OnChanges { @Input() items: SummaryT[] = [] @Input() currentSort?: ApiSortOrder = undefined @@ -35,6 +35,7 @@ export class AbstractTableComponent implements OnInit { checkIcon = SvgHelper.path(SvgIcon.CHECK) isShiftPressed = false + isAllPageSelected = false constructor() { } @@ -42,6 +43,14 @@ export class AbstractTableComponent implements OnInit { this.clearSelected.subscribe(next => this.selectedItems = new Set()) } + ngOnChanges(changes: SimpleChanges): void { + if (changes.items) { + this.isAllPageSelected = false + this.selectedItems.clear() + this.rowSelected.emit(Array.from(this.selectedItems)) + } + } + getNameSort(): boolean | undefined { if (this.currentSort) { switch (this.currentSort) { @@ -100,20 +109,27 @@ export class AbstractTableComponent implements OnInit { onRowToggle(item: SummaryT): void { if (this.selectedItems.has(item)) { this.selectedItems.delete(item) + if (this.isAllPageSelected) { + this.isAllPageSelected = false + } } else { this.selectedItems.add(item) this.shiftSelection(item) + if (this.selectedItems.size === this.items.length) { + this.isAllPageSelected = true + } } + this.selectAllSelected.emit(this.isAllPageSelected) this.rowSelected.emit(Array.from(this.selectedItems)) } shiftSelection(item: SummaryT): void {} handleSelectAll(event: SelectAllEvent): void { - const isCheckboxSelected: boolean = event.selected - const isAllResultsSelected: boolean = event.selected && event.value === SelectAll.SELECT_ALL + this.isAllPageSelected = event.selected + const isAllResultsSelected: boolean = event.selected && event.value === SelectAll.SELECT_ALL // select all across pages this.selectAllSelected.emit(isAllResultsSelected) - if (isCheckboxSelected) { + if (this.isAllPageSelected) { this.items.forEach(it => this.selectedItems.add(it)) } else { this.selectedItems.clear() diff --git a/ui/src/app/table/select-all/select-all.component.html b/ui/src/app/table/select-all/select-all.component.html index 9479e75b0..253e78640 100644 --- a/ui/src/app/table/select-all/select-all.component.html +++ b/ui/src/app/table/select-all/select-all.component.html @@ -15,7 +15,7 @@
    - +
    - - - - - - - - - - - - - - - - - - -
    CategoriesCategory NameRSDs
    diff --git a/ui/src/app/category/table/category-table.component.spec.ts b/ui/src/app/category/table/category-table.component.spec.ts deleted file mode 100644 index 8ed785e49..000000000 --- a/ui/src/app/category/table/category-table.component.spec.ts +++ /dev/null @@ -1,112 +0,0 @@ -import {HttpClientTestingModule} from "@angular/common/http/testing" -import {Component, Type} from "@angular/core" -import {async, ComponentFixture, TestBed} from "@angular/core/testing" -import {FormsModule, ReactiveFormsModule} from "@angular/forms" -import {ActivatedRoute, Router} from "@angular/router" -import {RouterTestingModule} from "@angular/router/testing" -import {AppConfig} from "src/app/app.config" -import {EnvironmentService} from "src/app/core/environment.service" -import {ActivatedRouteStubSpec} from "test/util/activated-route-stub.spec" -import {AuthService} from "../../auth/auth-service" -import {CategoryService} from "../service/category.service" -import {AuthServiceStub, CategoryServiceStub} from "../../../../test/resource/mock-stubs" -import {KeywordSortOrder} from "../ApiCategory" -import {CategoryTableComponent, getLabelForSortOrder} from "./category-table.component" - -@Component({ - template: "" -}) -export abstract class TestHostComponent extends CategoryTableComponent { - execProtected = {} -} - -let activatedRoute: ActivatedRouteStubSpec -let fixture: ComponentFixture -let component: TestHostComponent - -function createComponent(T: Type): void { - fixture = TestBed.createComponent(T) - component = fixture.componentInstance - fixture.detectChanges() - fixture.whenStable().then(() => fixture.detectChanges()) -} - -describe("CategoryTableComponent", () => { - - beforeEach(() => { - activatedRoute = new ActivatedRouteStubSpec() - }) - - beforeEach(async(() => { - const routerSpy = ActivatedRouteStubSpec.createRouterSpy() - - TestBed.configureTestingModule({ - declarations: [ - CategoryTableComponent, - TestHostComponent - ], - imports: [ - FormsModule, // Required for ([ngModel]) - ReactiveFormsModule, - RouterTestingModule, // Required for routerLink - HttpClientTestingModule, // Needed to avoid the toolName race condition below - ], - providers: [ - AppConfig, // Needed to avoid the toolName race condition below - EnvironmentService, // Needed to avoid the toolName race condition below - { provide: ActivatedRoute, useValue: activatedRoute }, - { provide: AuthService, useClass: AuthServiceStub }, - { provide: CategoryService, useClass: CategoryServiceStub }, - { provide: Router, useValue: routerSpy }, - ] - }).compileComponents() - - const appConfig = TestBed.inject(AppConfig) - AppConfig.settings = appConfig.defaultConfig() // This avoids the race condition on reading the config's whitelabel.toolName - - activatedRoute.setParams({ userId: 126 }) - - // @ts-ignore - createComponent(TestHostComponent) - })) - - it("get mobileSortOrderOptions should return correct value", () => { - expect(component.mobileSortOrderOptions!!.length).toEqual(4) - }) - - it("get mobileSortOrderOptions should return correct value", () => { - expect(component.mobileSortOrderOption!!.value).toEqual(KeywordSortOrder.KeywordAsc) - - component.sortOrder = KeywordSortOrder.KeywordDesc - expect(component.mobileSortOrderOption!!.value).toEqual(KeywordSortOrder.KeywordDesc) - - component.sortOrder = KeywordSortOrder.SkillCountAsc - expect(component.mobileSortOrderOption!!.value).toEqual(KeywordSortOrder.SkillCountAsc) - - component.sortOrder = KeywordSortOrder.SkillCountDesc - expect(component.mobileSortOrderOption!!.value).toEqual(KeywordSortOrder.SkillCountDesc) - }) - - it("handleSortOrderSelected should succeed", () => { - expect((() => { - component.handleSortOrderSelected(KeywordSortOrder.SkillCountDesc) - return true - })()).toEqual(true) - }) - - it("handleMobileSortOrderSelected should succeed", () => { - expect((() => { - component.handleMobileSortOrderSelected({ label: "", value: KeywordSortOrder.SkillCountDesc }) - return true - })()).toEqual(true) - }) -}) - -describe("getLabelForSortOrder", () => { - it("should return correct values", () => { - expect(getLabelForSortOrder(KeywordSortOrder.KeywordAsc)).toEqual("Category name (ascending)") - expect(getLabelForSortOrder(KeywordSortOrder.KeywordDesc)).toEqual("Category name (descending)") - expect(getLabelForSortOrder(KeywordSortOrder.SkillCountAsc)).toEqual("Skill count (ascending)") - expect(getLabelForSortOrder(KeywordSortOrder.SkillCountDesc)).toEqual("Skill count (descending)") - }) -}) diff --git a/ui/src/app/category/table/category-table.component.ts b/ui/src/app/category/table/category-table.component.ts deleted file mode 100644 index 2030d75f1..000000000 --- a/ui/src/app/category/table/category-table.component.ts +++ /dev/null @@ -1,52 +0,0 @@ -import {Component, EventEmitter, Input, Output, QueryList, ViewChildren} from "@angular/core" -import {ApiCategory, KeywordSortOrder} from "../ApiCategory" -import {ISelectOption} from "../../table/label/select/select-label.component" -import {CategoryTableRowComponent} from "./row/category-table-row.component" - -@Component({ - selector: "app-category-table", - templateUrl: "./category-table.component.html" -}) -export class CategoryTableComponent { - @ViewChildren(CategoryTableRowComponent) rowReferences: QueryList | undefined = undefined - - @Input() items: ApiCategory[] = [] - @Input() sortOrder: KeywordSortOrder = KeywordSortOrder.KeywordAsc - @Output() sortOrderSelected = new EventEmitter() - - readonly KeywordSortOrder = KeywordSortOrder - - readonly mobileSortOptionMap: Map> = new Map( - [ KeywordSortOrder.KeywordAsc, - KeywordSortOrder.KeywordDesc, - KeywordSortOrder.SkillCountAsc, - KeywordSortOrder.SkillCountDesc - ].map(sortOrder => [sortOrder, { label: getLabelForSortOrder(sortOrder), value: sortOrder }]) - ) - - get mobileSortOrderOptions(): ISelectOption[] { - return Array.from(this.mobileSortOptionMap.values()) - } - - get mobileSortOrderOption() { - return this.mobileSortOptionMap.get(this.sortOrder) - } - - handleSortOrderSelected(sortOrder: any) { - this.sortOrderSelected.emit(sortOrder) - } - - handleMobileSortOrderSelected(selection: ISelectOption) { - this.sortOrderSelected.emit(selection.value) - } -} - -export function getLabelForSortOrder(sortOrder: KeywordSortOrder): string { - switch (sortOrder) { - case KeywordSortOrder.KeywordAsc: return "Category name (ascending)" - case KeywordSortOrder.KeywordDesc: return "Category name (descending)" - case KeywordSortOrder.SkillCountAsc: return "Skill count (ascending)" - case KeywordSortOrder.SkillCountDesc: return "Skill count (descending)" - default: return "" - } -} diff --git a/ui/src/app/category/table/row/category-table-row.component.html b/ui/src/app/category/table/row/category-table-row.component.html deleted file mode 100644 index 722be4974..000000000 --- a/ui/src/app/category/table/row/category-table-row.component.html +++ /dev/null @@ -1,7 +0,0 @@ - - - {{category.name}} - - {{category.skillCount}} - - diff --git a/ui/src/app/category/table/row/category-table-row.component.spec.ts b/ui/src/app/category/table/row/category-table-row.component.spec.ts deleted file mode 100644 index e8c379562..000000000 --- a/ui/src/app/category/table/row/category-table-row.component.spec.ts +++ /dev/null @@ -1,83 +0,0 @@ -import {HttpClientTestingModule} from "@angular/common/http/testing" -import {Component, Type} from "@angular/core" -import {async, ComponentFixture, TestBed} from "@angular/core/testing" -import {FormsModule, ReactiveFormsModule} from "@angular/forms" -import {ActivatedRoute, Router} from "@angular/router" -import {RouterTestingModule} from "@angular/router/testing" -import {AppConfig} from "src/app/app.config" -import {EnvironmentService} from "src/app/core/environment.service" -import {ActivatedRouteStubSpec} from "test/util/activated-route-stub.spec" -import {AuthService} from "../../../auth/auth-service" -import {CategoryService} from "../../service/category.service" -import {AuthServiceStub, CategoryServiceData, CategoryServiceStub} from "../../../../../test/resource/mock-stubs" -import {CategoryTableRowComponent} from "./category-table-row.component" - - -@Component({ - template: "" -}) -export abstract class TestHostComponent extends CategoryTableRowComponent { - execProtected = {} -} - -let activatedRoute: ActivatedRouteStubSpec -let fixture: ComponentFixture -let component: TestHostComponent - -function createComponent(T: Type): void { - fixture = TestBed.createComponent(T) - component = fixture.componentInstance - fixture.detectChanges() - fixture.whenStable().then(() => fixture.detectChanges()) -} - -describe("CategoryListComponent", () => { - - beforeEach(() => { - activatedRoute = new ActivatedRouteStubSpec() - }) - - beforeEach(async(() => { - const routerSpy = ActivatedRouteStubSpec.createRouterSpy() - - TestBed.configureTestingModule({ - declarations: [ - CategoryTableRowComponent, - TestHostComponent - ], - imports: [ - FormsModule, // Required for ([ngModel]) - ReactiveFormsModule, - RouterTestingModule, // Required for routerLink - HttpClientTestingModule, // Needed to avoid the toolName race condition below - ], - providers: [ - AppConfig, // Needed to avoid the toolName race condition below - EnvironmentService, // Needed to avoid the toolName race condition below - { provide: ActivatedRoute, useValue: activatedRoute }, - { provide: AuthService, useClass: AuthServiceStub }, - { provide: CategoryService, useClass: CategoryServiceStub }, - { provide: Router, useValue: routerSpy }, - ] - }).compileComponents() - - const appConfig = TestBed.inject(AppConfig) - AppConfig.settings = appConfig.defaultConfig() // This avoids the race condition on reading the config's whitelabel.toolName - - activatedRoute.setParams({ userId: 126 }) - - // @ts-ignore - createComponent(TestHostComponent) - })) - - it("should be created", () => { - expect(component).toBeTruthy() - }) - - it("focusFirstColumnInRow should succeed", () => { - expect((() => { - component.focusFirstColumnInRow() - return true - })()).toEqual(true) - }) -}) diff --git a/ui/src/app/category/table/row/category-table-row.component.ts b/ui/src/app/category/table/row/category-table-row.component.ts deleted file mode 100644 index e454c1f9b..000000000 --- a/ui/src/app/category/table/row/category-table-row.component.ts +++ /dev/null @@ -1,21 +0,0 @@ -import {Component, Input, OnInit} from "@angular/core" -import {ApiCategory} from "../../ApiCategory" - -@Component({ - selector: "[app-category-table-row]", - templateUrl: "./category-table-row.component.html" -}) -export class CategoryTableRowComponent { - @Input() category?: ApiCategory - @Input() id = "category-list-row" - - focusFirstColumnInRow(): boolean { - const ref = document.getElementById(`${this.id}-header-name`) - if (ref) { - ref.focus() - return true - } else { - return false - } - } -} diff --git a/ui/src/app/data/named-reference.service.spec.ts b/ui/src/app/data/named-reference.service.spec.ts deleted file mode 100644 index bb1036a5f..000000000 --- a/ui/src/app/data/named-reference.service.spec.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { TestBed } from "@angular/core/testing" -import { HttpClientTestingModule } from "@angular/common/http/testing" -import { NamedReferenceService } from "./named-reference.service" -import { Location } from "@angular/common" -import { Router } from "@angular/router" -import { EnvironmentService } from "../core/environment.service" -import { AppConfig } from "../app.config" -import { AuthService } from "../auth/auth-service" -import { AuthServiceStub, RouterStub } from "@test/resource/mock-stubs" - -describe("NamedReferenceService", () => { - let testService: NamedReferenceService - - beforeEach(() => { - TestBed.configureTestingModule({ - imports: [HttpClientTestingModule], - providers: [ - EnvironmentService, - AppConfig, - NamedReferenceService, - Location, - { provide: AuthService, useClass: AuthServiceStub }, - { provide: Router, useClass: RouterStub } - ]}) - testService = TestBed.inject(NamedReferenceService) - }) - - it("should be created", () => { - expect(testService).toBeTruthy() - }) -}) diff --git a/ui/src/app/data/named-reference.service.ts b/ui/src/app/data/named-reference.service.ts deleted file mode 100644 index 93feee83d..000000000 --- a/ui/src/app/data/named-reference.service.ts +++ /dev/null @@ -1,19 +0,0 @@ -import { Injectable } from "@angular/core" -import { HttpClient } from "@angular/common/http" -import { Router } from "@angular/router" -import { Location } from "@angular/common" -import { AuthService } from "../auth/auth-service" -import { AbstractDataService } from "./abstract-data.service" - -@Injectable({ - providedIn: "root" -}) -export class NamedReferenceService extends AbstractDataService{ - - private baseServiceUrl = "api/named-references" - - constructor(protected httpClient: HttpClient, protected authService: AuthService, - protected router: Router, protected location: Location) { - super(httpClient, authService, router, location) - } -} diff --git a/ui/src/app/metadata/PaginatedMetadata.ts b/ui/src/app/metadata/PaginatedMetadata.ts index 6273236e8..4495c7e75 100644 --- a/ui/src/app/metadata/PaginatedMetadata.ts +++ b/ui/src/app/metadata/PaginatedMetadata.ts @@ -1,6 +1,6 @@ import { ApiJobCode } from "./job-codes/Jobcode" import { ApiNamedReference } from "./named-references/NamedReference" -import { PaginatedData } from "../models" +import { PaginatedData } from "../models"; export class PaginatedMetadata implements PaginatedData { @@ -11,5 +11,4 @@ export class PaginatedMetadata implements PaginatedData
    -
    +

    Select one or more records in the table, or select all in the table heading, then use the action menu to delete the selected ones.

    { @@ -93,4 +93,28 @@ describe("ManageMetadataComponent", () => { component["handleDeleteJobCode"](mockJobCode) expect(spyService).not.toHaveBeenCalled() }) + + it("handleDeleteNamedReference should call deleteNamedReferenceWithResult", () => { + const mockNamedReference = createMockNamedReference2() + const spyService = spyOn(component["namedReferenceService"], "deleteNamedReferenceWithResult").and.returnValue( + of({success: true}) + ) + spyOn(window, 'confirm').and.callFake(function () { + return true; + }); + component["handleDeleteNamedReference"](mockNamedReference) + expect(spyService).toHaveBeenCalled() + }) + + it("handleDeleteNamedReference should not call deleteNamedReferenceWithResult", () => { + const mockNamedReference = createMockNamedReference2() + const spyService = spyOn(component["namedReferenceService"], "deleteNamedReferenceWithResult").and.returnValue( + of({success: true}) + ) + spyOn(window, 'confirm').and.callFake(function () { + return false; + }); + component["handleDeleteNamedReference"](mockNamedReference) + expect(spyService).not.toHaveBeenCalled() + }) }) diff --git a/ui/src/app/metadata/detail/metadata-list/metadata-list.component.ts b/ui/src/app/metadata/detail/metadata-list/metadata-list.component.ts index d207c2c86..d0977255d 100644 --- a/ui/src/app/metadata/detail/metadata-list/metadata-list.component.ts +++ b/ui/src/app/metadata/detail/metadata-list/metadata-list.component.ts @@ -1,9 +1,8 @@ import { Component, OnInit } from "@angular/core" import { FormControl } from "@angular/forms" import { Subject } from "rxjs" -import { PaginatedMetadata } from "../../PaginatedMetadata" import { ApiJobCode, IJobCode } from "../../job-codes/Jobcode" -import { ApiNamedReference, INamedReference } from "../../named-references/NamedReference" +import { ApiNamedReference, NamedReferenceInterface } from "../../named-references/NamedReference" import { TableActionDefinition } from "../../../table/skills-library-table/has-action-definitions" import { ButtonAction } from "../../../auth/auth-roles" import { AuthService } from "../../../auth/auth-service" @@ -11,12 +10,13 @@ import { MetadataType } from "../../rsd-metadata.enum" import { JobCodeService } from "../../job-codes/service/job-code.service" import { ToastService } from "../../../toast/toast.service" import { AbstractListComponent } from "../../../table/abstract-list.component" +import { NamedReferenceService } from "../../named-references/service/named-reference.service" @Component({ selector: "app-metadata-list", templateUrl: "./metadata-list.component.html" }) -export class MetadataListComponent extends AbstractListComponent implements OnInit { +export class MetadataListComponent extends AbstractListComponent implements OnInit { selectedMetadataType = MetadataType.Category @@ -25,24 +25,12 @@ export class MetadataListComponent extends AbstractListComponent() constructor( protected authService: AuthService, protected jobCodeService: JobCodeService, - protected toastService: ToastService + protected toastService: ToastService, + protected namedReferenceService: NamedReferenceService ) { super() } @@ -51,7 +39,7 @@ export class MetadataListComponent extends AbstractListComponent { this.selectedMetadataType = value - this.loadNextPage() + this.handleDefaultSubmit() }) this.loadNextPage() } @@ -74,7 +62,9 @@ export class MetadataListComponent extends AbstractListComponent this.results = jobCodes) } else { - this.results = this.sampleNamedReferenceResult + const getEnumKey = Object.keys(MetadataType)[Object.values(MetadataType).indexOf(this.selectedMetadataType)]; + this.resultsLoaded = this.namedReferenceService.paginatedNamedReferences(this.size, this.from, this.columnSort, getEnumKey, this.matchingQuery) + this.resultsLoaded.subscribe(namedReferences => this.results = namedReferences) } } @@ -90,8 +80,8 @@ export class MetadataListComponent extends AbstractListComponent this.handleClickDeleteItem(metadata), + callback: (action: TableActionDefinition, metadata?: IJobCode | NamedReferenceInterface) => this.handleClickDeleteItem(metadata), visible: () => !this.selectAllChecked })) } @@ -140,7 +130,16 @@ export class MetadataListComponent extends AbstractListComponent 0) { - this.toastService.showToast("Warning", "Some occupations cannot be deleted") - } else { - this.toastService.showToast("Success", "All selected occupations have been deleted") - } - this.loadNextPage() + this.displayDeletionResult(notDeleted, this.selectedMetadataType) + } + } + + private handleDeleteMultipleNamedReferences(namedReferences: NamedReferenceInterface[], index: number, notDeleted = 0): void { + if (index < namedReferences.length) { + this.namedReferenceService.deleteNamedReferenceWithResult(namedReferences[index].id ?? 0).subscribe(data => { + if (data && data.success) { + this.handleDeleteMultipleNamedReferences(namedReferences, index + 1, notDeleted) + } else if (data && !data.success) { + this.handleDeleteMultipleNamedReferences(namedReferences, index + 1, notDeleted + 1) + } + }) + } else { + this.displayDeletionResult(notDeleted, this.selectedMetadataType) } } - private handleClickDeleteItem(metadata: IJobCode | INamedReference | undefined): void { + private displayDeletionResult(notDeleted: number, metadataDeleted: string): void { + this.toastService.hideBlockingLoader() + if (notDeleted > 0) { + this.toastService.showToast("Warning", `Some ${metadataDeleted} could not be deleted`) + } else { + this.toastService.showToast("Success", `All selected ${metadataDeleted} have been deleted`) + } + this.loadNextPage() + } + + private handleClickDeleteItem(metadata: IJobCode | NamedReferenceInterface | undefined): void { if (this.isJobCodeDataSelected) { this.handleDeleteJobCode(metadata as IJobCode) + } else { + this.handleDeleteNamedReference(metadata as NamedReferenceInterface) + } } @@ -183,4 +204,17 @@ export class MetadataListComponent extends AbstractListComponent { + if (data && data.success) { + this.toastService.showToast("Successfully Deleted", "" + (namedReference as ApiNamedReference)?.name) + this.loadNextPage() + } else if (data && !data.success) { + this.toastService.showToast("Warning", data.message ?? "You cannot delete this Named Reference") + } + }) + } + } + } diff --git a/ui/src/app/metadata/job-codes/Jobcode.ts b/ui/src/app/metadata/job-codes/Jobcode.ts index 179874ffc..ea54350ac 100644 --- a/ui/src/app/metadata/job-codes/Jobcode.ts +++ b/ui/src/app/metadata/job-codes/Jobcode.ts @@ -68,7 +68,7 @@ export class ApiJobCodeUpdate implements IJobCodeUpdate { level?: JobCodeLevel parents?: IJobCode[] - constructor({code, targetNodeName, targetNode, frameworkName, level, parents}: IJobCode) { + constructor({code, targetNodeName, targetNode, frameworkName, level, parents}: IJobCodeUpdate) { this.code = code this.targetNodeName = targetNodeName this.targetNode = targetNode diff --git a/ui/src/app/metadata/named-references/NamedReference.ts b/ui/src/app/metadata/named-references/NamedReference.ts index 0f00ead0b..36fd76d89 100644 --- a/ui/src/app/metadata/named-references/NamedReference.ts +++ b/ui/src/app/metadata/named-references/NamedReference.ts @@ -1,25 +1,48 @@ import {MetadataType} from "../rsd-metadata.enum" -import {Meta} from "@angular/platform-browser" -export interface INamedReference { - id: string +export interface NamedReferenceInterface { + id: number name?: string - value: string type?: MetadataType + url: string framework: string + skillCount: number } -export class ApiNamedReference implements INamedReference { - id = "" +export class ApiNamedReference implements NamedReferenceInterface { + id = 0 framework = "" name?: string = "" type?: MetadataType = MetadataType.Category - value = "" + url = "" + skillCount: number = 0 - constructor(o?: INamedReference) { + constructor(o?: NamedReferenceInterface) { if (o !== undefined) { Object.assign(this, o) } } +} +export interface INamedReferenceUpdate { + name?: string + type?: MetadataType + url: string + framework: string } + +export class ApiNamedReferenceUpdate implements INamedReferenceUpdate { + framework = "" + name?: string = "" + type?: MetadataType = MetadataType.Category + url = "" + + constructor({framework, name, type, url}: INamedReferenceUpdate) { + this.framework = framework + this.name = name + this.type = type + this.url = url + } +} + + diff --git a/ui/src/app/metadata/named-references/named-reference-list-row/named-reference-list-row.component.html b/ui/src/app/metadata/named-references/named-reference-list-row/named-reference-list-row.component.html index e423fc6ac..79abae907 100644 --- a/ui/src/app/metadata/named-references/named-reference-list-row/named-reference-list-row.component.html +++ b/ui/src/app/metadata/named-references/named-reference-list-row/named-reference-list-row.component.html @@ -1,13 +1,13 @@ - + {{namedReference.name}} - + {{namedReference.framework}} - - {{namedReference.value}} + + {{namedReference.url}} diff --git a/ui/src/app/metadata/named-references/named-reference-list-row/named-reference-list-row.component.ts b/ui/src/app/metadata/named-references/named-reference-list-row/named-reference-list-row.component.ts index 1b56caed7..981c05025 100644 --- a/ui/src/app/metadata/named-references/named-reference-list-row/named-reference-list-row.component.ts +++ b/ui/src/app/metadata/named-references/named-reference-list-row/named-reference-list-row.component.ts @@ -1,7 +1,8 @@ import { Component, EventEmitter, Input, OnInit, Output } from "@angular/core" import { TableActionDefinition } from "../../../table/skills-library-table/has-action-definitions" import { SvgHelper, SvgIcon } from "../../../core/SvgHelper" -import { ApiNamedReference, INamedReference } from "../NamedReference" +import { ApiNamedReference, NamedReferenceInterface } from "../NamedReference" +import { MetadataType } from "../../rsd-metadata.enum"; @Component({ // tslint:disable-next-line:component-selector @@ -13,8 +14,10 @@ export class NamedReferenceListRowComponent { @Input() id = "named-reference-list-row" @Input() isSelected = false @Input() rowActions: TableActionDefinition[] = [] + @Input() metadataSelected?: MetadataType - @Output() rowSelected = new EventEmitter() + + @Output() rowSelected = new EventEmitter() @Output() focusActionBar = new EventEmitter() checkIcon = SvgHelper.path(SvgIcon.CHECK) @@ -29,6 +32,10 @@ export class NamedReferenceListRowComponent { return false } + get isAlignmentSelected(): boolean { + return this.metadataSelected == MetadataType.Alignment + } + focusFirstColumnInRow(): boolean { const ref = document.getElementById(`${this.id}-header-name`) if (ref) { diff --git a/ui/src/app/metadata/named-references/named-reference-table/named-reference-table.component.html b/ui/src/app/metadata/named-references/named-reference-table/named-reference-table.component.html index b22a3c3d0..0d4dcdd07 100644 --- a/ui/src/app/metadata/named-references/named-reference-table/named-reference-table.component.html +++ b/ui/src/app/metadata/named-references/named-reference-table/named-reference-table.component.html @@ -5,12 +5,12 @@ Named References Name Framework - Value + URL - - - Framework - + + + + + Framework + + - + - Value + URL @@ -48,7 +56,8 @@ [selectAllEnabled]="selectAllEnabled" (valueChange)="handleSelectAll($event)" [totalCount]="getSelectAllCount()" - [totalPageCount]="items.length"> + [totalPageCount]="items.length" + [checkAll]="isAllPageSelected"> @@ -63,6 +72,7 @@ [class.m-tableRow-is-selected]="isSelected(namedReference)" app-named-reference-list-row + [metadataSelected]=metadataSelected [namedReference]="namedReference" [isSelected]="isSelected(namedReference)" [rowActions]="rowActions" diff --git a/ui/src/app/metadata/named-references/named-reference-table/named-reference-table.component.spec.ts b/ui/src/app/metadata/named-references/named-reference-table/named-reference-table.component.spec.ts index e88afdcfe..2c270d648 100644 --- a/ui/src/app/metadata/named-references/named-reference-table/named-reference-table.component.spec.ts +++ b/ui/src/app/metadata/named-references/named-reference-table/named-reference-table.component.spec.ts @@ -1,6 +1,7 @@ import { ComponentFixture, TestBed } from "@angular/core/testing" import { NamedReferenceTableComponent } from "./named-reference-table.component" +import { ApiSortOrder } from "../../../richskill/ApiSkill"; describe("NamedReferenceTableComponent", () => { let component: NamedReferenceTableComponent @@ -22,4 +23,30 @@ describe("NamedReferenceTableComponent", () => { it("should create", () => { expect(component).toBeTruthy() }) + + it("Current sort should be name.asc", () => { + component.sortColumn("name", true) + expect(component.currentSort).toEqual(ApiSortOrder.KeywordNameAsc) + }) + + it("Current sort should be name.desc", () => { + component.sortColumn("name", false) + expect(component.currentSort).toEqual(ApiSortOrder.KeywordNameDesc) + }) + + it("Current sort should be code.asc", () => { + component.sortColumn("framework", true) + expect(component.currentSort).toEqual(ApiSortOrder.KeywordFrameworkAsc) + }) + + it("Current sort should be code.desc", () => { + component.sortColumn("framework", false) + expect(component.currentSort).toEqual(ApiSortOrder.KeywordFrameworkDesc) + }) + + it("Get code sort should be true", () => { + component.currentSort = ApiSortOrder.KeywordFrameworkAsc + const codeSort = component.getFrameworkSort() + expect(codeSort).toBeTrue() + }) }) diff --git a/ui/src/app/metadata/named-references/named-reference-table/named-reference-table.component.ts b/ui/src/app/metadata/named-references/named-reference-table/named-reference-table.component.ts index f9af27b8a..175aaaef0 100644 --- a/ui/src/app/metadata/named-references/named-reference-table/named-reference-table.component.ts +++ b/ui/src/app/metadata/named-references/named-reference-table/named-reference-table.component.ts @@ -1,21 +1,43 @@ -import { AfterViewInit, Component, Input, QueryList, ViewChildren } from "@angular/core" +import {AfterViewInit, Component, Input, QueryList, ViewChildren} from "@angular/core" import { AbstractTableComponent } from "../../../table/abstract-table.component" import { NamedReferenceListRowComponent } from "../named-reference-list-row/named-reference-list-row.component" -import { INamedReference } from "../NamedReference" +import { NamedReferenceInterface } from "../NamedReference" +import { MetadataType } from "../../rsd-metadata.enum"; +import { ApiSortOrder } from "../../../richskill/ApiSkill"; @Component({ selector: "app-named-reference-table", templateUrl: "./named-reference-table.component.html" }) -export class NamedReferenceTableComponent extends AbstractTableComponent implements AfterViewInit { +export class NamedReferenceTableComponent extends AbstractTableComponent implements AfterViewInit { @ViewChildren(NamedReferenceListRowComponent) rowReferences: QueryList | undefined = undefined @Input() allowSorting = false + @Input() metadataSelected? : MetadataType + + + get isAlignmentSelected(): boolean { + return this.metadataSelected == MetadataType.Alignment + } ngAfterViewInit(): void { if (this.rowReferences && this.rowReferences.length > 0) { this.rowReferences.first.focusFirstColumnInRow() } } + + sortColumn(column: string, ascending: boolean): void { + if (column.toLowerCase() === "name") { + this.currentSort = ascending ? ApiSortOrder.KeywordNameAsc : this.currentSort = ApiSortOrder.KeywordNameDesc + } else if (column.toLowerCase() === "framework") { + this.currentSort = ascending ? ApiSortOrder.KeywordFrameworkAsc : ApiSortOrder.KeywordFrameworkDesc + } + this.columnSorted.emit(this.currentSort) + } + + getFrameworkSort(): boolean | undefined { + return this.currentSort == ApiSortOrder.KeywordFrameworkAsc; + } + } diff --git a/ui/src/app/metadata/named-references/named-reference.service.spec.ts b/ui/src/app/metadata/named-references/named-reference.service.spec.ts deleted file mode 100644 index 4ed0c1c9f..000000000 --- a/ui/src/app/metadata/named-references/named-reference.service.spec.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { TestBed } from "@angular/core/testing" -import { HttpClientTestingModule } from "@angular/common/http/testing" -import { NamedReferenceService } from "./named-reference.service" -import { Location } from "@angular/common" -import { Router } from "@angular/router" -import { EnvironmentService } from "../../core/environment.service" -import { AppConfig } from "../../app.config" -import { AuthService } from "../../auth/auth-service" -import { AuthServiceStub, RouterStub } from "@test/resource/mock-stubs" - -describe("NamedReferenceService", () => { - let testService: NamedReferenceService - - beforeEach(() => { - TestBed.configureTestingModule({ - imports: [HttpClientTestingModule], - providers: [ - EnvironmentService, - AppConfig, - NamedReferenceService, - Location, - { provide: AuthService, useClass: AuthServiceStub }, - { provide: Router, useClass: RouterStub } - ]}) - testService = TestBed.inject(NamedReferenceService) - }) - - it("should be created", () => { - expect(testService).toBeTruthy() - }) -}) diff --git a/ui/src/app/metadata/named-references/named-reference.service.ts b/ui/src/app/metadata/named-references/named-reference.service.ts deleted file mode 100644 index fa551ec9d..000000000 --- a/ui/src/app/metadata/named-references/named-reference.service.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { Injectable } from "@angular/core" -import { HttpClient } from "@angular/common/http" -import { Router } from "@angular/router" -import { Location } from "@angular/common" -import { AuthService } from "../../auth/auth-service" -import { AbstractDataService } from "../abstract-data.service" -import { ApiNamedReference } from "./NamedReference" - -@Injectable({ - providedIn: "root" -}) -export class NamedReferenceService extends AbstractDataService{ - - private baseServiceUrl = "api/named-references" - - constructor(protected httpClient: HttpClient, protected authService: AuthService, - protected router: Router, protected location: Location) { - super(httpClient, authService, router, location) - } -} - -export class PaginatedNamedReferences { - totalCount = 0 - namedReferences: ApiNamedReference[] = [] - constructor(namedReferences: ApiNamedReference[], totalCount: number) { - this.namedReferences = namedReferences - this.totalCount = totalCount - } -} diff --git a/ui/src/app/metadata/named-references/service/named-reference.service.spec.ts b/ui/src/app/metadata/named-references/service/named-reference.service.spec.ts new file mode 100644 index 000000000..003c1dccb --- /dev/null +++ b/ui/src/app/metadata/named-references/service/named-reference.service.spec.ts @@ -0,0 +1,178 @@ +import {fakeAsync, TestBed, tick} from "@angular/core/testing" +import { HttpClientTestingModule, HttpTestingController } from "@angular/common/http/testing" +import { NamedReferenceService } from "./named-reference.service" +import { Location } from "@angular/common" +import { Router } from "@angular/router" +import { EnvironmentService } from "../../../core/environment.service" +import { AppConfig } from "../../../app.config" +import { AuthService } from "../../../auth/auth-service" +import {AuthServiceData, AuthServiceStub, RouterData, RouterStub} from "@test/resource/mock-stubs" +import { PaginatedMetadata } from "../../PaginatedMetadata"; +import { + createMockNamedReference2, + createMockPaginatedMetaDataWithNamedReferences +} from "@test/resource/mock-data"; +import { ApiSortOrder } from "../../../richskill/ApiSkill"; +import { MetadataType } from "../../rsd-metadata.enum"; +import { ApiNamedReference, ApiNamedReferenceUpdate } from "../NamedReference"; +import { ApiBatchResult } from "../../../richskill/ApiBatchResult"; + +const ASYNC_WAIT_PERIOD = 3000 + +describe("NamedReferenceService", () => { + let testService: NamedReferenceService + + beforeEach(() => { + TestBed.configureTestingModule({ + imports: [HttpClientTestingModule], + providers: [ + EnvironmentService, + AppConfig, + NamedReferenceService, + Location, + { provide: AuthService, useClass: AuthServiceStub }, + { provide: Router, useClass: RouterStub } + ]}) + testService = TestBed.inject(NamedReferenceService) + let httpTestingController = TestBed.inject(HttpTestingController) + const appConfig = TestBed.inject(AppConfig) + AppConfig.settings = appConfig.defaultConfig() + }) + + it("should be created", () => { + expect(testService).toBeTruthy() + }) + + it("getNamedReferences() should return Array of NamedReferences", () => { + // Arrange + RouterData.commands = [] + AuthServiceData.isDown = false + const path = "api/metadata/keywords?size=3&from=0&sort=name.asc&query=&type=categories" + const testData: PaginatedMetadata = createMockPaginatedMetaDataWithNamedReferences(3, 10) + let httpTestingController = TestBed.inject(HttpTestingController) + + // Act + // noinspection LocalVariableNamingConventionJS + const result$ = testService.paginatedNamedReferences(testData.data.length, 0, ApiSortOrder.KeywordNameAsc,MetadataType.Category, undefined) + + // Assert + result$ + .subscribe((data: PaginatedMetadata) => { + expect(data).toEqual(testData) + expect(RouterData.commands).toEqual([ ]) // No errors + expect(AuthServiceData.isDown).toEqual(false) + }) + + const req = httpTestingController.expectOne(AppConfig.settings.baseApiUrl + "/" + path) + expect(req.request.method).toEqual("GET") + req.flush(testData.data, { + headers: { "x-total-count": "" + testData.totalCount} + }) + }) + + it("getNamedReferenceById() should return", () => { + // Arrange + RouterData.commands = [] + AuthServiceData.isDown = false + const id = "12345" + const path = "api/metadata/keywords/" + id + const testData: ApiNamedReference = new ApiNamedReference(createMockNamedReference2()) + let httpTestingController = TestBed.inject(HttpTestingController) + + // Act + // noinspection LocalVariableNamingConventionJS + const result$ = testService.getNamedReferenceById(id) + + // Assert + result$ + .subscribe((data: ApiNamedReference) => { + expect(data).toEqual(testData) + expect(RouterData.commands).toEqual([ ]) // No errors + expect(AuthServiceData.isDown).toEqual(false) + }) + + const req = httpTestingController.expectOne(AppConfig.settings.baseApiUrl + "/" + path) + expect(req.request.method).toEqual("GET") + req.flush(testData) + }) + + it("createNamedReference() should return a Named Reference", () => { + // Arrange + RouterData.commands = [] + AuthServiceData.isDown = false + const path = "api/metadata/keywords" + const testData = [ + new ApiNamedReference(createMockNamedReference2()) + ] + const expected = testData[0] + const input = new ApiNamedReferenceUpdate({ + name : expected.name, + type : expected.type, + url : expected.url, + framework : expected.framework + }) + let httpTestingController = TestBed.inject(HttpTestingController) + + // Act + const result$ = testService.createNamedReference(input) + + // Assert + result$ + .subscribe((data: ApiNamedReference) => { + expect(data).toEqual(expected) + expect(RouterData.commands).toEqual([ ]) // No errors + expect(AuthServiceData.isDown).toEqual(false) + }) + + const req = httpTestingController.expectOne(AppConfig.settings.baseApiUrl + "/" + path) + expect(req.request.method).toEqual("POST") + req.flush(testData) + }) + + it("updateNamedReference() should return", () => { + // Arrange + RouterData.commands = [] + AuthServiceData.isDown = false + const testData = new ApiNamedReference(createMockNamedReference2()) + const expected = testData + const id = expected.id + const path = "api/metadata/keywords/" + id + const input = new ApiNamedReferenceUpdate({ + framework : expected.framework, + name : expected.name, + type : expected.type, + url : expected.url + }) + let httpTestingController = TestBed.inject(HttpTestingController) + + // Act + const result$ = testService.updateNamedReference(id, input) + + // Assert + result$ + .subscribe((data: ApiNamedReference) => { + expect(data).toEqual(expected) + expect(RouterData.commands).toEqual([ ]) // No errors + expect(AuthServiceData.isDown).toEqual(false) + }) + + const req = httpTestingController.expectOne(AppConfig.settings.baseApiUrl + "/" + path + "/update") + expect(req.request.method).toEqual("POST") + req.flush(testData) + }) + + it("deleteNamedReferenceWithResult() should work", fakeAsync(() => { + const namedReferenceId = 2 + const result$ = testService.deleteNamedReferenceWithResult(namedReferenceId) + tick(ASYNC_WAIT_PERIOD) + let httpTestingController = TestBed.inject(HttpTestingController) + + // Assert + result$.subscribe((data: ApiBatchResult) => { + expect(RouterData.commands).toEqual([]) // No Errors + }) + const req = httpTestingController.expectOne(AppConfig.settings.baseApiUrl + `/api/metadata/keywords/${namedReferenceId}/remove`) + expect(req.request.method).toEqual("DELETE") + expect(req.request.headers.get("Accept")).toEqual("application/json") + })) +}) diff --git a/ui/src/app/metadata/named-references/service/named-reference.service.ts b/ui/src/app/metadata/named-references/service/named-reference.service.ts new file mode 100644 index 000000000..e3b61fd3d --- /dev/null +++ b/ui/src/app/metadata/named-references/service/named-reference.service.ts @@ -0,0 +1,92 @@ +import { Injectable } from "@angular/core" +import { HttpClient, HttpHeaders, HttpParams } from "@angular/common/http" +import { Router } from "@angular/router" +import { Location } from "@angular/common" +import { AuthService } from "../../../auth/auth-service" +import { AbstractDataService } from "../../../data/abstract-data.service" +import { ApiSortOrder } from "../../../richskill/ApiSkill"; +import { Observable } from "rxjs"; +import { PaginatedMetadata } from "../../PaginatedMetadata"; +import { map, share } from "rxjs/operators"; +import { ApiNamedReference, ApiNamedReferenceUpdate, NamedReferenceInterface } from "../NamedReference"; +import { ApiTaskResult, ITaskResult } from "../../../task/ApiTaskResult"; +import { ApiBatchResult } from "../../../richskill/ApiBatchResult"; + +@Injectable({ + providedIn: "root" +}) +export class NamedReferenceService extends AbstractDataService { + + private baseServiceUrl = "api/metadata/keywords" + + constructor(protected httpClient: HttpClient, protected authService: AuthService, + protected router: Router, protected location: Location) { + super(httpClient, authService, router, location) + } + + paginatedNamedReferences( + size = 50, + from = 0, + sort: ApiSortOrder | undefined, + type: string, + query: string | undefined + ): Observable { + const params = new HttpParams({ + fromObject: {size, from, sort: sort ?? "", query: query ?? "", type: type} + }) + return this.get({ + path: `${this.baseServiceUrl}`, + params, + }).pipe(share()) + .pipe(map(({body, headers}) => { + return new PaginatedMetadata( + body || [], + Number(headers.get("X-Total-Count")) + ) + })) + } + + getNamedReferenceById(id: string): Observable { + const errorMsg = `Could not find NamedReference with id [${id}]` + return this.get({ + path: `${this.baseServiceUrl}/${id}` + }) + .pipe(share()) + .pipe(map(({body}) => new ApiNamedReference(this.safeUnwrapBody(body, errorMsg)))) + } + + createNamedReference(newObject: ApiNamedReferenceUpdate): Observable { + const errorMsg = `Error creating NamedReference` + return this.post({ + path: this.baseServiceUrl, + body: [newObject] + }) + .pipe(share()) + .pipe(map(({body}) => this.safeUnwrapBody(body, errorMsg).map(s => new ApiNamedReference(s))[0])) + } + + updateNamedReference(id: number, updateObject: ApiNamedReferenceUpdate): Observable { + const errorMsg = `Could not find NamedReference with id: [${id}]` + return this.post({ + path: `${this.baseServiceUrl}/${id}/update`, + body: updateObject + }) + .pipe(share()) + .pipe(map(({body}) => new ApiNamedReference(this.safeUnwrapBody(body, errorMsg)))) + } + + deleteNamedReferenceWithResult(id: number): Observable { + return this.pollForTaskResult(this.deleteNamedReference(id)) + } + + deleteNamedReference(id: number): Observable { + return this.httpClient.delete(this.buildUrl("api/metadata/keywords/" + id + "/remove"), { + headers: this.wrapHeaders(new HttpHeaders({ + Accept: "application/json" + } + )) + }) + .pipe(share()) + .pipe(map((body) => new ApiTaskResult(this.safeUnwrapBody(body, "unwrap failure")))) + } +} diff --git a/ui/src/app/richskill/ApiSkill.ts b/ui/src/app/richskill/ApiSkill.ts index 8f1445abb..375689842 100644 --- a/ui/src/app/richskill/ApiSkill.ts +++ b/ui/src/app/richskill/ApiSkill.ts @@ -208,6 +208,10 @@ export enum ApiSortOrder { CodeDesc = "code.desc", JobCodeLevelAsc = "jobCodeLevel.asc", JobCodeLevelDesc = "jobCodeLevel.desc", + KeywordNameAsc = "name.asc", + KeywordNameDesc = "name.desc", + KeywordFrameworkAsc = "framework.asc", + KeywordFrameworkDesc = "framework.desc" } export enum AuditOperationType { diff --git a/ui/test/resource/mock-data.ts b/ui/test/resource/mock-data.ts index 26b6ebd17..d061e6ee8 100644 --- a/ui/test/resource/mock-data.ts +++ b/ui/test/resource/mock-data.ts @@ -20,6 +20,8 @@ import { PaginatedCollections, PaginatedSkills } from "../../src/app/richskill/s import { ApiTaskResult, ITaskResult } from "../../src/app/task/ApiTaskResult" import { IJobCode } from "../../src/app/metadata/job-codes/Jobcode"; import { PaginatedMetadata } from "../../src/app/metadata/PaginatedMetadata" +import {NamedReferenceInterface} from "../../src/app/metadata/named-references/NamedReference"; +import {MetadataType} from "../../src/app/metadata/rsd-metadata.enum"; // Add mock data here. // For more examples, see https://github.com/WGU-edu/ema-eval-ui/blob/develop/src/app/admin/pages/edit-user/edit-user.component.spec.ts @@ -53,6 +55,17 @@ export function createMockJobcode(targetNode = 42, targetNodeName = "my jobcode } } +export function createMockNamedReference2( + id = 33, + name = "Name", + type = MetadataType.Category, + url = "http://url123", + framework = "Framework" +): NamedReferenceInterface { + return {id,name,type,url,framework, skillCount: 0 + } +} + export const mockJobCodesParents: IJobCode[] = [ { id: 111, @@ -380,3 +393,21 @@ export function createMockPaginatedMetaDataWithJobCodes(jobCodeCount = 1, total total ) } + +export function createMockPaginatedMetaDataWithNamedReferences(namedReferenceCount = 1, total = 10): PaginatedMetadata { + if (namedReferenceCount > total) { + throw new RangeError(`'pageCount' must be <= 'total'`) + } + + const namedReferences = [] + for (let c = 1; c <= namedReferenceCount; ++c) { + namedReferences.push( + createMockNamedReference2() + ) + } + + return new PaginatedMetadata( + namedReferences, + total + ) +} diff --git a/ui/test/resource/mock-stubs.ts b/ui/test/resource/mock-stubs.ts index 38d500807..05e56ffba 100644 --- a/ui/test/resource/mock-stubs.ts +++ b/ui/test/resource/mock-stubs.ts @@ -29,7 +29,6 @@ import { createMockTaskResult, mockTaskResultForExportSearch } from "./mock-data" -import {ApiCategory, CategoryService, IKeyword, KeywordSortOrder, PaginatedCategories} from "../../src/app/category"; import {IRelatedSkillsService} from "../../src/app/abstract.service"; @@ -162,46 +161,6 @@ const testCategoryKeyword= { value: "category-1", skillCount: 20 } -export let CategoryServiceData = { - category: new ApiCategory(testCategoryKeyword), - categoryKeyword: testCategoryKeyword, - paginatedCategories: new PaginatedCategories([testCategoryKeyword], 1), - paginatedSkills: createMockPaginatedSkills() -} -export class CategoryServiceStub { - getAllPaginated( - size: number = 50, - from: number = 0, - sort: KeywordSortOrder | undefined, - ): Observable { - return of(CategoryServiceData.paginatedCategories) - } - - getById(identifier: string): Observable { - return of(CategoryServiceData.category) - } - - getRelatedSkills( - entityId: number, - size: number, - from: number, - statusFilters: Set, - sort?: ApiSortOrder, - ): Observable { - return of(CategoryServiceData.paginatedSkills) - } - - searchRelatedSkills( - entityId: number, - size: number, - from: number, - statusFilters: Set, - sort?: ApiSortOrder, - apiSearch?: ApiSearch - ): Observable { - return of(CategoryServiceData.paginatedSkills) - } -} export let CollectionServiceData = { uuid: "uuid", From 3a2345055a9d3e5a5660f75feb50b7faf38ee45d Mon Sep 17 00:00:00 2001 From: manuel-delvillar <68391066+manuel-delvillar@users.noreply.github.com> Date: Tue, 4 Jul 2023 10:38:09 -0600 Subject: [PATCH 06/20] Fix ui after rebase --- .../v3/categories/{identifier}/skills/get.js | 7 - .../v3/categories/{identifier}/skills/post.js | 15 - .../categories/{identifier}/skills/post.json | 3329 ----------------- ui/src/app/abstract.service.ts | 2 - ui/src/app/data/abstract-data.service.spec.ts | 7 +- ui/src/app/data/abstract-data.service.ts | 12 +- .../metadata/abstract-data.service.spec.ts | 31 - ui/src/app/metadata/abstract-data.service.ts | 37 - .../metadata-list.component.spec.ts | 5 + .../service/job-code.service.spec.ts | 7 +- .../job-codes/service/job-code.service.ts | 9 +- .../service/named-reference.service.spec.ts | 7 +- .../service/named-reference.service.ts | 13 +- ui/src/app/navigation/header.component.html | 4 +- .../app/navigation/header.component.spec.ts | 14 - 15 files changed, 49 insertions(+), 3450 deletions(-) delete mode 100644 test/api-test/api/v3/categories/{identifier}/skills/get.js delete mode 100644 test/api-test/api/v3/categories/{identifier}/skills/post.js delete mode 100644 test/api-test/api/v3/categories/{identifier}/skills/post.json delete mode 100644 ui/src/app/metadata/abstract-data.service.spec.ts delete mode 100644 ui/src/app/metadata/abstract-data.service.ts diff --git a/test/api-test/api/v3/categories/{identifier}/skills/get.js b/test/api-test/api/v3/categories/{identifier}/skills/get.js deleted file mode 100644 index 67f09806f..000000000 --- a/test/api-test/api/v3/categories/{identifier}/skills/get.js +++ /dev/null @@ -1,7 +0,0 @@ -// let expectedData is injected from .json - -let responseData = pm.response.json(); -console.log("Check category skill count"); -pm.test("Check category skill count", function() { - pm.expect(responseData.length > 0); -}); diff --git a/test/api-test/api/v3/categories/{identifier}/skills/post.js b/test/api-test/api/v3/categories/{identifier}/skills/post.js deleted file mode 100644 index 05d826135..000000000 --- a/test/api-test/api/v3/categories/{identifier}/skills/post.js +++ /dev/null @@ -1,15 +0,0 @@ -let search = { - "filtered": {} -}; - -let body = { - mode: 'raw', - raw: JSON.stringify(search), - options: { - raw: { - language: 'json' - } - } -}; - -pm.request.body.update(body); \ No newline at end of file diff --git a/test/api-test/api/v3/categories/{identifier}/skills/post.json b/test/api-test/api/v3/categories/{identifier}/skills/post.json deleted file mode 100644 index 7afe2bacd..000000000 --- a/test/api-test/api/v3/categories/{identifier}/skills/post.json +++ /dev/null @@ -1,3329 +0,0 @@ -[ - { - "uuid": "c9d819b3-de84-401e-808a-ddcbfbdd4953", - "id": "http://localhost:8080/api/skills/c9d819b3-de84-401e-808a-ddcbfbdd4953", - "skillName": "Access and Security Levels Standardization", - "skillStatement": "Standardize levels of access and security to maintain information security.", - "categories": [ - "Information Security Management" - ], - "authors": [ - "Western Governors University" - ], - "status": "published", - "keywords": [ - "Risk", - "Information Security Management", - "Compromise Assessment", - "Computer Emergency Response Teams (CERT)", - "Computer Security Incident Response (CSIRT)", - "Defense Information Systems Agency (DISA)", - "Dynamic Application Security Testing (DAST)", - "Information Asset Classification", - "Personnel Security", - "Security Architecture", - "Security by Design", - "Security Event Triage", - "Security Implementation", - "Security Integration", - "Security Models and Design", - "Security Operations Center (SOC)", - "Security Operations Management", - "Symantec Packages", - "Systems", - "Applications & Products (SAP) Enterprise Threat Detection (ETD)", - "Applications & Products (SAP) in Data Processing Business Suite 4 (S/4) Fiori Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 (S/4) User Interface 5 (UI5) Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 High-Performance Analytic Appliance (S/4HANA) Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 High-Performance Analytic Appliance (S/4HANA)", - "Fiori", - "and User Interface 5 (UI5) Security", - "Applications & Products (SAP) Security & Governance", - "and Compliance (GRC)", - "ThreadFix", - "ThreatConnect", - "TippingPoint", - "TrapX DeceptionGrid", - "Varonis", - "Virtual Domains (VDOMs)", - "Vormetric", - "Vormetric Application Encryption", - "Vormetric Tokenization" - ], - "occupations": [ - { - "major": "Computer and Mathematical Occupations", - "minor": null, - "broad": null, - "detailed": "Computer and Mathematical Occupations", - "code": "15-0000", - "name": "Computer and Mathematical Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": null, - "detailed": "Computer Occupations", - "code": "15-1200", - "name": "Computer Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": "Database and Network Administrators and Architects", - "detailed": "Database and Network Administrators and Architects", - "code": "15-1240", - "name": "Database and Network Administrators and Architects", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": "15-1240", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": "Database and Network Administrators and Architects", - "detailed": "Network and Computer Systems Administrators", - "code": "15-1244", - "name": "Network and Computer Systems Administrators", - "description": "Install, configure, and maintain an organization’s local area network (LAN), wide area network (WAN), data communications network, operating systems, and physical and virtual servers. Perform system monitoring and verify the integrity and availability of hardware, network, and server resources and systems. Review system and application logs and verify completion of scheduled jobs, including system backups. Analyze network and server resource consumption and control user access. Install and upgrade software and maintain software licenses. May assist in network modeling, analysis, planning, and coordination between network and data communications hardware and software. Excludes “Information Security Analysts” (15-1212), “Computer Network Support Specialists” (15-1231), and “Computer User Support Specialists” (15-1232).", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": "15-1240", - "detailedCode": "15-1244", - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": "Software and Web Developers, Programmers, and Testers", - "detailed": "Software and Web Developers, Programmers, and Testers", - "code": "15-1250", - "name": "Software and Web Developers, Programmers, and Testers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": "15-1250", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": null, - "minor": null, - "broad": null, - "detailed": null, - "code": "15-1259", - "name": null, - "description": null, - "framework": null, - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": "15-1250", - "detailedCode": "15-1259", - "jobRoleCode": null - } - ], - "standards": [ - "NICE_SP_RSK", - "NICE_SP_DEV", - "NICE_SP_ARC", - "NICE_SP_TRD", - "NICE_SP_SRP", - "NICE_SP_TST", - "NICE_SP_SYS", - "NICE_OV_MGT", - "NICE_AN_LNG", - "NICE_CO_OPS", - "NICE_OV_PMA", - "NICE_OM_ANA", - "NICE_PR_CIR", - "NICE_OM_NET", - "NICE_OM_ADM" - ], - "publishDate": "2023-03-30T13:02:07" - }, - { - "uuid": "cbfb0ff0-b146-4385-bbc9-1e1771c6296b", - "id": "http://localhost:8080/api/skills/cbfb0ff0-b146-4385-bbc9-1e1771c6296b", - "skillName": "Cyber Defense Tools Data Analysis", - "skillStatement": "Analyze data collected from cyber defense tools for event scope determination.", - "categories": [ - "Information Security Management" - ], - "authors": [ - "Western Governors University" - ], - "status": "published", - "keywords": [ - "Risk", - "Information Systems Security", - "Information Security Management", - "Compromise Assessment", - "Computer Emergency Response Teams (CERT)", - "Computer Security Incident Response (CSIRT)", - "Defense Information Systems Agency (DISA)", - "Dynamic Application Security Testing (DAST)", - "Information Asset Classification", - "Personnel Security", - "Security Architecture", - "Security by Design", - "Security Event Triage", - "Security Implementation", - "Security Integration", - "Security Models and Design", - "Security Operations Center (SOC)", - "Security Operations Management", - "Symantec Packages", - "Systems", - "Applications & Products (SAP) Enterprise Threat Detection (ETD)", - "Applications & Products (SAP) in Data Processing Business Suite 4 (S/4) Fiori Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 (S/4) User Interface 5 (UI5) Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 High-Performance Analytic Appliance (S/4HANA) Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 High-Performance Analytic Appliance (S/4HANA)", - "Fiori", - "and User Interface 5 (UI5) Security", - "Applications & Products (SAP) Security & Governance", - "and Compliance (GRC)", - "ThreadFix", - "ThreatConnect", - "TippingPoint", - "TrapX DeceptionGrid", - "Varonis", - "Virtual Domains (VDOMs)", - "Vormetric", - "Vormetric Application Encryption", - "Vormetric Tokenization", - "Incident Detection and Response: The Big Picture", - "Splunk", - "IBM Radar", - "WGUSID: 232" - ], - "occupations": [ - { - "major": "Computer and Mathematical Occupations", - "minor": null, - "broad": null, - "detailed": "Computer and Mathematical Occupations", - "code": "15-0000", - "name": "Computer and Mathematical Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": null, - "detailed": "Computer Occupations", - "code": "15-1200", - "name": "Computer Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": "Computer and Information Analysts", - "detailed": "Computer and Information Analysts", - "code": "15-1210", - "name": "Computer and Information Analysts", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": "15-1210", - "detailedCode": null, - "jobRoleCode": null - } - ], - "standards": [ - "NICE_SP_RSK", - "NICE_SP_DEV", - "NICE_SP_ARC", - "NICE_SP_TRD", - "NICE_SP_SRP", - "NICE_SP_TST", - "NICE_SP_SYS", - "NICE_AN_LNG", - "NICE_CO_OPS", - "NICE_OM_ANA", - "NICE_PR_CIR", - "NICE_PR_CDA", - "NICE_OM_NET", - "NICE_OM_ADM", - "NICE_PR_VAM", - "NICE_IN_FOR", - "NICE_IN_INV", - "NSA-CAE_KU:_Cybersecurity_Principles_(CSP)", - "NSA-CAE_KU:_IA_Standards_(IAS)", - "NSA-CAE_KU:_Cybercrime", - "NSA-CAE_KU:_Cybersecurity_Ethics", - "NSA-CAE_KU:Network_Security_Administration\"NSA-CAE_KU:_Cybersecurity_Principles_(CSP)", - "NSA-CAE_KU:Network_Security_Administration", - "NICE:_Oversee_and_Govern\n__Specialty_Area:_Strategic_Planning_and_Policy", - "NICE:_Protect_and_Defend_Specialty_Area:_Computer_Defense_Analysis", - "NICE:_Protect_and_Defend_Specialty_Area:_Incident_Response", - "NICE:_Protect_and_Defend\n__Specialty_Area:_Vulnerability_Assessment_and_Management", - "NICE:_Operate_and_Maintain_Specialty_Area:_Data_Administration", - "NICE:_Operate_and_Maintain_Specialty_Area:_Knowledge_Management", - "NICE:_Operate_and_Maintain\n__Specialty_Area:_Network_Services", - "NICE:_Analyze_Specialty_Area:_Exploitation_Analysis\"", - "0" - ], - "publishDate": "2023-03-30T13:01:51" - }, - { - "uuid": "5d735fa4-e742-4d26-a715-3570650cb577", - "id": "http://localhost:8080/api/skills/5d735fa4-e742-4d26-a715-3570650cb577", - "skillName": "Define Information Security Program Resource", - "skillStatement": "Define requirements for internal and external resources for executing the information security program.", - "categories": [ - "Information Security Management" - ], - "authors": [ - "Western Governors University" - ], - "status": "published", - "keywords": [ - "Risk", - "Information Systems Security", - "Information Security Management", - "Compromise Assessment", - "Computer Emergency Response Teams (CERT)", - "Computer Security Incident Response (CSIRT)", - "Defense Information Systems Agency (DISA)", - "Dynamic Application Security Testing (DAST)", - "Information Asset Classification", - "Personnel Security", - "Security Architecture", - "Security by Design", - "Security Event Triage", - "Security Implementation", - "Security Integration", - "Security Models and Design", - "Security Operations Center (SOC)", - "Security Operations Management", - "Symantec Packages", - "Systems", - "Applications & Products (SAP) Enterprise Threat Detection (ETD)", - "Applications & Products (SAP) in Data Processing Business Suite 4 (S/4) Fiori Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 (S/4) User Interface 5 (UI5) Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 High-Performance Analytic Appliance (S/4HANA) Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 High-Performance Analytic Appliance (S/4HANA)", - "Fiori", - "and User Interface 5 (UI5) Security", - "Applications & Products (SAP) Security & Governance", - "and Compliance (GRC)", - "ThreadFix", - "ThreatConnect", - "TippingPoint", - "TrapX DeceptionGrid", - "Varonis", - "Virtual Domains (VDOMs)", - "Vormetric", - "Vormetric Application Encryption", - "Vormetric Tokenization", - "Security Architecture and Design: The Big Picture", - "WGUSID: 496.3" - ], - "occupations": [ - { - "major": "Computer and Mathematical Occupations", - "minor": null, - "broad": null, - "detailed": "Computer and Mathematical Occupations", - "code": "15-0000", - "name": "Computer and Mathematical Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": null, - "detailed": "Computer Occupations", - "code": "15-1200", - "name": "Computer Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": "Computer and Information Analysts", - "detailed": "Computer and Information Analysts", - "code": "15-1210", - "name": "Computer and Information Analysts", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": "15-1210", - "detailedCode": null, - "jobRoleCode": null - } - ], - "standards": [ - "NICE_SP_RSK", - "NICE_SP_DEV", - "NICE_SP_ARC", - "NICE_SP_TRD", - "NICE_SP_SRP", - "NICE_SP_TST", - "NICE_SP_SYS", - "NICE_OV_MGT", - "NICE_AN_TWA", - "NICE_AN_EXP", - "NICE_AN_ASA", - "NICE_AN_TGT", - "NICE_AN_LNG", - "NICE_CO_CLO", - "NICE_CO_OPL", - "NICE_CO_OPS", - "NICE_OV_PMA", - "NICE_OM_ANA", - "NICE_PR_INF", - "NSA-CAE_KU:_Cybersecurity_Principles_(CSP)", - "NSA-CAE_KU:_IA_Standards_(IAS)", - "NSA-CAE_KU:_Cybercrime", - "NSA-CAE_KU:_Cybersecurity_Ethics", - "NSA-CAE_KU:Network_Security_Administration", - "NICE:_Oversee_and_Govern\n__Specialty_Area:_Strategic_Planning_and_Policy", - "NICE:_Protect_and_Defend_Specialty_Area:_Computer_Defense_Analysis", - "NICE:_Protect_and_Defend_Specialty_Area:_Incident_Response", - "NICE:_Protect_and_Defend\n__Specialty_Area:_Vulnerability_Assessment_and_Management", - "NICE:_Operate_and_Maintain_Specialty_Area:_Data_Administration", - "NICE:_Operate_and_Maintain_Specialty_Area:_Knowledge_Management", - "NICE:_Operate_and_Maintain\n__Specialty_Area:_Network_Services", - "0", - "NICE:_Analyze_Specialty_Area:_Exploitation_Analysis" - ], - "publishDate": "2023-03-30T13:01:51" - }, - { - "uuid": "227758c7-a510-4e1e-a587-267d4b066f80", - "id": "http://localhost:8080/api/skills/227758c7-a510-4e1e-a587-267d4b066f80", - "skillName": "Events Impact Identification Methods Application", - "skillStatement": "Apply methods for identifying and evaluating the impact of internal or external events on information assets and the business.", - "categories": [ - "Information Security Management" - ], - "authors": [ - "Western Governors University" - ], - "status": "published", - "keywords": [ - "Risk", - "Information Systems Security", - "Information Security Management", - "Compromise Assessment", - "Computer Emergency Response Teams (CERT)", - "Computer Security Incident Response (CSIRT)", - "Defense Information Systems Agency (DISA)", - "Dynamic Application Security Testing (DAST)", - "Information Asset Classification", - "Personnel Security", - "Security Architecture", - "Security by Design", - "Security Event Triage", - "Security Implementation", - "Security Integration", - "Security Models and Design", - "Security Operations Center (SOC)", - "Security Operations Management", - "Symantec Packages", - "Systems", - "Applications & Products (SAP) Enterprise Threat Detection (ETD)", - "Applications & Products (SAP) in Data Processing Business Suite 4 (S/4) Fiori Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 (S/4) User Interface 5 (UI5) Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 High-Performance Analytic Appliance (S/4HANA) Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 High-Performance Analytic Appliance (S/4HANA)", - "Fiori", - "and User Interface 5 (UI5) Security", - "Applications & Products (SAP) Security & Governance", - "and Compliance (GRC)", - "ThreadFix", - "ThreatConnect", - "TippingPoint", - "TrapX DeceptionGrid", - "Varonis", - "Virtual Domains (VDOMs)", - "Vormetric", - "Vormetric Application Encryption", - "Vormetric Tokenization", - "Information Classification", - "WGUSID: 495" - ], - "occupations": [ - { - "major": "Computer and Mathematical Occupations", - "minor": null, - "broad": null, - "detailed": "Computer and Mathematical Occupations", - "code": "15-0000", - "name": "Computer and Mathematical Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": null, - "detailed": "Computer Occupations", - "code": "15-1200", - "name": "Computer Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": "Computer and Information Analysts", - "detailed": "Computer and Information Analysts", - "code": "15-1210", - "name": "Computer and Information Analysts", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": "15-1210", - "detailedCode": null, - "jobRoleCode": null - } - ], - "standards": [ - "NICE_SP_RSK", - "NICE_SP_DEV", - "NICE_SP_ARC", - "NICE_SP_TRD", - "NICE_SP_SRP", - "NICE_SP_TST", - "NICE_SP_SYS", - "NICE_OV_MGT", - "NICE_AN_TWA", - "NICE_AN_EXP", - "NICE_AN_ASA", - "NICE_AN_TGT", - "NICE_AN_LNG", - "NICE_CO_CLO", - "NICE_CO_OPL", - "NICE_CO_OPS", - "NICE_OV_PMA", - "NICE_OM_ANA", - "NICE_PR_CIR", - "NICE_PR_INF", - "NSA-CAE_KU:_Cybersecurity_Principles_(CSP)", - "NSA-CAE_KU:_IA_Standards_(IAS)", - "NSA-CAE_KU:_Cybercrime", - "NSA-CAE_KU:_Cybersecurity_Ethics", - "NSA-CAE_KU:Network_Security_Administration\"NSA-CAE_KU:_Cybersecurity_Principles_(CSP)", - "NSA-CAE_KU:Network_Security_Administration", - "NICE:_Oversee_and_Govern\n__Specialty_Area:_Strategic_Planning_and_Policy", - "NICE:_Protect_and_Defend_Specialty_Area:_Computer_Defense_Analysis", - "NICE:_Protect_and_Defend_Specialty_Area:_Incident_Response", - "NICE:_Protect_and_Defend\n__Specialty_Area:_Vulnerability_Assessment_and_Management", - "NICE:_Operate_and_Maintain_Specialty_Area:_Data_Administration", - "NICE:_Operate_and_Maintain_Specialty_Area:_Knowledge_Management", - "NICE:_Operate_and_Maintain\n__Specialty_Area:_Network_Services", - "NICE:_Analyze_Specialty_Area:_Exploitation_Analysis\"", - "0" - ], - "publishDate": "2023-03-30T13:01:51" - }, - { - "uuid": "1910ea22-8e57-427e-b6f1-66f3ab3d0858", - "id": "http://localhost:8080/api/skills/1910ea22-8e57-427e-b6f1-66f3ab3d0858", - "skillName": "Incident Response Plan Design", - "skillStatement": "Design an incident response plan for information security incidents.", - "categories": [ - "Information Security Management" - ], - "authors": [ - "Western Governors University" - ], - "status": "published", - "keywords": [ - "Risk", - "Information Systems Security", - "Information Security Management", - "Compromise Assessment", - "Computer Emergency Response Teams (CERT)", - "Computer Security Incident Response (CSIRT)", - "Defense Information Systems Agency (DISA)", - "Dynamic Application Security Testing (DAST)", - "Information Asset Classification", - "Personnel Security", - "Security Architecture", - "Security by Design", - "Security Event Triage", - "Security Implementation", - "Security Integration", - "Security Models and Design", - "Security Operations Center (SOC)", - "Security Operations Management", - "Symantec Packages", - "Systems", - "Applications & Products (SAP) Enterprise Threat Detection (ETD)", - "Applications & Products (SAP) in Data Processing Business Suite 4 (S/4) Fiori Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 (S/4) User Interface 5 (UI5) Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 High-Performance Analytic Appliance (S/4HANA) Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 High-Performance Analytic Appliance (S/4HANA)", - "Fiori", - "and User Interface 5 (UI5) Security", - "Applications & Products (SAP) Security & Governance", - "and Compliance (GRC)", - "ThreadFix", - "ThreatConnect", - "TippingPoint", - "TrapX DeceptionGrid", - "Varonis", - "Virtual Domains (VDOMs)", - "Vormetric", - "Vormetric Application Encryption", - "Vormetric Tokenization", - "Security Operations", - "WGUSID: 2043" - ], - "occupations": [ - { - "major": "Computer and Mathematical Occupations", - "minor": null, - "broad": null, - "detailed": "Computer and Mathematical Occupations", - "code": "15-0000", - "name": "Computer and Mathematical Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": null, - "detailed": "Computer Occupations", - "code": "15-1200", - "name": "Computer Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": "Computer and Information Analysts", - "detailed": "Computer and Information Analysts", - "code": "15-1210", - "name": "Computer and Information Analysts", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": "15-1210", - "detailedCode": null, - "jobRoleCode": null - } - ], - "standards": [ - "NICE_SP_RSK", - "NICE_SP_DEV", - "NICE_SP_ARC", - "NICE_SP_TRD", - "NICE_SP_SRP", - "NICE_SP_TST", - "NICE_SP_SYS", - "NICE_AN_LNG", - "NICE_OM_ANA", - "NICE_PR_CIR", - "NICE_CO_OPLNICE_CO_OPS" - ], - "publishDate": "2023-03-30T13:01:52" - }, - { - "uuid": "bc28871c-4b6d-4f1b-9117-e6de1edfa91c", - "id": "http://localhost:8080/api/skills/bc28871c-4b6d-4f1b-9117-e6de1edfa91c", - "skillName": "Information Asset Classification Model Establishment Methods Assessment", - "skillStatement": "Assess methods for establishing an information asset classification model consistent with business objectives.", - "categories": [ - "Information Security Management" - ], - "authors": [ - "Western Governors University" - ], - "status": "published", - "keywords": [ - "Risk", - "Information Systems Security", - "Information Security Management", - "Compromise Assessment", - "Computer Emergency Response Teams (CERT)", - "Computer Security Incident Response (CSIRT)", - "Defense Information Systems Agency (DISA)", - "Dynamic Application Security Testing (DAST)", - "Information Asset Classification", - "Personnel Security", - "Security Architecture", - "Security by Design", - "Security Event Triage", - "Security Implementation", - "Security Integration", - "Security Models and Design", - "Security Operations Center (SOC)", - "Security Operations Management", - "Symantec Packages", - "Systems", - "Applications & Products (SAP) Enterprise Threat Detection (ETD)", - "Applications & Products (SAP) in Data Processing Business Suite 4 (S/4) Fiori Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 (S/4) User Interface 5 (UI5) Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 High-Performance Analytic Appliance (S/4HANA) Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 High-Performance Analytic Appliance (S/4HANA)", - "Fiori", - "and User Interface 5 (UI5) Security", - "Applications & Products (SAP) Security & Governance", - "and Compliance (GRC)", - "ThreadFix", - "ThreatConnect", - "TippingPoint", - "TrapX DeceptionGrid", - "Varonis", - "Virtual Domains (VDOMs)", - "Vormetric", - "Vormetric Application Encryption", - "Vormetric Tokenization", - "Information Classification", - "WGUSID: 683" - ], - "occupations": [ - { - "major": "Computer and Mathematical Occupations", - "minor": null, - "broad": null, - "detailed": "Computer and Mathematical Occupations", - "code": "15-0000", - "name": "Computer and Mathematical Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": null, - "detailed": "Computer Occupations", - "code": "15-1200", - "name": "Computer Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": "Computer and Information Analysts", - "detailed": "Computer and Information Analysts", - "code": "15-1210", - "name": "Computer and Information Analysts", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": "15-1210", - "detailedCode": null, - "jobRoleCode": null - } - ], - "standards": [ - "NICE_SP_RSK", - "NICE_SP_DEV", - "NICE_SP_ARC", - "NICE_SP_TRD", - "NICE_SP_SRP", - "NICE_SP_TST", - "NICE_SP_SYS", - "NICE_OV_MGT", - "NICE_AN_TWA", - "NICE_AN_EXP", - "NICE_AN_ASA", - "NICE_AN_TGT", - "NICE_AN_LNG", - "NICE_CO_CLO", - "NICE_CO_OPL", - "NICE_CO_OPS", - "NICE_OV_PMA", - "NICE_OM_ANA", - "NSA-CAE_KU:_Cybersecurity_Principles_(CSP)", - "NSA-CAE_KU:_IA_Standards_(IAS)", - "NSA-CAE_KU:_Cybercrime", - "NSA-CAE_KU:_Cybersecurity_Ethics", - "NSA-CAE_KU:Network_Security_Administration\"NSA-CAE_KU:_Cybersecurity_Principles_(CSP)", - "NSA-CAE_KU:Network_Security_Administration", - "NICE:_Oversee_and_Govern\n__Specialty_Area:_Strategic_Planning_and_Policy", - "NICE:_Protect_and_Defend_Specialty_Area:_Computer_Defense_Analysis", - "NICE:_Protect_and_Defend_Specialty_Area:_Incident_Response", - "NICE:_Protect_and_Defend\n__Specialty_Area:_Vulnerability_Assessment_and_Management", - "NICE:_Operate_and_Maintain_Specialty_Area:_Data_Administration", - "NICE:_Operate_and_Maintain_Specialty_Area:_Knowledge_Management", - "NICE:_Operate_and_Maintain\n__Specialty_Area:_Network_Services", - "NICE:_Analyze_Specialty_Area:_Exploitation_Analysis\"", - "0" - ], - "publishDate": "2023-03-30T13:01:51" - }, - { - "uuid": "8dd22546-2160-404c-9a49-9164ef49371f", - "id": "http://localhost:8080/api/skills/8dd22546-2160-404c-9a49-9164ef49371f", - "skillName": "Information Asset Classification Process Development", - "skillStatement": "Develop a process for information asset classification that ensures that the measures taken to protect assets are proportional to their business value.", - "categories": [ - "Information Security Management" - ], - "authors": [ - "Western Governors University" - ], - "status": "published", - "keywords": [ - "Risk", - "Information Systems Security", - "Information Security Management", - "Compromise Assessment", - "Computer Emergency Response Teams (CERT)", - "Computer Security Incident Response (CSIRT)", - "Defense Information Systems Agency (DISA)", - "Dynamic Application Security Testing (DAST)", - "Information Asset Classification", - "Personnel Security", - "Security Architecture", - "Security by Design", - "Security Event Triage", - "Security Implementation", - "Security Integration", - "Security Models and Design", - "Security Operations Center (SOC)", - "Security Operations Management", - "Symantec Packages", - "Systems", - "Applications & Products (SAP) Enterprise Threat Detection (ETD)", - "Applications & Products (SAP) in Data Processing Business Suite 4 (S/4) Fiori Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 (S/4) User Interface 5 (UI5) Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 High-Performance Analytic Appliance (S/4HANA) Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 High-Performance Analytic Appliance (S/4HANA)", - "Fiori", - "and User Interface 5 (UI5) Security", - "Applications & Products (SAP) Security & Governance", - "and Compliance (GRC)", - "ThreadFix", - "ThreatConnect", - "TippingPoint", - "TrapX DeceptionGrid", - "Varonis", - "Virtual Domains (VDOMs)", - "Vormetric", - "Vormetric Application Encryption", - "Vormetric Tokenization", - "Information Classification", - "BSBCIA", - "WGUSID: 2357" - ], - "occupations": [ - { - "major": "Computer and Mathematical Occupations", - "minor": null, - "broad": null, - "detailed": "Computer and Mathematical Occupations", - "code": "15-0000", - "name": "Computer and Mathematical Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": null, - "detailed": "Computer Occupations", - "code": "15-1200", - "name": "Computer Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": "Computer and Information Analysts", - "detailed": "Computer and Information Analysts", - "code": "15-1210", - "name": "Computer and Information Analysts", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": "15-1210", - "detailedCode": null, - "jobRoleCode": null - } - ], - "standards": [ - "NICE_SP_RSK", - "NICE_SP_DEV", - "NICE_SP_ARC", - "NICE_SP_TRD", - "NICE_SP_SRP", - "NICE_SP_TST", - "NICE_SP_SYS", - "NICE_OV_MGT", - "NICE_AN_TWA", - "NICE_AN_EXP", - "NICE_AN_ASA", - "NICE_AN_TGT", - "NICE_AN_LNG", - "NICE_CO_CLO", - "NICE_CO_OPL", - "NICE_CO_OPS", - "NICE_OV_PMA", - "NICE_OM_ANA", - "NSA-CAE_KU:_Cybersecurity_Principles_(CSP)", - "NSA-CAE_KU:_IA_Standards_(IAS)", - "NSA-CAE_KU:_Cybercrime", - "NSA-CAE_KU:_Cybersecurity_Ethics", - "NSA-CAE_KU:Network_Security_Administration\"NSA-CAE_KU:_Cybersecurity_Principles_(CSP)", - "NSA-CAE_KU:Network_Security_Administration", - "NICE:_Oversee_and_Govern\n__Specialty_Area:_Strategic_Planning_and_Policy", - "NICE:_Protect_and_Defend_Specialty_Area:_Computer_Defense_Analysis", - "NICE:_Protect_and_Defend_Specialty_Area:_Incident_Response", - "NICE:_Protect_and_Defend\n__Specialty_Area:_Vulnerability_Assessment_and_Management", - "NICE:_Operate_and_Maintain_Specialty_Area:_Data_Administration", - "NICE:_Operate_and_Maintain_Specialty_Area:_Knowledge_Management", - "NICE:_Operate_and_Maintain\n__Specialty_Area:_Network_Services", - "NICE:_Analyze_Specialty_Area:_Exploitation_Analysis\"" - ], - "publishDate": "2023-03-30T13:01:52" - }, - { - "uuid": "ee608a80-e58c-4445-a1de-03928ab6f3bc", - "id": "http://localhost:8080/api/skills/ee608a80-e58c-4445-a1de-03928ab6f3bc", - "skillName": "Information Asset Valuation Methodologies Assessment", - "skillStatement": "Assess information asset valuation methodologies.", - "categories": [ - "Information Security Management" - ], - "authors": [ - "Western Governors University" - ], - "status": "published", - "keywords": [ - "Risk", - "Information Systems Security", - "Information Security Management", - "Compromise Assessment", - "Computer Emergency Response Teams (CERT)", - "Computer Security Incident Response (CSIRT)", - "Defense Information Systems Agency (DISA)", - "Dynamic Application Security Testing (DAST)", - "Information Asset Classification", - "Personnel Security", - "Security Architecture", - "Security by Design", - "Security Event Triage", - "Security Implementation", - "Security Integration", - "Security Models and Design", - "Security Operations Center (SOC)", - "Security Operations Management", - "Symantec Packages", - "Systems", - "Applications & Products (SAP) Enterprise Threat Detection (ETD)", - "Applications & Products (SAP) in Data Processing Business Suite 4 (S/4) Fiori Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 (S/4) User Interface 5 (UI5) Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 High-Performance Analytic Appliance (S/4HANA) Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 High-Performance Analytic Appliance (S/4HANA)", - "Fiori", - "and User Interface 5 (UI5) Security", - "Applications & Products (SAP) Security & Governance", - "and Compliance (GRC)", - "ThreadFix", - "ThreatConnect", - "TippingPoint", - "TrapX DeceptionGrid", - "Varonis", - "Virtual Domains (VDOMs)", - "Vormetric", - "Vormetric Application Encryption", - "Vormetric Tokenization", - "Information Classification", - "Missing", - "BSBCIA", - "WGUSID: 678" - ], - "occupations": [ - { - "major": "Computer and Mathematical Occupations", - "minor": null, - "broad": null, - "detailed": "Computer and Mathematical Occupations", - "code": "15-0000", - "name": "Computer and Mathematical Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": null, - "detailed": "Computer Occupations", - "code": "15-1200", - "name": "Computer Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": "Computer and Information Analysts", - "detailed": "Computer and Information Analysts", - "code": "15-1210", - "name": "Computer and Information Analysts", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": "15-1210", - "detailedCode": null, - "jobRoleCode": null - } - ], - "standards": [ - "NICE_SP_RSK", - "NICE_SP_DEV", - "NICE_SP_ARC", - "NICE_SP_TRD", - "NICE_SP_SRP", - "NICE_SP_TST", - "NICE_SP_SYS", - "NICE_OV_MGT", - "NICE_AN_TWA", - "NICE_AN_EXP", - "NICE_AN_ASA", - "NICE_AN_TGT", - "NICE_AN_LNG", - "NICE_CO_CLO", - "NICE_CO_OPL", - "NICE_CO_OPS", - "NICE_OV_PMA", - "NICE_OM_ANA", - "NSA-CAE_KU:_Cybersecurity_Principles_(CSP)", - "NSA-CAE_KU:_IA_Standards_(IAS)", - "NSA-CAE_KU:_Cybercrime", - "NSA-CAE_KU:_Cybersecurity_Ethics", - "NSA-CAE_KU:Network_Security_Administration\"NSA-CAE_KU:_Cybersecurity_Principles_(CSP)", - "NSA-CAE_KU:Network_Security_Administration", - "NICE:_Oversee_and_Govern\n__Specialty_Area:_Strategic_Planning_and_Policy", - "NICE:_Protect_and_Defend_Specialty_Area:_Computer_Defense_Analysis", - "NICE:_Protect_and_Defend_Specialty_Area:_Incident_Response", - "NICE:_Protect_and_Defend\n__Specialty_Area:_Vulnerability_Assessment_and_Management", - "NICE:_Operate_and_Maintain_Specialty_Area:_Data_Administration", - "NICE:_Operate_and_Maintain_Specialty_Area:_Knowledge_Management", - "NICE:_Operate_and_Maintain\n__Specialty_Area:_Network_Services", - "NICE:_Analyze_Specialty_Area:_Exploitation_Analysis\"", - "0" - ], - "publishDate": "2023-03-30T13:01:51" - }, - { - "uuid": "5a81ef48-e025-40b9-80c4-49e1a0d86908", - "id": "http://localhost:8080/api/skills/5a81ef48-e025-40b9-80c4-49e1a0d86908", - "skillName": "Information Security and Goals Relationship Explanation", - "skillStatement": "Explain the relationship of information security to business goals, objectives, functions, processes, and practices.", - "categories": [ - "Information Security Management" - ], - "authors": [ - "Western Governors University" - ], - "status": "published", - "keywords": [ - "Risk", - "Information Systems Security", - "Information Security Management", - "Compromise Assessment", - "Computer Emergency Response Teams (CERT)", - "Computer Security Incident Response (CSIRT)", - "Defense Information Systems Agency (DISA)", - "Dynamic Application Security Testing (DAST)", - "Information Asset Classification", - "Personnel Security", - "Security Architecture", - "Security by Design", - "Security Event Triage", - "Security Implementation", - "Security Integration", - "Security Models and Design", - "Security Operations Center (SOC)", - "Security Operations Management", - "Symantec Packages", - "Systems", - "Applications & Products (SAP) Enterprise Threat Detection (ETD)", - "Applications & Products (SAP) in Data Processing Business Suite 4 (S/4) Fiori Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 (S/4) User Interface 5 (UI5) Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 High-Performance Analytic Appliance (S/4HANA) Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 High-Performance Analytic Appliance (S/4HANA)", - "Fiori", - "and User Interface 5 (UI5) Security", - "Applications & Products (SAP) Security & Governance", - "and Compliance (GRC)", - "ThreadFix", - "ThreatConnect", - "TippingPoint", - "TrapX DeceptionGrid", - "Varonis", - "Virtual Domains (VDOMs)", - "Vormetric", - "Vormetric Application Encryption", - "Vormetric Tokenization", - "Security Architecture and Design: The Big Picture", - "WGUSID: 3382" - ], - "occupations": [ - { - "major": "Computer and Mathematical Occupations", - "minor": null, - "broad": null, - "detailed": "Computer and Mathematical Occupations", - "code": "15-0000", - "name": "Computer and Mathematical Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": null, - "detailed": "Computer Occupations", - "code": "15-1200", - "name": "Computer Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": "Computer and Information Analysts", - "detailed": "Computer and Information Analysts", - "code": "15-1210", - "name": "Computer and Information Analysts", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": "15-1210", - "detailedCode": null, - "jobRoleCode": null - } - ], - "standards": [ - "NICE_SP_RSK", - "NICE_SP_DEV", - "NICE_SP_ARC", - "NICE_SP_TRD", - "NICE_SP_SRP", - "NICE_SP_TST", - "NICE_SP_SYS", - "NICE_OV_MGT", - "NICE_AN_TWA", - "NICE_AN_EXP", - "NICE_AN_ASA", - "NICE_AN_TGT", - "NICE_AN_LNG", - "NICE_CO_CLO", - "NICE_CO_OPL", - "NICE_CO_OPS", - "NICE_OV_PMA", - "NICE_PR_CIR", - "NICE_PR_CDA", - "NSA-CAE_KU:_Cybersecurity_Principles_(CSP)", - "NSA-CAE_KU:_IA_Standards_(IAS)", - "NSA-CAE_KU:_Cybercrime", - "NSA-CAE_KU:_Cybersecurity_Ethics", - "NSA-CAE_KU:Network_Security_Administration", - "NICE:_Oversee_and_Govern\n__Specialty_Area:_Strategic_Planning_and_Policy", - "NICE:_Protect_and_Defend_Specialty_Area:_Computer_Defense_Analysis", - "NICE:_Protect_and_Defend_Specialty_Area:_Incident_Response", - "NICE:_Protect_and_Defend\n__Specialty_Area:_Vulnerability_Assessment_and_Management", - "NICE:_Operate_and_Maintain_Specialty_Area:_Data_Administration", - "NICE:_Operate_and_Maintain_Specialty_Area:_Knowledge_Management", - "NICE:_Operate_and_Maintain\n__Specialty_Area:_Network_Services", - "NICE:_Analyze_Specialty_Area:_Exploitation_Analysis" - ], - "publishDate": "2023-03-30T13:01:53" - }, - { - "uuid": "65e39847-72a7-4b73-9567-2119903ba57d", - "id": "http://localhost:8080/api/skills/65e39847-72a7-4b73-9567-2119903ba57d", - "skillName": "Information Security Policies Communication", - "skillStatement": "Communicate information security policies, standards, procedures, and guidelines.", - "categories": [ - "Information Security Management" - ], - "authors": [ - "Western Governors University" - ], - "status": "published", - "keywords": [ - "Risk", - "Information Systems Security", - "Information Security Management", - "Compromise Assessment", - "Computer Emergency Response Teams (CERT)", - "Computer Security Incident Response (CSIRT)", - "Defense Information Systems Agency (DISA)", - "Dynamic Application Security Testing (DAST)", - "Information Asset Classification", - "Personnel Security", - "Security Architecture", - "Security by Design", - "Security Event Triage", - "Security Implementation", - "Security Integration", - "Security Models and Design", - "Security Operations Center (SOC)", - "Security Operations Management", - "Symantec Packages", - "Systems", - "Applications & Products (SAP) Enterprise Threat Detection (ETD)", - "Applications & Products (SAP) in Data Processing Business Suite 4 (S/4) Fiori Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 (S/4) User Interface 5 (UI5) Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 High-Performance Analytic Appliance (S/4HANA) Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 High-Performance Analytic Appliance (S/4HANA)", - "Fiori", - "and User Interface 5 (UI5) Security", - "Applications & Products (SAP) Security & Governance", - "and Compliance (GRC)", - "ThreadFix", - "ThreatConnect", - "TippingPoint", - "TrapX DeceptionGrid", - "Varonis", - "Virtual Domains (VDOMs)", - "Vormetric", - "Vormetric Application Encryption", - "Vormetric Tokenization", - "Missing", - "WGUSID: 497.1" - ], - "occupations": [ - { - "major": "Management Occupations", - "minor": null, - "broad": null, - "detailed": "Management Occupations", - "code": "11-0000", - "name": "Management Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Other Management Occupations", - "broad": null, - "detailed": "Other Management Occupations", - "code": "11-9000", - "name": "Other Management Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-9000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Other Management Occupations", - "broad": "Education and Childcare Administrators", - "detailed": "Education and Childcare Administrators", - "code": "11-9030", - "name": "Education and Childcare Administrators", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-9000", - "broadCode": "11-9030", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Other Management Occupations", - "broad": "Education and Childcare Administrators", - "detailed": "Education Administrators, Postsecondary", - "code": "11-9033", - "name": "Education Administrators, Postsecondary", - "description": "Plan, direct, or coordinate student instruction, administration, and services, as well as other research and educational activities, at postsecondary institutions, including universities, colleges, and junior and community colleges.", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-9000", - "broadCode": "11-9030", - "detailedCode": "11-9033", - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Other Management Occupations", - "broad": "Education and Childcare Administrators", - "detailed": "Education Administrators, All Other", - "code": "11-9039", - "name": "Education Administrators, All Other", - "description": "All education administrators not listed separately.", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-9000", - "broadCode": "11-9030", - "detailedCode": "11-9039", - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": null, - "broad": null, - "detailed": "Computer and Mathematical Occupations", - "code": "15-0000", - "name": "Computer and Mathematical Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": null, - "detailed": "Computer Occupations", - "code": "15-1200", - "name": "Computer Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": "Computer and Information Analysts", - "detailed": "Computer and Information Analysts", - "code": "15-1210", - "name": "Computer and Information Analysts", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": "15-1210", - "detailedCode": null, - "jobRoleCode": null - } - ], - "standards": [ - "NICE_SP_ARC", - "NICE_OV_MGT", - "NICE_AN_TWA", - "NICE_AN_EXP", - "NICE_AN_ASA", - "NICE_AN_TGT", - "NICE_AN_LNG", - "NICE_CO_CLO", - "NICE_CO_OPL", - "NICE_CO_OPS", - "NICE_OV_PMA", - "NICE_OM_ANA", - "NICE_OV_SPP", - "NICE_OM_NET", - "NICE_OM_ADM" - ], - "publishDate": "2023-03-30T13:01:51" - }, - { - "uuid": "2b7d3142-1b39-4d97-8971-c5f4ce8fa211", - "id": "http://localhost:8080/api/skills/2b7d3142-1b39-4d97-8971-c5f4ce8fa211", - "skillName": "Information Security Policies Implementation", - "skillStatement": "Implement information security policies, standards, procedures, and guidelines.", - "categories": [ - "Information Security Management" - ], - "authors": [ - "Western Governors University" - ], - "status": "published", - "keywords": [ - "Risk", - "Information Systems Security", - "Information Security Management", - "Compromise Assessment", - "Computer Emergency Response Teams (CERT)", - "Computer Security Incident Response (CSIRT)", - "Defense Information Systems Agency (DISA)", - "Dynamic Application Security Testing (DAST)", - "Information Asset Classification", - "Personnel Security", - "Security Architecture", - "Security by Design", - "Security Event Triage", - "Security Implementation", - "Security Integration", - "Security Models and Design", - "Security Operations Center (SOC)", - "Security Operations Management", - "Symantec Packages", - "Systems", - "Applications & Products (SAP) Enterprise Threat Detection (ETD)", - "Applications & Products (SAP) in Data Processing Business Suite 4 (S/4) Fiori Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 (S/4) User Interface 5 (UI5) Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 High-Performance Analytic Appliance (S/4HANA) Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 High-Performance Analytic Appliance (S/4HANA)", - "Fiori", - "and User Interface 5 (UI5) Security", - "Applications & Products (SAP) Security & Governance", - "and Compliance (GRC)", - "ThreadFix", - "ThreatConnect", - "TippingPoint", - "TrapX DeceptionGrid", - "Varonis", - "Virtual Domains (VDOMs)", - "Vormetric", - "Vormetric Application Encryption", - "Vormetric Tokenization", - "Missing", - "WGUSID: 497" - ], - "occupations": [ - { - "major": "Management Occupations", - "minor": null, - "broad": null, - "detailed": "Management Occupations", - "code": "11-0000", - "name": "Management Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Other Management Occupations", - "broad": null, - "detailed": "Other Management Occupations", - "code": "11-9000", - "name": "Other Management Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-9000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Other Management Occupations", - "broad": "Education and Childcare Administrators", - "detailed": "Education and Childcare Administrators", - "code": "11-9030", - "name": "Education and Childcare Administrators", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-9000", - "broadCode": "11-9030", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Other Management Occupations", - "broad": "Education and Childcare Administrators", - "detailed": "Education Administrators, Postsecondary", - "code": "11-9033", - "name": "Education Administrators, Postsecondary", - "description": "Plan, direct, or coordinate student instruction, administration, and services, as well as other research and educational activities, at postsecondary institutions, including universities, colleges, and junior and community colleges.", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-9000", - "broadCode": "11-9030", - "detailedCode": "11-9033", - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Other Management Occupations", - "broad": "Education and Childcare Administrators", - "detailed": "Education Administrators, All Other", - "code": "11-9039", - "name": "Education Administrators, All Other", - "description": "All education administrators not listed separately.", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-9000", - "broadCode": "11-9030", - "detailedCode": "11-9039", - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": null, - "broad": null, - "detailed": "Computer and Mathematical Occupations", - "code": "15-0000", - "name": "Computer and Mathematical Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": null, - "detailed": "Computer Occupations", - "code": "15-1200", - "name": "Computer Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": "Computer and Information Analysts", - "detailed": "Computer and Information Analysts", - "code": "15-1210", - "name": "Computer and Information Analysts", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": "15-1210", - "detailedCode": null, - "jobRoleCode": null - } - ], - "standards": [ - "NICE_SP_ARC", - "NICE_OV_MGT", - "NICE_AN_TWA", - "NICE_AN_EXP", - "NICE_AN_ASA", - "NICE_AN_TGT", - "NICE_AN_LNG", - "NICE_CO_CLO", - "NICE_CO_OPL", - "NICE_CO_OPS", - "NICE_OV_PMA", - "NICE_OM_ANA", - "NICE_OV_SPP", - "NICE_OM_NET", - "NICE_OM_ADM" - ], - "publishDate": "2023-03-30T13:01:51" - }, - { - "uuid": "d92a4917-e917-4bd9-ba16-a2ab05ffdac9", - "id": "http://localhost:8080/api/skills/d92a4917-e917-4bd9-ba16-a2ab05ffdac9", - "skillName": "Information Security Processes Description", - "skillStatement": "Describe information security processes and resources, including people and technologies, in alignment with the organization's business goals and methods for applying them.", - "categories": [ - "Information Security Management" - ], - "authors": [ - "Western Governors University" - ], - "status": "published", - "keywords": [ - "Risk", - "Information Systems Security", - "Information Security Management", - "Compromise Assessment", - "Computer Emergency Response Teams (CERT)", - "Computer Security Incident Response (CSIRT)", - "Defense Information Systems Agency (DISA)", - "Dynamic Application Security Testing (DAST)", - "Information Asset Classification", - "Personnel Security", - "Security Architecture", - "Security by Design", - "Security Event Triage", - "Security Implementation", - "Security Integration", - "Security Models and Design", - "Security Operations Center (SOC)", - "Security Operations Management", - "Symantec Packages", - "Systems", - "Applications & Products (SAP) Enterprise Threat Detection (ETD)", - "Applications & Products (SAP) in Data Processing Business Suite 4 (S/4) Fiori Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 (S/4) User Interface 5 (UI5) Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 High-Performance Analytic Appliance (S/4HANA) Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 High-Performance Analytic Appliance (S/4HANA)", - "Fiori", - "and User Interface 5 (UI5) Security", - "Applications & Products (SAP) Security & Governance", - "and Compliance (GRC)", - "ThreadFix", - "ThreatConnect", - "TippingPoint", - "TrapX DeceptionGrid", - "Varonis", - "Virtual Domains (VDOMs)", - "Vormetric", - "Vormetric Application Encryption", - "Vormetric Tokenization", - "WGUSID: 1993" - ], - "occupations": [ - { - "major": "Computer and Mathematical Occupations", - "minor": null, - "broad": null, - "detailed": "Computer and Mathematical Occupations", - "code": "15-0000", - "name": "Computer and Mathematical Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": null, - "detailed": "Computer Occupations", - "code": "15-1200", - "name": "Computer Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": "Computer and Information Analysts", - "detailed": "Computer and Information Analysts", - "code": "15-1210", - "name": "Computer and Information Analysts", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": "15-1210", - "detailedCode": null, - "jobRoleCode": null - } - ], - "standards": [ - "NICE_SP_ARC", - "NICE_OV_MGT", - "NICE_AN_TWA", - "NICE_AN_EXP", - "NICE_AN_ASA", - "NICE_AN_TGT", - "NICE_AN_LNG", - "NICE_CO_CLO", - "NICE_CO_OPL", - "NICE_CO_OPS", - "NICE_OV_PMA", - "NICE_OM_ANA", - "NICE_PR_CDA", - "NICE_OM_NET", - "NICE_OM_ADM" - ], - "publishDate": "2023-03-30T13:01:52" - }, - { - "uuid": "a4f8e2a4-dc93-4bbb-bf6b-2254d3d7b523", - "id": "http://localhost:8080/api/skills/a4f8e2a4-dc93-4bbb-bf6b-2254d3d7b523", - "skillName": "Information Security Processes Development", - "skillStatement": "Develop information security policies, standards, procedures, and guidelines.", - "categories": [ - "Information Security Management" - ], - "authors": [ - "Western Governors University" - ], - "status": "published", - "keywords": [ - "Risk", - "Information Systems Security", - "Information Security Management", - "Compromise Assessment", - "Computer Emergency Response Teams (CERT)", - "Computer Security Incident Response (CSIRT)", - "Defense Information Systems Agency (DISA)", - "Dynamic Application Security Testing (DAST)", - "Information Asset Classification", - "Personnel Security", - "Security Architecture", - "Security by Design", - "Security Event Triage", - "Security Implementation", - "Security Integration", - "Security Models and Design", - "Security Operations Center (SOC)", - "Security Operations Management", - "Symantec Packages", - "Systems", - "Applications & Products (SAP) Enterprise Threat Detection (ETD)", - "Applications & Products (SAP) in Data Processing Business Suite 4 (S/4) Fiori Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 (S/4) User Interface 5 (UI5) Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 High-Performance Analytic Appliance (S/4HANA) Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 High-Performance Analytic Appliance (S/4HANA)", - "Fiori", - "and User Interface 5 (UI5) Security", - "Applications & Products (SAP) Security & Governance", - "and Compliance (GRC)", - "ThreadFix", - "ThreatConnect", - "TippingPoint", - "TrapX DeceptionGrid", - "Varonis", - "Virtual Domains (VDOMs)", - "Vormetric", - "Vormetric Application Encryption", - "Vormetric Tokenization", - "WGUSID: 2514" - ], - "occupations": [ - { - "major": "Management Occupations", - "minor": null, - "broad": null, - "detailed": "Management Occupations", - "code": "11-0000", - "name": "Management Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Other Management Occupations", - "broad": null, - "detailed": "Other Management Occupations", - "code": "11-9000", - "name": "Other Management Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-9000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Other Management Occupations", - "broad": "Education and Childcare Administrators", - "detailed": "Education and Childcare Administrators", - "code": "11-9030", - "name": "Education and Childcare Administrators", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-9000", - "broadCode": "11-9030", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Other Management Occupations", - "broad": "Education and Childcare Administrators", - "detailed": "Education Administrators, Postsecondary", - "code": "11-9033", - "name": "Education Administrators, Postsecondary", - "description": "Plan, direct, or coordinate student instruction, administration, and services, as well as other research and educational activities, at postsecondary institutions, including universities, colleges, and junior and community colleges.", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-9000", - "broadCode": "11-9030", - "detailedCode": "11-9033", - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Other Management Occupations", - "broad": "Education and Childcare Administrators", - "detailed": "Education Administrators, All Other", - "code": "11-9039", - "name": "Education Administrators, All Other", - "description": "All education administrators not listed separately.", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-9000", - "broadCode": "11-9030", - "detailedCode": "11-9039", - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": null, - "broad": null, - "detailed": "Computer and Mathematical Occupations", - "code": "15-0000", - "name": "Computer and Mathematical Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": null, - "detailed": "Computer Occupations", - "code": "15-1200", - "name": "Computer Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": "Computer and Information Analysts", - "detailed": "Computer and Information Analysts", - "code": "15-1210", - "name": "Computer and Information Analysts", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": "15-1210", - "detailedCode": null, - "jobRoleCode": null - } - ], - "standards": [ - "NICE_SP_RSK", - "NICE_SP_DEV", - "NICE_SP_ARC", - "NICE_SP_TRD", - "NICE_SP_SRP", - "NICE_SP_TST", - "NICE_SP_SYS", - "NICE_OV_MGT", - "NICE_AN_TWA", - "NICE_AN_EXP", - "NICE_AN_ASA", - "NICE_AN_TGT", - "NICE_AN_LNG", - "NICE_CO_CLO", - "NICE_CO_OPL", - "NICE_CO_OPS", - "NICE_OV_PMA", - "NICE_OM_ANA", - "NICE_OM_NET", - "NICE_OM_ADM" - ], - "publishDate": "2023-03-30T13:01:53" - }, - { - "uuid": "6214bce0-fec7-4647-bf30-c72b18f40702", - "id": "http://localhost:8080/api/skills/6214bce0-fec7-4647-bf30-c72b18f40702", - "skillName": "Information Security Program and Objectives Comparison", - "skillStatement": "Compare the information security program with the operational objectives of other business functions for ensuring that the information security program protects and adds value to the business.", - "categories": [ - "Information Security Management" - ], - "authors": [ - "Western Governors University" - ], - "status": "published", - "keywords": [ - "Risk", - "Information Systems Security", - "Information Security Management", - "Compromise Assessment", - "Computer Emergency Response Teams (CERT)", - "Computer Security Incident Response (CSIRT)", - "Defense Information Systems Agency (DISA)", - "Dynamic Application Security Testing (DAST)", - "Information Asset Classification", - "Personnel Security", - "Security Architecture", - "Security by Design", - "Security Event Triage", - "Security Implementation", - "Security Integration", - "Security Models and Design", - "Security Operations Center (SOC)", - "Security Operations Management", - "Symantec Packages", - "Systems", - "Applications & Products (SAP) Enterprise Threat Detection (ETD)", - "Applications & Products (SAP) in Data Processing Business Suite 4 (S/4) Fiori Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 (S/4) User Interface 5 (UI5) Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 High-Performance Analytic Appliance (S/4HANA) Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 High-Performance Analytic Appliance (S/4HANA)", - "Fiori", - "and User Interface 5 (UI5) Security", - "Applications & Products (SAP) Security & Governance", - "and Compliance (GRC)", - "ThreadFix", - "ThreatConnect", - "TippingPoint", - "TrapX DeceptionGrid", - "Varonis", - "Virtual Domains (VDOMs)", - "Vormetric", - "Vormetric Application Encryption", - "Vormetric Tokenization", - "Security Operations", - "WGUSID: 153" - ], - "occupations": [ - { - "major": "Computer and Mathematical Occupations", - "minor": null, - "broad": null, - "detailed": "Computer and Mathematical Occupations", - "code": "15-0000", - "name": "Computer and Mathematical Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": null, - "detailed": "Computer Occupations", - "code": "15-1200", - "name": "Computer Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": "Computer and Information Analysts", - "detailed": "Computer and Information Analysts", - "code": "15-1210", - "name": "Computer and Information Analysts", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": "15-1210", - "detailedCode": null, - "jobRoleCode": null - } - ], - "standards": [ - "NICE_SP_RSK", - "NICE_SP_DEV", - "NICE_SP_ARC", - "NICE_SP_TRD", - "NICE_SP_SRP", - "NICE_SP_TST", - "NICE_SP_SYS", - "NICE_OV_MGT", - "NICE_AN_TWA", - "NICE_AN_EXP", - "NICE_AN_ASA", - "NICE_AN_TGT", - "NICE_AN_LNG", - "NICE_CO_CLO", - "NICE_CO_OPL", - "NICE_CO_OPS", - "NICE_OV_PMA", - "NICE_OM_ANA", - "NICE_PR_CIR", - "NICE_IN_FOR", - "NICE_IN_INV" - ], - "publishDate": "2023-03-30T13:01:51" - }, - { - "uuid": "4bafa061-e6ba-46b1-88b2-eb074190f74d", - "id": "http://localhost:8080/api/skills/4bafa061-e6ba-46b1-88b2-eb074190f74d", - "skillName": "Information Security Program Resource Acquisition", - "skillStatement": "Acquire requirements for internal and external resources for executing the information security program.", - "categories": [ - "Information Security Management" - ], - "authors": [ - "Western Governors University" - ], - "status": "published", - "keywords": [ - "Risk", - "Information Systems Security", - "Information Security Management", - "Compromise Assessment", - "Computer Emergency Response Teams (CERT)", - "Computer Security Incident Response (CSIRT)", - "Defense Information Systems Agency (DISA)", - "Dynamic Application Security Testing (DAST)", - "Information Asset Classification", - "Personnel Security", - "Security Architecture", - "Security by Design", - "Security Event Triage", - "Security Implementation", - "Security Integration", - "Security Models and Design", - "Security Operations Center (SOC)", - "Security Operations Management", - "Symantec Packages", - "Systems", - "Applications & Products (SAP) Enterprise Threat Detection (ETD)", - "Applications & Products (SAP) in Data Processing Business Suite 4 (S/4) Fiori Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 (S/4) User Interface 5 (UI5) Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 High-Performance Analytic Appliance (S/4HANA) Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 High-Performance Analytic Appliance (S/4HANA)", - "Fiori", - "and User Interface 5 (UI5) Security", - "Applications & Products (SAP) Security & Governance", - "and Compliance (GRC)", - "ThreadFix", - "ThreatConnect", - "TippingPoint", - "TrapX DeceptionGrid", - "Varonis", - "Virtual Domains (VDOMs)", - "Vormetric", - "Vormetric Application Encryption", - "Vormetric Tokenization", - "Security Architecture and Design: The Big Picture", - "WGUSID: 496.1" - ], - "occupations": [ - { - "major": "Computer and Mathematical Occupations", - "minor": null, - "broad": null, - "detailed": "Computer and Mathematical Occupations", - "code": "15-0000", - "name": "Computer and Mathematical Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": null, - "detailed": "Computer Occupations", - "code": "15-1200", - "name": "Computer Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": "Computer and Information Analysts", - "detailed": "Computer and Information Analysts", - "code": "15-1210", - "name": "Computer and Information Analysts", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": "15-1210", - "detailedCode": null, - "jobRoleCode": null - } - ], - "standards": [ - "NICE_SP_RSK", - "NICE_SP_DEV", - "NICE_SP_ARC", - "NICE_SP_TRD", - "NICE_SP_SRP", - "NICE_SP_TST", - "NICE_SP_SYS", - "NICE_OV_MGT", - "NICE_AN_TWA", - "NICE_AN_EXP", - "NICE_AN_ASA", - "NICE_AN_TGT", - "NICE_AN_LNG", - "NICE_CO_CLO", - "NICE_CO_OPL", - "NICE_CO_OPS", - "NICE_OV_PMA", - "NICE_OM_ANA", - "NICE_PR_INF", - "NSA-CAE_KU:_Cybersecurity_Principles_(CSP)", - "NSA-CAE_KU:_IA_Standards_(IAS)", - "NSA-CAE_KU:_Cybercrime", - "NSA-CAE_KU:_Cybersecurity_Ethics", - "NSA-CAE_KU:Network_Security_Administration", - "NICE:_Oversee_and_Govern\n__Specialty_Area:_Strategic_Planning_and_Policy", - "NICE:_Protect_and_Defend_Specialty_Area:_Computer_Defense_Analysis", - "NICE:_Protect_and_Defend_Specialty_Area:_Incident_Response", - "NICE:_Protect_and_Defend\n__Specialty_Area:_Vulnerability_Assessment_and_Management", - "NICE:_Operate_and_Maintain_Specialty_Area:_Data_Administration", - "NICE:_Operate_and_Maintain_Specialty_Area:_Knowledge_Management", - "NICE:_Operate_and_Maintain\n__Specialty_Area:_Network_Services", - "0", - "NICE:_Analyze_Specialty_Area:_Exploitation_Analysis" - ], - "publishDate": "2023-03-30T13:01:51" - }, - { - "uuid": "9599b847-43d8-430d-bf00-2b8d50d9e449", - "id": "http://localhost:8080/api/skills/9599b847-43d8-430d-bf00-2b8d50d9e449", - "skillName": "Information Security Program Resource Identification", - "skillStatement": "Identify requirements for internal and external resources for executing the information security program.", - "categories": [ - "Information Security Management" - ], - "authors": [ - "Western Governors University" - ], - "status": "published", - "keywords": [ - "Risk", - "Information Systems Security", - "Information Security Management", - "Compromise Assessment", - "Computer Emergency Response Teams (CERT)", - "Computer Security Incident Response (CSIRT)", - "Defense Information Systems Agency (DISA)", - "Dynamic Application Security Testing (DAST)", - "Information Asset Classification", - "Personnel Security", - "Security Architecture", - "Security by Design", - "Security Event Triage", - "Security Implementation", - "Security Integration", - "Security Models and Design", - "Security Operations Center (SOC)", - "Security Operations Management", - "Symantec Packages", - "Systems", - "Applications & Products (SAP) Enterprise Threat Detection (ETD)", - "Applications & Products (SAP) in Data Processing Business Suite 4 (S/4) Fiori Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 (S/4) User Interface 5 (UI5) Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 High-Performance Analytic Appliance (S/4HANA) Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 High-Performance Analytic Appliance (S/4HANA)", - "Fiori", - "and User Interface 5 (UI5) Security", - "Applications & Products (SAP) Security & Governance", - "and Compliance (GRC)", - "ThreadFix", - "ThreatConnect", - "TippingPoint", - "TrapX DeceptionGrid", - "Varonis", - "Virtual Domains (VDOMs)", - "Vormetric", - "Vormetric Application Encryption", - "Vormetric Tokenization", - "Security Architecture and Design: The Big Picture", - "WGUSID: 496" - ], - "occupations": [ - { - "major": "Computer and Mathematical Occupations", - "minor": null, - "broad": null, - "detailed": "Computer and Mathematical Occupations", - "code": "15-0000", - "name": "Computer and Mathematical Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": null, - "detailed": "Computer Occupations", - "code": "15-1200", - "name": "Computer Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": "Computer and Information Analysts", - "detailed": "Computer and Information Analysts", - "code": "15-1210", - "name": "Computer and Information Analysts", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": "15-1210", - "detailedCode": null, - "jobRoleCode": null - } - ], - "standards": [ - "NICE_SP_RSK", - "NICE_SP_DEV", - "NICE_SP_ARC", - "NICE_SP_TRD", - "NICE_SP_SRP", - "NICE_SP_TST", - "NICE_SP_SYS", - "NICE_OV_MGT", - "NICE_AN_TWA", - "NICE_AN_EXP", - "NICE_AN_ASA", - "NICE_AN_TGT", - "NICE_AN_LNG", - "NICE_CO_CLO", - "NICE_CO_OPL", - "NICE_CO_OPS", - "NICE_OV_PMA", - "NICE_OM_ANA", - "NICE_PR_INF", - "NSA-CAE_KU:_Cybersecurity_Principles_(CSP)", - "NSA-CAE_KU:_IA_Standards_(IAS)", - "NSA-CAE_KU:_Cybercrime", - "NSA-CAE_KU:_Cybersecurity_Ethics", - "NSA-CAE_KU:Network_Security_Administration", - "NICE:_Oversee_and_Govern\n__Specialty_Area:_Strategic_Planning_and_Policy", - "NICE:_Protect_and_Defend_Specialty_Area:_Computer_Defense_Analysis", - "NICE:_Protect_and_Defend_Specialty_Area:_Incident_Response", - "NICE:_Protect_and_Defend\n__Specialty_Area:_Vulnerability_Assessment_and_Management", - "NICE:_Operate_and_Maintain_Specialty_Area:_Data_Administration", - "NICE:_Operate_and_Maintain_Specialty_Area:_Knowledge_Management", - "NICE:_Operate_and_Maintain\n__Specialty_Area:_Network_Services", - "0", - "NICE:_Analyze_Specialty_Area:_Exploitation_Analysis" - ], - "publishDate": "2023-03-30T13:01:51" - }, - { - "uuid": "07096ca7-5000-4392-881c-a04cd912438e", - "id": "http://localhost:8080/api/skills/07096ca7-5000-4392-881c-a04cd912438e", - "skillName": "Information Security Program Resource Management", - "skillStatement": "Manage requirements for internal and external resources for executing the information security program.", - "categories": [ - "Information Security Management" - ], - "authors": [ - "Western Governors University" - ], - "status": "published", - "keywords": [ - "Risk", - "Information Systems Security", - "Information Security Management", - "Compromise Assessment", - "Computer Emergency Response Teams (CERT)", - "Computer Security Incident Response (CSIRT)", - "Defense Information Systems Agency (DISA)", - "Dynamic Application Security Testing (DAST)", - "Information Asset Classification", - "Personnel Security", - "Security Architecture", - "Security by Design", - "Security Event Triage", - "Security Implementation", - "Security Integration", - "Security Models and Design", - "Security Operations Center (SOC)", - "Security Operations Management", - "Symantec Packages", - "Systems", - "Applications & Products (SAP) Enterprise Threat Detection (ETD)", - "Applications & Products (SAP) in Data Processing Business Suite 4 (S/4) Fiori Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 (S/4) User Interface 5 (UI5) Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 High-Performance Analytic Appliance (S/4HANA) Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 High-Performance Analytic Appliance (S/4HANA)", - "Fiori", - "and User Interface 5 (UI5) Security", - "Applications & Products (SAP) Security & Governance", - "and Compliance (GRC)", - "ThreadFix", - "ThreatConnect", - "TippingPoint", - "TrapX DeceptionGrid", - "Varonis", - "Virtual Domains (VDOMs)", - "Vormetric", - "Vormetric Application Encryption", - "Vormetric Tokenization", - "Security Architecture and Design: The Big Picture", - "WGUSID: 496.2" - ], - "occupations": [ - { - "major": "Computer and Mathematical Occupations", - "minor": null, - "broad": null, - "detailed": "Computer and Mathematical Occupations", - "code": "15-0000", - "name": "Computer and Mathematical Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": null, - "detailed": "Computer Occupations", - "code": "15-1200", - "name": "Computer Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": "Computer and Information Analysts", - "detailed": "Computer and Information Analysts", - "code": "15-1210", - "name": "Computer and Information Analysts", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": "15-1210", - "detailedCode": null, - "jobRoleCode": null - } - ], - "standards": [ - "NICE_SP_RSK", - "NICE_SP_DEV", - "NICE_SP_ARC", - "NICE_SP_TRD", - "NICE_SP_SRP", - "NICE_SP_TST", - "NICE_SP_SYS", - "NICE_OV_MGT", - "NICE_AN_TWA", - "NICE_AN_EXP", - "NICE_AN_ASA", - "NICE_AN_TGT", - "NICE_AN_LNG", - "NICE_CO_CLO", - "NICE_CO_OPL", - "NICE_CO_OPS", - "NICE_OV_PMA", - "NICE_OM_ANA", - "NICE_PR_INF", - "NSA-CAE_KU:_Cybersecurity_Principles_(CSP)", - "NSA-CAE_KU:_IA_Standards_(IAS)", - "NSA-CAE_KU:_Cybercrime", - "NSA-CAE_KU:_Cybersecurity_Ethics", - "NSA-CAE_KU:Network_Security_Administration", - "NICE:_Oversee_and_Govern\n__Specialty_Area:_Strategic_Planning_and_Policy", - "NICE:_Protect_and_Defend_Specialty_Area:_Computer_Defense_Analysis", - "NICE:_Protect_and_Defend_Specialty_Area:_Incident_Response", - "NICE:_Protect_and_Defend\n__Specialty_Area:_Vulnerability_Assessment_and_Management", - "NICE:_Operate_and_Maintain_Specialty_Area:_Data_Administration", - "NICE:_Operate_and_Maintain_Specialty_Area:_Knowledge_Management", - "NICE:_Operate_and_Maintain\n__Specialty_Area:_Network_Services", - "0", - "NICE:_Analyze_Specialty_Area:_Exploitation_Analysis" - ], - "publishDate": "2023-03-30T13:01:51" - }, - { - "uuid": "bcb1b2a0-f7a2-4f07-9520-339cb8b37404", - "id": "http://localhost:8080/api/skills/bcb1b2a0-f7a2-4f07-9520-339cb8b37404", - "skillName": "Software Components Security Analysis", - "skillStatement": "Analyze the security of software components.", - "categories": [ - "Information Security Management" - ], - "authors": [ - "Western Governors University" - ], - "status": "published", - "keywords": [ - "Risk", - "Information Security Management", - "Compromise Assessment", - "Computer Emergency Response Teams (CERT)", - "Computer Security Incident Response (CSIRT)", - "Defense Information Systems Agency (DISA)", - "Dynamic Application Security Testing (DAST)", - "Information Asset Classification", - "Personnel Security", - "Security Architecture", - "Security by Design", - "Security Event Triage", - "Security Implementation", - "Security Integration", - "Security Models and Design", - "Security Operations Center (SOC)", - "Security Operations Management", - "Symantec Packages", - "Systems", - "Applications & Products (SAP) Enterprise Threat Detection (ETD)", - "Applications & Products (SAP) in Data Processing Business Suite 4 (S/4) Fiori Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 (S/4) User Interface 5 (UI5) Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 High-Performance Analytic Appliance (S/4HANA) Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 High-Performance Analytic Appliance (S/4HANA)", - "Fiori", - "and User Interface 5 (UI5) Security", - "Applications & Products (SAP) Security & Governance", - "and Compliance (GRC)", - "ThreadFix", - "ThreatConnect", - "TippingPoint", - "TrapX DeceptionGrid", - "Varonis", - "Virtual Domains (VDOMs)", - "Vormetric", - "Vormetric Application Encryption", - "Vormetric Tokenization", - "WGUSID: 5440" - ], - "occupations": [ - { - "major": "Computer and Mathematical Occupations", - "minor": null, - "broad": null, - "detailed": "Computer and Mathematical Occupations", - "code": "15-0000", - "name": "Computer and Mathematical Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": null, - "detailed": "Computer Occupations", - "code": "15-1200", - "name": "Computer Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": "Database and Network Administrators and Architects", - "detailed": "Database and Network Administrators and Architects", - "code": "15-1240", - "name": "Database and Network Administrators and Architects", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": "15-1240", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": "Database and Network Administrators and Architects", - "detailed": "Network and Computer Systems Administrators", - "code": "15-1244", - "name": "Network and Computer Systems Administrators", - "description": "Install, configure, and maintain an organization’s local area network (LAN), wide area network (WAN), data communications network, operating systems, and physical and virtual servers. Perform system monitoring and verify the integrity and availability of hardware, network, and server resources and systems. Review system and application logs and verify completion of scheduled jobs, including system backups. Analyze network and server resource consumption and control user access. Install and upgrade software and maintain software licenses. May assist in network modeling, analysis, planning, and coordination between network and data communications hardware and software. Excludes “Information Security Analysts” (15-1212), “Computer Network Support Specialists” (15-1231), and “Computer User Support Specialists” (15-1232).", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": "15-1240", - "detailedCode": "15-1244", - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": "Software and Web Developers, Programmers, and Testers", - "detailed": "Software and Web Developers, Programmers, and Testers", - "code": "15-1250", - "name": "Software and Web Developers, Programmers, and Testers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": "15-1250", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": "Software and Web Developers, Programmers, and Testers", - "detailed": "Computer Programmers", - "code": "15-1251", - "name": "Computer Programmers", - "description": "Create, modify, and test the code and scripts that allow computer applications to run. Work from specifications drawn up by software and web developers or other individuals. May develop and write computer programs to store, locate, and retrieve specific documents, data, and information.", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": "15-1250", - "detailedCode": "15-1251", - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": "Miscellaneous Computer Occupations", - "detailed": "Miscellaneous Computer Occupations", - "code": "15-1290", - "name": "Miscellaneous Computer Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": "15-1290", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": null, - "minor": null, - "broad": null, - "detailed": null, - "code": "15-1256", - "name": null, - "description": null, - "framework": null, - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": "15-1250", - "detailedCode": "15-1256", - "jobRoleCode": null - }, - { - "major": null, - "minor": null, - "broad": null, - "detailed": null, - "code": "15-1257", - "name": null, - "description": null, - "framework": null, - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": "15-1250", - "detailedCode": "15-1257", - "jobRoleCode": null - }, - { - "major": null, - "minor": null, - "broad": null, - "detailed": null, - "code": "15-1259", - "name": null, - "description": null, - "framework": null, - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": "15-1250", - "detailedCode": "15-1259", - "jobRoleCode": null - } - ], - "standards": [ - "NICE_SP_RSK", - "NICE_SP_TST", - "NICE_SP_SYS", - "NICE_OV_MGT", - "NICE_AN_LNG", - "NICE_OV_PMA", - "NICE_OM_ANA", - "NICE_PR_CIR", - "NICE_OM_ADM", - "NICE_PR_VAM", - "NICE_CO_OPLNICE_CO_OPS" - ], - "publishDate": "2023-03-30T13:01:46" - }, - { - "uuid": "179cbc3b-00f2-440a-9f6e-18ce2150b0c3", - "id": "http://localhost:8080/api/skills/179cbc3b-00f2-440a-9f6e-18ce2150b0c3", - "skillName": "Systems Intrusions Monitoring", - "skillStatement": "Monitor systems for intrusions or denial-of-service (DoS) attacks and reports security breaches to maintain information security.", - "categories": [ - "Information Security Management" - ], - "authors": [ - "Western Governors University" - ], - "status": "published", - "keywords": [ - "Risk", - "Information Security Management", - "Compromise Assessment", - "Computer Emergency Response Teams (CERT)", - "Computer Security Incident Response (CSIRT)", - "Defense Information Systems Agency (DISA)", - "Dynamic Application Security Testing (DAST)", - "Information Asset Classification", - "Personnel Security", - "Security Architecture", - "Security by Design", - "Security Event Triage", - "Security Implementation", - "Security Integration", - "Security Models and Design", - "Security Operations Center (SOC)", - "Security Operations Management", - "Symantec Packages", - "Systems", - "Applications & Products (SAP) Enterprise Threat Detection (ETD)", - "Applications & Products (SAP) in Data Processing Business Suite 4 (S/4) Fiori Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 (S/4) User Interface 5 (UI5) Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 High-Performance Analytic Appliance (S/4HANA) Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 High-Performance Analytic Appliance (S/4HANA)", - "Fiori", - "and User Interface 5 (UI5) Security", - "Applications & Products (SAP) Security & Governance", - "and Compliance (GRC)", - "ThreadFix", - "ThreatConnect", - "TippingPoint", - "TrapX DeceptionGrid", - "Varonis", - "Virtual Domains (VDOMs)", - "Vormetric", - "Vormetric Application Encryption", - "Vormetric Tokenization" - ], - "occupations": [ - { - "major": "Computer and Mathematical Occupations", - "minor": null, - "broad": null, - "detailed": "Computer and Mathematical Occupations", - "code": "15-0000", - "name": "Computer and Mathematical Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": null, - "detailed": "Computer Occupations", - "code": "15-1200", - "name": "Computer Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": "Database and Network Administrators and Architects", - "detailed": "Database and Network Administrators and Architects", - "code": "15-1240", - "name": "Database and Network Administrators and Architects", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": "15-1240", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": "Database and Network Administrators and Architects", - "detailed": "Network and Computer Systems Administrators", - "code": "15-1244", - "name": "Network and Computer Systems Administrators", - "description": "Install, configure, and maintain an organization’s local area network (LAN), wide area network (WAN), data communications network, operating systems, and physical and virtual servers. Perform system monitoring and verify the integrity and availability of hardware, network, and server resources and systems. Review system and application logs and verify completion of scheduled jobs, including system backups. Analyze network and server resource consumption and control user access. Install and upgrade software and maintain software licenses. May assist in network modeling, analysis, planning, and coordination between network and data communications hardware and software. Excludes “Information Security Analysts” (15-1212), “Computer Network Support Specialists” (15-1231), and “Computer User Support Specialists” (15-1232).", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": "15-1240", - "detailedCode": "15-1244", - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": "Software and Web Developers, Programmers, and Testers", - "detailed": "Software and Web Developers, Programmers, and Testers", - "code": "15-1250", - "name": "Software and Web Developers, Programmers, and Testers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": "15-1250", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": "Software and Web Developers, Programmers, and Testers", - "detailed": "Computer Programmers", - "code": "15-1251", - "name": "Computer Programmers", - "description": "Create, modify, and test the code and scripts that allow computer applications to run. Work from specifications drawn up by software and web developers or other individuals. May develop and write computer programs to store, locate, and retrieve specific documents, data, and information.", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": "15-1250", - "detailedCode": "15-1251", - "jobRoleCode": null - }, - { - "major": null, - "minor": null, - "broad": null, - "detailed": null, - "code": "15-1256", - "name": null, - "description": null, - "framework": null, - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": "15-1250", - "detailedCode": "15-1256", - "jobRoleCode": null - }, - { - "major": null, - "minor": null, - "broad": null, - "detailed": null, - "code": "15-1257", - "name": null, - "description": null, - "framework": null, - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": "15-1250", - "detailedCode": "15-1257", - "jobRoleCode": null - }, - { - "major": null, - "minor": null, - "broad": null, - "detailed": null, - "code": "15-1259", - "name": null, - "description": null, - "framework": null, - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": "15-1250", - "detailedCode": "15-1259", - "jobRoleCode": null - } - ], - "standards": [ - "NICE_SP_RSK", - "NICE_SP_TST", - "NICE_SP_SYS", - "NICE_OV_MGT", - "NICE_AN_TWA", - "NICE_AN_EXP", - "NICE_AN_ASA", - "NICE_AN_TGT", - "NICE_AN_LNG", - "NICE_CO_CLO", - "NICE_CO_OPL", - "NICE_CO_OPS", - "NICE_OV_PMA", - "NICE_OM_ANA", - "NICE_PR_CIR", - "NICE_PR_CDA", - "NICE_OM_NET", - "NICE_OM_ADM", - "NICE_PR_VAM", - "NICE_IN_FOR" - ], - "publishDate": "2023-03-30T13:01:43" - }, - { - "uuid": "0ab57ea5-aabd-43b8-87fd-61baf78fca2a", - "id": "http://localhost:8080/api/skills/0ab57ea5-aabd-43b8-87fd-61baf78fca2a", - "skillName": "Vulnerability Assessment", - "skillStatement": "Identify potential security threats from vulnerability assessment outputs.", - "categories": [ - "Information Security Management" - ], - "authors": [ - "Western Governors University" - ], - "status": "published", - "keywords": [ - "Risk", - "Information Security Management", - "Compromise Assessment", - "Computer Emergency Response Teams (CERT)", - "Computer Security Incident Response (CSIRT)", - "Defense Information Systems Agency (DISA)", - "Dynamic Application Security Testing (DAST)", - "Information Asset Classification", - "Personnel Security", - "Security Architecture", - "Security by Design", - "Security Event Triage", - "Security Implementation", - "Security Integration", - "Security Models and Design", - "Security Operations Center (SOC)", - "Security Operations Management", - "Symantec Packages", - "Systems", - "Applications & Products (SAP) Enterprise Threat Detection (ETD)", - "Applications & Products (SAP) in Data Processing Business Suite 4 (S/4) Fiori Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 (S/4) User Interface 5 (UI5) Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 High-Performance Analytic Appliance (S/4HANA) Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 High-Performance Analytic Appliance (S/4HANA)", - "Fiori", - "and User Interface 5 (UI5) Security", - "Applications & Products (SAP) Security & Governance", - "and Compliance (GRC)", - "ThreadFix", - "ThreatConnect", - "TippingPoint", - "TrapX DeceptionGrid", - "Varonis", - "Virtual Domains (VDOMs)", - "Vormetric", - "Vormetric Application Encryption", - "Vormetric Tokenization", - "WGUSID: 6116" - ], - "occupations": [ - { - "major": "Management Occupations", - "minor": null, - "broad": null, - "detailed": "Management Occupations", - "code": "11-0000", - "name": "Management Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Operations Specialties Managers", - "broad": null, - "detailed": "Operations Specialties Managers", - "code": "11-3000", - "name": "Operations Specialties Managers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Operations Specialties Managers", - "broad": "Computer and Information Systems Managers", - "detailed": "Computer and Information Systems Managers", - "code": "11-3020", - "name": "Computer and Information Systems Managers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-3000", - "broadCode": "11-3020", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Operations Specialties Managers", - "broad": "Computer and Information Systems Managers", - "detailed": "Computer and Information Systems Managers", - "code": "11-3021", - "name": "Computer and Information Systems Managers", - "description": "Plan, direct, or coordinate activities in such fields as electronic data processing, information systems, systems analysis, and computer programming. Excludes “Computer Occupations” (15-1211 through 15-1299).", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-3000", - "broadCode": "11-3020", - "detailedCode": "11-3021", - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": null, - "broad": null, - "detailed": "Computer and Mathematical Occupations", - "code": "15-0000", - "name": "Computer and Mathematical Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": null, - "detailed": "Computer Occupations", - "code": "15-1200", - "name": "Computer Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": "Computer and Information Analysts", - "detailed": "Computer and Information Analysts", - "code": "15-1210", - "name": "Computer and Information Analysts", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": "15-1210", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": "Computer and Information Analysts", - "detailed": "Computer Systems Analysts", - "code": "15-1211", - "name": "Computer Systems Analysts", - "description": "Analyze science, engineering, business, and other data processing problems to develop and implement solutions to complex applications problems, system administration issues, or network concerns. Perform systems management and integration functions, improve existing computer systems, and review computer system capabilities, workflow, and schedule limitations. May analyze or recommend commercially available software.", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": "15-1210", - "detailedCode": "15-1211", - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": "Computer Support Specialists", - "detailed": "Computer Support Specialists", - "code": "15-1230", - "name": "Computer Support Specialists", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": "15-1230", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": "Computer Support Specialists", - "detailed": "Computer Network Support Specialists", - "code": "15-1231", - "name": "Computer Network Support Specialists", - "description": "Analyze, test, troubleshoot, and evaluate existing network systems, such as local area networks (LAN), wide area networks (WAN), cloud networks, servers, and other data communications networks. Perform network maintenance to ensure networks operate correctly with minimal interruption. Excludes “Computer Network Architects” (15-1241) and “Network and Computer Systems Administrators” (15-1244).", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": "15-1230", - "detailedCode": "15-1231", - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": "Computer Support Specialists", - "detailed": "Computer User Support Specialists", - "code": "15-1232", - "name": "Computer User Support Specialists", - "description": "Provide technical assistance to computer users. Answer questions or resolve computer problems for clients in person, via telephone, or electronically. May provide assistance concerning the use of computer hardware and software, including printing, installation, word processing, electronic mail, and operating systems. Excludes “Network and Computer Systems Administrators” (15-1244).", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": "15-1230", - "detailedCode": "15-1232", - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": "Database and Network Administrators and Architects", - "detailed": "Database and Network Administrators and Architects", - "code": "15-1240", - "name": "Database and Network Administrators and Architects", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": "15-1240", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": "Database and Network Administrators and Architects", - "detailed": "Computer Network Architects", - "code": "15-1241", - "name": "Computer Network Architects", - "description": "Design and implement computer and information networks, such as local area networks (LAN), wide area networks (WAN), intranets, extranets, and other data communications networks. Perform network modeling, analysis, and planning, including analysis of capacity needs for network infrastructures. May also design network and computer security measures. May research and recommend network and data communications hardware and software. Excludes “Information Security Analysts” (15-1212), “Computer Network Support Specialists” (15-1231), and “Network and Computer Systems Administrators” (15-1244).", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": "15-1240", - "detailedCode": "15-1241", - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": "Database and Network Administrators and Architects", - "detailed": "Network and Computer Systems Administrators", - "code": "15-1244", - "name": "Network and Computer Systems Administrators", - "description": "Install, configure, and maintain an organization’s local area network (LAN), wide area network (WAN), data communications network, operating systems, and physical and virtual servers. Perform system monitoring and verify the integrity and availability of hardware, network, and server resources and systems. Review system and application logs and verify completion of scheduled jobs, including system backups. Analyze network and server resource consumption and control user access. Install and upgrade software and maintain software licenses. May assist in network modeling, analysis, planning, and coordination between network and data communications hardware and software. Excludes “Information Security Analysts” (15-1212), “Computer Network Support Specialists” (15-1231), and “Computer User Support Specialists” (15-1232).", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": "15-1240", - "detailedCode": "15-1244", - "jobRoleCode": null - }, - { - "major": null, - "minor": null, - "broad": null, - "detailed": null, - "code": "15-1245", - "name": null, - "description": null, - "framework": null, - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": "15-1240", - "detailedCode": "15-1245", - "jobRoleCode": null - } - ], - "standards": [ - "NICE_SP_RSK", - "NICE_SP_TST", - "NICE_SP_SYS", - "NICE_OV_MGT", - "NICE_AN_LNG", - "NICE_OV_PMA", - "NICE_OM_ANA", - "NICE_PR_CIR", - "NICE_PR_CDA", - "NICE_PR_INF", - "NICE_OM_NET", - "NICE_OM_ADM", - "NICE_PR_VAM", - "NICE_CO_OPLNICE_CO_OPS" - ], - "publishDate": "2023-03-30T13:01:45" - } -] \ No newline at end of file diff --git a/ui/src/app/abstract.service.ts b/ui/src/app/abstract.service.ts index e9e126abd..90ddc9f69 100644 --- a/ui/src/app/abstract.service.ts +++ b/ui/src/app/abstract.service.ts @@ -54,8 +54,6 @@ export abstract class AbstractService { @Inject("BASE_API") baseApi: string ) { this.baseApi = baseApi - protected location: Location - ) { } redirectToLogin(error: any): void { diff --git a/ui/src/app/data/abstract-data.service.spec.ts b/ui/src/app/data/abstract-data.service.spec.ts index af5423540..3cec71658 100644 --- a/ui/src/app/data/abstract-data.service.spec.ts +++ b/ui/src/app/data/abstract-data.service.spec.ts @@ -7,6 +7,7 @@ import { EnvironmentService } from "../core/environment.service" import { AppConfig } from "../app.config" import { AuthService } from "../auth/auth-service" import { AuthServiceStub, RouterStub } from "@test/resource/mock-stubs" +import { getBaseApi } from "../api-versions" describe("AbstractAdminService", () => { let testService: AbstractDataService @@ -20,7 +21,11 @@ describe("AbstractAdminService", () => { AbstractDataService, Location, { provide: AuthService, useClass: AuthServiceStub }, - { provide: Router, useClass: RouterStub } + { provide: Router, useClass: RouterStub }, + { + provide: "BASE_API", + useFactory: getBaseApi, + } ]}) testService = TestBed.inject(AbstractDataService) }) diff --git a/ui/src/app/data/abstract-data.service.ts b/ui/src/app/data/abstract-data.service.ts index 0f68b1c10..21d485ee5 100644 --- a/ui/src/app/data/abstract-data.service.ts +++ b/ui/src/app/data/abstract-data.service.ts @@ -1,6 +1,6 @@ import { Location } from "@angular/common" import { HttpClient, HttpResponse } from "@angular/common/http" -import { Injectable } from "@angular/core" +import { Inject, Injectable } from "@angular/core" import { Router } from "@angular/router" import { Observable } from "rxjs" import { share } from "rxjs/operators" @@ -10,8 +10,14 @@ import { AuthService } from "../auth/auth-service" @Injectable({ providedIn: "root" }) export abstract class AbstractDataService extends AbstractService { - protected constructor(httpClient: HttpClient, authService: AuthService, router: Router, location: Location) { - super(httpClient, authService, router, location) + protected constructor( + httpClient: HttpClient, + authService: AuthService, + router: Router, + location: Location, + @Inject("BASE_API") baseApi: string + ) { + super(httpClient, authService, router, location, baseApi) } /** diff --git a/ui/src/app/metadata/abstract-data.service.spec.ts b/ui/src/app/metadata/abstract-data.service.spec.ts deleted file mode 100644 index af5423540..000000000 --- a/ui/src/app/metadata/abstract-data.service.spec.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { TestBed } from "@angular/core/testing" -import { Router } from "@angular/router" -import { HttpClientTestingModule } from "@angular/common/http/testing" -import { Location } from "@angular/common" -import { AbstractDataService } from "./abstract-data.service" -import { EnvironmentService } from "../core/environment.service" -import { AppConfig } from "../app.config" -import { AuthService } from "../auth/auth-service" -import { AuthServiceStub, RouterStub } from "@test/resource/mock-stubs" - -describe("AbstractAdminService", () => { - let testService: AbstractDataService - - beforeEach(() => { - TestBed.configureTestingModule({ - imports: [HttpClientTestingModule], - providers: [ - EnvironmentService, - AppConfig, - AbstractDataService, - Location, - { provide: AuthService, useClass: AuthServiceStub }, - { provide: Router, useClass: RouterStub } - ]}) - testService = TestBed.inject(AbstractDataService) - }) - - it("should be created", () => { - expect(testService).toBeTruthy() - }) -}) diff --git a/ui/src/app/metadata/abstract-data.service.ts b/ui/src/app/metadata/abstract-data.service.ts deleted file mode 100644 index 0f68b1c10..000000000 --- a/ui/src/app/metadata/abstract-data.service.ts +++ /dev/null @@ -1,37 +0,0 @@ -import { Location } from "@angular/common" -import { HttpClient, HttpResponse } from "@angular/common/http" -import { Injectable } from "@angular/core" -import { Router } from "@angular/router" -import { Observable } from "rxjs" -import { share } from "rxjs/operators" -import { AbstractService, ApiGetParams } from "../abstract.service" -import { AuthService } from "../auth/auth-service" - -@Injectable({ providedIn: "root" }) -export abstract class AbstractDataService extends AbstractService { - - protected constructor(httpClient: HttpClient, authService: AuthService, router: Router, location: Location) { - super(httpClient, authService, router, location) - } - - /** - * Perform a patch request. - * - * const {body, headers, status, type, url} = response - * - * @param path The relative path to the endpoint - * @param headers Json blob defining headers - * @param params Json blob defining path params - * @param body Json blob defining the changes to be applied to the object - */ - patch({path, headers, params, body}: ApiGetParams): Observable> { - const observable = this.httpClient.patch(this.buildUrl(path + "/update"), body, { - headers: this.wrapHeaders(headers), - params, - observe: "response"}).pipe(share()) - observable - .subscribe(() => {}, (err) => { this.redirectToLogin(err) }) - return observable - } - -} diff --git a/ui/src/app/metadata/detail/metadata-list/metadata-list.component.spec.ts b/ui/src/app/metadata/detail/metadata-list/metadata-list.component.spec.ts index fb2aea32f..23f122af2 100644 --- a/ui/src/app/metadata/detail/metadata-list/metadata-list.component.spec.ts +++ b/ui/src/app/metadata/detail/metadata-list/metadata-list.component.spec.ts @@ -9,6 +9,7 @@ import { JobCodeService } from "../../job-codes/service/job-code.service" import { HttpClientTestingModule } from "@angular/common/http/testing" import {createMockJobcode, createMockNamedReference2 } from "@test/resource/mock-data" import { of } from "rxjs" +import { getBaseApi } from "../../../api-versions" describe("ManageMetadataComponent", () => { let component: MetadataListComponent @@ -19,6 +20,10 @@ describe("ManageMetadataComponent", () => { declarations: [ MetadataListComponent ], providers: [ { provide: AuthService, useClass: AuthServiceStub }, + { + provide: "BASE_API", + useFactory: getBaseApi, + }, JobCodeService ], imports: [ diff --git a/ui/src/app/metadata/job-codes/service/job-code.service.spec.ts b/ui/src/app/metadata/job-codes/service/job-code.service.spec.ts index cf368bace..425a1c5a0 100644 --- a/ui/src/app/metadata/job-codes/service/job-code.service.spec.ts +++ b/ui/src/app/metadata/job-codes/service/job-code.service.spec.ts @@ -16,6 +16,7 @@ import { ApiSortOrder } from "../../../richskill/ApiSkill" import { ApiJobCode, ApiJobCodeUpdate } from "../Jobcode" import { ApiBatchResult } from "../../../richskill/ApiBatchResult" import { PaginatedMetadata } from "../../PaginatedMetadata" +import { getBaseApi } from "../../../api-versions" const ASYNC_WAIT_PERIOD = 3000 @@ -33,7 +34,11 @@ describe("JobCodeService", () => { JobCodeService, Location, { provide: AuthService, useClass: AuthServiceStub }, - { provide: Router, useClass: RouterStub } + { provide: Router, useClass: RouterStub }, + { + provide: "BASE_API", + useFactory: getBaseApi, + } ]}).compileComponents() testService = TestBed.inject(JobCodeService) httpTestingController = TestBed.inject(HttpTestingController) diff --git a/ui/src/app/metadata/job-codes/service/job-code.service.ts b/ui/src/app/metadata/job-codes/service/job-code.service.ts index 22a061fbe..86bbfa437 100644 --- a/ui/src/app/metadata/job-codes/service/job-code.service.ts +++ b/ui/src/app/metadata/job-codes/service/job-code.service.ts @@ -1,16 +1,16 @@ import { Location } from "@angular/common" import { HttpClient, HttpHeaders, HttpParams } from "@angular/common/http" -import { Injectable } from "@angular/core" +import { Inject, Injectable } from "@angular/core" import { Router } from "@angular/router" import { Observable } from "rxjs" import { map, share } from "rxjs/operators" import { ApiJobCode, IJobCode, IJobCodeUpdate } from "../Jobcode" import { AuthService } from "../../../auth/auth-service" -import { AbstractDataService } from "../../abstract-data.service" import { ApiSortOrder } from "../../../richskill/ApiSkill" import { ApiBatchResult } from "../../../richskill/ApiBatchResult" import { ApiTaskResult, ITaskResult } from "../../../task/ApiTaskResult" import { PaginatedMetadata } from "../../PaginatedMetadata" +import { AbstractDataService } from "../../../data/abstract-data.service" @Injectable({ providedIn: "root" @@ -23,9 +23,10 @@ export class JobCodeService extends AbstractDataService { protected httpClient: HttpClient, protected authService: AuthService, protected router: Router, - protected location: Location + protected location: Location, + @Inject("BASE_API") baseApi: string ) { - super(httpClient, authService, router, location) + super(httpClient, authService, router, location, baseApi) } paginatedJobCodes( diff --git a/ui/src/app/metadata/named-references/service/named-reference.service.spec.ts b/ui/src/app/metadata/named-references/service/named-reference.service.spec.ts index 003c1dccb..ab77b8682 100644 --- a/ui/src/app/metadata/named-references/service/named-reference.service.spec.ts +++ b/ui/src/app/metadata/named-references/service/named-reference.service.spec.ts @@ -16,6 +16,7 @@ import { ApiSortOrder } from "../../../richskill/ApiSkill"; import { MetadataType } from "../../rsd-metadata.enum"; import { ApiNamedReference, ApiNamedReferenceUpdate } from "../NamedReference"; import { ApiBatchResult } from "../../../richskill/ApiBatchResult"; +import { getBaseApi } from "../../../api-versions" const ASYNC_WAIT_PERIOD = 3000 @@ -31,7 +32,11 @@ describe("NamedReferenceService", () => { NamedReferenceService, Location, { provide: AuthService, useClass: AuthServiceStub }, - { provide: Router, useClass: RouterStub } + { provide: Router, useClass: RouterStub }, + { + provide: "BASE_API", + useFactory: getBaseApi, + } ]}) testService = TestBed.inject(NamedReferenceService) let httpTestingController = TestBed.inject(HttpTestingController) diff --git a/ui/src/app/metadata/named-references/service/named-reference.service.ts b/ui/src/app/metadata/named-references/service/named-reference.service.ts index e3b61fd3d..f699b79e2 100644 --- a/ui/src/app/metadata/named-references/service/named-reference.service.ts +++ b/ui/src/app/metadata/named-references/service/named-reference.service.ts @@ -1,4 +1,4 @@ -import { Injectable } from "@angular/core" +import { Inject, Injectable } from "@angular/core" import { HttpClient, HttpHeaders, HttpParams } from "@angular/common/http" import { Router } from "@angular/router" import { Location } from "@angular/common" @@ -19,9 +19,14 @@ export class NamedReferenceService extends AbstractDataService { private baseServiceUrl = "api/metadata/keywords" - constructor(protected httpClient: HttpClient, protected authService: AuthService, - protected router: Router, protected location: Location) { - super(httpClient, authService, router, location) + constructor( + protected httpClient: HttpClient, + protected authService: AuthService, + protected router: Router, + protected location: Location, + @Inject("BASE_API") baseApi: string + ) { + super(httpClient, authService, router, location, baseApi) } paginatedNamedReferences( diff --git a/ui/src/app/navigation/header.component.html b/ui/src/app/navigation/header.component.html index 2f29054ba..baf7f2487 100644 --- a/ui/src/app/navigation/header.component.html +++ b/ui/src/app/navigation/header.component.html @@ -25,7 +25,9 @@

    Site Navigation

    - + diff --git a/ui/src/app/navigation/header.component.spec.ts b/ui/src/app/navigation/header.component.spec.ts index 34ec3c21a..4c83a33e2 100644 --- a/ui/src/app/navigation/header.component.spec.ts +++ b/ui/src/app/navigation/header.component.spec.ts @@ -97,20 +97,6 @@ describe("HeaderComponent", () => { expect(component.canHaveWorkspace).toBeTrue() }) - it("my workspace is visible when user has role admin or curator", (done) => { - component.canHaveWorkspace = true - spyOn(component, "showPublicNavbar").and.returnValue(false) - fixture.whenStable().then( - () => { - fixture.detectChanges() - const myWorkspace = fixture.debugElement.query(By.css("#li-my-workspace")) - expect(myWorkspace).toBeTruthy() - expect(component.canHaveWorkspace).toBeTrue() - done() - } - ) - }) - it("skills is active", fakeAsync(() => { router.navigate(["/skills"]) tick() From 932300e54c89f06cc8d9b36d78f721bba62db44f Mon Sep 17 00:00:00 2001 From: manuel-delvillar <68391066+manuel-delvillar@users.noreply.github.com> Date: Tue, 4 Jul 2023 11:29:43 -0600 Subject: [PATCH 07/20] Fix api after rebase --- .../osmt/collection/CollectionController.kt | 1 - api/src/main/kotlin/edu/wgu/osmt/task/Task.kt | 14 + docs/int/openapi-v3.yaml | 247 ++- .../v3/metadata/jobcodes/get-pre-request.js | 22 + test/api-test/api/v3/metadata/jobcodes/get.js | 37 + .../api/v3/metadata/jobcodes/get.json | 1582 +++++++++++++++++ .../v3/metadata/jobcodes/post-pre-request.js | 19 + .../api-test/api/v3/metadata/jobcodes/post.js | 34 + .../api/v3/metadata/jobcodes/post.json | 9 + .../api/v3/metadata/jobcodes/{id}/get.js | 21 + .../api/v3/metadata/jobcodes/{id}/get.json | 7 + .../v3/metadata/jobcodes/{id}/pre-request.js | 2 + .../{id}/remove/delete-pre-request.js | 2 + .../metadata/jobcodes/{id}/remove/delete.js | 16 + .../metadata/jobcodes/{id}/remove/delete.json | 6 + .../jobcodes/{id}/update/post-pre-request.js | 17 + .../v3/metadata/jobcodes/{id}/update/post.js | 21 + .../metadata/jobcodes/{id}/update/post.json | 7 + .../v3/metadata/keywords/get-pre-request.js | 25 + test/api-test/api/v3/metadata/keywords/get.js | 24 + .../api/v3/metadata/keywords/get.json | 402 +++++ .../v3/metadata/keywords/post-pre-request.js | 20 + .../api-test/api/v3/metadata/keywords/post.js | 23 + .../api/v3/metadata/keywords/post.json | 8 + .../api/v3/metadata/keywords/{id}/get.js | 24 + .../api/v3/metadata/keywords/{id}/get.json | 8 + .../v3/metadata/keywords/{id}/pre-request.js | 2 + .../{id}/remove/delete-pre-request.js | 2 + .../metadata/keywords/{id}/remove/delete.js | 16 + .../metadata/keywords/{id}/remove/delete.json | 6 + .../keywords/{id}/update/post-pre-request.js | 18 + .../v3/metadata/keywords/{id}/update/post.js | 22 + .../metadata/keywords/{id}/update/post.json | 8 + 33 files changed, 2670 insertions(+), 2 deletions(-) create mode 100644 test/api-test/api/v3/metadata/jobcodes/get-pre-request.js create mode 100644 test/api-test/api/v3/metadata/jobcodes/get.js create mode 100644 test/api-test/api/v3/metadata/jobcodes/get.json create mode 100644 test/api-test/api/v3/metadata/jobcodes/post-pre-request.js create mode 100644 test/api-test/api/v3/metadata/jobcodes/post.js create mode 100644 test/api-test/api/v3/metadata/jobcodes/post.json create mode 100644 test/api-test/api/v3/metadata/jobcodes/{id}/get.js create mode 100644 test/api-test/api/v3/metadata/jobcodes/{id}/get.json create mode 100644 test/api-test/api/v3/metadata/jobcodes/{id}/pre-request.js create mode 100644 test/api-test/api/v3/metadata/jobcodes/{id}/remove/delete-pre-request.js create mode 100644 test/api-test/api/v3/metadata/jobcodes/{id}/remove/delete.js create mode 100644 test/api-test/api/v3/metadata/jobcodes/{id}/remove/delete.json create mode 100644 test/api-test/api/v3/metadata/jobcodes/{id}/update/post-pre-request.js create mode 100644 test/api-test/api/v3/metadata/jobcodes/{id}/update/post.js create mode 100644 test/api-test/api/v3/metadata/jobcodes/{id}/update/post.json create mode 100644 test/api-test/api/v3/metadata/keywords/get-pre-request.js create mode 100644 test/api-test/api/v3/metadata/keywords/get.js create mode 100644 test/api-test/api/v3/metadata/keywords/get.json create mode 100644 test/api-test/api/v3/metadata/keywords/post-pre-request.js create mode 100644 test/api-test/api/v3/metadata/keywords/post.js create mode 100644 test/api-test/api/v3/metadata/keywords/post.json create mode 100644 test/api-test/api/v3/metadata/keywords/{id}/get.js create mode 100644 test/api-test/api/v3/metadata/keywords/{id}/get.json create mode 100644 test/api-test/api/v3/metadata/keywords/{id}/pre-request.js create mode 100644 test/api-test/api/v3/metadata/keywords/{id}/remove/delete-pre-request.js create mode 100644 test/api-test/api/v3/metadata/keywords/{id}/remove/delete.js create mode 100644 test/api-test/api/v3/metadata/keywords/{id}/remove/delete.json create mode 100644 test/api-test/api/v3/metadata/keywords/{id}/update/post-pre-request.js create mode 100644 test/api-test/api/v3/metadata/keywords/{id}/update/post.js create mode 100644 test/api-test/api/v3/metadata/keywords/{id}/update/post.json diff --git a/api/src/main/kotlin/edu/wgu/osmt/collection/CollectionController.kt b/api/src/main/kotlin/edu/wgu/osmt/collection/CollectionController.kt index 11f25c9b9..07f5bb254 100644 --- a/api/src/main/kotlin/edu/wgu/osmt/collection/CollectionController.kt +++ b/api/src/main/kotlin/edu/wgu/osmt/collection/CollectionController.kt @@ -26,7 +26,6 @@ import edu.wgu.osmt.task.CsvTaskV2 import edu.wgu.osmt.task.PublishTask import edu.wgu.osmt.task.PublishTaskV2 import edu.wgu.osmt.task.RemoveCollectionSkillsTask -import edu.wgu.osmt.task.RemoveItemTask import edu.wgu.osmt.task.Task import edu.wgu.osmt.task.TaskMessageService import edu.wgu.osmt.task.TaskResult diff --git a/api/src/main/kotlin/edu/wgu/osmt/task/Task.kt b/api/src/main/kotlin/edu/wgu/osmt/task/Task.kt index f88943cf7..896ecdde1 100644 --- a/api/src/main/kotlin/edu/wgu/osmt/task/Task.kt +++ b/api/src/main/kotlin/edu/wgu/osmt/task/Task.kt @@ -5,8 +5,10 @@ import com.fasterxml.jackson.annotation.JsonTypeInfo import edu.wgu.osmt.RoutePaths import edu.wgu.osmt.api.model.ApiBatchResult import edu.wgu.osmt.api.model.ApiSearch +import edu.wgu.osmt.api.model.ApiSearchV2 import edu.wgu.osmt.api.model.ApiSkillListUpdate import edu.wgu.osmt.api.model.ApiSkillUpdate +import edu.wgu.osmt.api.model.ApiSkillUpdateV2 import edu.wgu.osmt.db.PublishStatus import org.springframework.http.HttpEntity import org.springframework.http.HttpHeaders @@ -214,6 +216,18 @@ data class UpdateCollectionSkillsTask( } +data class RemoveCollectionSkillsTask( + val collectionUuid: String = "", + override val uuid: String = UUID.randomUUID().toString(), + override val start: Date = Date(), + override val result: ApiBatchResult? = null, + override val status: TaskStatus = TaskStatus.Processing, + override val apiResultPath: String = "" +) : Task { + override val contentType = MediaType.APPLICATION_JSON_VALUE + +} + data class RemoveItemTask( val identifier: String = "", override val uuid: String = UUID.randomUUID().toString(), diff --git a/docs/int/openapi-v3.yaml b/docs/int/openapi-v3.yaml index 7517258c7..7e602a071 100644 --- a/docs/int/openapi-v3.yaml +++ b/docs/int/openapi-v3.yaml @@ -367,6 +367,251 @@ paths: parameters: uuid: '$response.body#/uuid' + /api/v3/metadata/jobcodes: + get: + summary: Get all Job Codes + description: Returns all Job Codes with pagination, also supports search by query. + tags: + - Metadata + parameters: + - $ref: '#/components/parameters/PaginationSizeQueryRequired' + - $ref: '#/components/parameters/PaginationFromQueryRequired' + - $ref: '#/components/parameters/SortOrderQuery' + - $ref: '#/components/parameters/Query' + responses: + '200': + description: OK + headers: + X-Total-Count: + $ref: '#/components/headers/XTotalCount' + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/JobCode' + post: + summary: Define a Job Code + description: Create a new Job Code in OSMT + tags: + - Metadata + requestBody: + required: true + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/JobCodeUpdate' + responses: + '200': + description: OK + content: + application/json: + schema: + type: array + items: + $ref: '#/components/schemas/JobCode' + '400': + $ref: '#/components/responses/BadRequest' + + /api/v3/metadata/jobcodes/{id}: + parameters: + - $ref: '#/components/parameters/IdPath' + get: + summary: Retrieve a Job Code + description: Retrieve all the information about a Job Code + tags: + - Metadata + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/JobCode' + + /api/v3/metadata/jobcodes/{id}/remove: + parameters: + - $ref: '#/components/parameters/IdPath' + delete: + summary: Remove a Job Code + description: Delete a Job Code from OSMT + tags: + - Metadata + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/TaskResult' + + /api/v3/metadata/jobcodes/{id}/update: + parameters: + - $ref: '#/components/parameters/IdPath' + post: + summary: Update a Job Code + description: Update an existing Job Code + tags: + - Metadata + requestBody: + required: true + content: + application/json: + schema: + $ref: '#/components/schemas/JobCodeUpdate' + responses: + '200': + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/JobCode' + '400': + $ref: '#/components/responses/BadRequest' + + /api/v3/metadata/keywords: + get: + summary: "Get all Keywords" + description: Returns all Keywords with pagination, also supports search by query. + tags: + - Metadata + operationId: "allPaginated" + parameters: + - name: "type" + in: "query" + required: false + schema: + type: "string" + default: "Category" + - name: "query" + in: "query" + required: false + schema: + type: "string" + default: "" + - name: "size" + in: "query" + required: false + schema: + type: "integer" + format: "int32" + default: "50" + - name: "from" + in: "query" + required: false + schema: + type: "integer" + format: "int32" + default: "0" + - name: "sort" + in: "query" + required: false + schema: + type: "string" + default: "name.asc" + responses: + "200": + description: "OK" + content: + application/json: + schema: + type: "array" + items: + $ref: "#/components/schemas/ApiKeyword" + post: + summary: "Define a Keyword" + description: Create a new Keyword in OSMT + tags: + - Metadata + operationId: "createKeyword" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ApiKeywordUpdate" + required: true + responses: + "200": + description: "OK" + content: + application/json: + schema: + $ref: "#/components/schemas/ApiKeyword" + + /api/v3/metadata/keywords/{id}: + get: + summary: "Retrieve a Keyword" + description: Retrieve all the information about a Keyword + tags: + - Metadata + operationId: "keywordById" + parameters: + - name: "id" + in: "path" + required: true + schema: + type: "integer" + format: "int64" + responses: + "200": + description: "OK" + content: + application/json: + schema: + $ref: "#/components/schemas/ApiKeyword" + + /api/v3/metadata/keywords/{id}/remove: + delete: + summary: "Remove a Keyword" + description: Delete a Keyword from OSMT + tags: + - Metadata + operationId: "deleteKeyword" + parameters: + - name: "id" + in: "path" + required: true + schema: + type: "integer" + format: "int64" + responses: + "200": + description: "OK" + content: + '*/*': + schema: + $ref: "#/components/schemas/TaskResult" + + /api/v3/metadata/keywords/{id}/update: + post: + summary: "Update a Keyword" + description: Update an existing Keyword + tags: + - Metadata + operationId: "updateKeyword" + parameters: + - name: "id" + in: "path" + required: true + schema: + type: "integer" + format: "int32" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/ApiKeywordUpdate" + required: true + responses: + "200": + description: "OK" + content: + application/json: + schema: + $ref: "#/components/schemas/ApiKeyword" + /api/v3/results/batch/{uuid}: parameters: - $ref: '#/components/parameters/UuidPath' @@ -806,7 +1051,7 @@ paths: - Published items: $ref: '#/components/schemas/PublishStatus' - - $ref: 'components/parameters/UuidReference' + - $ref: '#/components/schemas/UuidReference' requestBody: required: true content: diff --git a/test/api-test/api/v3/metadata/jobcodes/get-pre-request.js b/test/api-test/api/v3/metadata/jobcodes/get-pre-request.js new file mode 100644 index 000000000..53f5ae529 --- /dev/null +++ b/test/api-test/api/v3/metadata/jobcodes/get-pre-request.js @@ -0,0 +1,22 @@ +let sizeId = pm.request.url.query.indexOf('size'); +if (sizeId < 0) { + pm.request.url.query.add("size=50"); +} else { + pm.request.url.query.idx(sizeId).value = "50"; +} + +let fromId = pm.request.url.query.indexOf('from'); +if (fromId < 0) { + pm.request.url.query.add("from=0"); +} else { + pm.request.url.query.idx(fromId).value = "0"; +} + +let sortId = pm.request.url.query.indexOf('sort'); +if (sortId < 0) { + pm.request.url.query.add("sort=name.asc"); +} else { + pm.request.url.query.idx(sortId).value = "name.asc"; +} + +pm.request.url.query.remove('query'); diff --git a/test/api-test/api/v3/metadata/jobcodes/get.js b/test/api-test/api/v3/metadata/jobcodes/get.js new file mode 100644 index 000000000..0b3d7d47d --- /dev/null +++ b/test/api-test/api/v3/metadata/jobcodes/get.js @@ -0,0 +1,37 @@ +// let expectedData is injected from .json + +let responseData = pm.response.json(); + +console.log("Check job codes"); + +pm.test("Check job codes count", function () { + pm.expect(expectedData.length).to.equal(responseData.length); +}); + +for (let jobCodeIndex = 0; jobCodeIndex < expectedData.length; jobCodeIndex++) { + let expectedJobCode = expectedData[0]; + let jobCodeNum = jobCodeIndex + 1; + + let responseJobCode = responseData[jobCodeIndex]; + pm.test(`JobCode ${jobCodeNum} - Check Id exists`, function () { + pm.expect(responseJobCode.id).exists; + }); + pm.test(`JobCode ${jobCodeNum} - Check code`, function () { + pm.expect(responseJobCode.code).exists; + }); + pm.test(`JobCode ${jobCodeNum} - Check targetNodeName`, function () { + pm.expect(responseJobCode.targetNodeName).exists; + }); + pm.test(`JobCode ${jobCodeNum} - Check frameworkName`, function () { + pm.expect(responseJobCode.frameworkName).exists; + }); + pm.test(`JobCode ${jobCodeNum} - Check level`, function () { + pm.expect(responseJobCode.level).exists; + }); + pm.test(`JobCode ${jobCodeNum} - Check jobCodeLevelAsNumber`, function () { + pm.expect(responseJobCode.jobCodeLevelAsNumber).exists; + }); + pm.test(`JobCode ${jobCodeNum} - Check parents`, function () { + pm.expect(responseJobCode.parents).exists; + }); +} \ No newline at end of file diff --git a/test/api-test/api/v3/metadata/jobcodes/get.json b/test/api-test/api/v3/metadata/jobcodes/get.json new file mode 100644 index 000000000..4c49c8116 --- /dev/null +++ b/test/api-test/api/v3/metadata/jobcodes/get.json @@ -0,0 +1,1582 @@ +[ + { + "id": 112, + "code": "13-2011", + "targetNodeName": "Accountants and Auditors", + "frameworkName": "bls", + "level": "Detailed", + "parents": [ + { + "id": 111, + "code": "13-2010", + "targetNodeName": "Accountants and Auditors", + "frameworkName": "bls", + "level": "Broad", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 110, + "code": "13-2000", + "targetNodeName": "Financial Specialists", + "frameworkName": "bls", + "level": "Minor", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 74, + "code": "13-0000", + "targetNodeName": "Business and Financial Operations Occupations", + "frameworkName": "bls", + "level": "Major", + "jobCodeLevelAsNumber": 1 + } + ], + "jobCodeLevelAsNumber": 4 + }, + { + "id": 111, + "code": "13-2010", + "targetNodeName": "Accountants and Auditors", + "frameworkName": "bls", + "level": "Broad", + "parents": [ + { + "id": 110, + "code": "13-2000", + "targetNodeName": "Financial Specialists", + "frameworkName": "bls", + "level": "Minor", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 74, + "code": "13-0000", + "targetNodeName": "Business and Financial Operations Occupations", + "frameworkName": "bls", + "level": "Major", + "jobCodeLevelAsNumber": 1 + } + ], + "jobCodeLevelAsNumber": 3 + }, + { + "id": 1540, + "code": "13-2011.00", + "targetNodeName": "Accountants and Auditors", + "frameworkName": "o*net", + "level": "Detailed", + "parents": [ + { + "id": 111, + "code": "13-2010", + "targetNodeName": "Accountants and Auditors", + "frameworkName": "bls", + "level": "Broad", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 110, + "code": "13-2000", + "targetNodeName": "Financial Specialists", + "frameworkName": "bls", + "level": "Minor", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 74, + "code": "13-0000", + "targetNodeName": "Business and Financial Operations Occupations", + "frameworkName": "bls", + "level": "Major", + "jobCodeLevelAsNumber": 1 + } + ], + "jobCodeLevelAsNumber": 4 + }, + { + "id": 472, + "code": "27-2011", + "targetNodeName": "Actors", + "frameworkName": "bls", + "level": "Detailed", + "parents": [ + { + "id": 471, + "code": "27-2010", + "targetNodeName": "Actors, Producers, and Directors", + "frameworkName": "bls", + "level": "Broad", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 470, + "code": "27-2000", + "targetNodeName": "Entertainers and Performers, Sports and Related Workers", + "frameworkName": "bls", + "level": "Minor", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 453, + "code": "27-0000", + "targetNodeName": "Arts, Design, Entertainment, Sports, and Media Occupations", + "frameworkName": "bls", + "level": "Major", + "jobCodeLevelAsNumber": 1 + } + ], + "jobCodeLevelAsNumber": 4 + }, + { + "id": 1827, + "code": "27-2011.00", + "targetNodeName": "Actors", + "frameworkName": "o*net", + "level": "Detailed", + "parents": [ + { + "id": 471, + "code": "27-2010", + "targetNodeName": "Actors, Producers, and Directors", + "frameworkName": "bls", + "level": "Broad", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 470, + "code": "27-2000", + "targetNodeName": "Entertainers and Performers, Sports and Related Workers", + "frameworkName": "bls", + "level": "Minor", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 453, + "code": "27-0000", + "targetNodeName": "Arts, Design, Entertainment, Sports, and Media Occupations", + "frameworkName": "bls", + "level": "Major", + "jobCodeLevelAsNumber": 1 + } + ], + "jobCodeLevelAsNumber": 4 + }, + { + "id": 471, + "code": "27-2010", + "targetNodeName": "Actors, Producers, and Directors", + "frameworkName": "bls", + "level": "Broad", + "parents": [ + { + "id": 470, + "code": "27-2000", + "targetNodeName": "Entertainers and Performers, Sports and Related Workers", + "frameworkName": "bls", + "level": "Minor", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 453, + "code": "27-0000", + "targetNodeName": "Arts, Design, Entertainment, Sports, and Media Occupations", + "frameworkName": "bls", + "level": "Major", + "jobCodeLevelAsNumber": 1 + } + ], + "jobCodeLevelAsNumber": 3 + }, + { + "id": 160, + "code": "15-2011", + "targetNodeName": "Actuaries", + "frameworkName": "bls", + "level": "Detailed", + "parents": [ + { + "id": 159, + "code": "15-2010", + "targetNodeName": "Actuaries", + "frameworkName": "bls", + "level": "Broad", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 158, + "code": "15-2000", + "targetNodeName": "Mathematical Science Occupations", + "frameworkName": "bls", + "level": "Minor", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 135, + "code": "15-0000", + "targetNodeName": "Computer and Mathematical Occupations", + "frameworkName": "bls", + "level": "Major", + "jobCodeLevelAsNumber": 1 + } + ], + "jobCodeLevelAsNumber": 4 + }, + { + "id": 159, + "code": "15-2010", + "targetNodeName": "Actuaries", + "frameworkName": "bls", + "level": "Broad", + "parents": [ + { + "id": 158, + "code": "15-2000", + "targetNodeName": "Mathematical Science Occupations", + "frameworkName": "bls", + "level": "Minor", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 135, + "code": "15-0000", + "targetNodeName": "Computer and Mathematical Occupations", + "frameworkName": "bls", + "level": "Major", + "jobCodeLevelAsNumber": 1 + } + ], + "jobCodeLevelAsNumber": 3 + }, + { + "id": 1585, + "code": "15-2011.00", + "targetNodeName": "Actuaries", + "frameworkName": "o*net", + "level": "Detailed", + "parents": [ + { + "id": 159, + "code": "15-2010", + "targetNodeName": "Actuaries", + "frameworkName": "bls", + "level": "Broad", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 158, + "code": "15-2000", + "targetNodeName": "Mathematical Science Occupations", + "frameworkName": "bls", + "level": "Minor", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 135, + "code": "15-0000", + "targetNodeName": "Computer and Mathematical Occupations", + "frameworkName": "bls", + "level": "Major", + "jobCodeLevelAsNumber": 1 + } + ], + "jobCodeLevelAsNumber": 4 + }, + { + "id": 576, + "code": "29-1291", + "targetNodeName": "Acupuncturists", + "frameworkName": "bls", + "level": "Detailed", + "parents": [ + { + "id": 575, + "code": "29-1290", + "targetNodeName": "Miscellaneous Healthcare Diagnosing or Treating Practitioners", + "frameworkName": "bls", + "level": "Broad", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 516, + "code": "29-1000", + "targetNodeName": "Healthcare Diagnosing or Treating Practitioners", + "frameworkName": "bls", + "level": "Minor", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 515, + "code": "29-0000", + "targetNodeName": "Healthcare Practitioners and Technical Occupations", + "frameworkName": "bls", + "level": "Major", + "jobCodeLevelAsNumber": 1 + } + ], + "jobCodeLevelAsNumber": 4 + }, + { + "id": 1915, + "code": "29-1291.00", + "targetNodeName": "Acupuncturists", + "frameworkName": "o*net", + "level": "Detailed", + "parents": [ + { + "id": 575, + "code": "29-1290", + "targetNodeName": "Miscellaneous Healthcare Diagnosing or Treating Practitioners", + "frameworkName": "bls", + "level": "Broad", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 516, + "code": "29-1000", + "targetNodeName": "Healthcare Diagnosing or Treating Practitioners", + "frameworkName": "bls", + "level": "Minor", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 515, + "code": "29-0000", + "targetNodeName": "Healthcare Practitioners and Technical Occupations", + "frameworkName": "bls", + "level": "Major", + "jobCodeLevelAsNumber": 1 + } + ], + "jobCodeLevelAsNumber": 4 + }, + { + "id": 1884, + "code": "29-1141.01", + "targetNodeName": "Acute Care Nurses", + "frameworkName": "o*net", + "level": "Detailed", + "parents": [ + { + "id": 546, + "code": "29-1140", + "targetNodeName": "Registered Nurses", + "frameworkName": "bls", + "level": "Broad", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 516, + "code": "29-1000", + "targetNodeName": "Healthcare Diagnosing or Treating Practitioners", + "frameworkName": "bls", + "level": "Minor", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 515, + "code": "29-0000", + "targetNodeName": "Healthcare Practitioners and Technical Occupations", + "frameworkName": "bls", + "level": "Major", + "jobCodeLevelAsNumber": 1 + } + ], + "jobCodeLevelAsNumber": 4 + }, + { + "id": 1796, + "code": "25-2059.01", + "targetNodeName": "Adapted Physical Education Specialists", + "frameworkName": "o*net", + "level": "Detailed", + "parents": [ + { + "id": 414, + "code": "25-2050", + "targetNodeName": "Special Education Teachers", + "frameworkName": "bls", + "level": "Broad", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 403, + "code": "25-2000", + "targetNodeName": "Preschool, Elementary, Middle, Secondary, and Special Education Teachers", + "frameworkName": "bls", + "level": "Minor", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 353, + "code": "25-0000", + "targetNodeName": "Educational Instruction and Library Occupations", + "frameworkName": "bls", + "level": "Major", + "jobCodeLevelAsNumber": 1 + } + ], + "jobCodeLevelAsNumber": 4 + }, + { + "id": 1319, + "code": "51-9191", + "targetNodeName": "Adhesive Bonding Machine Operators and Tenders", + "frameworkName": "bls", + "level": "Detailed", + "parents": [ + { + "id": 1318, + "code": "51-9190", + "targetNodeName": "Miscellaneous Production Workers", + "frameworkName": "bls", + "level": "Broad", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 1283, + "code": "51-9000", + "targetNodeName": "Other Production Occupations", + "frameworkName": "bls", + "level": "Minor", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 1159, + "code": "51-0000", + "targetNodeName": "Production Occupations", + "frameworkName": "bls", + "level": "Major", + "jobCodeLevelAsNumber": 1 + } + ], + "jobCodeLevelAsNumber": 4 + }, + { + "id": 2376, + "code": "51-9191.00", + "targetNodeName": "Adhesive Bonding Machine Operators and Tenders", + "frameworkName": "o*net", + "level": "Detailed", + "parents": [ + { + "id": 1318, + "code": "51-9190", + "targetNodeName": "Miscellaneous Production Workers", + "frameworkName": "bls", + "level": "Broad", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 1283, + "code": "51-9000", + "targetNodeName": "Other Production Occupations", + "frameworkName": "bls", + "level": "Minor", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 1159, + "code": "51-0000", + "targetNodeName": "Production Occupations", + "frameworkName": "bls", + "level": "Major", + "jobCodeLevelAsNumber": 1 + } + ], + "jobCodeLevelAsNumber": 4 + }, + { + "id": 344, + "code": "23-1021", + "targetNodeName": "Administrative Law Judges, Adjudicators, and Hearing Officers", + "frameworkName": "bls", + "level": "Detailed", + "parents": [ + { + "id": 343, + "code": "23-1020", + "targetNodeName": "Judges, Magistrates, and Other Judicial Workers", + "frameworkName": "bls", + "level": "Broad", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 339, + "code": "23-1000", + "targetNodeName": "Lawyers, Judges, and Related Workers", + "frameworkName": "bls", + "level": "Minor", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 338, + "code": "23-0000", + "targetNodeName": "Legal Occupations", + "frameworkName": "bls", + "level": "Major", + "jobCodeLevelAsNumber": 1 + } + ], + "jobCodeLevelAsNumber": 4 + }, + { + "id": 1740, + "code": "23-1021.00", + "targetNodeName": "Administrative Law Judges, Adjudicators, and Hearing Officers", + "frameworkName": "o*net", + "level": "Detailed", + "parents": [ + { + "id": 343, + "code": "23-1020", + "targetNodeName": "Judges, Magistrates, and Other Judicial Workers", + "frameworkName": "bls", + "level": "Broad", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 339, + "code": "23-1000", + "targetNodeName": "Lawyers, Judges, and Related Workers", + "frameworkName": "bls", + "level": "Minor", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 338, + "code": "23-0000", + "targetNodeName": "Legal Occupations", + "frameworkName": "bls", + "level": "Major", + "jobCodeLevelAsNumber": 1 + } + ], + "jobCodeLevelAsNumber": 4 + }, + { + "id": 19, + "code": "11-3010", + "targetNodeName": "Administrative Services and Facilities Managers", + "frameworkName": "bls", + "level": "Broad", + "parents": [ + { + "id": 18, + "code": "11-3000", + "targetNodeName": "Operations Specialties Managers", + "frameworkName": "bls", + "level": "Minor", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 1, + "code": "11-0000", + "targetNodeName": "Management Occupations", + "frameworkName": "bls", + "level": "Major", + "jobCodeLevelAsNumber": 1 + } + ], + "jobCodeLevelAsNumber": 3 + }, + { + "id": 20, + "code": "11-3012", + "targetNodeName": "Administrative Services Managers", + "frameworkName": "bls", + "level": "Detailed", + "parents": [ + { + "id": 19, + "code": "11-3010", + "targetNodeName": "Administrative Services and Facilities Managers", + "frameworkName": "bls", + "level": "Broad", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 18, + "code": "11-3000", + "targetNodeName": "Operations Specialties Managers", + "frameworkName": "bls", + "level": "Minor", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 1, + "code": "11-0000", + "targetNodeName": "Management Occupations", + "frameworkName": "bls", + "level": "Major", + "jobCodeLevelAsNumber": 1 + } + ], + "jobCodeLevelAsNumber": 4 + }, + { + "id": 1457, + "code": "11-3012.00", + "targetNodeName": "Administrative Services Managers", + "frameworkName": "o*net", + "level": "Detailed", + "parents": [ + { + "id": 19, + "code": "11-3010", + "targetNodeName": "Administrative Services and Facilities Managers", + "frameworkName": "bls", + "level": "Broad", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 18, + "code": "11-3000", + "targetNodeName": "Operations Specialties Managers", + "frameworkName": "bls", + "level": "Minor", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 1, + "code": "11-0000", + "targetNodeName": "Management Occupations", + "frameworkName": "bls", + "level": "Major", + "jobCodeLevelAsNumber": 1 + } + ], + "jobCodeLevelAsNumber": 4 + }, + { + "id": 423, + "code": "25-3011", + "targetNodeName": "Adult Basic Education, Adult Secondary Education, and English as a Second Language Instructors", + "frameworkName": "bls", + "level": "Detailed", + "parents": [ + { + "id": 422, + "code": "25-3010", + "targetNodeName": "Adult Basic Education, Adult Secondary Education, and English as a Second Language Instructors", + "frameworkName": "bls", + "level": "Broad", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 421, + "code": "25-3000", + "targetNodeName": "Other Teachers and Instructors", + "frameworkName": "bls", + "level": "Minor", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 353, + "code": "25-0000", + "targetNodeName": "Educational Instruction and Library Occupations", + "frameworkName": "bls", + "level": "Major", + "jobCodeLevelAsNumber": 1 + } + ], + "jobCodeLevelAsNumber": 4 + }, + { + "id": 422, + "code": "25-3010", + "targetNodeName": "Adult Basic Education, Adult Secondary Education, and English as a Second Language Instructors", + "frameworkName": "bls", + "level": "Broad", + "parents": [ + { + "id": 421, + "code": "25-3000", + "targetNodeName": "Other Teachers and Instructors", + "frameworkName": "bls", + "level": "Minor", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 353, + "code": "25-0000", + "targetNodeName": "Educational Instruction and Library Occupations", + "frameworkName": "bls", + "level": "Major", + "jobCodeLevelAsNumber": 1 + } + ], + "jobCodeLevelAsNumber": 3 + }, + { + "id": 1797, + "code": "25-3011.00", + "targetNodeName": "Adult Basic Education, Adult Secondary Education, and English as a Second Language Instructors", + "frameworkName": "o*net", + "level": "Detailed", + "parents": [ + { + "id": 422, + "code": "25-3010", + "targetNodeName": "Adult Basic Education, Adult Secondary Education, and English as a Second Language Instructors", + "frameworkName": "bls", + "level": "Broad", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 421, + "code": "25-3000", + "targetNodeName": "Other Teachers and Instructors", + "frameworkName": "bls", + "level": "Minor", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 353, + "code": "25-0000", + "targetNodeName": "Educational Instruction and Library Occupations", + "frameworkName": "bls", + "level": "Major", + "jobCodeLevelAsNumber": 1 + } + ], + "jobCodeLevelAsNumber": 4 + }, + { + "id": 1885, + "code": "29-1141.02", + "targetNodeName": "Advanced Practice Psychiatric Nurses", + "frameworkName": "o*net", + "level": "Detailed", + "parents": [ + { + "id": 546, + "code": "29-1140", + "targetNodeName": "Registered Nurses", + "frameworkName": "bls", + "level": "Broad", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 516, + "code": "29-1000", + "targetNodeName": "Healthcare Diagnosing or Treating Practitioners", + "frameworkName": "bls", + "level": "Minor", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 515, + "code": "29-0000", + "targetNodeName": "Healthcare Practitioners and Technical Occupations", + "frameworkName": "bls", + "level": "Major", + "jobCodeLevelAsNumber": 1 + } + ], + "jobCodeLevelAsNumber": 4 + }, + { + "id": 11, + "code": "11-2011", + "targetNodeName": "Advertising and Promotions Managers", + "frameworkName": "bls", + "level": "Detailed", + "parents": [ + { + "id": 10, + "code": "11-2010", + "targetNodeName": "Advertising and Promotions Managers", + "frameworkName": "bls", + "level": "Broad", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 9, + "code": "11-2000", + "targetNodeName": "Advertising, Marketing, Promotions, Public Relations, and Sales Managers", + "frameworkName": "bls", + "level": "Minor", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 1, + "code": "11-0000", + "targetNodeName": "Management Occupations", + "frameworkName": "bls", + "level": "Major", + "jobCodeLevelAsNumber": 1 + } + ], + "jobCodeLevelAsNumber": 4 + }, + { + "id": 10, + "code": "11-2010", + "targetNodeName": "Advertising and Promotions Managers", + "frameworkName": "bls", + "level": "Broad", + "parents": [ + { + "id": 9, + "code": "11-2000", + "targetNodeName": "Advertising, Marketing, Promotions, Public Relations, and Sales Managers", + "frameworkName": "bls", + "level": "Minor", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 1, + "code": "11-0000", + "targetNodeName": "Management Occupations", + "frameworkName": "bls", + "level": "Major", + "jobCodeLevelAsNumber": 1 + } + ], + "jobCodeLevelAsNumber": 3 + }, + { + "id": 1452, + "code": "11-2011.00", + "targetNodeName": "Advertising and Promotions Managers", + "frameworkName": "o*net", + "level": "Detailed", + "parents": [ + { + "id": 10, + "code": "11-2010", + "targetNodeName": "Advertising and Promotions Managers", + "frameworkName": "bls", + "level": "Broad", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 9, + "code": "11-2000", + "targetNodeName": "Advertising, Marketing, Promotions, Public Relations, and Sales Managers", + "frameworkName": "bls", + "level": "Minor", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 1, + "code": "11-0000", + "targetNodeName": "Management Occupations", + "frameworkName": "bls", + "level": "Major", + "jobCodeLevelAsNumber": 1 + } + ], + "jobCodeLevelAsNumber": 4 + }, + { + "id": 817, + "code": "41-3011", + "targetNodeName": "Advertising Sales Agents", + "frameworkName": "bls", + "level": "Detailed", + "parents": [ + { + "id": 816, + "code": "41-3010", + "targetNodeName": "Advertising Sales Agents", + "frameworkName": "bls", + "level": "Broad", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 815, + "code": "41-3000", + "targetNodeName": "Sales Representatives, Services", + "frameworkName": "bls", + "level": "Minor", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 801, + "code": "41-0000", + "targetNodeName": "Sales and Related Occupations", + "frameworkName": "bls", + "level": "Major", + "jobCodeLevelAsNumber": 1 + } + ], + "jobCodeLevelAsNumber": 4 + }, + { + "id": 816, + "code": "41-3010", + "targetNodeName": "Advertising Sales Agents", + "frameworkName": "bls", + "level": "Broad", + "parents": [ + { + "id": 815, + "code": "41-3000", + "targetNodeName": "Sales Representatives, Services", + "frameworkName": "bls", + "level": "Minor", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 801, + "code": "41-0000", + "targetNodeName": "Sales and Related Occupations", + "frameworkName": "bls", + "level": "Major", + "jobCodeLevelAsNumber": 1 + } + ], + "jobCodeLevelAsNumber": 3 + }, + { + "id": 2072, + "code": "41-3011.00", + "targetNodeName": "Advertising Sales Agents", + "frameworkName": "o*net", + "level": "Detailed", + "parents": [ + { + "id": 816, + "code": "41-3010", + "targetNodeName": "Advertising Sales Agents", + "frameworkName": "bls", + "level": "Broad", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 815, + "code": "41-3000", + "targetNodeName": "Sales Representatives, Services", + "frameworkName": "bls", + "level": "Minor", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 801, + "code": "41-0000", + "targetNodeName": "Sales and Related Occupations", + "frameworkName": "bls", + "level": "Major", + "jobCodeLevelAsNumber": 1 + } + ], + "jobCodeLevelAsNumber": 4 + }, + { + "id": 9, + "code": "11-2000", + "targetNodeName": "Advertising, Marketing, Promotions, Public Relations, and Sales Managers", + "frameworkName": "bls", + "level": "Minor", + "parents": [ + { + "id": 1, + "code": "11-0000", + "targetNodeName": "Management Occupations", + "frameworkName": "bls", + "level": "Major", + "jobCodeLevelAsNumber": 1 + } + ], + "jobCodeLevelAsNumber": 2 + }, + { + "id": 221, + "code": "17-3021", + "targetNodeName": "Aerospace Engineering and Operations Technologists and Technicians", + "frameworkName": "bls", + "level": "Detailed", + "parents": [ + { + "id": 220, + "code": "17-3020", + "targetNodeName": "Engineering Technologists and Technicians, Except Drafters", + "frameworkName": "bls", + "level": "Broad", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 214, + "code": "17-3000", + "targetNodeName": "Drafters, Engineering Technicians, and Mapping Technicians", + "frameworkName": "bls", + "level": "Minor", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 171, + "code": "17-0000", + "targetNodeName": "Architecture and Engineering Occupations", + "frameworkName": "bls", + "level": "Major", + "jobCodeLevelAsNumber": 1 + } + ], + "jobCodeLevelAsNumber": 4 + }, + { + "id": 1639, + "code": "17-3021.00", + "targetNodeName": "Aerospace Engineering and Operations Technologists and Technicians", + "frameworkName": "o*net", + "level": "Detailed", + "parents": [ + { + "id": 220, + "code": "17-3020", + "targetNodeName": "Engineering Technologists and Technicians, Except Drafters", + "frameworkName": "bls", + "level": "Broad", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 214, + "code": "17-3000", + "targetNodeName": "Drafters, Engineering Technicians, and Mapping Technicians", + "frameworkName": "bls", + "level": "Minor", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 171, + "code": "17-0000", + "targetNodeName": "Architecture and Engineering Occupations", + "frameworkName": "bls", + "level": "Major", + "jobCodeLevelAsNumber": 1 + } + ], + "jobCodeLevelAsNumber": 4 + }, + { + "id": 181, + "code": "17-2011", + "targetNodeName": "Aerospace Engineers", + "frameworkName": "bls", + "level": "Detailed", + "parents": [ + { + "id": 180, + "code": "17-2010", + "targetNodeName": "Aerospace Engineers", + "frameworkName": "bls", + "level": "Broad", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 179, + "code": "17-2000", + "targetNodeName": "Engineers", + "frameworkName": "bls", + "level": "Minor", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 171, + "code": "17-0000", + "targetNodeName": "Architecture and Engineering Occupations", + "frameworkName": "bls", + "level": "Major", + "jobCodeLevelAsNumber": 1 + } + ], + "jobCodeLevelAsNumber": 4 + }, + { + "id": 180, + "code": "17-2010", + "targetNodeName": "Aerospace Engineers", + "frameworkName": "bls", + "level": "Broad", + "parents": [ + { + "id": 179, + "code": "17-2000", + "targetNodeName": "Engineers", + "frameworkName": "bls", + "level": "Minor", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 171, + "code": "17-0000", + "targetNodeName": "Architecture and Engineering Occupations", + "frameworkName": "bls", + "level": "Major", + "jobCodeLevelAsNumber": 1 + } + ], + "jobCodeLevelAsNumber": 3 + }, + { + "id": 1600, + "code": "17-2011.00", + "targetNodeName": "Aerospace Engineers", + "frameworkName": "o*net", + "level": "Detailed", + "parents": [ + { + "id": 180, + "code": "17-2010", + "targetNodeName": "Aerospace Engineers", + "frameworkName": "bls", + "level": "Broad", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 179, + "code": "17-2000", + "targetNodeName": "Engineers", + "frameworkName": "bls", + "level": "Minor", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 171, + "code": "17-0000", + "targetNodeName": "Architecture and Engineering Occupations", + "frameworkName": "bls", + "level": "Major", + "jobCodeLevelAsNumber": 1 + } + ], + "jobCodeLevelAsNumber": 4 + }, + { + "id": 77, + "code": "13-1011", + "targetNodeName": "Agents and Business Managers of Artists, Performers, and Athletes", + "frameworkName": "bls", + "level": "Detailed", + "parents": [ + { + "id": 76, + "code": "13-1010", + "targetNodeName": "Agents and Business Managers of Artists, Performers, and Athletes", + "frameworkName": "bls", + "level": "Broad", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 75, + "code": "13-1000", + "targetNodeName": "Business Operations Specialists", + "frameworkName": "bls", + "level": "Minor", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 74, + "code": "13-0000", + "targetNodeName": "Business and Financial Operations Occupations", + "frameworkName": "bls", + "level": "Major", + "jobCodeLevelAsNumber": 1 + } + ], + "jobCodeLevelAsNumber": 4 + }, + { + "id": 76, + "code": "13-1010", + "targetNodeName": "Agents and Business Managers of Artists, Performers, and Athletes", + "frameworkName": "bls", + "level": "Broad", + "parents": [ + { + "id": 75, + "code": "13-1000", + "targetNodeName": "Business Operations Specialists", + "frameworkName": "bls", + "level": "Minor", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 74, + "code": "13-0000", + "targetNodeName": "Business and Financial Operations Occupations", + "frameworkName": "bls", + "level": "Major", + "jobCodeLevelAsNumber": 1 + } + ], + "jobCodeLevelAsNumber": 3 + }, + { + "id": 1507, + "code": "13-1011.00", + "targetNodeName": "Agents and Business Managers of Artists, Performers, and Athletes", + "frameworkName": "o*net", + "level": "Detailed", + "parents": [ + { + "id": 76, + "code": "13-1010", + "targetNodeName": "Agents and Business Managers of Artists, Performers, and Athletes", + "frameworkName": "bls", + "level": "Broad", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 75, + "code": "13-1000", + "targetNodeName": "Business Operations Specialists", + "frameworkName": "bls", + "level": "Minor", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 74, + "code": "13-0000", + "targetNodeName": "Business and Financial Operations Occupations", + "frameworkName": "bls", + "level": "Major", + "jobCodeLevelAsNumber": 1 + } + ], + "jobCodeLevelAsNumber": 4 + }, + { + "id": 287, + "code": "19-4010", + "targetNodeName": "Agricultural and Food Science Technicians", + "frameworkName": "bls", + "level": "Broad", + "parents": [ + { + "id": 286, + "code": "19-4000", + "targetNodeName": "Life, Physical, and Social Science Technicians", + "frameworkName": "bls", + "level": "Minor", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 232, + "code": "19-0000", + "targetNodeName": "Life, Physical, and Social Science Occupations", + "frameworkName": "bls", + "level": "Major", + "jobCodeLevelAsNumber": 1 + } + ], + "jobCodeLevelAsNumber": 3 + }, + { + "id": 234, + "code": "19-1010", + "targetNodeName": "Agricultural and Food Scientists", + "frameworkName": "bls", + "level": "Broad", + "parents": [ + { + "id": 233, + "code": "19-1000", + "targetNodeName": "Life Scientists", + "frameworkName": "bls", + "level": "Minor", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 232, + "code": "19-0000", + "targetNodeName": "Life, Physical, and Social Science Occupations", + "frameworkName": "bls", + "level": "Major", + "jobCodeLevelAsNumber": 1 + } + ], + "jobCodeLevelAsNumber": 3 + }, + { + "id": 182, + "code": "17-2020", + "targetNodeName": "Agricultural Engineers", + "frameworkName": "bls", + "level": "Broad", + "parents": [ + { + "id": 179, + "code": "17-2000", + "targetNodeName": "Engineers", + "frameworkName": "bls", + "level": "Minor", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 171, + "code": "17-0000", + "targetNodeName": "Architecture and Engineering Occupations", + "frameworkName": "bls", + "level": "Major", + "jobCodeLevelAsNumber": 1 + } + ], + "jobCodeLevelAsNumber": 3 + }, + { + "id": 183, + "code": "17-2021", + "targetNodeName": "Agricultural Engineers", + "frameworkName": "bls", + "level": "Detailed", + "parents": [ + { + "id": 182, + "code": "17-2020", + "targetNodeName": "Agricultural Engineers", + "frameworkName": "bls", + "level": "Broad", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 179, + "code": "17-2000", + "targetNodeName": "Engineers", + "frameworkName": "bls", + "level": "Minor", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 171, + "code": "17-0000", + "targetNodeName": "Architecture and Engineering Occupations", + "frameworkName": "bls", + "level": "Major", + "jobCodeLevelAsNumber": 1 + } + ], + "jobCodeLevelAsNumber": 4 + }, + { + "id": 1601, + "code": "17-2021.00", + "targetNodeName": "Agricultural Engineers", + "frameworkName": "o*net", + "level": "Detailed", + "parents": [ + { + "id": 182, + "code": "17-2020", + "targetNodeName": "Agricultural Engineers", + "frameworkName": "bls", + "level": "Broad", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 179, + "code": "17-2000", + "targetNodeName": "Engineers", + "frameworkName": "bls", + "level": "Minor", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 171, + "code": "17-0000", + "targetNodeName": "Architecture and Engineering Occupations", + "frameworkName": "bls", + "level": "Major", + "jobCodeLevelAsNumber": 1 + } + ], + "jobCodeLevelAsNumber": 4 + }, + { + "id": 965, + "code": "45-2091", + "targetNodeName": "Agricultural Equipment Operators", + "frameworkName": "bls", + "level": "Detailed", + "parents": [ + { + "id": 964, + "code": "45-2090", + "targetNodeName": "Miscellaneous Agricultural Workers", + "frameworkName": "bls", + "level": "Broad", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 957, + "code": "45-2000", + "targetNodeName": "Agricultural Workers", + "frameworkName": "bls", + "level": "Minor", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 953, + "code": "45-0000", + "targetNodeName": "Farming, Fishing, and Forestry Occupations", + "frameworkName": "bls", + "level": "Major", + "jobCodeLevelAsNumber": 1 + } + ], + "jobCodeLevelAsNumber": 4 + }, + { + "id": 2147, + "code": "45-2091.00", + "targetNodeName": "Agricultural Equipment Operators", + "frameworkName": "o*net", + "level": "Detailed", + "parents": [ + { + "id": 964, + "code": "45-2090", + "targetNodeName": "Miscellaneous Agricultural Workers", + "frameworkName": "bls", + "level": "Broad", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 957, + "code": "45-2000", + "targetNodeName": "Agricultural Workers", + "frameworkName": "bls", + "level": "Minor", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 953, + "code": "45-0000", + "targetNodeName": "Farming, Fishing, and Forestry Occupations", + "frameworkName": "bls", + "level": "Major", + "jobCodeLevelAsNumber": 1 + } + ], + "jobCodeLevelAsNumber": 4 + }, + { + "id": 959, + "code": "45-2011", + "targetNodeName": "Agricultural Inspectors", + "frameworkName": "bls", + "level": "Detailed", + "parents": [ + { + "id": 958, + "code": "45-2010", + "targetNodeName": "Agricultural Inspectors", + "frameworkName": "bls", + "level": "Broad", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 957, + "code": "45-2000", + "targetNodeName": "Agricultural Workers", + "frameworkName": "bls", + "level": "Minor", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 953, + "code": "45-0000", + "targetNodeName": "Farming, Fishing, and Forestry Occupations", + "frameworkName": "bls", + "level": "Major", + "jobCodeLevelAsNumber": 1 + } + ], + "jobCodeLevelAsNumber": 4 + }, + { + "id": 958, + "code": "45-2010", + "targetNodeName": "Agricultural Inspectors", + "frameworkName": "bls", + "level": "Broad", + "parents": [ + { + "id": 957, + "code": "45-2000", + "targetNodeName": "Agricultural Workers", + "frameworkName": "bls", + "level": "Minor", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 953, + "code": "45-0000", + "targetNodeName": "Farming, Fishing, and Forestry Occupations", + "frameworkName": "bls", + "level": "Major", + "jobCodeLevelAsNumber": 1 + } + ], + "jobCodeLevelAsNumber": 3 + }, + { + "id": 2144, + "code": "45-2011.00", + "targetNodeName": "Agricultural Inspectors", + "frameworkName": "o*net", + "level": "Detailed", + "parents": [ + { + "id": 958, + "code": "45-2010", + "targetNodeName": "Agricultural Inspectors", + "frameworkName": "bls", + "level": "Broad", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 957, + "code": "45-2000", + "targetNodeName": "Agricultural Workers", + "frameworkName": "bls", + "level": "Minor", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 953, + "code": "45-0000", + "targetNodeName": "Farming, Fishing, and Forestry Occupations", + "frameworkName": "bls", + "level": "Major", + "jobCodeLevelAsNumber": 1 + } + ], + "jobCodeLevelAsNumber": 4 + }, + { + "id": 364, + "code": "25-1041", + "targetNodeName": "Agricultural Sciences Teachers, Postsecondary", + "frameworkName": "bls", + "level": "Detailed", + "parents": [ + { + "id": 363, + "code": "25-1040", + "targetNodeName": "Life Sciences Teachers, Postsecondary", + "frameworkName": "bls", + "level": "Broad", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 354, + "code": "25-1000", + "targetNodeName": "Postsecondary Teachers", + "frameworkName": "bls", + "level": "Minor", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 353, + "code": "25-0000", + "targetNodeName": "Educational Instruction and Library Occupations", + "frameworkName": "bls", + "level": "Major", + "jobCodeLevelAsNumber": 1 + } + ], + "jobCodeLevelAsNumber": 4 + } +] \ No newline at end of file diff --git a/test/api-test/api/v3/metadata/jobcodes/post-pre-request.js b/test/api-test/api/v3/metadata/jobcodes/post-pre-request.js new file mode 100644 index 000000000..3dcafe01e --- /dev/null +++ b/test/api-test/api/v3/metadata/jobcodes/post-pre-request.js @@ -0,0 +1,19 @@ +let jobCodes = [ + { + "code": "95-1240", + "targetNodeName": "20230622-1519", + "frameworkName": "Framework 20230622-1519" + } +]; + +let body = { + mode: 'raw', + raw: JSON.stringify(jobCodes), + options: { + raw: { + language: 'json' + } + } +}; + +pm.request.body.update(body); \ No newline at end of file diff --git a/test/api-test/api/v3/metadata/jobcodes/post.js b/test/api-test/api/v3/metadata/jobcodes/post.js new file mode 100644 index 000000000..998306dd4 --- /dev/null +++ b/test/api-test/api/v3/metadata/jobcodes/post.js @@ -0,0 +1,34 @@ +// let expectedData is injected from .json + +let responseData = pm.response.json(); + +console.log("Check job codes created"); + +pm.test("Check job codes created count", function () { + pm.expect(responseData.length).to.equal(expectedData.length); +}); + +for (let jobCodeIndex = 0; jobCodeIndex < expectedData.length; jobCodeIndex++) { + let expectedJobCode = expectedData[jobCodeIndex]; + let jobCodeNum = jobCodeIndex + 1; + + let responseJobCode = responseData[jobCodeIndex]; + pm.test(`JobCode ${jobCodeNum} - Check Id exists`, function () { + pm.expect(responseJobCode.id).exists; + }); + pm.test(`JobCode ${jobCodeNum} - Check code`, function () { + pm.expect(responseJobCode.code).to.equal(expectedJobCode.code); + }); + pm.test(`JobCode ${jobCodeNum} - Check targetNodeName`, function () { + pm.expect(responseJobCode.targetNodeName).to.equal(expectedJobCode.targetNodeName); + }); + pm.test(`JobCode ${jobCodeNum} - Check frameworkName`, function () { + pm.expect(responseJobCode.frameworkName).to.equal(expectedJobCode.frameworkName); + }); + // pm.test(`JobCode ${jobCodeNum} - Check level`, function () { + // pm.expect(responseJobCode.level).to.equal(expectedJobCode.level); + // }); + pm.test(`JobCode ${jobCodeNum} - Check jobCodeLevelAsNumber`, function () { + pm.expect(responseJobCode.jobCodeLevelAsNumber).to.equal(expectedJobCode.jobCodeLevelAsNumber); + }); +} \ No newline at end of file diff --git a/test/api-test/api/v3/metadata/jobcodes/post.json b/test/api-test/api/v3/metadata/jobcodes/post.json new file mode 100644 index 000000000..ed5f1b789 --- /dev/null +++ b/test/api-test/api/v3/metadata/jobcodes/post.json @@ -0,0 +1,9 @@ +[ + { + "id": 2520, + "code": "95-1240", + "targetNodeName": "20230622-1519", + "frameworkName": "Framework 20230622-1519", + "jobCodeLevelAsNumber": 3 + } +] \ No newline at end of file diff --git a/test/api-test/api/v3/metadata/jobcodes/{id}/get.js b/test/api-test/api/v3/metadata/jobcodes/{id}/get.js new file mode 100644 index 000000000..bc71386ff --- /dev/null +++ b/test/api-test/api/v3/metadata/jobcodes/{id}/get.js @@ -0,0 +1,21 @@ +// let expectedData is injected from .json + +let responseData = pm.response.json(); +console.log("Check job code"); + +pm.test("Check id exists", function() { + pm.expect(responseData.id).exists; +}); +pm.test("Check code exists", function() { + pm.expect(responseData.code).exists; +}); +pm.test("Check targetNodeName exists", function() { + pm.expect(responseData.targetNodeName).exists; +}); +pm.test("Check frameworkName exists", function() { + pm.expect(responseData.frameworkName).exists; +}); +pm.test("Check jobCodeLevelAsNumber exists", function() { + pm.expect(responseData.jobCodeLevelAsNumber).exists; +}); + diff --git a/test/api-test/api/v3/metadata/jobcodes/{id}/get.json b/test/api-test/api/v3/metadata/jobcodes/{id}/get.json new file mode 100644 index 000000000..de138ea7d --- /dev/null +++ b/test/api-test/api/v3/metadata/jobcodes/{id}/get.json @@ -0,0 +1,7 @@ +{ + "id": 21, + "code": "11-3013", + "targetNodeName": "Facilities Managers", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 +} \ No newline at end of file diff --git a/test/api-test/api/v3/metadata/jobcodes/{id}/pre-request.js b/test/api-test/api/v3/metadata/jobcodes/{id}/pre-request.js new file mode 100644 index 000000000..cf6853f1f --- /dev/null +++ b/test/api-test/api/v3/metadata/jobcodes/{id}/pre-request.js @@ -0,0 +1,2 @@ +let id = pm.request.url.variables.indexOf('id'); +pm.request.url.variables.idx(id).value = "21"; diff --git a/test/api-test/api/v3/metadata/jobcodes/{id}/remove/delete-pre-request.js b/test/api-test/api/v3/metadata/jobcodes/{id}/remove/delete-pre-request.js new file mode 100644 index 000000000..cf6853f1f --- /dev/null +++ b/test/api-test/api/v3/metadata/jobcodes/{id}/remove/delete-pre-request.js @@ -0,0 +1,2 @@ +let id = pm.request.url.variables.indexOf('id'); +pm.request.url.variables.idx(id).value = "21"; diff --git a/test/api-test/api/v3/metadata/jobcodes/{id}/remove/delete.js b/test/api-test/api/v3/metadata/jobcodes/{id}/remove/delete.js new file mode 100644 index 000000000..0c64d5749 --- /dev/null +++ b/test/api-test/api/v3/metadata/jobcodes/{id}/remove/delete.js @@ -0,0 +1,16 @@ +// let expectedData is injected from .json + +let responseData = pm.response.json(); +console.log("Check collection deletion task submission"); +pm.test("Check task UUID created", function () { + pm.expect(responseData.uuid).exists; +}); +pm.test("Check task status", function () { + pm.expect(responseData.status).to.equal(expectedData.status); +}); +pm.test("Check task output content type", function () { + pm.expect(responseData['content-type']).to.equal(expectedData['content-type']); +}); +pm.test("Check result endpoint provided", function () { + pm.expect(responseData.id).exists; +}); \ No newline at end of file diff --git a/test/api-test/api/v3/metadata/jobcodes/{id}/remove/delete.json b/test/api-test/api/v3/metadata/jobcodes/{id}/remove/delete.json new file mode 100644 index 000000000..9ef16dc67 --- /dev/null +++ b/test/api-test/api/v3/metadata/jobcodes/{id}/remove/delete.json @@ -0,0 +1,6 @@ +{ + "uuid": "552b69e2-bb2f-4439-acfb-863a0c3c71cd", + "status": "Processing", + "content-type": "application/json", + "id": "/api/results/batch/552b69e2-bb2f-4439-acfb-863a0c3c71cd" +} \ No newline at end of file diff --git a/test/api-test/api/v3/metadata/jobcodes/{id}/update/post-pre-request.js b/test/api-test/api/v3/metadata/jobcodes/{id}/update/post-pre-request.js new file mode 100644 index 000000000..97e745e2b --- /dev/null +++ b/test/api-test/api/v3/metadata/jobcodes/{id}/update/post-pre-request.js @@ -0,0 +1,17 @@ +let jobCode = { + "code": "11-3013", + "targetNodeName": "Facilities Managers", + "frameworkName": "bls" +}; + +let body = { + mode: 'raw', + raw: JSON.stringify(jobCode), + options: { + raw: { + language: 'json' + } + } +}; + +pm.request.body.update(body); \ No newline at end of file diff --git a/test/api-test/api/v3/metadata/jobcodes/{id}/update/post.js b/test/api-test/api/v3/metadata/jobcodes/{id}/update/post.js new file mode 100644 index 000000000..458b25fc2 --- /dev/null +++ b/test/api-test/api/v3/metadata/jobcodes/{id}/update/post.js @@ -0,0 +1,21 @@ +// let expectedData is injected from .json + +let responseData = pm.response.json(); +console.log("Check updated job code"); + +pm.test("Check id exists", function() { + pm.expect(responseData.id).to.equal(expectedData.id); +}); +pm.test("Check code exists", function() { + pm.expect(responseData.code).to.equal(expectedData.code); +}); +pm.test("Check targetNodeName exists", function() { + pm.expect(responseData.targetNodeName).to.equal(expectedData.targetNodeName); +}); +pm.test("Check frameworkName exists", function() { + pm.expect(responseData.frameworkName).to.equal(expectedData.frameworkName); +}); +/* pm.test("Check jobCodeLevelAsNumber exists", function() { + pm.expect(responseData.jobCodeLevelAsNumber).to.equal(expectedData.jobCodeLevelAsNumber); +}); */ + diff --git a/test/api-test/api/v3/metadata/jobcodes/{id}/update/post.json b/test/api-test/api/v3/metadata/jobcodes/{id}/update/post.json new file mode 100644 index 000000000..de138ea7d --- /dev/null +++ b/test/api-test/api/v3/metadata/jobcodes/{id}/update/post.json @@ -0,0 +1,7 @@ +{ + "id": 21, + "code": "11-3013", + "targetNodeName": "Facilities Managers", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 +} \ No newline at end of file diff --git a/test/api-test/api/v3/metadata/keywords/get-pre-request.js b/test/api-test/api/v3/metadata/keywords/get-pre-request.js new file mode 100644 index 000000000..3f6a3be44 --- /dev/null +++ b/test/api-test/api/v3/metadata/keywords/get-pre-request.js @@ -0,0 +1,25 @@ +let sizeId = pm.request.url.query.indexOf('size'); +if (sizeId < 0) { + pm.request.url.query.add("size=50"); +} +else { + pm.request.url.query.idx(sizeId).value = "50"; +} + +let fromId = pm.request.url.query.indexOf('from'); +if (fromId < 0) { + pm.request.url.query.add("from=0"); +} +else { + pm.request.url.query.idx(fromId).value = "0"; +} + +let sortId = pm.request.url.query.indexOf('sort'); +if (sortId < 0) { + pm.request.url.query.add("sort=name.asc"); +} +else { + pm.request.url.query.idx(sortId).value = "name.asc"; +} + +let queryId = pm.request.url.query.indexOf('query') \ No newline at end of file diff --git a/test/api-test/api/v3/metadata/keywords/get.js b/test/api-test/api/v3/metadata/keywords/get.js new file mode 100644 index 000000000..8ff94ac36 --- /dev/null +++ b/test/api-test/api/v3/metadata/keywords/get.js @@ -0,0 +1,24 @@ +// let expectedData is injected from .json + +let responseData = pm.response.json(); + +console.log("Check get All keywords"); +pm.test("Check keywords count", function () { + pm.expect(responseData.length).to.equal(expectedData.length); +}); + + +for (let keywordIndex = 0; keywordIndex < responseData.length; keywordIndex++) { + let colNum = keywordIndex + 1; + + let responseCol = responseData[keywordIndex]; + pm.test(`Keyword ${colNum} - Check Id exists`, function () { + pm.expect(responseCol.id).exists; + }); + pm.test(`Keyword ${colNum} - Check name`, function () { + pm.expect(responseCol.name).exists; + }); + pm.test(`Keyword ${colNum} - Check skill count`, function () { + pm.expect(responseCol.skillCount).exists; + }); +} diff --git a/test/api-test/api/v3/metadata/keywords/get.json b/test/api-test/api/v3/metadata/keywords/get.json new file mode 100644 index 000000000..467086246 --- /dev/null +++ b/test/api-test/api/v3/metadata/keywords/get.json @@ -0,0 +1,402 @@ +[ + { + "framework": null, + "skillCount": 5, + "name": "Access Network", + "id": 2998, + "type": "Category", + "url": null + }, + { + "framework": null, + "skillCount": 6, + "name": "Active Directory", + "id": 3007, + "type": "Category", + "url": null + }, + { + "framework": null, + "skillCount": 3, + "name": "Acute Care", + "id": 237, + "type": "Category", + "url": null + }, + { + "framework": null, + "skillCount": 4, + "name": "Adaptability", + "id": 312, + "type": "Category", + "url": null + }, + { + "framework": null, + "skillCount": 1, + "name": "Advertisement", + "id": 3403, + "type": "Category", + "url": null + }, + { + "framework": null, + "skillCount": 1, + "name": "Advertising Campaigns", + "id": 3489, + "type": "Category", + "url": null + }, + { + "framework": null, + "skillCount": 1, + "name": "Agency", + "id": 306, + "type": "Category", + "url": null + }, + { + "framework": null, + "skillCount": 6, + "name": "Agile Methodology", + "id": 3018, + "type": "Category", + "url": null + }, + { + "framework": null, + "skillCount": 2, + "name": "Amazon Web Services", + "id": 3031, + "type": "Category", + "url": null + }, + { + "framework": null, + "skillCount": 1, + "name": "Analytical Techniques", + "id": 427, + "type": "Category", + "url": null + }, + { + "framework": null, + "skillCount": 7, + "name": "Application Programming Interface (API)", + "id": 3035, + "type": "Category", + "url": null + }, + { + "framework": null, + "skillCount": 2, + "name": "Assess Patient Needs", + "id": 1241, + "type": "Category", + "url": null + }, + { + "framework": null, + "skillCount": 2, + "name": "Authentications", + "id": 2626, + "type": "Category", + "url": null + }, + { + "framework": null, + "skillCount": 8, + "name": "Backup And Restore", + "id": 3047, + "type": "Category", + "url": null + }, + { + "framework": null, + "skillCount": 5, + "name": "Backup Devices", + "id": 3060, + "type": "Category", + "url": null + }, + { + "framework": null, + "skillCount": 2, + "name": "Basic Math", + "id": 3068, + "type": "Category", + "url": null + }, + { + "framework": null, + "skillCount": 4, + "name": "Border Gateway Protocol", + "id": 3074, + "type": "Category", + "url": null + }, + { + "framework": null, + "skillCount": 2, + "name": "Brand Strategy", + "id": 3493, + "type": "Category", + "url": null + }, + { + "framework": null, + "skillCount": 5, + "name": "Business Continuity Planning", + "id": 2594, + "type": "Category", + "url": null + }, + { + "framework": null, + "skillCount": 4, + "name": "Business Ethics", + "id": 2324, + "type": "Category", + "url": null + }, + { + "framework": null, + "skillCount": 3, + "name": "Business Requirements", + "id": 2352, + "type": "Category", + "url": null + }, + { + "framework": null, + "skillCount": 1, + "name": "Business Strategies", + "id": 3469, + "type": "Category", + "url": null + }, + { + "framework": null, + "skillCount": 4, + "name": "Capacity Planning", + "id": 1246, + "type": "Category", + "url": null + }, + { + "framework": null, + "skillCount": 6, + "name": "Care Coordination", + "id": 1251, + "type": "Category", + "url": null + }, + { + "framework": null, + "skillCount": 1, + "name": "Care Delivery Models", + "id": 208, + "type": "Category", + "url": null + }, + { + "framework": null, + "skillCount": 4, + "name": "Care Delivery Process", + "id": 437, + "type": "Category", + "url": null + }, + { + "framework": null, + "skillCount": 3, + "name": "Care Planning", + "id": 449, + "type": "Category", + "url": null + }, + { + "framework": null, + "skillCount": 1, + "name": "Caring and Consideration", + "id": 1295, + "type": "Category", + "url": null + }, + { + "framework": null, + "skillCount": 8, + "name": "Case Management", + "id": 463, + "type": "Category", + "url": null + }, + { + "framework": null, + "skillCount": 11, + "name": "Change Management", + "id": 468, + "type": "Category", + "url": null + }, + { + "framework": null, + "skillCount": 4, + "name": "Civic Identity", + "id": 1316, + "type": "Category", + "url": null + }, + { + "framework": null, + "skillCount": 1, + "name": "Client Rapport", + "id": 497, + "type": "Category", + "url": null + }, + { + "framework": null, + "skillCount": 5, + "name": "Clinical Evaluation", + "id": 1334, + "type": "Category", + "url": null + }, + { + "framework": null, + "skillCount": 3, + "name": "Clinical Leadership", + "id": 1339, + "type": "Category", + "url": null + }, + { + "framework": null, + "skillCount": 4, + "name": "Clinical Reasoning", + "id": 1347, + "type": "Category", + "url": null + }, + { + "framework": null, + "skillCount": 6, + "name": "Cloud Computing", + "id": 2731, + "type": "Category", + "url": null + }, + { + "framework": null, + "skillCount": 2, + "name": "Cloud Computing Architecture", + "id": 2572, + "type": "Category", + "url": null + }, + { + "framework": null, + "skillCount": 3, + "name": "Cloud Computing Security", + "id": 2682, + "type": "Category", + "url": null + }, + { + "framework": null, + "skillCount": 4, + "name": "Code Review", + "id": 3362, + "type": "Category", + "url": null + }, + { + "framework": null, + "skillCount": 4, + "name": "Collaboration", + "id": 27, + "type": "Category", + "url": null + }, + { + "framework": null, + "skillCount": 5, + "name": "Communications", + "id": 506, + "type": "Category", + "url": null + }, + { + "framework": null, + "skillCount": 1, + "name": "Community Management", + "id": 1359, + "type": "Category", + "url": null + }, + { + "framework": null, + "skillCount": 3, + "name": "Computer Literacy", + "id": 1364, + "type": "Category", + "url": null + }, + { + "framework": null, + "skillCount": 1, + "name": "Computer Programming", + "id": 2564, + "type": "Category", + "url": null + }, + { + "framework": null, + "skillCount": 3, + "name": "Computer Systems", + "id": 2747, + "type": "Category", + "url": null + }, + { + "framework": null, + "skillCount": 6, + "name": "Configuration Management", + "id": 2721, + "type": "Category", + "url": null + }, + { + "framework": null, + "skillCount": 2, + "name": "Conflict Resolution", + "id": 1382, + "type": "Category", + "url": null + }, + { + "framework": null, + "skillCount": 6, + "name": "Consulting", + "id": 3099, + "type": "Category", + "url": null + }, + { + "framework": null, + "skillCount": 1, + "name": "Content Management", + "id": 3596, + "type": "Category", + "url": null + }, + { + "framework": null, + "skillCount": 2, + "name": "Content Marketing", + "id": 3600, + "type": "Category", + "url": null + } +] \ No newline at end of file diff --git a/test/api-test/api/v3/metadata/keywords/post-pre-request.js b/test/api-test/api/v3/metadata/keywords/post-pre-request.js new file mode 100644 index 000000000..1b3cfbe65 --- /dev/null +++ b/test/api-test/api/v3/metadata/keywords/post-pre-request.js @@ -0,0 +1,20 @@ +let create = + { + "framework": "framework1", + "name": "Scrum Methodology", + "type": "Category", + "url": "url1" + } +; + +let body = { + mode: 'raw', + raw: JSON.stringify(create), + options: { + raw: { + language: 'json' + } + } +}; + +pm.request.body.update(body); \ No newline at end of file diff --git a/test/api-test/api/v3/metadata/keywords/post.js b/test/api-test/api/v3/metadata/keywords/post.js new file mode 100644 index 000000000..d47a72614 --- /dev/null +++ b/test/api-test/api/v3/metadata/keywords/post.js @@ -0,0 +1,23 @@ +// let expectedData is injected from .json + +let responseData = pm.response.json(); + +console.log("Check keyword creation"); + +let expected = expectedData; + +pm.test(`Keyword - Check object type`, function () { + pm.expect(responseData.type).to.equal(expected.type); +}); +pm.test(`Keyword - Check name`, function () { + pm.expect(responseData.name).to.equal(expected.name); +}); +pm.test(`Keyword - Check ID exists`, function () { + pm.expect(responseData.id).exists; +}); +pm.test(`Keyword - Check framework`, function () { + pm.expect(responseData.framework).to.equal(expected.framework); +}); +pm.test(`Keyword - Check Url`, function () { + pm.expect(responseData.url).to.equal(expected.url); +}); \ No newline at end of file diff --git a/test/api-test/api/v3/metadata/keywords/post.json b/test/api-test/api/v3/metadata/keywords/post.json new file mode 100644 index 000000000..ced167c21 --- /dev/null +++ b/test/api-test/api/v3/metadata/keywords/post.json @@ -0,0 +1,8 @@ +{ + "framework": "framework1", + "skillCount": 0, + "name": "Scrum Methodology", + "id": 4187, + "type": "Category", + "url": "url1" +} \ No newline at end of file diff --git a/test/api-test/api/v3/metadata/keywords/{id}/get.js b/test/api-test/api/v3/metadata/keywords/{id}/get.js new file mode 100644 index 000000000..aa1ac97d5 --- /dev/null +++ b/test/api-test/api/v3/metadata/keywords/{id}/get.js @@ -0,0 +1,24 @@ +// let expectedData is injected from .json + +let responseData = pm.response.json(); + +console.log("Check a keyword retrieval"); + +pm.test("Check type", function () { + pm.expect(responseData.type).to.equal(expectedData.type); +}); +pm.test("Check name", function () { + pm.expect(responseData.name).exists; +}); +pm.test("Check framework", function () { + pm.expect(responseData.framework).exists; +}); +pm.test("Check url", function () { + pm.expect(responseData.url).exists; +}); +pm.test("Check skillCount", function () { + pm.expect(responseData.skillCount).exists; +}); +pm.test("Check ID", function () { + pm.expect(responseData.id).exists; +}); diff --git a/test/api-test/api/v3/metadata/keywords/{id}/get.json b/test/api-test/api/v3/metadata/keywords/{id}/get.json new file mode 100644 index 000000000..e6ce8a578 --- /dev/null +++ b/test/api-test/api/v3/metadata/keywords/{id}/get.json @@ -0,0 +1,8 @@ +{ + "framework": "Lightcast Open Skills Library", + "skillCount": 1, + "name": "Virtual Computing", + "id": 2464, + "type": "Alignment", + "url": "https://skills.emsidata.com/skills/KS441TD6115P4M4G1LFZ" +} \ No newline at end of file diff --git a/test/api-test/api/v3/metadata/keywords/{id}/pre-request.js b/test/api-test/api/v3/metadata/keywords/{id}/pre-request.js new file mode 100644 index 000000000..94075d81e --- /dev/null +++ b/test/api-test/api/v3/metadata/keywords/{id}/pre-request.js @@ -0,0 +1,2 @@ +let id = pm.request.url.variables.indexOf('id'); +pm.request.url.variables.idx(id).value = "2464"; \ No newline at end of file diff --git a/test/api-test/api/v3/metadata/keywords/{id}/remove/delete-pre-request.js b/test/api-test/api/v3/metadata/keywords/{id}/remove/delete-pre-request.js new file mode 100644 index 000000000..94075d81e --- /dev/null +++ b/test/api-test/api/v3/metadata/keywords/{id}/remove/delete-pre-request.js @@ -0,0 +1,2 @@ +let id = pm.request.url.variables.indexOf('id'); +pm.request.url.variables.idx(id).value = "2464"; \ No newline at end of file diff --git a/test/api-test/api/v3/metadata/keywords/{id}/remove/delete.js b/test/api-test/api/v3/metadata/keywords/{id}/remove/delete.js new file mode 100644 index 000000000..74e9546dd --- /dev/null +++ b/test/api-test/api/v3/metadata/keywords/{id}/remove/delete.js @@ -0,0 +1,16 @@ +// let expectedData is injected from .json + +let responseData = pm.response.json(); +console.log("Check keyword deletion task submission"); +pm.test("Check task UUID created", function () { + pm.expect(responseData.uuid).exists; +}); +pm.test("Check task status", function () { + pm.expect(responseData.status).to.equal(expectedData.status); +}); +pm.test("Check task output content type", function () { + pm.expect(responseData['content-type']).to.equal(expectedData['content-type']); +}); +pm.test("Check result endpoint provided", function () { + pm.expect(responseData.id).exists; +}); \ No newline at end of file diff --git a/test/api-test/api/v3/metadata/keywords/{id}/remove/delete.json b/test/api-test/api/v3/metadata/keywords/{id}/remove/delete.json new file mode 100644 index 000000000..fbd7c04d3 --- /dev/null +++ b/test/api-test/api/v3/metadata/keywords/{id}/remove/delete.json @@ -0,0 +1,6 @@ +{ + "uuid": "5cb6ddb9-2e8a-4056-8719-ac564797b483", + "status": "Processing", + "content-type": "application/json", + "id": "/api/results/batch/5cb6ddb9-2e8a-4056-8719-ac564797b483" +} \ No newline at end of file diff --git a/test/api-test/api/v3/metadata/keywords/{id}/update/post-pre-request.js b/test/api-test/api/v3/metadata/keywords/{id}/update/post-pre-request.js new file mode 100644 index 000000000..a2f190b6d --- /dev/null +++ b/test/api-test/api/v3/metadata/keywords/{id}/update/post-pre-request.js @@ -0,0 +1,18 @@ +let updates = { + "framework": "framework1", + "name": "Virtual Computing", + "type": "Alignment", + "url": "https://skills.emsidata.com/skills/KS441TD6115P4M4G1LFZ" +}; + +let body = { + mode: 'raw', + raw: JSON.stringify(updates), + options: { + raw: { + language: 'json' + } + } +}; + +pm.request.body.update(body); \ No newline at end of file diff --git a/test/api-test/api/v3/metadata/keywords/{id}/update/post.js b/test/api-test/api/v3/metadata/keywords/{id}/update/post.js new file mode 100644 index 000000000..3e4700ec9 --- /dev/null +++ b/test/api-test/api/v3/metadata/keywords/{id}/update/post.js @@ -0,0 +1,22 @@ +// let expectedData is injected from .json + +let responseData = pm.response.json(); +console.log("Check updated keyword"); + +pm.test("Check id match", function() { + pm.expect(responseData.id).to.equal(expectedData.id); +}); +pm.test("Check name match", function() { + pm.expect(responseData.name).to.equal(expectedData.name); +}); +pm.test("Check framework match", function() { + pm.expect(responseData.framework).to.equal(expectedData.framework); +}); +pm.test("Check url match", function() { + pm.expect(responseData.url).to.equal(expectedData.url); +}); +pm.test("Check type match", function() { + pm.expect(responseData.type).to.equal(expectedData.type); +}); + + diff --git a/test/api-test/api/v3/metadata/keywords/{id}/update/post.json b/test/api-test/api/v3/metadata/keywords/{id}/update/post.json new file mode 100644 index 000000000..b118abbf6 --- /dev/null +++ b/test/api-test/api/v3/metadata/keywords/{id}/update/post.json @@ -0,0 +1,8 @@ +{ + "framework": "framework1", + "skillCount": 1, + "name": "Virtual Computing", + "id": 2464, + "type": "Alignment", + "url": "https://skills.emsidata.com/skills/KS441TD6115P4M4G1LFZ" +} \ No newline at end of file From 41578706a4bd19748c85fbf288e7be179847c6ef Mon Sep 17 00:00:00 2001 From: manuel-delvillar <68391066+manuel-delvillar@users.noreply.github.com> Date: Thu, 6 Jul 2023 09:24:41 -0600 Subject: [PATCH 08/20] Add versioning - Add version to JobCodeController & KeywordController. - Update RoutePaths --- .../main/kotlin/edu/wgu/osmt/RoutePaths.kt | 9 ++------ .../edu/wgu/osmt/jobcode/JobCodeController.kt | 22 ++++++++++++++----- .../edu/wgu/osmt/keyword/KeywordController.kt | 22 ++++++++++++++----- 3 files changed, 36 insertions(+), 17 deletions(-) diff --git a/api/src/main/kotlin/edu/wgu/osmt/RoutePaths.kt b/api/src/main/kotlin/edu/wgu/osmt/RoutePaths.kt index eb5e4a76a..981d3dde1 100644 --- a/api/src/main/kotlin/edu/wgu/osmt/RoutePaths.kt +++ b/api/src/main/kotlin/edu/wgu/osmt/RoutePaths.kt @@ -36,12 +36,8 @@ object RoutePaths { const val SKILL_UPDATE = "$SKILL_DETAIL/update" const val SKILL_AUDIT_LOG = "$SKILL_DETAIL/log" - //categories - private const val CATEGORY_PATH = "/categories" - const val CATEGORY_LIST = CATEGORY_PATH - const val CATEGORY_DETAIL = "$CATEGORY_PATH/{identifier}" - const val CATEGORY_SKILLS = "$CATEGORY_DETAIL/skills" - const val KEYWORD_PATH = "$API/metadata/keywords" + const val METADATA_PATH = "/metadata" + const val KEYWORD_PATH = "${METADATA_PATH}/keywords" const val KEYWORD_LIST = KEYWORD_PATH const val KEYWORD_CREATE = KEYWORD_PATH const val KEYWORD_DETAIL = "$KEYWORD_PATH/{id}" @@ -77,7 +73,6 @@ object RoutePaths { const val ES_ADMIN_DELETE_INDICES = "$ES_ADMIN/delete-indices" const val ES_ADMIN_REINDEX = "$ES_ADMIN/reindex" - const val METADATA_PATH = "$API/metadata" const val JOB_CODE_PATH = "$METADATA_PATH/jobcodes" const val JOB_CODE_CREATE = JOB_CODE_PATH const val JOB_CODE_LIST = JOB_CODE_PATH diff --git a/api/src/main/kotlin/edu/wgu/osmt/jobcode/JobCodeController.kt b/api/src/main/kotlin/edu/wgu/osmt/jobcode/JobCodeController.kt index fab701db5..6bd4fb621 100644 --- a/api/src/main/kotlin/edu/wgu/osmt/jobcode/JobCodeController.kt +++ b/api/src/main/kotlin/edu/wgu/osmt/jobcode/JobCodeController.kt @@ -35,7 +35,10 @@ class JobCodeController @Autowired constructor( val taskMessageService: TaskMessageService, ) { - @GetMapping(RoutePaths.JOB_CODE_LIST, produces = [MediaType.APPLICATION_JSON_VALUE]) + @GetMapping( + path = ["${RoutePaths.API}${RoutePaths.API_V3}${RoutePaths.JOB_CODE_LIST}"], + produces = [MediaType.APPLICATION_JSON_VALUE] + ) @PreAuthorize("isAuthenticated()") fun allPaginated( @RequestParam(required = true) size: Int, @@ -70,7 +73,10 @@ class JobCodeController @Autowired constructor( }.toList()) } - @GetMapping(RoutePaths.JOB_CODE_DETAIL, produces = [MediaType.APPLICATION_JSON_VALUE]) + @GetMapping( + path = ["${RoutePaths.API}${RoutePaths.API_V3}${RoutePaths.JOB_CODE_DETAIL}"], + produces = [MediaType.APPLICATION_JSON_VALUE] + ) @PreAuthorize("isAuthenticated()") fun byId( @PathVariable id: Long, @@ -83,7 +89,10 @@ class JobCodeController @Autowired constructor( } } - @PostMapping(RoutePaths.JOB_CODE_CREATE, produces = [MediaType.APPLICATION_JSON_VALUE]) + @PostMapping( + path = ["${RoutePaths.API}${RoutePaths.API_V3}${RoutePaths.JOB_CODE_CREATE}"], + produces = [MediaType.APPLICATION_JSON_VALUE] + ) @PreAuthorize("hasAuthority(@appConfig.roleAdmin)") fun createJobCode( @RequestBody jobCodes: List @@ -92,7 +101,10 @@ class JobCodeController @Autowired constructor( return ResponseEntity.status(200).body(newJobCodes.map { ApiJobCode.fromJobCode(it.toModel()) }.toList()) } - @PostMapping(RoutePaths.JOB_CODE_UPDATE, produces = [MediaType.APPLICATION_JSON_VALUE]) + @PostMapping( + path = ["${RoutePaths.API}${RoutePaths.API_V3}${RoutePaths.JOB_CODE_UPDATE}"], + produces = [MediaType.APPLICATION_JSON_VALUE] + ) @PreAuthorize("hasAuthority(@appConfig.roleAdmin)") fun updateJobCode( @PathVariable id: Int, @@ -110,7 +122,7 @@ class JobCodeController @Autowired constructor( ) } - @DeleteMapping(RoutePaths.JOB_CODE_REMOVE) + @DeleteMapping(path = ["${RoutePaths.API}${RoutePaths.API_V3}${RoutePaths.JOB_CODE_REMOVE}"]) @PreAuthorize("hasAuthority(@appConfig.roleAdmin)") fun deleteJobCode( @PathVariable id: Int, diff --git a/api/src/main/kotlin/edu/wgu/osmt/keyword/KeywordController.kt b/api/src/main/kotlin/edu/wgu/osmt/keyword/KeywordController.kt index afdd15108..e1fdd671d 100644 --- a/api/src/main/kotlin/edu/wgu/osmt/keyword/KeywordController.kt +++ b/api/src/main/kotlin/edu/wgu/osmt/keyword/KeywordController.kt @@ -43,7 +43,10 @@ class KeywordController @Autowired constructor( val appConfig: AppConfig, ) { - @GetMapping(RoutePaths.KEYWORD_LIST, produces = [MediaType.APPLICATION_JSON_VALUE]) + @GetMapping( + path = ["${RoutePaths.API}${RoutePaths.API_V3}${RoutePaths.KEYWORD_LIST}"], + produces = [MediaType.APPLICATION_JSON_VALUE] + ) @ResponseBody fun allPaginated( uriComponentsBuilder: UriComponentsBuilder, @@ -65,7 +68,10 @@ class KeywordController @Autowired constructor( .body(searchResults.map { ApiKeyword.fromModel(it.content) }.toList()) } - @GetMapping(RoutePaths.KEYWORD_DETAIL, produces = [MediaType.APPLICATION_JSON_VALUE]) + @GetMapping( + path = ["${RoutePaths.API}${RoutePaths.API_V3}${RoutePaths.KEYWORD_DETAIL}"], + produces = [MediaType.APPLICATION_JSON_VALUE] + ) @ResponseBody fun keywordById( @PathVariable id: Long, @@ -76,7 +82,10 @@ class KeywordController @Autowired constructor( .body(this.byId(id) ?: throw ResponseStatusException(HttpStatus.NOT_FOUND)) } - @PostMapping(RoutePaths.KEYWORD_CREATE, produces = [MediaType.APPLICATION_JSON_VALUE]) + @PostMapping( + path = ["${RoutePaths.API}${RoutePaths.API_V3}${RoutePaths.KEYWORD_CREATE}"], + produces = [MediaType.APPLICATION_JSON_VALUE] + ) @ResponseBody @PreAuthorize("hasAuthority(@appConfig.roleAdmin)") fun createKeyword( @@ -89,7 +98,10 @@ class KeywordController @Autowired constructor( .body(keywordRepository.createFromApi(apiKeywordUpdate)?.let { ApiKeyword(it.toModel(), it.skills.count()) }) } - @PostMapping(RoutePaths.KEYWORD_UPDATE, produces = [MediaType.APPLICATION_JSON_VALUE]) + @PostMapping( + path = ["${RoutePaths.API}${RoutePaths.API_V3}${RoutePaths.KEYWORD_UPDATE}"], + produces = [MediaType.APPLICATION_JSON_VALUE] + ) @PreAuthorize("hasAuthority(@appConfig.roleAdmin)") fun updateKeyword( @PathVariable id: Long, @@ -107,7 +119,7 @@ class KeywordController @Autowired constructor( ) } - @DeleteMapping(RoutePaths.KEYWORD_REMOVE) + @DeleteMapping(path = ["${RoutePaths.API}${RoutePaths.API_V3}${RoutePaths.KEYWORD_REMOVE}"]) @PreAuthorize("hasAuthority(@appConfig.roleAdmin)") fun deleteKeyword( @PathVariable id: Long, From 7bfa146b4256c0fcbb8326dc91d3803b11bcc0f7 Mon Sep 17 00:00:00 2001 From: manuel-delvillar <68391066+manuel-delvillar@users.noreply.github.com> Date: Thu, 6 Jul 2023 10:10:24 -0600 Subject: [PATCH 09/20] Remove unused files - Remove files in api-test that are not used. --- .../api/metadata/jobcodes/get-pre-request.js | 22 - test/api-test/api/metadata/jobcodes/get.js | 37 - test/api-test/api/metadata/jobcodes/get.json | 1582 ----------------- .../api/metadata/jobcodes/post-pre-request.js | 19 - test/api-test/api/metadata/jobcodes/post.js | 34 - test/api-test/api/metadata/jobcodes/post.json | 9 - .../api/metadata/jobcodes/{id}/get.js | 21 - .../api/metadata/jobcodes/{id}/get.json | 7 - .../api/metadata/jobcodes/{id}/pre-request.js | 2 - .../{id}/remove/delete-pre-request.js | 2 - .../metadata/jobcodes/{id}/remove/delete.js | 16 - .../metadata/jobcodes/{id}/remove/delete.json | 6 - .../jobcodes/{id}/update/post-pre-request.js | 17 - .../api/metadata/jobcodes/{id}/update/post.js | 21 - .../metadata/jobcodes/{id}/update/post.json | 7 - .../api/metadata/keywords/get-pre-request.js | 25 - test/api-test/api/metadata/keywords/get.js | 24 - test/api-test/api/metadata/keywords/get.json | 402 ----- .../api/metadata/keywords/post-pre-request.js | 20 - test/api-test/api/metadata/keywords/post.js | 23 - test/api-test/api/metadata/keywords/post.json | 8 - .../api/metadata/keywords/{id}/get.js | 24 - .../api/metadata/keywords/{id}/get.json | 8 - .../api/metadata/keywords/{id}/pre-request.js | 2 - .../{id}/remove/delete-pre-request.js | 2 - .../metadata/keywords/{id}/remove/delete.js | 16 - .../metadata/keywords/{id}/remove/delete.json | 6 - .../keywords/{id}/update/post-pre-request.js | 18 - .../api/metadata/keywords/{id}/update/post.js | 22 - .../metadata/keywords/{id}/update/post.json | 8 - 30 files changed, 2410 deletions(-) delete mode 100644 test/api-test/api/metadata/jobcodes/get-pre-request.js delete mode 100644 test/api-test/api/metadata/jobcodes/get.js delete mode 100644 test/api-test/api/metadata/jobcodes/get.json delete mode 100644 test/api-test/api/metadata/jobcodes/post-pre-request.js delete mode 100644 test/api-test/api/metadata/jobcodes/post.js delete mode 100644 test/api-test/api/metadata/jobcodes/post.json delete mode 100644 test/api-test/api/metadata/jobcodes/{id}/get.js delete mode 100644 test/api-test/api/metadata/jobcodes/{id}/get.json delete mode 100644 test/api-test/api/metadata/jobcodes/{id}/pre-request.js delete mode 100644 test/api-test/api/metadata/jobcodes/{id}/remove/delete-pre-request.js delete mode 100644 test/api-test/api/metadata/jobcodes/{id}/remove/delete.js delete mode 100644 test/api-test/api/metadata/jobcodes/{id}/remove/delete.json delete mode 100644 test/api-test/api/metadata/jobcodes/{id}/update/post-pre-request.js delete mode 100644 test/api-test/api/metadata/jobcodes/{id}/update/post.js delete mode 100644 test/api-test/api/metadata/jobcodes/{id}/update/post.json delete mode 100644 test/api-test/api/metadata/keywords/get-pre-request.js delete mode 100644 test/api-test/api/metadata/keywords/get.js delete mode 100644 test/api-test/api/metadata/keywords/get.json delete mode 100644 test/api-test/api/metadata/keywords/post-pre-request.js delete mode 100644 test/api-test/api/metadata/keywords/post.js delete mode 100644 test/api-test/api/metadata/keywords/post.json delete mode 100644 test/api-test/api/metadata/keywords/{id}/get.js delete mode 100644 test/api-test/api/metadata/keywords/{id}/get.json delete mode 100644 test/api-test/api/metadata/keywords/{id}/pre-request.js delete mode 100644 test/api-test/api/metadata/keywords/{id}/remove/delete-pre-request.js delete mode 100644 test/api-test/api/metadata/keywords/{id}/remove/delete.js delete mode 100644 test/api-test/api/metadata/keywords/{id}/remove/delete.json delete mode 100644 test/api-test/api/metadata/keywords/{id}/update/post-pre-request.js delete mode 100644 test/api-test/api/metadata/keywords/{id}/update/post.js delete mode 100644 test/api-test/api/metadata/keywords/{id}/update/post.json diff --git a/test/api-test/api/metadata/jobcodes/get-pre-request.js b/test/api-test/api/metadata/jobcodes/get-pre-request.js deleted file mode 100644 index 53f5ae529..000000000 --- a/test/api-test/api/metadata/jobcodes/get-pre-request.js +++ /dev/null @@ -1,22 +0,0 @@ -let sizeId = pm.request.url.query.indexOf('size'); -if (sizeId < 0) { - pm.request.url.query.add("size=50"); -} else { - pm.request.url.query.idx(sizeId).value = "50"; -} - -let fromId = pm.request.url.query.indexOf('from'); -if (fromId < 0) { - pm.request.url.query.add("from=0"); -} else { - pm.request.url.query.idx(fromId).value = "0"; -} - -let sortId = pm.request.url.query.indexOf('sort'); -if (sortId < 0) { - pm.request.url.query.add("sort=name.asc"); -} else { - pm.request.url.query.idx(sortId).value = "name.asc"; -} - -pm.request.url.query.remove('query'); diff --git a/test/api-test/api/metadata/jobcodes/get.js b/test/api-test/api/metadata/jobcodes/get.js deleted file mode 100644 index 0b3d7d47d..000000000 --- a/test/api-test/api/metadata/jobcodes/get.js +++ /dev/null @@ -1,37 +0,0 @@ -// let expectedData is injected from .json - -let responseData = pm.response.json(); - -console.log("Check job codes"); - -pm.test("Check job codes count", function () { - pm.expect(expectedData.length).to.equal(responseData.length); -}); - -for (let jobCodeIndex = 0; jobCodeIndex < expectedData.length; jobCodeIndex++) { - let expectedJobCode = expectedData[0]; - let jobCodeNum = jobCodeIndex + 1; - - let responseJobCode = responseData[jobCodeIndex]; - pm.test(`JobCode ${jobCodeNum} - Check Id exists`, function () { - pm.expect(responseJobCode.id).exists; - }); - pm.test(`JobCode ${jobCodeNum} - Check code`, function () { - pm.expect(responseJobCode.code).exists; - }); - pm.test(`JobCode ${jobCodeNum} - Check targetNodeName`, function () { - pm.expect(responseJobCode.targetNodeName).exists; - }); - pm.test(`JobCode ${jobCodeNum} - Check frameworkName`, function () { - pm.expect(responseJobCode.frameworkName).exists; - }); - pm.test(`JobCode ${jobCodeNum} - Check level`, function () { - pm.expect(responseJobCode.level).exists; - }); - pm.test(`JobCode ${jobCodeNum} - Check jobCodeLevelAsNumber`, function () { - pm.expect(responseJobCode.jobCodeLevelAsNumber).exists; - }); - pm.test(`JobCode ${jobCodeNum} - Check parents`, function () { - pm.expect(responseJobCode.parents).exists; - }); -} \ No newline at end of file diff --git a/test/api-test/api/metadata/jobcodes/get.json b/test/api-test/api/metadata/jobcodes/get.json deleted file mode 100644 index 4c49c8116..000000000 --- a/test/api-test/api/metadata/jobcodes/get.json +++ /dev/null @@ -1,1582 +0,0 @@ -[ - { - "id": 112, - "code": "13-2011", - "targetNodeName": "Accountants and Auditors", - "frameworkName": "bls", - "level": "Detailed", - "parents": [ - { - "id": 111, - "code": "13-2010", - "targetNodeName": "Accountants and Auditors", - "frameworkName": "bls", - "level": "Broad", - "jobCodeLevelAsNumber": 3 - }, - { - "id": 110, - "code": "13-2000", - "targetNodeName": "Financial Specialists", - "frameworkName": "bls", - "level": "Minor", - "jobCodeLevelAsNumber": 2 - }, - { - "id": 74, - "code": "13-0000", - "targetNodeName": "Business and Financial Operations Occupations", - "frameworkName": "bls", - "level": "Major", - "jobCodeLevelAsNumber": 1 - } - ], - "jobCodeLevelAsNumber": 4 - }, - { - "id": 111, - "code": "13-2010", - "targetNodeName": "Accountants and Auditors", - "frameworkName": "bls", - "level": "Broad", - "parents": [ - { - "id": 110, - "code": "13-2000", - "targetNodeName": "Financial Specialists", - "frameworkName": "bls", - "level": "Minor", - "jobCodeLevelAsNumber": 2 - }, - { - "id": 74, - "code": "13-0000", - "targetNodeName": "Business and Financial Operations Occupations", - "frameworkName": "bls", - "level": "Major", - "jobCodeLevelAsNumber": 1 - } - ], - "jobCodeLevelAsNumber": 3 - }, - { - "id": 1540, - "code": "13-2011.00", - "targetNodeName": "Accountants and Auditors", - "frameworkName": "o*net", - "level": "Detailed", - "parents": [ - { - "id": 111, - "code": "13-2010", - "targetNodeName": "Accountants and Auditors", - "frameworkName": "bls", - "level": "Broad", - "jobCodeLevelAsNumber": 3 - }, - { - "id": 110, - "code": "13-2000", - "targetNodeName": "Financial Specialists", - "frameworkName": "bls", - "level": "Minor", - "jobCodeLevelAsNumber": 2 - }, - { - "id": 74, - "code": "13-0000", - "targetNodeName": "Business and Financial Operations Occupations", - "frameworkName": "bls", - "level": "Major", - "jobCodeLevelAsNumber": 1 - } - ], - "jobCodeLevelAsNumber": 4 - }, - { - "id": 472, - "code": "27-2011", - "targetNodeName": "Actors", - "frameworkName": "bls", - "level": "Detailed", - "parents": [ - { - "id": 471, - "code": "27-2010", - "targetNodeName": "Actors, Producers, and Directors", - "frameworkName": "bls", - "level": "Broad", - "jobCodeLevelAsNumber": 3 - }, - { - "id": 470, - "code": "27-2000", - "targetNodeName": "Entertainers and Performers, Sports and Related Workers", - "frameworkName": "bls", - "level": "Minor", - "jobCodeLevelAsNumber": 2 - }, - { - "id": 453, - "code": "27-0000", - "targetNodeName": "Arts, Design, Entertainment, Sports, and Media Occupations", - "frameworkName": "bls", - "level": "Major", - "jobCodeLevelAsNumber": 1 - } - ], - "jobCodeLevelAsNumber": 4 - }, - { - "id": 1827, - "code": "27-2011.00", - "targetNodeName": "Actors", - "frameworkName": "o*net", - "level": "Detailed", - "parents": [ - { - "id": 471, - "code": "27-2010", - "targetNodeName": "Actors, Producers, and Directors", - "frameworkName": "bls", - "level": "Broad", - "jobCodeLevelAsNumber": 3 - }, - { - "id": 470, - "code": "27-2000", - "targetNodeName": "Entertainers and Performers, Sports and Related Workers", - "frameworkName": "bls", - "level": "Minor", - "jobCodeLevelAsNumber": 2 - }, - { - "id": 453, - "code": "27-0000", - "targetNodeName": "Arts, Design, Entertainment, Sports, and Media Occupations", - "frameworkName": "bls", - "level": "Major", - "jobCodeLevelAsNumber": 1 - } - ], - "jobCodeLevelAsNumber": 4 - }, - { - "id": 471, - "code": "27-2010", - "targetNodeName": "Actors, Producers, and Directors", - "frameworkName": "bls", - "level": "Broad", - "parents": [ - { - "id": 470, - "code": "27-2000", - "targetNodeName": "Entertainers and Performers, Sports and Related Workers", - "frameworkName": "bls", - "level": "Minor", - "jobCodeLevelAsNumber": 2 - }, - { - "id": 453, - "code": "27-0000", - "targetNodeName": "Arts, Design, Entertainment, Sports, and Media Occupations", - "frameworkName": "bls", - "level": "Major", - "jobCodeLevelAsNumber": 1 - } - ], - "jobCodeLevelAsNumber": 3 - }, - { - "id": 160, - "code": "15-2011", - "targetNodeName": "Actuaries", - "frameworkName": "bls", - "level": "Detailed", - "parents": [ - { - "id": 159, - "code": "15-2010", - "targetNodeName": "Actuaries", - "frameworkName": "bls", - "level": "Broad", - "jobCodeLevelAsNumber": 3 - }, - { - "id": 158, - "code": "15-2000", - "targetNodeName": "Mathematical Science Occupations", - "frameworkName": "bls", - "level": "Minor", - "jobCodeLevelAsNumber": 2 - }, - { - "id": 135, - "code": "15-0000", - "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls", - "level": "Major", - "jobCodeLevelAsNumber": 1 - } - ], - "jobCodeLevelAsNumber": 4 - }, - { - "id": 159, - "code": "15-2010", - "targetNodeName": "Actuaries", - "frameworkName": "bls", - "level": "Broad", - "parents": [ - { - "id": 158, - "code": "15-2000", - "targetNodeName": "Mathematical Science Occupations", - "frameworkName": "bls", - "level": "Minor", - "jobCodeLevelAsNumber": 2 - }, - { - "id": 135, - "code": "15-0000", - "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls", - "level": "Major", - "jobCodeLevelAsNumber": 1 - } - ], - "jobCodeLevelAsNumber": 3 - }, - { - "id": 1585, - "code": "15-2011.00", - "targetNodeName": "Actuaries", - "frameworkName": "o*net", - "level": "Detailed", - "parents": [ - { - "id": 159, - "code": "15-2010", - "targetNodeName": "Actuaries", - "frameworkName": "bls", - "level": "Broad", - "jobCodeLevelAsNumber": 3 - }, - { - "id": 158, - "code": "15-2000", - "targetNodeName": "Mathematical Science Occupations", - "frameworkName": "bls", - "level": "Minor", - "jobCodeLevelAsNumber": 2 - }, - { - "id": 135, - "code": "15-0000", - "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls", - "level": "Major", - "jobCodeLevelAsNumber": 1 - } - ], - "jobCodeLevelAsNumber": 4 - }, - { - "id": 576, - "code": "29-1291", - "targetNodeName": "Acupuncturists", - "frameworkName": "bls", - "level": "Detailed", - "parents": [ - { - "id": 575, - "code": "29-1290", - "targetNodeName": "Miscellaneous Healthcare Diagnosing or Treating Practitioners", - "frameworkName": "bls", - "level": "Broad", - "jobCodeLevelAsNumber": 3 - }, - { - "id": 516, - "code": "29-1000", - "targetNodeName": "Healthcare Diagnosing or Treating Practitioners", - "frameworkName": "bls", - "level": "Minor", - "jobCodeLevelAsNumber": 2 - }, - { - "id": 515, - "code": "29-0000", - "targetNodeName": "Healthcare Practitioners and Technical Occupations", - "frameworkName": "bls", - "level": "Major", - "jobCodeLevelAsNumber": 1 - } - ], - "jobCodeLevelAsNumber": 4 - }, - { - "id": 1915, - "code": "29-1291.00", - "targetNodeName": "Acupuncturists", - "frameworkName": "o*net", - "level": "Detailed", - "parents": [ - { - "id": 575, - "code": "29-1290", - "targetNodeName": "Miscellaneous Healthcare Diagnosing or Treating Practitioners", - "frameworkName": "bls", - "level": "Broad", - "jobCodeLevelAsNumber": 3 - }, - { - "id": 516, - "code": "29-1000", - "targetNodeName": "Healthcare Diagnosing or Treating Practitioners", - "frameworkName": "bls", - "level": "Minor", - "jobCodeLevelAsNumber": 2 - }, - { - "id": 515, - "code": "29-0000", - "targetNodeName": "Healthcare Practitioners and Technical Occupations", - "frameworkName": "bls", - "level": "Major", - "jobCodeLevelAsNumber": 1 - } - ], - "jobCodeLevelAsNumber": 4 - }, - { - "id": 1884, - "code": "29-1141.01", - "targetNodeName": "Acute Care Nurses", - "frameworkName": "o*net", - "level": "Detailed", - "parents": [ - { - "id": 546, - "code": "29-1140", - "targetNodeName": "Registered Nurses", - "frameworkName": "bls", - "level": "Broad", - "jobCodeLevelAsNumber": 3 - }, - { - "id": 516, - "code": "29-1000", - "targetNodeName": "Healthcare Diagnosing or Treating Practitioners", - "frameworkName": "bls", - "level": "Minor", - "jobCodeLevelAsNumber": 2 - }, - { - "id": 515, - "code": "29-0000", - "targetNodeName": "Healthcare Practitioners and Technical Occupations", - "frameworkName": "bls", - "level": "Major", - "jobCodeLevelAsNumber": 1 - } - ], - "jobCodeLevelAsNumber": 4 - }, - { - "id": 1796, - "code": "25-2059.01", - "targetNodeName": "Adapted Physical Education Specialists", - "frameworkName": "o*net", - "level": "Detailed", - "parents": [ - { - "id": 414, - "code": "25-2050", - "targetNodeName": "Special Education Teachers", - "frameworkName": "bls", - "level": "Broad", - "jobCodeLevelAsNumber": 3 - }, - { - "id": 403, - "code": "25-2000", - "targetNodeName": "Preschool, Elementary, Middle, Secondary, and Special Education Teachers", - "frameworkName": "bls", - "level": "Minor", - "jobCodeLevelAsNumber": 2 - }, - { - "id": 353, - "code": "25-0000", - "targetNodeName": "Educational Instruction and Library Occupations", - "frameworkName": "bls", - "level": "Major", - "jobCodeLevelAsNumber": 1 - } - ], - "jobCodeLevelAsNumber": 4 - }, - { - "id": 1319, - "code": "51-9191", - "targetNodeName": "Adhesive Bonding Machine Operators and Tenders", - "frameworkName": "bls", - "level": "Detailed", - "parents": [ - { - "id": 1318, - "code": "51-9190", - "targetNodeName": "Miscellaneous Production Workers", - "frameworkName": "bls", - "level": "Broad", - "jobCodeLevelAsNumber": 3 - }, - { - "id": 1283, - "code": "51-9000", - "targetNodeName": "Other Production Occupations", - "frameworkName": "bls", - "level": "Minor", - "jobCodeLevelAsNumber": 2 - }, - { - "id": 1159, - "code": "51-0000", - "targetNodeName": "Production Occupations", - "frameworkName": "bls", - "level": "Major", - "jobCodeLevelAsNumber": 1 - } - ], - "jobCodeLevelAsNumber": 4 - }, - { - "id": 2376, - "code": "51-9191.00", - "targetNodeName": "Adhesive Bonding Machine Operators and Tenders", - "frameworkName": "o*net", - "level": "Detailed", - "parents": [ - { - "id": 1318, - "code": "51-9190", - "targetNodeName": "Miscellaneous Production Workers", - "frameworkName": "bls", - "level": "Broad", - "jobCodeLevelAsNumber": 3 - }, - { - "id": 1283, - "code": "51-9000", - "targetNodeName": "Other Production Occupations", - "frameworkName": "bls", - "level": "Minor", - "jobCodeLevelAsNumber": 2 - }, - { - "id": 1159, - "code": "51-0000", - "targetNodeName": "Production Occupations", - "frameworkName": "bls", - "level": "Major", - "jobCodeLevelAsNumber": 1 - } - ], - "jobCodeLevelAsNumber": 4 - }, - { - "id": 344, - "code": "23-1021", - "targetNodeName": "Administrative Law Judges, Adjudicators, and Hearing Officers", - "frameworkName": "bls", - "level": "Detailed", - "parents": [ - { - "id": 343, - "code": "23-1020", - "targetNodeName": "Judges, Magistrates, and Other Judicial Workers", - "frameworkName": "bls", - "level": "Broad", - "jobCodeLevelAsNumber": 3 - }, - { - "id": 339, - "code": "23-1000", - "targetNodeName": "Lawyers, Judges, and Related Workers", - "frameworkName": "bls", - "level": "Minor", - "jobCodeLevelAsNumber": 2 - }, - { - "id": 338, - "code": "23-0000", - "targetNodeName": "Legal Occupations", - "frameworkName": "bls", - "level": "Major", - "jobCodeLevelAsNumber": 1 - } - ], - "jobCodeLevelAsNumber": 4 - }, - { - "id": 1740, - "code": "23-1021.00", - "targetNodeName": "Administrative Law Judges, Adjudicators, and Hearing Officers", - "frameworkName": "o*net", - "level": "Detailed", - "parents": [ - { - "id": 343, - "code": "23-1020", - "targetNodeName": "Judges, Magistrates, and Other Judicial Workers", - "frameworkName": "bls", - "level": "Broad", - "jobCodeLevelAsNumber": 3 - }, - { - "id": 339, - "code": "23-1000", - "targetNodeName": "Lawyers, Judges, and Related Workers", - "frameworkName": "bls", - "level": "Minor", - "jobCodeLevelAsNumber": 2 - }, - { - "id": 338, - "code": "23-0000", - "targetNodeName": "Legal Occupations", - "frameworkName": "bls", - "level": "Major", - "jobCodeLevelAsNumber": 1 - } - ], - "jobCodeLevelAsNumber": 4 - }, - { - "id": 19, - "code": "11-3010", - "targetNodeName": "Administrative Services and Facilities Managers", - "frameworkName": "bls", - "level": "Broad", - "parents": [ - { - "id": 18, - "code": "11-3000", - "targetNodeName": "Operations Specialties Managers", - "frameworkName": "bls", - "level": "Minor", - "jobCodeLevelAsNumber": 2 - }, - { - "id": 1, - "code": "11-0000", - "targetNodeName": "Management Occupations", - "frameworkName": "bls", - "level": "Major", - "jobCodeLevelAsNumber": 1 - } - ], - "jobCodeLevelAsNumber": 3 - }, - { - "id": 20, - "code": "11-3012", - "targetNodeName": "Administrative Services Managers", - "frameworkName": "bls", - "level": "Detailed", - "parents": [ - { - "id": 19, - "code": "11-3010", - "targetNodeName": "Administrative Services and Facilities Managers", - "frameworkName": "bls", - "level": "Broad", - "jobCodeLevelAsNumber": 3 - }, - { - "id": 18, - "code": "11-3000", - "targetNodeName": "Operations Specialties Managers", - "frameworkName": "bls", - "level": "Minor", - "jobCodeLevelAsNumber": 2 - }, - { - "id": 1, - "code": "11-0000", - "targetNodeName": "Management Occupations", - "frameworkName": "bls", - "level": "Major", - "jobCodeLevelAsNumber": 1 - } - ], - "jobCodeLevelAsNumber": 4 - }, - { - "id": 1457, - "code": "11-3012.00", - "targetNodeName": "Administrative Services Managers", - "frameworkName": "o*net", - "level": "Detailed", - "parents": [ - { - "id": 19, - "code": "11-3010", - "targetNodeName": "Administrative Services and Facilities Managers", - "frameworkName": "bls", - "level": "Broad", - "jobCodeLevelAsNumber": 3 - }, - { - "id": 18, - "code": "11-3000", - "targetNodeName": "Operations Specialties Managers", - "frameworkName": "bls", - "level": "Minor", - "jobCodeLevelAsNumber": 2 - }, - { - "id": 1, - "code": "11-0000", - "targetNodeName": "Management Occupations", - "frameworkName": "bls", - "level": "Major", - "jobCodeLevelAsNumber": 1 - } - ], - "jobCodeLevelAsNumber": 4 - }, - { - "id": 423, - "code": "25-3011", - "targetNodeName": "Adult Basic Education, Adult Secondary Education, and English as a Second Language Instructors", - "frameworkName": "bls", - "level": "Detailed", - "parents": [ - { - "id": 422, - "code": "25-3010", - "targetNodeName": "Adult Basic Education, Adult Secondary Education, and English as a Second Language Instructors", - "frameworkName": "bls", - "level": "Broad", - "jobCodeLevelAsNumber": 3 - }, - { - "id": 421, - "code": "25-3000", - "targetNodeName": "Other Teachers and Instructors", - "frameworkName": "bls", - "level": "Minor", - "jobCodeLevelAsNumber": 2 - }, - { - "id": 353, - "code": "25-0000", - "targetNodeName": "Educational Instruction and Library Occupations", - "frameworkName": "bls", - "level": "Major", - "jobCodeLevelAsNumber": 1 - } - ], - "jobCodeLevelAsNumber": 4 - }, - { - "id": 422, - "code": "25-3010", - "targetNodeName": "Adult Basic Education, Adult Secondary Education, and English as a Second Language Instructors", - "frameworkName": "bls", - "level": "Broad", - "parents": [ - { - "id": 421, - "code": "25-3000", - "targetNodeName": "Other Teachers and Instructors", - "frameworkName": "bls", - "level": "Minor", - "jobCodeLevelAsNumber": 2 - }, - { - "id": 353, - "code": "25-0000", - "targetNodeName": "Educational Instruction and Library Occupations", - "frameworkName": "bls", - "level": "Major", - "jobCodeLevelAsNumber": 1 - } - ], - "jobCodeLevelAsNumber": 3 - }, - { - "id": 1797, - "code": "25-3011.00", - "targetNodeName": "Adult Basic Education, Adult Secondary Education, and English as a Second Language Instructors", - "frameworkName": "o*net", - "level": "Detailed", - "parents": [ - { - "id": 422, - "code": "25-3010", - "targetNodeName": "Adult Basic Education, Adult Secondary Education, and English as a Second Language Instructors", - "frameworkName": "bls", - "level": "Broad", - "jobCodeLevelAsNumber": 3 - }, - { - "id": 421, - "code": "25-3000", - "targetNodeName": "Other Teachers and Instructors", - "frameworkName": "bls", - "level": "Minor", - "jobCodeLevelAsNumber": 2 - }, - { - "id": 353, - "code": "25-0000", - "targetNodeName": "Educational Instruction and Library Occupations", - "frameworkName": "bls", - "level": "Major", - "jobCodeLevelAsNumber": 1 - } - ], - "jobCodeLevelAsNumber": 4 - }, - { - "id": 1885, - "code": "29-1141.02", - "targetNodeName": "Advanced Practice Psychiatric Nurses", - "frameworkName": "o*net", - "level": "Detailed", - "parents": [ - { - "id": 546, - "code": "29-1140", - "targetNodeName": "Registered Nurses", - "frameworkName": "bls", - "level": "Broad", - "jobCodeLevelAsNumber": 3 - }, - { - "id": 516, - "code": "29-1000", - "targetNodeName": "Healthcare Diagnosing or Treating Practitioners", - "frameworkName": "bls", - "level": "Minor", - "jobCodeLevelAsNumber": 2 - }, - { - "id": 515, - "code": "29-0000", - "targetNodeName": "Healthcare Practitioners and Technical Occupations", - "frameworkName": "bls", - "level": "Major", - "jobCodeLevelAsNumber": 1 - } - ], - "jobCodeLevelAsNumber": 4 - }, - { - "id": 11, - "code": "11-2011", - "targetNodeName": "Advertising and Promotions Managers", - "frameworkName": "bls", - "level": "Detailed", - "parents": [ - { - "id": 10, - "code": "11-2010", - "targetNodeName": "Advertising and Promotions Managers", - "frameworkName": "bls", - "level": "Broad", - "jobCodeLevelAsNumber": 3 - }, - { - "id": 9, - "code": "11-2000", - "targetNodeName": "Advertising, Marketing, Promotions, Public Relations, and Sales Managers", - "frameworkName": "bls", - "level": "Minor", - "jobCodeLevelAsNumber": 2 - }, - { - "id": 1, - "code": "11-0000", - "targetNodeName": "Management Occupations", - "frameworkName": "bls", - "level": "Major", - "jobCodeLevelAsNumber": 1 - } - ], - "jobCodeLevelAsNumber": 4 - }, - { - "id": 10, - "code": "11-2010", - "targetNodeName": "Advertising and Promotions Managers", - "frameworkName": "bls", - "level": "Broad", - "parents": [ - { - "id": 9, - "code": "11-2000", - "targetNodeName": "Advertising, Marketing, Promotions, Public Relations, and Sales Managers", - "frameworkName": "bls", - "level": "Minor", - "jobCodeLevelAsNumber": 2 - }, - { - "id": 1, - "code": "11-0000", - "targetNodeName": "Management Occupations", - "frameworkName": "bls", - "level": "Major", - "jobCodeLevelAsNumber": 1 - } - ], - "jobCodeLevelAsNumber": 3 - }, - { - "id": 1452, - "code": "11-2011.00", - "targetNodeName": "Advertising and Promotions Managers", - "frameworkName": "o*net", - "level": "Detailed", - "parents": [ - { - "id": 10, - "code": "11-2010", - "targetNodeName": "Advertising and Promotions Managers", - "frameworkName": "bls", - "level": "Broad", - "jobCodeLevelAsNumber": 3 - }, - { - "id": 9, - "code": "11-2000", - "targetNodeName": "Advertising, Marketing, Promotions, Public Relations, and Sales Managers", - "frameworkName": "bls", - "level": "Minor", - "jobCodeLevelAsNumber": 2 - }, - { - "id": 1, - "code": "11-0000", - "targetNodeName": "Management Occupations", - "frameworkName": "bls", - "level": "Major", - "jobCodeLevelAsNumber": 1 - } - ], - "jobCodeLevelAsNumber": 4 - }, - { - "id": 817, - "code": "41-3011", - "targetNodeName": "Advertising Sales Agents", - "frameworkName": "bls", - "level": "Detailed", - "parents": [ - { - "id": 816, - "code": "41-3010", - "targetNodeName": "Advertising Sales Agents", - "frameworkName": "bls", - "level": "Broad", - "jobCodeLevelAsNumber": 3 - }, - { - "id": 815, - "code": "41-3000", - "targetNodeName": "Sales Representatives, Services", - "frameworkName": "bls", - "level": "Minor", - "jobCodeLevelAsNumber": 2 - }, - { - "id": 801, - "code": "41-0000", - "targetNodeName": "Sales and Related Occupations", - "frameworkName": "bls", - "level": "Major", - "jobCodeLevelAsNumber": 1 - } - ], - "jobCodeLevelAsNumber": 4 - }, - { - "id": 816, - "code": "41-3010", - "targetNodeName": "Advertising Sales Agents", - "frameworkName": "bls", - "level": "Broad", - "parents": [ - { - "id": 815, - "code": "41-3000", - "targetNodeName": "Sales Representatives, Services", - "frameworkName": "bls", - "level": "Minor", - "jobCodeLevelAsNumber": 2 - }, - { - "id": 801, - "code": "41-0000", - "targetNodeName": "Sales and Related Occupations", - "frameworkName": "bls", - "level": "Major", - "jobCodeLevelAsNumber": 1 - } - ], - "jobCodeLevelAsNumber": 3 - }, - { - "id": 2072, - "code": "41-3011.00", - "targetNodeName": "Advertising Sales Agents", - "frameworkName": "o*net", - "level": "Detailed", - "parents": [ - { - "id": 816, - "code": "41-3010", - "targetNodeName": "Advertising Sales Agents", - "frameworkName": "bls", - "level": "Broad", - "jobCodeLevelAsNumber": 3 - }, - { - "id": 815, - "code": "41-3000", - "targetNodeName": "Sales Representatives, Services", - "frameworkName": "bls", - "level": "Minor", - "jobCodeLevelAsNumber": 2 - }, - { - "id": 801, - "code": "41-0000", - "targetNodeName": "Sales and Related Occupations", - "frameworkName": "bls", - "level": "Major", - "jobCodeLevelAsNumber": 1 - } - ], - "jobCodeLevelAsNumber": 4 - }, - { - "id": 9, - "code": "11-2000", - "targetNodeName": "Advertising, Marketing, Promotions, Public Relations, and Sales Managers", - "frameworkName": "bls", - "level": "Minor", - "parents": [ - { - "id": 1, - "code": "11-0000", - "targetNodeName": "Management Occupations", - "frameworkName": "bls", - "level": "Major", - "jobCodeLevelAsNumber": 1 - } - ], - "jobCodeLevelAsNumber": 2 - }, - { - "id": 221, - "code": "17-3021", - "targetNodeName": "Aerospace Engineering and Operations Technologists and Technicians", - "frameworkName": "bls", - "level": "Detailed", - "parents": [ - { - "id": 220, - "code": "17-3020", - "targetNodeName": "Engineering Technologists and Technicians, Except Drafters", - "frameworkName": "bls", - "level": "Broad", - "jobCodeLevelAsNumber": 3 - }, - { - "id": 214, - "code": "17-3000", - "targetNodeName": "Drafters, Engineering Technicians, and Mapping Technicians", - "frameworkName": "bls", - "level": "Minor", - "jobCodeLevelAsNumber": 2 - }, - { - "id": 171, - "code": "17-0000", - "targetNodeName": "Architecture and Engineering Occupations", - "frameworkName": "bls", - "level": "Major", - "jobCodeLevelAsNumber": 1 - } - ], - "jobCodeLevelAsNumber": 4 - }, - { - "id": 1639, - "code": "17-3021.00", - "targetNodeName": "Aerospace Engineering and Operations Technologists and Technicians", - "frameworkName": "o*net", - "level": "Detailed", - "parents": [ - { - "id": 220, - "code": "17-3020", - "targetNodeName": "Engineering Technologists and Technicians, Except Drafters", - "frameworkName": "bls", - "level": "Broad", - "jobCodeLevelAsNumber": 3 - }, - { - "id": 214, - "code": "17-3000", - "targetNodeName": "Drafters, Engineering Technicians, and Mapping Technicians", - "frameworkName": "bls", - "level": "Minor", - "jobCodeLevelAsNumber": 2 - }, - { - "id": 171, - "code": "17-0000", - "targetNodeName": "Architecture and Engineering Occupations", - "frameworkName": "bls", - "level": "Major", - "jobCodeLevelAsNumber": 1 - } - ], - "jobCodeLevelAsNumber": 4 - }, - { - "id": 181, - "code": "17-2011", - "targetNodeName": "Aerospace Engineers", - "frameworkName": "bls", - "level": "Detailed", - "parents": [ - { - "id": 180, - "code": "17-2010", - "targetNodeName": "Aerospace Engineers", - "frameworkName": "bls", - "level": "Broad", - "jobCodeLevelAsNumber": 3 - }, - { - "id": 179, - "code": "17-2000", - "targetNodeName": "Engineers", - "frameworkName": "bls", - "level": "Minor", - "jobCodeLevelAsNumber": 2 - }, - { - "id": 171, - "code": "17-0000", - "targetNodeName": "Architecture and Engineering Occupations", - "frameworkName": "bls", - "level": "Major", - "jobCodeLevelAsNumber": 1 - } - ], - "jobCodeLevelAsNumber": 4 - }, - { - "id": 180, - "code": "17-2010", - "targetNodeName": "Aerospace Engineers", - "frameworkName": "bls", - "level": "Broad", - "parents": [ - { - "id": 179, - "code": "17-2000", - "targetNodeName": "Engineers", - "frameworkName": "bls", - "level": "Minor", - "jobCodeLevelAsNumber": 2 - }, - { - "id": 171, - "code": "17-0000", - "targetNodeName": "Architecture and Engineering Occupations", - "frameworkName": "bls", - "level": "Major", - "jobCodeLevelAsNumber": 1 - } - ], - "jobCodeLevelAsNumber": 3 - }, - { - "id": 1600, - "code": "17-2011.00", - "targetNodeName": "Aerospace Engineers", - "frameworkName": "o*net", - "level": "Detailed", - "parents": [ - { - "id": 180, - "code": "17-2010", - "targetNodeName": "Aerospace Engineers", - "frameworkName": "bls", - "level": "Broad", - "jobCodeLevelAsNumber": 3 - }, - { - "id": 179, - "code": "17-2000", - "targetNodeName": "Engineers", - "frameworkName": "bls", - "level": "Minor", - "jobCodeLevelAsNumber": 2 - }, - { - "id": 171, - "code": "17-0000", - "targetNodeName": "Architecture and Engineering Occupations", - "frameworkName": "bls", - "level": "Major", - "jobCodeLevelAsNumber": 1 - } - ], - "jobCodeLevelAsNumber": 4 - }, - { - "id": 77, - "code": "13-1011", - "targetNodeName": "Agents and Business Managers of Artists, Performers, and Athletes", - "frameworkName": "bls", - "level": "Detailed", - "parents": [ - { - "id": 76, - "code": "13-1010", - "targetNodeName": "Agents and Business Managers of Artists, Performers, and Athletes", - "frameworkName": "bls", - "level": "Broad", - "jobCodeLevelAsNumber": 3 - }, - { - "id": 75, - "code": "13-1000", - "targetNodeName": "Business Operations Specialists", - "frameworkName": "bls", - "level": "Minor", - "jobCodeLevelAsNumber": 2 - }, - { - "id": 74, - "code": "13-0000", - "targetNodeName": "Business and Financial Operations Occupations", - "frameworkName": "bls", - "level": "Major", - "jobCodeLevelAsNumber": 1 - } - ], - "jobCodeLevelAsNumber": 4 - }, - { - "id": 76, - "code": "13-1010", - "targetNodeName": "Agents and Business Managers of Artists, Performers, and Athletes", - "frameworkName": "bls", - "level": "Broad", - "parents": [ - { - "id": 75, - "code": "13-1000", - "targetNodeName": "Business Operations Specialists", - "frameworkName": "bls", - "level": "Minor", - "jobCodeLevelAsNumber": 2 - }, - { - "id": 74, - "code": "13-0000", - "targetNodeName": "Business and Financial Operations Occupations", - "frameworkName": "bls", - "level": "Major", - "jobCodeLevelAsNumber": 1 - } - ], - "jobCodeLevelAsNumber": 3 - }, - { - "id": 1507, - "code": "13-1011.00", - "targetNodeName": "Agents and Business Managers of Artists, Performers, and Athletes", - "frameworkName": "o*net", - "level": "Detailed", - "parents": [ - { - "id": 76, - "code": "13-1010", - "targetNodeName": "Agents and Business Managers of Artists, Performers, and Athletes", - "frameworkName": "bls", - "level": "Broad", - "jobCodeLevelAsNumber": 3 - }, - { - "id": 75, - "code": "13-1000", - "targetNodeName": "Business Operations Specialists", - "frameworkName": "bls", - "level": "Minor", - "jobCodeLevelAsNumber": 2 - }, - { - "id": 74, - "code": "13-0000", - "targetNodeName": "Business and Financial Operations Occupations", - "frameworkName": "bls", - "level": "Major", - "jobCodeLevelAsNumber": 1 - } - ], - "jobCodeLevelAsNumber": 4 - }, - { - "id": 287, - "code": "19-4010", - "targetNodeName": "Agricultural and Food Science Technicians", - "frameworkName": "bls", - "level": "Broad", - "parents": [ - { - "id": 286, - "code": "19-4000", - "targetNodeName": "Life, Physical, and Social Science Technicians", - "frameworkName": "bls", - "level": "Minor", - "jobCodeLevelAsNumber": 2 - }, - { - "id": 232, - "code": "19-0000", - "targetNodeName": "Life, Physical, and Social Science Occupations", - "frameworkName": "bls", - "level": "Major", - "jobCodeLevelAsNumber": 1 - } - ], - "jobCodeLevelAsNumber": 3 - }, - { - "id": 234, - "code": "19-1010", - "targetNodeName": "Agricultural and Food Scientists", - "frameworkName": "bls", - "level": "Broad", - "parents": [ - { - "id": 233, - "code": "19-1000", - "targetNodeName": "Life Scientists", - "frameworkName": "bls", - "level": "Minor", - "jobCodeLevelAsNumber": 2 - }, - { - "id": 232, - "code": "19-0000", - "targetNodeName": "Life, Physical, and Social Science Occupations", - "frameworkName": "bls", - "level": "Major", - "jobCodeLevelAsNumber": 1 - } - ], - "jobCodeLevelAsNumber": 3 - }, - { - "id": 182, - "code": "17-2020", - "targetNodeName": "Agricultural Engineers", - "frameworkName": "bls", - "level": "Broad", - "parents": [ - { - "id": 179, - "code": "17-2000", - "targetNodeName": "Engineers", - "frameworkName": "bls", - "level": "Minor", - "jobCodeLevelAsNumber": 2 - }, - { - "id": 171, - "code": "17-0000", - "targetNodeName": "Architecture and Engineering Occupations", - "frameworkName": "bls", - "level": "Major", - "jobCodeLevelAsNumber": 1 - } - ], - "jobCodeLevelAsNumber": 3 - }, - { - "id": 183, - "code": "17-2021", - "targetNodeName": "Agricultural Engineers", - "frameworkName": "bls", - "level": "Detailed", - "parents": [ - { - "id": 182, - "code": "17-2020", - "targetNodeName": "Agricultural Engineers", - "frameworkName": "bls", - "level": "Broad", - "jobCodeLevelAsNumber": 3 - }, - { - "id": 179, - "code": "17-2000", - "targetNodeName": "Engineers", - "frameworkName": "bls", - "level": "Minor", - "jobCodeLevelAsNumber": 2 - }, - { - "id": 171, - "code": "17-0000", - "targetNodeName": "Architecture and Engineering Occupations", - "frameworkName": "bls", - "level": "Major", - "jobCodeLevelAsNumber": 1 - } - ], - "jobCodeLevelAsNumber": 4 - }, - { - "id": 1601, - "code": "17-2021.00", - "targetNodeName": "Agricultural Engineers", - "frameworkName": "o*net", - "level": "Detailed", - "parents": [ - { - "id": 182, - "code": "17-2020", - "targetNodeName": "Agricultural Engineers", - "frameworkName": "bls", - "level": "Broad", - "jobCodeLevelAsNumber": 3 - }, - { - "id": 179, - "code": "17-2000", - "targetNodeName": "Engineers", - "frameworkName": "bls", - "level": "Minor", - "jobCodeLevelAsNumber": 2 - }, - { - "id": 171, - "code": "17-0000", - "targetNodeName": "Architecture and Engineering Occupations", - "frameworkName": "bls", - "level": "Major", - "jobCodeLevelAsNumber": 1 - } - ], - "jobCodeLevelAsNumber": 4 - }, - { - "id": 965, - "code": "45-2091", - "targetNodeName": "Agricultural Equipment Operators", - "frameworkName": "bls", - "level": "Detailed", - "parents": [ - { - "id": 964, - "code": "45-2090", - "targetNodeName": "Miscellaneous Agricultural Workers", - "frameworkName": "bls", - "level": "Broad", - "jobCodeLevelAsNumber": 3 - }, - { - "id": 957, - "code": "45-2000", - "targetNodeName": "Agricultural Workers", - "frameworkName": "bls", - "level": "Minor", - "jobCodeLevelAsNumber": 2 - }, - { - "id": 953, - "code": "45-0000", - "targetNodeName": "Farming, Fishing, and Forestry Occupations", - "frameworkName": "bls", - "level": "Major", - "jobCodeLevelAsNumber": 1 - } - ], - "jobCodeLevelAsNumber": 4 - }, - { - "id": 2147, - "code": "45-2091.00", - "targetNodeName": "Agricultural Equipment Operators", - "frameworkName": "o*net", - "level": "Detailed", - "parents": [ - { - "id": 964, - "code": "45-2090", - "targetNodeName": "Miscellaneous Agricultural Workers", - "frameworkName": "bls", - "level": "Broad", - "jobCodeLevelAsNumber": 3 - }, - { - "id": 957, - "code": "45-2000", - "targetNodeName": "Agricultural Workers", - "frameworkName": "bls", - "level": "Minor", - "jobCodeLevelAsNumber": 2 - }, - { - "id": 953, - "code": "45-0000", - "targetNodeName": "Farming, Fishing, and Forestry Occupations", - "frameworkName": "bls", - "level": "Major", - "jobCodeLevelAsNumber": 1 - } - ], - "jobCodeLevelAsNumber": 4 - }, - { - "id": 959, - "code": "45-2011", - "targetNodeName": "Agricultural Inspectors", - "frameworkName": "bls", - "level": "Detailed", - "parents": [ - { - "id": 958, - "code": "45-2010", - "targetNodeName": "Agricultural Inspectors", - "frameworkName": "bls", - "level": "Broad", - "jobCodeLevelAsNumber": 3 - }, - { - "id": 957, - "code": "45-2000", - "targetNodeName": "Agricultural Workers", - "frameworkName": "bls", - "level": "Minor", - "jobCodeLevelAsNumber": 2 - }, - { - "id": 953, - "code": "45-0000", - "targetNodeName": "Farming, Fishing, and Forestry Occupations", - "frameworkName": "bls", - "level": "Major", - "jobCodeLevelAsNumber": 1 - } - ], - "jobCodeLevelAsNumber": 4 - }, - { - "id": 958, - "code": "45-2010", - "targetNodeName": "Agricultural Inspectors", - "frameworkName": "bls", - "level": "Broad", - "parents": [ - { - "id": 957, - "code": "45-2000", - "targetNodeName": "Agricultural Workers", - "frameworkName": "bls", - "level": "Minor", - "jobCodeLevelAsNumber": 2 - }, - { - "id": 953, - "code": "45-0000", - "targetNodeName": "Farming, Fishing, and Forestry Occupations", - "frameworkName": "bls", - "level": "Major", - "jobCodeLevelAsNumber": 1 - } - ], - "jobCodeLevelAsNumber": 3 - }, - { - "id": 2144, - "code": "45-2011.00", - "targetNodeName": "Agricultural Inspectors", - "frameworkName": "o*net", - "level": "Detailed", - "parents": [ - { - "id": 958, - "code": "45-2010", - "targetNodeName": "Agricultural Inspectors", - "frameworkName": "bls", - "level": "Broad", - "jobCodeLevelAsNumber": 3 - }, - { - "id": 957, - "code": "45-2000", - "targetNodeName": "Agricultural Workers", - "frameworkName": "bls", - "level": "Minor", - "jobCodeLevelAsNumber": 2 - }, - { - "id": 953, - "code": "45-0000", - "targetNodeName": "Farming, Fishing, and Forestry Occupations", - "frameworkName": "bls", - "level": "Major", - "jobCodeLevelAsNumber": 1 - } - ], - "jobCodeLevelAsNumber": 4 - }, - { - "id": 364, - "code": "25-1041", - "targetNodeName": "Agricultural Sciences Teachers, Postsecondary", - "frameworkName": "bls", - "level": "Detailed", - "parents": [ - { - "id": 363, - "code": "25-1040", - "targetNodeName": "Life Sciences Teachers, Postsecondary", - "frameworkName": "bls", - "level": "Broad", - "jobCodeLevelAsNumber": 3 - }, - { - "id": 354, - "code": "25-1000", - "targetNodeName": "Postsecondary Teachers", - "frameworkName": "bls", - "level": "Minor", - "jobCodeLevelAsNumber": 2 - }, - { - "id": 353, - "code": "25-0000", - "targetNodeName": "Educational Instruction and Library Occupations", - "frameworkName": "bls", - "level": "Major", - "jobCodeLevelAsNumber": 1 - } - ], - "jobCodeLevelAsNumber": 4 - } -] \ No newline at end of file diff --git a/test/api-test/api/metadata/jobcodes/post-pre-request.js b/test/api-test/api/metadata/jobcodes/post-pre-request.js deleted file mode 100644 index 3dcafe01e..000000000 --- a/test/api-test/api/metadata/jobcodes/post-pre-request.js +++ /dev/null @@ -1,19 +0,0 @@ -let jobCodes = [ - { - "code": "95-1240", - "targetNodeName": "20230622-1519", - "frameworkName": "Framework 20230622-1519" - } -]; - -let body = { - mode: 'raw', - raw: JSON.stringify(jobCodes), - options: { - raw: { - language: 'json' - } - } -}; - -pm.request.body.update(body); \ No newline at end of file diff --git a/test/api-test/api/metadata/jobcodes/post.js b/test/api-test/api/metadata/jobcodes/post.js deleted file mode 100644 index 998306dd4..000000000 --- a/test/api-test/api/metadata/jobcodes/post.js +++ /dev/null @@ -1,34 +0,0 @@ -// let expectedData is injected from .json - -let responseData = pm.response.json(); - -console.log("Check job codes created"); - -pm.test("Check job codes created count", function () { - pm.expect(responseData.length).to.equal(expectedData.length); -}); - -for (let jobCodeIndex = 0; jobCodeIndex < expectedData.length; jobCodeIndex++) { - let expectedJobCode = expectedData[jobCodeIndex]; - let jobCodeNum = jobCodeIndex + 1; - - let responseJobCode = responseData[jobCodeIndex]; - pm.test(`JobCode ${jobCodeNum} - Check Id exists`, function () { - pm.expect(responseJobCode.id).exists; - }); - pm.test(`JobCode ${jobCodeNum} - Check code`, function () { - pm.expect(responseJobCode.code).to.equal(expectedJobCode.code); - }); - pm.test(`JobCode ${jobCodeNum} - Check targetNodeName`, function () { - pm.expect(responseJobCode.targetNodeName).to.equal(expectedJobCode.targetNodeName); - }); - pm.test(`JobCode ${jobCodeNum} - Check frameworkName`, function () { - pm.expect(responseJobCode.frameworkName).to.equal(expectedJobCode.frameworkName); - }); - // pm.test(`JobCode ${jobCodeNum} - Check level`, function () { - // pm.expect(responseJobCode.level).to.equal(expectedJobCode.level); - // }); - pm.test(`JobCode ${jobCodeNum} - Check jobCodeLevelAsNumber`, function () { - pm.expect(responseJobCode.jobCodeLevelAsNumber).to.equal(expectedJobCode.jobCodeLevelAsNumber); - }); -} \ No newline at end of file diff --git a/test/api-test/api/metadata/jobcodes/post.json b/test/api-test/api/metadata/jobcodes/post.json deleted file mode 100644 index ed5f1b789..000000000 --- a/test/api-test/api/metadata/jobcodes/post.json +++ /dev/null @@ -1,9 +0,0 @@ -[ - { - "id": 2520, - "code": "95-1240", - "targetNodeName": "20230622-1519", - "frameworkName": "Framework 20230622-1519", - "jobCodeLevelAsNumber": 3 - } -] \ No newline at end of file diff --git a/test/api-test/api/metadata/jobcodes/{id}/get.js b/test/api-test/api/metadata/jobcodes/{id}/get.js deleted file mode 100644 index bc71386ff..000000000 --- a/test/api-test/api/metadata/jobcodes/{id}/get.js +++ /dev/null @@ -1,21 +0,0 @@ -// let expectedData is injected from .json - -let responseData = pm.response.json(); -console.log("Check job code"); - -pm.test("Check id exists", function() { - pm.expect(responseData.id).exists; -}); -pm.test("Check code exists", function() { - pm.expect(responseData.code).exists; -}); -pm.test("Check targetNodeName exists", function() { - pm.expect(responseData.targetNodeName).exists; -}); -pm.test("Check frameworkName exists", function() { - pm.expect(responseData.frameworkName).exists; -}); -pm.test("Check jobCodeLevelAsNumber exists", function() { - pm.expect(responseData.jobCodeLevelAsNumber).exists; -}); - diff --git a/test/api-test/api/metadata/jobcodes/{id}/get.json b/test/api-test/api/metadata/jobcodes/{id}/get.json deleted file mode 100644 index de138ea7d..000000000 --- a/test/api-test/api/metadata/jobcodes/{id}/get.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "id": 21, - "code": "11-3013", - "targetNodeName": "Facilities Managers", - "frameworkName": "bls", - "jobCodeLevelAsNumber": 4 -} \ No newline at end of file diff --git a/test/api-test/api/metadata/jobcodes/{id}/pre-request.js b/test/api-test/api/metadata/jobcodes/{id}/pre-request.js deleted file mode 100644 index cf6853f1f..000000000 --- a/test/api-test/api/metadata/jobcodes/{id}/pre-request.js +++ /dev/null @@ -1,2 +0,0 @@ -let id = pm.request.url.variables.indexOf('id'); -pm.request.url.variables.idx(id).value = "21"; diff --git a/test/api-test/api/metadata/jobcodes/{id}/remove/delete-pre-request.js b/test/api-test/api/metadata/jobcodes/{id}/remove/delete-pre-request.js deleted file mode 100644 index cf6853f1f..000000000 --- a/test/api-test/api/metadata/jobcodes/{id}/remove/delete-pre-request.js +++ /dev/null @@ -1,2 +0,0 @@ -let id = pm.request.url.variables.indexOf('id'); -pm.request.url.variables.idx(id).value = "21"; diff --git a/test/api-test/api/metadata/jobcodes/{id}/remove/delete.js b/test/api-test/api/metadata/jobcodes/{id}/remove/delete.js deleted file mode 100644 index 0c64d5749..000000000 --- a/test/api-test/api/metadata/jobcodes/{id}/remove/delete.js +++ /dev/null @@ -1,16 +0,0 @@ -// let expectedData is injected from .json - -let responseData = pm.response.json(); -console.log("Check collection deletion task submission"); -pm.test("Check task UUID created", function () { - pm.expect(responseData.uuid).exists; -}); -pm.test("Check task status", function () { - pm.expect(responseData.status).to.equal(expectedData.status); -}); -pm.test("Check task output content type", function () { - pm.expect(responseData['content-type']).to.equal(expectedData['content-type']); -}); -pm.test("Check result endpoint provided", function () { - pm.expect(responseData.id).exists; -}); \ No newline at end of file diff --git a/test/api-test/api/metadata/jobcodes/{id}/remove/delete.json b/test/api-test/api/metadata/jobcodes/{id}/remove/delete.json deleted file mode 100644 index 9ef16dc67..000000000 --- a/test/api-test/api/metadata/jobcodes/{id}/remove/delete.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "uuid": "552b69e2-bb2f-4439-acfb-863a0c3c71cd", - "status": "Processing", - "content-type": "application/json", - "id": "/api/results/batch/552b69e2-bb2f-4439-acfb-863a0c3c71cd" -} \ No newline at end of file diff --git a/test/api-test/api/metadata/jobcodes/{id}/update/post-pre-request.js b/test/api-test/api/metadata/jobcodes/{id}/update/post-pre-request.js deleted file mode 100644 index 97e745e2b..000000000 --- a/test/api-test/api/metadata/jobcodes/{id}/update/post-pre-request.js +++ /dev/null @@ -1,17 +0,0 @@ -let jobCode = { - "code": "11-3013", - "targetNodeName": "Facilities Managers", - "frameworkName": "bls" -}; - -let body = { - mode: 'raw', - raw: JSON.stringify(jobCode), - options: { - raw: { - language: 'json' - } - } -}; - -pm.request.body.update(body); \ No newline at end of file diff --git a/test/api-test/api/metadata/jobcodes/{id}/update/post.js b/test/api-test/api/metadata/jobcodes/{id}/update/post.js deleted file mode 100644 index 458b25fc2..000000000 --- a/test/api-test/api/metadata/jobcodes/{id}/update/post.js +++ /dev/null @@ -1,21 +0,0 @@ -// let expectedData is injected from .json - -let responseData = pm.response.json(); -console.log("Check updated job code"); - -pm.test("Check id exists", function() { - pm.expect(responseData.id).to.equal(expectedData.id); -}); -pm.test("Check code exists", function() { - pm.expect(responseData.code).to.equal(expectedData.code); -}); -pm.test("Check targetNodeName exists", function() { - pm.expect(responseData.targetNodeName).to.equal(expectedData.targetNodeName); -}); -pm.test("Check frameworkName exists", function() { - pm.expect(responseData.frameworkName).to.equal(expectedData.frameworkName); -}); -/* pm.test("Check jobCodeLevelAsNumber exists", function() { - pm.expect(responseData.jobCodeLevelAsNumber).to.equal(expectedData.jobCodeLevelAsNumber); -}); */ - diff --git a/test/api-test/api/metadata/jobcodes/{id}/update/post.json b/test/api-test/api/metadata/jobcodes/{id}/update/post.json deleted file mode 100644 index de138ea7d..000000000 --- a/test/api-test/api/metadata/jobcodes/{id}/update/post.json +++ /dev/null @@ -1,7 +0,0 @@ -{ - "id": 21, - "code": "11-3013", - "targetNodeName": "Facilities Managers", - "frameworkName": "bls", - "jobCodeLevelAsNumber": 4 -} \ No newline at end of file diff --git a/test/api-test/api/metadata/keywords/get-pre-request.js b/test/api-test/api/metadata/keywords/get-pre-request.js deleted file mode 100644 index 3f6a3be44..000000000 --- a/test/api-test/api/metadata/keywords/get-pre-request.js +++ /dev/null @@ -1,25 +0,0 @@ -let sizeId = pm.request.url.query.indexOf('size'); -if (sizeId < 0) { - pm.request.url.query.add("size=50"); -} -else { - pm.request.url.query.idx(sizeId).value = "50"; -} - -let fromId = pm.request.url.query.indexOf('from'); -if (fromId < 0) { - pm.request.url.query.add("from=0"); -} -else { - pm.request.url.query.idx(fromId).value = "0"; -} - -let sortId = pm.request.url.query.indexOf('sort'); -if (sortId < 0) { - pm.request.url.query.add("sort=name.asc"); -} -else { - pm.request.url.query.idx(sortId).value = "name.asc"; -} - -let queryId = pm.request.url.query.indexOf('query') \ No newline at end of file diff --git a/test/api-test/api/metadata/keywords/get.js b/test/api-test/api/metadata/keywords/get.js deleted file mode 100644 index 8ff94ac36..000000000 --- a/test/api-test/api/metadata/keywords/get.js +++ /dev/null @@ -1,24 +0,0 @@ -// let expectedData is injected from .json - -let responseData = pm.response.json(); - -console.log("Check get All keywords"); -pm.test("Check keywords count", function () { - pm.expect(responseData.length).to.equal(expectedData.length); -}); - - -for (let keywordIndex = 0; keywordIndex < responseData.length; keywordIndex++) { - let colNum = keywordIndex + 1; - - let responseCol = responseData[keywordIndex]; - pm.test(`Keyword ${colNum} - Check Id exists`, function () { - pm.expect(responseCol.id).exists; - }); - pm.test(`Keyword ${colNum} - Check name`, function () { - pm.expect(responseCol.name).exists; - }); - pm.test(`Keyword ${colNum} - Check skill count`, function () { - pm.expect(responseCol.skillCount).exists; - }); -} diff --git a/test/api-test/api/metadata/keywords/get.json b/test/api-test/api/metadata/keywords/get.json deleted file mode 100644 index 467086246..000000000 --- a/test/api-test/api/metadata/keywords/get.json +++ /dev/null @@ -1,402 +0,0 @@ -[ - { - "framework": null, - "skillCount": 5, - "name": "Access Network", - "id": 2998, - "type": "Category", - "url": null - }, - { - "framework": null, - "skillCount": 6, - "name": "Active Directory", - "id": 3007, - "type": "Category", - "url": null - }, - { - "framework": null, - "skillCount": 3, - "name": "Acute Care", - "id": 237, - "type": "Category", - "url": null - }, - { - "framework": null, - "skillCount": 4, - "name": "Adaptability", - "id": 312, - "type": "Category", - "url": null - }, - { - "framework": null, - "skillCount": 1, - "name": "Advertisement", - "id": 3403, - "type": "Category", - "url": null - }, - { - "framework": null, - "skillCount": 1, - "name": "Advertising Campaigns", - "id": 3489, - "type": "Category", - "url": null - }, - { - "framework": null, - "skillCount": 1, - "name": "Agency", - "id": 306, - "type": "Category", - "url": null - }, - { - "framework": null, - "skillCount": 6, - "name": "Agile Methodology", - "id": 3018, - "type": "Category", - "url": null - }, - { - "framework": null, - "skillCount": 2, - "name": "Amazon Web Services", - "id": 3031, - "type": "Category", - "url": null - }, - { - "framework": null, - "skillCount": 1, - "name": "Analytical Techniques", - "id": 427, - "type": "Category", - "url": null - }, - { - "framework": null, - "skillCount": 7, - "name": "Application Programming Interface (API)", - "id": 3035, - "type": "Category", - "url": null - }, - { - "framework": null, - "skillCount": 2, - "name": "Assess Patient Needs", - "id": 1241, - "type": "Category", - "url": null - }, - { - "framework": null, - "skillCount": 2, - "name": "Authentications", - "id": 2626, - "type": "Category", - "url": null - }, - { - "framework": null, - "skillCount": 8, - "name": "Backup And Restore", - "id": 3047, - "type": "Category", - "url": null - }, - { - "framework": null, - "skillCount": 5, - "name": "Backup Devices", - "id": 3060, - "type": "Category", - "url": null - }, - { - "framework": null, - "skillCount": 2, - "name": "Basic Math", - "id": 3068, - "type": "Category", - "url": null - }, - { - "framework": null, - "skillCount": 4, - "name": "Border Gateway Protocol", - "id": 3074, - "type": "Category", - "url": null - }, - { - "framework": null, - "skillCount": 2, - "name": "Brand Strategy", - "id": 3493, - "type": "Category", - "url": null - }, - { - "framework": null, - "skillCount": 5, - "name": "Business Continuity Planning", - "id": 2594, - "type": "Category", - "url": null - }, - { - "framework": null, - "skillCount": 4, - "name": "Business Ethics", - "id": 2324, - "type": "Category", - "url": null - }, - { - "framework": null, - "skillCount": 3, - "name": "Business Requirements", - "id": 2352, - "type": "Category", - "url": null - }, - { - "framework": null, - "skillCount": 1, - "name": "Business Strategies", - "id": 3469, - "type": "Category", - "url": null - }, - { - "framework": null, - "skillCount": 4, - "name": "Capacity Planning", - "id": 1246, - "type": "Category", - "url": null - }, - { - "framework": null, - "skillCount": 6, - "name": "Care Coordination", - "id": 1251, - "type": "Category", - "url": null - }, - { - "framework": null, - "skillCount": 1, - "name": "Care Delivery Models", - "id": 208, - "type": "Category", - "url": null - }, - { - "framework": null, - "skillCount": 4, - "name": "Care Delivery Process", - "id": 437, - "type": "Category", - "url": null - }, - { - "framework": null, - "skillCount": 3, - "name": "Care Planning", - "id": 449, - "type": "Category", - "url": null - }, - { - "framework": null, - "skillCount": 1, - "name": "Caring and Consideration", - "id": 1295, - "type": "Category", - "url": null - }, - { - "framework": null, - "skillCount": 8, - "name": "Case Management", - "id": 463, - "type": "Category", - "url": null - }, - { - "framework": null, - "skillCount": 11, - "name": "Change Management", - "id": 468, - "type": "Category", - "url": null - }, - { - "framework": null, - "skillCount": 4, - "name": "Civic Identity", - "id": 1316, - "type": "Category", - "url": null - }, - { - "framework": null, - "skillCount": 1, - "name": "Client Rapport", - "id": 497, - "type": "Category", - "url": null - }, - { - "framework": null, - "skillCount": 5, - "name": "Clinical Evaluation", - "id": 1334, - "type": "Category", - "url": null - }, - { - "framework": null, - "skillCount": 3, - "name": "Clinical Leadership", - "id": 1339, - "type": "Category", - "url": null - }, - { - "framework": null, - "skillCount": 4, - "name": "Clinical Reasoning", - "id": 1347, - "type": "Category", - "url": null - }, - { - "framework": null, - "skillCount": 6, - "name": "Cloud Computing", - "id": 2731, - "type": "Category", - "url": null - }, - { - "framework": null, - "skillCount": 2, - "name": "Cloud Computing Architecture", - "id": 2572, - "type": "Category", - "url": null - }, - { - "framework": null, - "skillCount": 3, - "name": "Cloud Computing Security", - "id": 2682, - "type": "Category", - "url": null - }, - { - "framework": null, - "skillCount": 4, - "name": "Code Review", - "id": 3362, - "type": "Category", - "url": null - }, - { - "framework": null, - "skillCount": 4, - "name": "Collaboration", - "id": 27, - "type": "Category", - "url": null - }, - { - "framework": null, - "skillCount": 5, - "name": "Communications", - "id": 506, - "type": "Category", - "url": null - }, - { - "framework": null, - "skillCount": 1, - "name": "Community Management", - "id": 1359, - "type": "Category", - "url": null - }, - { - "framework": null, - "skillCount": 3, - "name": "Computer Literacy", - "id": 1364, - "type": "Category", - "url": null - }, - { - "framework": null, - "skillCount": 1, - "name": "Computer Programming", - "id": 2564, - "type": "Category", - "url": null - }, - { - "framework": null, - "skillCount": 3, - "name": "Computer Systems", - "id": 2747, - "type": "Category", - "url": null - }, - { - "framework": null, - "skillCount": 6, - "name": "Configuration Management", - "id": 2721, - "type": "Category", - "url": null - }, - { - "framework": null, - "skillCount": 2, - "name": "Conflict Resolution", - "id": 1382, - "type": "Category", - "url": null - }, - { - "framework": null, - "skillCount": 6, - "name": "Consulting", - "id": 3099, - "type": "Category", - "url": null - }, - { - "framework": null, - "skillCount": 1, - "name": "Content Management", - "id": 3596, - "type": "Category", - "url": null - }, - { - "framework": null, - "skillCount": 2, - "name": "Content Marketing", - "id": 3600, - "type": "Category", - "url": null - } -] \ No newline at end of file diff --git a/test/api-test/api/metadata/keywords/post-pre-request.js b/test/api-test/api/metadata/keywords/post-pre-request.js deleted file mode 100644 index 1b3cfbe65..000000000 --- a/test/api-test/api/metadata/keywords/post-pre-request.js +++ /dev/null @@ -1,20 +0,0 @@ -let create = - { - "framework": "framework1", - "name": "Scrum Methodology", - "type": "Category", - "url": "url1" - } -; - -let body = { - mode: 'raw', - raw: JSON.stringify(create), - options: { - raw: { - language: 'json' - } - } -}; - -pm.request.body.update(body); \ No newline at end of file diff --git a/test/api-test/api/metadata/keywords/post.js b/test/api-test/api/metadata/keywords/post.js deleted file mode 100644 index d47a72614..000000000 --- a/test/api-test/api/metadata/keywords/post.js +++ /dev/null @@ -1,23 +0,0 @@ -// let expectedData is injected from .json - -let responseData = pm.response.json(); - -console.log("Check keyword creation"); - -let expected = expectedData; - -pm.test(`Keyword - Check object type`, function () { - pm.expect(responseData.type).to.equal(expected.type); -}); -pm.test(`Keyword - Check name`, function () { - pm.expect(responseData.name).to.equal(expected.name); -}); -pm.test(`Keyword - Check ID exists`, function () { - pm.expect(responseData.id).exists; -}); -pm.test(`Keyword - Check framework`, function () { - pm.expect(responseData.framework).to.equal(expected.framework); -}); -pm.test(`Keyword - Check Url`, function () { - pm.expect(responseData.url).to.equal(expected.url); -}); \ No newline at end of file diff --git a/test/api-test/api/metadata/keywords/post.json b/test/api-test/api/metadata/keywords/post.json deleted file mode 100644 index ced167c21..000000000 --- a/test/api-test/api/metadata/keywords/post.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "framework": "framework1", - "skillCount": 0, - "name": "Scrum Methodology", - "id": 4187, - "type": "Category", - "url": "url1" -} \ No newline at end of file diff --git a/test/api-test/api/metadata/keywords/{id}/get.js b/test/api-test/api/metadata/keywords/{id}/get.js deleted file mode 100644 index aa1ac97d5..000000000 --- a/test/api-test/api/metadata/keywords/{id}/get.js +++ /dev/null @@ -1,24 +0,0 @@ -// let expectedData is injected from .json - -let responseData = pm.response.json(); - -console.log("Check a keyword retrieval"); - -pm.test("Check type", function () { - pm.expect(responseData.type).to.equal(expectedData.type); -}); -pm.test("Check name", function () { - pm.expect(responseData.name).exists; -}); -pm.test("Check framework", function () { - pm.expect(responseData.framework).exists; -}); -pm.test("Check url", function () { - pm.expect(responseData.url).exists; -}); -pm.test("Check skillCount", function () { - pm.expect(responseData.skillCount).exists; -}); -pm.test("Check ID", function () { - pm.expect(responseData.id).exists; -}); diff --git a/test/api-test/api/metadata/keywords/{id}/get.json b/test/api-test/api/metadata/keywords/{id}/get.json deleted file mode 100644 index e6ce8a578..000000000 --- a/test/api-test/api/metadata/keywords/{id}/get.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "framework": "Lightcast Open Skills Library", - "skillCount": 1, - "name": "Virtual Computing", - "id": 2464, - "type": "Alignment", - "url": "https://skills.emsidata.com/skills/KS441TD6115P4M4G1LFZ" -} \ No newline at end of file diff --git a/test/api-test/api/metadata/keywords/{id}/pre-request.js b/test/api-test/api/metadata/keywords/{id}/pre-request.js deleted file mode 100644 index 94075d81e..000000000 --- a/test/api-test/api/metadata/keywords/{id}/pre-request.js +++ /dev/null @@ -1,2 +0,0 @@ -let id = pm.request.url.variables.indexOf('id'); -pm.request.url.variables.idx(id).value = "2464"; \ No newline at end of file diff --git a/test/api-test/api/metadata/keywords/{id}/remove/delete-pre-request.js b/test/api-test/api/metadata/keywords/{id}/remove/delete-pre-request.js deleted file mode 100644 index 94075d81e..000000000 --- a/test/api-test/api/metadata/keywords/{id}/remove/delete-pre-request.js +++ /dev/null @@ -1,2 +0,0 @@ -let id = pm.request.url.variables.indexOf('id'); -pm.request.url.variables.idx(id).value = "2464"; \ No newline at end of file diff --git a/test/api-test/api/metadata/keywords/{id}/remove/delete.js b/test/api-test/api/metadata/keywords/{id}/remove/delete.js deleted file mode 100644 index 74e9546dd..000000000 --- a/test/api-test/api/metadata/keywords/{id}/remove/delete.js +++ /dev/null @@ -1,16 +0,0 @@ -// let expectedData is injected from .json - -let responseData = pm.response.json(); -console.log("Check keyword deletion task submission"); -pm.test("Check task UUID created", function () { - pm.expect(responseData.uuid).exists; -}); -pm.test("Check task status", function () { - pm.expect(responseData.status).to.equal(expectedData.status); -}); -pm.test("Check task output content type", function () { - pm.expect(responseData['content-type']).to.equal(expectedData['content-type']); -}); -pm.test("Check result endpoint provided", function () { - pm.expect(responseData.id).exists; -}); \ No newline at end of file diff --git a/test/api-test/api/metadata/keywords/{id}/remove/delete.json b/test/api-test/api/metadata/keywords/{id}/remove/delete.json deleted file mode 100644 index fbd7c04d3..000000000 --- a/test/api-test/api/metadata/keywords/{id}/remove/delete.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "uuid": "5cb6ddb9-2e8a-4056-8719-ac564797b483", - "status": "Processing", - "content-type": "application/json", - "id": "/api/results/batch/5cb6ddb9-2e8a-4056-8719-ac564797b483" -} \ No newline at end of file diff --git a/test/api-test/api/metadata/keywords/{id}/update/post-pre-request.js b/test/api-test/api/metadata/keywords/{id}/update/post-pre-request.js deleted file mode 100644 index a2f190b6d..000000000 --- a/test/api-test/api/metadata/keywords/{id}/update/post-pre-request.js +++ /dev/null @@ -1,18 +0,0 @@ -let updates = { - "framework": "framework1", - "name": "Virtual Computing", - "type": "Alignment", - "url": "https://skills.emsidata.com/skills/KS441TD6115P4M4G1LFZ" -}; - -let body = { - mode: 'raw', - raw: JSON.stringify(updates), - options: { - raw: { - language: 'json' - } - } -}; - -pm.request.body.update(body); \ No newline at end of file diff --git a/test/api-test/api/metadata/keywords/{id}/update/post.js b/test/api-test/api/metadata/keywords/{id}/update/post.js deleted file mode 100644 index 3e4700ec9..000000000 --- a/test/api-test/api/metadata/keywords/{id}/update/post.js +++ /dev/null @@ -1,22 +0,0 @@ -// let expectedData is injected from .json - -let responseData = pm.response.json(); -console.log("Check updated keyword"); - -pm.test("Check id match", function() { - pm.expect(responseData.id).to.equal(expectedData.id); -}); -pm.test("Check name match", function() { - pm.expect(responseData.name).to.equal(expectedData.name); -}); -pm.test("Check framework match", function() { - pm.expect(responseData.framework).to.equal(expectedData.framework); -}); -pm.test("Check url match", function() { - pm.expect(responseData.url).to.equal(expectedData.url); -}); -pm.test("Check type match", function() { - pm.expect(responseData.type).to.equal(expectedData.type); -}); - - diff --git a/test/api-test/api/metadata/keywords/{id}/update/post.json b/test/api-test/api/metadata/keywords/{id}/update/post.json deleted file mode 100644 index b118abbf6..000000000 --- a/test/api-test/api/metadata/keywords/{id}/update/post.json +++ /dev/null @@ -1,8 +0,0 @@ -{ - "framework": "framework1", - "skillCount": 1, - "name": "Virtual Computing", - "id": 2464, - "type": "Alignment", - "url": "https://skills.emsidata.com/skills/KS441TD6115P4M4G1LFZ" -} \ No newline at end of file From 2853472bb84d52ac2df7aa0b6ead6c034e29c909 Mon Sep 17 00:00:00 2001 From: manuel-delvillar <68391066+manuel-delvillar@users.noreply.github.com> Date: Thu, 6 Jul 2023 10:34:55 -0600 Subject: [PATCH 10/20] Fix open api v3 --- docs/int/openapi-v3.yaml | 48 ---------------------------------------- 1 file changed, 48 deletions(-) diff --git a/docs/int/openapi-v3.yaml b/docs/int/openapi-v3.yaml index 7e602a071..f10f2fa88 100644 --- a/docs/int/openapi-v3.yaml +++ b/docs/int/openapi-v3.yaml @@ -10,54 +10,6 @@ info: paths: - /api/collections: - get: - summary: Get all collections - description: Returns all collections - tags: - - Collections - parameters: - - $ref: '#/components/parameters/PaginationSizeQueryRequired' - - $ref: '#/components/parameters/PaginationFromQueryRequired' - - $ref: '#/components/parameters/PublishStatusQueryRequired' - - $ref: '#/components/parameters/SortOrderQuery' - responses: - '200': - description: OK - headers: - X-Total-Count: - $ref: '#/components/headers/XTotalCount' - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/CollectionDoc' - post: - summary: Define a collection - description: Create a new collection in OSMT - tags: - - Collections - requestBody: - required: true - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/CollectionUpdate' - responses: - '200': - description: OK - content: - application/json: - schema: - type: array - items: - $ref: '#/components/schemas/Collection' - '400': - $ref: '#/components/responses/BadRequest' - /api/v3/collections/{uuid}: parameters: - $ref: '#/components/parameters/UuidPath' From dd14eb0e9567bb5fff49b58018fd75b30baa3319 Mon Sep 17 00:00:00 2001 From: manuel-delvillar <68391066+manuel-delvillar@users.noreply.github.com> Date: Thu, 6 Jul 2023 14:29:08 -0600 Subject: [PATCH 11/20] Update jsons in api v3 --- .../v3/collections/{uuid}/update/post.json | 4912 +-- test/api-test/api/v3/search/jobcodes/get.json | 24 +- .../api/v3/search/skills/similarity/post.json | 214 +- test/api-test/api/v3/skills/get.json | 24788 ++++++++-------- test/api-test/api/v3/skills/{uuid}/get.json | 478 +- .../api/v3/skills/{uuid}/update/post.json | 416 +- 6 files changed, 16007 insertions(+), 14825 deletions(-) diff --git a/test/api-test/api/v3/collections/{uuid}/update/post.json b/test/api-test/api/v3/collections/{uuid}/update/post.json index c069687f3..8fb074d17 100644 --- a/test/api-test/api/v3/collections/{uuid}/update/post.json +++ b/test/api-test/api/v3/collections/{uuid}/update/post.json @@ -1,2249 +1,2671 @@ { - "type": "RichSkillCollection", - "name": "IT Network", - "id": "http://localhost:8080/api/collections/42d882da-aec3-4e0d-9582-c8559912a9c6", - "owner": "", - "uuid": "42d882da-aec3-4e0d-9582-c8559912a9c6", - "skills": [ - { - "id": "http://localhost:8080/api/skills/f6538cc1-8fdf-4f11-b373-781571b386bf", - "uuid": "f6538cc1-8fdf-4f11-b373-781571b386bf", - "status": "published", - "publishDate": "2023-03-30T13:02:07.152054", - "archiveDate": null, - "skillName": "Validation and Troubleshooting", - "skillStatement": "Validate authorization and authentication runbooks and troubleshoots procedures (SOPs), and troubleshoots advanced authentication and authorization issues.", - "categories": [ - "Authentications" - ], - "keywords": [ - "Western Governors University", - "AZ-304", - "AZ-303", - "AZ-900", - "AZ-204", - "AZ DP-203", - "AZ-104", - "Authentications", - "Authentications", - "Authentication", - "SafeNet", - "Authorization (Computing)", - "WGUSID: 1619.1", - "Authentications" - ], - "occupations": [ - { - "code": "11-0000", - "targetNodeName": "Management Occupations", - "frameworkName": "bls" - }, - { - "code": "11-3000", - "targetNodeName": "Operations Specialties Managers", - "frameworkName": "bls" - }, - { - "code": "11-3020", - "targetNodeName": "Computer and Information Systems Managers", - "frameworkName": "bls" - }, - { - "code": "11-3021", - "targetNodeName": "Computer and Information Systems Managers", - "frameworkName": "bls" - }, - { - "code": "15-0000", - "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls" - }, - { - "code": "15-1200", - "targetNodeName": "Computer Occupations", - "frameworkName": "bls" - }, - { - "code": "15-1210", - "targetNodeName": "Computer and Information Analysts", - "frameworkName": "bls" - }, - { - "code": "15-1211", - "targetNodeName": "Computer Systems Analysts", - "frameworkName": "bls" - }, - { - "code": "15-1230", - "targetNodeName": "Computer Support Specialists", - "frameworkName": "bls" - }, - { - "code": "15-1231", - "targetNodeName": "Computer Network Support Specialists", - "frameworkName": "bls" - }, - { - "code": "15-1232", - "targetNodeName": "Computer User Support Specialists", - "frameworkName": "bls" - }, - { - "code": "15-1240", - "targetNodeName": "Database and Network Administrators and Architects", - "frameworkName": "bls" - }, - { - "code": "15-1241", - "targetNodeName": "Computer Network Architects", - "frameworkName": "bls" - }, - { - "code": "15-1244", - "targetNodeName": "Network and Computer Systems Administrators", - "frameworkName": "bls" - }, - { - "code": "15-1245" - } - ] - }, - { - "id": "http://localhost:8080/api/skills/aabb1eee-48b7-4d46-b4e0-fb584285627d", - "uuid": "aabb1eee-48b7-4d46-b4e0-fb584285627d", - "status": "published", - "publishDate": "2023-03-30T13:02:07.221572", - "archiveDate": null, - "skillName": "Authentication Access Creation", - "skillStatement": "Create group and system authentication access.", - "categories": [ - "Authentications" - ], - "keywords": [ - "Western Governors University", - "AZ-304", - "AZ-303", - "AZ-900", - "AZ-204", - "AZ DP-203", - "AZ-104", - "Authentications", - "Authentications", - "Authentication", - "SafeNet", - "Authorization (Computing)", - "Authentications", - "WGUSID: 1619" - ], - "occupations": [ - { - "code": "11-0000", - "targetNodeName": "Management Occupations", - "frameworkName": "bls" - }, - { - "code": "11-3000", - "targetNodeName": "Operations Specialties Managers", - "frameworkName": "bls" - }, - { - "code": "11-3020", - "targetNodeName": "Computer and Information Systems Managers", - "frameworkName": "bls" - }, - { - "code": "11-3021", - "targetNodeName": "Computer and Information Systems Managers", - "frameworkName": "bls" - }, - { - "code": "15-0000", - "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls" - }, - { - "code": "15-1200", - "targetNodeName": "Computer Occupations", - "frameworkName": "bls" - }, - { - "code": "15-1210", - "targetNodeName": "Computer and Information Analysts", - "frameworkName": "bls" - }, - { - "code": "15-1211", - "targetNodeName": "Computer Systems Analysts", - "frameworkName": "bls" - }, - { - "code": "15-1230", - "targetNodeName": "Computer Support Specialists", - "frameworkName": "bls" - }, - { - "code": "15-1231", - "targetNodeName": "Computer Network Support Specialists", - "frameworkName": "bls" - }, - { - "code": "15-1232", - "targetNodeName": "Computer User Support Specialists", - "frameworkName": "bls" - }, - { - "code": "15-1240", - "targetNodeName": "Database and Network Administrators and Architects", - "frameworkName": "bls" - }, - { - "code": "15-1241", - "targetNodeName": "Computer Network Architects", - "frameworkName": "bls" - }, - { - "code": "15-1244", - "targetNodeName": "Network and Computer Systems Administrators", - "frameworkName": "bls" - }, - { - "code": "15-1245" - } - ] - }, - { - "id": "http://localhost:8080/api/skills/cad699ef-64b9-40ee-81db-b5de69a90558", - "uuid": "cad699ef-64b9-40ee-81db-b5de69a90558", - "status": "published", - "publishDate": "2023-03-30T13:02:05.928479", - "archiveDate": null, - "skillName": "Network Connection Design", - "skillStatement": "Design network connections between a core network and an internet service provider.", - "categories": [ - "Access Network" - ], - "keywords": [ - "Western Governors University", - "design", - "300-420_ENSLD", - "Access Network", - "Access Network", - "WGUSID: 10407", - "Access Network", - "OSMT Developer" - ], - "occupations": [ - { - "code": "15-0000", - "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls" - }, - { - "code": "15-1200", - "targetNodeName": "Computer Occupations", - "frameworkName": "bls" - }, - { - "code": "15-1230", - "targetNodeName": "Computer Support Specialists", - "frameworkName": "bls" - }, - { - "code": "15-1231", - "targetNodeName": "Computer Network Support Specialists", - "frameworkName": "bls" - }, - { - "code": "15-1240", - "targetNodeName": "Database and Network Administrators and Architects", - "frameworkName": "bls" - }, - { - "code": "15-1241", - "targetNodeName": "Computer Network Architects", - "frameworkName": "bls" - }, - { - "code": "15-1244", - "targetNodeName": "Network and Computer Systems Administrators", - "frameworkName": "bls" - } - ] - }, - { - "id": "http://localhost:8080/api/skills/3ceba681-28fd-468f-91f1-223aa7a0a96a", - "uuid": "3ceba681-28fd-468f-91f1-223aa7a0a96a", - "status": "published", - "publishDate": "2023-03-30T13:02:06.083817", - "archiveDate": null, - "skillName": "Network Router Performance Monitoring", - "skillStatement": "Monitor network routers for performance issues.", - "categories": [ - "Access Network" - ], - "keywords": [ - "Western Governors University", - "CompTIA_ITF+", - "Performance", - "monitor", - "Access Network", - "Access Network", - "Access Network", - "WGUSID: 10411" - ], - "occupations": [ - { - "code": "15-0000", - "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls" - }, - { - "code": "15-1200", - "targetNodeName": "Computer Occupations", - "frameworkName": "bls" - }, - { - "code": "15-1230", - "targetNodeName": "Computer Support Specialists", - "frameworkName": "bls" - }, - { - "code": "15-1231", - "targetNodeName": "Computer Network Support Specialists", - "frameworkName": "bls" - }, - { - "code": "15-1240", - "targetNodeName": "Database and Network Administrators and Architects", - "frameworkName": "bls" - }, - { - "code": "15-1241", - "targetNodeName": "Computer Network Architects", - "frameworkName": "bls" - }, - { - "code": "15-1244", - "targetNodeName": "Network and Computer Systems Administrators", - "frameworkName": "bls" - } - ] - }, - { - "id": "http://localhost:8080/api/skills/d53bdeb9-f7fc-449a-baaf-b5e284e29c58", - "uuid": "d53bdeb9-f7fc-449a-baaf-b5e284e29c58", - "status": "published", - "publishDate": "2023-03-30T13:02:06.139052", - "archiveDate": null, - "skillName": "Network Router Security Monitoring", - "skillStatement": "Monitor network routers for security issues.", - "categories": [ - "Access Network" - ], - "keywords": [ - "Western Governors University", - "CompTIA_ITF+", - "350-201_CBRCOR", - "Access Network", - "Access Network", - "Access Network", - "Routers", - "WGUSID: 10410" - ], - "occupations": [ - { - "code": "15-0000", - "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls" - }, - { - "code": "15-1200", - "targetNodeName": "Computer Occupations", - "frameworkName": "bls" - }, - { - "code": "15-1230", - "targetNodeName": "Computer Support Specialists", - "frameworkName": "bls" - }, - { - "code": "15-1231", - "targetNodeName": "Computer Network Support Specialists", - "frameworkName": "bls" - }, - { - "code": "15-1240", - "targetNodeName": "Database and Network Administrators and Architects", - "frameworkName": "bls" - }, - { - "code": "15-1241", - "targetNodeName": "Computer Network Architects", - "frameworkName": "bls" - }, - { - "code": "15-1244", - "targetNodeName": "Network and Computer Systems Administrators", - "frameworkName": "bls" - } - ] - }, - { - "id": "http://localhost:8080/api/skills/398f0acd-d6a9-49af-9b7f-48a2f9b1e800", - "uuid": "398f0acd-d6a9-49af-9b7f-48a2f9b1e800", - "status": "published", - "publishDate": "2023-03-30T13:02:06.197601", - "archiveDate": null, - "skillName": "Router Network Traffic Configuration", - "skillStatement": "Configure network routers for traffic between a core network and an internet service provider.", - "categories": [ - "Access Network" - ], - "keywords": [ - "Western Governors University", - "300-410_ENARSI", - "350-401_ENCOR", - "Access Network", - "Access Network", - "Access Network", - "WGUSID: 10408" - ], - "occupations": [ - { - "code": "15-0000", - "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls" - }, - { - "code": "15-1200", - "targetNodeName": "Computer Occupations", - "frameworkName": "bls" - }, - { - "code": "15-1230", - "targetNodeName": "Computer Support Specialists", - "frameworkName": "bls" - }, - { - "code": "15-1231", - "targetNodeName": "Computer Network Support Specialists", - "frameworkName": "bls" - }, - { - "code": "15-1240", - "targetNodeName": "Database and Network Administrators and Architects", - "frameworkName": "bls" - }, - { - "code": "15-1241", - "targetNodeName": "Computer Network Architects", - "frameworkName": "bls" - }, - { - "code": "15-1244", - "targetNodeName": "Network and Computer Systems Administrators", - "frameworkName": "bls" - } - ] - }, - { - "id": "http://localhost:8080/api/skills/6198382a-9b80-4cb9-ad06-777b2c7a22e4", - "uuid": "6198382a-9b80-4cb9-ad06-777b2c7a22e4", - "status": "published", - "publishDate": "2023-03-30T13:02:06.268258", - "archiveDate": null, - "skillName": "Active Directory Replication Configuration", - "skillStatement": "Implement schema extensions for Active Directory.", - "categories": [ - "Active Directory" - ], - "keywords": [ - "Western Governors University", - "Active Directory", - "Active Directory", - "Active Directory", - "Site Links", - "WGUSID: 10418" - ], - "occupations": [ - { - "code": "15-0000", - "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls" - }, - { - "code": "15-1200", - "targetNodeName": "Computer Occupations", - "frameworkName": "bls" - }, - { - "code": "15-1240", - "targetNodeName": "Database and Network Administrators and Architects", - "frameworkName": "bls" - }, - { - "code": "15-1241", - "targetNodeName": "Computer Network Architects", - "frameworkName": "bls" - }, - { - "code": "15-1244", - "targetNodeName": "Network and Computer Systems Administrators", - "frameworkName": "bls" - } - ] - }, - { - "id": "http://localhost:8080/api/skills/c0544c43-1b6a-4593-aa85-9b31db2dd2bf", - "uuid": "c0544c43-1b6a-4593-aa85-9b31db2dd2bf", - "status": "published", - "publishDate": "2023-03-30T13:02:06.316262", - "archiveDate": null, - "skillName": "Active Directory Schema Extensions Implementation", - "skillStatement": "Configure forest and domain trusts for Active Directory.", - "categories": [ - "Active Directory" - ], - "keywords": [ - "Western Governors University", - "Active Directory", - "Active Directory", - "Active Directory", - "Schema", - "WGUSID: 10416" - ], - "occupations": [ - { - "code": "15-0000", - "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls" - }, - { - "code": "15-1200", - "targetNodeName": "Computer Occupations", - "frameworkName": "bls" - }, - { - "code": "15-1240", - "targetNodeName": "Database and Network Administrators and Architects", - "frameworkName": "bls" - }, - { - "code": "15-1241", - "targetNodeName": "Computer Network Architects", - "frameworkName": "bls" - }, - { - "code": "15-1244", - "targetNodeName": "Network and Computer Systems Administrators", - "frameworkName": "bls" - } - ] - }, - { - "id": "http://localhost:8080/api/skills/3449eae9-f52f-47cc-9ece-a16035659680", - "uuid": "3449eae9-f52f-47cc-9ece-a16035659680", - "status": "published", - "publishDate": "2023-03-30T13:02:08.094886", - "archiveDate": null, - "skillName": "Agile Kanban Board Management", - "skillStatement": "Manage project feature progress with agile Kanban boards.", - "categories": [ - "Agile Methodology" - ], - "keywords": [ - "Western Governors University", - "Agile Methodology", - "Agile Methodology", - "Kanban Board", - "WGUSID: 10428", - "Agile Methodology" - ], - "occupations": [ - { - "code": "15-0000", - "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls" - }, - { - "code": "15-1200", - "targetNodeName": "Computer Occupations", - "frameworkName": "bls" - }, - { - "code": "15-1240", - "targetNodeName": "Database and Network Administrators and Architects", - "frameworkName": "bls" - }, - { - "code": "15-1244", - "targetNodeName": "Network and Computer Systems Administrators", - "frameworkName": "bls" - }, - { - "code": "15-1245" - }, - { - "code": "15-1250", - "targetNodeName": "Software and Web Developers, Programmers, and Testers", - "frameworkName": "bls" - }, - { - "code": "15-1251", - "targetNodeName": "Computer Programmers", - "frameworkName": "bls" - }, - { - "code": "15-1256" - }, - { - "code": "15-1257" - }, - { - "code": "15-1259" - }, - { - "code": "15-1290", - "targetNodeName": "Miscellaneous Computer Occupations", - "frameworkName": "bls" - } - ] - }, - { - "id": "http://localhost:8080/api/skills/5069cebe-102e-40ca-a2a8-7e06cfd0214b", - "uuid": "5069cebe-102e-40ca-a2a8-7e06cfd0214b", - "status": "published", - "publishDate": "2023-03-30T13:02:06.365596", - "archiveDate": null, - "skillName": "Agile Scrum Board Management", - "skillStatement": "Manage project feature progress with agile scrum boards.", - "categories": [ - "Agile Methodology" - ], - "keywords": [ - "Western Governors University", - "CompTIA_ITF+", - "Agile Methodology", - "Agile Methodology", - "Agile Methodology", - "SCRUM", - "Features", - "WGUSID: 10427" - ], - "occupations": [ - { - "code": "15-0000", - "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls" - }, - { - "code": "15-1200", - "targetNodeName": "Computer Occupations", - "frameworkName": "bls" - }, - { - "code": "15-1240", - "targetNodeName": "Database and Network Administrators and Architects", - "frameworkName": "bls" - }, - { - "code": "15-1244", - "targetNodeName": "Network and Computer Systems Administrators", - "frameworkName": "bls" - }, - { - "code": "15-1245" - }, - { - "code": "15-1250", - "targetNodeName": "Software and Web Developers, Programmers, and Testers", - "frameworkName": "bls" - }, - { - "code": "15-1256" - }, - { - "code": "15-1257" - }, - { - "code": "15-1259" - }, - { - "code": "15-1290", - "targetNodeName": "Miscellaneous Computer Occupations", - "frameworkName": "bls" - } - ] - }, - { - "id": "http://localhost:8080/api/skills/2355dad8-d1ef-47f8-a663-899473ad2ce2", - "uuid": "2355dad8-d1ef-47f8-a663-899473ad2ce2", - "status": "published", - "publishDate": "2023-03-30T13:02:06.415145", - "archiveDate": null, - "skillName": "Agile Solutions Development", - "skillStatement": "Communicate blocking issues during the development cycle.", - "categories": [ - "Agile Methodology" - ], - "keywords": [ - "Western Governors University", - "specifications", - "Agile Methodology", - "Agile Methodology", - "Agile Methodology", - "WGUSID: 10423" - ], - "occupations": [ - { - "code": "15-0000", - "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls" - }, - { - "code": "15-1200", - "targetNodeName": "Computer Occupations", - "frameworkName": "bls" - }, - { - "code": "15-1210", - "targetNodeName": "Computer and Information Analysts", - "frameworkName": "bls" - }, - { - "code": "15-1211", - "targetNodeName": "Computer Systems Analysts", - "frameworkName": "bls" - }, - { - "code": "15-1240", - "targetNodeName": "Database and Network Administrators and Architects", - "frameworkName": "bls" - }, - { - "code": "15-1244", - "targetNodeName": "Network and Computer Systems Administrators", - "frameworkName": "bls" - }, - { - "code": "15-1250", - "targetNodeName": "Software and Web Developers, Programmers, and Testers", - "frameworkName": "bls" - }, - { - "code": "15-1251", - "targetNodeName": "Computer Programmers", - "frameworkName": "bls" - }, - { - "code": "15-1256" - }, - { - "code": "15-1259" - }, - { - "code": "15-1290", - "targetNodeName": "Miscellaneous Computer Occupations", - "frameworkName": "bls" - } - ] - }, - { - "id": "http://localhost:8080/api/skills/c3c19663-2c8c-4183-9120-6f35c25154bf", - "uuid": "c3c19663-2c8c-4183-9120-6f35c25154bf", - "status": "published", - "publishDate": "2023-03-30T13:02:06.471546", - "archiveDate": null, - "skillName": "Internal Partners Agile Project Goal Accomplishment", - "skillStatement": "Accomplish agile project goals through collaboration with internal partners.", - "categories": [ - "Agile Methodology" - ], - "keywords": [ - "Western Governors University", - "Agile Methodology", - "Agile Methodology", - "Agile Methodology", - "WGUSID: 10425" - ], - "occupations": [ - { - "code": "15-0000", - "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls" - }, - { - "code": "15-1200", - "targetNodeName": "Computer Occupations", - "frameworkName": "bls" - }, - { - "code": "15-1210", - "targetNodeName": "Computer and Information Analysts", - "frameworkName": "bls" - }, - { - "code": "15-1211", - "targetNodeName": "Computer Systems Analysts", - "frameworkName": "bls" - }, - { - "code": "15-1240", - "targetNodeName": "Database and Network Administrators and Architects", - "frameworkName": "bls" - }, - { - "code": "15-1244", - "targetNodeName": "Network and Computer Systems Administrators", - "frameworkName": "bls" - }, - { - "code": "15-1245" - }, - { - "code": "15-1250", - "targetNodeName": "Software and Web Developers, Programmers, and Testers", - "frameworkName": "bls" - }, - { - "code": "15-1251", - "targetNodeName": "Computer Programmers", - "frameworkName": "bls" - }, - { - "code": "15-1256" - }, - { - "code": "15-1257" - }, - { - "code": "15-1259" - }, - { - "code": "15-1290", - "targetNodeName": "Miscellaneous Computer Occupations", - "frameworkName": "bls" - } - ] - }, - { - "id": "http://localhost:8080/api/skills/4ec5611d-675a-4c5d-9da7-429efd8d3040", - "uuid": "4ec5611d-675a-4c5d-9da7-429efd8d3040", - "status": "published", - "publishDate": "2023-03-30T13:02:06.525693", - "archiveDate": null, - "skillName": "Cloud Computing Environment Deployment", - "skillStatement": "Deploy a cloud computing environment in Amazon Web Services (AWS).", - "categories": [ - "Amazon Web Services" - ], - "keywords": [ - "Western Governors University", - "Amazon Web Services", - "Cloud Computing", - "Amazon_AWS_SysOps_Admin_Associate", - "Amazon Web Services", - "WGUSID: 10441", - "Amazon Web Services" - ], - "occupations": [ - { - "code": "15-0000", - "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls" - }, - { - "code": "15-1200", - "targetNodeName": "Computer Occupations", - "frameworkName": "bls" - }, - { - "code": "15-1240", - "targetNodeName": "Database and Network Administrators and Architects", - "frameworkName": "bls" - }, - { - "code": "15-1244", - "targetNodeName": "Network and Computer Systems Administrators", - "frameworkName": "bls" - } - ] - }, - { - "id": "http://localhost:8080/api/skills/a0ae4134-6f69-43cc-b536-7c09ab45fdf5", - "uuid": "a0ae4134-6f69-43cc-b536-7c09ab45fdf5", - "status": "published", - "publishDate": "2023-03-30T13:02:06.575322", - "archiveDate": null, - "skillName": "Cloud Computing Environment Maintenance", - "skillStatement": "Maintain a cloud computing environment in Amazon Web Services (AWS).", - "categories": [ - "Amazon Web Services" - ], - "keywords": [ - "Western Governors University", - "Amazon Web Services", - "Cloud Computing", - "Amazon_AWS_SysOps_Admin_Associate", - "Amazon Web Services", - "Amazon Web Services", - "WGUSID: 10442" - ], - "occupations": [ - { - "code": "15-0000", - "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls" - }, - { - "code": "15-1200", - "targetNodeName": "Computer Occupations", - "frameworkName": "bls" - }, - { - "code": "15-1240", - "targetNodeName": "Database and Network Administrators and Architects", - "frameworkName": "bls" - }, - { - "code": "15-1244", - "targetNodeName": "Network and Computer Systems Administrators", - "frameworkName": "bls" - } - ] - }, - { - "id": "http://localhost:8080/api/skills/2444c3b2-37b9-4f4d-92a0-6260ad0a33dd", - "uuid": "2444c3b2-37b9-4f4d-92a0-6260ad0a33dd", - "status": "published", - "publishDate": "2023-03-30T13:02:06.634599", - "archiveDate": null, - "skillName": "Access Application Programming Interface (API) to Change Data", - "skillStatement": "Access an application programming interface (API) with a programming language to change data for a task.", - "categories": [ - "Software Development", - "Application Programming Interface (API)" - ], - "keywords": [ - "Western Governors University", - "300-435_ENAUTO", - "350-201_CBRCOR", - "Software Development", - "300-920_DEVWBX", - "300-835_CLAUTO", - "300-910_DEVOPS", - "300-915_DEVIOT", - "350-901_DEVCOR", - "200-901_DEVASC", - "Application Programming Interface (API)", - "Application Programming Interface (API)", - "WGUSID: 10460", - "Application Programming Interface (API)", - "OSMT Developer", - "Software Developer" - ], - "occupations": [ - { - "code": "15-0000", - "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls" - }, - { - "code": "15-1200", - "targetNodeName": "Computer Occupations", - "frameworkName": "bls" - }, - { - "code": "15-1240", - "targetNodeName": "Database and Network Administrators and Architects", - "frameworkName": "bls" - }, - { - "code": "15-1244", - "targetNodeName": "Network and Computer Systems Administrators", - "frameworkName": "bls" - } - ] - }, - { - "id": "http://localhost:8080/api/skills/a23fcc22-12cc-429b-81fc-c4e913d98c9e", - "uuid": "a23fcc22-12cc-429b-81fc-c4e913d98c9e", - "status": "published", - "publishDate": "2023-03-30T13:02:06.691748", - "archiveDate": null, - "skillName": "Systems Engineering", - "skillStatement": "Engineer systems that leverage multi-platform application programming interface (API).", - "categories": [ - "Application Programming Interface (API)" - ], - "keywords": [ - "Western Governors University", - "Visual Studio", - "Application Programming Interface (API)", - "Application Programming Interface (API)", - "Application Programming Interface (API)", - "Eclipse", - "Visual Studio Code", - "WGUSID: 592" - ], - "occupations": [ - { - "code": "15-0000", - "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls" - }, - { - "code": "15-1200", - "targetNodeName": "Computer Occupations", - "frameworkName": "bls" - }, - { - "code": "15-1220", - "targetNodeName": "Computer and Information Research Scientists", - "frameworkName": "bls" - }, - { - "code": "15-1221", - "targetNodeName": "Computer and Information Research Scientists", - "frameworkName": "bls" - }, - { - "code": "15-1240", - "targetNodeName": "Database and Network Administrators and Architects", - "frameworkName": "bls" - }, - { - "code": "15-1244", - "targetNodeName": "Network and Computer Systems Administrators", - "frameworkName": "bls" - }, - { - "code": "15-1245" - }, - { - "code": "15-1250", - "targetNodeName": "Software and Web Developers, Programmers, and Testers", - "frameworkName": "bls" - }, - { - "code": "15-1251", - "targetNodeName": "Computer Programmers", - "frameworkName": "bls" - }, - { - "code": "15-1256" - }, - { - "code": "15-1257" - }, - { - "code": "15-1259" - }, - { - "code": "15-1290", - "targetNodeName": "Miscellaneous Computer Occupations", - "frameworkName": "bls" - } - ] - }, - { - "id": "http://localhost:8080/api/skills/4c98ac7d-a27b-4c75-aa53-2f273bb2f269", - "uuid": "4c98ac7d-a27b-4c75-aa53-2f273bb2f269", - "status": "published", - "publishDate": "2023-03-30T13:02:06.754817", - "archiveDate": null, - "skillName": "Backup File Configuration", - "skillStatement": "Configure file backups to a cloud solution.", - "categories": [ - "Backup And Restore" - ], - "keywords": [ - "Western Governors University", - "NICE_SP_DEV", - "NICE_SP_ARC", - "NICE_SP_SYS", - "NICE_AN_LNG", - "NICE_PR_CIR", - "NICE_PR_INF", - "NICE_OM_DTA", - "NICE_OM_NET", - "NICE_OM_ADM", - "NICE_PR_VAM", - "Comp_TIA_A+", - "Comp_TIA_IT_Operations_Specialist", - "Backup And Restore", - "Backup And Restore", - "Backup And Restore", - "WGUSID: 10462" - ], - "occupations": [ - { - "code": "15-0000", - "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls" - }, - { - "code": "15-1200", - "targetNodeName": "Computer Occupations", - "frameworkName": "bls" - }, - { - "code": "15-1240", - "targetNodeName": "Database and Network Administrators and Architects", - "frameworkName": "bls" - }, - { - "code": "15-1241", - "targetNodeName": "Computer Network Architects", - "frameworkName": "bls" - }, - { - "code": "15-1244", - "targetNodeName": "Network and Computer Systems Administrators", - "frameworkName": "bls" - }, - { - "code": "15-1250", - "targetNodeName": "Software and Web Developers, Programmers, and Testers", - "frameworkName": "bls" - }, - { - "code": "15-1256" - }, - { - "code": "15-1259" - }, - { - "code": "15-1290", - "targetNodeName": "Miscellaneous Computer Occupations", - "frameworkName": "bls" - } - ] - }, - { - "id": "http://localhost:8080/api/skills/9f49f23a-8301-4b61-a0df-cbdec28b6b25", - "uuid": "9f49f23a-8301-4b61-a0df-cbdec28b6b25", - "status": "published", - "publishDate": "2023-03-30T13:02:06.808433", - "archiveDate": null, - "skillName": "Backup File Restoration Identification", - "skillStatement": "Identify which backed-up files must be restored.", - "categories": [ - "Backup And Restore" - ], - "keywords": [ - "Western Governors University", - "NICE_SP_DEV", - "NICE_SP_ARC", - "NICE_SP_SYS", - "NICE_AN_LNG", - "NICE_PR_CIR", - "NICE_OM_DTA", - "NICE_OM_ADM", - "NICE_PR_VAM", - "Comp_TIA_A+", - "Comp_TIA_IT_Operations_Specialist", - "Backup And Restore", - "Backup And Restore", - "Backup And Restore", - "WGUSID: 10461" - ], - "occupations": [ - { - "code": "15-0000", - "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls" - }, - { - "code": "15-1200", - "targetNodeName": "Computer Occupations", - "frameworkName": "bls" - }, - { - "code": "15-1240", - "targetNodeName": "Database and Network Administrators and Architects", - "frameworkName": "bls" - }, - { - "code": "15-1241", - "targetNodeName": "Computer Network Architects", - "frameworkName": "bls" - }, - { - "code": "15-1244", - "targetNodeName": "Network and Computer Systems Administrators", - "frameworkName": "bls" - }, - { - "code": "15-1245" - }, - { - "code": "15-1250", - "targetNodeName": "Software and Web Developers, Programmers, and Testers", - "frameworkName": "bls" - }, - { - "code": "15-1256" - }, - { - "code": "15-1259" - }, - { - "code": "15-1290", - "targetNodeName": "Miscellaneous Computer Occupations", - "frameworkName": "bls" - } - ] - }, - { - "id": "http://localhost:8080/api/skills/def5e07c-4117-4b47-a720-e428d6020df5", - "uuid": "def5e07c-4117-4b47-a720-e428d6020df5", - "status": "published", - "publishDate": "2023-03-30T13:02:06.870168", - "archiveDate": null, - "skillName": "Identify Disaster Recovery Solutions", - "skillStatement": "Identify disaster recovery solutions for backing up and restoring computer systems.", - "categories": [ - "Backup And Restore" - ], - "keywords": [ - "Western Governors University", - "NICE_SP_DEV", - "NICE_SP_ARC", - "NICE_SP_SYS", - "NICE_AN_TWA", - "NICE_AN_EXP", - "NICE_AN_ASA", - "NICE_AN_TGT", - "NICE_AN_LNG", - "NICE_CO_CLO", - "NICE_CO_OPL", - "NICE_CO_OPS", - "NICE_PR_CIR", - "NICE_PR_INF", - "NICE_OM_DTA", - "NICE_OM_NET", - "NICE_OM_ADM", - "NICE_PR_VAM", - "Comp_TIA_A+", - "Comp_TIA_IT_Operations_Specialist", - "Backup And Restore", - "Backup And Restore", - "Backup And Restore", - "WGUSID: 10463" - ], - "occupations": [ - { - "code": "15-0000", - "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls" - }, - { - "code": "15-1200", - "targetNodeName": "Computer Occupations", - "frameworkName": "bls" - }, - { - "code": "15-1210", - "targetNodeName": "Computer and Information Analysts", - "frameworkName": "bls" - }, - { - "code": "15-1211", - "targetNodeName": "Computer Systems Analysts", - "frameworkName": "bls" - }, - { - "code": "15-1240", - "targetNodeName": "Database and Network Administrators and Architects", - "frameworkName": "bls" - }, - { - "code": "15-1241", - "targetNodeName": "Computer Network Architects", - "frameworkName": "bls" - }, - { - "code": "15-1244", - "targetNodeName": "Network and Computer Systems Administrators", - "frameworkName": "bls" - }, - { - "code": "15-1250", - "targetNodeName": "Software and Web Developers, Programmers, and Testers", - "frameworkName": "bls" - }, - { - "code": "15-1256" - }, - { - "code": "15-1259" - }, - { - "code": "15-1290", - "targetNodeName": "Miscellaneous Computer Occupations", - "frameworkName": "bls" - } - ] - }, - { - "id": "http://localhost:8080/api/skills/40bf4278-6ead-48ca-87d6-ac799e43a332", - "uuid": "40bf4278-6ead-48ca-87d6-ac799e43a332", - "status": "published", - "publishDate": "2023-03-30T13:02:06.931658", - "archiveDate": null, - "skillName": "Backup Hardware Determination", - "skillStatement": "Determine the hardware needed for the backup of a device's data.", - "categories": [ - "Backup Devices" - ], - "keywords": [ - "Western Governors University", - "NICE_AN_LNG", - "NICE_OM_ANA", - "NICE_PR_CIR", - "NICE_OM_DTA", - "NICE_OM_NET", - "NICE_OM_ADM", - "NICE_PR_VAM", - "Comp_TIA_A+", - "Comp_TIA_IT_Operations_Specialist", - "Backup Devices", - "Backup Devices", - "WGUSID: 10468", - "Backup Devices" - ], - "occupations": [ - { - "code": "15-0000", - "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls" - }, - { - "code": "15-1200", - "targetNodeName": "Computer Occupations", - "frameworkName": "bls" - }, - { - "code": "15-1240", - "targetNodeName": "Database and Network Administrators and Architects", - "frameworkName": "bls" - }, - { - "code": "15-1244", - "targetNodeName": "Network and Computer Systems Administrators", - "frameworkName": "bls" - }, - { - "code": "15-1245" - }, - { - "code": "15-1250", - "targetNodeName": "Software and Web Developers, Programmers, and Testers", - "frameworkName": "bls" - }, - { - "code": "15-1259" - }, - { - "code": "15-1290", - "targetNodeName": "Miscellaneous Computer Occupations", - "frameworkName": "bls" - } - ] - }, - { - "id": "http://localhost:8080/api/skills/e42429fb-edc8-4ff5-ab5a-583ab05effac", - "uuid": "e42429fb-edc8-4ff5-ab5a-583ab05effac", - "status": "published", - "publishDate": "2023-03-30T13:02:06.985954", - "archiveDate": null, - "skillName": "Determine Files Needing Backup", - "skillStatement": "Determine which files must be backed up from one device to another.", - "categories": [ - "Backup Devices" - ], - "keywords": [ - "Western Governors University", - "NICE_AN_LNG", - "NICE_PR_CIR", - "NICE_OM_DTA", - "NICE_PR_VAM", - "Comp_TIA_A+", - "Comp_TIA_IT_Operations_Specialist", - "Backup Devices", - "Backup Devices", - "Backup Devices", - "WGUSID: 10466" - ], - "occupations": [ - { - "code": "15-0000", - "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls" - }, - { - "code": "15-1200", - "targetNodeName": "Computer Occupations", - "frameworkName": "bls" - }, - { - "code": "15-1240", - "targetNodeName": "Database and Network Administrators and Architects", - "frameworkName": "bls" - }, - { - "code": "15-1244", - "targetNodeName": "Network and Computer Systems Administrators", - "frameworkName": "bls" - }, - { - "code": "15-1245" - }, - { - "code": "15-1250", - "targetNodeName": "Software and Web Developers, Programmers, and Testers", - "frameworkName": "bls" - }, - { - "code": "15-1259" - }, - { - "code": "15-1290", - "targetNodeName": "Miscellaneous Computer Occupations", - "frameworkName": "bls" - } - ] - }, - { - "id": "http://localhost:8080/api/skills/8501c68e-3615-420f-8735-35e3d33ad7fe", - "uuid": "8501c68e-3615-420f-8735-35e3d33ad7fe", - "status": "published", - "publishDate": "2023-03-30T13:02:07.045357", - "archiveDate": null, - "skillName": "Perform Manual Backup", - "skillStatement": "Perform manual backups of data from a device.", - "categories": [ - "Backup Devices" - ], - "keywords": [ - "Western Governors University", - "NICE_AN_LNG", - "NICE_OM_ANA", - "NICE_PR_CIR", - "NICE_OM_DTA", - "NICE_OM_ADM", - "NICE_PR_VAM", - "Comp_TIA_A+", - "Comp_TIA_IT_Operations_Specialist", - "Backup Devices", - "Backup Devices", - "Backup Devices", - "WGUSID: 10470" - ], - "occupations": [ - { - "code": "15-0000", - "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls" - }, - { - "code": "15-1200", - "targetNodeName": "Computer Occupations", - "frameworkName": "bls" - }, - { - "code": "15-1240", - "targetNodeName": "Database and Network Administrators and Architects", - "frameworkName": "bls" - }, - { - "code": "15-1244", - "targetNodeName": "Network and Computer Systems Administrators", - "frameworkName": "bls" - }, - { - "code": "15-1250", - "targetNodeName": "Software and Web Developers, Programmers, and Testers", - "frameworkName": "bls" - }, - { - "code": "15-1259" - }, - { - "code": "15-1290", - "targetNodeName": "Miscellaneous Computer Occupations", - "frameworkName": "bls" - } - ] - }, - { - "id": "http://localhost:8080/api/skills/957a2791-5eaf-4005-9fee-46d1c7c4727e", - "uuid": "957a2791-5eaf-4005-9fee-46d1c7c4727e", - "status": "published", - "publishDate": "2023-03-30T13:02:07.095854", - "archiveDate": null, - "skillName": "Border Gateway Protocol Solution Implementation", - "skillStatement": "Implement Border Gateway Protocol solutions.", - "categories": [ - "Border Gateway Protocol" - ], - "keywords": [ - "Western Governors University", - "NICE_AN_LNG", - "NICE_PR_INF", - "NICE_OM_NET", - "CompTia_Network+", - "300-415_ENSDWI", - "300-410_ENARSI", - "350-401_ENCOR", - "Comp_TIA_IT_Operations_Specialist", - "Comp_TIA_Secure_Infrastructure_Specialist", - "Comp_TIA_Security_+", - "Border Gateway Protocol", - "Border Gateway Protocol", - "Border Gateway Protocol", - "WGUSID: 10488" - ], - "occupations": [ - { - "code": "15-0000", - "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls" - }, - { - "code": "15-1200", - "targetNodeName": "Computer Occupations", - "frameworkName": "bls" - }, - { - "code": "15-1240", - "targetNodeName": "Database and Network Administrators and Architects", - "frameworkName": "bls" - }, - { - "code": "15-1241", - "targetNodeName": "Computer Network Architects", - "frameworkName": "bls" - }, - { - "code": "15-1244", - "targetNodeName": "Network and Computer Systems Administrators", - "frameworkName": "bls" - } - ] - }, - { - "id": "http://localhost:8080/api/skills/611e3797-3597-4dde-afc9-0f1e7d575baa", - "uuid": "611e3797-3597-4dde-afc9-0f1e7d575baa", - "status": "published", - "publishDate": "2023-03-30T13:02:08.201086", - "archiveDate": null, - "skillName": "Implementation", - "skillStatement": "Implement continuity plans during the time of a disaster.", - "categories": [ - "Business Continuity Planning" - ], - "keywords": [ - "Western Governors University", - "AZ-304", - "AZ-303", - "AZ-900", - "AZ-204", - "AZ DP-203", - "AZ-104", - "Business Continuity Planning", - "Business Continuity Planning", - "Business Continuity Planning", - "WGUSID: 4367" - ], - "occupations": [ - { - "code": "11-0000", - "targetNodeName": "Management Occupations", - "frameworkName": "bls" - }, - { - "code": "11-3000", - "targetNodeName": "Operations Specialties Managers", - "frameworkName": "bls" - }, - { - "code": "11-3020", - "targetNodeName": "Computer and Information Systems Managers", - "frameworkName": "bls" - }, - { - "code": "11-3021", - "targetNodeName": "Computer and Information Systems Managers", - "frameworkName": "bls" - }, - { - "code": "15-0000", - "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls" - }, - { - "code": "15-1200", - "targetNodeName": "Computer Occupations", - "frameworkName": "bls" - }, - { - "code": "15-1210", - "targetNodeName": "Computer and Information Analysts", - "frameworkName": "bls" - }, - { - "code": "15-1211", - "targetNodeName": "Computer Systems Analysts", - "frameworkName": "bls" - }, - { - "code": "15-1230", - "targetNodeName": "Computer Support Specialists", - "frameworkName": "bls" - }, - { - "code": "15-1231", - "targetNodeName": "Computer Network Support Specialists", - "frameworkName": "bls" - }, - { - "code": "15-1232", - "targetNodeName": "Computer User Support Specialists", - "frameworkName": "bls" - }, - { - "code": "15-1240", - "targetNodeName": "Database and Network Administrators and Architects", - "frameworkName": "bls" - }, - { - "code": "15-1241", - "targetNodeName": "Computer Network Architects", - "frameworkName": "bls" - }, - { - "code": "15-1244", - "targetNodeName": "Network and Computer Systems Administrators", - "frameworkName": "bls" - }, - { - "code": "15-1245" - } - ] + "type": "RichSkillCollection", + "name": "IT Network", + "id": "http://localhost:8080/api/collections/42d882da-aec3-4e0d-9582-c8559912a9c6", + "owner": "", + "description": "Computer Networking in Information Technology", + "creationDate": "2023-02-28T00:03:27.027403Z", + "updateDate": "2023-07-06T20:12:46.09511Z", + "archiveDate": null, + "publishDate": "2023-03-30T13:00:49.220887Z", + "uuid": "42d882da-aec3-4e0d-9582-c8559912a9c6", + "skills": [ + { + "id": "http://localhost:8080/api/skills/f6538cc1-8fdf-4f11-b373-781571b386bf", + "uuid": "f6538cc1-8fdf-4f11-b373-781571b386bf", + "status": "published", + "publishDate": "2023-03-30T13:02:07.152054", + "archiveDate": null, + "skillName": "Validation and Troubleshooting", + "skillStatement": "Validate authorization and authentication runbooks and troubleshoots procedures (SOPs), and troubleshoots advanced authentication and authorization issues.", + "categories": [ + "Authentications" + ], + "keywords": [ + "Western Governors University", + "AZ-304", + "AZ-303", + "AZ-900", + "AZ-204", + "AZ DP-203", + "AZ-104", + "Authentications", + "Authentications", + "Authentication", + "SafeNet", + "Authorization (Computing)", + "WGUSID: 1619.1", + "Authentications" + ], + "occupations": [ + { + "id": 1, + "code": "11-0000", + "targetNodeName": "Management Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 + }, + { + "id": 18, + "code": "11-3000", + "targetNodeName": "Operations Specialties Managers", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 22, + "code": "11-3020", + "targetNodeName": "Computer and Information Systems Managers", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 23, + "code": "11-3021", + "targetNodeName": "Computer and Information Systems Managers", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 135, + "code": "15-0000", + "targetNodeName": "Computer and Mathematical Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 + }, + { + "id": 136, + "code": "15-1200", + "targetNodeName": "Computer Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 137, + "code": "15-1210", + "targetNodeName": "Computer and Information Analysts", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 138, + "code": "15-1211", + "targetNodeName": "Computer Systems Analysts", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 142, + "code": "15-1230", + "targetNodeName": "Computer Support Specialists", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 143, + "code": "15-1231", + "targetNodeName": "Computer Network Support Specialists", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 144, + "code": "15-1232", + "targetNodeName": "Computer User Support Specialists", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 145, + "code": "15-1240", + "targetNodeName": "Database and Network Administrators and Architects", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 146, + "code": "15-1241", + "targetNodeName": "Computer Network Architects", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 149, + "code": "15-1244", + "targetNodeName": "Network and Computer Systems Administrators", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 2498, + "code": "15-1245", + "jobCodeLevelAsNumber": 4 } - ], - "author": "OSMT Developer", - "status": "published", - "archiveDate": null, - "publishDate": "2023-03-30T13:00:49.220887Z", - "creationDate": "2023-02-28T00:03:27.027403Z", - "updateDate": "2023-06-21T14:32:22.427359Z", - "description": "Computer Networking in Information Technology", - "skillKeywords": { - "Alignment": [ - { - "keyword": { - "id": "https://skills.emsidata.com/skills/KS1203M5X6LQVSRTW88J", - "skillName": "Access Network" - }, - "count": 4 - }, - { - "keyword": { - "id": "https://skills.emsidata.com/skills/KS1205G5ZKS8ZZWVPM9Y", - "skillName": "Active Directory" - }, - "count": 2 - }, - { - "keyword": { - "id": "https://skills.emsidata.com/skills/KS1208P6ZMZ4N872Y7X5", - "skillName": "Application Programming Interface (API)" - }, - "count": 2 - }, - { - "keyword": { - "id": "https://skills.emsidata.com/skills/KS120B874P2P6BK1MQ0T", - "skillName": "Agile Methodology" - }, - "count": 4 - }, - { - "keyword": { - "id": "https://skills.emsidata.com/skills/KS120FG6YP8PQYYNQY9B", - "skillName": "Amazon Web Services" - }, - "count": 2 - }, - { - "keyword": { - "id": "https://skills.emsidata.com/skills/KS120S165SXK6CKVK77P", - "skillName": "Authentications" - }, - "count": 2 - }, - { - "keyword": { - "id": "https://skills.emsidata.com/skills/KS120VW6JMZHZXZGD72C", - "skillName": "Backup Devices" - }, - "count": 3 - }, - { - "keyword": { - "id": "https://skills.emsidata.com/skills/KS120ZX6H5TZTL8P9N3F", - "skillName": "Border Gateway Protocol" - }, - "count": 1 - }, - { - "keyword": { - "id": "https://skills.emsidata.com/skills/KS1218H6QYLZC35BYH32", - "skillName": "Business Continuity Planning" - }, - "count": 1 - }, - { - "keyword": { - "id": "https://skills.emsidata.com/skills/KS442325XYQ2CZR1VB7N", - "skillName": "Backup And Restore" - }, - "count": 3 - } - ], - "Author": [ - { - "keyword": "OSMT Developer", - "count": 2 - }, - { - "keyword": "Software Developer", - "count": 1 - }, - { - "keyword": "Western Governors University", - "count": 24 - } - ], - "Category": [ - { - "keyword": "Access Network", - "count": 4 - }, - { - "keyword": "Active Directory", - "count": 2 - }, - { - "keyword": "Agile Methodology", - "count": 4 - }, - { - "keyword": "Amazon Web Services", - "count": 2 - }, - { - "keyword": "Application Programming Interface (API)", - "count": 2 - }, - { - "keyword": "Authentications", - "count": 2 - }, - { - "keyword": "Backup And Restore", - "count": 3 - }, - { - "keyword": "Backup Devices", - "count": 3 - }, - { - "keyword": "Border Gateway Protocol", - "count": 1 - }, - { - "keyword": "Business Continuity Planning", - "count": 1 - }, - { - "keyword": "Software Development", - "count": 1 - } - ], - "Certification": [ - { - "keyword": { - "name": "200-901_DEVASC" - }, - "count": 1 - }, - { - "keyword": { - "name": "300-410_ENARSI" - }, - "count": 2 - }, - { - "keyword": { - "name": "300-415_ENSDWI" - }, - "count": 1 - }, - { - "keyword": { - "name": "300-420_ENSLD" - }, - "count": 1 - }, - { - "keyword": { - "name": "300-435_ENAUTO" - }, - "count": 1 - }, - { - "keyword": { - "name": "300-835_CLAUTO" - }, - "count": 1 - }, - { - "keyword": { - "name": "300-910_DEVOPS" - }, - "count": 1 - }, - { - "keyword": { - "name": "300-915_DEVIOT" - }, - "count": 1 - }, - { - "keyword": { - "name": "300-920_DEVWBX" - }, - "count": 1 - }, - { - "keyword": { - "name": "350-201_CBRCOR" - }, - "count": 2 - }, - { - "keyword": { - "name": "350-401_ENCOR" - }, - "count": 2 - }, - { - "keyword": { - "name": "350-901_DEVCOR" - }, - "count": 1 - }, - { - "keyword": { - "name": "AZ DP-203" - }, - "count": 3 - }, - { - "keyword": { - "name": "AZ-104" - }, - "count": 3 - }, - { - "keyword": { - "name": "AZ-204" - }, - "count": 3 - }, - { - "keyword": { - "name": "AZ-303" - }, - "count": 3 - }, - { - "keyword": { - "name": "AZ-304" - }, - "count": 3 - }, - { - "keyword": { - "name": "AZ-900" - }, - "count": 3 - }, - { - "keyword": { - "name": "Amazon_AWS_SysOps_Admin_Associate" - }, - "count": 2 - }, - { - "keyword": { - "name": "CompTIA_ITF+" - }, - "count": 3 - }, - { - "keyword": { - "name": "CompTia_Network+" - }, - "count": 1 - }, - { - "keyword": { - "name": "Comp_TIA_A+" - }, - "count": 6 - }, - { - "keyword": { - "name": "Comp_TIA_IT_Operations_Specialist" - }, - "count": 7 - }, - { - "keyword": { - "name": "Comp_TIA_Secure_Infrastructure_Specialist" - }, - "count": 1 - }, - { - "keyword": { - "name": "Comp_TIA_Security_+" - }, - "count": 1 - } - ], - "Employer": [], - "Keyword": [ - { - "keyword": "Access Network", - "count": 4 - }, - { - "keyword": "Active Directory", - "count": 2 - }, - { - "keyword": "Agile Methodology", - "count": 4 - }, - { - "keyword": "Amazon Web Services", - "count": 2 - }, - { - "keyword": "Application Programming Interface (API)", - "count": 2 - }, - { - "keyword": "Authentication", - "count": 2 - }, - { - "keyword": "Authentications", - "count": 2 - }, - { - "keyword": "Authorization (Computing)", - "count": 2 - }, - { - "keyword": "Backup And Restore", - "count": 3 - }, - { - "keyword": "Backup Devices", - "count": 3 - }, - { - "keyword": "Border Gateway Protocol", - "count": 1 - }, - { - "keyword": "Business Continuity Planning", - "count": 1 - }, - { - "keyword": "Cloud Computing", - "count": 2 - }, - { - "keyword": "Eclipse", - "count": 1 - }, - { - "keyword": "Features", - "count": 1 - }, - { - "keyword": "Kanban Board", - "count": 1 - }, - { - "keyword": "Performance", - "count": 1 - }, - { - "keyword": "Routers", - "count": 1 - }, - { - "keyword": "SCRUM", - "count": 1 - }, - { - "keyword": "SafeNet", - "count": 2 - }, - { - "keyword": "Schema", - "count": 1 - }, - { - "keyword": "Site Links", - "count": 1 - }, - { - "keyword": "Visual Studio", - "count": 1 - }, - { - "keyword": "Visual Studio Code", - "count": 1 - }, - { - "keyword": "WGUSID: 10407", - "count": 1 - }, - { - "keyword": "WGUSID: 10408", - "count": 1 - }, - { - "keyword": "WGUSID: 10410", - "count": 1 - }, - { - "keyword": "WGUSID: 10411", - "count": 1 - }, - { - "keyword": "WGUSID: 10416", - "count": 1 - }, - { - "keyword": "WGUSID: 10418", - "count": 1 - }, - { - "keyword": "WGUSID: 10423", - "count": 1 - }, - { - "keyword": "WGUSID: 10425", - "count": 1 - }, - { - "keyword": "WGUSID: 10427", - "count": 1 - }, - { - "keyword": "WGUSID: 10428", - "count": 1 - }, - { - "keyword": "WGUSID: 10441", - "count": 1 - }, - { - "keyword": "WGUSID: 10442", - "count": 1 - }, - { - "keyword": "WGUSID: 10460", - "count": 1 - }, - { - "keyword": "WGUSID: 10461", - "count": 1 - }, - { - "keyword": "WGUSID: 10462", - "count": 1 - }, - { - "keyword": "WGUSID: 10463", - "count": 1 - }, - { - "keyword": "WGUSID: 10466", - "count": 1 - }, - { - "keyword": "WGUSID: 10468", - "count": 1 - }, - { - "keyword": "WGUSID: 10470", - "count": 1 - }, - { - "keyword": "WGUSID: 10488", - "count": 1 - }, - { - "keyword": "WGUSID: 1619", - "count": 1 - }, - { - "keyword": "WGUSID: 1619.1", - "count": 1 - }, - { - "keyword": "WGUSID: 4367", - "count": 1 - }, - { - "keyword": "WGUSID: 592", - "count": 1 - }, - { - "keyword": "design", - "count": 1 - }, - { - "keyword": "monitor", - "count": 1 - }, - { - "keyword": "specifications", - "count": 1 - } - ], - "Standard": [ - { - "keyword": { - "skillName": "NICE_SP_DEV" - }, - "count": 3 - }, - { - "keyword": { - "skillName": "NICE_SP_ARC" - }, - "count": 3 - }, - { - "keyword": { - "skillName": "NICE_SP_SYS" - }, - "count": 3 - }, - { - "keyword": { - "skillName": "NICE_AN_LNG" - }, - "count": 7 - }, - { - "keyword": { - "skillName": "NICE_PR_CIR" - }, - "count": 6 - }, - { - "keyword": { - "skillName": "NICE_PR_INF" - }, - "count": 3 - }, - { - "keyword": { - "skillName": "NICE_OM_DTA" - }, - "count": 6 - }, - { - "keyword": { - "skillName": "NICE_OM_NET" - }, - "count": 4 - }, - { - "keyword": { - "skillName": "NICE_OM_ADM" - }, - "count": 5 - }, - { - "keyword": { - "skillName": "NICE_PR_VAM" - }, - "count": 6 - }, - { - "keyword": { - "skillName": "NICE_AN_TWA" - }, - "count": 1 - }, - { - "keyword": { - "skillName": "NICE_AN_EXP" - }, - "count": 1 - }, - { - "keyword": { - "skillName": "NICE_AN_ASA" - }, - "count": 1 - }, - { - "keyword": { - "skillName": "NICE_AN_TGT" - }, - "count": 1 - }, - { - "keyword": { - "skillName": "NICE_CO_CLO" - }, - "count": 1 - }, - { - "keyword": { - "skillName": "NICE_CO_OPL" - }, - "count": 1 - }, - { - "keyword": { - "skillName": "NICE_CO_OPS" - }, - "count": 1 - }, - { - "keyword": { - "skillName": "NICE_OM_ANA" - }, - "count": 2 - } - ] + ] + }, + { + "id": "http://localhost:8080/api/skills/aabb1eee-48b7-4d46-b4e0-fb584285627d", + "uuid": "aabb1eee-48b7-4d46-b4e0-fb584285627d", + "status": "published", + "publishDate": "2023-03-30T13:02:07.221572", + "archiveDate": null, + "skillName": "Authentication Access Creation", + "skillStatement": "Create group and system authentication access.", + "categories": [ + "Authentications" + ], + "keywords": [ + "Western Governors University", + "AZ-304", + "AZ-303", + "AZ-900", + "AZ-204", + "AZ DP-203", + "AZ-104", + "Authentications", + "Authentications", + "Authentication", + "SafeNet", + "Authorization (Computing)", + "Authentications", + "WGUSID: 1619" + ], + "occupations": [ + { + "id": 1, + "code": "11-0000", + "targetNodeName": "Management Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 + }, + { + "id": 18, + "code": "11-3000", + "targetNodeName": "Operations Specialties Managers", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 22, + "code": "11-3020", + "targetNodeName": "Computer and Information Systems Managers", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 23, + "code": "11-3021", + "targetNodeName": "Computer and Information Systems Managers", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 135, + "code": "15-0000", + "targetNodeName": "Computer and Mathematical Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 + }, + { + "id": 136, + "code": "15-1200", + "targetNodeName": "Computer Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 137, + "code": "15-1210", + "targetNodeName": "Computer and Information Analysts", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 138, + "code": "15-1211", + "targetNodeName": "Computer Systems Analysts", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 142, + "code": "15-1230", + "targetNodeName": "Computer Support Specialists", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 143, + "code": "15-1231", + "targetNodeName": "Computer Network Support Specialists", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 144, + "code": "15-1232", + "targetNodeName": "Computer User Support Specialists", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 145, + "code": "15-1240", + "targetNodeName": "Database and Network Administrators and Architects", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 146, + "code": "15-1241", + "targetNodeName": "Computer Network Architects", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 149, + "code": "15-1244", + "targetNodeName": "Network and Computer Systems Administrators", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 2498, + "code": "15-1245", + "jobCodeLevelAsNumber": 4 + } + ] + }, + { + "id": "http://localhost:8080/api/skills/cad699ef-64b9-40ee-81db-b5de69a90558", + "uuid": "cad699ef-64b9-40ee-81db-b5de69a90558", + "status": "published", + "publishDate": "2023-03-30T13:02:05.928479", + "archiveDate": null, + "skillName": "Network Connection Design", + "skillStatement": "Design network connections between a core network and an internet service provider.", + "categories": [ + "Access Network" + ], + "keywords": [ + "Western Governors University", + "design", + "300-420_ENSLD", + "Access Network", + "Access Network", + "WGUSID: 10407", + "Access Network", + "OSMT Developer" + ], + "occupations": [ + { + "id": 135, + "code": "15-0000", + "targetNodeName": "Computer and Mathematical Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 + }, + { + "id": 136, + "code": "15-1200", + "targetNodeName": "Computer Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 142, + "code": "15-1230", + "targetNodeName": "Computer Support Specialists", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 143, + "code": "15-1231", + "targetNodeName": "Computer Network Support Specialists", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 145, + "code": "15-1240", + "targetNodeName": "Database and Network Administrators and Architects", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 146, + "code": "15-1241", + "targetNodeName": "Computer Network Architects", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 149, + "code": "15-1244", + "targetNodeName": "Network and Computer Systems Administrators", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + } + ] + }, + { + "id": "http://localhost:8080/api/skills/3ceba681-28fd-468f-91f1-223aa7a0a96a", + "uuid": "3ceba681-28fd-468f-91f1-223aa7a0a96a", + "status": "published", + "publishDate": "2023-03-30T13:02:06.083817", + "archiveDate": null, + "skillName": "Network Router Performance Monitoring", + "skillStatement": "Monitor network routers for performance issues.", + "categories": [ + "Access Network" + ], + "keywords": [ + "Western Governors University", + "CompTIA_ITF+", + "Performance", + "monitor", + "Access Network", + "Access Network", + "Access Network", + "WGUSID: 10411" + ], + "occupations": [ + { + "id": 135, + "code": "15-0000", + "targetNodeName": "Computer and Mathematical Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 + }, + { + "id": 136, + "code": "15-1200", + "targetNodeName": "Computer Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 142, + "code": "15-1230", + "targetNodeName": "Computer Support Specialists", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 143, + "code": "15-1231", + "targetNodeName": "Computer Network Support Specialists", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 145, + "code": "15-1240", + "targetNodeName": "Database and Network Administrators and Architects", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 146, + "code": "15-1241", + "targetNodeName": "Computer Network Architects", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 149, + "code": "15-1244", + "targetNodeName": "Network and Computer Systems Administrators", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + } + ] + }, + { + "id": "http://localhost:8080/api/skills/d53bdeb9-f7fc-449a-baaf-b5e284e29c58", + "uuid": "d53bdeb9-f7fc-449a-baaf-b5e284e29c58", + "status": "published", + "publishDate": "2023-03-30T13:02:06.139052", + "archiveDate": null, + "skillName": "Network Router Security Monitoring", + "skillStatement": "Monitor network routers for security issues.", + "categories": [ + "Access Network" + ], + "keywords": [ + "Western Governors University", + "CompTIA_ITF+", + "350-201_CBRCOR", + "Access Network", + "Access Network", + "Access Network", + "Routers", + "WGUSID: 10410" + ], + "occupations": [ + { + "id": 135, + "code": "15-0000", + "targetNodeName": "Computer and Mathematical Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 + }, + { + "id": 136, + "code": "15-1200", + "targetNodeName": "Computer Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 142, + "code": "15-1230", + "targetNodeName": "Computer Support Specialists", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 143, + "code": "15-1231", + "targetNodeName": "Computer Network Support Specialists", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 145, + "code": "15-1240", + "targetNodeName": "Database and Network Administrators and Architects", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 146, + "code": "15-1241", + "targetNodeName": "Computer Network Architects", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 149, + "code": "15-1244", + "targetNodeName": "Network and Computer Systems Administrators", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + } + ] + }, + { + "id": "http://localhost:8080/api/skills/398f0acd-d6a9-49af-9b7f-48a2f9b1e800", + "uuid": "398f0acd-d6a9-49af-9b7f-48a2f9b1e800", + "status": "published", + "publishDate": "2023-03-30T13:02:06.197601", + "archiveDate": null, + "skillName": "Router Network Traffic Configuration", + "skillStatement": "Configure network routers for traffic between a core network and an internet service provider.", + "categories": [ + "Access Network" + ], + "keywords": [ + "Western Governors University", + "300-410_ENARSI", + "350-401_ENCOR", + "Access Network", + "Access Network", + "Access Network", + "WGUSID: 10408" + ], + "occupations": [ + { + "id": 135, + "code": "15-0000", + "targetNodeName": "Computer and Mathematical Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 + }, + { + "id": 136, + "code": "15-1200", + "targetNodeName": "Computer Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 142, + "code": "15-1230", + "targetNodeName": "Computer Support Specialists", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 143, + "code": "15-1231", + "targetNodeName": "Computer Network Support Specialists", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 145, + "code": "15-1240", + "targetNodeName": "Database and Network Administrators and Architects", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 146, + "code": "15-1241", + "targetNodeName": "Computer Network Architects", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 149, + "code": "15-1244", + "targetNodeName": "Network and Computer Systems Administrators", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + } + ] + }, + { + "id": "http://localhost:8080/api/skills/6198382a-9b80-4cb9-ad06-777b2c7a22e4", + "uuid": "6198382a-9b80-4cb9-ad06-777b2c7a22e4", + "status": "published", + "publishDate": "2023-03-30T13:02:06.268258", + "archiveDate": null, + "skillName": "Active Directory Replication Configuration", + "skillStatement": "Implement schema extensions for Active Directory.", + "categories": [ + "Active Directory" + ], + "keywords": [ + "Western Governors University", + "Active Directory", + "Active Directory", + "Active Directory", + "Site Links", + "WGUSID: 10418" + ], + "occupations": [ + { + "id": 135, + "code": "15-0000", + "targetNodeName": "Computer and Mathematical Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 + }, + { + "id": 136, + "code": "15-1200", + "targetNodeName": "Computer Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 145, + "code": "15-1240", + "targetNodeName": "Database and Network Administrators and Architects", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 146, + "code": "15-1241", + "targetNodeName": "Computer Network Architects", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 149, + "code": "15-1244", + "targetNodeName": "Network and Computer Systems Administrators", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + } + ] + }, + { + "id": "http://localhost:8080/api/skills/c0544c43-1b6a-4593-aa85-9b31db2dd2bf", + "uuid": "c0544c43-1b6a-4593-aa85-9b31db2dd2bf", + "status": "published", + "publishDate": "2023-03-30T13:02:06.316262", + "archiveDate": null, + "skillName": "Active Directory Schema Extensions Implementation", + "skillStatement": "Configure forest and domain trusts for Active Directory.", + "categories": [ + "Active Directory" + ], + "keywords": [ + "Western Governors University", + "Active Directory", + "Active Directory", + "Active Directory", + "Schema", + "WGUSID: 10416" + ], + "occupations": [ + { + "id": 135, + "code": "15-0000", + "targetNodeName": "Computer and Mathematical Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 + }, + { + "id": 136, + "code": "15-1200", + "targetNodeName": "Computer Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 145, + "code": "15-1240", + "targetNodeName": "Database and Network Administrators and Architects", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 146, + "code": "15-1241", + "targetNodeName": "Computer Network Architects", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 149, + "code": "15-1244", + "targetNodeName": "Network and Computer Systems Administrators", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + } + ] + }, + { + "id": "http://localhost:8080/api/skills/3449eae9-f52f-47cc-9ece-a16035659680", + "uuid": "3449eae9-f52f-47cc-9ece-a16035659680", + "status": "published", + "publishDate": "2023-03-30T13:02:08.094886", + "archiveDate": null, + "skillName": "Agile Kanban Board Management", + "skillStatement": "Manage project feature progress with agile Kanban boards.", + "categories": [ + "Agile Methodology" + ], + "keywords": [ + "Western Governors University", + "Agile Methodology", + "Agile Methodology", + "Kanban Board", + "WGUSID: 10428", + "Agile Methodology" + ], + "occupations": [ + { + "id": 135, + "code": "15-0000", + "targetNodeName": "Computer and Mathematical Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 + }, + { + "id": 136, + "code": "15-1200", + "targetNodeName": "Computer Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 145, + "code": "15-1240", + "targetNodeName": "Database and Network Administrators and Architects", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 149, + "code": "15-1244", + "targetNodeName": "Network and Computer Systems Administrators", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 2498, + "code": "15-1245", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 150, + "code": "15-1250", + "targetNodeName": "Software and Web Developers, Programmers, and Testers", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 151, + "code": "15-1251", + "targetNodeName": "Computer Programmers", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 2465, + "code": "15-1256", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 2466, + "code": "15-1257", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 2499, + "code": "15-1259", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 156, + "code": "15-1290", + "targetNodeName": "Miscellaneous Computer Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + } + ] + }, + { + "id": "http://localhost:8080/api/skills/5069cebe-102e-40ca-a2a8-7e06cfd0214b", + "uuid": "5069cebe-102e-40ca-a2a8-7e06cfd0214b", + "status": "published", + "publishDate": "2023-03-30T13:02:06.365596", + "archiveDate": null, + "skillName": "Agile Scrum Board Management", + "skillStatement": "Manage project feature progress with agile scrum boards.", + "categories": [ + "Agile Methodology" + ], + "keywords": [ + "Western Governors University", + "CompTIA_ITF+", + "Agile Methodology", + "Agile Methodology", + "Agile Methodology", + "SCRUM", + "Features", + "WGUSID: 10427" + ], + "occupations": [ + { + "id": 135, + "code": "15-0000", + "targetNodeName": "Computer and Mathematical Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 + }, + { + "id": 136, + "code": "15-1200", + "targetNodeName": "Computer Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 145, + "code": "15-1240", + "targetNodeName": "Database and Network Administrators and Architects", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 149, + "code": "15-1244", + "targetNodeName": "Network and Computer Systems Administrators", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 2498, + "code": "15-1245", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 150, + "code": "15-1250", + "targetNodeName": "Software and Web Developers, Programmers, and Testers", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 2465, + "code": "15-1256", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 2466, + "code": "15-1257", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 2499, + "code": "15-1259", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 156, + "code": "15-1290", + "targetNodeName": "Miscellaneous Computer Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + } + ] + }, + { + "id": "http://localhost:8080/api/skills/2355dad8-d1ef-47f8-a663-899473ad2ce2", + "uuid": "2355dad8-d1ef-47f8-a663-899473ad2ce2", + "status": "published", + "publishDate": "2023-03-30T13:02:06.415145", + "archiveDate": null, + "skillName": "Agile Solutions Development", + "skillStatement": "Communicate blocking issues during the development cycle.", + "categories": [ + "Agile Methodology" + ], + "keywords": [ + "Western Governors University", + "specifications", + "Agile Methodology", + "Agile Methodology", + "Agile Methodology", + "WGUSID: 10423" + ], + "occupations": [ + { + "id": 135, + "code": "15-0000", + "targetNodeName": "Computer and Mathematical Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 + }, + { + "id": 136, + "code": "15-1200", + "targetNodeName": "Computer Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 137, + "code": "15-1210", + "targetNodeName": "Computer and Information Analysts", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 138, + "code": "15-1211", + "targetNodeName": "Computer Systems Analysts", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 145, + "code": "15-1240", + "targetNodeName": "Database and Network Administrators and Architects", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 149, + "code": "15-1244", + "targetNodeName": "Network and Computer Systems Administrators", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 150, + "code": "15-1250", + "targetNodeName": "Software and Web Developers, Programmers, and Testers", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 151, + "code": "15-1251", + "targetNodeName": "Computer Programmers", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 2465, + "code": "15-1256", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 2499, + "code": "15-1259", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 156, + "code": "15-1290", + "targetNodeName": "Miscellaneous Computer Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + } + ] + }, + { + "id": "http://localhost:8080/api/skills/c3c19663-2c8c-4183-9120-6f35c25154bf", + "uuid": "c3c19663-2c8c-4183-9120-6f35c25154bf", + "status": "published", + "publishDate": "2023-03-30T13:02:06.471546", + "archiveDate": null, + "skillName": "Internal Partners Agile Project Goal Accomplishment", + "skillStatement": "Accomplish agile project goals through collaboration with internal partners.", + "categories": [ + "Agile Methodology" + ], + "keywords": [ + "Western Governors University", + "Agile Methodology", + "Agile Methodology", + "Agile Methodology", + "WGUSID: 10425" + ], + "occupations": [ + { + "id": 135, + "code": "15-0000", + "targetNodeName": "Computer and Mathematical Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 + }, + { + "id": 136, + "code": "15-1200", + "targetNodeName": "Computer Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 137, + "code": "15-1210", + "targetNodeName": "Computer and Information Analysts", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 138, + "code": "15-1211", + "targetNodeName": "Computer Systems Analysts", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 145, + "code": "15-1240", + "targetNodeName": "Database and Network Administrators and Architects", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 149, + "code": "15-1244", + "targetNodeName": "Network and Computer Systems Administrators", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 2498, + "code": "15-1245", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 150, + "code": "15-1250", + "targetNodeName": "Software and Web Developers, Programmers, and Testers", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 151, + "code": "15-1251", + "targetNodeName": "Computer Programmers", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 2465, + "code": "15-1256", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 2466, + "code": "15-1257", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 2499, + "code": "15-1259", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 156, + "code": "15-1290", + "targetNodeName": "Miscellaneous Computer Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + } + ] + }, + { + "id": "http://localhost:8080/api/skills/4ec5611d-675a-4c5d-9da7-429efd8d3040", + "uuid": "4ec5611d-675a-4c5d-9da7-429efd8d3040", + "status": "published", + "publishDate": "2023-03-30T13:02:06.525693", + "archiveDate": null, + "skillName": "Cloud Computing Environment Deployment", + "skillStatement": "Deploy a cloud computing environment in Amazon Web Services (AWS).", + "categories": [ + "Amazon Web Services" + ], + "keywords": [ + "Western Governors University", + "Amazon Web Services", + "Cloud Computing", + "Amazon_AWS_SysOps_Admin_Associate", + "Amazon Web Services", + "WGUSID: 10441", + "Amazon Web Services" + ], + "occupations": [ + { + "id": 135, + "code": "15-0000", + "targetNodeName": "Computer and Mathematical Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 + }, + { + "id": 136, + "code": "15-1200", + "targetNodeName": "Computer Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 145, + "code": "15-1240", + "targetNodeName": "Database and Network Administrators and Architects", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 149, + "code": "15-1244", + "targetNodeName": "Network and Computer Systems Administrators", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + } + ] + }, + { + "id": "http://localhost:8080/api/skills/a0ae4134-6f69-43cc-b536-7c09ab45fdf5", + "uuid": "a0ae4134-6f69-43cc-b536-7c09ab45fdf5", + "status": "published", + "publishDate": "2023-03-30T13:02:06.575322", + "archiveDate": null, + "skillName": "Cloud Computing Environment Maintenance", + "skillStatement": "Maintain a cloud computing environment in Amazon Web Services (AWS).", + "categories": [ + "Amazon Web Services" + ], + "keywords": [ + "Western Governors University", + "Amazon Web Services", + "Cloud Computing", + "Amazon_AWS_SysOps_Admin_Associate", + "Amazon Web Services", + "Amazon Web Services", + "WGUSID: 10442" + ], + "occupations": [ + { + "id": 135, + "code": "15-0000", + "targetNodeName": "Computer and Mathematical Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 + }, + { + "id": 136, + "code": "15-1200", + "targetNodeName": "Computer Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 145, + "code": "15-1240", + "targetNodeName": "Database and Network Administrators and Architects", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 149, + "code": "15-1244", + "targetNodeName": "Network and Computer Systems Administrators", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + } + ] + }, + { + "id": "http://localhost:8080/api/skills/2444c3b2-37b9-4f4d-92a0-6260ad0a33dd", + "uuid": "2444c3b2-37b9-4f4d-92a0-6260ad0a33dd", + "status": "published", + "publishDate": "2023-03-30T13:02:06.634599", + "archiveDate": null, + "skillName": "Access Application Programming Interface (API) to Change Data", + "skillStatement": "Access an application programming interface (API) with a programming language to change data for a task.", + "categories": [ + "Software Development", + "Application Programming Interface (API)" + ], + "keywords": [ + "Western Governors University", + "300-435_ENAUTO", + "350-201_CBRCOR", + "Software Development", + "300-920_DEVWBX", + "300-835_CLAUTO", + "300-910_DEVOPS", + "300-915_DEVIOT", + "350-901_DEVCOR", + "200-901_DEVASC", + "Application Programming Interface (API)", + "Application Programming Interface (API)", + "WGUSID: 10460", + "Application Programming Interface (API)", + "OSMT Developer", + "Software Developer" + ], + "occupations": [ + { + "id": 135, + "code": "15-0000", + "targetNodeName": "Computer and Mathematical Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 + }, + { + "id": 136, + "code": "15-1200", + "targetNodeName": "Computer Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 145, + "code": "15-1240", + "targetNodeName": "Database and Network Administrators and Architects", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 149, + "code": "15-1244", + "targetNodeName": "Network and Computer Systems Administrators", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + } + ] + }, + { + "id": "http://localhost:8080/api/skills/a23fcc22-12cc-429b-81fc-c4e913d98c9e", + "uuid": "a23fcc22-12cc-429b-81fc-c4e913d98c9e", + "status": "published", + "publishDate": "2023-03-30T13:02:06.691748", + "archiveDate": null, + "skillName": "Systems Engineering", + "skillStatement": "Engineer systems that leverage multi-platform application programming interface (API).", + "categories": [ + "Application Programming Interface (API)" + ], + "keywords": [ + "Western Governors University", + "Visual Studio", + "Application Programming Interface (API)", + "Application Programming Interface (API)", + "Application Programming Interface (API)", + "Eclipse", + "Visual Studio Code", + "WGUSID: 592" + ], + "occupations": [ + { + "id": 135, + "code": "15-0000", + "targetNodeName": "Computer and Mathematical Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 + }, + { + "id": 136, + "code": "15-1200", + "targetNodeName": "Computer Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 140, + "code": "15-1220", + "targetNodeName": "Computer and Information Research Scientists", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 141, + "code": "15-1221", + "targetNodeName": "Computer and Information Research Scientists", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 145, + "code": "15-1240", + "targetNodeName": "Database and Network Administrators and Architects", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 149, + "code": "15-1244", + "targetNodeName": "Network and Computer Systems Administrators", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 2498, + "code": "15-1245", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 150, + "code": "15-1250", + "targetNodeName": "Software and Web Developers, Programmers, and Testers", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 151, + "code": "15-1251", + "targetNodeName": "Computer Programmers", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 2465, + "code": "15-1256", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 2466, + "code": "15-1257", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 2499, + "code": "15-1259", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 156, + "code": "15-1290", + "targetNodeName": "Miscellaneous Computer Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + } + ] + }, + { + "id": "http://localhost:8080/api/skills/4c98ac7d-a27b-4c75-aa53-2f273bb2f269", + "uuid": "4c98ac7d-a27b-4c75-aa53-2f273bb2f269", + "status": "published", + "publishDate": "2023-03-30T13:02:06.754817", + "archiveDate": null, + "skillName": "Backup File Configuration", + "skillStatement": "Configure file backups to a cloud solution.", + "categories": [ + "Backup And Restore" + ], + "keywords": [ + "Western Governors University", + "NICE_SP_DEV", + "NICE_SP_ARC", + "NICE_SP_SYS", + "NICE_AN_LNG", + "NICE_PR_CIR", + "NICE_PR_INF", + "NICE_OM_DTA", + "NICE_OM_NET", + "NICE_OM_ADM", + "NICE_PR_VAM", + "Comp_TIA_A+", + "Comp_TIA_IT_Operations_Specialist", + "Backup And Restore", + "Backup And Restore", + "Backup And Restore", + "WGUSID: 10462" + ], + "occupations": [ + { + "id": 135, + "code": "15-0000", + "targetNodeName": "Computer and Mathematical Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 + }, + { + "id": 136, + "code": "15-1200", + "targetNodeName": "Computer Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 145, + "code": "15-1240", + "targetNodeName": "Database and Network Administrators and Architects", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 146, + "code": "15-1241", + "targetNodeName": "Computer Network Architects", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 149, + "code": "15-1244", + "targetNodeName": "Network and Computer Systems Administrators", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 150, + "code": "15-1250", + "targetNodeName": "Software and Web Developers, Programmers, and Testers", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 2465, + "code": "15-1256", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 2499, + "code": "15-1259", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 156, + "code": "15-1290", + "targetNodeName": "Miscellaneous Computer Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + } + ] + }, + { + "id": "http://localhost:8080/api/skills/9f49f23a-8301-4b61-a0df-cbdec28b6b25", + "uuid": "9f49f23a-8301-4b61-a0df-cbdec28b6b25", + "status": "published", + "publishDate": "2023-03-30T13:02:06.808433", + "archiveDate": null, + "skillName": "Backup File Restoration Identification", + "skillStatement": "Identify which backed-up files must be restored.", + "categories": [ + "Backup And Restore" + ], + "keywords": [ + "Western Governors University", + "NICE_SP_DEV", + "NICE_SP_ARC", + "NICE_SP_SYS", + "NICE_AN_LNG", + "NICE_PR_CIR", + "NICE_OM_DTA", + "NICE_OM_ADM", + "NICE_PR_VAM", + "Comp_TIA_A+", + "Comp_TIA_IT_Operations_Specialist", + "Backup And Restore", + "Backup And Restore", + "Backup And Restore", + "WGUSID: 10461" + ], + "occupations": [ + { + "id": 135, + "code": "15-0000", + "targetNodeName": "Computer and Mathematical Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 + }, + { + "id": 136, + "code": "15-1200", + "targetNodeName": "Computer Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 145, + "code": "15-1240", + "targetNodeName": "Database and Network Administrators and Architects", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 146, + "code": "15-1241", + "targetNodeName": "Computer Network Architects", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 149, + "code": "15-1244", + "targetNodeName": "Network and Computer Systems Administrators", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 2498, + "code": "15-1245", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 150, + "code": "15-1250", + "targetNodeName": "Software and Web Developers, Programmers, and Testers", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 2465, + "code": "15-1256", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 2499, + "code": "15-1259", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 156, + "code": "15-1290", + "targetNodeName": "Miscellaneous Computer Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + } + ] }, - "creator": "https://credentialengineregistry.org/resources/ce-036d082d-d80e-41a7-99a0-2d63a4ad3a4a", - "@context": "https://rsd.openskillsnetwork.org/context-v1.json" + { + "id": "http://localhost:8080/api/skills/def5e07c-4117-4b47-a720-e428d6020df5", + "uuid": "def5e07c-4117-4b47-a720-e428d6020df5", + "status": "published", + "publishDate": "2023-03-30T13:02:06.870168", + "archiveDate": null, + "skillName": "Identify Disaster Recovery Solutions", + "skillStatement": "Identify disaster recovery solutions for backing up and restoring computer systems.", + "categories": [ + "Backup And Restore" + ], + "keywords": [ + "Western Governors University", + "NICE_SP_DEV", + "NICE_SP_ARC", + "NICE_SP_SYS", + "NICE_AN_TWA", + "NICE_AN_EXP", + "NICE_AN_ASA", + "NICE_AN_TGT", + "NICE_AN_LNG", + "NICE_CO_CLO", + "NICE_CO_OPL", + "NICE_CO_OPS", + "NICE_PR_CIR", + "NICE_PR_INF", + "NICE_OM_DTA", + "NICE_OM_NET", + "NICE_OM_ADM", + "NICE_PR_VAM", + "Comp_TIA_A+", + "Comp_TIA_IT_Operations_Specialist", + "Backup And Restore", + "Backup And Restore", + "Backup And Restore", + "WGUSID: 10463" + ], + "occupations": [ + { + "id": 135, + "code": "15-0000", + "targetNodeName": "Computer and Mathematical Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 + }, + { + "id": 136, + "code": "15-1200", + "targetNodeName": "Computer Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 137, + "code": "15-1210", + "targetNodeName": "Computer and Information Analysts", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 138, + "code": "15-1211", + "targetNodeName": "Computer Systems Analysts", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 145, + "code": "15-1240", + "targetNodeName": "Database and Network Administrators and Architects", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 146, + "code": "15-1241", + "targetNodeName": "Computer Network Architects", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 149, + "code": "15-1244", + "targetNodeName": "Network and Computer Systems Administrators", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 150, + "code": "15-1250", + "targetNodeName": "Software and Web Developers, Programmers, and Testers", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 2465, + "code": "15-1256", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 2499, + "code": "15-1259", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 156, + "code": "15-1290", + "targetNodeName": "Miscellaneous Computer Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + } + ] + }, + { + "id": "http://localhost:8080/api/skills/40bf4278-6ead-48ca-87d6-ac799e43a332", + "uuid": "40bf4278-6ead-48ca-87d6-ac799e43a332", + "status": "published", + "publishDate": "2023-03-30T13:02:06.931658", + "archiveDate": null, + "skillName": "Backup Hardware Determination", + "skillStatement": "Determine the hardware needed for the backup of a device's data.", + "categories": [ + "Backup Devices" + ], + "keywords": [ + "Western Governors University", + "NICE_AN_LNG", + "NICE_OM_ANA", + "NICE_PR_CIR", + "NICE_OM_DTA", + "NICE_OM_NET", + "NICE_OM_ADM", + "NICE_PR_VAM", + "Comp_TIA_A+", + "Comp_TIA_IT_Operations_Specialist", + "Backup Devices", + "Backup Devices", + "WGUSID: 10468", + "Backup Devices" + ], + "occupations": [ + { + "id": 135, + "code": "15-0000", + "targetNodeName": "Computer and Mathematical Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 + }, + { + "id": 136, + "code": "15-1200", + "targetNodeName": "Computer Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 145, + "code": "15-1240", + "targetNodeName": "Database and Network Administrators and Architects", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 149, + "code": "15-1244", + "targetNodeName": "Network and Computer Systems Administrators", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 2498, + "code": "15-1245", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 150, + "code": "15-1250", + "targetNodeName": "Software and Web Developers, Programmers, and Testers", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 2499, + "code": "15-1259", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 156, + "code": "15-1290", + "targetNodeName": "Miscellaneous Computer Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + } + ] + }, + { + "id": "http://localhost:8080/api/skills/e42429fb-edc8-4ff5-ab5a-583ab05effac", + "uuid": "e42429fb-edc8-4ff5-ab5a-583ab05effac", + "status": "published", + "publishDate": "2023-03-30T13:02:06.985954", + "archiveDate": null, + "skillName": "Determine Files Needing Backup", + "skillStatement": "Determine which files must be backed up from one device to another.", + "categories": [ + "Backup Devices" + ], + "keywords": [ + "Western Governors University", + "NICE_AN_LNG", + "NICE_PR_CIR", + "NICE_OM_DTA", + "NICE_PR_VAM", + "Comp_TIA_A+", + "Comp_TIA_IT_Operations_Specialist", + "Backup Devices", + "Backup Devices", + "Backup Devices", + "WGUSID: 10466" + ], + "occupations": [ + { + "id": 135, + "code": "15-0000", + "targetNodeName": "Computer and Mathematical Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 + }, + { + "id": 136, + "code": "15-1200", + "targetNodeName": "Computer Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 145, + "code": "15-1240", + "targetNodeName": "Database and Network Administrators and Architects", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 149, + "code": "15-1244", + "targetNodeName": "Network and Computer Systems Administrators", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 2498, + "code": "15-1245", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 150, + "code": "15-1250", + "targetNodeName": "Software and Web Developers, Programmers, and Testers", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 2499, + "code": "15-1259", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 156, + "code": "15-1290", + "targetNodeName": "Miscellaneous Computer Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + } + ] + }, + { + "id": "http://localhost:8080/api/skills/8501c68e-3615-420f-8735-35e3d33ad7fe", + "uuid": "8501c68e-3615-420f-8735-35e3d33ad7fe", + "status": "published", + "publishDate": "2023-03-30T13:02:07.045357", + "archiveDate": null, + "skillName": "Perform Manual Backup", + "skillStatement": "Perform manual backups of data from a device.", + "categories": [ + "Backup Devices" + ], + "keywords": [ + "Western Governors University", + "NICE_AN_LNG", + "NICE_OM_ANA", + "NICE_PR_CIR", + "NICE_OM_DTA", + "NICE_OM_ADM", + "NICE_PR_VAM", + "Comp_TIA_A+", + "Comp_TIA_IT_Operations_Specialist", + "Backup Devices", + "Backup Devices", + "Backup Devices", + "WGUSID: 10470" + ], + "occupations": [ + { + "id": 135, + "code": "15-0000", + "targetNodeName": "Computer and Mathematical Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 + }, + { + "id": 136, + "code": "15-1200", + "targetNodeName": "Computer Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 145, + "code": "15-1240", + "targetNodeName": "Database and Network Administrators and Architects", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 149, + "code": "15-1244", + "targetNodeName": "Network and Computer Systems Administrators", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 150, + "code": "15-1250", + "targetNodeName": "Software and Web Developers, Programmers, and Testers", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 2499, + "code": "15-1259", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 156, + "code": "15-1290", + "targetNodeName": "Miscellaneous Computer Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + } + ] + }, + { + "id": "http://localhost:8080/api/skills/957a2791-5eaf-4005-9fee-46d1c7c4727e", + "uuid": "957a2791-5eaf-4005-9fee-46d1c7c4727e", + "status": "published", + "publishDate": "2023-03-30T13:02:07.095854", + "archiveDate": null, + "skillName": "Border Gateway Protocol Solution Implementation", + "skillStatement": "Implement Border Gateway Protocol solutions.", + "categories": [ + "Border Gateway Protocol" + ], + "keywords": [ + "Western Governors University", + "NICE_AN_LNG", + "NICE_PR_INF", + "NICE_OM_NET", + "CompTia_Network+", + "300-415_ENSDWI", + "300-410_ENARSI", + "350-401_ENCOR", + "Comp_TIA_IT_Operations_Specialist", + "Comp_TIA_Secure_Infrastructure_Specialist", + "Comp_TIA_Security_+", + "Border Gateway Protocol", + "Border Gateway Protocol", + "Border Gateway Protocol", + "WGUSID: 10488" + ], + "occupations": [ + { + "id": 135, + "code": "15-0000", + "targetNodeName": "Computer and Mathematical Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 + }, + { + "id": 136, + "code": "15-1200", + "targetNodeName": "Computer Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 145, + "code": "15-1240", + "targetNodeName": "Database and Network Administrators and Architects", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 146, + "code": "15-1241", + "targetNodeName": "Computer Network Architects", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 149, + "code": "15-1244", + "targetNodeName": "Network and Computer Systems Administrators", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + } + ] + }, + { + "id": "http://localhost:8080/api/skills/611e3797-3597-4dde-afc9-0f1e7d575baa", + "uuid": "611e3797-3597-4dde-afc9-0f1e7d575baa", + "status": "published", + "publishDate": "2023-03-30T13:02:08.201086", + "archiveDate": null, + "skillName": "Implementation", + "skillStatement": "Implement continuity plans during the time of a disaster.", + "categories": [ + "Business Continuity Planning" + ], + "keywords": [ + "Western Governors University", + "AZ-304", + "AZ-303", + "AZ-900", + "AZ-204", + "AZ DP-203", + "AZ-104", + "Business Continuity Planning", + "Business Continuity Planning", + "Business Continuity Planning", + "WGUSID: 4367" + ], + "occupations": [ + { + "id": 1, + "code": "11-0000", + "targetNodeName": "Management Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 + }, + { + "id": 18, + "code": "11-3000", + "targetNodeName": "Operations Specialties Managers", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 22, + "code": "11-3020", + "targetNodeName": "Computer and Information Systems Managers", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 23, + "code": "11-3021", + "targetNodeName": "Computer and Information Systems Managers", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 135, + "code": "15-0000", + "targetNodeName": "Computer and Mathematical Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 + }, + { + "id": 136, + "code": "15-1200", + "targetNodeName": "Computer Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 137, + "code": "15-1210", + "targetNodeName": "Computer and Information Analysts", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 138, + "code": "15-1211", + "targetNodeName": "Computer Systems Analysts", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 142, + "code": "15-1230", + "targetNodeName": "Computer Support Specialists", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 143, + "code": "15-1231", + "targetNodeName": "Computer Network Support Specialists", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 144, + "code": "15-1232", + "targetNodeName": "Computer User Support Specialists", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 145, + "code": "15-1240", + "targetNodeName": "Database and Network Administrators and Architects", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 146, + "code": "15-1241", + "targetNodeName": "Computer Network Architects", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 149, + "code": "15-1244", + "targetNodeName": "Network and Computer Systems Administrators", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 2498, + "code": "15-1245", + "jobCodeLevelAsNumber": 4 + } + ] + } + ], + "author": "OSMT Developer", + "status": "published", + "creator": "https://credentialengineregistry.org/resources/ce-036d082d-d80e-41a7-99a0-2d63a4ad3a4a", + "skillKeywords": { + "Alignment": [ + { + "keyword": { + "id": "https://skills.emsidata.com/skills/KS1203M5X6LQVSRTW88J", + "skillName": "Access Network" + }, + "count": 4 + }, + { + "keyword": { + "id": "https://skills.emsidata.com/skills/KS1205G5ZKS8ZZWVPM9Y", + "skillName": "Active Directory" + }, + "count": 2 + }, + { + "keyword": { + "id": "https://skills.emsidata.com/skills/KS1208P6ZMZ4N872Y7X5", + "skillName": "Application Programming Interface (API)" + }, + "count": 2 + }, + { + "keyword": { + "id": "https://skills.emsidata.com/skills/KS120B874P2P6BK1MQ0T", + "skillName": "Agile Methodology" + }, + "count": 4 + }, + { + "keyword": { + "id": "https://skills.emsidata.com/skills/KS120FG6YP8PQYYNQY9B", + "skillName": "Amazon Web Services" + }, + "count": 2 + }, + { + "keyword": { + "id": "https://skills.emsidata.com/skills/KS120S165SXK6CKVK77P", + "skillName": "Authentications" + }, + "count": 2 + }, + { + "keyword": { + "id": "https://skills.emsidata.com/skills/KS120VW6JMZHZXZGD72C", + "skillName": "Backup Devices" + }, + "count": 3 + }, + { + "keyword": { + "id": "https://skills.emsidata.com/skills/KS120ZX6H5TZTL8P9N3F", + "skillName": "Border Gateway Protocol" + }, + "count": 1 + }, + { + "keyword": { + "id": "https://skills.emsidata.com/skills/KS1218H6QYLZC35BYH32", + "skillName": "Business Continuity Planning" + }, + "count": 1 + }, + { + "keyword": { + "id": "https://skills.emsidata.com/skills/KS442325XYQ2CZR1VB7N", + "skillName": "Backup And Restore" + }, + "count": 3 + } + ], + "Author": [ + { + "keyword": "OSMT Developer", + "count": 2 + }, + { + "keyword": "Software Developer", + "count": 1 + }, + { + "keyword": "Western Governors University", + "count": 24 + } + ], + "Category": [ + { + "keyword": "Access Network", + "count": 4 + }, + { + "keyword": "Active Directory", + "count": 2 + }, + { + "keyword": "Agile Methodology", + "count": 4 + }, + { + "keyword": "Amazon Web Services", + "count": 2 + }, + { + "keyword": "Application Programming Interface (API)", + "count": 2 + }, + { + "keyword": "Authentications", + "count": 2 + }, + { + "keyword": "Backup And Restore", + "count": 3 + }, + { + "keyword": "Backup Devices", + "count": 3 + }, + { + "keyword": "Border Gateway Protocol", + "count": 1 + }, + { + "keyword": "Business Continuity Planning", + "count": 1 + }, + { + "keyword": "Software Development", + "count": 1 + } + ], + "Certification": [ + { + "keyword": { + "name": "200-901_DEVASC" + }, + "count": 1 + }, + { + "keyword": { + "name": "300-410_ENARSI" + }, + "count": 2 + }, + { + "keyword": { + "name": "300-415_ENSDWI" + }, + "count": 1 + }, + { + "keyword": { + "name": "300-420_ENSLD" + }, + "count": 1 + }, + { + "keyword": { + "name": "300-435_ENAUTO" + }, + "count": 1 + }, + { + "keyword": { + "name": "300-835_CLAUTO" + }, + "count": 1 + }, + { + "keyword": { + "name": "300-910_DEVOPS" + }, + "count": 1 + }, + { + "keyword": { + "name": "300-915_DEVIOT" + }, + "count": 1 + }, + { + "keyword": { + "name": "300-920_DEVWBX" + }, + "count": 1 + }, + { + "keyword": { + "name": "350-201_CBRCOR" + }, + "count": 2 + }, + { + "keyword": { + "name": "350-401_ENCOR" + }, + "count": 2 + }, + { + "keyword": { + "name": "350-901_DEVCOR" + }, + "count": 1 + }, + { + "keyword": { + "name": "AZ DP-203" + }, + "count": 3 + }, + { + "keyword": { + "name": "AZ-104" + }, + "count": 3 + }, + { + "keyword": { + "name": "AZ-204" + }, + "count": 3 + }, + { + "keyword": { + "name": "AZ-303" + }, + "count": 3 + }, + { + "keyword": { + "name": "AZ-304" + }, + "count": 3 + }, + { + "keyword": { + "name": "AZ-900" + }, + "count": 3 + }, + { + "keyword": { + "name": "Amazon_AWS_SysOps_Admin_Associate" + }, + "count": 2 + }, + { + "keyword": { + "name": "CompTIA_ITF+" + }, + "count": 3 + }, + { + "keyword": { + "name": "CompTia_Network+" + }, + "count": 1 + }, + { + "keyword": { + "name": "Comp_TIA_A+" + }, + "count": 6 + }, + { + "keyword": { + "name": "Comp_TIA_IT_Operations_Specialist" + }, + "count": 7 + }, + { + "keyword": { + "name": "Comp_TIA_Secure_Infrastructure_Specialist" + }, + "count": 1 + }, + { + "keyword": { + "name": "Comp_TIA_Security_+" + }, + "count": 1 + } + ], + "Employer": [], + "Keyword": [ + { + "keyword": "Access Network", + "count": 4 + }, + { + "keyword": "Active Directory", + "count": 2 + }, + { + "keyword": "Agile Methodology", + "count": 4 + }, + { + "keyword": "Amazon Web Services", + "count": 2 + }, + { + "keyword": "Application Programming Interface (API)", + "count": 2 + }, + { + "keyword": "Authentication", + "count": 2 + }, + { + "keyword": "Authentications", + "count": 2 + }, + { + "keyword": "Authorization (Computing)", + "count": 2 + }, + { + "keyword": "Backup And Restore", + "count": 3 + }, + { + "keyword": "Backup Devices", + "count": 3 + }, + { + "keyword": "Border Gateway Protocol", + "count": 1 + }, + { + "keyword": "Business Continuity Planning", + "count": 1 + }, + { + "keyword": "Cloud Computing", + "count": 2 + }, + { + "keyword": "Eclipse", + "count": 1 + }, + { + "keyword": "Features", + "count": 1 + }, + { + "keyword": "Kanban Board", + "count": 1 + }, + { + "keyword": "Performance", + "count": 1 + }, + { + "keyword": "Routers", + "count": 1 + }, + { + "keyword": "SCRUM", + "count": 1 + }, + { + "keyword": "SafeNet", + "count": 2 + }, + { + "keyword": "Schema", + "count": 1 + }, + { + "keyword": "Site Links", + "count": 1 + }, + { + "keyword": "Visual Studio", + "count": 1 + }, + { + "keyword": "Visual Studio Code", + "count": 1 + }, + { + "keyword": "WGUSID: 10407", + "count": 1 + }, + { + "keyword": "WGUSID: 10408", + "count": 1 + }, + { + "keyword": "WGUSID: 10410", + "count": 1 + }, + { + "keyword": "WGUSID: 10411", + "count": 1 + }, + { + "keyword": "WGUSID: 10416", + "count": 1 + }, + { + "keyword": "WGUSID: 10418", + "count": 1 + }, + { + "keyword": "WGUSID: 10423", + "count": 1 + }, + { + "keyword": "WGUSID: 10425", + "count": 1 + }, + { + "keyword": "WGUSID: 10427", + "count": 1 + }, + { + "keyword": "WGUSID: 10428", + "count": 1 + }, + { + "keyword": "WGUSID: 10441", + "count": 1 + }, + { + "keyword": "WGUSID: 10442", + "count": 1 + }, + { + "keyword": "WGUSID: 10460", + "count": 1 + }, + { + "keyword": "WGUSID: 10461", + "count": 1 + }, + { + "keyword": "WGUSID: 10462", + "count": 1 + }, + { + "keyword": "WGUSID: 10463", + "count": 1 + }, + { + "keyword": "WGUSID: 10466", + "count": 1 + }, + { + "keyword": "WGUSID: 10468", + "count": 1 + }, + { + "keyword": "WGUSID: 10470", + "count": 1 + }, + { + "keyword": "WGUSID: 10488", + "count": 1 + }, + { + "keyword": "WGUSID: 1619", + "count": 1 + }, + { + "keyword": "WGUSID: 1619.1", + "count": 1 + }, + { + "keyword": "WGUSID: 4367", + "count": 1 + }, + { + "keyword": "WGUSID: 592", + "count": 1 + }, + { + "keyword": "design", + "count": 1 + }, + { + "keyword": "monitor", + "count": 1 + }, + { + "keyword": "specifications", + "count": 1 + } + ], + "Standard": [ + { + "keyword": { + "skillName": "NICE_SP_DEV" + }, + "count": 3 + }, + { + "keyword": { + "skillName": "NICE_SP_ARC" + }, + "count": 3 + }, + { + "keyword": { + "skillName": "NICE_SP_SYS" + }, + "count": 3 + }, + { + "keyword": { + "skillName": "NICE_AN_LNG" + }, + "count": 7 + }, + { + "keyword": { + "skillName": "NICE_PR_CIR" + }, + "count": 6 + }, + { + "keyword": { + "skillName": "NICE_PR_INF" + }, + "count": 3 + }, + { + "keyword": { + "skillName": "NICE_OM_DTA" + }, + "count": 6 + }, + { + "keyword": { + "skillName": "NICE_OM_NET" + }, + "count": 4 + }, + { + "keyword": { + "skillName": "NICE_OM_ADM" + }, + "count": 5 + }, + { + "keyword": { + "skillName": "NICE_PR_VAM" + }, + "count": 6 + }, + { + "keyword": { + "skillName": "NICE_AN_TWA" + }, + "count": 1 + }, + { + "keyword": { + "skillName": "NICE_AN_EXP" + }, + "count": 1 + }, + { + "keyword": { + "skillName": "NICE_AN_ASA" + }, + "count": 1 + }, + { + "keyword": { + "skillName": "NICE_AN_TGT" + }, + "count": 1 + }, + { + "keyword": { + "skillName": "NICE_CO_CLO" + }, + "count": 1 + }, + { + "keyword": { + "skillName": "NICE_CO_OPL" + }, + "count": 1 + }, + { + "keyword": { + "skillName": "NICE_CO_OPS" + }, + "count": 1 + }, + { + "keyword": { + "skillName": "NICE_OM_ANA" + }, + "count": 2 + } + ] + }, + "@context": "https://rsd.openskillsnetwork.org/context-v1.json" } \ No newline at end of file diff --git a/test/api-test/api/v3/search/jobcodes/get.json b/test/api-test/api/v3/search/jobcodes/get.json index 5375aca30..007d1fef8 100644 --- a/test/api-test/api/v3/search/jobcodes/get.json +++ b/test/api-test/api/v3/search/jobcodes/get.json @@ -1,32 +1,44 @@ [ { + "id": 137, "code": "15-1210", "targetNodeName": "Computer and Information Analysts", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 138, "code": "15-1211", "targetNodeName": "Computer Systems Analysts", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 1557, "code": "15-1211.00", "targetNodeName": "Computer Systems Analysts", - "frameworkName": "o*net" + "frameworkName": "o*net", + "jobCodeLevelAsNumber": 4 }, { + "id": 1558, "code": "15-1211.01", "targetNodeName": "Health Informatics Specialists", - "frameworkName": "o*net" + "frameworkName": "o*net", + "jobCodeLevelAsNumber": 4 }, { + "id": 139, "code": "15-1212", "targetNodeName": "Information Security Analysts", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 1559, "code": "15-1212.00", "targetNodeName": "Information Security Analysts", - "frameworkName": "o*net" + "frameworkName": "o*net", + "jobCodeLevelAsNumber": 4 } ] \ No newline at end of file diff --git a/test/api-test/api/v3/search/skills/similarity/post.json b/test/api-test/api/v3/search/skills/similarity/post.json index e3e187212..34b6d6ef5 100644 --- a/test/api-test/api/v3/search/skills/similarity/post.json +++ b/test/api-test/api/v3/search/skills/similarity/post.json @@ -1,96 +1,126 @@ [ { - "id": "http://localhost:8080/api/skills/f6538cc1-8fdf-4f11-b373-781571b386bf", - "uuid": "f6538cc1-8fdf-4f11-b373-781571b386bf", - "status": "published", - "publishDate": "2023-03-30T13:02:07", - "archiveDate": null, - "skillName": "Validation and Troubleshooting", - "skillStatement": "Validate authorization and authentication runbooks and troubleshoots procedures (SOPs), and troubleshoots advanced authentication and authorization issues.", - "categories": [ - "Authentications" - ], - "keywords": [ - "Authentications", - "Authentication", - "SafeNet", - "Authorization (Computing)", - "WGUSID: 1619.1" - ], - "occupations": [ - { - "code": "11-0000", - "targetNodeName": "Management Occupations", - "frameworkName": "bls" - }, - { - "code": "11-3000", - "targetNodeName": "Operations Specialties Managers", - "frameworkName": "bls" - }, - { - "code": "11-3020", - "targetNodeName": "Computer and Information Systems Managers", - "frameworkName": "bls" - }, - { - "code": "11-3021", - "targetNodeName": "Computer and Information Systems Managers", - "frameworkName": "bls" - }, - { - "code": "15-0000", - "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls" - }, - { - "code": "15-1200", - "targetNodeName": "Computer Occupations", - "frameworkName": "bls" - }, - { - "code": "15-1210", - "targetNodeName": "Computer and Information Analysts", - "frameworkName": "bls" - }, - { - "code": "15-1211", - "targetNodeName": "Computer Systems Analysts", - "frameworkName": "bls" - }, - { - "code": "15-1230", - "targetNodeName": "Computer Support Specialists", - "frameworkName": "bls" - }, - { - "code": "15-1231", - "targetNodeName": "Computer Network Support Specialists", - "frameworkName": "bls" - }, - { - "code": "15-1232", - "targetNodeName": "Computer User Support Specialists", - "frameworkName": "bls" - }, - { - "code": "15-1240", - "targetNodeName": "Database and Network Administrators and Architects", - "frameworkName": "bls" - }, - { - "code": "15-1241", - "targetNodeName": "Computer Network Architects", - "frameworkName": "bls" - }, - { - "code": "15-1244", - "targetNodeName": "Network and Computer Systems Administrators", - "frameworkName": "bls" - }, - { - "code": "15-1245" - } - ] + "id": "http://localhost:8080/api/skills/f6538cc1-8fdf-4f11-b373-781571b386bf", + "uuid": "f6538cc1-8fdf-4f11-b373-781571b386bf", + "status": "published", + "publishDate": "2023-03-30T13:02:07", + "archiveDate": null, + "skillName": "Validation and Troubleshooting", + "skillStatement": "Validate authorization and authentication runbooks and troubleshoots procedures (SOPs), and troubleshoots advanced authentication and authorization issues.", + "categories": [ + "Authentications" + ], + "keywords": [ + "Authentications", + "Authentication", + "SafeNet", + "Authorization (Computing)", + "WGUSID: 1619.1" + ], + "occupations": [ + { + "id": 1, + "code": "11-0000", + "targetNodeName": "Management Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 + }, + { + "id": 18, + "code": "11-3000", + "targetNodeName": "Operations Specialties Managers", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 22, + "code": "11-3020", + "targetNodeName": "Computer and Information Systems Managers", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 23, + "code": "11-3021", + "targetNodeName": "Computer and Information Systems Managers", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 135, + "code": "15-0000", + "targetNodeName": "Computer and Mathematical Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 + }, + { + "id": 136, + "code": "15-1200", + "targetNodeName": "Computer Occupations", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 + }, + { + "id": 137, + "code": "15-1210", + "targetNodeName": "Computer and Information Analysts", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 138, + "code": "15-1211", + "targetNodeName": "Computer Systems Analysts", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 142, + "code": "15-1230", + "targetNodeName": "Computer Support Specialists", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 143, + "code": "15-1231", + "targetNodeName": "Computer Network Support Specialists", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 144, + "code": "15-1232", + "targetNodeName": "Computer User Support Specialists", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 145, + "code": "15-1240", + "targetNodeName": "Database and Network Administrators and Architects", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 + }, + { + "id": 146, + "code": "15-1241", + "targetNodeName": "Computer Network Architects", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 149, + "code": "15-1244", + "targetNodeName": "Network and Computer Systems Administrators", + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 + }, + { + "id": 2498, + "code": "15-1245", + "jobCodeLevelAsNumber": 4 + } + ] } ] \ No newline at end of file diff --git a/test/api-test/api/v3/skills/get.json b/test/api-test/api/v3/skills/get.json index b60fb38b5..b8bedffc4 100644 --- a/test/api-test/api/v3/skills/get.json +++ b/test/api-test/api/v3/skills/get.json @@ -1,12049 +1,12743 @@ [ - { - "uuid": "48119645-4246-4665-944d-cf30bbfcfd6f", - "id": "http://localhost:8080/api/skills/48119645-4246-4665-944d-cf30bbfcfd6f", - "skillName": "Access Control Maintenance", - "skillStatement": "Maintain the security of a site's access points with measures to combat unauthorized entry.", - "status": "draft", - "keywords": [ - "Site Security", - "WGUSID: 10070" - ], - "occupations": [ - { - "major": "Protective Service Occupations", - "minor": null, - "broad": null, - "detailed": "Protective Service Occupations", - "code": "33-0000", - "name": "Protective Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": null, - "detailed": "Supervisors of Protective Service Workers", - "code": "33-1000", - "name": "Supervisors of Protective Service Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": "First-Line Supervisors of Law Enforcement Workers", - "detailed": "First-Line Supervisors of Law Enforcement Workers", - "code": "33-1010", - "name": "First-Line Supervisors of Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": "33-1010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": null, - "detailed": "Law Enforcement Workers", - "code": "33-3000", - "name": "Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Bailiffs, Correctional Officers, and Jailers", - "detailed": "Bailiffs, Correctional Officers, and Jailers", - "code": "33-3010", - "name": "Bailiffs, Correctional Officers, and Jailers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3010", - "detailedCode": null, - "jobRoleCode": null - } - ] - }, - { - "uuid": "0438ae59-0652-48f3-ba50-6fac54b534de", - "id": "http://localhost:8080/api/skills/0438ae59-0652-48f3-ba50-6fac54b534de", - "skillName": "Administer an Automated External Defibrillator (AED)", - "skillStatement": "Administer automated external defibrillators (AEDs) during cardiac crises.", - "status": "draft", - "keywords": [ - "Automated External Defibrillator", - "WGUSID: 9725" - ], - "occupations": [ - { - "major": "Protective Service Occupations", - "minor": null, - "broad": null, - "detailed": "Protective Service Occupations", - "code": "33-0000", - "name": "Protective Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": null, - "detailed": "Supervisors of Protective Service Workers", - "code": "33-1000", - "name": "Supervisors of Protective Service Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": "First-Line Supervisors of Law Enforcement Workers", - "detailed": "First-Line Supervisors of Law Enforcement Workers", - "code": "33-1010", - "name": "First-Line Supervisors of Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": "33-1010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": null, - "detailed": "Law Enforcement Workers", - "code": "33-3000", - "name": "Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Bailiffs, Correctional Officers, and Jailers", - "detailed": "Bailiffs, Correctional Officers, and Jailers", - "code": "33-3010", - "name": "Bailiffs, Correctional Officers, and Jailers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Police Officers", - "detailed": "Police Officers", - "code": "33-3050", - "name": "Police Officers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3050", - "detailedCode": null, - "jobRoleCode": null - } - ] - }, - { - "uuid": "0ada0969-47c3-46bd-a44c-a767ec9d6437", - "id": "http://localhost:8080/api/skills/0ada0969-47c3-46bd-a44c-a767ec9d6437", - "skillName": "Agitator Identification", - "skillStatement": "Identify agitators in a crowd.", - "status": "draft", - "keywords": [ - "Crowd Control", - "WGUSID: 9798" - ], - "occupations": [ - { - "major": "Protective Service Occupations", - "minor": null, - "broad": null, - "detailed": "Protective Service Occupations", - "code": "33-0000", - "name": "Protective Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": null, - "detailed": "Supervisors of Protective Service Workers", - "code": "33-1000", - "name": "Supervisors of Protective Service Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": "First-Line Supervisors of Law Enforcement Workers", - "detailed": "First-Line Supervisors of Law Enforcement Workers", - "code": "33-1010", - "name": "First-Line Supervisors of Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": "33-1010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": null, - "detailed": "Law Enforcement Workers", - "code": "33-3000", - "name": "Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Bailiffs, Correctional Officers, and Jailers", - "detailed": "Bailiffs, Correctional Officers, and Jailers", - "code": "33-3010", - "name": "Bailiffs, Correctional Officers, and Jailers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Police Officers", - "detailed": "Police Officers", - "code": "33-3050", - "name": "Police Officers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3050", - "detailedCode": null, - "jobRoleCode": null - } - ] - }, - { - "uuid": "3b2b5ab6-5a3d-4474-b640-42aa758322dd", - "id": "http://localhost:8080/api/skills/3b2b5ab6-5a3d-4474-b640-42aa758322dd", - "skillName": "Alarm Cause Determination", - "skillStatement": "Determine the causes of alarms.", - "status": "draft", - "keywords": [ - "Alarm Devices", - "WGUSID: 9709" - ], - "occupations": [ - { - "major": "Protective Service Occupations", - "minor": null, - "broad": null, - "detailed": "Protective Service Occupations", - "code": "33-0000", - "name": "Protective Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": null, - "detailed": "Supervisors of Protective Service Workers", - "code": "33-1000", - "name": "Supervisors of Protective Service Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": "First-Line Supervisors of Law Enforcement Workers", - "detailed": "First-Line Supervisors of Law Enforcement Workers", - "code": "33-1010", - "name": "First-Line Supervisors of Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": "33-1010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": null, - "detailed": "Law Enforcement Workers", - "code": "33-3000", - "name": "Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Bailiffs, Correctional Officers, and Jailers", - "detailed": "Bailiffs, Correctional Officers, and Jailers", - "code": "33-3010", - "name": "Bailiffs, Correctional Officers, and Jailers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Detectives and Criminal Investigators", - "detailed": "Detectives and Criminal Investigators", - "code": "33-3020", - "name": "Detectives and Criminal Investigators", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3020", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Police Officers", - "detailed": "Police Officers", - "code": "33-3050", - "name": "Police Officers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3050", - "detailedCode": null, - "jobRoleCode": null - } - ] - }, - { - "uuid": "845ef095-2f4f-4b52-9161-6d0a51aaf43e", - "id": "http://localhost:8080/api/skills/845ef095-2f4f-4b52-9161-6d0a51aaf43e", - "skillName": "Alarm Device Operation", - "skillStatement": "Operate each type of alarm device used within the criminal justice system.", - "status": "draft", - "keywords": [ - "Alarm Devices", - "WGUSID: 9706" - ], - "occupations": [ - { - "major": "Protective Service Occupations", - "minor": null, - "broad": null, - "detailed": "Protective Service Occupations", - "code": "33-0000", - "name": "Protective Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": null, - "detailed": "Supervisors of Protective Service Workers", - "code": "33-1000", - "name": "Supervisors of Protective Service Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": "First-Line Supervisors of Law Enforcement Workers", - "detailed": "First-Line Supervisors of Law Enforcement Workers", - "code": "33-1010", - "name": "First-Line Supervisors of Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": "33-1010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": null, - "detailed": "Law Enforcement Workers", - "code": "33-3000", - "name": "Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Bailiffs, Correctional Officers, and Jailers", - "detailed": "Bailiffs, Correctional Officers, and Jailers", - "code": "33-3010", - "name": "Bailiffs, Correctional Officers, and Jailers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Police Officers", - "detailed": "Police Officers", - "code": "33-3050", - "name": "Police Officers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3050", - "detailedCode": null, - "jobRoleCode": null - } - ] - }, - { - "uuid": "ff532a84-696f-45cc-bd75-41bd4650be00", - "id": "http://localhost:8080/api/skills/ff532a84-696f-45cc-bd75-41bd4650be00", - "skillName": "Apply Contextual Reasoning", - "skillStatement": "Apply contextual reasoning to understand problems.", - "status": "draft", - "keywords": [ - "21st_Century_Skills", - "SEL", - "Power_Skills_Framework", - "Social Emotional Learning (SEL): General", - "Doing", - "Social Emotional Learning (SEL): Executive Function & Responsible Decision Making", - "Problem Solving", - "Troubleshooting (Problem Solving)", - "WGUSID: 421" - ], - "occupations": [ - { - "major": "Life, Physical, and Social Science Occupations", - "minor": null, - "broad": null, - "detailed": "Life, Physical, and Social Science Occupations", - "code": "19-0000", - "name": "Life, Physical, and Social Science Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "19-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Life, Physical, and Social Science Occupations", - "minor": "Life, Physical, and Social Science Technicians", - "broad": null, - "detailed": "Life, Physical, and Social Science Technicians", - "code": "19-4000", - "name": "Life, Physical, and Social Science Technicians", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "19-0000", - "minorCode": "19-4000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Life, Physical, and Social Science Occupations", - "minor": "Life, Physical, and Social Science Technicians", - "broad": "Miscellaneous Life, Physical, and Social Science Technicians", - "detailed": "Miscellaneous Life, Physical, and Social Science Technicians", - "code": "19-4090", - "name": "Miscellaneous Life, Physical, and Social Science Technicians", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "19-0000", - "minorCode": "19-4000", - "broadCode": "19-4090", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": null, - "broad": null, - "detailed": "Protective Service Occupations", - "code": "33-0000", - "name": "Protective Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": null, - "detailed": "Supervisors of Protective Service Workers", - "code": "33-1000", - "name": "Supervisors of Protective Service Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": "First-Line Supervisors of Law Enforcement Workers", - "detailed": "First-Line Supervisors of Law Enforcement Workers", - "code": "33-1010", - "name": "First-Line Supervisors of Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": "33-1010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": null, - "detailed": "Law Enforcement Workers", - "code": "33-3000", - "name": "Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Bailiffs, Correctional Officers, and Jailers", - "detailed": "Bailiffs, Correctional Officers, and Jailers", - "code": "33-3010", - "name": "Bailiffs, Correctional Officers, and Jailers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Detectives and Criminal Investigators", - "detailed": "Detectives and Criminal Investigators", - "code": "33-3020", - "name": "Detectives and Criminal Investigators", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3020", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Police Officers", - "detailed": "Police Officers", - "code": "33-3050", - "name": "Police Officers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3050", - "detailedCode": null, - "jobRoleCode": null - } - ] - }, - { - "uuid": "8146a0dd-cf75-4c1e-b101-53a10f967983", - "id": "http://localhost:8080/api/skills/8146a0dd-cf75-4c1e-b101-53a10f967983", - "skillName": "Appropriate Tone of Voice Writing", - "skillStatement": "Write text in the appropriate language and tone of voice for the intended audience.", - "status": "draft", - "keywords": [ - "GeneralEducation2019", - "Written Communication", - "Writing", - "Academic Writing", - "WGUSID: 6969" - ], - "occupations": [ - { - "major": "Computer and Mathematical Occupations", - "minor": null, - "broad": null, - "detailed": "Computer and Mathematical Occupations", - "code": "15-0000", - "name": "Computer and Mathematical Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": null, - "detailed": "Computer Occupations", - "code": "15-1200", - "name": "Computer Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": "Computer and Information Analysts", - "detailed": "Computer and Information Analysts", - "code": "15-1210", - "name": "Computer and Information Analysts", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": "15-1210", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Architecture and Engineering Occupations", - "minor": null, - "broad": null, - "detailed": "Architecture and Engineering Occupations", - "code": "17-0000", - "name": "Architecture and Engineering Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "17-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Architecture and Engineering Occupations", - "minor": "Engineers", - "broad": null, - "detailed": "Engineers", - "code": "17-2000", - "name": "Engineers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "17-0000", - "minorCode": "17-2000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Architecture and Engineering Occupations", - "minor": "Engineers", - "broad": "Environmental Engineers", - "detailed": "Environmental Engineers", - "code": "17-2080", - "name": "Environmental Engineers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "17-0000", - "minorCode": "17-2000", - "broadCode": "17-2080", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Architecture and Engineering Occupations", - "minor": "Engineers", - "broad": "Industrial Engineers, Including Health and Safety", - "detailed": "Industrial Engineers, Including Health and Safety", - "code": "17-2110", - "name": "Industrial Engineers, Including Health and Safety", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "17-0000", - "minorCode": "17-2000", - "broadCode": "17-2110", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Architecture and Engineering Occupations", - "minor": "Engineers", - "broad": "Miscellaneous Engineers", - "detailed": "Miscellaneous Engineers", - "code": "17-2190", - "name": "Miscellaneous Engineers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "17-0000", - "minorCode": "17-2000", - "broadCode": "17-2190", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Architecture and Engineering Occupations", - "minor": "Drafters, Engineering Technicians, and Mapping Technicians", - "broad": null, - "detailed": "Drafters, Engineering Technicians, and Mapping Technicians", - "code": "17-3000", - "name": "Drafters, Engineering Technicians, and Mapping Technicians", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "17-0000", - "minorCode": "17-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Architecture and Engineering Occupations", - "minor": "Drafters, Engineering Technicians, and Mapping Technicians", - "broad": "Engineering Technologists and Technicians, Except Drafters", - "detailed": "Engineering Technologists and Technicians, Except Drafters", - "code": "17-3020", - "name": "Engineering Technologists and Technicians, Except Drafters", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "17-0000", - "minorCode": "17-3000", - "broadCode": "17-3020", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Life, Physical, and Social Science Occupations", - "minor": null, - "broad": null, - "detailed": "Life, Physical, and Social Science Occupations", - "code": "19-0000", - "name": "Life, Physical, and Social Science Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "19-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Life, Physical, and Social Science Occupations", - "minor": "Life, Physical, and Social Science Technicians", - "broad": null, - "detailed": "Life, Physical, and Social Science Technicians", - "code": "19-4000", - "name": "Life, Physical, and Social Science Technicians", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "19-0000", - "minorCode": "19-4000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Life, Physical, and Social Science Occupations", - "minor": "Life, Physical, and Social Science Technicians", - "broad": "Miscellaneous Life, Physical, and Social Science Technicians", - "detailed": "Miscellaneous Life, Physical, and Social Science Technicians", - "code": "19-4090", - "name": "Miscellaneous Life, Physical, and Social Science Technicians", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "19-0000", - "minorCode": "19-4000", - "broadCode": "19-4090", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": null, - "broad": null, - "detailed": "Protective Service Occupations", - "code": "33-0000", - "name": "Protective Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": null, - "detailed": "Supervisors of Protective Service Workers", - "code": "33-1000", - "name": "Supervisors of Protective Service Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": "First-Line Supervisors of Law Enforcement Workers", - "detailed": "First-Line Supervisors of Law Enforcement Workers", - "code": "33-1010", - "name": "First-Line Supervisors of Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": "33-1010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": null, - "detailed": "Law Enforcement Workers", - "code": "33-3000", - "name": "Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Bailiffs, Correctional Officers, and Jailers", - "detailed": "Bailiffs, Correctional Officers, and Jailers", - "code": "33-3010", - "name": "Bailiffs, Correctional Officers, and Jailers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Detectives and Criminal Investigators", - "detailed": "Detectives and Criminal Investigators", - "code": "33-3020", - "name": "Detectives and Criminal Investigators", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3020", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Police Officers", - "detailed": "Police Officers", - "code": "33-3050", - "name": "Police Officers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3050", - "detailedCode": null, - "jobRoleCode": null - } - ], - "standards": [ - "NICE_SP_RSK", - "NICE_SP_DEV", - "NICE_SP_ARC", - "NICE_SP_TRD", - "NICE_SP_SRP", - "NICE_SP_TST", - "NICE_SP_SYS", - "NICE_OV_MGT", - "NICE_OV_PMA", - "NICE_OM_ANA", - "NICE_PR_CIR", - "NICE_PR_CDA", - "NICE_PR_INF", - "NICE_OV_SPP", - "NICE_OV_EXL", - "NICE_OV_LGA", - "NICE_OV_TEA", - "NICE_OM_DTA", - "NICE_OM_NET", - "NICE_OM_ADM", - "NICE_OM_STS", - "NICE_PR_VAM", - "NICE_IN_FOR", - "NICE_IN_INV" - ] - }, - { - "uuid": "3de66652-405d-4899-aa44-c1420d57b45d", - "id": "http://localhost:8080/api/skills/3de66652-405d-4899-aa44-c1420d57b45d", - "skillName": "Area of Improvement Identification", - "skillStatement": "Identify areas of improvement for standard operating procedures (SOPs).", - "status": "draft", - "keywords": [ - "Medical Assistant", - "Standard Operating Procedure", - "WGUSID: 9540" - ], - "occupations": [ - { - "major": "Life, Physical, and Social Science Occupations", - "minor": null, - "broad": null, - "detailed": "Life, Physical, and Social Science Occupations", - "code": "19-0000", - "name": "Life, Physical, and Social Science Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "19-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Life, Physical, and Social Science Occupations", - "minor": "Life, Physical, and Social Science Technicians", - "broad": null, - "detailed": "Life, Physical, and Social Science Technicians", - "code": "19-4000", - "name": "Life, Physical, and Social Science Technicians", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "19-0000", - "minorCode": "19-4000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Life, Physical, and Social Science Occupations", - "minor": "Life, Physical, and Social Science Technicians", - "broad": "Miscellaneous Life, Physical, and Social Science Technicians", - "detailed": "Miscellaneous Life, Physical, and Social Science Technicians", - "code": "19-4090", - "name": "Miscellaneous Life, Physical, and Social Science Technicians", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "19-0000", - "minorCode": "19-4000", - "broadCode": "19-4090", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Practitioners and Technical Occupations", - "minor": null, - "broad": null, - "detailed": "Healthcare Practitioners and Technical Occupations", - "code": "29-0000", - "name": "Healthcare Practitioners and Technical Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "29-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Practitioners and Technical Occupations", - "minor": "Healthcare Diagnosing or Treating Practitioners", - "broad": null, - "detailed": "Healthcare Diagnosing or Treating Practitioners", - "code": "29-1000", - "name": "Healthcare Diagnosing or Treating Practitioners", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "29-0000", - "minorCode": "29-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Practitioners and Technical Occupations", - "minor": "Healthcare Diagnosing or Treating Practitioners", - "broad": "Optometrists", - "detailed": "Optometrists", - "code": "29-1040", - "name": "Optometrists", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "29-0000", - "minorCode": "29-1000", - "broadCode": "29-1040", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Practitioners and Technical Occupations", - "minor": "Healthcare Diagnosing or Treating Practitioners", - "broad": "Optometrists", - "detailed": "Optometrists", - "code": "29-1041", - "name": "Optometrists", - "description": "Diagnose, manage, and treat conditions and diseases of the human eye and visual system. Examine eyes and visual system, diagnose problems or impairments, prescribe corrective lenses, and provide treatment. May prescribe therapeutic drugs to treat specific eye conditions. Ophthalmologists are included in “Ophthalmologists, Except Pediatric” (29-1241).", - "framework": "bls", - "url": null, - "majorCode": "29-0000", - "minorCode": "29-1000", - "broadCode": "29-1040", - "detailedCode": "29-1041", - "jobRoleCode": null - }, - { - "major": "Healthcare Practitioners and Technical Occupations", - "minor": "Healthcare Diagnosing or Treating Practitioners", - "broad": "Nurse Practitioners", - "detailed": "Nurse Practitioners", - "code": "29-1170", - "name": "Nurse Practitioners", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "29-0000", - "minorCode": "29-1000", - "broadCode": "29-1170", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Practitioners and Technical Occupations", - "minor": "Healthcare Diagnosing or Treating Practitioners", - "broad": "Nurse Practitioners", - "detailed": "Nurse Practitioners", - "code": "29-1171", - "name": "Nurse Practitioners", - "description": "Diagnose and treat acute, episodic, or chronic illness, independently or as part of a healthcare team. May focus on health promotion and disease prevention. May order, perform, or interpret diagnostic tests such as lab work and x rays. May prescribe medication. Must be registered nurses who have specialized graduate education.", - "framework": "bls", - "url": null, - "majorCode": "29-0000", - "minorCode": "29-1000", - "broadCode": "29-1170", - "detailedCode": "29-1171", - "jobRoleCode": null - }, - { - "major": "Healthcare Practitioners and Technical Occupations", - "minor": "Health Technologists and Technicians", - "broad": null, - "detailed": "Health Technologists and Technicians", - "code": "29-2000", - "name": "Health Technologists and Technicians", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "29-0000", - "minorCode": "29-2000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Practitioners and Technical Occupations", - "minor": "Health Technologists and Technicians", - "broad": "Opticians, Dispensing", - "detailed": "Opticians, Dispensing", - "code": "29-2080", - "name": "Opticians, Dispensing", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "29-0000", - "minorCode": "29-2000", - "broadCode": "29-2080", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Practitioners and Technical Occupations", - "minor": "Health Technologists and Technicians", - "broad": "Opticians, Dispensing", - "detailed": "Opticians, Dispensing", - "code": "29-2081", - "name": "Opticians, Dispensing", - "description": "Design, measure, fit, and adapt lenses and frames for client according to written optical prescription or specification. Assist client with inserting, removing, and caring for contact lenses. Assist client with selecting frames. Measure customer for size of eyeglasses and coordinate frames with facial and eye measurements and optical prescription. Prepare work order for optical laboratory containing instructions for grinding and mounting lenses in frames. Verify exactness of finished lens spectacles. Adjust frame and lens position to fit client. May shape or reshape frames. Includes contact lens opticians.", - "framework": "bls", - "url": null, - "majorCode": "29-0000", - "minorCode": "29-2000", - "broadCode": "29-2080", - "detailedCode": "29-2081", - "jobRoleCode": null - }, - { - "major": "Healthcare Support Occupations", - "minor": null, - "broad": null, - "detailed": "Healthcare Support Occupations", - "code": "31-0000", - "name": "Healthcare Support Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "31-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Support Occupations", - "minor": "Other Healthcare Support Occupations", - "broad": null, - "detailed": "Other Healthcare Support Occupations", - "code": "31-9000", - "name": "Other Healthcare Support Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "31-0000", - "minorCode": "31-9000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Support Occupations", - "minor": "Other Healthcare Support Occupations", - "broad": "Miscellaneous Healthcare Support Occupations", - "detailed": "Miscellaneous Healthcare Support Occupations", - "code": "31-9090", - "name": "Miscellaneous Healthcare Support Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "31-0000", - "minorCode": "31-9000", - "broadCode": "31-9090", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Support Occupations", - "minor": "Other Healthcare Support Occupations", - "broad": "Miscellaneous Healthcare Support Occupations", - "detailed": "Medical Assistants", - "code": "31-9092", - "name": "Medical Assistants", - "description": "Perform administrative and certain clinical duties under the direction of a physician. Administrative duties may include scheduling appointments, maintaining medical records, billing, and coding information for insurance purposes. Clinical duties may include taking and recording vital signs and medical histories, preparing patients for examination, drawing blood, and administering medications as directed by physician. Excludes “Physician Assistants” (29-1071).", - "framework": "bls", - "url": null, - "majorCode": "31-0000", - "minorCode": "31-9000", - "broadCode": "31-9090", - "detailedCode": "31-9092", - "jobRoleCode": null - }, - { - "major": "Healthcare Support Occupations", - "minor": "Other Healthcare Support Occupations", - "broad": "Miscellaneous Healthcare Support Occupations", - "detailed": "Pharmacy Aides", - "code": "31-9095", - "name": "Pharmacy Aides", - "description": "Record drugs delivered to the pharmacy, store incoming merchandise, and inform the supervisor of stock needs. May operate cash register and accept prescriptions for filling.", - "framework": "bls", - "url": null, - "majorCode": "31-0000", - "minorCode": "31-9000", - "broadCode": "31-9090", - "detailedCode": "31-9095", - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": null, - "broad": null, - "detailed": "Protective Service Occupations", - "code": "33-0000", - "name": "Protective Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": null, - "detailed": "Law Enforcement Workers", - "code": "33-3000", - "name": "Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Bailiffs, Correctional Officers, and Jailers", - "detailed": "Bailiffs, Correctional Officers, and Jailers", - "code": "33-3010", - "name": "Bailiffs, Correctional Officers, and Jailers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3010", - "detailedCode": null, - "jobRoleCode": null - } - ] - }, - { - "uuid": "ba0ad211-2263-4e85-8475-721a6fe69c10", - "id": "http://localhost:8080/api/skills/ba0ad211-2263-4e85-8475-721a6fe69c10", - "skillName": "Assessment Result Analysis", - "skillStatement": "Analyze assessment results and the referral process.", - "status": "draft", - "keywords": [ - "Case Management", - "WGUSID: 203" - ], - "occupations": [ - { - "major": "Community and Social Service Occupations", - "minor": null, - "broad": null, - "detailed": "Community and Social Service Occupations", - "code": "21-0000", - "name": "Community and Social Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "21-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Community and Social Service Occupations", - "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", - "broad": null, - "detailed": "Counselors, Social Workers, and Other Community and Social Service Specialists", - "code": "21-1000", - "name": "Counselors, Social Workers, and Other Community and Social Service Specialists", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "21-0000", - "minorCode": "21-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Community and Social Service Occupations", - "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", - "broad": "Miscellaneous Community and Social Service Specialists", - "detailed": "Miscellaneous Community and Social Service Specialists", - "code": "21-1090", - "name": "Miscellaneous Community and Social Service Specialists", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "21-0000", - "minorCode": "21-1000", - "broadCode": "21-1090", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Community and Social Service Occupations", - "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", - "broad": "Miscellaneous Community and Social Service Specialists", - "detailed": "Community Health Workers", - "code": "21-1094", - "name": "Community Health Workers", - "description": "Promote health within a community by assisting individuals to adopt healthy behaviors. Serve as an advocate for the health needs of individuals by assisting community residents in effectively communicating with healthcare providers or social service agencies. Act as liaison or advocate and implement programs that promote, maintain, and improve individual and overall community health. May deliver health-related preventive services such as blood pressure, glaucoma, and hearing screenings. May collect data to help identify community health needs. Excludes “Health Education Specialists” (21-1091).", - "framework": "bls", - "url": null, - "majorCode": "21-0000", - "minorCode": "21-1000", - "broadCode": "21-1090", - "detailedCode": "21-1094", - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": null, - "broad": null, - "detailed": "Protective Service Occupations", - "code": "33-0000", - "name": "Protective Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": null, - "detailed": "Law Enforcement Workers", - "code": "33-3000", - "name": "Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Bailiffs, Correctional Officers, and Jailers", - "detailed": "Bailiffs, Correctional Officers, and Jailers", - "code": "33-3010", - "name": "Bailiffs, Correctional Officers, and Jailers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3010", - "detailedCode": null, - "jobRoleCode": null - } - ] - }, - { - "uuid": "920db5e9-2516-4e85-a264-107d7d762f05", - "id": "http://localhost:8080/api/skills/920db5e9-2516-4e85-a264-107d7d762f05", - "skillName": "Attitude and Belief Awareness Demonstration", - "skillStatement": "Demonstrate an awareness that one's own attitudes and beliefs can be different from other cultures and communities.", - "status": "draft", - "keywords": [ - "Cultural Awareness", - "Culturally Sensitive", - "WGUSID: 2732" - ], - "occupations": [ - { - "major": "Business and Financial Operations Occupations", - "minor": null, - "broad": null, - "detailed": "Business and Financial Operations Occupations", - "code": "13-0000", - "name": "Business and Financial Operations Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Financial Specialists", - "broad": null, - "detailed": "Financial Specialists", - "code": "13-2000", - "name": "Financial Specialists", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-2000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Financial Specialists", - "broad": "Accountants and Auditors", - "detailed": "Accountants and Auditors", - "code": "13-2010", - "name": "Accountants and Auditors", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-2000", - "broadCode": "13-2010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Financial Specialists", - "broad": "Accountants and Auditors", - "detailed": "Accountants and Auditors", - "code": "13-2011", - "name": "Accountants and Auditors", - "description": "Examine, analyze, and interpret accounting records to prepare financial statements, give advice, or audit and evaluate statements prepared by others. Install or advise on systems of recording costs or other financial and budgetary data. Excludes “Tax Examiners and Collectors, and Revenue Agents” (13-2081).", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-2000", - "broadCode": "13-2010", - "detailedCode": "13-2011", - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Financial Specialists", - "broad": "Budget Analysts", - "detailed": "Budget Analysts", - "code": "13-2030", - "name": "Budget Analysts", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-2000", - "broadCode": "13-2030", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Financial Specialists", - "broad": "Budget Analysts", - "detailed": "Budget Analysts", - "code": "13-2031", - "name": "Budget Analysts", - "description": "Examine budget estimates for completeness, accuracy, and conformance with procedures and regulations. Analyze budgeting and accounting reports. Excludes “Financial and Investment Analysts” (13-2051).", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-2000", - "broadCode": "13-2030", - "detailedCode": "13-2031", - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Financial Specialists", - "broad": "Credit Analysts", - "detailed": "Credit Analysts", - "code": "13-2040", - "name": "Credit Analysts", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-2000", - "broadCode": "13-2040", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Financial Specialists", - "broad": "Credit Analysts", - "detailed": "Credit Analysts", - "code": "13-2041", - "name": "Credit Analysts", - "description": "Analyze credit data and financial statements of individuals or firms to determine the degree of risk involved in extending credit or lending money. Prepare reports with credit information for use in decisionmaking. Excludes “Financial Risk Specialists” (13-2054).", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-2000", - "broadCode": "13-2040", - "detailedCode": "13-2041", - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Financial Specialists", - "broad": "Financial Examiners", - "detailed": "Financial Examiners", - "code": "13-2060", - "name": "Financial Examiners", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-2000", - "broadCode": "13-2060", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Financial Specialists", - "broad": "Financial Examiners", - "detailed": "Financial Examiners", - "code": "13-2061", - "name": "Financial Examiners", - "description": "Enforce or ensure compliance with laws and regulations governing financial and securities institutions and financial and real estate transactions. May examine, verify, or authenticate records.", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-2000", - "broadCode": "13-2060", - "detailedCode": "13-2061", - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Financial Specialists", - "broad": "Tax Examiners, Collectors and Preparers, and Revenue Agents", - "detailed": "Tax Examiners, Collectors and Preparers, and Revenue Agents", - "code": "13-2080", - "name": "Tax Examiners, Collectors and Preparers, and Revenue Agents", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-2000", - "broadCode": "13-2080", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Financial Specialists", - "broad": "Tax Examiners, Collectors and Preparers, and Revenue Agents", - "detailed": "Tax Examiners and Collectors, and Revenue Agents", - "code": "13-2081", - "name": "Tax Examiners and Collectors, and Revenue Agents", - "description": "Determine tax liability or collect taxes from individuals or business firms according to prescribed laws and regulations.", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-2000", - "broadCode": "13-2080", - "detailedCode": "13-2081", - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": null, - "broad": null, - "detailed": "Computer and Mathematical Occupations", - "code": "15-0000", - "name": "Computer and Mathematical Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": null, - "detailed": "Computer Occupations", - "code": "15-1200", - "name": "Computer Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": "Computer and Information Analysts", - "detailed": "Computer and Information Analysts", - "code": "15-1210", - "name": "Computer and Information Analysts", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": "15-1210", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Educational Instruction and Library Occupations", - "minor": null, - "broad": null, - "detailed": "Educational Instruction and Library Occupations", - "code": "25-0000", - "name": "Educational Instruction and Library Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "25-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Educational Instruction and Library Occupations", - "minor": "Librarians, Curators, and Archivists", - "broad": null, - "detailed": "Librarians, Curators, and Archivists", - "code": "25-4000", - "name": "Librarians, Curators, and Archivists", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "25-0000", - "minorCode": "25-4000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Educational Instruction and Library Occupations", - "minor": "Librarians, Curators, and Archivists", - "broad": "Librarians and Media Collections Specialists", - "detailed": "Librarians and Media Collections Specialists", - "code": "25-4020", - "name": "Librarians and Media Collections Specialists", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "25-0000", - "minorCode": "25-4000", - "broadCode": "25-4020", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Educational Instruction and Library Occupations", - "minor": "Librarians, Curators, and Archivists", - "broad": "Librarians and Media Collections Specialists", - "detailed": "Librarians and Media Collections Specialists", - "code": "25-4022", - "name": "Librarians and Media Collections Specialists", - "description": "Administer and maintain libraries or collections of information, for public or private access through reference or borrowing. Work in a variety of settings, such as educational institutions, museums, and corporations, and with various types of informational materials, such as books, periodicals, recordings, films, and databases. Tasks may include acquiring, cataloging, and circulating library materials, and user services such as locating and organizing information, providing instruction on how to access information, and setting up and operating a library’s media equipment.", - "framework": "bls", - "url": null, - "majorCode": "25-0000", - "minorCode": "25-4000", - "broadCode": "25-4020", - "detailedCode": "25-4022", - "jobRoleCode": null - }, - { - "major": "Educational Instruction and Library Occupations", - "minor": "Other Educational Instruction and Library Occupations", - "broad": null, - "detailed": "Other Educational Instruction and Library Occupations", - "code": "25-9000", - "name": "Other Educational Instruction and Library Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "25-0000", - "minorCode": "25-9000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Educational Instruction and Library Occupations", - "minor": "Other Educational Instruction and Library Occupations", - "broad": "Instructional Coordinators", - "detailed": "Instructional Coordinators", - "code": "25-9030", - "name": "Instructional Coordinators", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "25-0000", - "minorCode": "25-9000", - "broadCode": "25-9030", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Educational Instruction and Library Occupations", - "minor": "Other Educational Instruction and Library Occupations", - "broad": "Instructional Coordinators", - "detailed": "Instructional Coordinators", - "code": "25-9031", - "name": "Instructional Coordinators", - "description": "Develop instructional material, coordinate educational content, and incorporate current technology into instruction in order to provide guidelines to educators and instructors for developing curricula and conducting courses. May train and coach teachers. Includes educational consultants and specialists, and instructional material directors.", - "framework": "bls", - "url": null, - "majorCode": "25-0000", - "minorCode": "25-9000", - "broadCode": "25-9030", - "detailedCode": "25-9031", - "jobRoleCode": null - }, - { - "major": "Educational Instruction and Library Occupations", - "minor": "Other Educational Instruction and Library Occupations", - "broad": "Miscellaneous Educational Instruction and Library Workers", - "detailed": "Miscellaneous Educational Instruction and Library Workers", - "code": "25-9090", - "name": "Miscellaneous Educational Instruction and Library Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "25-0000", - "minorCode": "25-9000", - "broadCode": "25-9090", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": null, - "broad": null, - "detailed": "Protective Service Occupations", - "code": "33-0000", - "name": "Protective Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": null, - "detailed": "Supervisors of Protective Service Workers", - "code": "33-1000", - "name": "Supervisors of Protective Service Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": "First-Line Supervisors of Law Enforcement Workers", - "detailed": "First-Line Supervisors of Law Enforcement Workers", - "code": "33-1010", - "name": "First-Line Supervisors of Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": "33-1010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": null, - "detailed": "Law Enforcement Workers", - "code": "33-3000", - "name": "Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Bailiffs, Correctional Officers, and Jailers", - "detailed": "Bailiffs, Correctional Officers, and Jailers", - "code": "33-3010", - "name": "Bailiffs, Correctional Officers, and Jailers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Detectives and Criminal Investigators", - "detailed": "Detectives and Criminal Investigators", - "code": "33-3020", - "name": "Detectives and Criminal Investigators", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3020", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Police Officers", - "detailed": "Police Officers", - "code": "33-3050", - "name": "Police Officers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3050", - "detailedCode": null, - "jobRoleCode": null - } - ], - "standards": [ - "InTASC_3a", - "InTASC_3i", - "InTASC_4g", - "InTASC_8n", - "InTASC_3b", - "InTASC_3f", - "InTASC_3h", - "InTASC_3l", - "InTASC_3o", - "InTASC_5d", - "ISTE_Educators_4d", - "InTASC_3d", - "InTASC_3m", - "InTASC_3n", - "InTASC_6p", - "ATD.Prof.ID", - "ATD.Prof.TDF", - "ISTE.Coach.CA.1a", - "ISTE.Coach.C.3a", - "ISTE.Coach.CA.1c", - "ISTE.Coach.CL.2c", - "ISTE.Coach.PLF.5b", - "AAQEP_2e", - "ISTE_EdLeaders_3d", - "InTASC_4m", - "ATD.Org.ODC", - "ATD.Pers.CA", - "ISTE.Coach.C.3b", - "ISTE.Coach.PLF.5bAAQEP_1f", - "ISTE.Coach.DCA.7c", - "ISTE.Coach.DCA.7b", - "AAQEP_2b" - ] - }, - { - "uuid": "fd6af3f9-92f6-4065-b6b2-ce509545d40c", - "id": "http://localhost:8080/api/skills/fd6af3f9-92f6-4065-b6b2-ce509545d40c", - "skillName": "Automated External Defibrillator (AED) Functionality Testing", - "skillStatement": "Test law enforcement agencies' automated external defibrillator (AED) inventory for functionality.", - "status": "draft", - "keywords": [ - "Automated External Defibrillator", - "WGUSID: 9724" - ], - "occupations": [ - { - "major": "Protective Service Occupations", - "minor": null, - "broad": null, - "detailed": "Protective Service Occupations", - "code": "33-0000", - "name": "Protective Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": null, - "detailed": "Supervisors of Protective Service Workers", - "code": "33-1000", - "name": "Supervisors of Protective Service Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": "First-Line Supervisors of Law Enforcement Workers", - "detailed": "First-Line Supervisors of Law Enforcement Workers", - "code": "33-1010", - "name": "First-Line Supervisors of Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": "33-1010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": null, - "detailed": "Law Enforcement Workers", - "code": "33-3000", - "name": "Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Bailiffs, Correctional Officers, and Jailers", - "detailed": "Bailiffs, Correctional Officers, and Jailers", - "code": "33-3010", - "name": "Bailiffs, Correctional Officers, and Jailers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Police Officers", - "detailed": "Police Officers", - "code": "33-3050", - "name": "Police Officers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3050", - "detailedCode": null, - "jobRoleCode": null - } - ] - }, - { - "uuid": "c4b30c2e-fde7-4724-85b9-90b43878c7af", - "id": "http://localhost:8080/api/skills/c4b30c2e-fde7-4724-85b9-90b43878c7af", - "skillName": "Automated External Defibrillator (AED) Prompts Response", - "skillStatement": "Respond to automated external defibrillator (AED) prompts during deployment.", - "status": "draft", - "keywords": [ - "Automated External Defibrillator", - "WGUSID: 9726" - ], - "occupations": [ - { - "major": "Protective Service Occupations", - "minor": null, - "broad": null, - "detailed": "Protective Service Occupations", - "code": "33-0000", - "name": "Protective Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": null, - "detailed": "Supervisors of Protective Service Workers", - "code": "33-1000", - "name": "Supervisors of Protective Service Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": "First-Line Supervisors of Law Enforcement Workers", - "detailed": "First-Line Supervisors of Law Enforcement Workers", - "code": "33-1010", - "name": "First-Line Supervisors of Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": "33-1010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": null, - "detailed": "Law Enforcement Workers", - "code": "33-3000", - "name": "Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Bailiffs, Correctional Officers, and Jailers", - "detailed": "Bailiffs, Correctional Officers, and Jailers", - "code": "33-3010", - "name": "Bailiffs, Correctional Officers, and Jailers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Police Officers", - "detailed": "Police Officers", - "code": "33-3050", - "name": "Police Officers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3050", - "detailedCode": null, - "jobRoleCode": null - } - ] - }, - { - "uuid": "ccd2cb8d-0734-463c-8787-cd01853cb274", - "id": "http://localhost:8080/api/skills/ccd2cb8d-0734-463c-8787-cd01853cb274", - "skillName": "Automated External Defibrillator Operation", - "skillStatement": "Perform the operation of an automated external defibrillator (AED) when needed in medical emergencies.", - "status": "draft", - "keywords": [ - "Emergency Medical Services", - "WGUSID: 9841" - ], - "occupations": [ - { - "major": "Protective Service Occupations", - "minor": null, - "broad": null, - "detailed": "Protective Service Occupations", - "code": "33-0000", - "name": "Protective Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": null, - "detailed": "Supervisors of Protective Service Workers", - "code": "33-1000", - "name": "Supervisors of Protective Service Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": "First-Line Supervisors of Law Enforcement Workers", - "detailed": "First-Line Supervisors of Law Enforcement Workers", - "code": "33-1010", - "name": "First-Line Supervisors of Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": "33-1010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": null, - "detailed": "Law Enforcement Workers", - "code": "33-3000", - "name": "Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Bailiffs, Correctional Officers, and Jailers", - "detailed": "Bailiffs, Correctional Officers, and Jailers", - "code": "33-3010", - "name": "Bailiffs, Correctional Officers, and Jailers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Detectives and Criminal Investigators", - "detailed": "Detectives and Criminal Investigators", - "code": "33-3020", - "name": "Detectives and Criminal Investigators", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3020", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Police Officers", - "detailed": "Police Officers", - "code": "33-3050", - "name": "Police Officers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3050", - "detailedCode": null, - "jobRoleCode": null - } - ] - }, - { - "uuid": "8c481834-3d35-4d1a-93a0-afe7c643ab6f", - "id": "http://localhost:8080/api/skills/8c481834-3d35-4d1a-93a0-afe7c643ab6f", - "skillName": "Basic First Aid Administration", - "skillStatement": "Administer basic first aid in a medical emergency.", - "status": "draft", - "keywords": [ - "Medical Assistant", - "First Aid", - "WGUSID: 9111" - ], - "occupations": [ - { - "major": "Community and Social Service Occupations", - "minor": null, - "broad": null, - "detailed": "Community and Social Service Occupations", - "code": "21-0000", - "name": "Community and Social Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "21-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Community and Social Service Occupations", - "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", - "broad": null, - "detailed": "Counselors, Social Workers, and Other Community and Social Service Specialists", - "code": "21-1000", - "name": "Counselors, Social Workers, and Other Community and Social Service Specialists", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "21-0000", - "minorCode": "21-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Community and Social Service Occupations", - "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", - "broad": "Counselors", - "detailed": "Counselors", - "code": "21-1010", - "name": "Counselors", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "21-0000", - "minorCode": "21-1000", - "broadCode": "21-1010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Community and Social Service Occupations", - "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", - "broad": "Counselors", - "detailed": "Rehabilitation Counselors", - "code": "21-1015", - "name": "Rehabilitation Counselors", - "description": "Counsel individuals to maximize the independence and employability of persons coping with personal, social, and vocational difficulties that result from birth defects, illness, disease, accidents, aging, or the stress of daily life. Coordinate activities for residents of care and treatment facilities. Assess client needs and design and implement rehabilitation programs that may include personal and vocational counseling, training, and job placement. Excludes “Occupational Therapists” (29-1122).", - "framework": "bls", - "url": null, - "majorCode": "21-0000", - "minorCode": "21-1000", - "broadCode": "21-1010", - "detailedCode": "21-1015", - "jobRoleCode": null - }, - { - "major": "Community and Social Service Occupations", - "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", - "broad": "Social Workers", - "detailed": "Social Workers", - "code": "21-1020", - "name": "Social Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "21-0000", - "minorCode": "21-1000", - "broadCode": "21-1020", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Community and Social Service Occupations", - "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", - "broad": "Social Workers", - "detailed": "Healthcare Social Workers", - "code": "21-1022", - "name": "Healthcare Social Workers", - "description": "Provide individuals, families, and groups with the psychosocial support needed to cope with chronic, acute, or terminal illnesses. Services include advising family caregivers. Provide patients with information and counseling, and make referrals for other services. May also provide case and care management or interventions designed to promote health, prevent disease, and address barriers to access to healthcare.", - "framework": "bls", - "url": null, - "majorCode": "21-0000", - "minorCode": "21-1000", - "broadCode": "21-1020", - "detailedCode": "21-1022", - "jobRoleCode": null - }, - { - "major": "Community and Social Service Occupations", - "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", - "broad": "Miscellaneous Community and Social Service Specialists", - "detailed": "Miscellaneous Community and Social Service Specialists", - "code": "21-1090", - "name": "Miscellaneous Community and Social Service Specialists", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "21-0000", - "minorCode": "21-1000", - "broadCode": "21-1090", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Community and Social Service Occupations", - "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", - "broad": "Miscellaneous Community and Social Service Specialists", - "detailed": "Community Health Workers", - "code": "21-1094", - "name": "Community Health Workers", - "description": "Promote health within a community by assisting individuals to adopt healthy behaviors. Serve as an advocate for the health needs of individuals by assisting community residents in effectively communicating with healthcare providers or social service agencies. Act as liaison or advocate and implement programs that promote, maintain, and improve individual and overall community health. May deliver health-related preventive services such as blood pressure, glaucoma, and hearing screenings. May collect data to help identify community health needs. Excludes “Health Education Specialists” (21-1091).", - "framework": "bls", - "url": null, - "majorCode": "21-0000", - "minorCode": "21-1000", - "broadCode": "21-1090", - "detailedCode": "21-1094", - "jobRoleCode": null - }, - { - "major": "Healthcare Practitioners and Technical Occupations", - "minor": null, - "broad": null, - "detailed": "Healthcare Practitioners and Technical Occupations", - "code": "29-0000", - "name": "Healthcare Practitioners and Technical Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "29-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Practitioners and Technical Occupations", - "minor": "Healthcare Diagnosing or Treating Practitioners", - "broad": null, - "detailed": "Healthcare Diagnosing or Treating Practitioners", - "code": "29-1000", - "name": "Healthcare Diagnosing or Treating Practitioners", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "29-0000", - "minorCode": "29-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Practitioners and Technical Occupations", - "minor": "Healthcare Diagnosing or Treating Practitioners", - "broad": "Optometrists", - "detailed": "Optometrists", - "code": "29-1040", - "name": "Optometrists", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "29-0000", - "minorCode": "29-1000", - "broadCode": "29-1040", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Practitioners and Technical Occupations", - "minor": "Healthcare Diagnosing or Treating Practitioners", - "broad": "Optometrists", - "detailed": "Optometrists", - "code": "29-1041", - "name": "Optometrists", - "description": "Diagnose, manage, and treat conditions and diseases of the human eye and visual system. Examine eyes and visual system, diagnose problems or impairments, prescribe corrective lenses, and provide treatment. May prescribe therapeutic drugs to treat specific eye conditions. Ophthalmologists are included in “Ophthalmologists, Except Pediatric” (29-1241).", - "framework": "bls", - "url": null, - "majorCode": "29-0000", - "minorCode": "29-1000", - "broadCode": "29-1040", - "detailedCode": "29-1041", - "jobRoleCode": null - }, - { - "major": "Healthcare Practitioners and Technical Occupations", - "minor": "Healthcare Diagnosing or Treating Practitioners", - "broad": "Nurse Practitioners", - "detailed": "Nurse Practitioners", - "code": "29-1170", - "name": "Nurse Practitioners", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "29-0000", - "minorCode": "29-1000", - "broadCode": "29-1170", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Practitioners and Technical Occupations", - "minor": "Healthcare Diagnosing or Treating Practitioners", - "broad": "Nurse Practitioners", - "detailed": "Nurse Practitioners", - "code": "29-1171", - "name": "Nurse Practitioners", - "description": "Diagnose and treat acute, episodic, or chronic illness, independently or as part of a healthcare team. May focus on health promotion and disease prevention. May order, perform, or interpret diagnostic tests such as lab work and x rays. May prescribe medication. Must be registered nurses who have specialized graduate education.", - "framework": "bls", - "url": null, - "majorCode": "29-0000", - "minorCode": "29-1000", - "broadCode": "29-1170", - "detailedCode": "29-1171", - "jobRoleCode": null - }, - { - "major": "Healthcare Practitioners and Technical Occupations", - "minor": "Healthcare Diagnosing or Treating Practitioners", - "broad": "Miscellaneous Healthcare Diagnosing or Treating Practitioners", - "detailed": "Miscellaneous Healthcare Diagnosing or Treating Practitioners", - "code": "29-1290", - "name": "Miscellaneous Healthcare Diagnosing or Treating Practitioners", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "29-0000", - "minorCode": "29-1000", - "broadCode": "29-1290", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Practitioners and Technical Occupations", - "minor": "Healthcare Diagnosing or Treating Practitioners", - "broad": "Miscellaneous Healthcare Diagnosing or Treating Practitioners", - "detailed": "Dental Hygienists", - "code": "29-1292", - "name": "Dental Hygienists", - "description": "Administer oral hygiene care to patients. Assess patient oral hygiene problems or needs and maintain health records. Advise patients on oral health maintenance and disease prevention. May provide advanced care such as providing fluoride treatment or administering topical anesthesia.", - "framework": "bls", - "url": null, - "majorCode": "29-0000", - "minorCode": "29-1000", - "broadCode": "29-1290", - "detailedCode": "29-1292", - "jobRoleCode": null - }, - { - "major": "Healthcare Support Occupations", - "minor": null, - "broad": null, - "detailed": "Healthcare Support Occupations", - "code": "31-0000", - "name": "Healthcare Support Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "31-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Support Occupations", - "minor": "Home Health and Personal Care Aides; and Nursing Assistants, Orderlies, and Psychiatric Aides", - "broad": null, - "detailed": "Home Health and Personal Care Aides; and Nursing Assistants, Orderlies, and Psychiatric Aides", - "code": "31-1100", - "name": "Home Health and Personal Care Aides; and Nursing Assistants, Orderlies, and Psychiatric Aides", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "31-0000", - "minorCode": "31-1100", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Support Occupations", - "minor": "Home Health and Personal Care Aides; and Nursing Assistants, Orderlies, and Psychiatric Aides", - "broad": "Home Health and Personal Care Aides", - "detailed": "Home Health and Personal Care Aides", - "code": "31-1120", - "name": "Home Health and Personal Care Aides", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "31-0000", - "minorCode": "31-1100", - "broadCode": "31-1120", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Support Occupations", - "minor": "Home Health and Personal Care Aides; and Nursing Assistants, Orderlies, and Psychiatric Aides", - "broad": "Nursing Assistants, Orderlies, and Psychiatric Aides", - "detailed": "Nursing Assistants, Orderlies, and Psychiatric Aides", - "code": "31-1130", - "name": "Nursing Assistants, Orderlies, and Psychiatric Aides", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "31-0000", - "minorCode": "31-1100", - "broadCode": "31-1130", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Support Occupations", - "minor": "Home Health and Personal Care Aides; and Nursing Assistants, Orderlies, and Psychiatric Aides", - "broad": "Nursing Assistants, Orderlies, and Psychiatric Aides", - "detailed": "Nursing Assistants", - "code": "31-1131", - "name": "Nursing Assistants", - "description": "Provide or assist with basic care or support under the direction of onsite licensed nursing staff. Perform duties such as monitoring of health status, feeding, bathing, dressing, grooming, toileting, or ambulation of patients in a health or nursing facility. May include medication administration and other health-related tasks. Includes nursing care attendants, nursing aides, and nursing attendants. Excludes “Home Health Aides” (31-1121), “Personal Care Aides” (31-1122), “Orderlies” (31-1132), and “Psychiatric Aides” (31-1133).", - "framework": "bls", - "url": null, - "majorCode": "31-0000", - "minorCode": "31-1100", - "broadCode": "31-1130", - "detailedCode": "31-1131", - "jobRoleCode": null - }, - { - "major": "Healthcare Support Occupations", - "minor": "Other Healthcare Support Occupations", - "broad": null, - "detailed": "Other Healthcare Support Occupations", - "code": "31-9000", - "name": "Other Healthcare Support Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "31-0000", - "minorCode": "31-9000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Support Occupations", - "minor": "Other Healthcare Support Occupations", - "broad": "Miscellaneous Healthcare Support Occupations", - "detailed": "Miscellaneous Healthcare Support Occupations", - "code": "31-9090", - "name": "Miscellaneous Healthcare Support Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "31-0000", - "minorCode": "31-9000", - "broadCode": "31-9090", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Support Occupations", - "minor": "Other Healthcare Support Occupations", - "broad": "Miscellaneous Healthcare Support Occupations", - "detailed": "Dental Assistants", - "code": "31-9091", - "name": "Dental Assistants", - "description": "Perform limited clinical duties under the direction of a dentist. Clinical duties may include equipment preparation and sterilization, preparing patients for treatment, assisting the dentist during treatment, and providing patients with instructions for oral healthcare procedures. May perform administrative duties such as scheduling appointments, maintaining medical records, billing, and coding information for insurance purposes.", - "framework": "bls", - "url": null, - "majorCode": "31-0000", - "minorCode": "31-9000", - "broadCode": "31-9090", - "detailedCode": "31-9091", - "jobRoleCode": null - }, - { - "major": "Healthcare Support Occupations", - "minor": "Other Healthcare Support Occupations", - "broad": "Miscellaneous Healthcare Support Occupations", - "detailed": "Medical Assistants", - "code": "31-9092", - "name": "Medical Assistants", - "description": "Perform administrative and certain clinical duties under the direction of a physician. Administrative duties may include scheduling appointments, maintaining medical records, billing, and coding information for insurance purposes. Clinical duties may include taking and recording vital signs and medical histories, preparing patients for examination, drawing blood, and administering medications as directed by physician. Excludes “Physician Assistants” (29-1071).", - "framework": "bls", - "url": null, - "majorCode": "31-0000", - "minorCode": "31-9000", - "broadCode": "31-9090", - "detailedCode": "31-9092", - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": null, - "broad": null, - "detailed": "Protective Service Occupations", - "code": "33-0000", - "name": "Protective Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": null, - "detailed": "Supervisors of Protective Service Workers", - "code": "33-1000", - "name": "Supervisors of Protective Service Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": "First-Line Supervisors of Law Enforcement Workers", - "detailed": "First-Line Supervisors of Law Enforcement Workers", - "code": "33-1010", - "name": "First-Line Supervisors of Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": "33-1010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": null, - "detailed": "Law Enforcement Workers", - "code": "33-3000", - "name": "Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Bailiffs, Correctional Officers, and Jailers", - "detailed": "Bailiffs, Correctional Officers, and Jailers", - "code": "33-3010", - "name": "Bailiffs, Correctional Officers, and Jailers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Police Officers", - "detailed": "Police Officers", - "code": "33-3050", - "name": "Police Officers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3050", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": null, - "minor": null, - "broad": null, - "detailed": null, - "code": "21-1018", - "name": null, - "description": null, - "framework": null, - "url": null, - "majorCode": "21-0000", - "minorCode": "21-1000", - "broadCode": "21-1010", - "detailedCode": "21-1018", - "jobRoleCode": null - } - ], - "standards": [ - "ACHE_4D3", - "NCSBN_35" - ] - }, - { - "uuid": "761cab3a-6f29-4f81-bd11-c8f496d7e9fe", - "id": "http://localhost:8080/api/skills/761cab3a-6f29-4f81-bd11-c8f496d7e9fe", - "skillName": "Behavioral Description", - "skillStatement": "Describe a suspect's behavior.", - "status": "draft", - "keywords": [ - "Behavioral Science", - "WGUSID: 9736" - ], - "occupations": [ - { - "major": "Protective Service Occupations", - "minor": null, - "broad": null, - "detailed": "Protective Service Occupations", - "code": "33-0000", - "name": "Protective Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": null, - "detailed": "Supervisors of Protective Service Workers", - "code": "33-1000", - "name": "Supervisors of Protective Service Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": "First-Line Supervisors of Law Enforcement Workers", - "detailed": "First-Line Supervisors of Law Enforcement Workers", - "code": "33-1010", - "name": "First-Line Supervisors of Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": "33-1010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": null, - "detailed": "Law Enforcement Workers", - "code": "33-3000", - "name": "Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Bailiffs, Correctional Officers, and Jailers", - "detailed": "Bailiffs, Correctional Officers, and Jailers", - "code": "33-3010", - "name": "Bailiffs, Correctional Officers, and Jailers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Detectives and Criminal Investigators", - "detailed": "Detectives and Criminal Investigators", - "code": "33-3020", - "name": "Detectives and Criminal Investigators", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3020", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Police Officers", - "detailed": "Police Officers", - "code": "33-3050", - "name": "Police Officers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3050", - "detailedCode": null, - "jobRoleCode": null - } - ] - }, - { - "uuid": "1dfad376-08e8-47c5-a441-bbafdea74f90", - "id": "http://localhost:8080/api/skills/1dfad376-08e8-47c5-a441-bbafdea74f90", - "skillName": "Behavioral Impact Assessment", - "skillStatement": "Assess how an individual's behavior will impact others a given situation.", - "status": "draft", - "keywords": [ - "Behavioral Science", - "WGUSID: 9732" - ], - "occupations": [ - { - "major": "Protective Service Occupations", - "minor": null, - "broad": null, - "detailed": "Protective Service Occupations", - "code": "33-0000", - "name": "Protective Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": null, - "detailed": "Supervisors of Protective Service Workers", - "code": "33-1000", - "name": "Supervisors of Protective Service Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": "First-Line Supervisors of Law Enforcement Workers", - "detailed": "First-Line Supervisors of Law Enforcement Workers", - "code": "33-1010", - "name": "First-Line Supervisors of Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": "33-1010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": null, - "detailed": "Law Enforcement Workers", - "code": "33-3000", - "name": "Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Bailiffs, Correctional Officers, and Jailers", - "detailed": "Bailiffs, Correctional Officers, and Jailers", - "code": "33-3010", - "name": "Bailiffs, Correctional Officers, and Jailers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Detectives and Criminal Investigators", - "detailed": "Detectives and Criminal Investigators", - "code": "33-3020", - "name": "Detectives and Criminal Investigators", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3020", - "detailedCode": null, - "jobRoleCode": null - } - ] - }, - { - "uuid": "a3593d14-a864-455e-ae10-cbfad2a27a29", - "id": "http://localhost:8080/api/skills/a3593d14-a864-455e-ae10-cbfad2a27a29", - "skillName": "Behavioral Response Assessment", - "skillStatement": "Assess the response needed for an individual's behavior.", - "status": "draft", - "keywords": [ - "Behavioral Science", - "WGUSID: 9734" - ], - "occupations": [ - { - "major": "Protective Service Occupations", - "minor": null, - "broad": null, - "detailed": "Protective Service Occupations", - "code": "33-0000", - "name": "Protective Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": null, - "detailed": "Supervisors of Protective Service Workers", - "code": "33-1000", - "name": "Supervisors of Protective Service Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": "First-Line Supervisors of Law Enforcement Workers", - "detailed": "First-Line Supervisors of Law Enforcement Workers", - "code": "33-1010", - "name": "First-Line Supervisors of Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": "33-1010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": null, - "detailed": "Law Enforcement Workers", - "code": "33-3000", - "name": "Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Bailiffs, Correctional Officers, and Jailers", - "detailed": "Bailiffs, Correctional Officers, and Jailers", - "code": "33-3010", - "name": "Bailiffs, Correctional Officers, and Jailers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Detectives and Criminal Investigators", - "detailed": "Detectives and Criminal Investigators", - "code": "33-3020", - "name": "Detectives and Criminal Investigators", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3020", - "detailedCode": null, - "jobRoleCode": null - } - ] - }, - { - "uuid": "99fe0c6b-0376-466a-8249-838ce6abc41c", - "id": "http://localhost:8080/api/skills/99fe0c6b-0376-466a-8249-838ce6abc41c", - "skillName": "Behavioral Threat Assessment", - "skillStatement": "Assess the threat level that an individual's behavior poses to other people's safety.", - "status": "draft", - "keywords": [ - "Behavioral Science", - "WGUSID: 9735" - ], - "occupations": [ - { - "major": "Protective Service Occupations", - "minor": null, - "broad": null, - "detailed": "Protective Service Occupations", - "code": "33-0000", - "name": "Protective Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": null, - "detailed": "Supervisors of Protective Service Workers", - "code": "33-1000", - "name": "Supervisors of Protective Service Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": "First-Line Supervisors of Law Enforcement Workers", - "detailed": "First-Line Supervisors of Law Enforcement Workers", - "code": "33-1010", - "name": "First-Line Supervisors of Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": "33-1010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": null, - "detailed": "Law Enforcement Workers", - "code": "33-3000", - "name": "Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Bailiffs, Correctional Officers, and Jailers", - "detailed": "Bailiffs, Correctional Officers, and Jailers", - "code": "33-3010", - "name": "Bailiffs, Correctional Officers, and Jailers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Detectives and Criminal Investigators", - "detailed": "Detectives and Criminal Investigators", - "code": "33-3020", - "name": "Detectives and Criminal Investigators", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3020", - "detailedCode": null, - "jobRoleCode": null - } - ] - }, - { - "uuid": "f49e45bb-bf59-40e9-b512-fce9480ffa5e", - "id": "http://localhost:8080/api/skills/f49e45bb-bf59-40e9-b512-fce9480ffa5e", - "skillName": "Body Language Exhibition", - "skillStatement": "Exhibit non-threatening body language during a de-escalation.", - "status": "draft", - "keywords": [ - "De-escalation Techniques", - "WGUSID: 9810" - ], - "occupations": [ - { - "major": "Protective Service Occupations", - "minor": null, - "broad": null, - "detailed": "Protective Service Occupations", - "code": "33-0000", - "name": "Protective Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": null, - "detailed": "Supervisors of Protective Service Workers", - "code": "33-1000", - "name": "Supervisors of Protective Service Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": "First-Line Supervisors of Law Enforcement Workers", - "detailed": "First-Line Supervisors of Law Enforcement Workers", - "code": "33-1010", - "name": "First-Line Supervisors of Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": "33-1010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": null, - "detailed": "Law Enforcement Workers", - "code": "33-3000", - "name": "Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Bailiffs, Correctional Officers, and Jailers", - "detailed": "Bailiffs, Correctional Officers, and Jailers", - "code": "33-3010", - "name": "Bailiffs, Correctional Officers, and Jailers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Police Officers", - "detailed": "Police Officers", - "code": "33-3050", - "name": "Police Officers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3050", - "detailedCode": null, - "jobRoleCode": null - } - ] - }, - { - "uuid": "a7aa8acc-143c-42f8-9f23-1abf10b6b72c", - "id": "http://localhost:8080/api/skills/a7aa8acc-143c-42f8-9f23-1abf10b6b72c", - "skillName": "Build Trust with Emotional Support", - "skillStatement": "Build trust with an individual experiencing a crisis by providing emotional support.", - "status": "draft", - "keywords": [ - "Crisis Intervention", - "WGUSID: 9791" - ], - "occupations": [ - { - "major": "Protective Service Occupations", - "minor": null, - "broad": null, - "detailed": "Protective Service Occupations", - "code": "33-0000", - "name": "Protective Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": null, - "detailed": "Supervisors of Protective Service Workers", - "code": "33-1000", - "name": "Supervisors of Protective Service Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": "First-Line Supervisors of Law Enforcement Workers", - "detailed": "First-Line Supervisors of Law Enforcement Workers", - "code": "33-1010", - "name": "First-Line Supervisors of Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": "33-1010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": null, - "detailed": "Law Enforcement Workers", - "code": "33-3000", - "name": "Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Bailiffs, Correctional Officers, and Jailers", - "detailed": "Bailiffs, Correctional Officers, and Jailers", - "code": "33-3010", - "name": "Bailiffs, Correctional Officers, and Jailers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Detectives and Criminal Investigators", - "detailed": "Detectives and Criminal Investigators", - "code": "33-3020", - "name": "Detectives and Criminal Investigators", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3020", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Police Officers", - "detailed": "Police Officers", - "code": "33-3050", - "name": "Police Officers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3050", - "detailedCode": null, - "jobRoleCode": null - } - ] - }, - { - "uuid": "63cf37de-2f99-4733-baae-7d1986f44f1a", - "id": "http://localhost:8080/api/skills/63cf37de-2f99-4733-baae-7d1986f44f1a", - "skillName": "Cardiopulmonary Resuscitation", - "skillStatement": "Perform cardiopulmonary resuscitation (CPR) when needed in medical emergencies.", - "status": "draft", - "keywords": [ - "Emergency Medical Services", - "WGUSID: 9842" - ], - "occupations": [ - { - "major": "Protective Service Occupations", - "minor": null, - "broad": null, - "detailed": "Protective Service Occupations", - "code": "33-0000", - "name": "Protective Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": null, - "detailed": "Supervisors of Protective Service Workers", - "code": "33-1000", - "name": "Supervisors of Protective Service Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": "First-Line Supervisors of Law Enforcement Workers", - "detailed": "First-Line Supervisors of Law Enforcement Workers", - "code": "33-1010", - "name": "First-Line Supervisors of Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": "33-1010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": null, - "detailed": "Law Enforcement Workers", - "code": "33-3000", - "name": "Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Bailiffs, Correctional Officers, and Jailers", - "detailed": "Bailiffs, Correctional Officers, and Jailers", - "code": "33-3010", - "name": "Bailiffs, Correctional Officers, and Jailers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Detectives and Criminal Investigators", - "detailed": "Detectives and Criminal Investigators", - "code": "33-3020", - "name": "Detectives and Criminal Investigators", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3020", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Police Officers", - "detailed": "Police Officers", - "code": "33-3050", - "name": "Police Officers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3050", - "detailedCode": null, - "jobRoleCode": null - } - ] - }, - { - "uuid": "8b32a4f3-ded8-4a29-934d-a5d36ce4d4c1", - "id": "http://localhost:8080/api/skills/8b32a4f3-ded8-4a29-934d-a5d36ce4d4c1", - "skillName": "Care Provision", - "skillStatement": "Determine the appropriate care needed for a trauma victim.", - "status": "draft", - "keywords": [ - "Trauma", - "WGUSID: 10111" - ], - "occupations": [ - { - "major": "Protective Service Occupations", - "minor": null, - "broad": null, - "detailed": "Protective Service Occupations", - "code": "33-0000", - "name": "Protective Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": null, - "detailed": "Law Enforcement Workers", - "code": "33-3000", - "name": "Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Bailiffs, Correctional Officers, and Jailers", - "detailed": "Bailiffs, Correctional Officers, and Jailers", - "code": "33-3010", - "name": "Bailiffs, Correctional Officers, and Jailers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Detectives and Criminal Investigators", - "detailed": "Detectives and Criminal Investigators", - "code": "33-3020", - "name": "Detectives and Criminal Investigators", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3020", - "detailedCode": null, - "jobRoleCode": null - } - ] - }, - { - "uuid": "ce401681-5731-4d97-b4d9-8710f7c70272", - "id": "http://localhost:8080/api/skills/ce401681-5731-4d97-b4d9-8710f7c70272", - "skillName": "Case Management Application", - "skillStatement": "Apply a case management model and case management competencies to a given situation.", - "status": "draft", - "keywords": [ - "Case Management", - "WGUSID: 375" - ], - "occupations": [ - { - "major": "Management Occupations", - "minor": null, - "broad": null, - "detailed": "Management Occupations", - "code": "11-0000", - "name": "Management Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Operations Specialties Managers", - "broad": null, - "detailed": "Operations Specialties Managers", - "code": "11-3000", - "name": "Operations Specialties Managers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Operations Specialties Managers", - "broad": "Financial Managers", - "detailed": "Financial Managers", - "code": "11-3030", - "name": "Financial Managers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-3000", - "broadCode": "11-3030", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Operations Specialties Managers", - "broad": "Financial Managers", - "detailed": "Financial Managers", - "code": "11-3031", - "name": "Financial Managers", - "description": "Plan, direct, or coordinate accounting, investing, banking, insurance, securities, and other financial activities of a branch, office, or department of an establishment. Excludes “Financial Risk Specialists” (13-2054).", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-3000", - "broadCode": "11-3030", - "detailedCode": "11-3031", - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": null, - "broad": null, - "detailed": "Business and Financial Operations Occupations", - "code": "13-0000", - "name": "Business and Financial Operations Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Business Operations Specialists", - "broad": null, - "detailed": "Business Operations Specialists", - "code": "13-1000", - "name": "Business Operations Specialists", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Business Operations Specialists", - "broad": "Buyers and Purchasing Agents", - "detailed": "Buyers and Purchasing Agents", - "code": "13-1020", - "name": "Buyers and Purchasing Agents", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-1000", - "broadCode": "13-1020", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Business Operations Specialists", - "broad": "Buyers and Purchasing Agents", - "detailed": "Buyers and Purchasing Agents, Farm Products", - "code": "13-1021", - "name": "Buyers and Purchasing Agents, Farm Products", - "description": "Purchase farm products either for further processing or resale. Includes tree farm contractors, grain brokers and market operators, grain buyers, and tobacco buyers. May negotiate contracts.", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-1000", - "broadCode": "13-1020", - "detailedCode": "13-1021", - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Business Operations Specialists", - "broad": "Buyers and Purchasing Agents", - "detailed": "Wholesale and Retail Buyers, Except Farm Products", - "code": "13-1022", - "name": "Wholesale and Retail Buyers, Except Farm Products", - "description": "Buy merchandise or commodities, other than farm products, for resale to consumers at the wholesale or retail level, including both durable and nondurable goods. Analyze past buying trends, sales records, price, and quality of merchandise to determine value and yield. Select, order, and authorize payment for merchandise according to contractual agreements. May conduct meetings with sales personnel and introduce new products. May negotiate contracts. Includes assistant wholesale and retail buyers of nonfarm products. Excludes “Procurement Clerks” (43-3061).", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-1000", - "broadCode": "13-1020", - "detailedCode": "13-1022", - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Business Operations Specialists", - "broad": "Buyers and Purchasing Agents", - "detailed": "Purchasing Agents, Except Wholesale, Retail, and Farm Products", - "code": "13-1023", - "name": "Purchasing Agents, Except Wholesale, Retail, and Farm Products", - "description": "Purchase machinery, equipment, tools, parts, supplies, or services necessary for the operation of an establishment. Purchase raw or semifinished materials for manufacturing. May negotiate contracts. Excludes “Buyers and Purchasing Agents, Farm Products” (13-1021) and “Wholesale and Retail Buyers, Except Farm Products” (13-1022).", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-1000", - "broadCode": "13-1020", - "detailedCode": "13-1023", - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Business Operations Specialists", - "broad": "Management Analysts", - "detailed": "Management Analysts", - "code": "13-1110", - "name": "Management Analysts", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-1000", - "broadCode": "13-1110", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Business Operations Specialists", - "broad": "Management Analysts", - "detailed": "Management Analysts", - "code": "13-1111", - "name": "Management Analysts", - "description": "Conduct organizational studies and evaluations, design systems and procedures, conduct work simplification and measurement studies, and prepare operations and procedures manuals to assist management in operating more efficiently and effectively. Includes program analysts and management consultants. Excludes “Computer Systems Analysts” (15-1211) and “Operations Research Analysts” (15-2031).", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-1000", - "broadCode": "13-1110", - "detailedCode": "13-1111", - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Business Operations Specialists", - "broad": "Market Research Analysts and Marketing Specialists", - "detailed": "Market Research Analysts and Marketing Specialists", - "code": "13-1160", - "name": "Market Research Analysts and Marketing Specialists", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-1000", - "broadCode": "13-1160", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Business Operations Specialists", - "broad": "Market Research Analysts and Marketing Specialists", - "detailed": "Market Research Analysts and Marketing Specialists", - "code": "13-1161", - "name": "Market Research Analysts and Marketing Specialists", - "description": "Research conditions in local, regional, national, or online markets. Gather information to determine potential sales of a product or service, or plan a marketing or advertising campaign. May gather information on competitors, prices, sales, and methods of marketing and distribution. May employ search marketing tactics, analyze web metrics, and develop recommendations to increase search engine ranking and visibility to target markets. Excludes “Web and Digital Interface Designers” (15-1255), “Art Directors” (27-1011), “Graphic Designers” (27-1024), and “Public Relations Specialists” (27-3031).", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-1000", - "broadCode": "13-1160", - "detailedCode": "13-1161", - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Financial Specialists", - "broad": null, - "detailed": "Financial Specialists", - "code": "13-2000", - "name": "Financial Specialists", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-2000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Financial Specialists", - "broad": "Accountants and Auditors", - "detailed": "Accountants and Auditors", - "code": "13-2010", - "name": "Accountants and Auditors", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-2000", - "broadCode": "13-2010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Financial Specialists", - "broad": "Accountants and Auditors", - "detailed": "Accountants and Auditors", - "code": "13-2011", - "name": "Accountants and Auditors", - "description": "Examine, analyze, and interpret accounting records to prepare financial statements, give advice, or audit and evaluate statements prepared by others. Install or advise on systems of recording costs or other financial and budgetary data. Excludes “Tax Examiners and Collectors, and Revenue Agents” (13-2081).", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-2000", - "broadCode": "13-2010", - "detailedCode": "13-2011", - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Financial Specialists", - "broad": "Budget Analysts", - "detailed": "Budget Analysts", - "code": "13-2030", - "name": "Budget Analysts", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-2000", - "broadCode": "13-2030", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Financial Specialists", - "broad": "Budget Analysts", - "detailed": "Budget Analysts", - "code": "13-2031", - "name": "Budget Analysts", - "description": "Examine budget estimates for completeness, accuracy, and conformance with procedures and regulations. Analyze budgeting and accounting reports. Excludes “Financial and Investment Analysts” (13-2051).", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-2000", - "broadCode": "13-2030", - "detailedCode": "13-2031", - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Financial Specialists", - "broad": "Credit Analysts", - "detailed": "Credit Analysts", - "code": "13-2040", - "name": "Credit Analysts", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-2000", - "broadCode": "13-2040", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Financial Specialists", - "broad": "Credit Analysts", - "detailed": "Credit Analysts", - "code": "13-2041", - "name": "Credit Analysts", - "description": "Analyze credit data and financial statements of individuals or firms to determine the degree of risk involved in extending credit or lending money. Prepare reports with credit information for use in decisionmaking. Excludes “Financial Risk Specialists” (13-2054).", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-2000", - "broadCode": "13-2040", - "detailedCode": "13-2041", - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Financial Specialists", - "broad": "Financial Examiners", - "detailed": "Financial Examiners", - "code": "13-2060", - "name": "Financial Examiners", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-2000", - "broadCode": "13-2060", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Financial Specialists", - "broad": "Financial Examiners", - "detailed": "Financial Examiners", - "code": "13-2061", - "name": "Financial Examiners", - "description": "Enforce or ensure compliance with laws and regulations governing financial and securities institutions and financial and real estate transactions. May examine, verify, or authenticate records.", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-2000", - "broadCode": "13-2060", - "detailedCode": "13-2061", - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Financial Specialists", - "broad": "Tax Examiners, Collectors and Preparers, and Revenue Agents", - "detailed": "Tax Examiners, Collectors and Preparers, and Revenue Agents", - "code": "13-2080", - "name": "Tax Examiners, Collectors and Preparers, and Revenue Agents", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-2000", - "broadCode": "13-2080", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Financial Specialists", - "broad": "Tax Examiners, Collectors and Preparers, and Revenue Agents", - "detailed": "Tax Examiners and Collectors, and Revenue Agents", - "code": "13-2081", - "name": "Tax Examiners and Collectors, and Revenue Agents", - "description": "Determine tax liability or collect taxes from individuals or business firms according to prescribed laws and regulations.", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-2000", - "broadCode": "13-2080", - "detailedCode": "13-2081", - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": null, - "broad": null, - "detailed": "Computer and Mathematical Occupations", - "code": "15-0000", - "name": "Computer and Mathematical Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Mathematical Science Occupations", - "broad": null, - "detailed": "Mathematical Science Occupations", - "code": "15-2000", - "name": "Mathematical Science Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-2000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Mathematical Science Occupations", - "broad": "Statisticians", - "detailed": "Statisticians", - "code": "15-2040", - "name": "Statisticians", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-2000", - "broadCode": "15-2040", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Mathematical Science Occupations", - "broad": "Statisticians", - "detailed": "Statisticians", - "code": "15-2041", - "name": "Statisticians", - "description": "Develop or apply mathematical or statistical theory and methods to collect, organize, interpret, and summarize numerical data to provide usable information. May specialize in fields such as biostatistics, agricultural statistics, business statistics, or economic statistics. Includes mathematical and survey statisticians. Excludes “Survey Researchers” (19-3022).", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-2000", - "broadCode": "15-2040", - "detailedCode": "15-2041", - "jobRoleCode": null - }, - { - "major": "Life, Physical, and Social Science Occupations", - "minor": null, - "broad": null, - "detailed": "Life, Physical, and Social Science Occupations", - "code": "19-0000", - "name": "Life, Physical, and Social Science Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "19-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Life, Physical, and Social Science Occupations", - "minor": "Social Scientists and Related Workers", - "broad": null, - "detailed": "Social Scientists and Related Workers", - "code": "19-3000", - "name": "Social Scientists and Related Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "19-0000", - "minorCode": "19-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Life, Physical, and Social Science Occupations", - "minor": "Social Scientists and Related Workers", - "broad": "Economists", - "detailed": "Economists", - "code": "19-3010", - "name": "Economists", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "19-0000", - "minorCode": "19-3000", - "broadCode": "19-3010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Life, Physical, and Social Science Occupations", - "minor": "Social Scientists and Related Workers", - "broad": "Economists", - "detailed": "Economists", - "code": "19-3011", - "name": "Economists", - "description": "Conduct research, prepare reports, or formulate plans to address economic problems related to the production and distribution of goods and services or monetary and fiscal policy. May collect and process economic and statistical data using sampling techniques and econometric methods. Excludes “Market Research Analysts and Marketing Specialists” (13-1161).", - "framework": "bls", - "url": null, - "majorCode": "19-0000", - "minorCode": "19-3000", - "broadCode": "19-3010", - "detailedCode": "19-3011", - "jobRoleCode": null - }, - { - "major": "Life, Physical, and Social Science Occupations", - "minor": "Life, Physical, and Social Science Technicians", - "broad": null, - "detailed": "Life, Physical, and Social Science Technicians", - "code": "19-4000", - "name": "Life, Physical, and Social Science Technicians", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "19-0000", - "minorCode": "19-4000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Life, Physical, and Social Science Occupations", - "minor": "Life, Physical, and Social Science Technicians", - "broad": "Social Science Research Assistants", - "detailed": "Social Science Research Assistants", - "code": "19-4060", - "name": "Social Science Research Assistants", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "19-0000", - "minorCode": "19-4000", - "broadCode": "19-4060", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Life, Physical, and Social Science Occupations", - "minor": "Life, Physical, and Social Science Technicians", - "broad": "Social Science Research Assistants", - "detailed": "Social Science Research Assistants", - "code": "19-4061", - "name": "Social Science Research Assistants", - "description": "Assist social scientists in laboratory, survey, and other social science research. May help prepare findings for publication and assist in laboratory analysis, quality control, or data management. Excludes “Teaching Assistants, Postsecondary” (25-9044).", - "framework": "bls", - "url": null, - "majorCode": "19-0000", - "minorCode": "19-4000", - "broadCode": "19-4060", - "detailedCode": "19-4061", - "jobRoleCode": null - }, - { - "major": "Community and Social Service Occupations", - "minor": null, - "broad": null, - "detailed": "Community and Social Service Occupations", - "code": "21-0000", - "name": "Community and Social Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "21-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Community and Social Service Occupations", - "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", - "broad": null, - "detailed": "Counselors, Social Workers, and Other Community and Social Service Specialists", - "code": "21-1000", - "name": "Counselors, Social Workers, and Other Community and Social Service Specialists", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "21-0000", - "minorCode": "21-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Community and Social Service Occupations", - "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", - "broad": "Miscellaneous Community and Social Service Specialists", - "detailed": "Miscellaneous Community and Social Service Specialists", - "code": "21-1090", - "name": "Miscellaneous Community and Social Service Specialists", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "21-0000", - "minorCode": "21-1000", - "broadCode": "21-1090", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Community and Social Service Occupations", - "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", - "broad": "Miscellaneous Community and Social Service Specialists", - "detailed": "Community Health Workers", - "code": "21-1094", - "name": "Community Health Workers", - "description": "Promote health within a community by assisting individuals to adopt healthy behaviors. Serve as an advocate for the health needs of individuals by assisting community residents in effectively communicating with healthcare providers or social service agencies. Act as liaison or advocate and implement programs that promote, maintain, and improve individual and overall community health. May deliver health-related preventive services such as blood pressure, glaucoma, and hearing screenings. May collect data to help identify community health needs. Excludes “Health Education Specialists” (21-1091).", - "framework": "bls", - "url": null, - "majorCode": "21-0000", - "minorCode": "21-1000", - "broadCode": "21-1090", - "detailedCode": "21-1094", - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": null, - "broad": null, - "detailed": "Protective Service Occupations", - "code": "33-0000", - "name": "Protective Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": null, - "detailed": "Law Enforcement Workers", - "code": "33-3000", - "name": "Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Bailiffs, Correctional Officers, and Jailers", - "detailed": "Bailiffs, Correctional Officers, and Jailers", - "code": "33-3010", - "name": "Bailiffs, Correctional Officers, and Jailers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3010", - "detailedCode": null, - "jobRoleCode": null - } - ], - "standards": [ - "NICE_AN_LNG" - ] - }, - { - "uuid": "054ca304-14c4-4710-afa7-12f66eb9163f", - "id": "http://localhost:8080/api/skills/054ca304-14c4-4710-afa7-12f66eb9163f", - "skillName": "Chain-of-Survival Approach Incorporation", - "skillStatement": "Use the chain-of-survival approach when providing first aid to a cardiac arrest victim.", - "status": "draft", - "keywords": [ - "Medical Assistant", - "First Aid", - "WGUSID: 9110" - ], - "occupations": [ - { - "major": "Community and Social Service Occupations", - "minor": null, - "broad": null, - "detailed": "Community and Social Service Occupations", - "code": "21-0000", - "name": "Community and Social Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "21-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Community and Social Service Occupations", - "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", - "broad": null, - "detailed": "Counselors, Social Workers, and Other Community and Social Service Specialists", - "code": "21-1000", - "name": "Counselors, Social Workers, and Other Community and Social Service Specialists", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "21-0000", - "minorCode": "21-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Community and Social Service Occupations", - "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", - "broad": "Counselors", - "detailed": "Counselors", - "code": "21-1010", - "name": "Counselors", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "21-0000", - "minorCode": "21-1000", - "broadCode": "21-1010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Community and Social Service Occupations", - "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", - "broad": "Counselors", - "detailed": "Rehabilitation Counselors", - "code": "21-1015", - "name": "Rehabilitation Counselors", - "description": "Counsel individuals to maximize the independence and employability of persons coping with personal, social, and vocational difficulties that result from birth defects, illness, disease, accidents, aging, or the stress of daily life. Coordinate activities for residents of care and treatment facilities. Assess client needs and design and implement rehabilitation programs that may include personal and vocational counseling, training, and job placement. Excludes “Occupational Therapists” (29-1122).", - "framework": "bls", - "url": null, - "majorCode": "21-0000", - "minorCode": "21-1000", - "broadCode": "21-1010", - "detailedCode": "21-1015", - "jobRoleCode": null - }, - { - "major": "Community and Social Service Occupations", - "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", - "broad": "Social Workers", - "detailed": "Social Workers", - "code": "21-1020", - "name": "Social Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "21-0000", - "minorCode": "21-1000", - "broadCode": "21-1020", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Community and Social Service Occupations", - "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", - "broad": "Social Workers", - "detailed": "Healthcare Social Workers", - "code": "21-1022", - "name": "Healthcare Social Workers", - "description": "Provide individuals, families, and groups with the psychosocial support needed to cope with chronic, acute, or terminal illnesses. Services include advising family caregivers. Provide patients with information and counseling, and make referrals for other services. May also provide case and care management or interventions designed to promote health, prevent disease, and address barriers to access to healthcare.", - "framework": "bls", - "url": null, - "majorCode": "21-0000", - "minorCode": "21-1000", - "broadCode": "21-1020", - "detailedCode": "21-1022", - "jobRoleCode": null - }, - { - "major": "Community and Social Service Occupations", - "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", - "broad": "Miscellaneous Community and Social Service Specialists", - "detailed": "Miscellaneous Community and Social Service Specialists", - "code": "21-1090", - "name": "Miscellaneous Community and Social Service Specialists", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "21-0000", - "minorCode": "21-1000", - "broadCode": "21-1090", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Community and Social Service Occupations", - "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", - "broad": "Miscellaneous Community and Social Service Specialists", - "detailed": "Community Health Workers", - "code": "21-1094", - "name": "Community Health Workers", - "description": "Promote health within a community by assisting individuals to adopt healthy behaviors. Serve as an advocate for the health needs of individuals by assisting community residents in effectively communicating with healthcare providers or social service agencies. Act as liaison or advocate and implement programs that promote, maintain, and improve individual and overall community health. May deliver health-related preventive services such as blood pressure, glaucoma, and hearing screenings. May collect data to help identify community health needs. Excludes “Health Education Specialists” (21-1091).", - "framework": "bls", - "url": null, - "majorCode": "21-0000", - "minorCode": "21-1000", - "broadCode": "21-1090", - "detailedCode": "21-1094", - "jobRoleCode": null - }, - { - "major": "Healthcare Practitioners and Technical Occupations", - "minor": null, - "broad": null, - "detailed": "Healthcare Practitioners and Technical Occupations", - "code": "29-0000", - "name": "Healthcare Practitioners and Technical Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "29-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Practitioners and Technical Occupations", - "minor": "Healthcare Diagnosing or Treating Practitioners", - "broad": null, - "detailed": "Healthcare Diagnosing or Treating Practitioners", - "code": "29-1000", - "name": "Healthcare Diagnosing or Treating Practitioners", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "29-0000", - "minorCode": "29-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Practitioners and Technical Occupations", - "minor": "Healthcare Diagnosing or Treating Practitioners", - "broad": "Optometrists", - "detailed": "Optometrists", - "code": "29-1040", - "name": "Optometrists", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "29-0000", - "minorCode": "29-1000", - "broadCode": "29-1040", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Practitioners and Technical Occupations", - "minor": "Healthcare Diagnosing or Treating Practitioners", - "broad": "Optometrists", - "detailed": "Optometrists", - "code": "29-1041", - "name": "Optometrists", - "description": "Diagnose, manage, and treat conditions and diseases of the human eye and visual system. Examine eyes and visual system, diagnose problems or impairments, prescribe corrective lenses, and provide treatment. May prescribe therapeutic drugs to treat specific eye conditions. Ophthalmologists are included in “Ophthalmologists, Except Pediatric” (29-1241).", - "framework": "bls", - "url": null, - "majorCode": "29-0000", - "minorCode": "29-1000", - "broadCode": "29-1040", - "detailedCode": "29-1041", - "jobRoleCode": null - }, - { - "major": "Healthcare Practitioners and Technical Occupations", - "minor": "Healthcare Diagnosing or Treating Practitioners", - "broad": "Nurse Practitioners", - "detailed": "Nurse Practitioners", - "code": "29-1170", - "name": "Nurse Practitioners", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "29-0000", - "minorCode": "29-1000", - "broadCode": "29-1170", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Practitioners and Technical Occupations", - "minor": "Healthcare Diagnosing or Treating Practitioners", - "broad": "Nurse Practitioners", - "detailed": "Nurse Practitioners", - "code": "29-1171", - "name": "Nurse Practitioners", - "description": "Diagnose and treat acute, episodic, or chronic illness, independently or as part of a healthcare team. May focus on health promotion and disease prevention. May order, perform, or interpret diagnostic tests such as lab work and x rays. May prescribe medication. Must be registered nurses who have specialized graduate education.", - "framework": "bls", - "url": null, - "majorCode": "29-0000", - "minorCode": "29-1000", - "broadCode": "29-1170", - "detailedCode": "29-1171", - "jobRoleCode": null - }, - { - "major": "Healthcare Support Occupations", - "minor": null, - "broad": null, - "detailed": "Healthcare Support Occupations", - "code": "31-0000", - "name": "Healthcare Support Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "31-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Support Occupations", - "minor": "Home Health and Personal Care Aides; and Nursing Assistants, Orderlies, and Psychiatric Aides", - "broad": null, - "detailed": "Home Health and Personal Care Aides; and Nursing Assistants, Orderlies, and Psychiatric Aides", - "code": "31-1100", - "name": "Home Health and Personal Care Aides; and Nursing Assistants, Orderlies, and Psychiatric Aides", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "31-0000", - "minorCode": "31-1100", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Support Occupations", - "minor": "Home Health and Personal Care Aides; and Nursing Assistants, Orderlies, and Psychiatric Aides", - "broad": "Home Health and Personal Care Aides", - "detailed": "Home Health and Personal Care Aides", - "code": "31-1120", - "name": "Home Health and Personal Care Aides", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "31-0000", - "minorCode": "31-1100", - "broadCode": "31-1120", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Support Occupations", - "minor": "Home Health and Personal Care Aides; and Nursing Assistants, Orderlies, and Psychiatric Aides", - "broad": "Nursing Assistants, Orderlies, and Psychiatric Aides", - "detailed": "Nursing Assistants, Orderlies, and Psychiatric Aides", - "code": "31-1130", - "name": "Nursing Assistants, Orderlies, and Psychiatric Aides", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "31-0000", - "minorCode": "31-1100", - "broadCode": "31-1130", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Support Occupations", - "minor": "Home Health and Personal Care Aides; and Nursing Assistants, Orderlies, and Psychiatric Aides", - "broad": "Nursing Assistants, Orderlies, and Psychiatric Aides", - "detailed": "Nursing Assistants", - "code": "31-1131", - "name": "Nursing Assistants", - "description": "Provide or assist with basic care or support under the direction of onsite licensed nursing staff. Perform duties such as monitoring of health status, feeding, bathing, dressing, grooming, toileting, or ambulation of patients in a health or nursing facility. May include medication administration and other health-related tasks. Includes nursing care attendants, nursing aides, and nursing attendants. Excludes “Home Health Aides” (31-1121), “Personal Care Aides” (31-1122), “Orderlies” (31-1132), and “Psychiatric Aides” (31-1133).", - "framework": "bls", - "url": null, - "majorCode": "31-0000", - "minorCode": "31-1100", - "broadCode": "31-1130", - "detailedCode": "31-1131", - "jobRoleCode": null - }, - { - "major": "Healthcare Support Occupations", - "minor": "Other Healthcare Support Occupations", - "broad": null, - "detailed": "Other Healthcare Support Occupations", - "code": "31-9000", - "name": "Other Healthcare Support Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "31-0000", - "minorCode": "31-9000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Support Occupations", - "minor": "Other Healthcare Support Occupations", - "broad": "Miscellaneous Healthcare Support Occupations", - "detailed": "Miscellaneous Healthcare Support Occupations", - "code": "31-9090", - "name": "Miscellaneous Healthcare Support Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "31-0000", - "minorCode": "31-9000", - "broadCode": "31-9090", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Support Occupations", - "minor": "Other Healthcare Support Occupations", - "broad": "Miscellaneous Healthcare Support Occupations", - "detailed": "Medical Assistants", - "code": "31-9092", - "name": "Medical Assistants", - "description": "Perform administrative and certain clinical duties under the direction of a physician. Administrative duties may include scheduling appointments, maintaining medical records, billing, and coding information for insurance purposes. Clinical duties may include taking and recording vital signs and medical histories, preparing patients for examination, drawing blood, and administering medications as directed by physician. Excludes “Physician Assistants” (29-1071).", - "framework": "bls", - "url": null, - "majorCode": "31-0000", - "minorCode": "31-9000", - "broadCode": "31-9090", - "detailedCode": "31-9092", - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": null, - "broad": null, - "detailed": "Protective Service Occupations", - "code": "33-0000", - "name": "Protective Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": null, - "detailed": "Supervisors of Protective Service Workers", - "code": "33-1000", - "name": "Supervisors of Protective Service Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": "First-Line Supervisors of Law Enforcement Workers", - "detailed": "First-Line Supervisors of Law Enforcement Workers", - "code": "33-1010", - "name": "First-Line Supervisors of Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": "33-1010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": null, - "detailed": "Law Enforcement Workers", - "code": "33-3000", - "name": "Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Bailiffs, Correctional Officers, and Jailers", - "detailed": "Bailiffs, Correctional Officers, and Jailers", - "code": "33-3010", - "name": "Bailiffs, Correctional Officers, and Jailers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Police Officers", - "detailed": "Police Officers", - "code": "33-3050", - "name": "Police Officers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3050", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": null, - "minor": null, - "broad": null, - "detailed": null, - "code": "21-1018", - "name": null, - "description": null, - "framework": null, - "url": null, - "majorCode": "21-0000", - "minorCode": "21-1000", - "broadCode": "21-1010", - "detailedCode": "21-1018", - "jobRoleCode": null - } - ] - }, - { - "uuid": "3352da1f-7bba-48cc-85c7-e0700ec8d691", - "id": "http://localhost:8080/api/skills/3352da1f-7bba-48cc-85c7-e0700ec8d691", - "skillName": "Clerical Work Completion", - "skillStatement": "Complete daily clerical work activities.", - "status": "draft", - "keywords": [ - "Clerical Works", - "WGUSID: 5246.1" - ], - "occupations": [ - { - "major": "Business and Financial Operations Occupations", - "minor": null, - "broad": null, - "detailed": "Business and Financial Operations Occupations", - "code": "13-0000", - "name": "Business and Financial Operations Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Business Operations Specialists", - "broad": null, - "detailed": "Business Operations Specialists", - "code": "13-1000", - "name": "Business Operations Specialists", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Business Operations Specialists", - "broad": "Human Resources Workers", - "detailed": "Human Resources Workers", - "code": "13-1070", - "name": "Human Resources Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-1000", - "broadCode": "13-1070", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Business Operations Specialists", - "broad": "Human Resources Workers", - "detailed": "Human Resources Specialists", - "code": "13-1071", - "name": "Human Resources Specialists", - "description": "Recruit, screen, interview, or place individuals within an organization. May perform other activities in multiple human resources areas. Excludes “Compensation, Benefits, and Job Analysis Specialists” (13-1141) and “Training and Development Specialists” (13-1151).", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-1000", - "broadCode": "13-1070", - "detailedCode": "13-1071", - "jobRoleCode": null - }, - { - "major": "Life, Physical, and Social Science Occupations", - "minor": null, - "broad": null, - "detailed": "Life, Physical, and Social Science Occupations", - "code": "19-0000", - "name": "Life, Physical, and Social Science Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "19-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Life, Physical, and Social Science Occupations", - "minor": "Life, Physical, and Social Science Technicians", - "broad": null, - "detailed": "Life, Physical, and Social Science Technicians", - "code": "19-4000", - "name": "Life, Physical, and Social Science Technicians", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "19-0000", - "minorCode": "19-4000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Life, Physical, and Social Science Occupations", - "minor": "Life, Physical, and Social Science Technicians", - "broad": "Miscellaneous Life, Physical, and Social Science Technicians", - "detailed": "Miscellaneous Life, Physical, and Social Science Technicians", - "code": "19-4090", - "name": "Miscellaneous Life, Physical, and Social Science Technicians", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "19-0000", - "minorCode": "19-4000", - "broadCode": "19-4090", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": null, - "broad": null, - "detailed": "Protective Service Occupations", - "code": "33-0000", - "name": "Protective Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": null, - "detailed": "Supervisors of Protective Service Workers", - "code": "33-1000", - "name": "Supervisors of Protective Service Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": "First-Line Supervisors of Law Enforcement Workers", - "detailed": "First-Line Supervisors of Law Enforcement Workers", - "code": "33-1010", - "name": "First-Line Supervisors of Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": "33-1010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": null, - "detailed": "Law Enforcement Workers", - "code": "33-3000", - "name": "Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Bailiffs, Correctional Officers, and Jailers", - "detailed": "Bailiffs, Correctional Officers, and Jailers", - "code": "33-3010", - "name": "Bailiffs, Correctional Officers, and Jailers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Detectives and Criminal Investigators", - "detailed": "Detectives and Criminal Investigators", - "code": "33-3020", - "name": "Detectives and Criminal Investigators", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3020", - "detailedCode": null, - "jobRoleCode": null - } - ] - }, - { - "uuid": "d31935ef-eebc-4f4c-935f-d728088780fa", - "id": "http://localhost:8080/api/skills/d31935ef-eebc-4f4c-935f-d728088780fa", - "skillName": "Closed-Circuit Television (CCTV) Monitoring", - "skillStatement": "Monitor closed-circuit television (CCTV) system for alarm device activations.", - "status": "draft", - "keywords": [ - "Alarm Devices", - "WGUSID: 9707" - ], - "occupations": [ - { - "major": "Protective Service Occupations", - "minor": null, - "broad": null, - "detailed": "Protective Service Occupations", - "code": "33-0000", - "name": "Protective Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": null, - "detailed": "Supervisors of Protective Service Workers", - "code": "33-1000", - "name": "Supervisors of Protective Service Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": "First-Line Supervisors of Law Enforcement Workers", - "detailed": "First-Line Supervisors of Law Enforcement Workers", - "code": "33-1010", - "name": "First-Line Supervisors of Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": "33-1010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": null, - "detailed": "Law Enforcement Workers", - "code": "33-3000", - "name": "Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Bailiffs, Correctional Officers, and Jailers", - "detailed": "Bailiffs, Correctional Officers, and Jailers", - "code": "33-3010", - "name": "Bailiffs, Correctional Officers, and Jailers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3010", - "detailedCode": null, - "jobRoleCode": null - } - ] - }, - { - "uuid": "dd88d320-cb78-40a9-82ba-711fd926b6c7", - "id": "http://localhost:8080/api/skills/dd88d320-cb78-40a9-82ba-711fd926b6c7", - "skillName": "Collaborate to Resolve Issues", - "skillStatement": "Collaborate with team members to resolve issues.", - "status": "draft", - "keywords": [ - "Social Emotional Learning (SEL): General", - "Social Emotional Learning (SEL): Interpersonal Communication", - "Team Oriented", - "Teamwork", - "Team Building", - "Team Management", - "MS Office", - "WGUSID: 8737" - ], - "occupations": [ - { - "major": "Management Occupations", - "minor": null, - "broad": null, - "detailed": "Management Occupations", - "code": "11-0000", - "name": "Management Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Top Executives", - "broad": null, - "detailed": "Top Executives", - "code": "11-1000", - "name": "Top Executives", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Top Executives", - "broad": "Chief Executives", - "detailed": "Chief Executives", - "code": "11-1010", - "name": "Chief Executives", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-1000", - "broadCode": "11-1010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Top Executives", - "broad": "Chief Executives", - "detailed": "Chief Executives", - "code": "11-1011", - "name": "Chief Executives", - "description": "Determine and formulate policies and provide overall direction of companies or private and public sector organizations within guidelines set up by a board of directors or similar governing body. Plan, direct, or coordinate operational activities at the highest level of management with the help of subordinate executives and staff managers.", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-1000", - "broadCode": "11-1010", - "detailedCode": "11-1011", - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Top Executives", - "broad": "General and Operations Managers", - "detailed": "General and Operations Managers", - "code": "11-1020", - "name": "General and Operations Managers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-1000", - "broadCode": "11-1020", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Top Executives", - "broad": "General and Operations Managers", - "detailed": "General and Operations Managers", - "code": "11-1021", - "name": "General and Operations Managers", - "description": "Plan, direct, or coordinate the operations of public or private sector organizations, overseeing multiple departments or locations. Duties and responsibilities include formulating policies, managing daily operations, and planning the use of materials and human resources, but are too diverse and general in nature to be classified in any one functional area of management or administration, such as personnel, purchasing, or administrative services. Usually manage through subordinate supervisors. Excludes First-Line Supervisors.", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-1000", - "broadCode": "11-1020", - "detailedCode": "11-1021", - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Advertising, Marketing, Promotions, Public Relations, and Sales Managers", - "broad": null, - "detailed": "Advertising, Marketing, Promotions, Public Relations, and Sales Managers", - "code": "11-2000", - "name": "Advertising, Marketing, Promotions, Public Relations, and Sales Managers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-2000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Advertising, Marketing, Promotions, Public Relations, and Sales Managers", - "broad": "Advertising and Promotions Managers", - "detailed": "Advertising and Promotions Managers", - "code": "11-2010", - "name": "Advertising and Promotions Managers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-2000", - "broadCode": "11-2010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Advertising, Marketing, Promotions, Public Relations, and Sales Managers", - "broad": "Advertising and Promotions Managers", - "detailed": "Advertising and Promotions Managers", - "code": "11-2011", - "name": "Advertising and Promotions Managers", - "description": "Plan, direct, or coordinate advertising policies and programs or produce collateral materials, such as posters, contests, coupons, or giveaways, to create extra interest in the purchase of a product or service for a department, an entire organization, or on an account basis.", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-2000", - "broadCode": "11-2010", - "detailedCode": "11-2011", - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Advertising, Marketing, Promotions, Public Relations, and Sales Managers", - "broad": "Marketing and Sales Managers", - "detailed": "Marketing and Sales Managers", - "code": "11-2020", - "name": "Marketing and Sales Managers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-2000", - "broadCode": "11-2020", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Advertising, Marketing, Promotions, Public Relations, and Sales Managers", - "broad": "Marketing and Sales Managers", - "detailed": "Marketing Managers", - "code": "11-2021", - "name": "Marketing Managers", - "description": "Plan, direct, or coordinate marketing policies and programs, such as determining the demand for products and services offered by a firm and its competitors, and identify potential customers. Develop pricing strategies with the goal of maximizing the firm’s profits or share of the market while ensuring the firm’s customers are satisfied. Oversee product development or monitor trends that indicate the need for new products and services.", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-2000", - "broadCode": "11-2020", - "detailedCode": "11-2021", - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Advertising, Marketing, Promotions, Public Relations, and Sales Managers", - "broad": "Marketing and Sales Managers", - "detailed": "Sales Managers", - "code": "11-2022", - "name": "Sales Managers", - "description": "Plan, direct, or coordinate the actual distribution or movement of a product or service to the customer. Coordinate sales distribution by establishing sales territories, quotas, and goals and establish training programs for sales representatives. Analyze sales statistics gathered by staff to determine sales potential and inventory requirements and monitor the preferences of customers.", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-2000", - "broadCode": "11-2020", - "detailedCode": "11-2022", - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Advertising, Marketing, Promotions, Public Relations, and Sales Managers", - "broad": "Public Relations and Fundraising Managers", - "detailed": "Public Relations and Fundraising Managers", - "code": "11-2030", - "name": "Public Relations and Fundraising Managers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-2000", - "broadCode": "11-2030", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Operations Specialties Managers", - "broad": null, - "detailed": "Operations Specialties Managers", - "code": "11-3000", - "name": "Operations Specialties Managers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Operations Specialties Managers", - "broad": "Computer and Information Systems Managers", - "detailed": "Computer and Information Systems Managers", - "code": "11-3020", - "name": "Computer and Information Systems Managers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-3000", - "broadCode": "11-3020", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Operations Specialties Managers", - "broad": "Computer and Information Systems Managers", - "detailed": "Computer and Information Systems Managers", - "code": "11-3021", - "name": "Computer and Information Systems Managers", - "description": "Plan, direct, or coordinate activities in such fields as electronic data processing, information systems, systems analysis, and computer programming. Excludes “Computer Occupations” (15-1211 through 15-1299).", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-3000", - "broadCode": "11-3020", - "detailedCode": "11-3021", - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Other Management Occupations", - "broad": null, - "detailed": "Other Management Occupations", - "code": "11-9000", - "name": "Other Management Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-9000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Other Management Occupations", - "broad": "Construction Managers", - "detailed": "Construction Managers", - "code": "11-9020", - "name": "Construction Managers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-9000", - "broadCode": "11-9020", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Other Management Occupations", - "broad": "Construction Managers", - "detailed": "Construction Managers", - "code": "11-9021", - "name": "Construction Managers", - "description": "Plan, direct, or coordinate, usually through subordinate supervisory personnel, activities concerned with the construction and maintenance of structures, facilities, and systems. Participate in the conceptual development of a construction project and oversee its organization, scheduling, budgeting, and implementation. Includes managers in specialized construction fields, such as carpentry or plumbing.", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-9000", - "broadCode": "11-9020", - "detailedCode": "11-9021", - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Other Management Occupations", - "broad": "Education and Childcare Administrators", - "detailed": "Education and Childcare Administrators", - "code": "11-9030", - "name": "Education and Childcare Administrators", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-9000", - "broadCode": "11-9030", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Other Management Occupations", - "broad": "Medical and Health Services Managers", - "detailed": "Medical and Health Services Managers", - "code": "11-9110", - "name": "Medical and Health Services Managers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-9000", - "broadCode": "11-9110", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Other Management Occupations", - "broad": "Medical and Health Services Managers", - "detailed": "Medical and Health Services Managers", - "code": "11-9111", - "name": "Medical and Health Services Managers", - "description": "Plan, direct, or coordinate medical and health services in hospitals, clinics, managed care organizations, public health agencies, or similar organizations.", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-9000", - "broadCode": "11-9110", - "detailedCode": "11-9111", - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Other Management Occupations", - "broad": "Social and Community Service Managers", - "detailed": "Social and Community Service Managers", - "code": "11-9150", - "name": "Social and Community Service Managers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-9000", - "broadCode": "11-9150", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Other Management Occupations", - "broad": "Social and Community Service Managers", - "detailed": "Social and Community Service Managers", - "code": "11-9151", - "name": "Social and Community Service Managers", - "description": "Plan, direct, or coordinate the activities of a social service program or community outreach organization. Oversee the program or organization’s budget and policies regarding participant involvement, program requirements, and benefits. Work may involve directing social workers, counselors, or probation officers.", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-9000", - "broadCode": "11-9150", - "detailedCode": "11-9151", - "jobRoleCode": null - }, - { - "major": "Life, Physical, and Social Science Occupations", - "minor": null, - "broad": null, - "detailed": "Life, Physical, and Social Science Occupations", - "code": "19-0000", - "name": "Life, Physical, and Social Science Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "19-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Life, Physical, and Social Science Occupations", - "minor": "Life, Physical, and Social Science Technicians", - "broad": null, - "detailed": "Life, Physical, and Social Science Technicians", - "code": "19-4000", - "name": "Life, Physical, and Social Science Technicians", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "19-0000", - "minorCode": "19-4000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Life, Physical, and Social Science Occupations", - "minor": "Life, Physical, and Social Science Technicians", - "broad": "Miscellaneous Life, Physical, and Social Science Technicians", - "detailed": "Miscellaneous Life, Physical, and Social Science Technicians", - "code": "19-4090", - "name": "Miscellaneous Life, Physical, and Social Science Technicians", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "19-0000", - "minorCode": "19-4000", - "broadCode": "19-4090", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": null, - "broad": null, - "detailed": "Protective Service Occupations", - "code": "33-0000", - "name": "Protective Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": null, - "detailed": "Supervisors of Protective Service Workers", - "code": "33-1000", - "name": "Supervisors of Protective Service Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": "First-Line Supervisors of Law Enforcement Workers", - "detailed": "First-Line Supervisors of Law Enforcement Workers", - "code": "33-1010", - "name": "First-Line Supervisors of Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": "33-1010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": null, - "detailed": "Law Enforcement Workers", - "code": "33-3000", - "name": "Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Bailiffs, Correctional Officers, and Jailers", - "detailed": "Bailiffs, Correctional Officers, and Jailers", - "code": "33-3010", - "name": "Bailiffs, Correctional Officers, and Jailers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Detectives and Criminal Investigators", - "detailed": "Detectives and Criminal Investigators", - "code": "33-3020", - "name": "Detectives and Criminal Investigators", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3020", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Police Officers", - "detailed": "Police Officers", - "code": "33-3050", - "name": "Police Officers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3050", - "detailedCode": null, - "jobRoleCode": null - } - ], - "standards": [ - "NICE_SP_RSK", - "NICE_SP_DEV", - "NICE_SP_ARC", - "NICE_SP_TRD", - "NICE_SP_SRP", - "NICE_SP_TST", - "NICE_SP_SYS", - "NICE_OV_MGT", - "NICE_AN_TWA", - "NICE_AN_EXP", - "NICE_AN_ASA", - "NICE_AN_TGT", - "NICE_AN_LNG", - "NICE_CO_CLO", - "NICE_CO_OPL", - "NICE_CO_OPS", - "NICE_OV_PMA", - "NICE_OM_ANA", - "NICE_PR_CIR", - "NICE_PR_CDA", - "NICE_PR_INF", - "NICE_OV_SPP", - "NICE_OV_EXL", - "NICE_OV_LGA", - "NICE_OV_TEA", - "NICE_OM_DTA", - "NICE_OM_NET", - "NICE_OM_ADM", - "NICE_OM_STS" - ] - }, - { - "uuid": "dab0b23a-ef96-44a0-9dd6-0fabfee37dbe", - "id": "http://localhost:8080/api/skills/dab0b23a-ef96-44a0-9dd6-0fabfee37dbe", - "skillName": "Command Presence", - "skillStatement": "Communicate a position of authority using body language and tone of voice.", - "status": "draft", - "keywords": [ - "Instructing", - "WGUSID: 9913" - ], - "occupations": [ - { - "major": "Protective Service Occupations", - "minor": null, - "broad": null, - "detailed": "Protective Service Occupations", - "code": "33-0000", - "name": "Protective Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": null, - "detailed": "Supervisors of Protective Service Workers", - "code": "33-1000", - "name": "Supervisors of Protective Service Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": "First-Line Supervisors of Law Enforcement Workers", - "detailed": "First-Line Supervisors of Law Enforcement Workers", - "code": "33-1010", - "name": "First-Line Supervisors of Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": "33-1010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": null, - "detailed": "Law Enforcement Workers", - "code": "33-3000", - "name": "Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Bailiffs, Correctional Officers, and Jailers", - "detailed": "Bailiffs, Correctional Officers, and Jailers", - "code": "33-3010", - "name": "Bailiffs, Correctional Officers, and Jailers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Detectives and Criminal Investigators", - "detailed": "Detectives and Criminal Investigators", - "code": "33-3020", - "name": "Detectives and Criminal Investigators", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3020", - "detailedCode": null, - "jobRoleCode": null - } - ] - }, - { - "uuid": "7f13ebfa-8dc9-4bdc-97e1-c775850efe1e", - "id": "http://localhost:8080/api/skills/7f13ebfa-8dc9-4bdc-97e1-c775850efe1e", - "skillName": "Common Objective Collaboration", - "skillStatement": "Collaborate with colleagues toward common objectives.", - "status": "draft", - "keywords": [ - "Collaboration", - "Doing", - "Professional_Ethics", - "Business Ethics", - "Business_Ethics", - "Cooperation", - "WGUSID: 6915" - ], - "occupations": [ - { - "major": "Management Occupations", - "minor": null, - "broad": null, - "detailed": "Management Occupations", - "code": "11-0000", - "name": "Management Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Operations Specialties Managers", - "broad": null, - "detailed": "Operations Specialties Managers", - "code": "11-3000", - "name": "Operations Specialties Managers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Operations Specialties Managers", - "broad": "Financial Managers", - "detailed": "Financial Managers", - "code": "11-3030", - "name": "Financial Managers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-3000", - "broadCode": "11-3030", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Operations Specialties Managers", - "broad": "Financial Managers", - "detailed": "Financial Managers", - "code": "11-3031", - "name": "Financial Managers", - "description": "Plan, direct, or coordinate accounting, investing, banking, insurance, securities, and other financial activities of a branch, office, or department of an establishment. Excludes “Financial Risk Specialists” (13-2054).", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-3000", - "broadCode": "11-3030", - "detailedCode": "11-3031", - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": null, - "broad": null, - "detailed": "Business and Financial Operations Occupations", - "code": "13-0000", - "name": "Business and Financial Operations Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Business Operations Specialists", - "broad": null, - "detailed": "Business Operations Specialists", - "code": "13-1000", - "name": "Business Operations Specialists", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Business Operations Specialists", - "broad": "Management Analysts", - "detailed": "Management Analysts", - "code": "13-1110", - "name": "Management Analysts", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-1000", - "broadCode": "13-1110", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Business Operations Specialists", - "broad": "Management Analysts", - "detailed": "Management Analysts", - "code": "13-1111", - "name": "Management Analysts", - "description": "Conduct organizational studies and evaluations, design systems and procedures, conduct work simplification and measurement studies, and prepare operations and procedures manuals to assist management in operating more efficiently and effectively. Includes program analysts and management consultants. Excludes “Computer Systems Analysts” (15-1211) and “Operations Research Analysts” (15-2031).", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-1000", - "broadCode": "13-1110", - "detailedCode": "13-1111", - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Business Operations Specialists", - "broad": "Market Research Analysts and Marketing Specialists", - "detailed": "Market Research Analysts and Marketing Specialists", - "code": "13-1160", - "name": "Market Research Analysts and Marketing Specialists", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-1000", - "broadCode": "13-1160", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Business Operations Specialists", - "broad": "Market Research Analysts and Marketing Specialists", - "detailed": "Market Research Analysts and Marketing Specialists", - "code": "13-1161", - "name": "Market Research Analysts and Marketing Specialists", - "description": "Research conditions in local, regional, national, or online markets. Gather information to determine potential sales of a product or service, or plan a marketing or advertising campaign. May gather information on competitors, prices, sales, and methods of marketing and distribution. May employ search marketing tactics, analyze web metrics, and develop recommendations to increase search engine ranking and visibility to target markets. Excludes “Web and Digital Interface Designers” (15-1255), “Art Directors” (27-1011), “Graphic Designers” (27-1024), and “Public Relations Specialists” (27-3031).", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-1000", - "broadCode": "13-1160", - "detailedCode": "13-1161", - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Financial Specialists", - "broad": null, - "detailed": "Financial Specialists", - "code": "13-2000", - "name": "Financial Specialists", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-2000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Financial Specialists", - "broad": "Accountants and Auditors", - "detailed": "Accountants and Auditors", - "code": "13-2010", - "name": "Accountants and Auditors", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-2000", - "broadCode": "13-2010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Financial Specialists", - "broad": "Accountants and Auditors", - "detailed": "Accountants and Auditors", - "code": "13-2011", - "name": "Accountants and Auditors", - "description": "Examine, analyze, and interpret accounting records to prepare financial statements, give advice, or audit and evaluate statements prepared by others. Install or advise on systems of recording costs or other financial and budgetary data. Excludes “Tax Examiners and Collectors, and Revenue Agents” (13-2081).", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-2000", - "broadCode": "13-2010", - "detailedCode": "13-2011", - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Financial Specialists", - "broad": "Credit Analysts", - "detailed": "Credit Analysts", - "code": "13-2040", - "name": "Credit Analysts", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-2000", - "broadCode": "13-2040", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Financial Specialists", - "broad": "Credit Analysts", - "detailed": "Credit Analysts", - "code": "13-2041", - "name": "Credit Analysts", - "description": "Analyze credit data and financial statements of individuals or firms to determine the degree of risk involved in extending credit or lending money. Prepare reports with credit information for use in decisionmaking. Excludes “Financial Risk Specialists” (13-2054).", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-2000", - "broadCode": "13-2040", - "detailedCode": "13-2041", - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": null, - "broad": null, - "detailed": "Computer and Mathematical Occupations", - "code": "15-0000", - "name": "Computer and Mathematical Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Life, Physical, and Social Science Occupations", - "minor": null, - "broad": null, - "detailed": "Life, Physical, and Social Science Occupations", - "code": "19-0000", - "name": "Life, Physical, and Social Science Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "19-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Life, Physical, and Social Science Occupations", - "minor": "Life, Physical, and Social Science Technicians", - "broad": null, - "detailed": "Life, Physical, and Social Science Technicians", - "code": "19-4000", - "name": "Life, Physical, and Social Science Technicians", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "19-0000", - "minorCode": "19-4000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Life, Physical, and Social Science Occupations", - "minor": "Life, Physical, and Social Science Technicians", - "broad": "Miscellaneous Life, Physical, and Social Science Technicians", - "detailed": "Miscellaneous Life, Physical, and Social Science Technicians", - "code": "19-4090", - "name": "Miscellaneous Life, Physical, and Social Science Technicians", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "19-0000", - "minorCode": "19-4000", - "broadCode": "19-4090", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Practitioners and Technical Occupations", - "minor": null, - "broad": null, - "detailed": "Healthcare Practitioners and Technical Occupations", - "code": "29-0000", - "name": "Healthcare Practitioners and Technical Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "29-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Practitioners and Technical Occupations", - "minor": "Health Technologists and Technicians", - "broad": null, - "detailed": "Health Technologists and Technicians", - "code": "29-2000", - "name": "Health Technologists and Technicians", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "29-0000", - "minorCode": "29-2000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Practitioners and Technical Occupations", - "minor": "Health Technologists and Technicians", - "broad": "Medical Records Specialists", - "detailed": "Medical Records Specialists", - "code": "29-2070", - "name": "Medical Records Specialists", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "29-0000", - "minorCode": "29-2000", - "broadCode": "29-2070", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Practitioners and Technical Occupations", - "minor": "Health Technologists and Technicians", - "broad": "Medical Records Specialists", - "detailed": "Medical Records Specialists", - "code": "29-2072", - "name": "Medical Records Specialists", - "description": "Compile, process, and maintain medical records of hospital and clinic patients in a manner consistent with medical, administrative, ethical, legal, and regulatory requirements of the healthcare system. Classify medical and healthcare concepts, including diagnosis, procedures, medical services, and equipment, into the healthcare industry’s numerical coding system. Includes medical coders. Excludes “Health Information Technologists and Medical Registrars” (29-9021) and “File Clerks” (43-4071).", - "framework": "bls", - "url": null, - "majorCode": "29-0000", - "minorCode": "29-2000", - "broadCode": "29-2070", - "detailedCode": "29-2072", - "jobRoleCode": null - }, - { - "major": "Healthcare Practitioners and Technical Occupations", - "minor": "Health Technologists and Technicians", - "broad": "Miscellaneous Health Technologists and Technicians", - "detailed": "Miscellaneous Health Technologists and Technicians", - "code": "29-2090", - "name": "Miscellaneous Health Technologists and Technicians", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "29-0000", - "minorCode": "29-2000", - "broadCode": "29-2090", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": null, - "broad": null, - "detailed": "Protective Service Occupations", - "code": "33-0000", - "name": "Protective Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": null, - "detailed": "Supervisors of Protective Service Workers", - "code": "33-1000", - "name": "Supervisors of Protective Service Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": "First-Line Supervisors of Law Enforcement Workers", - "detailed": "First-Line Supervisors of Law Enforcement Workers", - "code": "33-1010", - "name": "First-Line Supervisors of Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": "33-1010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": null, - "detailed": "Law Enforcement Workers", - "code": "33-3000", - "name": "Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Bailiffs, Correctional Officers, and Jailers", - "detailed": "Bailiffs, Correctional Officers, and Jailers", - "code": "33-3010", - "name": "Bailiffs, Correctional Officers, and Jailers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Detectives and Criminal Investigators", - "detailed": "Detectives and Criminal Investigators", - "code": "33-3020", - "name": "Detectives and Criminal Investigators", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3020", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Police Officers", - "detailed": "Police Officers", - "code": "33-3050", - "name": "Police Officers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3050", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Practitioners and Technical Occupations", - "minor": "Health Technologists and Technicians", - "broad": "Medical Records Specialists", - "detailed": "Medical Records Specialists", - "code": "29-2072.00", - "name": "Medical Records Specialists", - "description": "Compile, process, and maintain medical records of hospital and clinic patients in a manner consistent with medical, administrative, ethical, legal, and regulatory requirements of the healthcare system. Classify medical and healthcare concepts, including diagnosis, procedures, medical services, and equipment, into the healthcare industry's numerical coding system. Includes medical coders.", - "framework": "o*net", - "url": null, - "majorCode": "29-0000", - "minorCode": "29-2000", - "broadCode": "29-2070", - "detailedCode": "29-2072", - "jobRoleCode": "29-2072.00" - }, - { - "major": null, - "minor": null, - "broad": null, - "detailed": null, - "code": "29-2098", - "name": null, - "description": null, - "framework": null, - "url": null, - "majorCode": "29-0000", - "minorCode": "29-2000", - "broadCode": "29-2090", - "detailedCode": "29-2098", - "jobRoleCode": null - } - ], - "standards": [ - "NICE_SP_RSK", - "NICE_SP_DEV", - "NICE_SP_ARC", - "NICE_SP_TRD", - "NICE_SP_SRP", - "NICE_SP_TST", - "NICE_SP_SYS", - "NICE_OV_MGT", - "NICE_AN_TWA", - "NICE_AN_EXP", - "NICE_AN_ASA", - "NICE_AN_TGT", - "NICE_AN_LNG", - "NICE_CO_CLO", - "NICE_CO_OPL", - "NICE_CO_OPS", - "NICE_OV_PMA", - "NICE_OM_ANA", - "NICE_PR_CIR", - "NICE_PR_CDA", - "NICE_PR_INF", - "NICE_OV_SPP", - "NICE_OV_EXL", - "NICE_OV_LGA", - "NICE_OV_TEA", - "NICE_OM_DTA", - "NICE_OM_NET", - "NICE_OM_ADM", - "NICE_OM_STS", - "NICE_PR_VAM", - "NICE_IN_FOR", - "NICE_IN_INV" - ] - }, - { - "uuid": "2baa8aac-6b61-47e4-babb-d7005064fe0a", - "id": "http://localhost:8080/api/skills/2baa8aac-6b61-47e4-babb-d7005064fe0a", - "skillName": "Communication Establishment", - "skillStatement": "Establish communication among responding personnel in accordance with Incident Command System (ICS) guidelines.", - "status": "draft", - "keywords": [ - "Incident Command System (ICS)", - "WGUSID: 9906" - ], - "occupations": [ - { - "major": "Protective Service Occupations", - "minor": null, - "broad": null, - "detailed": "Protective Service Occupations", - "code": "33-0000", - "name": "Protective Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": null, - "detailed": "Supervisors of Protective Service Workers", - "code": "33-1000", - "name": "Supervisors of Protective Service Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": "First-Line Supervisors of Law Enforcement Workers", - "detailed": "First-Line Supervisors of Law Enforcement Workers", - "code": "33-1010", - "name": "First-Line Supervisors of Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": "33-1010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": null, - "detailed": "Law Enforcement Workers", - "code": "33-3000", - "name": "Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Bailiffs, Correctional Officers, and Jailers", - "detailed": "Bailiffs, Correctional Officers, and Jailers", - "code": "33-3010", - "name": "Bailiffs, Correctional Officers, and Jailers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3010", - "detailedCode": null, - "jobRoleCode": null - } - ] - }, - { - "uuid": "8d3e1bc4-181c-4649-a2e8-ffd2d23bcc6a", - "id": "http://localhost:8080/api/skills/8d3e1bc4-181c-4649-a2e8-ffd2d23bcc6a", - "skillName": "Compare Alternate Solutions", - "skillStatement": "Compare alternatives to select the optimum solution to a problem.", - "status": "draft", - "keywords": [ - "Social Emotional Learning (SEL): General", - "Social Emotional Learning (SEL): Executive Function & Responsible Decision Making", - "Problem Solving", - "Troubleshooting (Problem Solving)", - "WGUSID: 1098" - ], - "occupations": [ - { - "major": "Computer and Mathematical Occupations", - "minor": null, - "broad": null, - "detailed": "Computer and Mathematical Occupations", - "code": "15-0000", - "name": "Computer and Mathematical Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": null, - "detailed": "Computer Occupations", - "code": "15-1200", - "name": "Computer Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": "Computer Occupations", - "broad": "Computer and Information Analysts", - "detailed": "Computer and Information Analysts", - "code": "15-1210", - "name": "Computer and Information Analysts", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": "15-1200", - "broadCode": "15-1210", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Architecture and Engineering Occupations", - "minor": null, - "broad": null, - "detailed": "Architecture and Engineering Occupations", - "code": "17-0000", - "name": "Architecture and Engineering Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "17-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Architecture and Engineering Occupations", - "minor": "Engineers", - "broad": null, - "detailed": "Engineers", - "code": "17-2000", - "name": "Engineers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "17-0000", - "minorCode": "17-2000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Architecture and Engineering Occupations", - "minor": "Engineers", - "broad": "Environmental Engineers", - "detailed": "Environmental Engineers", - "code": "17-2080", - "name": "Environmental Engineers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "17-0000", - "minorCode": "17-2000", - "broadCode": "17-2080", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Architecture and Engineering Occupations", - "minor": "Engineers", - "broad": "Industrial Engineers, Including Health and Safety", - "detailed": "Industrial Engineers, Including Health and Safety", - "code": "17-2110", - "name": "Industrial Engineers, Including Health and Safety", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "17-0000", - "minorCode": "17-2000", - "broadCode": "17-2110", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Architecture and Engineering Occupations", - "minor": "Engineers", - "broad": "Miscellaneous Engineers", - "detailed": "Miscellaneous Engineers", - "code": "17-2190", - "name": "Miscellaneous Engineers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "17-0000", - "minorCode": "17-2000", - "broadCode": "17-2190", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Architecture and Engineering Occupations", - "minor": "Drafters, Engineering Technicians, and Mapping Technicians", - "broad": null, - "detailed": "Drafters, Engineering Technicians, and Mapping Technicians", - "code": "17-3000", - "name": "Drafters, Engineering Technicians, and Mapping Technicians", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "17-0000", - "minorCode": "17-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Architecture and Engineering Occupations", - "minor": "Drafters, Engineering Technicians, and Mapping Technicians", - "broad": "Engineering Technologists and Technicians, Except Drafters", - "detailed": "Engineering Technologists and Technicians, Except Drafters", - "code": "17-3020", - "name": "Engineering Technologists and Technicians, Except Drafters", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "17-0000", - "minorCode": "17-3000", - "broadCode": "17-3020", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Life, Physical, and Social Science Occupations", - "minor": null, - "broad": null, - "detailed": "Life, Physical, and Social Science Occupations", - "code": "19-0000", - "name": "Life, Physical, and Social Science Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "19-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Life, Physical, and Social Science Occupations", - "minor": "Life, Physical, and Social Science Technicians", - "broad": null, - "detailed": "Life, Physical, and Social Science Technicians", - "code": "19-4000", - "name": "Life, Physical, and Social Science Technicians", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "19-0000", - "minorCode": "19-4000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Life, Physical, and Social Science Occupations", - "minor": "Life, Physical, and Social Science Technicians", - "broad": "Miscellaneous Life, Physical, and Social Science Technicians", - "detailed": "Miscellaneous Life, Physical, and Social Science Technicians", - "code": "19-4090", - "name": "Miscellaneous Life, Physical, and Social Science Technicians", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "19-0000", - "minorCode": "19-4000", - "broadCode": "19-4090", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": null, - "broad": null, - "detailed": "Protective Service Occupations", - "code": "33-0000", - "name": "Protective Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": null, - "detailed": "Supervisors of Protective Service Workers", - "code": "33-1000", - "name": "Supervisors of Protective Service Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": "First-Line Supervisors of Law Enforcement Workers", - "detailed": "First-Line Supervisors of Law Enforcement Workers", - "code": "33-1010", - "name": "First-Line Supervisors of Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": "33-1010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": null, - "detailed": "Law Enforcement Workers", - "code": "33-3000", - "name": "Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Bailiffs, Correctional Officers, and Jailers", - "detailed": "Bailiffs, Correctional Officers, and Jailers", - "code": "33-3010", - "name": "Bailiffs, Correctional Officers, and Jailers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Detectives and Criminal Investigators", - "detailed": "Detectives and Criminal Investigators", - "code": "33-3020", - "name": "Detectives and Criminal Investigators", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3020", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Police Officers", - "detailed": "Police Officers", - "code": "33-3050", - "name": "Police Officers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3050", - "detailedCode": null, - "jobRoleCode": null - } - ], - "standards": [ - "NICE_SP_RSK", - "NICE_SP_DEV", - "NICE_SP_ARC", - "NICE_SP_TRD", - "NICE_SP_SRP", - "NICE_SP_TST", - "NICE_SP_SYS", - "NICE_OV_MGT", - "NICE_AN_TWA", - "NICE_AN_EXP", - "NICE_AN_ASA", - "NICE_AN_TGT", - "NICE_AN_LNG", - "NICE_CO_CLO", - "NICE_CO_OPL", - "NICE_CO_OPS", - "NICE_OV_PMA", - "NICE_OM_ANA", - "NICE_PR_CIR", - "NICE_PR_CDA", - "NICE_PR_INF", - "NICE_OV_SPP", - "NICE_OV_EXL", - "NICE_OV_LGA", - "NICE_OV_TEA", - "NICE_OM_DTA", - "NICE_OM_NET", - "NICE_OM_ADM", - "NICE_OM_STS", - "NICE_PR_VAM" - ] - }, - { - "uuid": "a74d0aaf-8253-4e90-a09b-2110b5d6d940", - "id": "http://localhost:8080/api/skills/a74d0aaf-8253-4e90-a09b-2110b5d6d940", - "skillName": "Conditional Photography", - "skillStatement": "Record overall conditions of a crime scene through photographs.", - "status": "draft", - "keywords": [ - "Forensic Photography", - "WGUSID: 9879" - ], - "occupations": [ - { - "major": "Life, Physical, and Social Science Occupations", - "minor": null, - "broad": null, - "detailed": "Life, Physical, and Social Science Occupations", - "code": "19-0000", - "name": "Life, Physical, and Social Science Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "19-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Life, Physical, and Social Science Occupations", - "minor": "Life, Physical, and Social Science Technicians", - "broad": null, - "detailed": "Life, Physical, and Social Science Technicians", - "code": "19-4000", - "name": "Life, Physical, and Social Science Technicians", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "19-0000", - "minorCode": "19-4000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Life, Physical, and Social Science Occupations", - "minor": "Life, Physical, and Social Science Technicians", - "broad": "Miscellaneous Life, Physical, and Social Science Technicians", - "detailed": "Miscellaneous Life, Physical, and Social Science Technicians", - "code": "19-4090", - "name": "Miscellaneous Life, Physical, and Social Science Technicians", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "19-0000", - "minorCode": "19-4000", - "broadCode": "19-4090", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Life, Physical, and Social Science Occupations", - "minor": "Life, Physical, and Social Science Technicians", - "broad": "Miscellaneous Life, Physical, and Social Science Technicians", - "detailed": "Forensic Science Technicians", - "code": "19-4092", - "name": "Forensic Science Technicians", - "description": "Collect, identify, classify, and analyze physical evidence related to criminal investigations. Perform tests on weapons or substances, such as fiber, hair, and tissue to determine significance to investigation. May testify as expert witnesses on evidence or crime laboratory techniques. May serve as specialists in area of expertise, such as ballistics, fingerprinting, handwriting, or biochemistry.", - "framework": "bls", - "url": null, - "majorCode": "19-0000", - "minorCode": "19-4000", - "broadCode": "19-4090", - "detailedCode": "19-4092", - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": null, - "broad": null, - "detailed": "Protective Service Occupations", - "code": "33-0000", - "name": "Protective Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": null, - "detailed": "Supervisors of Protective Service Workers", - "code": "33-1000", - "name": "Supervisors of Protective Service Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": "First-Line Supervisors of Law Enforcement Workers", - "detailed": "First-Line Supervisors of Law Enforcement Workers", - "code": "33-1010", - "name": "First-Line Supervisors of Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": "33-1010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": null, - "detailed": "Law Enforcement Workers", - "code": "33-3000", - "name": "Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Bailiffs, Correctional Officers, and Jailers", - "detailed": "Bailiffs, Correctional Officers, and Jailers", - "code": "33-3010", - "name": "Bailiffs, Correctional Officers, and Jailers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Detectives and Criminal Investigators", - "detailed": "Detectives and Criminal Investigators", - "code": "33-3020", - "name": "Detectives and Criminal Investigators", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3020", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Police Officers", - "detailed": "Police Officers", - "code": "33-3050", - "name": "Police Officers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3050", - "detailedCode": null, - "jobRoleCode": null - } - ] - }, - { - "uuid": "215f6d22-9e08-4713-886b-0613fb733f1d", - "id": "http://localhost:8080/api/skills/215f6d22-9e08-4713-886b-0613fb733f1d", - "skillName": "Confident Speaking", - "skillStatement": "Speak with confidence during verbal communications.", - "status": "draft", - "keywords": [ - "GeneralEducation2019", - "Verbal Communication Skills", - "Oral Communication", - "WGUSID: 6330" - ], - "occupations": [ - { - "major": "Management Occupations", - "minor": null, - "broad": null, - "detailed": "Management Occupations", - "code": "11-0000", - "name": "Management Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Operations Specialties Managers", - "broad": null, - "detailed": "Operations Specialties Managers", - "code": "11-3000", - "name": "Operations Specialties Managers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Operations Specialties Managers", - "broad": "Financial Managers", - "detailed": "Financial Managers", - "code": "11-3030", - "name": "Financial Managers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-3000", - "broadCode": "11-3030", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Operations Specialties Managers", - "broad": "Financial Managers", - "detailed": "Financial Managers", - "code": "11-3031", - "name": "Financial Managers", - "description": "Plan, direct, or coordinate accounting, investing, banking, insurance, securities, and other financial activities of a branch, office, or department of an establishment. Excludes “Financial Risk Specialists” (13-2054).", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-3000", - "broadCode": "11-3030", - "detailedCode": "11-3031", - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": null, - "broad": null, - "detailed": "Business and Financial Operations Occupations", - "code": "13-0000", - "name": "Business and Financial Operations Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Business Operations Specialists", - "broad": null, - "detailed": "Business Operations Specialists", - "code": "13-1000", - "name": "Business Operations Specialists", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Business Operations Specialists", - "broad": "Management Analysts", - "detailed": "Management Analysts", - "code": "13-1110", - "name": "Management Analysts", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-1000", - "broadCode": "13-1110", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Business Operations Specialists", - "broad": "Management Analysts", - "detailed": "Management Analysts", - "code": "13-1111", - "name": "Management Analysts", - "description": "Conduct organizational studies and evaluations, design systems and procedures, conduct work simplification and measurement studies, and prepare operations and procedures manuals to assist management in operating more efficiently and effectively. Includes program analysts and management consultants. Excludes “Computer Systems Analysts” (15-1211) and “Operations Research Analysts” (15-2031).", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-1000", - "broadCode": "13-1110", - "detailedCode": "13-1111", - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Business Operations Specialists", - "broad": "Market Research Analysts and Marketing Specialists", - "detailed": "Market Research Analysts and Marketing Specialists", - "code": "13-1160", - "name": "Market Research Analysts and Marketing Specialists", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-1000", - "broadCode": "13-1160", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Business Operations Specialists", - "broad": "Market Research Analysts and Marketing Specialists", - "detailed": "Market Research Analysts and Marketing Specialists", - "code": "13-1161", - "name": "Market Research Analysts and Marketing Specialists", - "description": "Research conditions in local, regional, national, or online markets. Gather information to determine potential sales of a product or service, or plan a marketing or advertising campaign. May gather information on competitors, prices, sales, and methods of marketing and distribution. May employ search marketing tactics, analyze web metrics, and develop recommendations to increase search engine ranking and visibility to target markets. Excludes “Web and Digital Interface Designers” (15-1255), “Art Directors” (27-1011), “Graphic Designers” (27-1024), and “Public Relations Specialists” (27-3031).", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-1000", - "broadCode": "13-1160", - "detailedCode": "13-1161", - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Financial Specialists", - "broad": null, - "detailed": "Financial Specialists", - "code": "13-2000", - "name": "Financial Specialists", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-2000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Financial Specialists", - "broad": "Accountants and Auditors", - "detailed": "Accountants and Auditors", - "code": "13-2010", - "name": "Accountants and Auditors", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-2000", - "broadCode": "13-2010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Financial Specialists", - "broad": "Accountants and Auditors", - "detailed": "Accountants and Auditors", - "code": "13-2011", - "name": "Accountants and Auditors", - "description": "Examine, analyze, and interpret accounting records to prepare financial statements, give advice, or audit and evaluate statements prepared by others. Install or advise on systems of recording costs or other financial and budgetary data. Excludes “Tax Examiners and Collectors, and Revenue Agents” (13-2081).", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-2000", - "broadCode": "13-2010", - "detailedCode": "13-2011", - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Financial Specialists", - "broad": "Credit Analysts", - "detailed": "Credit Analysts", - "code": "13-2040", - "name": "Credit Analysts", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-2000", - "broadCode": "13-2040", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Financial Specialists", - "broad": "Credit Analysts", - "detailed": "Credit Analysts", - "code": "13-2041", - "name": "Credit Analysts", - "description": "Analyze credit data and financial statements of individuals or firms to determine the degree of risk involved in extending credit or lending money. Prepare reports with credit information for use in decisionmaking. Excludes “Financial Risk Specialists” (13-2054).", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-2000", - "broadCode": "13-2040", - "detailedCode": "13-2041", - "jobRoleCode": null - }, - { - "major": "Computer and Mathematical Occupations", - "minor": null, - "broad": null, - "detailed": "Computer and Mathematical Occupations", - "code": "15-0000", - "name": "Computer and Mathematical Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "15-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Architecture and Engineering Occupations", - "minor": null, - "broad": null, - "detailed": "Architecture and Engineering Occupations", - "code": "17-0000", - "name": "Architecture and Engineering Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "17-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Architecture and Engineering Occupations", - "minor": "Engineers", - "broad": null, - "detailed": "Engineers", - "code": "17-2000", - "name": "Engineers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "17-0000", - "minorCode": "17-2000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Architecture and Engineering Occupations", - "minor": "Engineers", - "broad": "Environmental Engineers", - "detailed": "Environmental Engineers", - "code": "17-2080", - "name": "Environmental Engineers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "17-0000", - "minorCode": "17-2000", - "broadCode": "17-2080", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Architecture and Engineering Occupations", - "minor": "Engineers", - "broad": "Industrial Engineers, Including Health and Safety", - "detailed": "Industrial Engineers, Including Health and Safety", - "code": "17-2110", - "name": "Industrial Engineers, Including Health and Safety", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "17-0000", - "minorCode": "17-2000", - "broadCode": "17-2110", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Architecture and Engineering Occupations", - "minor": "Engineers", - "broad": "Miscellaneous Engineers", - "detailed": "Miscellaneous Engineers", - "code": "17-2190", - "name": "Miscellaneous Engineers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "17-0000", - "minorCode": "17-2000", - "broadCode": "17-2190", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Architecture and Engineering Occupations", - "minor": "Drafters, Engineering Technicians, and Mapping Technicians", - "broad": null, - "detailed": "Drafters, Engineering Technicians, and Mapping Technicians", - "code": "17-3000", - "name": "Drafters, Engineering Technicians, and Mapping Technicians", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "17-0000", - "minorCode": "17-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Architecture and Engineering Occupations", - "minor": "Drafters, Engineering Technicians, and Mapping Technicians", - "broad": "Engineering Technologists and Technicians, Except Drafters", - "detailed": "Engineering Technologists and Technicians, Except Drafters", - "code": "17-3020", - "name": "Engineering Technologists and Technicians, Except Drafters", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "17-0000", - "minorCode": "17-3000", - "broadCode": "17-3020", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Life, Physical, and Social Science Occupations", - "minor": null, - "broad": null, - "detailed": "Life, Physical, and Social Science Occupations", - "code": "19-0000", - "name": "Life, Physical, and Social Science Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "19-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Life, Physical, and Social Science Occupations", - "minor": "Life, Physical, and Social Science Technicians", - "broad": null, - "detailed": "Life, Physical, and Social Science Technicians", - "code": "19-4000", - "name": "Life, Physical, and Social Science Technicians", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "19-0000", - "minorCode": "19-4000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Life, Physical, and Social Science Occupations", - "minor": "Life, Physical, and Social Science Technicians", - "broad": "Miscellaneous Life, Physical, and Social Science Technicians", - "detailed": "Miscellaneous Life, Physical, and Social Science Technicians", - "code": "19-4090", - "name": "Miscellaneous Life, Physical, and Social Science Technicians", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "19-0000", - "minorCode": "19-4000", - "broadCode": "19-4090", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": null, - "broad": null, - "detailed": "Protective Service Occupations", - "code": "33-0000", - "name": "Protective Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": null, - "detailed": "Supervisors of Protective Service Workers", - "code": "33-1000", - "name": "Supervisors of Protective Service Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": "First-Line Supervisors of Law Enforcement Workers", - "detailed": "First-Line Supervisors of Law Enforcement Workers", - "code": "33-1010", - "name": "First-Line Supervisors of Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": "33-1010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": null, - "detailed": "Law Enforcement Workers", - "code": "33-3000", - "name": "Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Bailiffs, Correctional Officers, and Jailers", - "detailed": "Bailiffs, Correctional Officers, and Jailers", - "code": "33-3010", - "name": "Bailiffs, Correctional Officers, and Jailers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Detectives and Criminal Investigators", - "detailed": "Detectives and Criminal Investigators", - "code": "33-3020", - "name": "Detectives and Criminal Investigators", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3020", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Police Officers", - "detailed": "Police Officers", - "code": "33-3050", - "name": "Police Officers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3050", - "detailedCode": null, - "jobRoleCode": null - } - ], - "standards": [ - "NICE_SP_RSK", - "NICE_SP_DEV", - "NICE_SP_ARC", - "NICE_SP_TRD", - "NICE_SP_SRP", - "NICE_SP_TST", - "NICE_SP_SYS", - "NICE_OV_MGT", - "NICE_AN_TWA", - "NICE_AN_EXP", - "NICE_AN_ASA", - "NICE_AN_TGT", - "NICE_AN_LNG", - "NICE_CO_CLO", - "NICE_CO_OPL", - "NICE_CO_OPS", - "NICE_OV_PMA", - "NICE_PR_CIR", - "NICE_PR_CDA", - "NICE_PR_INF", - "NICE_OV_SPP", - "NICE_OV_EXL", - "NICE_OV_LGA", - "NICE_OV_TEA", - "NICE_IN_FOR", - "NICE_IN_INV" - ] - }, - { - "uuid": "2d30b14a-c8c9-4149-ae8e-880ac4da3c5f", - "id": "http://localhost:8080/api/skills/2d30b14a-c8c9-4149-ae8e-880ac4da3c5f", - "skillName": "Construct a Time Management Approach", - "skillStatement": "Construct a personal time management approach that acknowledges potential barriers and includes strategies to overcome those barriers.", - "status": "draft", - "keywords": [ - "21st_Century_Skills", - "SEL", - "Power_Skills_Framework", - "Positive Mental Attitude", - "Goal Oriented", - "Task Management", - "Social Emotional Learning (SEL): General", - "Social Emotional Learning (SEL): Self Management", - "Self-Discipline", - "Timelines", - "Doing", - "WGUSID: 1313" - ], - "occupations": [ - { - "major": "Protective Service Occupations", - "minor": null, - "broad": null, - "detailed": "Protective Service Occupations", - "code": "33-0000", - "name": "Protective Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": null, - "detailed": "Supervisors of Protective Service Workers", - "code": "33-1000", - "name": "Supervisors of Protective Service Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": "First-Line Supervisors of Law Enforcement Workers", - "detailed": "First-Line Supervisors of Law Enforcement Workers", - "code": "33-1010", - "name": "First-Line Supervisors of Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": "33-1010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": null, - "detailed": "Law Enforcement Workers", - "code": "33-3000", - "name": "Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Bailiffs, Correctional Officers, and Jailers", - "detailed": "Bailiffs, Correctional Officers, and Jailers", - "code": "33-3010", - "name": "Bailiffs, Correctional Officers, and Jailers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Detectives and Criminal Investigators", - "detailed": "Detectives and Criminal Investigators", - "code": "33-3020", - "name": "Detectives and Criminal Investigators", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3020", - "detailedCode": null, - "jobRoleCode": null - } - ] - }, - { - "uuid": "5419478f-2eaf-409f-a357-2f439095b26e", - "id": "http://localhost:8080/api/skills/5419478f-2eaf-409f-a357-2f439095b26e", - "skillName": "Control Individual with Empty-Hand Techniques", - "skillStatement": "Control an individual with empty-hand techniques.", - "status": "draft", - "keywords": [ - "Use of Force", - "WGUSID: 10114" - ], - "occupations": [ - { - "major": "Protective Service Occupations", - "minor": null, - "broad": null, - "detailed": "Protective Service Occupations", - "code": "33-0000", - "name": "Protective Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": null, - "detailed": "Supervisors of Protective Service Workers", - "code": "33-1000", - "name": "Supervisors of Protective Service Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": "First-Line Supervisors of Law Enforcement Workers", - "detailed": "First-Line Supervisors of Law Enforcement Workers", - "code": "33-1010", - "name": "First-Line Supervisors of Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": "33-1010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": null, - "detailed": "Law Enforcement Workers", - "code": "33-3000", - "name": "Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Bailiffs, Correctional Officers, and Jailers", - "detailed": "Bailiffs, Correctional Officers, and Jailers", - "code": "33-3010", - "name": "Bailiffs, Correctional Officers, and Jailers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Detectives and Criminal Investigators", - "detailed": "Detectives and Criminal Investigators", - "code": "33-3020", - "name": "Detectives and Criminal Investigators", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3020", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Police Officers", - "detailed": "Police Officers", - "code": "33-3050", - "name": "Police Officers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3050", - "detailedCode": null, - "jobRoleCode": null - } - ] - }, - { - "uuid": "10517b19-8395-4136-a3ed-ab78d0f7d014", - "id": "http://localhost:8080/api/skills/10517b19-8395-4136-a3ed-ab78d0f7d014", - "skillName": "Control Oneself in Difficult Situations", - "skillStatement": "Control composure, emotions, anger, and aggressive behavior in difficult situations.", - "status": "draft", - "keywords": [ - "Positive Mental Attitude", - "Goal Oriented", - "Task Management", - "Social Emotional Learning (SEL): General", - "Social Emotional Learning (SEL): Self Management", - "Self-Discipline", - "Timelines", - "WGUSID: 4759" - ], - "occupations": [ - { - "major": "Educational Instruction and Library Occupations", - "minor": null, - "broad": null, - "detailed": "Educational Instruction and Library Occupations", - "code": "25-0000", - "name": "Educational Instruction and Library Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "25-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Educational Instruction and Library Occupations", - "minor": "Postsecondary Teachers", - "broad": null, - "detailed": "Postsecondary Teachers", - "code": "25-1000", - "name": "Postsecondary Teachers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "25-0000", - "minorCode": "25-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Educational Instruction and Library Occupations", - "minor": "Postsecondary Teachers", - "broad": "Business Teachers, Postsecondary", - "detailed": "Business Teachers, Postsecondary", - "code": "25-1010", - "name": "Business Teachers, Postsecondary", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "25-0000", - "minorCode": "25-1000", - "broadCode": "25-1010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Educational Instruction and Library Occupations", - "minor": "Postsecondary Teachers", - "broad": "Math and Computer Science Teachers, Postsecondary", - "detailed": "Math and Computer Science Teachers, Postsecondary", - "code": "25-1020", - "name": "Math and Computer Science Teachers, Postsecondary", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "25-0000", - "minorCode": "25-1000", - "broadCode": "25-1020", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Educational Instruction and Library Occupations", - "minor": "Postsecondary Teachers", - "broad": "Life Sciences Teachers, Postsecondary", - "detailed": "Life Sciences Teachers, Postsecondary", - "code": "25-1040", - "name": "Life Sciences Teachers, Postsecondary", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "25-0000", - "minorCode": "25-1000", - "broadCode": "25-1040", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Educational Instruction and Library Occupations", - "minor": "Postsecondary Teachers", - "broad": "Physical Sciences Teachers, Postsecondary", - "detailed": "Physical Sciences Teachers, Postsecondary", - "code": "25-1050", - "name": "Physical Sciences Teachers, Postsecondary", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "25-0000", - "minorCode": "25-1000", - "broadCode": "25-1050", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Educational Instruction and Library Occupations", - "minor": "Postsecondary Teachers", - "broad": "Social Sciences Teachers, Postsecondary", - "detailed": "Social Sciences Teachers, Postsecondary", - "code": "25-1060", - "name": "Social Sciences Teachers, Postsecondary", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "25-0000", - "minorCode": "25-1000", - "broadCode": "25-1060", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Educational Instruction and Library Occupations", - "minor": "Postsecondary Teachers", - "broad": "Health Teachers, Postsecondary", - "detailed": "Health Teachers, Postsecondary", - "code": "25-1070", - "name": "Health Teachers, Postsecondary", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "25-0000", - "minorCode": "25-1000", - "broadCode": "25-1070", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Educational Instruction and Library Occupations", - "minor": "Postsecondary Teachers", - "broad": "Education and Library Science Teachers, Postsecondary", - "detailed": "Education and Library Science Teachers, Postsecondary", - "code": "25-1080", - "name": "Education and Library Science Teachers, Postsecondary", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "25-0000", - "minorCode": "25-1000", - "broadCode": "25-1080", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Educational Instruction and Library Occupations", - "minor": "Postsecondary Teachers", - "broad": "Arts, Communications, History, and Humanities Teachers, Postsecondary", - "detailed": "Arts, Communications, History, and Humanities Teachers, Postsecondary", - "code": "25-1120", - "name": "Arts, Communications, History, and Humanities Teachers, Postsecondary", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "25-0000", - "minorCode": "25-1000", - "broadCode": "25-1120", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": null, - "broad": null, - "detailed": "Protective Service Occupations", - "code": "33-0000", - "name": "Protective Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": null, - "detailed": "Supervisors of Protective Service Workers", - "code": "33-1000", - "name": "Supervisors of Protective Service Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": "First-Line Supervisors of Law Enforcement Workers", - "detailed": "First-Line Supervisors of Law Enforcement Workers", - "code": "33-1010", - "name": "First-Line Supervisors of Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": "33-1010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": null, - "detailed": "Law Enforcement Workers", - "code": "33-3000", - "name": "Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Bailiffs, Correctional Officers, and Jailers", - "detailed": "Bailiffs, Correctional Officers, and Jailers", - "code": "33-3010", - "name": "Bailiffs, Correctional Officers, and Jailers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Detectives and Criminal Investigators", - "detailed": "Detectives and Criminal Investigators", - "code": "33-3020", - "name": "Detectives and Criminal Investigators", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3020", - "detailedCode": null, - "jobRoleCode": null - } - ], - "standards": [ - "InTASC_3i", - "InTASC_3b", - "InTASC_3e", - "InTASC_3h", - "InTASC_3l", - "InTASC_5d", - "InTASC_6o", - "ISTE_Educators_1b", - "ISTE_Educators_1c", - "ISTE_EdLeaders_3a", - "AAQEP_1e", - "ISTE_Educators_1a", - "AAQEP_1f", - "InTASC_6d" - ] - }, - { - "uuid": "9b4990d0-f208-4bbb-9570-b80bfc261e14", - "id": "http://localhost:8080/api/skills/9b4990d0-f208-4bbb-9570-b80bfc261e14", - "skillName": "Crisis Intervention Development", - "skillStatement": "Develop skills to assist individuals experiencing a mental health crisis.", - "status": "draft", - "keywords": [ - "Crisis Intervention", - "WGUSID: 9790" - ], - "occupations": [ - { - "major": "Protective Service Occupations", - "minor": null, - "broad": null, - "detailed": "Protective Service Occupations", - "code": "33-0000", - "name": "Protective Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": null, - "detailed": "Supervisors of Protective Service Workers", - "code": "33-1000", - "name": "Supervisors of Protective Service Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": "First-Line Supervisors of Law Enforcement Workers", - "detailed": "First-Line Supervisors of Law Enforcement Workers", - "code": "33-1010", - "name": "First-Line Supervisors of Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": "33-1010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": null, - "detailed": "Law Enforcement Workers", - "code": "33-3000", - "name": "Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Bailiffs, Correctional Officers, and Jailers", - "detailed": "Bailiffs, Correctional Officers, and Jailers", - "code": "33-3010", - "name": "Bailiffs, Correctional Officers, and Jailers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Detectives and Criminal Investigators", - "detailed": "Detectives and Criminal Investigators", - "code": "33-3020", - "name": "Detectives and Criminal Investigators", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3020", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Police Officers", - "detailed": "Police Officers", - "code": "33-3050", - "name": "Police Officers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3050", - "detailedCode": null, - "jobRoleCode": null - } - ] - }, - { - "uuid": "33b1f767-dbc2-4fdf-81c2-a936ffca05ec", - "id": "http://localhost:8080/api/skills/33b1f767-dbc2-4fdf-81c2-a936ffca05ec", - "skillName": "Crisis Need Identification", - "skillStatement": "Identify the needs of a person in crisis (PIC).", - "status": "draft", - "keywords": [ - "Crisis Intervention", - "WGUSID: 9795" - ], - "occupations": [ - { - "major": "Protective Service Occupations", - "minor": null, - "broad": null, - "detailed": "Protective Service Occupations", - "code": "33-0000", - "name": "Protective Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": null, - "detailed": "Supervisors of Protective Service Workers", - "code": "33-1000", - "name": "Supervisors of Protective Service Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": "First-Line Supervisors of Law Enforcement Workers", - "detailed": "First-Line Supervisors of Law Enforcement Workers", - "code": "33-1010", - "name": "First-Line Supervisors of Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": "33-1010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": null, - "detailed": "Law Enforcement Workers", - "code": "33-3000", - "name": "Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Bailiffs, Correctional Officers, and Jailers", - "detailed": "Bailiffs, Correctional Officers, and Jailers", - "code": "33-3010", - "name": "Bailiffs, Correctional Officers, and Jailers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Detectives and Criminal Investigators", - "detailed": "Detectives and Criminal Investigators", - "code": "33-3020", - "name": "Detectives and Criminal Investigators", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3020", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Police Officers", - "detailed": "Police Officers", - "code": "33-3050", - "name": "Police Officers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3050", - "detailedCode": null, - "jobRoleCode": null - } - ] - }, - { - "uuid": "8d6c025c-b85b-480d-a652-1c3da696da88", - "id": "http://localhost:8080/api/skills/8d6c025c-b85b-480d-a652-1c3da696da88", - "skillName": "Data Accuracy Validation", - "skillStatement": "Validate accuracy of data after entering it into a computer program.", - "status": "draft", - "keywords": [ - "Data Entry", - "SAP", - "MS Office", - "Intuit QuickBooks", - "Adobe", - "WGUSID: 7253" - ], - "occupations": [ - { - "major": "Business and Financial Operations Occupations", - "minor": null, - "broad": null, - "detailed": "Business and Financial Operations Occupations", - "code": "13-0000", - "name": "Business and Financial Operations Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Business Operations Specialists", - "broad": null, - "detailed": "Business Operations Specialists", - "code": "13-1000", - "name": "Business Operations Specialists", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Business Operations Specialists", - "broad": "Human Resources Workers", - "detailed": "Human Resources Workers", - "code": "13-1070", - "name": "Human Resources Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-1000", - "broadCode": "13-1070", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Business Operations Specialists", - "broad": "Human Resources Workers", - "detailed": "Human Resources Specialists", - "code": "13-1071", - "name": "Human Resources Specialists", - "description": "Recruit, screen, interview, or place individuals within an organization. May perform other activities in multiple human resources areas. Excludes “Compensation, Benefits, and Job Analysis Specialists” (13-1141) and “Training and Development Specialists” (13-1151).", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-1000", - "broadCode": "13-1070", - "detailedCode": "13-1071", - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Business Operations Specialists", - "broad": "Management Analysts", - "detailed": "Management Analysts", - "code": "13-1110", - "name": "Management Analysts", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-1000", - "broadCode": "13-1110", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Business Operations Specialists", - "broad": "Management Analysts", - "detailed": "Management Analysts", - "code": "13-1111", - "name": "Management Analysts", - "description": "Conduct organizational studies and evaluations, design systems and procedures, conduct work simplification and measurement studies, and prepare operations and procedures manuals to assist management in operating more efficiently and effectively. Includes program analysts and management consultants. Excludes “Computer Systems Analysts” (15-1211) and “Operations Research Analysts” (15-2031).", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-1000", - "broadCode": "13-1110", - "detailedCode": "13-1111", - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Business Operations Specialists", - "broad": "Compensation, Benefits, and Job Analysis Specialists", - "detailed": "Compensation, Benefits, and Job Analysis Specialists", - "code": "13-1140", - "name": "Compensation, Benefits, and Job Analysis Specialists", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-1000", - "broadCode": "13-1140", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Business Operations Specialists", - "broad": "Compensation, Benefits, and Job Analysis Specialists", - "detailed": "Compensation, Benefits, and Job Analysis Specialists", - "code": "13-1141", - "name": "Compensation, Benefits, and Job Analysis Specialists", - "description": "Conduct programs of compensation and benefits and job analysis for employer. May specialize in specific areas, such as position classification and pension programs.", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-1000", - "broadCode": "13-1140", - "detailedCode": "13-1141", - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Business Operations Specialists", - "broad": "Miscellaneous Business Operations Specialists", - "detailed": "Miscellaneous Business Operations Specialists", - "code": "13-1190", - "name": "Miscellaneous Business Operations Specialists", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-1000", - "broadCode": "13-1190", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Financial Specialists", - "broad": null, - "detailed": "Financial Specialists", - "code": "13-2000", - "name": "Financial Specialists", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-2000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Financial Specialists", - "broad": "Accountants and Auditors", - "detailed": "Accountants and Auditors", - "code": "13-2010", - "name": "Accountants and Auditors", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-2000", - "broadCode": "13-2010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Financial Specialists", - "broad": "Accountants and Auditors", - "detailed": "Accountants and Auditors", - "code": "13-2011", - "name": "Accountants and Auditors", - "description": "Examine, analyze, and interpret accounting records to prepare financial statements, give advice, or audit and evaluate statements prepared by others. Install or advise on systems of recording costs or other financial and budgetary data. Excludes “Tax Examiners and Collectors, and Revenue Agents” (13-2081).", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-2000", - "broadCode": "13-2010", - "detailedCode": "13-2011", - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Financial Specialists", - "broad": "Credit Analysts", - "detailed": "Credit Analysts", - "code": "13-2040", - "name": "Credit Analysts", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-2000", - "broadCode": "13-2040", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Financial Specialists", - "broad": "Financial Analysts and Advisors", - "detailed": "Financial Analysts and Advisors", - "code": "13-2050", - "name": "Financial Analysts and Advisors", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-2000", - "broadCode": "13-2050", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Financial Specialists", - "broad": "Financial Examiners", - "detailed": "Financial Examiners", - "code": "13-2060", - "name": "Financial Examiners", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-2000", - "broadCode": "13-2060", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Financial Specialists", - "broad": "Financial Examiners", - "detailed": "Financial Examiners", - "code": "13-2061", - "name": "Financial Examiners", - "description": "Enforce or ensure compliance with laws and regulations governing financial and securities institutions and financial and real estate transactions. May examine, verify, or authenticate records.", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-2000", - "broadCode": "13-2060", - "detailedCode": "13-2061", - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Financial Specialists", - "broad": "Tax Examiners, Collectors and Preparers, and Revenue Agents", - "detailed": "Tax Examiners, Collectors and Preparers, and Revenue Agents", - "code": "13-2080", - "name": "Tax Examiners, Collectors and Preparers, and Revenue Agents", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-2000", - "broadCode": "13-2080", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Financial Specialists", - "broad": "Tax Examiners, Collectors and Preparers, and Revenue Agents", - "detailed": "Tax Examiners and Collectors, and Revenue Agents", - "code": "13-2081", - "name": "Tax Examiners and Collectors, and Revenue Agents", - "description": "Determine tax liability or collect taxes from individuals or business firms according to prescribed laws and regulations.", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-2000", - "broadCode": "13-2080", - "detailedCode": "13-2081", - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Financial Specialists", - "broad": "Tax Examiners, Collectors and Preparers, and Revenue Agents", - "detailed": "Tax Preparers", - "code": "13-2082", - "name": "Tax Preparers", - "description": "Prepare tax returns for individuals or small businesses. Excludes “Accountants and Auditors” (13-2011).", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-2000", - "broadCode": "13-2080", - "detailedCode": "13-2082", - "jobRoleCode": null - }, - { - "major": "Life, Physical, and Social Science Occupations", - "minor": null, - "broad": null, - "detailed": "Life, Physical, and Social Science Occupations", - "code": "19-0000", - "name": "Life, Physical, and Social Science Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "19-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Life, Physical, and Social Science Occupations", - "minor": "Life, Physical, and Social Science Technicians", - "broad": null, - "detailed": "Life, Physical, and Social Science Technicians", - "code": "19-4000", - "name": "Life, Physical, and Social Science Technicians", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "19-0000", - "minorCode": "19-4000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Life, Physical, and Social Science Occupations", - "minor": "Life, Physical, and Social Science Technicians", - "broad": "Miscellaneous Life, Physical, and Social Science Technicians", - "detailed": "Miscellaneous Life, Physical, and Social Science Technicians", - "code": "19-4090", - "name": "Miscellaneous Life, Physical, and Social Science Technicians", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "19-0000", - "minorCode": "19-4000", - "broadCode": "19-4090", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": null, - "broad": null, - "detailed": "Protective Service Occupations", - "code": "33-0000", - "name": "Protective Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": null, - "detailed": "Law Enforcement Workers", - "code": "33-3000", - "name": "Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Bailiffs, Correctional Officers, and Jailers", - "detailed": "Bailiffs, Correctional Officers, and Jailers", - "code": "33-3010", - "name": "Bailiffs, Correctional Officers, and Jailers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3010", - "detailedCode": null, - "jobRoleCode": null - } - ] - }, - { - "uuid": "ae8cea3d-303a-4c5b-9d94-39d5dd21ca66", - "id": "http://localhost:8080/api/skills/ae8cea3d-303a-4c5b-9d94-39d5dd21ca66", - "skillName": "Deadly Force Justification Explanation", - "skillStatement": "Explain when deadly force is justified.", - "status": "draft", - "keywords": [ - "Self Defense", - "WGUSID: 10060" - ], - "occupations": [ - { - "major": "Protective Service Occupations", - "minor": null, - "broad": null, - "detailed": "Protective Service Occupations", - "code": "33-0000", - "name": "Protective Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": null, - "detailed": "Supervisors of Protective Service Workers", - "code": "33-1000", - "name": "Supervisors of Protective Service Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": "First-Line Supervisors of Law Enforcement Workers", - "detailed": "First-Line Supervisors of Law Enforcement Workers", - "code": "33-1010", - "name": "First-Line Supervisors of Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": "33-1010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": null, - "detailed": "Law Enforcement Workers", - "code": "33-3000", - "name": "Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Bailiffs, Correctional Officers, and Jailers", - "detailed": "Bailiffs, Correctional Officers, and Jailers", - "code": "33-3010", - "name": "Bailiffs, Correctional Officers, and Jailers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Detectives and Criminal Investigators", - "detailed": "Detectives and Criminal Investigators", - "code": "33-3020", - "name": "Detectives and Criminal Investigators", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3020", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Police Officers", - "detailed": "Police Officers", - "code": "33-3050", - "name": "Police Officers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3050", - "detailedCode": null, - "jobRoleCode": null - } - ] - }, - { - "uuid": "3c7f4eda-e1f8-4d1a-ada7-bdab342ba42a", - "id": "http://localhost:8080/api/skills/3c7f4eda-e1f8-4d1a-ada7-bdab342ba42a", - "skillName": "Decorum Management", - "skillStatement": "Manage decorum in meetings or group sessions.", - "status": "draft", - "keywords": [ - "Professionalism", - "meetings", - "group discussions", - "WGUSID: 4933" - ], - "occupations": [ - { - "major": "Life, Physical, and Social Science Occupations", - "minor": null, - "broad": null, - "detailed": "Life, Physical, and Social Science Occupations", - "code": "19-0000", - "name": "Life, Physical, and Social Science Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "19-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Life, Physical, and Social Science Occupations", - "minor": "Life, Physical, and Social Science Technicians", - "broad": null, - "detailed": "Life, Physical, and Social Science Technicians", - "code": "19-4000", - "name": "Life, Physical, and Social Science Technicians", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "19-0000", - "minorCode": "19-4000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Life, Physical, and Social Science Occupations", - "minor": "Life, Physical, and Social Science Technicians", - "broad": "Miscellaneous Life, Physical, and Social Science Technicians", - "detailed": "Miscellaneous Life, Physical, and Social Science Technicians", - "code": "19-4090", - "name": "Miscellaneous Life, Physical, and Social Science Technicians", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "19-0000", - "minorCode": "19-4000", - "broadCode": "19-4090", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Educational Instruction and Library Occupations", - "minor": null, - "broad": null, - "detailed": "Educational Instruction and Library Occupations", - "code": "25-0000", - "name": "Educational Instruction and Library Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "25-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Educational Instruction and Library Occupations", - "minor": "Postsecondary Teachers", - "broad": null, - "detailed": "Postsecondary Teachers", - "code": "25-1000", - "name": "Postsecondary Teachers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "25-0000", - "minorCode": "25-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Educational Instruction and Library Occupations", - "minor": "Postsecondary Teachers", - "broad": "Math and Computer Science Teachers, Postsecondary", - "detailed": "Math and Computer Science Teachers, Postsecondary", - "code": "25-1020", - "name": "Math and Computer Science Teachers, Postsecondary", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "25-0000", - "minorCode": "25-1000", - "broadCode": "25-1020", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Educational Instruction and Library Occupations", - "minor": "Postsecondary Teachers", - "broad": "Life Sciences Teachers, Postsecondary", - "detailed": "Life Sciences Teachers, Postsecondary", - "code": "25-1040", - "name": "Life Sciences Teachers, Postsecondary", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "25-0000", - "minorCode": "25-1000", - "broadCode": "25-1040", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Educational Instruction and Library Occupations", - "minor": "Postsecondary Teachers", - "broad": "Physical Sciences Teachers, Postsecondary", - "detailed": "Physical Sciences Teachers, Postsecondary", - "code": "25-1050", - "name": "Physical Sciences Teachers, Postsecondary", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "25-0000", - "minorCode": "25-1000", - "broadCode": "25-1050", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Educational Instruction and Library Occupations", - "minor": "Postsecondary Teachers", - "broad": "Education and Library Science Teachers, Postsecondary", - "detailed": "Education and Library Science Teachers, Postsecondary", - "code": "25-1080", - "name": "Education and Library Science Teachers, Postsecondary", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "25-0000", - "minorCode": "25-1000", - "broadCode": "25-1080", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Educational Instruction and Library Occupations", - "minor": "Preschool, Elementary, Middle, Secondary, and Special Education Teachers", - "broad": null, - "detailed": "Preschool, Elementary, Middle, Secondary, and Special Education Teachers", - "code": "25-2000", - "name": "Preschool, Elementary, Middle, Secondary, and Special Education Teachers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "25-0000", - "minorCode": "25-2000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Educational Instruction and Library Occupations", - "minor": "Preschool, Elementary, Middle, Secondary, and Special Education Teachers", - "broad": "Elementary and Middle School Teachers", - "detailed": "Elementary and Middle School Teachers", - "code": "25-2020", - "name": "Elementary and Middle School Teachers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "25-0000", - "minorCode": "25-2000", - "broadCode": "25-2020", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Educational Instruction and Library Occupations", - "minor": "Preschool, Elementary, Middle, Secondary, and Special Education Teachers", - "broad": "Secondary School Teachers", - "detailed": "Secondary School Teachers", - "code": "25-2030", - "name": "Secondary School Teachers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "25-0000", - "minorCode": "25-2000", - "broadCode": "25-2030", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Educational Instruction and Library Occupations", - "minor": "Preschool, Elementary, Middle, Secondary, and Special Education Teachers", - "broad": "Special Education Teachers", - "detailed": "Special Education Teachers", - "code": "25-2050", - "name": "Special Education Teachers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "25-0000", - "minorCode": "25-2000", - "broadCode": "25-2050", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": null, - "broad": null, - "detailed": "Protective Service Occupations", - "code": "33-0000", - "name": "Protective Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": null, - "detailed": "Supervisors of Protective Service Workers", - "code": "33-1000", - "name": "Supervisors of Protective Service Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": "First-Line Supervisors of Law Enforcement Workers", - "detailed": "First-Line Supervisors of Law Enforcement Workers", - "code": "33-1010", - "name": "First-Line Supervisors of Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": "33-1010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": null, - "detailed": "Law Enforcement Workers", - "code": "33-3000", - "name": "Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Bailiffs, Correctional Officers, and Jailers", - "detailed": "Bailiffs, Correctional Officers, and Jailers", - "code": "33-3010", - "name": "Bailiffs, Correctional Officers, and Jailers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Detectives and Criminal Investigators", - "detailed": "Detectives and Criminal Investigators", - "code": "33-3020", - "name": "Detectives and Criminal Investigators", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3020", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Police Officers", - "detailed": "Police Officers", - "code": "33-3050", - "name": "Police Officers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3050", - "detailedCode": null, - "jobRoleCode": null - } - ], - "standards": [ - "InTASC_3a", - "InTASC_3i", - "InTASC_4g", - "InTASC_8n", - "InTASC_3b", - "InTASC_3e", - "InTASC_3f", - "InTASC_3h", - "InTASC_3l", - "InTASC_3o", - "InTASC_5d", - "InTASC_3q", - "InTASC_6o", - "InTASC_6s", - "ISTE_Educators_1b", - "ISTE_Educators_1c", - "ISTE_Educators_6d", - "ISTE_EdLeaders_3a", - "ISTE_Educators_2a", - "AAQEP_1e", - "ISTE_Educators_1a", - "ISTE_Educators_3d" - ] - }, - { - "uuid": "3a4f6625-ff8a-468f-b6e6-3ed6e27530e7", - "id": "http://localhost:8080/api/skills/3a4f6625-ff8a-468f-b6e6-3ed6e27530e7", - "skillName": "Defensive Tactics and Techniques Application", - "skillStatement": "Apply defensive tactics and techniques against a resistive or violent law violator.", - "status": "draft", - "keywords": [ - "Defensive Tactics", - "WGUSID: 9816" - ], - "occupations": [ - { - "major": "Protective Service Occupations", - "minor": null, - "broad": null, - "detailed": "Protective Service Occupations", - "code": "33-0000", - "name": "Protective Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": null, - "detailed": "Supervisors of Protective Service Workers", - "code": "33-1000", - "name": "Supervisors of Protective Service Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": "First-Line Supervisors of Law Enforcement Workers", - "detailed": "First-Line Supervisors of Law Enforcement Workers", - "code": "33-1010", - "name": "First-Line Supervisors of Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": "33-1010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": null, - "detailed": "Law Enforcement Workers", - "code": "33-3000", - "name": "Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Bailiffs, Correctional Officers, and Jailers", - "detailed": "Bailiffs, Correctional Officers, and Jailers", - "code": "33-3010", - "name": "Bailiffs, Correctional Officers, and Jailers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Detectives and Criminal Investigators", - "detailed": "Detectives and Criminal Investigators", - "code": "33-3020", - "name": "Detectives and Criminal Investigators", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3020", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Police Officers", - "detailed": "Police Officers", - "code": "33-3050", - "name": "Police Officers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3050", - "detailedCode": null, - "jobRoleCode": null - } - ] - }, - { - "uuid": "c721bf59-f319-4b3e-b5c0-e01e5bb5b35e", - "id": "http://localhost:8080/api/skills/c721bf59-f319-4b3e-b5c0-e01e5bb5b35e", - "skillName": "Defensive Tactics and Techniques Identification", - "skillStatement": "Identify defensive tactics and techniques that can be used against a resistive or violent law violator.", - "status": "draft", - "keywords": [ - "Defensive Tactics", - "WGUSID: 9815" - ], - "occupations": [ - { - "major": "Protective Service Occupations", - "minor": null, - "broad": null, - "detailed": "Protective Service Occupations", - "code": "33-0000", - "name": "Protective Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": null, - "detailed": "Supervisors of Protective Service Workers", - "code": "33-1000", - "name": "Supervisors of Protective Service Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": "First-Line Supervisors of Law Enforcement Workers", - "detailed": "First-Line Supervisors of Law Enforcement Workers", - "code": "33-1010", - "name": "First-Line Supervisors of Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": "33-1010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": null, - "detailed": "Law Enforcement Workers", - "code": "33-3000", - "name": "Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Bailiffs, Correctional Officers, and Jailers", - "detailed": "Bailiffs, Correctional Officers, and Jailers", - "code": "33-3010", - "name": "Bailiffs, Correctional Officers, and Jailers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Detectives and Criminal Investigators", - "detailed": "Detectives and Criminal Investigators", - "code": "33-3020", - "name": "Detectives and Criminal Investigators", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3020", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Police Officers", - "detailed": "Police Officers", - "code": "33-3050", - "name": "Police Officers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3050", - "detailedCode": null, - "jobRoleCode": null - } - ] - }, - { - "uuid": "ee720fce-db2b-4d47-8f70-0aacc88ee778", - "id": "http://localhost:8080/api/skills/ee720fce-db2b-4d47-8f70-0aacc88ee778", - "skillName": "Defensive Tactics and Techniques Use", - "skillStatement": "Explain when defensive tactics and techniques can be used against resistive or violent law violators.", - "status": "draft", - "keywords": [ - "Defensive Tactics", - "WGUSID: 9814" - ], - "occupations": [ - { - "major": "Protective Service Occupations", - "minor": null, - "broad": null, - "detailed": "Protective Service Occupations", - "code": "33-0000", - "name": "Protective Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": null, - "detailed": "Supervisors of Protective Service Workers", - "code": "33-1000", - "name": "Supervisors of Protective Service Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": "First-Line Supervisors of Law Enforcement Workers", - "detailed": "First-Line Supervisors of Law Enforcement Workers", - "code": "33-1010", - "name": "First-Line Supervisors of Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": "33-1010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": null, - "detailed": "Law Enforcement Workers", - "code": "33-3000", - "name": "Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Bailiffs, Correctional Officers, and Jailers", - "detailed": "Bailiffs, Correctional Officers, and Jailers", - "code": "33-3010", - "name": "Bailiffs, Correctional Officers, and Jailers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Detectives and Criminal Investigators", - "detailed": "Detectives and Criminal Investigators", - "code": "33-3020", - "name": "Detectives and Criminal Investigators", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3020", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Police Officers", - "detailed": "Police Officers", - "code": "33-3050", - "name": "Police Officers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3050", - "detailedCode": null, - "jobRoleCode": null - } - ] - }, - { - "uuid": "6504936c-e60a-48ef-b009-cad251477685", - "id": "http://localhost:8080/api/skills/6504936c-e60a-48ef-b009-cad251477685", - "skillName": "Delegate Tasks", - "skillStatement": "Delegate tasks to stay on track with deadlines.", - "status": "draft", - "keywords": [ - "Organizational Skills", - "Organizational Effectiveness", - "Organizational Performance", - "WGUSID: 6137.1" - ], - "occupations": [ - { - "major": "Management Occupations", - "minor": null, - "broad": null, - "detailed": "Management Occupations", - "code": "11-0000", - "name": "Management Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Top Executives", - "broad": null, - "detailed": "Top Executives", - "code": "11-1000", - "name": "Top Executives", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Top Executives", - "broad": "Chief Executives", - "detailed": "Chief Executives", - "code": "11-1010", - "name": "Chief Executives", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-1000", - "broadCode": "11-1010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Top Executives", - "broad": "Chief Executives", - "detailed": "Chief Executives", - "code": "11-1011", - "name": "Chief Executives", - "description": "Determine and formulate policies and provide overall direction of companies or private and public sector organizations within guidelines set up by a board of directors or similar governing body. Plan, direct, or coordinate operational activities at the highest level of management with the help of subordinate executives and staff managers.", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-1000", - "broadCode": "11-1010", - "detailedCode": "11-1011", - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Top Executives", - "broad": "General and Operations Managers", - "detailed": "General and Operations Managers", - "code": "11-1020", - "name": "General and Operations Managers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-1000", - "broadCode": "11-1020", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Top Executives", - "broad": "General and Operations Managers", - "detailed": "General and Operations Managers", - "code": "11-1021", - "name": "General and Operations Managers", - "description": "Plan, direct, or coordinate the operations of public or private sector organizations, overseeing multiple departments or locations. Duties and responsibilities include formulating policies, managing daily operations, and planning the use of materials and human resources, but are too diverse and general in nature to be classified in any one functional area of management or administration, such as personnel, purchasing, or administrative services. Usually manage through subordinate supervisors. Excludes First-Line Supervisors.", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-1000", - "broadCode": "11-1020", - "detailedCode": "11-1021", - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Advertising, Marketing, Promotions, Public Relations, and Sales Managers", - "broad": null, - "detailed": "Advertising, Marketing, Promotions, Public Relations, and Sales Managers", - "code": "11-2000", - "name": "Advertising, Marketing, Promotions, Public Relations, and Sales Managers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-2000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Advertising, Marketing, Promotions, Public Relations, and Sales Managers", - "broad": "Marketing and Sales Managers", - "detailed": "Marketing and Sales Managers", - "code": "11-2020", - "name": "Marketing and Sales Managers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-2000", - "broadCode": "11-2020", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Advertising, Marketing, Promotions, Public Relations, and Sales Managers", - "broad": "Marketing and Sales Managers", - "detailed": "Sales Managers", - "code": "11-2022", - "name": "Sales Managers", - "description": "Plan, direct, or coordinate the actual distribution or movement of a product or service to the customer. Coordinate sales distribution by establishing sales territories, quotas, and goals and establish training programs for sales representatives. Analyze sales statistics gathered by staff to determine sales potential and inventory requirements and monitor the preferences of customers.", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-2000", - "broadCode": "11-2020", - "detailedCode": "11-2022", - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Operations Specialties Managers", - "broad": null, - "detailed": "Operations Specialties Managers", - "code": "11-3000", - "name": "Operations Specialties Managers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Operations Specialties Managers", - "broad": "Administrative Services and Facilities Managers", - "detailed": "Administrative Services and Facilities Managers", - "code": "11-3010", - "name": "Administrative Services and Facilities Managers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-3000", - "broadCode": "11-3010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Operations Specialties Managers", - "broad": "Industrial Production Managers", - "detailed": "Industrial Production Managers", - "code": "11-3050", - "name": "Industrial Production Managers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-3000", - "broadCode": "11-3050", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Operations Specialties Managers", - "broad": "Industrial Production Managers", - "detailed": "Industrial Production Managers", - "code": "11-3051", - "name": "Industrial Production Managers", - "description": "Plan, direct, or coordinate the work activities and resources necessary for manufacturing products in accordance with cost, quality, and quantity specifications.", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-3000", - "broadCode": "11-3050", - "detailedCode": "11-3051", - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Operations Specialties Managers", - "broad": "Transportation, Storage, and Distribution Managers", - "detailed": "Transportation, Storage, and Distribution Managers", - "code": "11-3070", - "name": "Transportation, Storage, and Distribution Managers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-3000", - "broadCode": "11-3070", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Operations Specialties Managers", - "broad": "Transportation, Storage, and Distribution Managers", - "detailed": "Transportation, Storage, and Distribution Managers", - "code": "11-3071", - "name": "Transportation, Storage, and Distribution Managers", - "description": "Plan, direct, or coordinate transportation, storage, or distribution activities in accordance with organizational policies and applicable government laws or regulations. Includes logistics managers.", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-3000", - "broadCode": "11-3070", - "detailedCode": "11-3071", - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Other Management Occupations", - "broad": null, - "detailed": "Other Management Occupations", - "code": "11-9000", - "name": "Other Management Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-9000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Other Management Occupations", - "broad": "Construction Managers", - "detailed": "Construction Managers", - "code": "11-9020", - "name": "Construction Managers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-9000", - "broadCode": "11-9020", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Other Management Occupations", - "broad": "Construction Managers", - "detailed": "Construction Managers", - "code": "11-9021", - "name": "Construction Managers", - "description": "Plan, direct, or coordinate, usually through subordinate supervisory personnel, activities concerned with the construction and maintenance of structures, facilities, and systems. Participate in the conceptual development of a construction project and oversee its organization, scheduling, budgeting, and implementation. Includes managers in specialized construction fields, such as carpentry or plumbing.", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-9000", - "broadCode": "11-9020", - "detailedCode": "11-9021", - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Other Management Occupations", - "broad": "Social and Community Service Managers", - "detailed": "Social and Community Service Managers", - "code": "11-9150", - "name": "Social and Community Service Managers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-9000", - "broadCode": "11-9150", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Other Management Occupations", - "broad": "Social and Community Service Managers", - "detailed": "Social and Community Service Managers", - "code": "11-9151", - "name": "Social and Community Service Managers", - "description": "Plan, direct, or coordinate the activities of a social service program or community outreach organization. Oversee the program or organization’s budget and policies regarding participant involvement, program requirements, and benefits. Work may involve directing social workers, counselors, or probation officers.", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-9000", - "broadCode": "11-9150", - "detailedCode": "11-9151", - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Other Management Occupations", - "broad": "Miscellaneous Managers", - "detailed": "Miscellaneous Managers", - "code": "11-9190", - "name": "Miscellaneous Managers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-9000", - "broadCode": "11-9190", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": null, - "broad": null, - "detailed": "Business and Financial Operations Occupations", - "code": "13-0000", - "name": "Business and Financial Operations Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Business Operations Specialists", - "broad": null, - "detailed": "Business Operations Specialists", - "code": "13-1000", - "name": "Business Operations Specialists", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Business Operations Specialists", - "broad": "Cost Estimators", - "detailed": "Cost Estimators", - "code": "13-1050", - "name": "Cost Estimators", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-1000", - "broadCode": "13-1050", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Business Operations Specialists", - "broad": "Cost Estimators", - "detailed": "Cost Estimators", - "code": "13-1051", - "name": "Cost Estimators", - "description": "Prepare cost estimates for product manufacturing, construction projects, or services to aid management in bidding on or determining price of product or service. May specialize according to particular service performed or type of product manufactured.", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-1000", - "broadCode": "13-1050", - "detailedCode": "13-1051", - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Business Operations Specialists", - "broad": "Management Analysts", - "detailed": "Management Analysts", - "code": "13-1110", - "name": "Management Analysts", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-1000", - "broadCode": "13-1110", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": "Business Operations Specialists", - "broad": "Management Analysts", - "detailed": "Management Analysts", - "code": "13-1111", - "name": "Management Analysts", - "description": "Conduct organizational studies and evaluations, design systems and procedures, conduct work simplification and measurement studies, and prepare operations and procedures manuals to assist management in operating more efficiently and effectively. Includes program analysts and management consultants. Excludes “Computer Systems Analysts” (15-1211) and “Operations Research Analysts” (15-2031).", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": "13-1000", - "broadCode": "13-1110", - "detailedCode": "13-1111", - "jobRoleCode": null - }, - { - "major": "Life, Physical, and Social Science Occupations", - "minor": null, - "broad": null, - "detailed": "Life, Physical, and Social Science Occupations", - "code": "19-0000", - "name": "Life, Physical, and Social Science Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "19-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Life, Physical, and Social Science Occupations", - "minor": "Life, Physical, and Social Science Technicians", - "broad": null, - "detailed": "Life, Physical, and Social Science Technicians", - "code": "19-4000", - "name": "Life, Physical, and Social Science Technicians", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "19-0000", - "minorCode": "19-4000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Life, Physical, and Social Science Occupations", - "minor": "Life, Physical, and Social Science Technicians", - "broad": "Miscellaneous Life, Physical, and Social Science Technicians", - "detailed": "Miscellaneous Life, Physical, and Social Science Technicians", - "code": "19-4090", - "name": "Miscellaneous Life, Physical, and Social Science Technicians", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "19-0000", - "minorCode": "19-4000", - "broadCode": "19-4090", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": null, - "broad": null, - "detailed": "Protective Service Occupations", - "code": "33-0000", - "name": "Protective Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": null, - "detailed": "Law Enforcement Workers", - "code": "33-3000", - "name": "Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Bailiffs, Correctional Officers, and Jailers", - "detailed": "Bailiffs, Correctional Officers, and Jailers", - "code": "33-3010", - "name": "Bailiffs, Correctional Officers, and Jailers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Detectives and Criminal Investigators", - "detailed": "Detectives and Criminal Investigators", - "code": "33-3020", - "name": "Detectives and Criminal Investigators", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3020", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Building and Grounds Cleaning and Maintenance Occupations", - "minor": null, - "broad": null, - "detailed": "Building and Grounds Cleaning and Maintenance Occupations", - "code": "37-0000", - "name": "Building and Grounds Cleaning and Maintenance Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "37-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Personal Care and Service Occupations", - "minor": null, - "broad": null, - "detailed": "Personal Care and Service Occupations", - "code": "39-0000", - "name": "Personal Care and Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "39-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": null, - "minor": null, - "broad": null, - "detailed": null, - "code": "11-9198", - "name": null, - "description": null, - "framework": null, - "url": null, - "majorCode": "11-0000", - "minorCode": "11-9000", - "broadCode": "11-9190", - "detailedCode": "11-9198", - "jobRoleCode": null - } - ] - }, - { - "uuid": "5f9ca506-b09f-4d98-8978-56c6173dd612", - "id": "http://localhost:8080/api/skills/5f9ca506-b09f-4d98-8978-56c6173dd612", - "skillName": "Determine Need in Response to Activated Alarm Device", - "skillStatement": "Determine the emergent need in response to an activated alarm device.", - "status": "draft", - "keywords": [ - "Alarm Devices", - "WGUSID: 9705" - ], - "occupations": [ - { - "major": "Protective Service Occupations", - "minor": null, - "broad": null, - "detailed": "Protective Service Occupations", - "code": "33-0000", - "name": "Protective Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": null, - "detailed": "Supervisors of Protective Service Workers", - "code": "33-1000", - "name": "Supervisors of Protective Service Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": "First-Line Supervisors of Law Enforcement Workers", - "detailed": "First-Line Supervisors of Law Enforcement Workers", - "code": "33-1010", - "name": "First-Line Supervisors of Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": "33-1010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": null, - "detailed": "Law Enforcement Workers", - "code": "33-3000", - "name": "Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Bailiffs, Correctional Officers, and Jailers", - "detailed": "Bailiffs, Correctional Officers, and Jailers", - "code": "33-3010", - "name": "Bailiffs, Correctional Officers, and Jailers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Police Officers", - "detailed": "Police Officers", - "code": "33-3050", - "name": "Police Officers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3050", - "detailedCode": null, - "jobRoleCode": null - } - ] - }, - { - "uuid": "9f83d714-5d81-471f-8827-8e8fa9a15459", - "id": "http://localhost:8080/api/skills/9f83d714-5d81-471f-8827-8e8fa9a15459", - "skillName": "Display Honesty and Openness", - "skillStatement": "Display honesty and openness when working with others.", - "status": "draft", - "keywords": [ - "Establishing Trust", - "WGUSID: 2735" - ], - "occupations": [ - { - "major": "Management Occupations", - "minor": null, - "broad": null, - "detailed": "Management Occupations", - "code": "11-0000", - "name": "Management Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Top Executives", - "broad": null, - "detailed": "Top Executives", - "code": "11-1000", - "name": "Top Executives", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Top Executives", - "broad": "Chief Executives", - "detailed": "Chief Executives", - "code": "11-1010", - "name": "Chief Executives", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-1000", - "broadCode": "11-1010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Top Executives", - "broad": "Chief Executives", - "detailed": "Chief Executives", - "code": "11-1011", - "name": "Chief Executives", - "description": "Determine and formulate policies and provide overall direction of companies or private and public sector organizations within guidelines set up by a board of directors or similar governing body. Plan, direct, or coordinate operational activities at the highest level of management with the help of subordinate executives and staff managers.", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-1000", - "broadCode": "11-1010", - "detailedCode": "11-1011", - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Top Executives", - "broad": "General and Operations Managers", - "detailed": "General and Operations Managers", - "code": "11-1020", - "name": "General and Operations Managers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-1000", - "broadCode": "11-1020", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Top Executives", - "broad": "General and Operations Managers", - "detailed": "General and Operations Managers", - "code": "11-1021", - "name": "General and Operations Managers", - "description": "Plan, direct, or coordinate the operations of public or private sector organizations, overseeing multiple departments or locations. Duties and responsibilities include formulating policies, managing daily operations, and planning the use of materials and human resources, but are too diverse and general in nature to be classified in any one functional area of management or administration, such as personnel, purchasing, or administrative services. Usually manage through subordinate supervisors. Excludes First-Line Supervisors.", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-1000", - "broadCode": "11-1020", - "detailedCode": "11-1021", - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Advertising, Marketing, Promotions, Public Relations, and Sales Managers", - "broad": null, - "detailed": "Advertising, Marketing, Promotions, Public Relations, and Sales Managers", - "code": "11-2000", - "name": "Advertising, Marketing, Promotions, Public Relations, and Sales Managers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-2000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Advertising, Marketing, Promotions, Public Relations, and Sales Managers", - "broad": "Advertising and Promotions Managers", - "detailed": "Advertising and Promotions Managers", - "code": "11-2010", - "name": "Advertising and Promotions Managers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-2000", - "broadCode": "11-2010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Advertising, Marketing, Promotions, Public Relations, and Sales Managers", - "broad": "Advertising and Promotions Managers", - "detailed": "Advertising and Promotions Managers", - "code": "11-2011", - "name": "Advertising and Promotions Managers", - "description": "Plan, direct, or coordinate advertising policies and programs or produce collateral materials, such as posters, contests, coupons, or giveaways, to create extra interest in the purchase of a product or service for a department, an entire organization, or on an account basis.", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-2000", - "broadCode": "11-2010", - "detailedCode": "11-2011", - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Operations Specialties Managers", - "broad": null, - "detailed": "Operations Specialties Managers", - "code": "11-3000", - "name": "Operations Specialties Managers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Operations Specialties Managers", - "broad": "Transportation, Storage, and Distribution Managers", - "detailed": "Transportation, Storage, and Distribution Managers", - "code": "11-3070", - "name": "Transportation, Storage, and Distribution Managers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-3000", - "broadCode": "11-3070", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Management Occupations", - "minor": "Operations Specialties Managers", - "broad": "Transportation, Storage, and Distribution Managers", - "detailed": "Transportation, Storage, and Distribution Managers", - "code": "11-3071", - "name": "Transportation, Storage, and Distribution Managers", - "description": "Plan, direct, or coordinate transportation, storage, or distribution activities in accordance with organizational policies and applicable government laws or regulations. Includes logistics managers.", - "framework": "bls", - "url": null, - "majorCode": "11-0000", - "minorCode": "11-3000", - "broadCode": "11-3070", - "detailedCode": "11-3071", - "jobRoleCode": null - }, - { - "major": "Business and Financial Operations Occupations", - "minor": null, - "broad": null, - "detailed": "Business and Financial Operations Occupations", - "code": "13-0000", - "name": "Business and Financial Operations Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "13-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": null, - "broad": null, - "detailed": "Protective Service Occupations", - "code": "33-0000", - "name": "Protective Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": null, - "detailed": "Supervisors of Protective Service Workers", - "code": "33-1000", - "name": "Supervisors of Protective Service Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": "First-Line Supervisors of Law Enforcement Workers", - "detailed": "First-Line Supervisors of Law Enforcement Workers", - "code": "33-1010", - "name": "First-Line Supervisors of Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": "33-1010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": null, - "detailed": "Law Enforcement Workers", - "code": "33-3000", - "name": "Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Bailiffs, Correctional Officers, and Jailers", - "detailed": "Bailiffs, Correctional Officers, and Jailers", - "code": "33-3010", - "name": "Bailiffs, Correctional Officers, and Jailers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Detectives and Criminal Investigators", - "detailed": "Detectives and Criminal Investigators", - "code": "33-3020", - "name": "Detectives and Criminal Investigators", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3020", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Police Officers", - "detailed": "Police Officers", - "code": "33-3050", - "name": "Police Officers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3050", - "detailedCode": null, - "jobRoleCode": null - } - ] - }, - { - "uuid": "06b708f7-1de2-4668-9a35-9743e68ad676", - "id": "http://localhost:8080/api/skills/06b708f7-1de2-4668-9a35-9743e68ad676", - "skillName": "Doffing Personal Protective Equipment", - "skillStatement": "Apply standard operating procedures (SOPs) for doffing personal protective equipment (PPE).", - "status": "draft", - "keywords": [ - "Personal Protective Equipment", - "WGUSID: 9363" - ], - "occupations": [ - { - "major": "Community and Social Service Occupations", - "minor": null, - "broad": null, - "detailed": "Community and Social Service Occupations", - "code": "21-0000", - "name": "Community and Social Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "21-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Community and Social Service Occupations", - "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", - "broad": null, - "detailed": "Counselors, Social Workers, and Other Community and Social Service Specialists", - "code": "21-1000", - "name": "Counselors, Social Workers, and Other Community and Social Service Specialists", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "21-0000", - "minorCode": "21-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Community and Social Service Occupations", - "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", - "broad": "Counselors", - "detailed": "Counselors", - "code": "21-1010", - "name": "Counselors", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "21-0000", - "minorCode": "21-1000", - "broadCode": "21-1010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Community and Social Service Occupations", - "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", - "broad": "Social Workers", - "detailed": "Social Workers", - "code": "21-1020", - "name": "Social Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "21-0000", - "minorCode": "21-1000", - "broadCode": "21-1020", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Community and Social Service Occupations", - "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", - "broad": "Social Workers", - "detailed": "Healthcare Social Workers", - "code": "21-1022", - "name": "Healthcare Social Workers", - "description": "Provide individuals, families, and groups with the psychosocial support needed to cope with chronic, acute, or terminal illnesses. Services include advising family caregivers. Provide patients with information and counseling, and make referrals for other services. May also provide case and care management or interventions designed to promote health, prevent disease, and address barriers to access to healthcare.", - "framework": "bls", - "url": null, - "majorCode": "21-0000", - "minorCode": "21-1000", - "broadCode": "21-1020", - "detailedCode": "21-1022", - "jobRoleCode": null - }, - { - "major": "Healthcare Practitioners and Technical Occupations", - "minor": null, - "broad": null, - "detailed": "Healthcare Practitioners and Technical Occupations", - "code": "29-0000", - "name": "Healthcare Practitioners and Technical Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "29-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Practitioners and Technical Occupations", - "minor": "Healthcare Diagnosing or Treating Practitioners", - "broad": null, - "detailed": "Healthcare Diagnosing or Treating Practitioners", - "code": "29-1000", - "name": "Healthcare Diagnosing or Treating Practitioners", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "29-0000", - "minorCode": "29-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Practitioners and Technical Occupations", - "minor": "Healthcare Diagnosing or Treating Practitioners", - "broad": "Optometrists", - "detailed": "Optometrists", - "code": "29-1040", - "name": "Optometrists", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "29-0000", - "minorCode": "29-1000", - "broadCode": "29-1040", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Practitioners and Technical Occupations", - "minor": "Healthcare Diagnosing or Treating Practitioners", - "broad": "Optometrists", - "detailed": "Optometrists", - "code": "29-1041", - "name": "Optometrists", - "description": "Diagnose, manage, and treat conditions and diseases of the human eye and visual system. Examine eyes and visual system, diagnose problems or impairments, prescribe corrective lenses, and provide treatment. May prescribe therapeutic drugs to treat specific eye conditions. Ophthalmologists are included in “Ophthalmologists, Except Pediatric” (29-1241).", - "framework": "bls", - "url": null, - "majorCode": "29-0000", - "minorCode": "29-1000", - "broadCode": "29-1040", - "detailedCode": "29-1041", - "jobRoleCode": null - }, - { - "major": "Healthcare Practitioners and Technical Occupations", - "minor": "Healthcare Diagnosing or Treating Practitioners", - "broad": "Nurse Practitioners", - "detailed": "Nurse Practitioners", - "code": "29-1170", - "name": "Nurse Practitioners", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "29-0000", - "minorCode": "29-1000", - "broadCode": "29-1170", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Practitioners and Technical Occupations", - "minor": "Healthcare Diagnosing or Treating Practitioners", - "broad": "Nurse Practitioners", - "detailed": "Nurse Practitioners", - "code": "29-1171", - "name": "Nurse Practitioners", - "description": "Diagnose and treat acute, episodic, or chronic illness, independently or as part of a healthcare team. May focus on health promotion and disease prevention. May order, perform, or interpret diagnostic tests such as lab work and x rays. May prescribe medication. Must be registered nurses who have specialized graduate education.", - "framework": "bls", - "url": null, - "majorCode": "29-0000", - "minorCode": "29-1000", - "broadCode": "29-1170", - "detailedCode": "29-1171", - "jobRoleCode": null - }, - { - "major": "Healthcare Practitioners and Technical Occupations", - "minor": "Healthcare Diagnosing or Treating Practitioners", - "broad": "Miscellaneous Healthcare Diagnosing or Treating Practitioners", - "detailed": "Miscellaneous Healthcare Diagnosing or Treating Practitioners", - "code": "29-1290", - "name": "Miscellaneous Healthcare Diagnosing or Treating Practitioners", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "29-0000", - "minorCode": "29-1000", - "broadCode": "29-1290", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Practitioners and Technical Occupations", - "minor": "Healthcare Diagnosing or Treating Practitioners", - "broad": "Miscellaneous Healthcare Diagnosing or Treating Practitioners", - "detailed": "Dental Hygienists", - "code": "29-1292", - "name": "Dental Hygienists", - "description": "Administer oral hygiene care to patients. Assess patient oral hygiene problems or needs and maintain health records. Advise patients on oral health maintenance and disease prevention. May provide advanced care such as providing fluoride treatment or administering topical anesthesia.", - "framework": "bls", - "url": null, - "majorCode": "29-0000", - "minorCode": "29-1000", - "broadCode": "29-1290", - "detailedCode": "29-1292", - "jobRoleCode": null - }, - { - "major": "Healthcare Practitioners and Technical Occupations", - "minor": "Health Technologists and Technicians", - "broad": null, - "detailed": "Health Technologists and Technicians", - "code": "29-2000", - "name": "Health Technologists and Technicians", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "29-0000", - "minorCode": "29-2000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Practitioners and Technical Occupations", - "minor": "Health Technologists and Technicians", - "broad": "Opticians, Dispensing", - "detailed": "Opticians, Dispensing", - "code": "29-2080", - "name": "Opticians, Dispensing", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "29-0000", - "minorCode": "29-2000", - "broadCode": "29-2080", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Practitioners and Technical Occupations", - "minor": "Health Technologists and Technicians", - "broad": "Opticians, Dispensing", - "detailed": "Opticians, Dispensing", - "code": "29-2081", - "name": "Opticians, Dispensing", - "description": "Design, measure, fit, and adapt lenses and frames for client according to written optical prescription or specification. Assist client with inserting, removing, and caring for contact lenses. Assist client with selecting frames. Measure customer for size of eyeglasses and coordinate frames with facial and eye measurements and optical prescription. Prepare work order for optical laboratory containing instructions for grinding and mounting lenses in frames. Verify exactness of finished lens spectacles. Adjust frame and lens position to fit client. May shape or reshape frames. Includes contact lens opticians.", - "framework": "bls", - "url": null, - "majorCode": "29-0000", - "minorCode": "29-2000", - "broadCode": "29-2080", - "detailedCode": "29-2081", - "jobRoleCode": null - }, - { - "major": "Healthcare Support Occupations", - "minor": null, - "broad": null, - "detailed": "Healthcare Support Occupations", - "code": "31-0000", - "name": "Healthcare Support Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "31-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Support Occupations", - "minor": "Home Health and Personal Care Aides; and Nursing Assistants, Orderlies, and Psychiatric Aides", - "broad": null, - "detailed": "Home Health and Personal Care Aides; and Nursing Assistants, Orderlies, and Psychiatric Aides", - "code": "31-1100", - "name": "Home Health and Personal Care Aides; and Nursing Assistants, Orderlies, and Psychiatric Aides", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "31-0000", - "minorCode": "31-1100", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Support Occupations", - "minor": "Home Health and Personal Care Aides; and Nursing Assistants, Orderlies, and Psychiatric Aides", - "broad": "Home Health and Personal Care Aides", - "detailed": "Home Health and Personal Care Aides", - "code": "31-1120", - "name": "Home Health and Personal Care Aides", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "31-0000", - "minorCode": "31-1100", - "broadCode": "31-1120", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Support Occupations", - "minor": "Home Health and Personal Care Aides; and Nursing Assistants, Orderlies, and Psychiatric Aides", - "broad": "Nursing Assistants, Orderlies, and Psychiatric Aides", - "detailed": "Nursing Assistants, Orderlies, and Psychiatric Aides", - "code": "31-1130", - "name": "Nursing Assistants, Orderlies, and Psychiatric Aides", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "31-0000", - "minorCode": "31-1100", - "broadCode": "31-1130", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Support Occupations", - "minor": "Home Health and Personal Care Aides; and Nursing Assistants, Orderlies, and Psychiatric Aides", - "broad": "Nursing Assistants, Orderlies, and Psychiatric Aides", - "detailed": "Nursing Assistants", - "code": "31-1131", - "name": "Nursing Assistants", - "description": "Provide or assist with basic care or support under the direction of onsite licensed nursing staff. Perform duties such as monitoring of health status, feeding, bathing, dressing, grooming, toileting, or ambulation of patients in a health or nursing facility. May include medication administration and other health-related tasks. Includes nursing care attendants, nursing aides, and nursing attendants. Excludes “Home Health Aides” (31-1121), “Personal Care Aides” (31-1122), “Orderlies” (31-1132), and “Psychiatric Aides” (31-1133).", - "framework": "bls", - "url": null, - "majorCode": "31-0000", - "minorCode": "31-1100", - "broadCode": "31-1130", - "detailedCode": "31-1131", - "jobRoleCode": null - }, - { - "major": "Healthcare Support Occupations", - "minor": "Other Healthcare Support Occupations", - "broad": null, - "detailed": "Other Healthcare Support Occupations", - "code": "31-9000", - "name": "Other Healthcare Support Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "31-0000", - "minorCode": "31-9000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Support Occupations", - "minor": "Other Healthcare Support Occupations", - "broad": "Miscellaneous Healthcare Support Occupations", - "detailed": "Miscellaneous Healthcare Support Occupations", - "code": "31-9090", - "name": "Miscellaneous Healthcare Support Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "31-0000", - "minorCode": "31-9000", - "broadCode": "31-9090", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Support Occupations", - "minor": "Other Healthcare Support Occupations", - "broad": "Miscellaneous Healthcare Support Occupations", - "detailed": "Dental Assistants", - "code": "31-9091", - "name": "Dental Assistants", - "description": "Perform limited clinical duties under the direction of a dentist. Clinical duties may include equipment preparation and sterilization, preparing patients for treatment, assisting the dentist during treatment, and providing patients with instructions for oral healthcare procedures. May perform administrative duties such as scheduling appointments, maintaining medical records, billing, and coding information for insurance purposes.", - "framework": "bls", - "url": null, - "majorCode": "31-0000", - "minorCode": "31-9000", - "broadCode": "31-9090", - "detailedCode": "31-9091", - "jobRoleCode": null - }, - { - "major": "Healthcare Support Occupations", - "minor": "Other Healthcare Support Occupations", - "broad": "Miscellaneous Healthcare Support Occupations", - "detailed": "Medical Assistants", - "code": "31-9092", - "name": "Medical Assistants", - "description": "Perform administrative and certain clinical duties under the direction of a physician. Administrative duties may include scheduling appointments, maintaining medical records, billing, and coding information for insurance purposes. Clinical duties may include taking and recording vital signs and medical histories, preparing patients for examination, drawing blood, and administering medications as directed by physician. Excludes “Physician Assistants” (29-1071).", - "framework": "bls", - "url": null, - "majorCode": "31-0000", - "minorCode": "31-9000", - "broadCode": "31-9090", - "detailedCode": "31-9092", - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": null, - "broad": null, - "detailed": "Protective Service Occupations", - "code": "33-0000", - "name": "Protective Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": null, - "detailed": "Law Enforcement Workers", - "code": "33-3000", - "name": "Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Bailiffs, Correctional Officers, and Jailers", - "detailed": "Bailiffs, Correctional Officers, and Jailers", - "code": "33-3010", - "name": "Bailiffs, Correctional Officers, and Jailers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Police Officers", - "detailed": "Police Officers", - "code": "33-3050", - "name": "Police Officers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3050", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": null, - "minor": null, - "broad": null, - "detailed": null, - "code": "21-1018", - "name": null, - "description": null, - "framework": null, - "url": null, - "majorCode": "21-0000", - "minorCode": "21-1000", - "broadCode": "21-1010", - "detailedCode": "21-1018", - "jobRoleCode": null - } - ] - }, - { - "uuid": "c415c1cf-5a29-4d44-abb4-aa02dc95b6ae", - "id": "http://localhost:8080/api/skills/c415c1cf-5a29-4d44-abb4-aa02dc95b6ae", - "skillName": "Donning Personal Protective Equipment", - "skillStatement": "Apply standard operating procedures (SOPs) for putting on personal protective equipment (PPE).", - "status": "draft", - "keywords": [ - "Medical Assistant", - "Personal Protective Equipment", - "WGUSID: 9361" - ], - "occupations": [ - { - "major": "Community and Social Service Occupations", - "minor": null, - "broad": null, - "detailed": "Community and Social Service Occupations", - "code": "21-0000", - "name": "Community and Social Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "21-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Community and Social Service Occupations", - "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", - "broad": null, - "detailed": "Counselors, Social Workers, and Other Community and Social Service Specialists", - "code": "21-1000", - "name": "Counselors, Social Workers, and Other Community and Social Service Specialists", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "21-0000", - "minorCode": "21-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Community and Social Service Occupations", - "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", - "broad": "Counselors", - "detailed": "Counselors", - "code": "21-1010", - "name": "Counselors", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "21-0000", - "minorCode": "21-1000", - "broadCode": "21-1010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Community and Social Service Occupations", - "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", - "broad": "Social Workers", - "detailed": "Social Workers", - "code": "21-1020", - "name": "Social Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "21-0000", - "minorCode": "21-1000", - "broadCode": "21-1020", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Community and Social Service Occupations", - "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", - "broad": "Social Workers", - "detailed": "Healthcare Social Workers", - "code": "21-1022", - "name": "Healthcare Social Workers", - "description": "Provide individuals, families, and groups with the psychosocial support needed to cope with chronic, acute, or terminal illnesses. Services include advising family caregivers. Provide patients with information and counseling, and make referrals for other services. May also provide case and care management or interventions designed to promote health, prevent disease, and address barriers to access to healthcare.", - "framework": "bls", - "url": null, - "majorCode": "21-0000", - "minorCode": "21-1000", - "broadCode": "21-1020", - "detailedCode": "21-1022", - "jobRoleCode": null - }, - { - "major": "Healthcare Practitioners and Technical Occupations", - "minor": null, - "broad": null, - "detailed": "Healthcare Practitioners and Technical Occupations", - "code": "29-0000", - "name": "Healthcare Practitioners and Technical Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "29-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Practitioners and Technical Occupations", - "minor": "Healthcare Diagnosing or Treating Practitioners", - "broad": null, - "detailed": "Healthcare Diagnosing or Treating Practitioners", - "code": "29-1000", - "name": "Healthcare Diagnosing or Treating Practitioners", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "29-0000", - "minorCode": "29-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Practitioners and Technical Occupations", - "minor": "Healthcare Diagnosing or Treating Practitioners", - "broad": "Optometrists", - "detailed": "Optometrists", - "code": "29-1040", - "name": "Optometrists", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "29-0000", - "minorCode": "29-1000", - "broadCode": "29-1040", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Practitioners and Technical Occupations", - "minor": "Healthcare Diagnosing or Treating Practitioners", - "broad": "Optometrists", - "detailed": "Optometrists", - "code": "29-1041", - "name": "Optometrists", - "description": "Diagnose, manage, and treat conditions and diseases of the human eye and visual system. Examine eyes and visual system, diagnose problems or impairments, prescribe corrective lenses, and provide treatment. May prescribe therapeutic drugs to treat specific eye conditions. Ophthalmologists are included in “Ophthalmologists, Except Pediatric” (29-1241).", - "framework": "bls", - "url": null, - "majorCode": "29-0000", - "minorCode": "29-1000", - "broadCode": "29-1040", - "detailedCode": "29-1041", - "jobRoleCode": null - }, - { - "major": "Healthcare Practitioners and Technical Occupations", - "minor": "Healthcare Diagnosing or Treating Practitioners", - "broad": "Nurse Practitioners", - "detailed": "Nurse Practitioners", - "code": "29-1170", - "name": "Nurse Practitioners", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "29-0000", - "minorCode": "29-1000", - "broadCode": "29-1170", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Practitioners and Technical Occupations", - "minor": "Healthcare Diagnosing or Treating Practitioners", - "broad": "Nurse Practitioners", - "detailed": "Nurse Practitioners", - "code": "29-1171", - "name": "Nurse Practitioners", - "description": "Diagnose and treat acute, episodic, or chronic illness, independently or as part of a healthcare team. May focus on health promotion and disease prevention. May order, perform, or interpret diagnostic tests such as lab work and x rays. May prescribe medication. Must be registered nurses who have specialized graduate education.", - "framework": "bls", - "url": null, - "majorCode": "29-0000", - "minorCode": "29-1000", - "broadCode": "29-1170", - "detailedCode": "29-1171", - "jobRoleCode": null - }, - { - "major": "Healthcare Practitioners and Technical Occupations", - "minor": "Healthcare Diagnosing or Treating Practitioners", - "broad": "Miscellaneous Healthcare Diagnosing or Treating Practitioners", - "detailed": "Miscellaneous Healthcare Diagnosing or Treating Practitioners", - "code": "29-1290", - "name": "Miscellaneous Healthcare Diagnosing or Treating Practitioners", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "29-0000", - "minorCode": "29-1000", - "broadCode": "29-1290", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Practitioners and Technical Occupations", - "minor": "Healthcare Diagnosing or Treating Practitioners", - "broad": "Miscellaneous Healthcare Diagnosing or Treating Practitioners", - "detailed": "Dental Hygienists", - "code": "29-1292", - "name": "Dental Hygienists", - "description": "Administer oral hygiene care to patients. Assess patient oral hygiene problems or needs and maintain health records. Advise patients on oral health maintenance and disease prevention. May provide advanced care such as providing fluoride treatment or administering topical anesthesia.", - "framework": "bls", - "url": null, - "majorCode": "29-0000", - "minorCode": "29-1000", - "broadCode": "29-1290", - "detailedCode": "29-1292", - "jobRoleCode": null - }, - { - "major": "Healthcare Practitioners and Technical Occupations", - "minor": "Health Technologists and Technicians", - "broad": null, - "detailed": "Health Technologists and Technicians", - "code": "29-2000", - "name": "Health Technologists and Technicians", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "29-0000", - "minorCode": "29-2000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Practitioners and Technical Occupations", - "minor": "Health Technologists and Technicians", - "broad": "Opticians, Dispensing", - "detailed": "Opticians, Dispensing", - "code": "29-2080", - "name": "Opticians, Dispensing", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "29-0000", - "minorCode": "29-2000", - "broadCode": "29-2080", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Practitioners and Technical Occupations", - "minor": "Health Technologists and Technicians", - "broad": "Opticians, Dispensing", - "detailed": "Opticians, Dispensing", - "code": "29-2081", - "name": "Opticians, Dispensing", - "description": "Design, measure, fit, and adapt lenses and frames for client according to written optical prescription or specification. Assist client with inserting, removing, and caring for contact lenses. Assist client with selecting frames. Measure customer for size of eyeglasses and coordinate frames with facial and eye measurements and optical prescription. Prepare work order for optical laboratory containing instructions for grinding and mounting lenses in frames. Verify exactness of finished lens spectacles. Adjust frame and lens position to fit client. May shape or reshape frames. Includes contact lens opticians.", - "framework": "bls", - "url": null, - "majorCode": "29-0000", - "minorCode": "29-2000", - "broadCode": "29-2080", - "detailedCode": "29-2081", - "jobRoleCode": null - }, - { - "major": "Healthcare Support Occupations", - "minor": null, - "broad": null, - "detailed": "Healthcare Support Occupations", - "code": "31-0000", - "name": "Healthcare Support Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "31-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Support Occupations", - "minor": "Home Health and Personal Care Aides; and Nursing Assistants, Orderlies, and Psychiatric Aides", - "broad": null, - "detailed": "Home Health and Personal Care Aides; and Nursing Assistants, Orderlies, and Psychiatric Aides", - "code": "31-1100", - "name": "Home Health and Personal Care Aides; and Nursing Assistants, Orderlies, and Psychiatric Aides", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "31-0000", - "minorCode": "31-1100", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Support Occupations", - "minor": "Home Health and Personal Care Aides; and Nursing Assistants, Orderlies, and Psychiatric Aides", - "broad": "Home Health and Personal Care Aides", - "detailed": "Home Health and Personal Care Aides", - "code": "31-1120", - "name": "Home Health and Personal Care Aides", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "31-0000", - "minorCode": "31-1100", - "broadCode": "31-1120", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Support Occupations", - "minor": "Home Health and Personal Care Aides; and Nursing Assistants, Orderlies, and Psychiatric Aides", - "broad": "Nursing Assistants, Orderlies, and Psychiatric Aides", - "detailed": "Nursing Assistants, Orderlies, and Psychiatric Aides", - "code": "31-1130", - "name": "Nursing Assistants, Orderlies, and Psychiatric Aides", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "31-0000", - "minorCode": "31-1100", - "broadCode": "31-1130", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Support Occupations", - "minor": "Home Health and Personal Care Aides; and Nursing Assistants, Orderlies, and Psychiatric Aides", - "broad": "Nursing Assistants, Orderlies, and Psychiatric Aides", - "detailed": "Nursing Assistants", - "code": "31-1131", - "name": "Nursing Assistants", - "description": "Provide or assist with basic care or support under the direction of onsite licensed nursing staff. Perform duties such as monitoring of health status, feeding, bathing, dressing, grooming, toileting, or ambulation of patients in a health or nursing facility. May include medication administration and other health-related tasks. Includes nursing care attendants, nursing aides, and nursing attendants. Excludes “Home Health Aides” (31-1121), “Personal Care Aides” (31-1122), “Orderlies” (31-1132), and “Psychiatric Aides” (31-1133).", - "framework": "bls", - "url": null, - "majorCode": "31-0000", - "minorCode": "31-1100", - "broadCode": "31-1130", - "detailedCode": "31-1131", - "jobRoleCode": null - }, - { - "major": "Healthcare Support Occupations", - "minor": "Other Healthcare Support Occupations", - "broad": null, - "detailed": "Other Healthcare Support Occupations", - "code": "31-9000", - "name": "Other Healthcare Support Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "31-0000", - "minorCode": "31-9000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Support Occupations", - "minor": "Other Healthcare Support Occupations", - "broad": "Miscellaneous Healthcare Support Occupations", - "detailed": "Miscellaneous Healthcare Support Occupations", - "code": "31-9090", - "name": "Miscellaneous Healthcare Support Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "31-0000", - "minorCode": "31-9000", - "broadCode": "31-9090", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Healthcare Support Occupations", - "minor": "Other Healthcare Support Occupations", - "broad": "Miscellaneous Healthcare Support Occupations", - "detailed": "Dental Assistants", - "code": "31-9091", - "name": "Dental Assistants", - "description": "Perform limited clinical duties under the direction of a dentist. Clinical duties may include equipment preparation and sterilization, preparing patients for treatment, assisting the dentist during treatment, and providing patients with instructions for oral healthcare procedures. May perform administrative duties such as scheduling appointments, maintaining medical records, billing, and coding information for insurance purposes.", - "framework": "bls", - "url": null, - "majorCode": "31-0000", - "minorCode": "31-9000", - "broadCode": "31-9090", - "detailedCode": "31-9091", - "jobRoleCode": null - }, - { - "major": "Healthcare Support Occupations", - "minor": "Other Healthcare Support Occupations", - "broad": "Miscellaneous Healthcare Support Occupations", - "detailed": "Medical Assistants", - "code": "31-9092", - "name": "Medical Assistants", - "description": "Perform administrative and certain clinical duties under the direction of a physician. Administrative duties may include scheduling appointments, maintaining medical records, billing, and coding information for insurance purposes. Clinical duties may include taking and recording vital signs and medical histories, preparing patients for examination, drawing blood, and administering medications as directed by physician. Excludes “Physician Assistants” (29-1071).", - "framework": "bls", - "url": null, - "majorCode": "31-0000", - "minorCode": "31-9000", - "broadCode": "31-9090", - "detailedCode": "31-9092", - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": null, - "broad": null, - "detailed": "Protective Service Occupations", - "code": "33-0000", - "name": "Protective Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": null, - "detailed": "Law Enforcement Workers", - "code": "33-3000", - "name": "Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Bailiffs, Correctional Officers, and Jailers", - "detailed": "Bailiffs, Correctional Officers, and Jailers", - "code": "33-3010", - "name": "Bailiffs, Correctional Officers, and Jailers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Police Officers", - "detailed": "Police Officers", - "code": "33-3050", - "name": "Police Officers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3050", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": null, - "minor": null, - "broad": null, - "detailed": null, - "code": "21-1018", - "name": null, - "description": null, - "framework": null, - "url": null, - "majorCode": "21-0000", - "minorCode": "21-1000", - "broadCode": "21-1010", - "detailedCode": "21-1018", - "jobRoleCode": null - } - ] - }, - { - "uuid": "2d1c86bb-bcec-49e8-8ee6-ec040cb1ec1c", - "id": "http://localhost:8080/api/skills/2d1c86bb-bcec-49e8-8ee6-ec040cb1ec1c", - "skillName": "Embrace Change", - "skillStatement": "Demonstrate the ability to embrace ambiguous conditions and change.", - "status": "draft", - "keywords": [ - "21st_Century_Skills", - "SEL", - "Power_Skills_Framework", - "Social Emotional Learning (SEL): General", - "Doing", - "Adaptability", - "Social Emotional Learning (SEL): Executive Function & Responsible Decision Making", - "WGUSID: 7903" - ], - "occupations": [ - { - "major": "Protective Service Occupations", - "minor": null, - "broad": null, - "detailed": "Protective Service Occupations", - "code": "33-0000", - "name": "Protective Service Occupations", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": null, - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": null, - "detailed": "Supervisors of Protective Service Workers", - "code": "33-1000", - "name": "Supervisors of Protective Service Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Supervisors of Protective Service Workers", - "broad": "First-Line Supervisors of Law Enforcement Workers", - "detailed": "First-Line Supervisors of Law Enforcement Workers", - "code": "33-1010", - "name": "First-Line Supervisors of Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-1000", - "broadCode": "33-1010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": null, - "detailed": "Law Enforcement Workers", - "code": "33-3000", - "name": "Law Enforcement Workers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": null, - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Bailiffs, Correctional Officers, and Jailers", - "detailed": "Bailiffs, Correctional Officers, and Jailers", - "code": "33-3010", - "name": "Bailiffs, Correctional Officers, and Jailers", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3010", - "detailedCode": null, - "jobRoleCode": null - }, - { - "major": "Protective Service Occupations", - "minor": "Law Enforcement Workers", - "broad": "Detectives and Criminal Investigators", - "detailed": "Detectives and Criminal Investigators", - "code": "33-3020", - "name": "Detectives and Criminal Investigators", - "description": "", - "framework": "bls", - "url": null, - "majorCode": "33-0000", - "minorCode": "33-3000", - "broadCode": "33-3020", - "detailedCode": null, - "jobRoleCode": null - } - ] - } + { + "uuid": "48119645-4246-4665-944d-cf30bbfcfd6f", + "id": "http://localhost:8080/api/skills/48119645-4246-4665-944d-cf30bbfcfd6f", + "skillName": "Access Control Maintenance", + "skillStatement": "Maintain the security of a site's access points with measures to combat unauthorized entry.", + "status": "draft", + "keywords": [ + "Site Security", + "WGUSID: 10070" + ], + "occupations": [ + { + "major": "Protective Service Occupations", + "minor": null, + "broad": null, + "detailed": "Protective Service Occupations", + "code": "33-0000", + "name": "Protective Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": null, + "detailed": "Supervisors of Protective Service Workers", + "code": "33-1000", + "name": "Supervisors of Protective Service Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": "First-Line Supervisors of Law Enforcement Workers", + "detailed": "First-Line Supervisors of Law Enforcement Workers", + "code": "33-1010", + "name": "First-Line Supervisors of Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": "33-1010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": null, + "detailed": "Law Enforcement Workers", + "code": "33-3000", + "name": "Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Bailiffs, Correctional Officers, and Jailers", + "detailed": "Bailiffs, Correctional Officers, and Jailers", + "code": "33-3010", + "name": "Bailiffs, Correctional Officers, and Jailers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + } + ] + }, + { + "uuid": "0438ae59-0652-48f3-ba50-6fac54b534de", + "id": "http://localhost:8080/api/skills/0438ae59-0652-48f3-ba50-6fac54b534de", + "skillName": "Administer an Automated External Defibrillator (AED)", + "skillStatement": "Administer automated external defibrillators (AEDs) during cardiac crises.", + "status": "draft", + "keywords": [ + "Automated External Defibrillator", + "WGUSID: 9725" + ], + "occupations": [ + { + "major": "Protective Service Occupations", + "minor": null, + "broad": null, + "detailed": "Protective Service Occupations", + "code": "33-0000", + "name": "Protective Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": null, + "detailed": "Supervisors of Protective Service Workers", + "code": "33-1000", + "name": "Supervisors of Protective Service Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": "First-Line Supervisors of Law Enforcement Workers", + "detailed": "First-Line Supervisors of Law Enforcement Workers", + "code": "33-1010", + "name": "First-Line Supervisors of Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": "33-1010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": null, + "detailed": "Law Enforcement Workers", + "code": "33-3000", + "name": "Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Bailiffs, Correctional Officers, and Jailers", + "detailed": "Bailiffs, Correctional Officers, and Jailers", + "code": "33-3010", + "name": "Bailiffs, Correctional Officers, and Jailers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Police Officers", + "detailed": "Police Officers", + "code": "33-3050", + "name": "Police Officers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3050", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + } + ] + }, + { + "uuid": "0ada0969-47c3-46bd-a44c-a767ec9d6437", + "id": "http://localhost:8080/api/skills/0ada0969-47c3-46bd-a44c-a767ec9d6437", + "skillName": "Agitator Identification", + "skillStatement": "Identify agitators in a crowd.", + "status": "draft", + "keywords": [ + "Crowd Control", + "WGUSID: 9798" + ], + "occupations": [ + { + "major": "Protective Service Occupations", + "minor": null, + "broad": null, + "detailed": "Protective Service Occupations", + "code": "33-0000", + "name": "Protective Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": null, + "detailed": "Supervisors of Protective Service Workers", + "code": "33-1000", + "name": "Supervisors of Protective Service Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": "First-Line Supervisors of Law Enforcement Workers", + "detailed": "First-Line Supervisors of Law Enforcement Workers", + "code": "33-1010", + "name": "First-Line Supervisors of Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": "33-1010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": null, + "detailed": "Law Enforcement Workers", + "code": "33-3000", + "name": "Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Bailiffs, Correctional Officers, and Jailers", + "detailed": "Bailiffs, Correctional Officers, and Jailers", + "code": "33-3010", + "name": "Bailiffs, Correctional Officers, and Jailers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Police Officers", + "detailed": "Police Officers", + "code": "33-3050", + "name": "Police Officers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3050", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + } + ] + }, + { + "uuid": "3b2b5ab6-5a3d-4474-b640-42aa758322dd", + "id": "http://localhost:8080/api/skills/3b2b5ab6-5a3d-4474-b640-42aa758322dd", + "skillName": "Alarm Cause Determination", + "skillStatement": "Determine the causes of alarms.", + "status": "draft", + "keywords": [ + "Alarm Devices", + "WGUSID: 9709" + ], + "occupations": [ + { + "major": "Protective Service Occupations", + "minor": null, + "broad": null, + "detailed": "Protective Service Occupations", + "code": "33-0000", + "name": "Protective Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": null, + "detailed": "Supervisors of Protective Service Workers", + "code": "33-1000", + "name": "Supervisors of Protective Service Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": "First-Line Supervisors of Law Enforcement Workers", + "detailed": "First-Line Supervisors of Law Enforcement Workers", + "code": "33-1010", + "name": "First-Line Supervisors of Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": "33-1010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": null, + "detailed": "Law Enforcement Workers", + "code": "33-3000", + "name": "Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Bailiffs, Correctional Officers, and Jailers", + "detailed": "Bailiffs, Correctional Officers, and Jailers", + "code": "33-3010", + "name": "Bailiffs, Correctional Officers, and Jailers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Detectives and Criminal Investigators", + "detailed": "Detectives and Criminal Investigators", + "code": "33-3020", + "name": "Detectives and Criminal Investigators", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3020", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Police Officers", + "detailed": "Police Officers", + "code": "33-3050", + "name": "Police Officers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3050", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + } + ] + }, + { + "uuid": "845ef095-2f4f-4b52-9161-6d0a51aaf43e", + "id": "http://localhost:8080/api/skills/845ef095-2f4f-4b52-9161-6d0a51aaf43e", + "skillName": "Alarm Device Operation", + "skillStatement": "Operate each type of alarm device used within the criminal justice system.", + "status": "draft", + "keywords": [ + "Alarm Devices", + "WGUSID: 9706" + ], + "occupations": [ + { + "major": "Protective Service Occupations", + "minor": null, + "broad": null, + "detailed": "Protective Service Occupations", + "code": "33-0000", + "name": "Protective Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": null, + "detailed": "Supervisors of Protective Service Workers", + "code": "33-1000", + "name": "Supervisors of Protective Service Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": "First-Line Supervisors of Law Enforcement Workers", + "detailed": "First-Line Supervisors of Law Enforcement Workers", + "code": "33-1010", + "name": "First-Line Supervisors of Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": "33-1010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": null, + "detailed": "Law Enforcement Workers", + "code": "33-3000", + "name": "Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Bailiffs, Correctional Officers, and Jailers", + "detailed": "Bailiffs, Correctional Officers, and Jailers", + "code": "33-3010", + "name": "Bailiffs, Correctional Officers, and Jailers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Police Officers", + "detailed": "Police Officers", + "code": "33-3050", + "name": "Police Officers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3050", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + } + ] + }, + { + "uuid": "ff532a84-696f-45cc-bd75-41bd4650be00", + "id": "http://localhost:8080/api/skills/ff532a84-696f-45cc-bd75-41bd4650be00", + "skillName": "Apply Contextual Reasoning", + "skillStatement": "Apply contextual reasoning to understand problems.", + "status": "draft", + "keywords": [ + "21st_Century_Skills", + "SEL", + "Power_Skills_Framework", + "Social Emotional Learning (SEL): General", + "Doing", + "Social Emotional Learning (SEL): Executive Function & Responsible Decision Making", + "Problem Solving", + "Troubleshooting (Problem Solving)", + "WGUSID: 421" + ], + "occupations": [ + { + "major": "Life, Physical, and Social Science Occupations", + "minor": null, + "broad": null, + "detailed": "Life, Physical, and Social Science Occupations", + "code": "19-0000", + "name": "Life, Physical, and Social Science Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "19-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Life, Physical, and Social Science Occupations", + "minor": "Life, Physical, and Social Science Technicians", + "broad": null, + "detailed": "Life, Physical, and Social Science Technicians", + "code": "19-4000", + "name": "Life, Physical, and Social Science Technicians", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "19-0000", + "minorCode": "19-4000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Life, Physical, and Social Science Occupations", + "minor": "Life, Physical, and Social Science Technicians", + "broad": "Miscellaneous Life, Physical, and Social Science Technicians", + "detailed": "Miscellaneous Life, Physical, and Social Science Technicians", + "code": "19-4090", + "name": "Miscellaneous Life, Physical, and Social Science Technicians", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "19-0000", + "minorCode": "19-4000", + "broadCode": "19-4090", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": null, + "broad": null, + "detailed": "Protective Service Occupations", + "code": "33-0000", + "name": "Protective Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": null, + "detailed": "Supervisors of Protective Service Workers", + "code": "33-1000", + "name": "Supervisors of Protective Service Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": "First-Line Supervisors of Law Enforcement Workers", + "detailed": "First-Line Supervisors of Law Enforcement Workers", + "code": "33-1010", + "name": "First-Line Supervisors of Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": "33-1010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": null, + "detailed": "Law Enforcement Workers", + "code": "33-3000", + "name": "Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Bailiffs, Correctional Officers, and Jailers", + "detailed": "Bailiffs, Correctional Officers, and Jailers", + "code": "33-3010", + "name": "Bailiffs, Correctional Officers, and Jailers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Detectives and Criminal Investigators", + "detailed": "Detectives and Criminal Investigators", + "code": "33-3020", + "name": "Detectives and Criminal Investigators", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3020", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Police Officers", + "detailed": "Police Officers", + "code": "33-3050", + "name": "Police Officers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3050", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + } + ] + }, + { + "uuid": "8146a0dd-cf75-4c1e-b101-53a10f967983", + "id": "http://localhost:8080/api/skills/8146a0dd-cf75-4c1e-b101-53a10f967983", + "skillName": "Appropriate Tone of Voice Writing", + "skillStatement": "Write text in the appropriate language and tone of voice for the intended audience.", + "status": "draft", + "keywords": [ + "GeneralEducation2019", + "Written Communication", + "Writing", + "Academic Writing", + "WGUSID: 6969" + ], + "occupations": [ + { + "major": "Computer and Mathematical Occupations", + "minor": null, + "broad": null, + "detailed": "Computer and Mathematical Occupations", + "code": "15-0000", + "name": "Computer and Mathematical Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "15-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Computer and Mathematical Occupations", + "minor": "Computer Occupations", + "broad": null, + "detailed": "Computer Occupations", + "code": "15-1200", + "name": "Computer Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "15-0000", + "minorCode": "15-1200", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Computer and Mathematical Occupations", + "minor": "Computer Occupations", + "broad": "Computer and Information Analysts", + "detailed": "Computer and Information Analysts", + "code": "15-1210", + "name": "Computer and Information Analysts", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "15-0000", + "minorCode": "15-1200", + "broadCode": "15-1210", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Architecture and Engineering Occupations", + "minor": null, + "broad": null, + "detailed": "Architecture and Engineering Occupations", + "code": "17-0000", + "name": "Architecture and Engineering Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "17-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Architecture and Engineering Occupations", + "minor": "Engineers", + "broad": null, + "detailed": "Engineers", + "code": "17-2000", + "name": "Engineers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "17-0000", + "minorCode": "17-2000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Architecture and Engineering Occupations", + "minor": "Engineers", + "broad": "Environmental Engineers", + "detailed": "Environmental Engineers", + "code": "17-2080", + "name": "Environmental Engineers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "17-0000", + "minorCode": "17-2000", + "broadCode": "17-2080", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Architecture and Engineering Occupations", + "minor": "Engineers", + "broad": "Industrial Engineers, Including Health and Safety", + "detailed": "Industrial Engineers, Including Health and Safety", + "code": "17-2110", + "name": "Industrial Engineers, Including Health and Safety", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "17-0000", + "minorCode": "17-2000", + "broadCode": "17-2110", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Architecture and Engineering Occupations", + "minor": "Engineers", + "broad": "Miscellaneous Engineers", + "detailed": "Miscellaneous Engineers", + "code": "17-2190", + "name": "Miscellaneous Engineers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "17-0000", + "minorCode": "17-2000", + "broadCode": "17-2190", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Architecture and Engineering Occupations", + "minor": "Drafters, Engineering Technicians, and Mapping Technicians", + "broad": null, + "detailed": "Drafters, Engineering Technicians, and Mapping Technicians", + "code": "17-3000", + "name": "Drafters, Engineering Technicians, and Mapping Technicians", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "17-0000", + "minorCode": "17-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Architecture and Engineering Occupations", + "minor": "Drafters, Engineering Technicians, and Mapping Technicians", + "broad": "Engineering Technologists and Technicians, Except Drafters", + "detailed": "Engineering Technologists and Technicians, Except Drafters", + "code": "17-3020", + "name": "Engineering Technologists and Technicians, Except Drafters", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "17-0000", + "minorCode": "17-3000", + "broadCode": "17-3020", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Life, Physical, and Social Science Occupations", + "minor": null, + "broad": null, + "detailed": "Life, Physical, and Social Science Occupations", + "code": "19-0000", + "name": "Life, Physical, and Social Science Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "19-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Life, Physical, and Social Science Occupations", + "minor": "Life, Physical, and Social Science Technicians", + "broad": null, + "detailed": "Life, Physical, and Social Science Technicians", + "code": "19-4000", + "name": "Life, Physical, and Social Science Technicians", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "19-0000", + "minorCode": "19-4000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Life, Physical, and Social Science Occupations", + "minor": "Life, Physical, and Social Science Technicians", + "broad": "Miscellaneous Life, Physical, and Social Science Technicians", + "detailed": "Miscellaneous Life, Physical, and Social Science Technicians", + "code": "19-4090", + "name": "Miscellaneous Life, Physical, and Social Science Technicians", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "19-0000", + "minorCode": "19-4000", + "broadCode": "19-4090", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": null, + "broad": null, + "detailed": "Protective Service Occupations", + "code": "33-0000", + "name": "Protective Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": null, + "detailed": "Supervisors of Protective Service Workers", + "code": "33-1000", + "name": "Supervisors of Protective Service Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": "First-Line Supervisors of Law Enforcement Workers", + "detailed": "First-Line Supervisors of Law Enforcement Workers", + "code": "33-1010", + "name": "First-Line Supervisors of Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": "33-1010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": null, + "detailed": "Law Enforcement Workers", + "code": "33-3000", + "name": "Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Bailiffs, Correctional Officers, and Jailers", + "detailed": "Bailiffs, Correctional Officers, and Jailers", + "code": "33-3010", + "name": "Bailiffs, Correctional Officers, and Jailers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Detectives and Criminal Investigators", + "detailed": "Detectives and Criminal Investigators", + "code": "33-3020", + "name": "Detectives and Criminal Investigators", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3020", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Police Officers", + "detailed": "Police Officers", + "code": "33-3050", + "name": "Police Officers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3050", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + } + ], + "standards": [ + "NICE_SP_RSK", + "NICE_SP_DEV", + "NICE_SP_ARC", + "NICE_SP_TRD", + "NICE_SP_SRP", + "NICE_SP_TST", + "NICE_SP_SYS", + "NICE_OV_MGT", + "NICE_OV_PMA", + "NICE_OM_ANA", + "NICE_PR_CIR", + "NICE_PR_CDA", + "NICE_PR_INF", + "NICE_OV_SPP", + "NICE_OV_EXL", + "NICE_OV_LGA", + "NICE_OV_TEA", + "NICE_OM_DTA", + "NICE_OM_NET", + "NICE_OM_ADM", + "NICE_OM_STS", + "NICE_PR_VAM", + "NICE_IN_FOR", + "NICE_IN_INV" + ] + }, + { + "uuid": "3de66652-405d-4899-aa44-c1420d57b45d", + "id": "http://localhost:8080/api/skills/3de66652-405d-4899-aa44-c1420d57b45d", + "skillName": "Area of Improvement Identification", + "skillStatement": "Identify areas of improvement for standard operating procedures (SOPs).", + "status": "draft", + "keywords": [ + "Medical Assistant", + "Standard Operating Procedure", + "WGUSID: 9540" + ], + "occupations": [ + { + "major": "Life, Physical, and Social Science Occupations", + "minor": null, + "broad": null, + "detailed": "Life, Physical, and Social Science Occupations", + "code": "19-0000", + "name": "Life, Physical, and Social Science Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "19-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Life, Physical, and Social Science Occupations", + "minor": "Life, Physical, and Social Science Technicians", + "broad": null, + "detailed": "Life, Physical, and Social Science Technicians", + "code": "19-4000", + "name": "Life, Physical, and Social Science Technicians", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "19-0000", + "minorCode": "19-4000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Life, Physical, and Social Science Occupations", + "minor": "Life, Physical, and Social Science Technicians", + "broad": "Miscellaneous Life, Physical, and Social Science Technicians", + "detailed": "Miscellaneous Life, Physical, and Social Science Technicians", + "code": "19-4090", + "name": "Miscellaneous Life, Physical, and Social Science Technicians", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "19-0000", + "minorCode": "19-4000", + "broadCode": "19-4090", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Healthcare Practitioners and Technical Occupations", + "minor": null, + "broad": null, + "detailed": "Healthcare Practitioners and Technical Occupations", + "code": "29-0000", + "name": "Healthcare Practitioners and Technical Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "29-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Healthcare Practitioners and Technical Occupations", + "minor": "Healthcare Diagnosing or Treating Practitioners", + "broad": null, + "detailed": "Healthcare Diagnosing or Treating Practitioners", + "code": "29-1000", + "name": "Healthcare Diagnosing or Treating Practitioners", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "29-0000", + "minorCode": "29-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Healthcare Practitioners and Technical Occupations", + "minor": "Healthcare Diagnosing or Treating Practitioners", + "broad": "Optometrists", + "detailed": "Optometrists", + "code": "29-1040", + "name": "Optometrists", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "29-0000", + "minorCode": "29-1000", + "broadCode": "29-1040", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Healthcare Practitioners and Technical Occupations", + "minor": "Healthcare Diagnosing or Treating Practitioners", + "broad": "Optometrists", + "detailed": "Optometrists", + "code": "29-1041", + "name": "Optometrists", + "description": "Diagnose, manage, and treat conditions and diseases of the human eye and visual system. Examine eyes and visual system, diagnose problems or impairments, prescribe corrective lenses, and provide treatment. May prescribe therapeutic drugs to treat specific eye conditions. Ophthalmologists are included in “Ophthalmologists, Except Pediatric” (29-1241).", + "framework": "bls", + "url": null, + "majorCode": "29-0000", + "minorCode": "29-1000", + "broadCode": "29-1040", + "detailedCode": "29-1041", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Healthcare Practitioners and Technical Occupations", + "minor": "Healthcare Diagnosing or Treating Practitioners", + "broad": "Nurse Practitioners", + "detailed": "Nurse Practitioners", + "code": "29-1170", + "name": "Nurse Practitioners", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "29-0000", + "minorCode": "29-1000", + "broadCode": "29-1170", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Healthcare Practitioners and Technical Occupations", + "minor": "Healthcare Diagnosing or Treating Practitioners", + "broad": "Nurse Practitioners", + "detailed": "Nurse Practitioners", + "code": "29-1171", + "name": "Nurse Practitioners", + "description": "Diagnose and treat acute, episodic, or chronic illness, independently or as part of a healthcare team. May focus on health promotion and disease prevention. May order, perform, or interpret diagnostic tests such as lab work and x rays. May prescribe medication. Must be registered nurses who have specialized graduate education.", + "framework": "bls", + "url": null, + "majorCode": "29-0000", + "minorCode": "29-1000", + "broadCode": "29-1170", + "detailedCode": "29-1171", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Healthcare Practitioners and Technical Occupations", + "minor": "Health Technologists and Technicians", + "broad": null, + "detailed": "Health Technologists and Technicians", + "code": "29-2000", + "name": "Health Technologists and Technicians", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "29-0000", + "minorCode": "29-2000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Healthcare Practitioners and Technical Occupations", + "minor": "Health Technologists and Technicians", + "broad": "Opticians, Dispensing", + "detailed": "Opticians, Dispensing", + "code": "29-2080", + "name": "Opticians, Dispensing", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "29-0000", + "minorCode": "29-2000", + "broadCode": "29-2080", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Healthcare Practitioners and Technical Occupations", + "minor": "Health Technologists and Technicians", + "broad": "Opticians, Dispensing", + "detailed": "Opticians, Dispensing", + "code": "29-2081", + "name": "Opticians, Dispensing", + "description": "Design, measure, fit, and adapt lenses and frames for client according to written optical prescription or specification. Assist client with inserting, removing, and caring for contact lenses. Assist client with selecting frames. Measure customer for size of eyeglasses and coordinate frames with facial and eye measurements and optical prescription. Prepare work order for optical laboratory containing instructions for grinding and mounting lenses in frames. Verify exactness of finished lens spectacles. Adjust frame and lens position to fit client. May shape or reshape frames. Includes contact lens opticians.", + "framework": "bls", + "url": null, + "majorCode": "29-0000", + "minorCode": "29-2000", + "broadCode": "29-2080", + "detailedCode": "29-2081", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Healthcare Support Occupations", + "minor": null, + "broad": null, + "detailed": "Healthcare Support Occupations", + "code": "31-0000", + "name": "Healthcare Support Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "31-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Healthcare Support Occupations", + "minor": "Other Healthcare Support Occupations", + "broad": null, + "detailed": "Other Healthcare Support Occupations", + "code": "31-9000", + "name": "Other Healthcare Support Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "31-0000", + "minorCode": "31-9000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Healthcare Support Occupations", + "minor": "Other Healthcare Support Occupations", + "broad": "Miscellaneous Healthcare Support Occupations", + "detailed": "Miscellaneous Healthcare Support Occupations", + "code": "31-9090", + "name": "Miscellaneous Healthcare Support Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "31-0000", + "minorCode": "31-9000", + "broadCode": "31-9090", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Healthcare Support Occupations", + "minor": "Other Healthcare Support Occupations", + "broad": "Miscellaneous Healthcare Support Occupations", + "detailed": "Medical Assistants", + "code": "31-9092", + "name": "Medical Assistants", + "description": "Perform administrative and certain clinical duties under the direction of a physician. Administrative duties may include scheduling appointments, maintaining medical records, billing, and coding information for insurance purposes. Clinical duties may include taking and recording vital signs and medical histories, preparing patients for examination, drawing blood, and administering medications as directed by physician. Excludes “Physician Assistants” (29-1071).", + "framework": "bls", + "url": null, + "majorCode": "31-0000", + "minorCode": "31-9000", + "broadCode": "31-9090", + "detailedCode": "31-9092", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Healthcare Support Occupations", + "minor": "Other Healthcare Support Occupations", + "broad": "Miscellaneous Healthcare Support Occupations", + "detailed": "Pharmacy Aides", + "code": "31-9095", + "name": "Pharmacy Aides", + "description": "Record drugs delivered to the pharmacy, store incoming merchandise, and inform the supervisor of stock needs. May operate cash register and accept prescriptions for filling.", + "framework": "bls", + "url": null, + "majorCode": "31-0000", + "minorCode": "31-9000", + "broadCode": "31-9090", + "detailedCode": "31-9095", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Protective Service Occupations", + "minor": null, + "broad": null, + "detailed": "Protective Service Occupations", + "code": "33-0000", + "name": "Protective Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": null, + "detailed": "Law Enforcement Workers", + "code": "33-3000", + "name": "Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Bailiffs, Correctional Officers, and Jailers", + "detailed": "Bailiffs, Correctional Officers, and Jailers", + "code": "33-3010", + "name": "Bailiffs, Correctional Officers, and Jailers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + } + ] + }, + { + "uuid": "ba0ad211-2263-4e85-8475-721a6fe69c10", + "id": "http://localhost:8080/api/skills/ba0ad211-2263-4e85-8475-721a6fe69c10", + "skillName": "Assessment Result Analysis", + "skillStatement": "Analyze assessment results and the referral process.", + "status": "draft", + "keywords": [ + "Case Management", + "WGUSID: 203" + ], + "occupations": [ + { + "major": "Community and Social Service Occupations", + "minor": null, + "broad": null, + "detailed": "Community and Social Service Occupations", + "code": "21-0000", + "name": "Community and Social Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "21-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Community and Social Service Occupations", + "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", + "broad": null, + "detailed": "Counselors, Social Workers, and Other Community and Social Service Specialists", + "code": "21-1000", + "name": "Counselors, Social Workers, and Other Community and Social Service Specialists", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "21-0000", + "minorCode": "21-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Community and Social Service Occupations", + "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", + "broad": "Miscellaneous Community and Social Service Specialists", + "detailed": "Miscellaneous Community and Social Service Specialists", + "code": "21-1090", + "name": "Miscellaneous Community and Social Service Specialists", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "21-0000", + "minorCode": "21-1000", + "broadCode": "21-1090", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Community and Social Service Occupations", + "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", + "broad": "Miscellaneous Community and Social Service Specialists", + "detailed": "Community Health Workers", + "code": "21-1094", + "name": "Community Health Workers", + "description": "Promote health within a community by assisting individuals to adopt healthy behaviors. Serve as an advocate for the health needs of individuals by assisting community residents in effectively communicating with healthcare providers or social service agencies. Act as liaison or advocate and implement programs that promote, maintain, and improve individual and overall community health. May deliver health-related preventive services such as blood pressure, glaucoma, and hearing screenings. May collect data to help identify community health needs. Excludes “Health Education Specialists” (21-1091).", + "framework": "bls", + "url": null, + "majorCode": "21-0000", + "minorCode": "21-1000", + "broadCode": "21-1090", + "detailedCode": "21-1094", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Protective Service Occupations", + "minor": null, + "broad": null, + "detailed": "Protective Service Occupations", + "code": "33-0000", + "name": "Protective Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": null, + "detailed": "Law Enforcement Workers", + "code": "33-3000", + "name": "Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Bailiffs, Correctional Officers, and Jailers", + "detailed": "Bailiffs, Correctional Officers, and Jailers", + "code": "33-3010", + "name": "Bailiffs, Correctional Officers, and Jailers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + } + ] + }, + { + "uuid": "920db5e9-2516-4e85-a264-107d7d762f05", + "id": "http://localhost:8080/api/skills/920db5e9-2516-4e85-a264-107d7d762f05", + "skillName": "Attitude and Belief Awareness Demonstration", + "skillStatement": "Demonstrate an awareness that one's own attitudes and beliefs can be different from other cultures and communities.", + "status": "draft", + "keywords": [ + "Cultural Awareness", + "Culturally Sensitive", + "WGUSID: 2732" + ], + "occupations": [ + { + "major": "Business and Financial Operations Occupations", + "minor": null, + "broad": null, + "detailed": "Business and Financial Operations Occupations", + "code": "13-0000", + "name": "Business and Financial Operations Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Financial Specialists", + "broad": null, + "detailed": "Financial Specialists", + "code": "13-2000", + "name": "Financial Specialists", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-2000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Financial Specialists", + "broad": "Accountants and Auditors", + "detailed": "Accountants and Auditors", + "code": "13-2010", + "name": "Accountants and Auditors", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-2000", + "broadCode": "13-2010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Financial Specialists", + "broad": "Accountants and Auditors", + "detailed": "Accountants and Auditors", + "code": "13-2011", + "name": "Accountants and Auditors", + "description": "Examine, analyze, and interpret accounting records to prepare financial statements, give advice, or audit and evaluate statements prepared by others. Install or advise on systems of recording costs or other financial and budgetary data. Excludes “Tax Examiners and Collectors, and Revenue Agents” (13-2081).", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-2000", + "broadCode": "13-2010", + "detailedCode": "13-2011", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Financial Specialists", + "broad": "Budget Analysts", + "detailed": "Budget Analysts", + "code": "13-2030", + "name": "Budget Analysts", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-2000", + "broadCode": "13-2030", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Financial Specialists", + "broad": "Budget Analysts", + "detailed": "Budget Analysts", + "code": "13-2031", + "name": "Budget Analysts", + "description": "Examine budget estimates for completeness, accuracy, and conformance with procedures and regulations. Analyze budgeting and accounting reports. Excludes “Financial and Investment Analysts” (13-2051).", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-2000", + "broadCode": "13-2030", + "detailedCode": "13-2031", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Financial Specialists", + "broad": "Credit Analysts", + "detailed": "Credit Analysts", + "code": "13-2040", + "name": "Credit Analysts", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-2000", + "broadCode": "13-2040", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Financial Specialists", + "broad": "Credit Analysts", + "detailed": "Credit Analysts", + "code": "13-2041", + "name": "Credit Analysts", + "description": "Analyze credit data and financial statements of individuals or firms to determine the degree of risk involved in extending credit or lending money. Prepare reports with credit information for use in decisionmaking. Excludes “Financial Risk Specialists” (13-2054).", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-2000", + "broadCode": "13-2040", + "detailedCode": "13-2041", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Financial Specialists", + "broad": "Financial Examiners", + "detailed": "Financial Examiners", + "code": "13-2060", + "name": "Financial Examiners", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-2000", + "broadCode": "13-2060", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Financial Specialists", + "broad": "Financial Examiners", + "detailed": "Financial Examiners", + "code": "13-2061", + "name": "Financial Examiners", + "description": "Enforce or ensure compliance with laws and regulations governing financial and securities institutions and financial and real estate transactions. May examine, verify, or authenticate records.", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-2000", + "broadCode": "13-2060", + "detailedCode": "13-2061", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Financial Specialists", + "broad": "Tax Examiners, Collectors and Preparers, and Revenue Agents", + "detailed": "Tax Examiners, Collectors and Preparers, and Revenue Agents", + "code": "13-2080", + "name": "Tax Examiners, Collectors and Preparers, and Revenue Agents", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-2000", + "broadCode": "13-2080", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Financial Specialists", + "broad": "Tax Examiners, Collectors and Preparers, and Revenue Agents", + "detailed": "Tax Examiners and Collectors, and Revenue Agents", + "code": "13-2081", + "name": "Tax Examiners and Collectors, and Revenue Agents", + "description": "Determine tax liability or collect taxes from individuals or business firms according to prescribed laws and regulations.", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-2000", + "broadCode": "13-2080", + "detailedCode": "13-2081", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Computer and Mathematical Occupations", + "minor": null, + "broad": null, + "detailed": "Computer and Mathematical Occupations", + "code": "15-0000", + "name": "Computer and Mathematical Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "15-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Computer and Mathematical Occupations", + "minor": "Computer Occupations", + "broad": null, + "detailed": "Computer Occupations", + "code": "15-1200", + "name": "Computer Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "15-0000", + "minorCode": "15-1200", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Computer and Mathematical Occupations", + "minor": "Computer Occupations", + "broad": "Computer and Information Analysts", + "detailed": "Computer and Information Analysts", + "code": "15-1210", + "name": "Computer and Information Analysts", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "15-0000", + "minorCode": "15-1200", + "broadCode": "15-1210", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Educational Instruction and Library Occupations", + "minor": null, + "broad": null, + "detailed": "Educational Instruction and Library Occupations", + "code": "25-0000", + "name": "Educational Instruction and Library Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "25-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Educational Instruction and Library Occupations", + "minor": "Librarians, Curators, and Archivists", + "broad": null, + "detailed": "Librarians, Curators, and Archivists", + "code": "25-4000", + "name": "Librarians, Curators, and Archivists", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "25-0000", + "minorCode": "25-4000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Educational Instruction and Library Occupations", + "minor": "Librarians, Curators, and Archivists", + "broad": "Librarians and Media Collections Specialists", + "detailed": "Librarians and Media Collections Specialists", + "code": "25-4020", + "name": "Librarians and Media Collections Specialists", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "25-0000", + "minorCode": "25-4000", + "broadCode": "25-4020", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Educational Instruction and Library Occupations", + "minor": "Librarians, Curators, and Archivists", + "broad": "Librarians and Media Collections Specialists", + "detailed": "Librarians and Media Collections Specialists", + "code": "25-4022", + "name": "Librarians and Media Collections Specialists", + "description": "Administer and maintain libraries or collections of information, for public or private access through reference or borrowing. Work in a variety of settings, such as educational institutions, museums, and corporations, and with various types of informational materials, such as books, periodicals, recordings, films, and databases. Tasks may include acquiring, cataloging, and circulating library materials, and user services such as locating and organizing information, providing instruction on how to access information, and setting up and operating a library’s media equipment.", + "framework": "bls", + "url": null, + "majorCode": "25-0000", + "minorCode": "25-4000", + "broadCode": "25-4020", + "detailedCode": "25-4022", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Educational Instruction and Library Occupations", + "minor": "Other Educational Instruction and Library Occupations", + "broad": null, + "detailed": "Other Educational Instruction and Library Occupations", + "code": "25-9000", + "name": "Other Educational Instruction and Library Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "25-0000", + "minorCode": "25-9000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Educational Instruction and Library Occupations", + "minor": "Other Educational Instruction and Library Occupations", + "broad": "Instructional Coordinators", + "detailed": "Instructional Coordinators", + "code": "25-9030", + "name": "Instructional Coordinators", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "25-0000", + "minorCode": "25-9000", + "broadCode": "25-9030", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Educational Instruction and Library Occupations", + "minor": "Other Educational Instruction and Library Occupations", + "broad": "Instructional Coordinators", + "detailed": "Instructional Coordinators", + "code": "25-9031", + "name": "Instructional Coordinators", + "description": "Develop instructional material, coordinate educational content, and incorporate current technology into instruction in order to provide guidelines to educators and instructors for developing curricula and conducting courses. May train and coach teachers. Includes educational consultants and specialists, and instructional material directors.", + "framework": "bls", + "url": null, + "majorCode": "25-0000", + "minorCode": "25-9000", + "broadCode": "25-9030", + "detailedCode": "25-9031", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Educational Instruction and Library Occupations", + "minor": "Other Educational Instruction and Library Occupations", + "broad": "Miscellaneous Educational Instruction and Library Workers", + "detailed": "Miscellaneous Educational Instruction and Library Workers", + "code": "25-9090", + "name": "Miscellaneous Educational Instruction and Library Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "25-0000", + "minorCode": "25-9000", + "broadCode": "25-9090", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": null, + "broad": null, + "detailed": "Protective Service Occupations", + "code": "33-0000", + "name": "Protective Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": null, + "detailed": "Supervisors of Protective Service Workers", + "code": "33-1000", + "name": "Supervisors of Protective Service Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": "First-Line Supervisors of Law Enforcement Workers", + "detailed": "First-Line Supervisors of Law Enforcement Workers", + "code": "33-1010", + "name": "First-Line Supervisors of Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": "33-1010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": null, + "detailed": "Law Enforcement Workers", + "code": "33-3000", + "name": "Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Bailiffs, Correctional Officers, and Jailers", + "detailed": "Bailiffs, Correctional Officers, and Jailers", + "code": "33-3010", + "name": "Bailiffs, Correctional Officers, and Jailers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Detectives and Criminal Investigators", + "detailed": "Detectives and Criminal Investigators", + "code": "33-3020", + "name": "Detectives and Criminal Investigators", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3020", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Police Officers", + "detailed": "Police Officers", + "code": "33-3050", + "name": "Police Officers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3050", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + } + ], + "standards": [ + "InTASC_3a", + "InTASC_3i", + "InTASC_4g", + "InTASC_8n", + "InTASC_3b", + "InTASC_3f", + "InTASC_3h", + "InTASC_3l", + "InTASC_3o", + "InTASC_5d", + "ISTE_Educators_4d", + "InTASC_3d", + "InTASC_3m", + "InTASC_3n", + "InTASC_6p", + "ATD.Prof.ID", + "ATD.Prof.TDF", + "ISTE.Coach.CA.1a", + "ISTE.Coach.C.3a", + "ISTE.Coach.CA.1c", + "ISTE.Coach.CL.2c", + "ISTE.Coach.PLF.5b", + "AAQEP_2e", + "ISTE_EdLeaders_3d", + "InTASC_4m", + "ATD.Org.ODC", + "ATD.Pers.CA", + "ISTE.Coach.C.3b", + "ISTE.Coach.PLF.5bAAQEP_1f", + "ISTE.Coach.DCA.7c", + "ISTE.Coach.DCA.7b", + "AAQEP_2b" + ] + }, + { + "uuid": "fd6af3f9-92f6-4065-b6b2-ce509545d40c", + "id": "http://localhost:8080/api/skills/fd6af3f9-92f6-4065-b6b2-ce509545d40c", + "skillName": "Automated External Defibrillator (AED) Functionality Testing", + "skillStatement": "Test law enforcement agencies' automated external defibrillator (AED) inventory for functionality.", + "status": "draft", + "keywords": [ + "Automated External Defibrillator", + "WGUSID: 9724" + ], + "occupations": [ + { + "major": "Protective Service Occupations", + "minor": null, + "broad": null, + "detailed": "Protective Service Occupations", + "code": "33-0000", + "name": "Protective Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": null, + "detailed": "Supervisors of Protective Service Workers", + "code": "33-1000", + "name": "Supervisors of Protective Service Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": "First-Line Supervisors of Law Enforcement Workers", + "detailed": "First-Line Supervisors of Law Enforcement Workers", + "code": "33-1010", + "name": "First-Line Supervisors of Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": "33-1010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": null, + "detailed": "Law Enforcement Workers", + "code": "33-3000", + "name": "Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Bailiffs, Correctional Officers, and Jailers", + "detailed": "Bailiffs, Correctional Officers, and Jailers", + "code": "33-3010", + "name": "Bailiffs, Correctional Officers, and Jailers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Police Officers", + "detailed": "Police Officers", + "code": "33-3050", + "name": "Police Officers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3050", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + } + ] + }, + { + "uuid": "c4b30c2e-fde7-4724-85b9-90b43878c7af", + "id": "http://localhost:8080/api/skills/c4b30c2e-fde7-4724-85b9-90b43878c7af", + "skillName": "Automated External Defibrillator (AED) Prompts Response", + "skillStatement": "Respond to automated external defibrillator (AED) prompts during deployment.", + "status": "draft", + "keywords": [ + "Automated External Defibrillator", + "WGUSID: 9726" + ], + "occupations": [ + { + "major": "Protective Service Occupations", + "minor": null, + "broad": null, + "detailed": "Protective Service Occupations", + "code": "33-0000", + "name": "Protective Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": null, + "detailed": "Supervisors of Protective Service Workers", + "code": "33-1000", + "name": "Supervisors of Protective Service Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": "First-Line Supervisors of Law Enforcement Workers", + "detailed": "First-Line Supervisors of Law Enforcement Workers", + "code": "33-1010", + "name": "First-Line Supervisors of Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": "33-1010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": null, + "detailed": "Law Enforcement Workers", + "code": "33-3000", + "name": "Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Bailiffs, Correctional Officers, and Jailers", + "detailed": "Bailiffs, Correctional Officers, and Jailers", + "code": "33-3010", + "name": "Bailiffs, Correctional Officers, and Jailers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Police Officers", + "detailed": "Police Officers", + "code": "33-3050", + "name": "Police Officers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3050", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + } + ] + }, + { + "uuid": "ccd2cb8d-0734-463c-8787-cd01853cb274", + "id": "http://localhost:8080/api/skills/ccd2cb8d-0734-463c-8787-cd01853cb274", + "skillName": "Automated External Defibrillator Operation", + "skillStatement": "Perform the operation of an automated external defibrillator (AED) when needed in medical emergencies.", + "status": "draft", + "keywords": [ + "Emergency Medical Services", + "WGUSID: 9841" + ], + "occupations": [ + { + "major": "Protective Service Occupations", + "minor": null, + "broad": null, + "detailed": "Protective Service Occupations", + "code": "33-0000", + "name": "Protective Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": null, + "detailed": "Supervisors of Protective Service Workers", + "code": "33-1000", + "name": "Supervisors of Protective Service Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": "First-Line Supervisors of Law Enforcement Workers", + "detailed": "First-Line Supervisors of Law Enforcement Workers", + "code": "33-1010", + "name": "First-Line Supervisors of Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": "33-1010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": null, + "detailed": "Law Enforcement Workers", + "code": "33-3000", + "name": "Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Bailiffs, Correctional Officers, and Jailers", + "detailed": "Bailiffs, Correctional Officers, and Jailers", + "code": "33-3010", + "name": "Bailiffs, Correctional Officers, and Jailers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Detectives and Criminal Investigators", + "detailed": "Detectives and Criminal Investigators", + "code": "33-3020", + "name": "Detectives and Criminal Investigators", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3020", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Police Officers", + "detailed": "Police Officers", + "code": "33-3050", + "name": "Police Officers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3050", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + } + ] + }, + { + "uuid": "8c481834-3d35-4d1a-93a0-afe7c643ab6f", + "id": "http://localhost:8080/api/skills/8c481834-3d35-4d1a-93a0-afe7c643ab6f", + "skillName": "Basic First Aid Administration", + "skillStatement": "Administer basic first aid in a medical emergency.", + "status": "draft", + "keywords": [ + "Medical Assistant", + "First Aid", + "WGUSID: 9111" + ], + "occupations": [ + { + "major": "Community and Social Service Occupations", + "minor": null, + "broad": null, + "detailed": "Community and Social Service Occupations", + "code": "21-0000", + "name": "Community and Social Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "21-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Community and Social Service Occupations", + "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", + "broad": null, + "detailed": "Counselors, Social Workers, and Other Community and Social Service Specialists", + "code": "21-1000", + "name": "Counselors, Social Workers, and Other Community and Social Service Specialists", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "21-0000", + "minorCode": "21-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Community and Social Service Occupations", + "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", + "broad": "Counselors", + "detailed": "Counselors", + "code": "21-1010", + "name": "Counselors", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "21-0000", + "minorCode": "21-1000", + "broadCode": "21-1010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Community and Social Service Occupations", + "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", + "broad": "Counselors", + "detailed": "Rehabilitation Counselors", + "code": "21-1015", + "name": "Rehabilitation Counselors", + "description": "Counsel individuals to maximize the independence and employability of persons coping with personal, social, and vocational difficulties that result from birth defects, illness, disease, accidents, aging, or the stress of daily life. Coordinate activities for residents of care and treatment facilities. Assess client needs and design and implement rehabilitation programs that may include personal and vocational counseling, training, and job placement. Excludes “Occupational Therapists” (29-1122).", + "framework": "bls", + "url": null, + "majorCode": "21-0000", + "minorCode": "21-1000", + "broadCode": "21-1010", + "detailedCode": "21-1015", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Community and Social Service Occupations", + "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", + "broad": "Social Workers", + "detailed": "Social Workers", + "code": "21-1020", + "name": "Social Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "21-0000", + "minorCode": "21-1000", + "broadCode": "21-1020", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Community and Social Service Occupations", + "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", + "broad": "Social Workers", + "detailed": "Healthcare Social Workers", + "code": "21-1022", + "name": "Healthcare Social Workers", + "description": "Provide individuals, families, and groups with the psychosocial support needed to cope with chronic, acute, or terminal illnesses. Services include advising family caregivers. Provide patients with information and counseling, and make referrals for other services. May also provide case and care management or interventions designed to promote health, prevent disease, and address barriers to access to healthcare.", + "framework": "bls", + "url": null, + "majorCode": "21-0000", + "minorCode": "21-1000", + "broadCode": "21-1020", + "detailedCode": "21-1022", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Community and Social Service Occupations", + "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", + "broad": "Miscellaneous Community and Social Service Specialists", + "detailed": "Miscellaneous Community and Social Service Specialists", + "code": "21-1090", + "name": "Miscellaneous Community and Social Service Specialists", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "21-0000", + "minorCode": "21-1000", + "broadCode": "21-1090", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Community and Social Service Occupations", + "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", + "broad": "Miscellaneous Community and Social Service Specialists", + "detailed": "Community Health Workers", + "code": "21-1094", + "name": "Community Health Workers", + "description": "Promote health within a community by assisting individuals to adopt healthy behaviors. Serve as an advocate for the health needs of individuals by assisting community residents in effectively communicating with healthcare providers or social service agencies. Act as liaison or advocate and implement programs that promote, maintain, and improve individual and overall community health. May deliver health-related preventive services such as blood pressure, glaucoma, and hearing screenings. May collect data to help identify community health needs. Excludes “Health Education Specialists” (21-1091).", + "framework": "bls", + "url": null, + "majorCode": "21-0000", + "minorCode": "21-1000", + "broadCode": "21-1090", + "detailedCode": "21-1094", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Healthcare Practitioners and Technical Occupations", + "minor": null, + "broad": null, + "detailed": "Healthcare Practitioners and Technical Occupations", + "code": "29-0000", + "name": "Healthcare Practitioners and Technical Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "29-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Healthcare Practitioners and Technical Occupations", + "minor": "Healthcare Diagnosing or Treating Practitioners", + "broad": null, + "detailed": "Healthcare Diagnosing or Treating Practitioners", + "code": "29-1000", + "name": "Healthcare Diagnosing or Treating Practitioners", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "29-0000", + "minorCode": "29-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Healthcare Practitioners and Technical Occupations", + "minor": "Healthcare Diagnosing or Treating Practitioners", + "broad": "Optometrists", + "detailed": "Optometrists", + "code": "29-1040", + "name": "Optometrists", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "29-0000", + "minorCode": "29-1000", + "broadCode": "29-1040", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Healthcare Practitioners and Technical Occupations", + "minor": "Healthcare Diagnosing or Treating Practitioners", + "broad": "Optometrists", + "detailed": "Optometrists", + "code": "29-1041", + "name": "Optometrists", + "description": "Diagnose, manage, and treat conditions and diseases of the human eye and visual system. Examine eyes and visual system, diagnose problems or impairments, prescribe corrective lenses, and provide treatment. May prescribe therapeutic drugs to treat specific eye conditions. Ophthalmologists are included in “Ophthalmologists, Except Pediatric” (29-1241).", + "framework": "bls", + "url": null, + "majorCode": "29-0000", + "minorCode": "29-1000", + "broadCode": "29-1040", + "detailedCode": "29-1041", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Healthcare Practitioners and Technical Occupations", + "minor": "Healthcare Diagnosing or Treating Practitioners", + "broad": "Nurse Practitioners", + "detailed": "Nurse Practitioners", + "code": "29-1170", + "name": "Nurse Practitioners", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "29-0000", + "minorCode": "29-1000", + "broadCode": "29-1170", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Healthcare Practitioners and Technical Occupations", + "minor": "Healthcare Diagnosing or Treating Practitioners", + "broad": "Nurse Practitioners", + "detailed": "Nurse Practitioners", + "code": "29-1171", + "name": "Nurse Practitioners", + "description": "Diagnose and treat acute, episodic, or chronic illness, independently or as part of a healthcare team. May focus on health promotion and disease prevention. May order, perform, or interpret diagnostic tests such as lab work and x rays. May prescribe medication. Must be registered nurses who have specialized graduate education.", + "framework": "bls", + "url": null, + "majorCode": "29-0000", + "minorCode": "29-1000", + "broadCode": "29-1170", + "detailedCode": "29-1171", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Healthcare Practitioners and Technical Occupations", + "minor": "Healthcare Diagnosing or Treating Practitioners", + "broad": "Miscellaneous Healthcare Diagnosing or Treating Practitioners", + "detailed": "Miscellaneous Healthcare Diagnosing or Treating Practitioners", + "code": "29-1290", + "name": "Miscellaneous Healthcare Diagnosing or Treating Practitioners", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "29-0000", + "minorCode": "29-1000", + "broadCode": "29-1290", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Healthcare Practitioners and Technical Occupations", + "minor": "Healthcare Diagnosing or Treating Practitioners", + "broad": "Miscellaneous Healthcare Diagnosing or Treating Practitioners", + "detailed": "Dental Hygienists", + "code": "29-1292", + "name": "Dental Hygienists", + "description": "Administer oral hygiene care to patients. Assess patient oral hygiene problems or needs and maintain health records. Advise patients on oral health maintenance and disease prevention. May provide advanced care such as providing fluoride treatment or administering topical anesthesia.", + "framework": "bls", + "url": null, + "majorCode": "29-0000", + "minorCode": "29-1000", + "broadCode": "29-1290", + "detailedCode": "29-1292", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Healthcare Support Occupations", + "minor": null, + "broad": null, + "detailed": "Healthcare Support Occupations", + "code": "31-0000", + "name": "Healthcare Support Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "31-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Healthcare Support Occupations", + "minor": "Home Health and Personal Care Aides; and Nursing Assistants, Orderlies, and Psychiatric Aides", + "broad": null, + "detailed": "Home Health and Personal Care Aides; and Nursing Assistants, Orderlies, and Psychiatric Aides", + "code": "31-1100", + "name": "Home Health and Personal Care Aides; and Nursing Assistants, Orderlies, and Psychiatric Aides", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "31-0000", + "minorCode": "31-1100", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Healthcare Support Occupations", + "minor": "Home Health and Personal Care Aides; and Nursing Assistants, Orderlies, and Psychiatric Aides", + "broad": "Home Health and Personal Care Aides", + "detailed": "Home Health and Personal Care Aides", + "code": "31-1120", + "name": "Home Health and Personal Care Aides", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "31-0000", + "minorCode": "31-1100", + "broadCode": "31-1120", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Healthcare Support Occupations", + "minor": "Home Health and Personal Care Aides; and Nursing Assistants, Orderlies, and Psychiatric Aides", + "broad": "Nursing Assistants, Orderlies, and Psychiatric Aides", + "detailed": "Nursing Assistants, Orderlies, and Psychiatric Aides", + "code": "31-1130", + "name": "Nursing Assistants, Orderlies, and Psychiatric Aides", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "31-0000", + "minorCode": "31-1100", + "broadCode": "31-1130", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Healthcare Support Occupations", + "minor": "Home Health and Personal Care Aides; and Nursing Assistants, Orderlies, and Psychiatric Aides", + "broad": "Nursing Assistants, Orderlies, and Psychiatric Aides", + "detailed": "Nursing Assistants", + "code": "31-1131", + "name": "Nursing Assistants", + "description": "Provide or assist with basic care or support under the direction of onsite licensed nursing staff. Perform duties such as monitoring of health status, feeding, bathing, dressing, grooming, toileting, or ambulation of patients in a health or nursing facility. May include medication administration and other health-related tasks. Includes nursing care attendants, nursing aides, and nursing attendants. Excludes “Home Health Aides” (31-1121), “Personal Care Aides” (31-1122), “Orderlies” (31-1132), and “Psychiatric Aides” (31-1133).", + "framework": "bls", + "url": null, + "majorCode": "31-0000", + "minorCode": "31-1100", + "broadCode": "31-1130", + "detailedCode": "31-1131", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Healthcare Support Occupations", + "minor": "Other Healthcare Support Occupations", + "broad": null, + "detailed": "Other Healthcare Support Occupations", + "code": "31-9000", + "name": "Other Healthcare Support Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "31-0000", + "minorCode": "31-9000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Healthcare Support Occupations", + "minor": "Other Healthcare Support Occupations", + "broad": "Miscellaneous Healthcare Support Occupations", + "detailed": "Miscellaneous Healthcare Support Occupations", + "code": "31-9090", + "name": "Miscellaneous Healthcare Support Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "31-0000", + "minorCode": "31-9000", + "broadCode": "31-9090", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Healthcare Support Occupations", + "minor": "Other Healthcare Support Occupations", + "broad": "Miscellaneous Healthcare Support Occupations", + "detailed": "Dental Assistants", + "code": "31-9091", + "name": "Dental Assistants", + "description": "Perform limited clinical duties under the direction of a dentist. Clinical duties may include equipment preparation and sterilization, preparing patients for treatment, assisting the dentist during treatment, and providing patients with instructions for oral healthcare procedures. May perform administrative duties such as scheduling appointments, maintaining medical records, billing, and coding information for insurance purposes.", + "framework": "bls", + "url": null, + "majorCode": "31-0000", + "minorCode": "31-9000", + "broadCode": "31-9090", + "detailedCode": "31-9091", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Healthcare Support Occupations", + "minor": "Other Healthcare Support Occupations", + "broad": "Miscellaneous Healthcare Support Occupations", + "detailed": "Medical Assistants", + "code": "31-9092", + "name": "Medical Assistants", + "description": "Perform administrative and certain clinical duties under the direction of a physician. Administrative duties may include scheduling appointments, maintaining medical records, billing, and coding information for insurance purposes. Clinical duties may include taking and recording vital signs and medical histories, preparing patients for examination, drawing blood, and administering medications as directed by physician. Excludes “Physician Assistants” (29-1071).", + "framework": "bls", + "url": null, + "majorCode": "31-0000", + "minorCode": "31-9000", + "broadCode": "31-9090", + "detailedCode": "31-9092", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Protective Service Occupations", + "minor": null, + "broad": null, + "detailed": "Protective Service Occupations", + "code": "33-0000", + "name": "Protective Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": null, + "detailed": "Supervisors of Protective Service Workers", + "code": "33-1000", + "name": "Supervisors of Protective Service Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": "First-Line Supervisors of Law Enforcement Workers", + "detailed": "First-Line Supervisors of Law Enforcement Workers", + "code": "33-1010", + "name": "First-Line Supervisors of Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": "33-1010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": null, + "detailed": "Law Enforcement Workers", + "code": "33-3000", + "name": "Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Bailiffs, Correctional Officers, and Jailers", + "detailed": "Bailiffs, Correctional Officers, and Jailers", + "code": "33-3010", + "name": "Bailiffs, Correctional Officers, and Jailers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Police Officers", + "detailed": "Police Officers", + "code": "33-3050", + "name": "Police Officers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3050", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": null, + "minor": null, + "broad": null, + "detailed": null, + "code": "21-1018", + "name": null, + "description": null, + "framework": null, + "url": null, + "majorCode": "21-0000", + "minorCode": "21-1000", + "broadCode": "21-1010", + "detailedCode": "21-1018", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + } + ], + "standards": [ + "ACHE_4D3", + "NCSBN_35" + ] + }, + { + "uuid": "761cab3a-6f29-4f81-bd11-c8f496d7e9fe", + "id": "http://localhost:8080/api/skills/761cab3a-6f29-4f81-bd11-c8f496d7e9fe", + "skillName": "Behavioral Description", + "skillStatement": "Describe a suspect's behavior.", + "status": "draft", + "keywords": [ + "Behavioral Science", + "WGUSID: 9736" + ], + "occupations": [ + { + "major": "Protective Service Occupations", + "minor": null, + "broad": null, + "detailed": "Protective Service Occupations", + "code": "33-0000", + "name": "Protective Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": null, + "detailed": "Supervisors of Protective Service Workers", + "code": "33-1000", + "name": "Supervisors of Protective Service Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": "First-Line Supervisors of Law Enforcement Workers", + "detailed": "First-Line Supervisors of Law Enforcement Workers", + "code": "33-1010", + "name": "First-Line Supervisors of Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": "33-1010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": null, + "detailed": "Law Enforcement Workers", + "code": "33-3000", + "name": "Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Bailiffs, Correctional Officers, and Jailers", + "detailed": "Bailiffs, Correctional Officers, and Jailers", + "code": "33-3010", + "name": "Bailiffs, Correctional Officers, and Jailers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Detectives and Criminal Investigators", + "detailed": "Detectives and Criminal Investigators", + "code": "33-3020", + "name": "Detectives and Criminal Investigators", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3020", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Police Officers", + "detailed": "Police Officers", + "code": "33-3050", + "name": "Police Officers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3050", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + } + ] + }, + { + "uuid": "1dfad376-08e8-47c5-a441-bbafdea74f90", + "id": "http://localhost:8080/api/skills/1dfad376-08e8-47c5-a441-bbafdea74f90", + "skillName": "Behavioral Impact Assessment", + "skillStatement": "Assess how an individual's behavior will impact others a given situation.", + "status": "draft", + "keywords": [ + "Behavioral Science", + "WGUSID: 9732" + ], + "occupations": [ + { + "major": "Protective Service Occupations", + "minor": null, + "broad": null, + "detailed": "Protective Service Occupations", + "code": "33-0000", + "name": "Protective Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": null, + "detailed": "Supervisors of Protective Service Workers", + "code": "33-1000", + "name": "Supervisors of Protective Service Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": "First-Line Supervisors of Law Enforcement Workers", + "detailed": "First-Line Supervisors of Law Enforcement Workers", + "code": "33-1010", + "name": "First-Line Supervisors of Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": "33-1010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": null, + "detailed": "Law Enforcement Workers", + "code": "33-3000", + "name": "Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Bailiffs, Correctional Officers, and Jailers", + "detailed": "Bailiffs, Correctional Officers, and Jailers", + "code": "33-3010", + "name": "Bailiffs, Correctional Officers, and Jailers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Detectives and Criminal Investigators", + "detailed": "Detectives and Criminal Investigators", + "code": "33-3020", + "name": "Detectives and Criminal Investigators", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3020", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + } + ] + }, + { + "uuid": "a3593d14-a864-455e-ae10-cbfad2a27a29", + "id": "http://localhost:8080/api/skills/a3593d14-a864-455e-ae10-cbfad2a27a29", + "skillName": "Behavioral Response Assessment", + "skillStatement": "Assess the response needed for an individual's behavior.", + "status": "draft", + "keywords": [ + "Behavioral Science", + "WGUSID: 9734" + ], + "occupations": [ + { + "major": "Protective Service Occupations", + "minor": null, + "broad": null, + "detailed": "Protective Service Occupations", + "code": "33-0000", + "name": "Protective Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": null, + "detailed": "Supervisors of Protective Service Workers", + "code": "33-1000", + "name": "Supervisors of Protective Service Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": "First-Line Supervisors of Law Enforcement Workers", + "detailed": "First-Line Supervisors of Law Enforcement Workers", + "code": "33-1010", + "name": "First-Line Supervisors of Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": "33-1010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": null, + "detailed": "Law Enforcement Workers", + "code": "33-3000", + "name": "Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Bailiffs, Correctional Officers, and Jailers", + "detailed": "Bailiffs, Correctional Officers, and Jailers", + "code": "33-3010", + "name": "Bailiffs, Correctional Officers, and Jailers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Detectives and Criminal Investigators", + "detailed": "Detectives and Criminal Investigators", + "code": "33-3020", + "name": "Detectives and Criminal Investigators", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3020", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + } + ] + }, + { + "uuid": "99fe0c6b-0376-466a-8249-838ce6abc41c", + "id": "http://localhost:8080/api/skills/99fe0c6b-0376-466a-8249-838ce6abc41c", + "skillName": "Behavioral Threat Assessment", + "skillStatement": "Assess the threat level that an individual's behavior poses to other people's safety.", + "status": "draft", + "keywords": [ + "Behavioral Science", + "WGUSID: 9735" + ], + "occupations": [ + { + "major": "Protective Service Occupations", + "minor": null, + "broad": null, + "detailed": "Protective Service Occupations", + "code": "33-0000", + "name": "Protective Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": null, + "detailed": "Supervisors of Protective Service Workers", + "code": "33-1000", + "name": "Supervisors of Protective Service Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": "First-Line Supervisors of Law Enforcement Workers", + "detailed": "First-Line Supervisors of Law Enforcement Workers", + "code": "33-1010", + "name": "First-Line Supervisors of Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": "33-1010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": null, + "detailed": "Law Enforcement Workers", + "code": "33-3000", + "name": "Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Bailiffs, Correctional Officers, and Jailers", + "detailed": "Bailiffs, Correctional Officers, and Jailers", + "code": "33-3010", + "name": "Bailiffs, Correctional Officers, and Jailers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Detectives and Criminal Investigators", + "detailed": "Detectives and Criminal Investigators", + "code": "33-3020", + "name": "Detectives and Criminal Investigators", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3020", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + } + ] + }, + { + "uuid": "f49e45bb-bf59-40e9-b512-fce9480ffa5e", + "id": "http://localhost:8080/api/skills/f49e45bb-bf59-40e9-b512-fce9480ffa5e", + "skillName": "Body Language Exhibition", + "skillStatement": "Exhibit non-threatening body language during a de-escalation.", + "status": "draft", + "keywords": [ + "De-escalation Techniques", + "WGUSID: 9810" + ], + "occupations": [ + { + "major": "Protective Service Occupations", + "minor": null, + "broad": null, + "detailed": "Protective Service Occupations", + "code": "33-0000", + "name": "Protective Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": null, + "detailed": "Supervisors of Protective Service Workers", + "code": "33-1000", + "name": "Supervisors of Protective Service Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": "First-Line Supervisors of Law Enforcement Workers", + "detailed": "First-Line Supervisors of Law Enforcement Workers", + "code": "33-1010", + "name": "First-Line Supervisors of Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": "33-1010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": null, + "detailed": "Law Enforcement Workers", + "code": "33-3000", + "name": "Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Bailiffs, Correctional Officers, and Jailers", + "detailed": "Bailiffs, Correctional Officers, and Jailers", + "code": "33-3010", + "name": "Bailiffs, Correctional Officers, and Jailers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Police Officers", + "detailed": "Police Officers", + "code": "33-3050", + "name": "Police Officers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3050", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + } + ] + }, + { + "uuid": "a7aa8acc-143c-42f8-9f23-1abf10b6b72c", + "id": "http://localhost:8080/api/skills/a7aa8acc-143c-42f8-9f23-1abf10b6b72c", + "skillName": "Build Trust with Emotional Support", + "skillStatement": "Build trust with an individual experiencing a crisis by providing emotional support.", + "status": "draft", + "keywords": [ + "Crisis Intervention", + "WGUSID: 9791" + ], + "occupations": [ + { + "major": "Protective Service Occupations", + "minor": null, + "broad": null, + "detailed": "Protective Service Occupations", + "code": "33-0000", + "name": "Protective Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": null, + "detailed": "Supervisors of Protective Service Workers", + "code": "33-1000", + "name": "Supervisors of Protective Service Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": "First-Line Supervisors of Law Enforcement Workers", + "detailed": "First-Line Supervisors of Law Enforcement Workers", + "code": "33-1010", + "name": "First-Line Supervisors of Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": "33-1010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": null, + "detailed": "Law Enforcement Workers", + "code": "33-3000", + "name": "Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Bailiffs, Correctional Officers, and Jailers", + "detailed": "Bailiffs, Correctional Officers, and Jailers", + "code": "33-3010", + "name": "Bailiffs, Correctional Officers, and Jailers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Detectives and Criminal Investigators", + "detailed": "Detectives and Criminal Investigators", + "code": "33-3020", + "name": "Detectives and Criminal Investigators", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3020", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Police Officers", + "detailed": "Police Officers", + "code": "33-3050", + "name": "Police Officers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3050", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + } + ] + }, + { + "uuid": "63cf37de-2f99-4733-baae-7d1986f44f1a", + "id": "http://localhost:8080/api/skills/63cf37de-2f99-4733-baae-7d1986f44f1a", + "skillName": "Cardiopulmonary Resuscitation", + "skillStatement": "Perform cardiopulmonary resuscitation (CPR) when needed in medical emergencies.", + "status": "draft", + "keywords": [ + "Emergency Medical Services", + "WGUSID: 9842" + ], + "occupations": [ + { + "major": "Protective Service Occupations", + "minor": null, + "broad": null, + "detailed": "Protective Service Occupations", + "code": "33-0000", + "name": "Protective Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": null, + "detailed": "Supervisors of Protective Service Workers", + "code": "33-1000", + "name": "Supervisors of Protective Service Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": "First-Line Supervisors of Law Enforcement Workers", + "detailed": "First-Line Supervisors of Law Enforcement Workers", + "code": "33-1010", + "name": "First-Line Supervisors of Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": "33-1010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": null, + "detailed": "Law Enforcement Workers", + "code": "33-3000", + "name": "Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Bailiffs, Correctional Officers, and Jailers", + "detailed": "Bailiffs, Correctional Officers, and Jailers", + "code": "33-3010", + "name": "Bailiffs, Correctional Officers, and Jailers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Detectives and Criminal Investigators", + "detailed": "Detectives and Criminal Investigators", + "code": "33-3020", + "name": "Detectives and Criminal Investigators", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3020", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Police Officers", + "detailed": "Police Officers", + "code": "33-3050", + "name": "Police Officers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3050", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + } + ] + }, + { + "uuid": "8b32a4f3-ded8-4a29-934d-a5d36ce4d4c1", + "id": "http://localhost:8080/api/skills/8b32a4f3-ded8-4a29-934d-a5d36ce4d4c1", + "skillName": "Care Provision", + "skillStatement": "Determine the appropriate care needed for a trauma victim.", + "status": "draft", + "keywords": [ + "Trauma", + "WGUSID: 10111" + ], + "occupations": [ + { + "major": "Protective Service Occupations", + "minor": null, + "broad": null, + "detailed": "Protective Service Occupations", + "code": "33-0000", + "name": "Protective Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": null, + "detailed": "Law Enforcement Workers", + "code": "33-3000", + "name": "Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Bailiffs, Correctional Officers, and Jailers", + "detailed": "Bailiffs, Correctional Officers, and Jailers", + "code": "33-3010", + "name": "Bailiffs, Correctional Officers, and Jailers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Detectives and Criminal Investigators", + "detailed": "Detectives and Criminal Investigators", + "code": "33-3020", + "name": "Detectives and Criminal Investigators", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3020", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + } + ] + }, + { + "uuid": "ce401681-5731-4d97-b4d9-8710f7c70272", + "id": "http://localhost:8080/api/skills/ce401681-5731-4d97-b4d9-8710f7c70272", + "skillName": "Case Management Application", + "skillStatement": "Apply a case management model and case management competencies to a given situation.", + "status": "draft", + "keywords": [ + "Case Management", + "WGUSID: 375" + ], + "occupations": [ + { + "major": "Management Occupations", + "minor": null, + "broad": null, + "detailed": "Management Occupations", + "code": "11-0000", + "name": "Management Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Management Occupations", + "minor": "Operations Specialties Managers", + "broad": null, + "detailed": "Operations Specialties Managers", + "code": "11-3000", + "name": "Operations Specialties Managers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Management Occupations", + "minor": "Operations Specialties Managers", + "broad": "Financial Managers", + "detailed": "Financial Managers", + "code": "11-3030", + "name": "Financial Managers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-3000", + "broadCode": "11-3030", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Management Occupations", + "minor": "Operations Specialties Managers", + "broad": "Financial Managers", + "detailed": "Financial Managers", + "code": "11-3031", + "name": "Financial Managers", + "description": "Plan, direct, or coordinate accounting, investing, banking, insurance, securities, and other financial activities of a branch, office, or department of an establishment. Excludes “Financial Risk Specialists” (13-2054).", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-3000", + "broadCode": "11-3030", + "detailedCode": "11-3031", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": null, + "broad": null, + "detailed": "Business and Financial Operations Occupations", + "code": "13-0000", + "name": "Business and Financial Operations Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Business Operations Specialists", + "broad": null, + "detailed": "Business Operations Specialists", + "code": "13-1000", + "name": "Business Operations Specialists", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Business Operations Specialists", + "broad": "Buyers and Purchasing Agents", + "detailed": "Buyers and Purchasing Agents", + "code": "13-1020", + "name": "Buyers and Purchasing Agents", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-1000", + "broadCode": "13-1020", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Business Operations Specialists", + "broad": "Buyers and Purchasing Agents", + "detailed": "Buyers and Purchasing Agents, Farm Products", + "code": "13-1021", + "name": "Buyers and Purchasing Agents, Farm Products", + "description": "Purchase farm products either for further processing or resale. Includes tree farm contractors, grain brokers and market operators, grain buyers, and tobacco buyers. May negotiate contracts.", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-1000", + "broadCode": "13-1020", + "detailedCode": "13-1021", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Business Operations Specialists", + "broad": "Buyers and Purchasing Agents", + "detailed": "Wholesale and Retail Buyers, Except Farm Products", + "code": "13-1022", + "name": "Wholesale and Retail Buyers, Except Farm Products", + "description": "Buy merchandise or commodities, other than farm products, for resale to consumers at the wholesale or retail level, including both durable and nondurable goods. Analyze past buying trends, sales records, price, and quality of merchandise to determine value and yield. Select, order, and authorize payment for merchandise according to contractual agreements. May conduct meetings with sales personnel and introduce new products. May negotiate contracts. Includes assistant wholesale and retail buyers of nonfarm products. Excludes “Procurement Clerks” (43-3061).", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-1000", + "broadCode": "13-1020", + "detailedCode": "13-1022", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Business Operations Specialists", + "broad": "Buyers and Purchasing Agents", + "detailed": "Purchasing Agents, Except Wholesale, Retail, and Farm Products", + "code": "13-1023", + "name": "Purchasing Agents, Except Wholesale, Retail, and Farm Products", + "description": "Purchase machinery, equipment, tools, parts, supplies, or services necessary for the operation of an establishment. Purchase raw or semifinished materials for manufacturing. May negotiate contracts. Excludes “Buyers and Purchasing Agents, Farm Products” (13-1021) and “Wholesale and Retail Buyers, Except Farm Products” (13-1022).", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-1000", + "broadCode": "13-1020", + "detailedCode": "13-1023", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Business Operations Specialists", + "broad": "Management Analysts", + "detailed": "Management Analysts", + "code": "13-1110", + "name": "Management Analysts", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-1000", + "broadCode": "13-1110", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Business Operations Specialists", + "broad": "Management Analysts", + "detailed": "Management Analysts", + "code": "13-1111", + "name": "Management Analysts", + "description": "Conduct organizational studies and evaluations, design systems and procedures, conduct work simplification and measurement studies, and prepare operations and procedures manuals to assist management in operating more efficiently and effectively. Includes program analysts and management consultants. Excludes “Computer Systems Analysts” (15-1211) and “Operations Research Analysts” (15-2031).", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-1000", + "broadCode": "13-1110", + "detailedCode": "13-1111", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Business Operations Specialists", + "broad": "Market Research Analysts and Marketing Specialists", + "detailed": "Market Research Analysts and Marketing Specialists", + "code": "13-1160", + "name": "Market Research Analysts and Marketing Specialists", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-1000", + "broadCode": "13-1160", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Business Operations Specialists", + "broad": "Market Research Analysts and Marketing Specialists", + "detailed": "Market Research Analysts and Marketing Specialists", + "code": "13-1161", + "name": "Market Research Analysts and Marketing Specialists", + "description": "Research conditions in local, regional, national, or online markets. Gather information to determine potential sales of a product or service, or plan a marketing or advertising campaign. May gather information on competitors, prices, sales, and methods of marketing and distribution. May employ search marketing tactics, analyze web metrics, and develop recommendations to increase search engine ranking and visibility to target markets. Excludes “Web and Digital Interface Designers” (15-1255), “Art Directors” (27-1011), “Graphic Designers” (27-1024), and “Public Relations Specialists” (27-3031).", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-1000", + "broadCode": "13-1160", + "detailedCode": "13-1161", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Financial Specialists", + "broad": null, + "detailed": "Financial Specialists", + "code": "13-2000", + "name": "Financial Specialists", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-2000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Financial Specialists", + "broad": "Accountants and Auditors", + "detailed": "Accountants and Auditors", + "code": "13-2010", + "name": "Accountants and Auditors", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-2000", + "broadCode": "13-2010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Financial Specialists", + "broad": "Accountants and Auditors", + "detailed": "Accountants and Auditors", + "code": "13-2011", + "name": "Accountants and Auditors", + "description": "Examine, analyze, and interpret accounting records to prepare financial statements, give advice, or audit and evaluate statements prepared by others. Install or advise on systems of recording costs or other financial and budgetary data. Excludes “Tax Examiners and Collectors, and Revenue Agents” (13-2081).", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-2000", + "broadCode": "13-2010", + "detailedCode": "13-2011", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Financial Specialists", + "broad": "Budget Analysts", + "detailed": "Budget Analysts", + "code": "13-2030", + "name": "Budget Analysts", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-2000", + "broadCode": "13-2030", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Financial Specialists", + "broad": "Budget Analysts", + "detailed": "Budget Analysts", + "code": "13-2031", + "name": "Budget Analysts", + "description": "Examine budget estimates for completeness, accuracy, and conformance with procedures and regulations. Analyze budgeting and accounting reports. Excludes “Financial and Investment Analysts” (13-2051).", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-2000", + "broadCode": "13-2030", + "detailedCode": "13-2031", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Financial Specialists", + "broad": "Credit Analysts", + "detailed": "Credit Analysts", + "code": "13-2040", + "name": "Credit Analysts", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-2000", + "broadCode": "13-2040", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Financial Specialists", + "broad": "Credit Analysts", + "detailed": "Credit Analysts", + "code": "13-2041", + "name": "Credit Analysts", + "description": "Analyze credit data and financial statements of individuals or firms to determine the degree of risk involved in extending credit or lending money. Prepare reports with credit information for use in decisionmaking. Excludes “Financial Risk Specialists” (13-2054).", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-2000", + "broadCode": "13-2040", + "detailedCode": "13-2041", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Financial Specialists", + "broad": "Financial Examiners", + "detailed": "Financial Examiners", + "code": "13-2060", + "name": "Financial Examiners", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-2000", + "broadCode": "13-2060", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Financial Specialists", + "broad": "Financial Examiners", + "detailed": "Financial Examiners", + "code": "13-2061", + "name": "Financial Examiners", + "description": "Enforce or ensure compliance with laws and regulations governing financial and securities institutions and financial and real estate transactions. May examine, verify, or authenticate records.", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-2000", + "broadCode": "13-2060", + "detailedCode": "13-2061", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Financial Specialists", + "broad": "Tax Examiners, Collectors and Preparers, and Revenue Agents", + "detailed": "Tax Examiners, Collectors and Preparers, and Revenue Agents", + "code": "13-2080", + "name": "Tax Examiners, Collectors and Preparers, and Revenue Agents", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-2000", + "broadCode": "13-2080", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Financial Specialists", + "broad": "Tax Examiners, Collectors and Preparers, and Revenue Agents", + "detailed": "Tax Examiners and Collectors, and Revenue Agents", + "code": "13-2081", + "name": "Tax Examiners and Collectors, and Revenue Agents", + "description": "Determine tax liability or collect taxes from individuals or business firms according to prescribed laws and regulations.", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-2000", + "broadCode": "13-2080", + "detailedCode": "13-2081", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Computer and Mathematical Occupations", + "minor": null, + "broad": null, + "detailed": "Computer and Mathematical Occupations", + "code": "15-0000", + "name": "Computer and Mathematical Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "15-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Computer and Mathematical Occupations", + "minor": "Mathematical Science Occupations", + "broad": null, + "detailed": "Mathematical Science Occupations", + "code": "15-2000", + "name": "Mathematical Science Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "15-0000", + "minorCode": "15-2000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Computer and Mathematical Occupations", + "minor": "Mathematical Science Occupations", + "broad": "Statisticians", + "detailed": "Statisticians", + "code": "15-2040", + "name": "Statisticians", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "15-0000", + "minorCode": "15-2000", + "broadCode": "15-2040", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Computer and Mathematical Occupations", + "minor": "Mathematical Science Occupations", + "broad": "Statisticians", + "detailed": "Statisticians", + "code": "15-2041", + "name": "Statisticians", + "description": "Develop or apply mathematical or statistical theory and methods to collect, organize, interpret, and summarize numerical data to provide usable information. May specialize in fields such as biostatistics, agricultural statistics, business statistics, or economic statistics. Includes mathematical and survey statisticians. Excludes “Survey Researchers” (19-3022).", + "framework": "bls", + "url": null, + "majorCode": "15-0000", + "minorCode": "15-2000", + "broadCode": "15-2040", + "detailedCode": "15-2041", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Life, Physical, and Social Science Occupations", + "minor": null, + "broad": null, + "detailed": "Life, Physical, and Social Science Occupations", + "code": "19-0000", + "name": "Life, Physical, and Social Science Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "19-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Life, Physical, and Social Science Occupations", + "minor": "Social Scientists and Related Workers", + "broad": null, + "detailed": "Social Scientists and Related Workers", + "code": "19-3000", + "name": "Social Scientists and Related Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "19-0000", + "minorCode": "19-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Life, Physical, and Social Science Occupations", + "minor": "Social Scientists and Related Workers", + "broad": "Economists", + "detailed": "Economists", + "code": "19-3010", + "name": "Economists", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "19-0000", + "minorCode": "19-3000", + "broadCode": "19-3010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Life, Physical, and Social Science Occupations", + "minor": "Social Scientists and Related Workers", + "broad": "Economists", + "detailed": "Economists", + "code": "19-3011", + "name": "Economists", + "description": "Conduct research, prepare reports, or formulate plans to address economic problems related to the production and distribution of goods and services or monetary and fiscal policy. May collect and process economic and statistical data using sampling techniques and econometric methods. Excludes “Market Research Analysts and Marketing Specialists” (13-1161).", + "framework": "bls", + "url": null, + "majorCode": "19-0000", + "minorCode": "19-3000", + "broadCode": "19-3010", + "detailedCode": "19-3011", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Life, Physical, and Social Science Occupations", + "minor": "Life, Physical, and Social Science Technicians", + "broad": null, + "detailed": "Life, Physical, and Social Science Technicians", + "code": "19-4000", + "name": "Life, Physical, and Social Science Technicians", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "19-0000", + "minorCode": "19-4000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Life, Physical, and Social Science Occupations", + "minor": "Life, Physical, and Social Science Technicians", + "broad": "Social Science Research Assistants", + "detailed": "Social Science Research Assistants", + "code": "19-4060", + "name": "Social Science Research Assistants", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "19-0000", + "minorCode": "19-4000", + "broadCode": "19-4060", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Life, Physical, and Social Science Occupations", + "minor": "Life, Physical, and Social Science Technicians", + "broad": "Social Science Research Assistants", + "detailed": "Social Science Research Assistants", + "code": "19-4061", + "name": "Social Science Research Assistants", + "description": "Assist social scientists in laboratory, survey, and other social science research. May help prepare findings for publication and assist in laboratory analysis, quality control, or data management. Excludes “Teaching Assistants, Postsecondary” (25-9044).", + "framework": "bls", + "url": null, + "majorCode": "19-0000", + "minorCode": "19-4000", + "broadCode": "19-4060", + "detailedCode": "19-4061", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Community and Social Service Occupations", + "minor": null, + "broad": null, + "detailed": "Community and Social Service Occupations", + "code": "21-0000", + "name": "Community and Social Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "21-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Community and Social Service Occupations", + "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", + "broad": null, + "detailed": "Counselors, Social Workers, and Other Community and Social Service Specialists", + "code": "21-1000", + "name": "Counselors, Social Workers, and Other Community and Social Service Specialists", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "21-0000", + "minorCode": "21-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Community and Social Service Occupations", + "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", + "broad": "Miscellaneous Community and Social Service Specialists", + "detailed": "Miscellaneous Community and Social Service Specialists", + "code": "21-1090", + "name": "Miscellaneous Community and Social Service Specialists", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "21-0000", + "minorCode": "21-1000", + "broadCode": "21-1090", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Community and Social Service Occupations", + "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", + "broad": "Miscellaneous Community and Social Service Specialists", + "detailed": "Community Health Workers", + "code": "21-1094", + "name": "Community Health Workers", + "description": "Promote health within a community by assisting individuals to adopt healthy behaviors. Serve as an advocate for the health needs of individuals by assisting community residents in effectively communicating with healthcare providers or social service agencies. Act as liaison or advocate and implement programs that promote, maintain, and improve individual and overall community health. May deliver health-related preventive services such as blood pressure, glaucoma, and hearing screenings. May collect data to help identify community health needs. Excludes “Health Education Specialists” (21-1091).", + "framework": "bls", + "url": null, + "majorCode": "21-0000", + "minorCode": "21-1000", + "broadCode": "21-1090", + "detailedCode": "21-1094", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Protective Service Occupations", + "minor": null, + "broad": null, + "detailed": "Protective Service Occupations", + "code": "33-0000", + "name": "Protective Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": null, + "detailed": "Law Enforcement Workers", + "code": "33-3000", + "name": "Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Bailiffs, Correctional Officers, and Jailers", + "detailed": "Bailiffs, Correctional Officers, and Jailers", + "code": "33-3010", + "name": "Bailiffs, Correctional Officers, and Jailers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + } + ], + "standards": [ + "NICE_AN_LNG" + ] + }, + { + "uuid": "054ca304-14c4-4710-afa7-12f66eb9163f", + "id": "http://localhost:8080/api/skills/054ca304-14c4-4710-afa7-12f66eb9163f", + "skillName": "Chain-of-Survival Approach Incorporation", + "skillStatement": "Use the chain-of-survival approach when providing first aid to a cardiac arrest victim.", + "status": "draft", + "keywords": [ + "Medical Assistant", + "First Aid", + "WGUSID: 9110" + ], + "occupations": [ + { + "major": "Community and Social Service Occupations", + "minor": null, + "broad": null, + "detailed": "Community and Social Service Occupations", + "code": "21-0000", + "name": "Community and Social Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "21-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Community and Social Service Occupations", + "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", + "broad": null, + "detailed": "Counselors, Social Workers, and Other Community and Social Service Specialists", + "code": "21-1000", + "name": "Counselors, Social Workers, and Other Community and Social Service Specialists", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "21-0000", + "minorCode": "21-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Community and Social Service Occupations", + "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", + "broad": "Counselors", + "detailed": "Counselors", + "code": "21-1010", + "name": "Counselors", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "21-0000", + "minorCode": "21-1000", + "broadCode": "21-1010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Community and Social Service Occupations", + "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", + "broad": "Counselors", + "detailed": "Rehabilitation Counselors", + "code": "21-1015", + "name": "Rehabilitation Counselors", + "description": "Counsel individuals to maximize the independence and employability of persons coping with personal, social, and vocational difficulties that result from birth defects, illness, disease, accidents, aging, or the stress of daily life. Coordinate activities for residents of care and treatment facilities. Assess client needs and design and implement rehabilitation programs that may include personal and vocational counseling, training, and job placement. Excludes “Occupational Therapists” (29-1122).", + "framework": "bls", + "url": null, + "majorCode": "21-0000", + "minorCode": "21-1000", + "broadCode": "21-1010", + "detailedCode": "21-1015", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Community and Social Service Occupations", + "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", + "broad": "Social Workers", + "detailed": "Social Workers", + "code": "21-1020", + "name": "Social Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "21-0000", + "minorCode": "21-1000", + "broadCode": "21-1020", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Community and Social Service Occupations", + "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", + "broad": "Social Workers", + "detailed": "Healthcare Social Workers", + "code": "21-1022", + "name": "Healthcare Social Workers", + "description": "Provide individuals, families, and groups with the psychosocial support needed to cope with chronic, acute, or terminal illnesses. Services include advising family caregivers. Provide patients with information and counseling, and make referrals for other services. May also provide case and care management or interventions designed to promote health, prevent disease, and address barriers to access to healthcare.", + "framework": "bls", + "url": null, + "majorCode": "21-0000", + "minorCode": "21-1000", + "broadCode": "21-1020", + "detailedCode": "21-1022", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Community and Social Service Occupations", + "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", + "broad": "Miscellaneous Community and Social Service Specialists", + "detailed": "Miscellaneous Community and Social Service Specialists", + "code": "21-1090", + "name": "Miscellaneous Community and Social Service Specialists", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "21-0000", + "minorCode": "21-1000", + "broadCode": "21-1090", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Community and Social Service Occupations", + "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", + "broad": "Miscellaneous Community and Social Service Specialists", + "detailed": "Community Health Workers", + "code": "21-1094", + "name": "Community Health Workers", + "description": "Promote health within a community by assisting individuals to adopt healthy behaviors. Serve as an advocate for the health needs of individuals by assisting community residents in effectively communicating with healthcare providers or social service agencies. Act as liaison or advocate and implement programs that promote, maintain, and improve individual and overall community health. May deliver health-related preventive services such as blood pressure, glaucoma, and hearing screenings. May collect data to help identify community health needs. Excludes “Health Education Specialists” (21-1091).", + "framework": "bls", + "url": null, + "majorCode": "21-0000", + "minorCode": "21-1000", + "broadCode": "21-1090", + "detailedCode": "21-1094", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Healthcare Practitioners and Technical Occupations", + "minor": null, + "broad": null, + "detailed": "Healthcare Practitioners and Technical Occupations", + "code": "29-0000", + "name": "Healthcare Practitioners and Technical Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "29-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Healthcare Practitioners and Technical Occupations", + "minor": "Healthcare Diagnosing or Treating Practitioners", + "broad": null, + "detailed": "Healthcare Diagnosing or Treating Practitioners", + "code": "29-1000", + "name": "Healthcare Diagnosing or Treating Practitioners", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "29-0000", + "minorCode": "29-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Healthcare Practitioners and Technical Occupations", + "minor": "Healthcare Diagnosing or Treating Practitioners", + "broad": "Optometrists", + "detailed": "Optometrists", + "code": "29-1040", + "name": "Optometrists", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "29-0000", + "minorCode": "29-1000", + "broadCode": "29-1040", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Healthcare Practitioners and Technical Occupations", + "minor": "Healthcare Diagnosing or Treating Practitioners", + "broad": "Optometrists", + "detailed": "Optometrists", + "code": "29-1041", + "name": "Optometrists", + "description": "Diagnose, manage, and treat conditions and diseases of the human eye and visual system. Examine eyes and visual system, diagnose problems or impairments, prescribe corrective lenses, and provide treatment. May prescribe therapeutic drugs to treat specific eye conditions. Ophthalmologists are included in “Ophthalmologists, Except Pediatric” (29-1241).", + "framework": "bls", + "url": null, + "majorCode": "29-0000", + "minorCode": "29-1000", + "broadCode": "29-1040", + "detailedCode": "29-1041", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Healthcare Practitioners and Technical Occupations", + "minor": "Healthcare Diagnosing or Treating Practitioners", + "broad": "Nurse Practitioners", + "detailed": "Nurse Practitioners", + "code": "29-1170", + "name": "Nurse Practitioners", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "29-0000", + "minorCode": "29-1000", + "broadCode": "29-1170", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Healthcare Practitioners and Technical Occupations", + "minor": "Healthcare Diagnosing or Treating Practitioners", + "broad": "Nurse Practitioners", + "detailed": "Nurse Practitioners", + "code": "29-1171", + "name": "Nurse Practitioners", + "description": "Diagnose and treat acute, episodic, or chronic illness, independently or as part of a healthcare team. May focus on health promotion and disease prevention. May order, perform, or interpret diagnostic tests such as lab work and x rays. May prescribe medication. Must be registered nurses who have specialized graduate education.", + "framework": "bls", + "url": null, + "majorCode": "29-0000", + "minorCode": "29-1000", + "broadCode": "29-1170", + "detailedCode": "29-1171", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Healthcare Support Occupations", + "minor": null, + "broad": null, + "detailed": "Healthcare Support Occupations", + "code": "31-0000", + "name": "Healthcare Support Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "31-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Healthcare Support Occupations", + "minor": "Home Health and Personal Care Aides; and Nursing Assistants, Orderlies, and Psychiatric Aides", + "broad": null, + "detailed": "Home Health and Personal Care Aides; and Nursing Assistants, Orderlies, and Psychiatric Aides", + "code": "31-1100", + "name": "Home Health and Personal Care Aides; and Nursing Assistants, Orderlies, and Psychiatric Aides", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "31-0000", + "minorCode": "31-1100", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Healthcare Support Occupations", + "minor": "Home Health and Personal Care Aides; and Nursing Assistants, Orderlies, and Psychiatric Aides", + "broad": "Home Health and Personal Care Aides", + "detailed": "Home Health and Personal Care Aides", + "code": "31-1120", + "name": "Home Health and Personal Care Aides", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "31-0000", + "minorCode": "31-1100", + "broadCode": "31-1120", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Healthcare Support Occupations", + "minor": "Home Health and Personal Care Aides; and Nursing Assistants, Orderlies, and Psychiatric Aides", + "broad": "Nursing Assistants, Orderlies, and Psychiatric Aides", + "detailed": "Nursing Assistants, Orderlies, and Psychiatric Aides", + "code": "31-1130", + "name": "Nursing Assistants, Orderlies, and Psychiatric Aides", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "31-0000", + "minorCode": "31-1100", + "broadCode": "31-1130", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Healthcare Support Occupations", + "minor": "Home Health and Personal Care Aides; and Nursing Assistants, Orderlies, and Psychiatric Aides", + "broad": "Nursing Assistants, Orderlies, and Psychiatric Aides", + "detailed": "Nursing Assistants", + "code": "31-1131", + "name": "Nursing Assistants", + "description": "Provide or assist with basic care or support under the direction of onsite licensed nursing staff. Perform duties such as monitoring of health status, feeding, bathing, dressing, grooming, toileting, or ambulation of patients in a health or nursing facility. May include medication administration and other health-related tasks. Includes nursing care attendants, nursing aides, and nursing attendants. Excludes “Home Health Aides” (31-1121), “Personal Care Aides” (31-1122), “Orderlies” (31-1132), and “Psychiatric Aides” (31-1133).", + "framework": "bls", + "url": null, + "majorCode": "31-0000", + "minorCode": "31-1100", + "broadCode": "31-1130", + "detailedCode": "31-1131", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Healthcare Support Occupations", + "minor": "Other Healthcare Support Occupations", + "broad": null, + "detailed": "Other Healthcare Support Occupations", + "code": "31-9000", + "name": "Other Healthcare Support Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "31-0000", + "minorCode": "31-9000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Healthcare Support Occupations", + "minor": "Other Healthcare Support Occupations", + "broad": "Miscellaneous Healthcare Support Occupations", + "detailed": "Miscellaneous Healthcare Support Occupations", + "code": "31-9090", + "name": "Miscellaneous Healthcare Support Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "31-0000", + "minorCode": "31-9000", + "broadCode": "31-9090", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Healthcare Support Occupations", + "minor": "Other Healthcare Support Occupations", + "broad": "Miscellaneous Healthcare Support Occupations", + "detailed": "Medical Assistants", + "code": "31-9092", + "name": "Medical Assistants", + "description": "Perform administrative and certain clinical duties under the direction of a physician. Administrative duties may include scheduling appointments, maintaining medical records, billing, and coding information for insurance purposes. Clinical duties may include taking and recording vital signs and medical histories, preparing patients for examination, drawing blood, and administering medications as directed by physician. Excludes “Physician Assistants” (29-1071).", + "framework": "bls", + "url": null, + "majorCode": "31-0000", + "minorCode": "31-9000", + "broadCode": "31-9090", + "detailedCode": "31-9092", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Protective Service Occupations", + "minor": null, + "broad": null, + "detailed": "Protective Service Occupations", + "code": "33-0000", + "name": "Protective Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": null, + "detailed": "Supervisors of Protective Service Workers", + "code": "33-1000", + "name": "Supervisors of Protective Service Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": "First-Line Supervisors of Law Enforcement Workers", + "detailed": "First-Line Supervisors of Law Enforcement Workers", + "code": "33-1010", + "name": "First-Line Supervisors of Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": "33-1010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": null, + "detailed": "Law Enforcement Workers", + "code": "33-3000", + "name": "Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Bailiffs, Correctional Officers, and Jailers", + "detailed": "Bailiffs, Correctional Officers, and Jailers", + "code": "33-3010", + "name": "Bailiffs, Correctional Officers, and Jailers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Police Officers", + "detailed": "Police Officers", + "code": "33-3050", + "name": "Police Officers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3050", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": null, + "minor": null, + "broad": null, + "detailed": null, + "code": "21-1018", + "name": null, + "description": null, + "framework": null, + "url": null, + "majorCode": "21-0000", + "minorCode": "21-1000", + "broadCode": "21-1010", + "detailedCode": "21-1018", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + } + ] + }, + { + "uuid": "3352da1f-7bba-48cc-85c7-e0700ec8d691", + "id": "http://localhost:8080/api/skills/3352da1f-7bba-48cc-85c7-e0700ec8d691", + "skillName": "Clerical Work Completion", + "skillStatement": "Complete daily clerical work activities.", + "status": "draft", + "keywords": [ + "Clerical Works", + "WGUSID: 5246.1" + ], + "occupations": [ + { + "major": "Business and Financial Operations Occupations", + "minor": null, + "broad": null, + "detailed": "Business and Financial Operations Occupations", + "code": "13-0000", + "name": "Business and Financial Operations Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Business Operations Specialists", + "broad": null, + "detailed": "Business Operations Specialists", + "code": "13-1000", + "name": "Business Operations Specialists", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Business Operations Specialists", + "broad": "Human Resources Workers", + "detailed": "Human Resources Workers", + "code": "13-1070", + "name": "Human Resources Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-1000", + "broadCode": "13-1070", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Business Operations Specialists", + "broad": "Human Resources Workers", + "detailed": "Human Resources Specialists", + "code": "13-1071", + "name": "Human Resources Specialists", + "description": "Recruit, screen, interview, or place individuals within an organization. May perform other activities in multiple human resources areas. Excludes “Compensation, Benefits, and Job Analysis Specialists” (13-1141) and “Training and Development Specialists” (13-1151).", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-1000", + "broadCode": "13-1070", + "detailedCode": "13-1071", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Life, Physical, and Social Science Occupations", + "minor": null, + "broad": null, + "detailed": "Life, Physical, and Social Science Occupations", + "code": "19-0000", + "name": "Life, Physical, and Social Science Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "19-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Life, Physical, and Social Science Occupations", + "minor": "Life, Physical, and Social Science Technicians", + "broad": null, + "detailed": "Life, Physical, and Social Science Technicians", + "code": "19-4000", + "name": "Life, Physical, and Social Science Technicians", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "19-0000", + "minorCode": "19-4000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Life, Physical, and Social Science Occupations", + "minor": "Life, Physical, and Social Science Technicians", + "broad": "Miscellaneous Life, Physical, and Social Science Technicians", + "detailed": "Miscellaneous Life, Physical, and Social Science Technicians", + "code": "19-4090", + "name": "Miscellaneous Life, Physical, and Social Science Technicians", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "19-0000", + "minorCode": "19-4000", + "broadCode": "19-4090", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": null, + "broad": null, + "detailed": "Protective Service Occupations", + "code": "33-0000", + "name": "Protective Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": null, + "detailed": "Supervisors of Protective Service Workers", + "code": "33-1000", + "name": "Supervisors of Protective Service Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": "First-Line Supervisors of Law Enforcement Workers", + "detailed": "First-Line Supervisors of Law Enforcement Workers", + "code": "33-1010", + "name": "First-Line Supervisors of Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": "33-1010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": null, + "detailed": "Law Enforcement Workers", + "code": "33-3000", + "name": "Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Bailiffs, Correctional Officers, and Jailers", + "detailed": "Bailiffs, Correctional Officers, and Jailers", + "code": "33-3010", + "name": "Bailiffs, Correctional Officers, and Jailers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Detectives and Criminal Investigators", + "detailed": "Detectives and Criminal Investigators", + "code": "33-3020", + "name": "Detectives and Criminal Investigators", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3020", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + } + ] + }, + { + "uuid": "d31935ef-eebc-4f4c-935f-d728088780fa", + "id": "http://localhost:8080/api/skills/d31935ef-eebc-4f4c-935f-d728088780fa", + "skillName": "Closed-Circuit Television (CCTV) Monitoring", + "skillStatement": "Monitor closed-circuit television (CCTV) system for alarm device activations.", + "status": "draft", + "keywords": [ + "Alarm Devices", + "WGUSID: 9707" + ], + "occupations": [ + { + "major": "Protective Service Occupations", + "minor": null, + "broad": null, + "detailed": "Protective Service Occupations", + "code": "33-0000", + "name": "Protective Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": null, + "detailed": "Supervisors of Protective Service Workers", + "code": "33-1000", + "name": "Supervisors of Protective Service Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": "First-Line Supervisors of Law Enforcement Workers", + "detailed": "First-Line Supervisors of Law Enforcement Workers", + "code": "33-1010", + "name": "First-Line Supervisors of Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": "33-1010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": null, + "detailed": "Law Enforcement Workers", + "code": "33-3000", + "name": "Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Bailiffs, Correctional Officers, and Jailers", + "detailed": "Bailiffs, Correctional Officers, and Jailers", + "code": "33-3010", + "name": "Bailiffs, Correctional Officers, and Jailers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + } + ] + }, + { + "uuid": "dd88d320-cb78-40a9-82ba-711fd926b6c7", + "id": "http://localhost:8080/api/skills/dd88d320-cb78-40a9-82ba-711fd926b6c7", + "skillName": "Collaborate to Resolve Issues", + "skillStatement": "Collaborate with team members to resolve issues.", + "status": "draft", + "keywords": [ + "Social Emotional Learning (SEL): General", + "Social Emotional Learning (SEL): Interpersonal Communication", + "Team Oriented", + "Teamwork", + "Team Building", + "Team Management", + "MS Office", + "WGUSID: 8737" + ], + "occupations": [ + { + "major": "Management Occupations", + "minor": null, + "broad": null, + "detailed": "Management Occupations", + "code": "11-0000", + "name": "Management Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Management Occupations", + "minor": "Top Executives", + "broad": null, + "detailed": "Top Executives", + "code": "11-1000", + "name": "Top Executives", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Management Occupations", + "minor": "Top Executives", + "broad": "Chief Executives", + "detailed": "Chief Executives", + "code": "11-1010", + "name": "Chief Executives", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-1000", + "broadCode": "11-1010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Management Occupations", + "minor": "Top Executives", + "broad": "Chief Executives", + "detailed": "Chief Executives", + "code": "11-1011", + "name": "Chief Executives", + "description": "Determine and formulate policies and provide overall direction of companies or private and public sector organizations within guidelines set up by a board of directors or similar governing body. Plan, direct, or coordinate operational activities at the highest level of management with the help of subordinate executives and staff managers.", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-1000", + "broadCode": "11-1010", + "detailedCode": "11-1011", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Management Occupations", + "minor": "Top Executives", + "broad": "General and Operations Managers", + "detailed": "General and Operations Managers", + "code": "11-1020", + "name": "General and Operations Managers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-1000", + "broadCode": "11-1020", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Management Occupations", + "minor": "Top Executives", + "broad": "General and Operations Managers", + "detailed": "General and Operations Managers", + "code": "11-1021", + "name": "General and Operations Managers", + "description": "Plan, direct, or coordinate the operations of public or private sector organizations, overseeing multiple departments or locations. Duties and responsibilities include formulating policies, managing daily operations, and planning the use of materials and human resources, but are too diverse and general in nature to be classified in any one functional area of management or administration, such as personnel, purchasing, or administrative services. Usually manage through subordinate supervisors. Excludes First-Line Supervisors.", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-1000", + "broadCode": "11-1020", + "detailedCode": "11-1021", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Management Occupations", + "minor": "Advertising, Marketing, Promotions, Public Relations, and Sales Managers", + "broad": null, + "detailed": "Advertising, Marketing, Promotions, Public Relations, and Sales Managers", + "code": "11-2000", + "name": "Advertising, Marketing, Promotions, Public Relations, and Sales Managers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-2000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Management Occupations", + "minor": "Advertising, Marketing, Promotions, Public Relations, and Sales Managers", + "broad": "Advertising and Promotions Managers", + "detailed": "Advertising and Promotions Managers", + "code": "11-2010", + "name": "Advertising and Promotions Managers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-2000", + "broadCode": "11-2010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Management Occupations", + "minor": "Advertising, Marketing, Promotions, Public Relations, and Sales Managers", + "broad": "Advertising and Promotions Managers", + "detailed": "Advertising and Promotions Managers", + "code": "11-2011", + "name": "Advertising and Promotions Managers", + "description": "Plan, direct, or coordinate advertising policies and programs or produce collateral materials, such as posters, contests, coupons, or giveaways, to create extra interest in the purchase of a product or service for a department, an entire organization, or on an account basis.", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-2000", + "broadCode": "11-2010", + "detailedCode": "11-2011", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Management Occupations", + "minor": "Advertising, Marketing, Promotions, Public Relations, and Sales Managers", + "broad": "Marketing and Sales Managers", + "detailed": "Marketing and Sales Managers", + "code": "11-2020", + "name": "Marketing and Sales Managers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-2000", + "broadCode": "11-2020", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Management Occupations", + "minor": "Advertising, Marketing, Promotions, Public Relations, and Sales Managers", + "broad": "Marketing and Sales Managers", + "detailed": "Marketing Managers", + "code": "11-2021", + "name": "Marketing Managers", + "description": "Plan, direct, or coordinate marketing policies and programs, such as determining the demand for products and services offered by a firm and its competitors, and identify potential customers. Develop pricing strategies with the goal of maximizing the firm’s profits or share of the market while ensuring the firm’s customers are satisfied. Oversee product development or monitor trends that indicate the need for new products and services.", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-2000", + "broadCode": "11-2020", + "detailedCode": "11-2021", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Management Occupations", + "minor": "Advertising, Marketing, Promotions, Public Relations, and Sales Managers", + "broad": "Marketing and Sales Managers", + "detailed": "Sales Managers", + "code": "11-2022", + "name": "Sales Managers", + "description": "Plan, direct, or coordinate the actual distribution or movement of a product or service to the customer. Coordinate sales distribution by establishing sales territories, quotas, and goals and establish training programs for sales representatives. Analyze sales statistics gathered by staff to determine sales potential and inventory requirements and monitor the preferences of customers.", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-2000", + "broadCode": "11-2020", + "detailedCode": "11-2022", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Management Occupations", + "minor": "Advertising, Marketing, Promotions, Public Relations, and Sales Managers", + "broad": "Public Relations and Fundraising Managers", + "detailed": "Public Relations and Fundraising Managers", + "code": "11-2030", + "name": "Public Relations and Fundraising Managers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-2000", + "broadCode": "11-2030", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Management Occupations", + "minor": "Operations Specialties Managers", + "broad": null, + "detailed": "Operations Specialties Managers", + "code": "11-3000", + "name": "Operations Specialties Managers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Management Occupations", + "minor": "Operations Specialties Managers", + "broad": "Computer and Information Systems Managers", + "detailed": "Computer and Information Systems Managers", + "code": "11-3020", + "name": "Computer and Information Systems Managers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-3000", + "broadCode": "11-3020", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Management Occupations", + "minor": "Operations Specialties Managers", + "broad": "Computer and Information Systems Managers", + "detailed": "Computer and Information Systems Managers", + "code": "11-3021", + "name": "Computer and Information Systems Managers", + "description": "Plan, direct, or coordinate activities in such fields as electronic data processing, information systems, systems analysis, and computer programming. Excludes “Computer Occupations” (15-1211 through 15-1299).", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-3000", + "broadCode": "11-3020", + "detailedCode": "11-3021", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Management Occupations", + "minor": "Other Management Occupations", + "broad": null, + "detailed": "Other Management Occupations", + "code": "11-9000", + "name": "Other Management Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-9000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Management Occupations", + "minor": "Other Management Occupations", + "broad": "Construction Managers", + "detailed": "Construction Managers", + "code": "11-9020", + "name": "Construction Managers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-9000", + "broadCode": "11-9020", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Management Occupations", + "minor": "Other Management Occupations", + "broad": "Construction Managers", + "detailed": "Construction Managers", + "code": "11-9021", + "name": "Construction Managers", + "description": "Plan, direct, or coordinate, usually through subordinate supervisory personnel, activities concerned with the construction and maintenance of structures, facilities, and systems. Participate in the conceptual development of a construction project and oversee its organization, scheduling, budgeting, and implementation. Includes managers in specialized construction fields, such as carpentry or plumbing.", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-9000", + "broadCode": "11-9020", + "detailedCode": "11-9021", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Management Occupations", + "minor": "Other Management Occupations", + "broad": "Education and Childcare Administrators", + "detailed": "Education and Childcare Administrators", + "code": "11-9030", + "name": "Education and Childcare Administrators", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-9000", + "broadCode": "11-9030", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Management Occupations", + "minor": "Other Management Occupations", + "broad": "Medical and Health Services Managers", + "detailed": "Medical and Health Services Managers", + "code": "11-9110", + "name": "Medical and Health Services Managers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-9000", + "broadCode": "11-9110", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Management Occupations", + "minor": "Other Management Occupations", + "broad": "Medical and Health Services Managers", + "detailed": "Medical and Health Services Managers", + "code": "11-9111", + "name": "Medical and Health Services Managers", + "description": "Plan, direct, or coordinate medical and health services in hospitals, clinics, managed care organizations, public health agencies, or similar organizations.", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-9000", + "broadCode": "11-9110", + "detailedCode": "11-9111", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Management Occupations", + "minor": "Other Management Occupations", + "broad": "Social and Community Service Managers", + "detailed": "Social and Community Service Managers", + "code": "11-9150", + "name": "Social and Community Service Managers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-9000", + "broadCode": "11-9150", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Management Occupations", + "minor": "Other Management Occupations", + "broad": "Social and Community Service Managers", + "detailed": "Social and Community Service Managers", + "code": "11-9151", + "name": "Social and Community Service Managers", + "description": "Plan, direct, or coordinate the activities of a social service program or community outreach organization. Oversee the program or organization’s budget and policies regarding participant involvement, program requirements, and benefits. Work may involve directing social workers, counselors, or probation officers.", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-9000", + "broadCode": "11-9150", + "detailedCode": "11-9151", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Life, Physical, and Social Science Occupations", + "minor": null, + "broad": null, + "detailed": "Life, Physical, and Social Science Occupations", + "code": "19-0000", + "name": "Life, Physical, and Social Science Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "19-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Life, Physical, and Social Science Occupations", + "minor": "Life, Physical, and Social Science Technicians", + "broad": null, + "detailed": "Life, Physical, and Social Science Technicians", + "code": "19-4000", + "name": "Life, Physical, and Social Science Technicians", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "19-0000", + "minorCode": "19-4000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Life, Physical, and Social Science Occupations", + "minor": "Life, Physical, and Social Science Technicians", + "broad": "Miscellaneous Life, Physical, and Social Science Technicians", + "detailed": "Miscellaneous Life, Physical, and Social Science Technicians", + "code": "19-4090", + "name": "Miscellaneous Life, Physical, and Social Science Technicians", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "19-0000", + "minorCode": "19-4000", + "broadCode": "19-4090", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": null, + "broad": null, + "detailed": "Protective Service Occupations", + "code": "33-0000", + "name": "Protective Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": null, + "detailed": "Supervisors of Protective Service Workers", + "code": "33-1000", + "name": "Supervisors of Protective Service Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": "First-Line Supervisors of Law Enforcement Workers", + "detailed": "First-Line Supervisors of Law Enforcement Workers", + "code": "33-1010", + "name": "First-Line Supervisors of Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": "33-1010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": null, + "detailed": "Law Enforcement Workers", + "code": "33-3000", + "name": "Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Bailiffs, Correctional Officers, and Jailers", + "detailed": "Bailiffs, Correctional Officers, and Jailers", + "code": "33-3010", + "name": "Bailiffs, Correctional Officers, and Jailers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Detectives and Criminal Investigators", + "detailed": "Detectives and Criminal Investigators", + "code": "33-3020", + "name": "Detectives and Criminal Investigators", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3020", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Police Officers", + "detailed": "Police Officers", + "code": "33-3050", + "name": "Police Officers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3050", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + } + ], + "standards": [ + "NICE_SP_RSK", + "NICE_SP_DEV", + "NICE_SP_ARC", + "NICE_SP_TRD", + "NICE_SP_SRP", + "NICE_SP_TST", + "NICE_SP_SYS", + "NICE_OV_MGT", + "NICE_AN_TWA", + "NICE_AN_EXP", + "NICE_AN_ASA", + "NICE_AN_TGT", + "NICE_AN_LNG", + "NICE_CO_CLO", + "NICE_CO_OPL", + "NICE_CO_OPS", + "NICE_OV_PMA", + "NICE_OM_ANA", + "NICE_PR_CIR", + "NICE_PR_CDA", + "NICE_PR_INF", + "NICE_OV_SPP", + "NICE_OV_EXL", + "NICE_OV_LGA", + "NICE_OV_TEA", + "NICE_OM_DTA", + "NICE_OM_NET", + "NICE_OM_ADM", + "NICE_OM_STS" + ] + }, + { + "uuid": "dab0b23a-ef96-44a0-9dd6-0fabfee37dbe", + "id": "http://localhost:8080/api/skills/dab0b23a-ef96-44a0-9dd6-0fabfee37dbe", + "skillName": "Command Presence", + "skillStatement": "Communicate a position of authority using body language and tone of voice.", + "status": "draft", + "keywords": [ + "Instructing", + "WGUSID: 9913" + ], + "occupations": [ + { + "major": "Protective Service Occupations", + "minor": null, + "broad": null, + "detailed": "Protective Service Occupations", + "code": "33-0000", + "name": "Protective Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": null, + "detailed": "Supervisors of Protective Service Workers", + "code": "33-1000", + "name": "Supervisors of Protective Service Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": "First-Line Supervisors of Law Enforcement Workers", + "detailed": "First-Line Supervisors of Law Enforcement Workers", + "code": "33-1010", + "name": "First-Line Supervisors of Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": "33-1010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": null, + "detailed": "Law Enforcement Workers", + "code": "33-3000", + "name": "Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Bailiffs, Correctional Officers, and Jailers", + "detailed": "Bailiffs, Correctional Officers, and Jailers", + "code": "33-3010", + "name": "Bailiffs, Correctional Officers, and Jailers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Detectives and Criminal Investigators", + "detailed": "Detectives and Criminal Investigators", + "code": "33-3020", + "name": "Detectives and Criminal Investigators", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3020", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + } + ] + }, + { + "uuid": "7f13ebfa-8dc9-4bdc-97e1-c775850efe1e", + "id": "http://localhost:8080/api/skills/7f13ebfa-8dc9-4bdc-97e1-c775850efe1e", + "skillName": "Common Objective Collaboration", + "skillStatement": "Collaborate with colleagues toward common objectives.", + "status": "draft", + "keywords": [ + "Collaboration", + "Doing", + "Professional_Ethics", + "Business Ethics", + "Business_Ethics", + "Cooperation", + "WGUSID: 6915" + ], + "occupations": [ + { + "major": "Management Occupations", + "minor": null, + "broad": null, + "detailed": "Management Occupations", + "code": "11-0000", + "name": "Management Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Management Occupations", + "minor": "Operations Specialties Managers", + "broad": null, + "detailed": "Operations Specialties Managers", + "code": "11-3000", + "name": "Operations Specialties Managers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Management Occupations", + "minor": "Operations Specialties Managers", + "broad": "Financial Managers", + "detailed": "Financial Managers", + "code": "11-3030", + "name": "Financial Managers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-3000", + "broadCode": "11-3030", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Management Occupations", + "minor": "Operations Specialties Managers", + "broad": "Financial Managers", + "detailed": "Financial Managers", + "code": "11-3031", + "name": "Financial Managers", + "description": "Plan, direct, or coordinate accounting, investing, banking, insurance, securities, and other financial activities of a branch, office, or department of an establishment. Excludes “Financial Risk Specialists” (13-2054).", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-3000", + "broadCode": "11-3030", + "detailedCode": "11-3031", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": null, + "broad": null, + "detailed": "Business and Financial Operations Occupations", + "code": "13-0000", + "name": "Business and Financial Operations Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Business Operations Specialists", + "broad": null, + "detailed": "Business Operations Specialists", + "code": "13-1000", + "name": "Business Operations Specialists", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Business Operations Specialists", + "broad": "Management Analysts", + "detailed": "Management Analysts", + "code": "13-1110", + "name": "Management Analysts", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-1000", + "broadCode": "13-1110", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Business Operations Specialists", + "broad": "Management Analysts", + "detailed": "Management Analysts", + "code": "13-1111", + "name": "Management Analysts", + "description": "Conduct organizational studies and evaluations, design systems and procedures, conduct work simplification and measurement studies, and prepare operations and procedures manuals to assist management in operating more efficiently and effectively. Includes program analysts and management consultants. Excludes “Computer Systems Analysts” (15-1211) and “Operations Research Analysts” (15-2031).", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-1000", + "broadCode": "13-1110", + "detailedCode": "13-1111", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Business Operations Specialists", + "broad": "Market Research Analysts and Marketing Specialists", + "detailed": "Market Research Analysts and Marketing Specialists", + "code": "13-1160", + "name": "Market Research Analysts and Marketing Specialists", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-1000", + "broadCode": "13-1160", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Business Operations Specialists", + "broad": "Market Research Analysts and Marketing Specialists", + "detailed": "Market Research Analysts and Marketing Specialists", + "code": "13-1161", + "name": "Market Research Analysts and Marketing Specialists", + "description": "Research conditions in local, regional, national, or online markets. Gather information to determine potential sales of a product or service, or plan a marketing or advertising campaign. May gather information on competitors, prices, sales, and methods of marketing and distribution. May employ search marketing tactics, analyze web metrics, and develop recommendations to increase search engine ranking and visibility to target markets. Excludes “Web and Digital Interface Designers” (15-1255), “Art Directors” (27-1011), “Graphic Designers” (27-1024), and “Public Relations Specialists” (27-3031).", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-1000", + "broadCode": "13-1160", + "detailedCode": "13-1161", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Financial Specialists", + "broad": null, + "detailed": "Financial Specialists", + "code": "13-2000", + "name": "Financial Specialists", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-2000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Financial Specialists", + "broad": "Accountants and Auditors", + "detailed": "Accountants and Auditors", + "code": "13-2010", + "name": "Accountants and Auditors", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-2000", + "broadCode": "13-2010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Financial Specialists", + "broad": "Accountants and Auditors", + "detailed": "Accountants and Auditors", + "code": "13-2011", + "name": "Accountants and Auditors", + "description": "Examine, analyze, and interpret accounting records to prepare financial statements, give advice, or audit and evaluate statements prepared by others. Install or advise on systems of recording costs or other financial and budgetary data. Excludes “Tax Examiners and Collectors, and Revenue Agents” (13-2081).", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-2000", + "broadCode": "13-2010", + "detailedCode": "13-2011", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Financial Specialists", + "broad": "Credit Analysts", + "detailed": "Credit Analysts", + "code": "13-2040", + "name": "Credit Analysts", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-2000", + "broadCode": "13-2040", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Financial Specialists", + "broad": "Credit Analysts", + "detailed": "Credit Analysts", + "code": "13-2041", + "name": "Credit Analysts", + "description": "Analyze credit data and financial statements of individuals or firms to determine the degree of risk involved in extending credit or lending money. Prepare reports with credit information for use in decisionmaking. Excludes “Financial Risk Specialists” (13-2054).", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-2000", + "broadCode": "13-2040", + "detailedCode": "13-2041", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Computer and Mathematical Occupations", + "minor": null, + "broad": null, + "detailed": "Computer and Mathematical Occupations", + "code": "15-0000", + "name": "Computer and Mathematical Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "15-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Life, Physical, and Social Science Occupations", + "minor": null, + "broad": null, + "detailed": "Life, Physical, and Social Science Occupations", + "code": "19-0000", + "name": "Life, Physical, and Social Science Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "19-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Life, Physical, and Social Science Occupations", + "minor": "Life, Physical, and Social Science Technicians", + "broad": null, + "detailed": "Life, Physical, and Social Science Technicians", + "code": "19-4000", + "name": "Life, Physical, and Social Science Technicians", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "19-0000", + "minorCode": "19-4000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Life, Physical, and Social Science Occupations", + "minor": "Life, Physical, and Social Science Technicians", + "broad": "Miscellaneous Life, Physical, and Social Science Technicians", + "detailed": "Miscellaneous Life, Physical, and Social Science Technicians", + "code": "19-4090", + "name": "Miscellaneous Life, Physical, and Social Science Technicians", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "19-0000", + "minorCode": "19-4000", + "broadCode": "19-4090", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Healthcare Practitioners and Technical Occupations", + "minor": null, + "broad": null, + "detailed": "Healthcare Practitioners and Technical Occupations", + "code": "29-0000", + "name": "Healthcare Practitioners and Technical Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "29-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Healthcare Practitioners and Technical Occupations", + "minor": "Health Technologists and Technicians", + "broad": null, + "detailed": "Health Technologists and Technicians", + "code": "29-2000", + "name": "Health Technologists and Technicians", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "29-0000", + "minorCode": "29-2000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Healthcare Practitioners and Technical Occupations", + "minor": "Health Technologists and Technicians", + "broad": "Medical Records Specialists", + "detailed": "Medical Records Specialists", + "code": "29-2070", + "name": "Medical Records Specialists", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "29-0000", + "minorCode": "29-2000", + "broadCode": "29-2070", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Healthcare Practitioners and Technical Occupations", + "minor": "Health Technologists and Technicians", + "broad": "Medical Records Specialists", + "detailed": "Medical Records Specialists", + "code": "29-2072", + "name": "Medical Records Specialists", + "description": "Compile, process, and maintain medical records of hospital and clinic patients in a manner consistent with medical, administrative, ethical, legal, and regulatory requirements of the healthcare system. Classify medical and healthcare concepts, including diagnosis, procedures, medical services, and equipment, into the healthcare industry’s numerical coding system. Includes medical coders. Excludes “Health Information Technologists and Medical Registrars” (29-9021) and “File Clerks” (43-4071).", + "framework": "bls", + "url": null, + "majorCode": "29-0000", + "minorCode": "29-2000", + "broadCode": "29-2070", + "detailedCode": "29-2072", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Healthcare Practitioners and Technical Occupations", + "minor": "Health Technologists and Technicians", + "broad": "Miscellaneous Health Technologists and Technicians", + "detailed": "Miscellaneous Health Technologists and Technicians", + "code": "29-2090", + "name": "Miscellaneous Health Technologists and Technicians", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "29-0000", + "minorCode": "29-2000", + "broadCode": "29-2090", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": null, + "broad": null, + "detailed": "Protective Service Occupations", + "code": "33-0000", + "name": "Protective Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": null, + "detailed": "Supervisors of Protective Service Workers", + "code": "33-1000", + "name": "Supervisors of Protective Service Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": "First-Line Supervisors of Law Enforcement Workers", + "detailed": "First-Line Supervisors of Law Enforcement Workers", + "code": "33-1010", + "name": "First-Line Supervisors of Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": "33-1010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": null, + "detailed": "Law Enforcement Workers", + "code": "33-3000", + "name": "Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Bailiffs, Correctional Officers, and Jailers", + "detailed": "Bailiffs, Correctional Officers, and Jailers", + "code": "33-3010", + "name": "Bailiffs, Correctional Officers, and Jailers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Detectives and Criminal Investigators", + "detailed": "Detectives and Criminal Investigators", + "code": "33-3020", + "name": "Detectives and Criminal Investigators", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3020", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Police Officers", + "detailed": "Police Officers", + "code": "33-3050", + "name": "Police Officers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3050", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Healthcare Practitioners and Technical Occupations", + "minor": "Health Technologists and Technicians", + "broad": "Medical Records Specialists", + "detailed": "Medical Records Specialists", + "code": "29-2072.00", + "name": "Medical Records Specialists", + "description": "Compile, process, and maintain medical records of hospital and clinic patients in a manner consistent with medical, administrative, ethical, legal, and regulatory requirements of the healthcare system. Classify medical and healthcare concepts, including diagnosis, procedures, medical services, and equipment, into the healthcare industry's numerical coding system. Includes medical coders.", + "framework": "o*net", + "url": null, + "majorCode": "29-0000", + "minorCode": "29-2000", + "broadCode": "29-2070", + "detailedCode": "29-2072", + "jobRoleCode": "29-2072.00", + "jobCodeLevelAsNumber": 4 + }, + { + "major": null, + "minor": null, + "broad": null, + "detailed": null, + "code": "29-2098", + "name": null, + "description": null, + "framework": null, + "url": null, + "majorCode": "29-0000", + "minorCode": "29-2000", + "broadCode": "29-2090", + "detailedCode": "29-2098", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + } + ], + "standards": [ + "NICE_SP_RSK", + "NICE_SP_DEV", + "NICE_SP_ARC", + "NICE_SP_TRD", + "NICE_SP_SRP", + "NICE_SP_TST", + "NICE_SP_SYS", + "NICE_OV_MGT", + "NICE_AN_TWA", + "NICE_AN_EXP", + "NICE_AN_ASA", + "NICE_AN_TGT", + "NICE_AN_LNG", + "NICE_CO_CLO", + "NICE_CO_OPL", + "NICE_CO_OPS", + "NICE_OV_PMA", + "NICE_OM_ANA", + "NICE_PR_CIR", + "NICE_PR_CDA", + "NICE_PR_INF", + "NICE_OV_SPP", + "NICE_OV_EXL", + "NICE_OV_LGA", + "NICE_OV_TEA", + "NICE_OM_DTA", + "NICE_OM_NET", + "NICE_OM_ADM", + "NICE_OM_STS", + "NICE_PR_VAM", + "NICE_IN_FOR", + "NICE_IN_INV" + ] + }, + { + "uuid": "2baa8aac-6b61-47e4-babb-d7005064fe0a", + "id": "http://localhost:8080/api/skills/2baa8aac-6b61-47e4-babb-d7005064fe0a", + "skillName": "Communication Establishment", + "skillStatement": "Establish communication among responding personnel in accordance with Incident Command System (ICS) guidelines.", + "status": "draft", + "keywords": [ + "Incident Command System (ICS)", + "WGUSID: 9906" + ], + "occupations": [ + { + "major": "Protective Service Occupations", + "minor": null, + "broad": null, + "detailed": "Protective Service Occupations", + "code": "33-0000", + "name": "Protective Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": null, + "detailed": "Supervisors of Protective Service Workers", + "code": "33-1000", + "name": "Supervisors of Protective Service Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": "First-Line Supervisors of Law Enforcement Workers", + "detailed": "First-Line Supervisors of Law Enforcement Workers", + "code": "33-1010", + "name": "First-Line Supervisors of Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": "33-1010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": null, + "detailed": "Law Enforcement Workers", + "code": "33-3000", + "name": "Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Bailiffs, Correctional Officers, and Jailers", + "detailed": "Bailiffs, Correctional Officers, and Jailers", + "code": "33-3010", + "name": "Bailiffs, Correctional Officers, and Jailers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + } + ] + }, + { + "uuid": "8d3e1bc4-181c-4649-a2e8-ffd2d23bcc6a", + "id": "http://localhost:8080/api/skills/8d3e1bc4-181c-4649-a2e8-ffd2d23bcc6a", + "skillName": "Compare Alternate Solutions", + "skillStatement": "Compare alternatives to select the optimum solution to a problem.", + "status": "draft", + "keywords": [ + "Social Emotional Learning (SEL): General", + "Social Emotional Learning (SEL): Executive Function & Responsible Decision Making", + "Problem Solving", + "Troubleshooting (Problem Solving)", + "WGUSID: 1098" + ], + "occupations": [ + { + "major": "Computer and Mathematical Occupations", + "minor": null, + "broad": null, + "detailed": "Computer and Mathematical Occupations", + "code": "15-0000", + "name": "Computer and Mathematical Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "15-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Computer and Mathematical Occupations", + "minor": "Computer Occupations", + "broad": null, + "detailed": "Computer Occupations", + "code": "15-1200", + "name": "Computer Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "15-0000", + "minorCode": "15-1200", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Computer and Mathematical Occupations", + "minor": "Computer Occupations", + "broad": "Computer and Information Analysts", + "detailed": "Computer and Information Analysts", + "code": "15-1210", + "name": "Computer and Information Analysts", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "15-0000", + "minorCode": "15-1200", + "broadCode": "15-1210", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Architecture and Engineering Occupations", + "minor": null, + "broad": null, + "detailed": "Architecture and Engineering Occupations", + "code": "17-0000", + "name": "Architecture and Engineering Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "17-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Architecture and Engineering Occupations", + "minor": "Engineers", + "broad": null, + "detailed": "Engineers", + "code": "17-2000", + "name": "Engineers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "17-0000", + "minorCode": "17-2000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Architecture and Engineering Occupations", + "minor": "Engineers", + "broad": "Environmental Engineers", + "detailed": "Environmental Engineers", + "code": "17-2080", + "name": "Environmental Engineers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "17-0000", + "minorCode": "17-2000", + "broadCode": "17-2080", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Architecture and Engineering Occupations", + "minor": "Engineers", + "broad": "Industrial Engineers, Including Health and Safety", + "detailed": "Industrial Engineers, Including Health and Safety", + "code": "17-2110", + "name": "Industrial Engineers, Including Health and Safety", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "17-0000", + "minorCode": "17-2000", + "broadCode": "17-2110", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Architecture and Engineering Occupations", + "minor": "Engineers", + "broad": "Miscellaneous Engineers", + "detailed": "Miscellaneous Engineers", + "code": "17-2190", + "name": "Miscellaneous Engineers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "17-0000", + "minorCode": "17-2000", + "broadCode": "17-2190", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Architecture and Engineering Occupations", + "minor": "Drafters, Engineering Technicians, and Mapping Technicians", + "broad": null, + "detailed": "Drafters, Engineering Technicians, and Mapping Technicians", + "code": "17-3000", + "name": "Drafters, Engineering Technicians, and Mapping Technicians", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "17-0000", + "minorCode": "17-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Architecture and Engineering Occupations", + "minor": "Drafters, Engineering Technicians, and Mapping Technicians", + "broad": "Engineering Technologists and Technicians, Except Drafters", + "detailed": "Engineering Technologists and Technicians, Except Drafters", + "code": "17-3020", + "name": "Engineering Technologists and Technicians, Except Drafters", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "17-0000", + "minorCode": "17-3000", + "broadCode": "17-3020", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Life, Physical, and Social Science Occupations", + "minor": null, + "broad": null, + "detailed": "Life, Physical, and Social Science Occupations", + "code": "19-0000", + "name": "Life, Physical, and Social Science Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "19-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Life, Physical, and Social Science Occupations", + "minor": "Life, Physical, and Social Science Technicians", + "broad": null, + "detailed": "Life, Physical, and Social Science Technicians", + "code": "19-4000", + "name": "Life, Physical, and Social Science Technicians", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "19-0000", + "minorCode": "19-4000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Life, Physical, and Social Science Occupations", + "minor": "Life, Physical, and Social Science Technicians", + "broad": "Miscellaneous Life, Physical, and Social Science Technicians", + "detailed": "Miscellaneous Life, Physical, and Social Science Technicians", + "code": "19-4090", + "name": "Miscellaneous Life, Physical, and Social Science Technicians", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "19-0000", + "minorCode": "19-4000", + "broadCode": "19-4090", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": null, + "broad": null, + "detailed": "Protective Service Occupations", + "code": "33-0000", + "name": "Protective Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": null, + "detailed": "Supervisors of Protective Service Workers", + "code": "33-1000", + "name": "Supervisors of Protective Service Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": "First-Line Supervisors of Law Enforcement Workers", + "detailed": "First-Line Supervisors of Law Enforcement Workers", + "code": "33-1010", + "name": "First-Line Supervisors of Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": "33-1010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": null, + "detailed": "Law Enforcement Workers", + "code": "33-3000", + "name": "Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Bailiffs, Correctional Officers, and Jailers", + "detailed": "Bailiffs, Correctional Officers, and Jailers", + "code": "33-3010", + "name": "Bailiffs, Correctional Officers, and Jailers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Detectives and Criminal Investigators", + "detailed": "Detectives and Criminal Investigators", + "code": "33-3020", + "name": "Detectives and Criminal Investigators", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3020", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Police Officers", + "detailed": "Police Officers", + "code": "33-3050", + "name": "Police Officers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3050", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + } + ], + "standards": [ + "NICE_SP_RSK", + "NICE_SP_DEV", + "NICE_SP_ARC", + "NICE_SP_TRD", + "NICE_SP_SRP", + "NICE_SP_TST", + "NICE_SP_SYS", + "NICE_OV_MGT", + "NICE_AN_TWA", + "NICE_AN_EXP", + "NICE_AN_ASA", + "NICE_AN_TGT", + "NICE_AN_LNG", + "NICE_CO_CLO", + "NICE_CO_OPL", + "NICE_CO_OPS", + "NICE_OV_PMA", + "NICE_OM_ANA", + "NICE_PR_CIR", + "NICE_PR_CDA", + "NICE_PR_INF", + "NICE_OV_SPP", + "NICE_OV_EXL", + "NICE_OV_LGA", + "NICE_OV_TEA", + "NICE_OM_DTA", + "NICE_OM_NET", + "NICE_OM_ADM", + "NICE_OM_STS", + "NICE_PR_VAM" + ] + }, + { + "uuid": "a74d0aaf-8253-4e90-a09b-2110b5d6d940", + "id": "http://localhost:8080/api/skills/a74d0aaf-8253-4e90-a09b-2110b5d6d940", + "skillName": "Conditional Photography", + "skillStatement": "Record overall conditions of a crime scene through photographs.", + "status": "draft", + "keywords": [ + "Forensic Photography", + "WGUSID: 9879" + ], + "occupations": [ + { + "major": "Life, Physical, and Social Science Occupations", + "minor": null, + "broad": null, + "detailed": "Life, Physical, and Social Science Occupations", + "code": "19-0000", + "name": "Life, Physical, and Social Science Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "19-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Life, Physical, and Social Science Occupations", + "minor": "Life, Physical, and Social Science Technicians", + "broad": null, + "detailed": "Life, Physical, and Social Science Technicians", + "code": "19-4000", + "name": "Life, Physical, and Social Science Technicians", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "19-0000", + "minorCode": "19-4000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Life, Physical, and Social Science Occupations", + "minor": "Life, Physical, and Social Science Technicians", + "broad": "Miscellaneous Life, Physical, and Social Science Technicians", + "detailed": "Miscellaneous Life, Physical, and Social Science Technicians", + "code": "19-4090", + "name": "Miscellaneous Life, Physical, and Social Science Technicians", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "19-0000", + "minorCode": "19-4000", + "broadCode": "19-4090", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Life, Physical, and Social Science Occupations", + "minor": "Life, Physical, and Social Science Technicians", + "broad": "Miscellaneous Life, Physical, and Social Science Technicians", + "detailed": "Forensic Science Technicians", + "code": "19-4092", + "name": "Forensic Science Technicians", + "description": "Collect, identify, classify, and analyze physical evidence related to criminal investigations. Perform tests on weapons or substances, such as fiber, hair, and tissue to determine significance to investigation. May testify as expert witnesses on evidence or crime laboratory techniques. May serve as specialists in area of expertise, such as ballistics, fingerprinting, handwriting, or biochemistry.", + "framework": "bls", + "url": null, + "majorCode": "19-0000", + "minorCode": "19-4000", + "broadCode": "19-4090", + "detailedCode": "19-4092", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Protective Service Occupations", + "minor": null, + "broad": null, + "detailed": "Protective Service Occupations", + "code": "33-0000", + "name": "Protective Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": null, + "detailed": "Supervisors of Protective Service Workers", + "code": "33-1000", + "name": "Supervisors of Protective Service Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": "First-Line Supervisors of Law Enforcement Workers", + "detailed": "First-Line Supervisors of Law Enforcement Workers", + "code": "33-1010", + "name": "First-Line Supervisors of Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": "33-1010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": null, + "detailed": "Law Enforcement Workers", + "code": "33-3000", + "name": "Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Bailiffs, Correctional Officers, and Jailers", + "detailed": "Bailiffs, Correctional Officers, and Jailers", + "code": "33-3010", + "name": "Bailiffs, Correctional Officers, and Jailers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Detectives and Criminal Investigators", + "detailed": "Detectives and Criminal Investigators", + "code": "33-3020", + "name": "Detectives and Criminal Investigators", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3020", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Police Officers", + "detailed": "Police Officers", + "code": "33-3050", + "name": "Police Officers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3050", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + } + ] + }, + { + "uuid": "215f6d22-9e08-4713-886b-0613fb733f1d", + "id": "http://localhost:8080/api/skills/215f6d22-9e08-4713-886b-0613fb733f1d", + "skillName": "Confident Speaking", + "skillStatement": "Speak with confidence during verbal communications.", + "status": "draft", + "keywords": [ + "GeneralEducation2019", + "Verbal Communication Skills", + "Oral Communication", + "WGUSID: 6330" + ], + "occupations": [ + { + "major": "Management Occupations", + "minor": null, + "broad": null, + "detailed": "Management Occupations", + "code": "11-0000", + "name": "Management Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Management Occupations", + "minor": "Operations Specialties Managers", + "broad": null, + "detailed": "Operations Specialties Managers", + "code": "11-3000", + "name": "Operations Specialties Managers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Management Occupations", + "minor": "Operations Specialties Managers", + "broad": "Financial Managers", + "detailed": "Financial Managers", + "code": "11-3030", + "name": "Financial Managers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-3000", + "broadCode": "11-3030", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Management Occupations", + "minor": "Operations Specialties Managers", + "broad": "Financial Managers", + "detailed": "Financial Managers", + "code": "11-3031", + "name": "Financial Managers", + "description": "Plan, direct, or coordinate accounting, investing, banking, insurance, securities, and other financial activities of a branch, office, or department of an establishment. Excludes “Financial Risk Specialists” (13-2054).", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-3000", + "broadCode": "11-3030", + "detailedCode": "11-3031", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": null, + "broad": null, + "detailed": "Business and Financial Operations Occupations", + "code": "13-0000", + "name": "Business and Financial Operations Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Business Operations Specialists", + "broad": null, + "detailed": "Business Operations Specialists", + "code": "13-1000", + "name": "Business Operations Specialists", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Business Operations Specialists", + "broad": "Management Analysts", + "detailed": "Management Analysts", + "code": "13-1110", + "name": "Management Analysts", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-1000", + "broadCode": "13-1110", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Business Operations Specialists", + "broad": "Management Analysts", + "detailed": "Management Analysts", + "code": "13-1111", + "name": "Management Analysts", + "description": "Conduct organizational studies and evaluations, design systems and procedures, conduct work simplification and measurement studies, and prepare operations and procedures manuals to assist management in operating more efficiently and effectively. Includes program analysts and management consultants. Excludes “Computer Systems Analysts” (15-1211) and “Operations Research Analysts” (15-2031).", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-1000", + "broadCode": "13-1110", + "detailedCode": "13-1111", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Business Operations Specialists", + "broad": "Market Research Analysts and Marketing Specialists", + "detailed": "Market Research Analysts and Marketing Specialists", + "code": "13-1160", + "name": "Market Research Analysts and Marketing Specialists", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-1000", + "broadCode": "13-1160", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Business Operations Specialists", + "broad": "Market Research Analysts and Marketing Specialists", + "detailed": "Market Research Analysts and Marketing Specialists", + "code": "13-1161", + "name": "Market Research Analysts and Marketing Specialists", + "description": "Research conditions in local, regional, national, or online markets. Gather information to determine potential sales of a product or service, or plan a marketing or advertising campaign. May gather information on competitors, prices, sales, and methods of marketing and distribution. May employ search marketing tactics, analyze web metrics, and develop recommendations to increase search engine ranking and visibility to target markets. Excludes “Web and Digital Interface Designers” (15-1255), “Art Directors” (27-1011), “Graphic Designers” (27-1024), and “Public Relations Specialists” (27-3031).", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-1000", + "broadCode": "13-1160", + "detailedCode": "13-1161", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Financial Specialists", + "broad": null, + "detailed": "Financial Specialists", + "code": "13-2000", + "name": "Financial Specialists", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-2000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Financial Specialists", + "broad": "Accountants and Auditors", + "detailed": "Accountants and Auditors", + "code": "13-2010", + "name": "Accountants and Auditors", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-2000", + "broadCode": "13-2010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Financial Specialists", + "broad": "Accountants and Auditors", + "detailed": "Accountants and Auditors", + "code": "13-2011", + "name": "Accountants and Auditors", + "description": "Examine, analyze, and interpret accounting records to prepare financial statements, give advice, or audit and evaluate statements prepared by others. Install or advise on systems of recording costs or other financial and budgetary data. Excludes “Tax Examiners and Collectors, and Revenue Agents” (13-2081).", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-2000", + "broadCode": "13-2010", + "detailedCode": "13-2011", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Financial Specialists", + "broad": "Credit Analysts", + "detailed": "Credit Analysts", + "code": "13-2040", + "name": "Credit Analysts", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-2000", + "broadCode": "13-2040", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Financial Specialists", + "broad": "Credit Analysts", + "detailed": "Credit Analysts", + "code": "13-2041", + "name": "Credit Analysts", + "description": "Analyze credit data and financial statements of individuals or firms to determine the degree of risk involved in extending credit or lending money. Prepare reports with credit information for use in decisionmaking. Excludes “Financial Risk Specialists” (13-2054).", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-2000", + "broadCode": "13-2040", + "detailedCode": "13-2041", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Computer and Mathematical Occupations", + "minor": null, + "broad": null, + "detailed": "Computer and Mathematical Occupations", + "code": "15-0000", + "name": "Computer and Mathematical Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "15-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Architecture and Engineering Occupations", + "minor": null, + "broad": null, + "detailed": "Architecture and Engineering Occupations", + "code": "17-0000", + "name": "Architecture and Engineering Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "17-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Architecture and Engineering Occupations", + "minor": "Engineers", + "broad": null, + "detailed": "Engineers", + "code": "17-2000", + "name": "Engineers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "17-0000", + "minorCode": "17-2000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Architecture and Engineering Occupations", + "minor": "Engineers", + "broad": "Environmental Engineers", + "detailed": "Environmental Engineers", + "code": "17-2080", + "name": "Environmental Engineers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "17-0000", + "minorCode": "17-2000", + "broadCode": "17-2080", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Architecture and Engineering Occupations", + "minor": "Engineers", + "broad": "Industrial Engineers, Including Health and Safety", + "detailed": "Industrial Engineers, Including Health and Safety", + "code": "17-2110", + "name": "Industrial Engineers, Including Health and Safety", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "17-0000", + "minorCode": "17-2000", + "broadCode": "17-2110", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Architecture and Engineering Occupations", + "minor": "Engineers", + "broad": "Miscellaneous Engineers", + "detailed": "Miscellaneous Engineers", + "code": "17-2190", + "name": "Miscellaneous Engineers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "17-0000", + "minorCode": "17-2000", + "broadCode": "17-2190", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Architecture and Engineering Occupations", + "minor": "Drafters, Engineering Technicians, and Mapping Technicians", + "broad": null, + "detailed": "Drafters, Engineering Technicians, and Mapping Technicians", + "code": "17-3000", + "name": "Drafters, Engineering Technicians, and Mapping Technicians", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "17-0000", + "minorCode": "17-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Architecture and Engineering Occupations", + "minor": "Drafters, Engineering Technicians, and Mapping Technicians", + "broad": "Engineering Technologists and Technicians, Except Drafters", + "detailed": "Engineering Technologists and Technicians, Except Drafters", + "code": "17-3020", + "name": "Engineering Technologists and Technicians, Except Drafters", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "17-0000", + "minorCode": "17-3000", + "broadCode": "17-3020", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Life, Physical, and Social Science Occupations", + "minor": null, + "broad": null, + "detailed": "Life, Physical, and Social Science Occupations", + "code": "19-0000", + "name": "Life, Physical, and Social Science Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "19-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Life, Physical, and Social Science Occupations", + "minor": "Life, Physical, and Social Science Technicians", + "broad": null, + "detailed": "Life, Physical, and Social Science Technicians", + "code": "19-4000", + "name": "Life, Physical, and Social Science Technicians", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "19-0000", + "minorCode": "19-4000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Life, Physical, and Social Science Occupations", + "minor": "Life, Physical, and Social Science Technicians", + "broad": "Miscellaneous Life, Physical, and Social Science Technicians", + "detailed": "Miscellaneous Life, Physical, and Social Science Technicians", + "code": "19-4090", + "name": "Miscellaneous Life, Physical, and Social Science Technicians", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "19-0000", + "minorCode": "19-4000", + "broadCode": "19-4090", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": null, + "broad": null, + "detailed": "Protective Service Occupations", + "code": "33-0000", + "name": "Protective Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": null, + "detailed": "Supervisors of Protective Service Workers", + "code": "33-1000", + "name": "Supervisors of Protective Service Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": "First-Line Supervisors of Law Enforcement Workers", + "detailed": "First-Line Supervisors of Law Enforcement Workers", + "code": "33-1010", + "name": "First-Line Supervisors of Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": "33-1010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": null, + "detailed": "Law Enforcement Workers", + "code": "33-3000", + "name": "Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Bailiffs, Correctional Officers, and Jailers", + "detailed": "Bailiffs, Correctional Officers, and Jailers", + "code": "33-3010", + "name": "Bailiffs, Correctional Officers, and Jailers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Detectives and Criminal Investigators", + "detailed": "Detectives and Criminal Investigators", + "code": "33-3020", + "name": "Detectives and Criminal Investigators", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3020", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Police Officers", + "detailed": "Police Officers", + "code": "33-3050", + "name": "Police Officers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3050", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + } + ], + "standards": [ + "NICE_SP_RSK", + "NICE_SP_DEV", + "NICE_SP_ARC", + "NICE_SP_TRD", + "NICE_SP_SRP", + "NICE_SP_TST", + "NICE_SP_SYS", + "NICE_OV_MGT", + "NICE_AN_TWA", + "NICE_AN_EXP", + "NICE_AN_ASA", + "NICE_AN_TGT", + "NICE_AN_LNG", + "NICE_CO_CLO", + "NICE_CO_OPL", + "NICE_CO_OPS", + "NICE_OV_PMA", + "NICE_PR_CIR", + "NICE_PR_CDA", + "NICE_PR_INF", + "NICE_OV_SPP", + "NICE_OV_EXL", + "NICE_OV_LGA", + "NICE_OV_TEA", + "NICE_IN_FOR", + "NICE_IN_INV" + ] + }, + { + "uuid": "2d30b14a-c8c9-4149-ae8e-880ac4da3c5f", + "id": "http://localhost:8080/api/skills/2d30b14a-c8c9-4149-ae8e-880ac4da3c5f", + "skillName": "Construct a Time Management Approach", + "skillStatement": "Construct a personal time management approach that acknowledges potential barriers and includes strategies to overcome those barriers.", + "status": "draft", + "keywords": [ + "21st_Century_Skills", + "SEL", + "Power_Skills_Framework", + "Positive Mental Attitude", + "Goal Oriented", + "Task Management", + "Social Emotional Learning (SEL): General", + "Social Emotional Learning (SEL): Self Management", + "Self-Discipline", + "Timelines", + "Doing", + "WGUSID: 1313" + ], + "occupations": [ + { + "major": "Protective Service Occupations", + "minor": null, + "broad": null, + "detailed": "Protective Service Occupations", + "code": "33-0000", + "name": "Protective Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": null, + "detailed": "Supervisors of Protective Service Workers", + "code": "33-1000", + "name": "Supervisors of Protective Service Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": "First-Line Supervisors of Law Enforcement Workers", + "detailed": "First-Line Supervisors of Law Enforcement Workers", + "code": "33-1010", + "name": "First-Line Supervisors of Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": "33-1010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": null, + "detailed": "Law Enforcement Workers", + "code": "33-3000", + "name": "Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Bailiffs, Correctional Officers, and Jailers", + "detailed": "Bailiffs, Correctional Officers, and Jailers", + "code": "33-3010", + "name": "Bailiffs, Correctional Officers, and Jailers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Detectives and Criminal Investigators", + "detailed": "Detectives and Criminal Investigators", + "code": "33-3020", + "name": "Detectives and Criminal Investigators", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3020", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + } + ] + }, + { + "uuid": "5419478f-2eaf-409f-a357-2f439095b26e", + "id": "http://localhost:8080/api/skills/5419478f-2eaf-409f-a357-2f439095b26e", + "skillName": "Control Individual with Empty-Hand Techniques", + "skillStatement": "Control an individual with empty-hand techniques.", + "status": "draft", + "keywords": [ + "Use of Force", + "WGUSID: 10114" + ], + "occupations": [ + { + "major": "Protective Service Occupations", + "minor": null, + "broad": null, + "detailed": "Protective Service Occupations", + "code": "33-0000", + "name": "Protective Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": null, + "detailed": "Supervisors of Protective Service Workers", + "code": "33-1000", + "name": "Supervisors of Protective Service Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": "First-Line Supervisors of Law Enforcement Workers", + "detailed": "First-Line Supervisors of Law Enforcement Workers", + "code": "33-1010", + "name": "First-Line Supervisors of Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": "33-1010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": null, + "detailed": "Law Enforcement Workers", + "code": "33-3000", + "name": "Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Bailiffs, Correctional Officers, and Jailers", + "detailed": "Bailiffs, Correctional Officers, and Jailers", + "code": "33-3010", + "name": "Bailiffs, Correctional Officers, and Jailers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Detectives and Criminal Investigators", + "detailed": "Detectives and Criminal Investigators", + "code": "33-3020", + "name": "Detectives and Criminal Investigators", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3020", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Police Officers", + "detailed": "Police Officers", + "code": "33-3050", + "name": "Police Officers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3050", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + } + ] + }, + { + "uuid": "10517b19-8395-4136-a3ed-ab78d0f7d014", + "id": "http://localhost:8080/api/skills/10517b19-8395-4136-a3ed-ab78d0f7d014", + "skillName": "Control Oneself in Difficult Situations", + "skillStatement": "Control composure, emotions, anger, and aggressive behavior in difficult situations.", + "status": "draft", + "keywords": [ + "Positive Mental Attitude", + "Goal Oriented", + "Task Management", + "Social Emotional Learning (SEL): General", + "Social Emotional Learning (SEL): Self Management", + "Self-Discipline", + "Timelines", + "WGUSID: 4759" + ], + "occupations": [ + { + "major": "Educational Instruction and Library Occupations", + "minor": null, + "broad": null, + "detailed": "Educational Instruction and Library Occupations", + "code": "25-0000", + "name": "Educational Instruction and Library Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "25-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Educational Instruction and Library Occupations", + "minor": "Postsecondary Teachers", + "broad": null, + "detailed": "Postsecondary Teachers", + "code": "25-1000", + "name": "Postsecondary Teachers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "25-0000", + "minorCode": "25-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Educational Instruction and Library Occupations", + "minor": "Postsecondary Teachers", + "broad": "Business Teachers, Postsecondary", + "detailed": "Business Teachers, Postsecondary", + "code": "25-1010", + "name": "Business Teachers, Postsecondary", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "25-0000", + "minorCode": "25-1000", + "broadCode": "25-1010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Educational Instruction and Library Occupations", + "minor": "Postsecondary Teachers", + "broad": "Math and Computer Science Teachers, Postsecondary", + "detailed": "Math and Computer Science Teachers, Postsecondary", + "code": "25-1020", + "name": "Math and Computer Science Teachers, Postsecondary", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "25-0000", + "minorCode": "25-1000", + "broadCode": "25-1020", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Educational Instruction and Library Occupations", + "minor": "Postsecondary Teachers", + "broad": "Life Sciences Teachers, Postsecondary", + "detailed": "Life Sciences Teachers, Postsecondary", + "code": "25-1040", + "name": "Life Sciences Teachers, Postsecondary", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "25-0000", + "minorCode": "25-1000", + "broadCode": "25-1040", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Educational Instruction and Library Occupations", + "minor": "Postsecondary Teachers", + "broad": "Physical Sciences Teachers, Postsecondary", + "detailed": "Physical Sciences Teachers, Postsecondary", + "code": "25-1050", + "name": "Physical Sciences Teachers, Postsecondary", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "25-0000", + "minorCode": "25-1000", + "broadCode": "25-1050", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Educational Instruction and Library Occupations", + "minor": "Postsecondary Teachers", + "broad": "Social Sciences Teachers, Postsecondary", + "detailed": "Social Sciences Teachers, Postsecondary", + "code": "25-1060", + "name": "Social Sciences Teachers, Postsecondary", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "25-0000", + "minorCode": "25-1000", + "broadCode": "25-1060", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Educational Instruction and Library Occupations", + "minor": "Postsecondary Teachers", + "broad": "Health Teachers, Postsecondary", + "detailed": "Health Teachers, Postsecondary", + "code": "25-1070", + "name": "Health Teachers, Postsecondary", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "25-0000", + "minorCode": "25-1000", + "broadCode": "25-1070", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Educational Instruction and Library Occupations", + "minor": "Postsecondary Teachers", + "broad": "Education and Library Science Teachers, Postsecondary", + "detailed": "Education and Library Science Teachers, Postsecondary", + "code": "25-1080", + "name": "Education and Library Science Teachers, Postsecondary", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "25-0000", + "minorCode": "25-1000", + "broadCode": "25-1080", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Educational Instruction and Library Occupations", + "minor": "Postsecondary Teachers", + "broad": "Arts, Communications, History, and Humanities Teachers, Postsecondary", + "detailed": "Arts, Communications, History, and Humanities Teachers, Postsecondary", + "code": "25-1120", + "name": "Arts, Communications, History, and Humanities Teachers, Postsecondary", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "25-0000", + "minorCode": "25-1000", + "broadCode": "25-1120", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": null, + "broad": null, + "detailed": "Protective Service Occupations", + "code": "33-0000", + "name": "Protective Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": null, + "detailed": "Supervisors of Protective Service Workers", + "code": "33-1000", + "name": "Supervisors of Protective Service Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": "First-Line Supervisors of Law Enforcement Workers", + "detailed": "First-Line Supervisors of Law Enforcement Workers", + "code": "33-1010", + "name": "First-Line Supervisors of Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": "33-1010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": null, + "detailed": "Law Enforcement Workers", + "code": "33-3000", + "name": "Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Bailiffs, Correctional Officers, and Jailers", + "detailed": "Bailiffs, Correctional Officers, and Jailers", + "code": "33-3010", + "name": "Bailiffs, Correctional Officers, and Jailers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Detectives and Criminal Investigators", + "detailed": "Detectives and Criminal Investigators", + "code": "33-3020", + "name": "Detectives and Criminal Investigators", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3020", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + } + ], + "standards": [ + "InTASC_3i", + "InTASC_3b", + "InTASC_3e", + "InTASC_3h", + "InTASC_3l", + "InTASC_5d", + "InTASC_6o", + "ISTE_Educators_1b", + "ISTE_Educators_1c", + "ISTE_EdLeaders_3a", + "AAQEP_1e", + "ISTE_Educators_1a", + "AAQEP_1f", + "InTASC_6d" + ] + }, + { + "uuid": "9b4990d0-f208-4bbb-9570-b80bfc261e14", + "id": "http://localhost:8080/api/skills/9b4990d0-f208-4bbb-9570-b80bfc261e14", + "skillName": "Crisis Intervention Development", + "skillStatement": "Develop skills to assist individuals experiencing a mental health crisis.", + "status": "draft", + "keywords": [ + "Crisis Intervention", + "WGUSID: 9790" + ], + "occupations": [ + { + "major": "Protective Service Occupations", + "minor": null, + "broad": null, + "detailed": "Protective Service Occupations", + "code": "33-0000", + "name": "Protective Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": null, + "detailed": "Supervisors of Protective Service Workers", + "code": "33-1000", + "name": "Supervisors of Protective Service Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": "First-Line Supervisors of Law Enforcement Workers", + "detailed": "First-Line Supervisors of Law Enforcement Workers", + "code": "33-1010", + "name": "First-Line Supervisors of Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": "33-1010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": null, + "detailed": "Law Enforcement Workers", + "code": "33-3000", + "name": "Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Bailiffs, Correctional Officers, and Jailers", + "detailed": "Bailiffs, Correctional Officers, and Jailers", + "code": "33-3010", + "name": "Bailiffs, Correctional Officers, and Jailers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Detectives and Criminal Investigators", + "detailed": "Detectives and Criminal Investigators", + "code": "33-3020", + "name": "Detectives and Criminal Investigators", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3020", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Police Officers", + "detailed": "Police Officers", + "code": "33-3050", + "name": "Police Officers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3050", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + } + ] + }, + { + "uuid": "33b1f767-dbc2-4fdf-81c2-a936ffca05ec", + "id": "http://localhost:8080/api/skills/33b1f767-dbc2-4fdf-81c2-a936ffca05ec", + "skillName": "Crisis Need Identification", + "skillStatement": "Identify the needs of a person in crisis (PIC).", + "status": "draft", + "keywords": [ + "Crisis Intervention", + "WGUSID: 9795" + ], + "occupations": [ + { + "major": "Protective Service Occupations", + "minor": null, + "broad": null, + "detailed": "Protective Service Occupations", + "code": "33-0000", + "name": "Protective Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": null, + "detailed": "Supervisors of Protective Service Workers", + "code": "33-1000", + "name": "Supervisors of Protective Service Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": "First-Line Supervisors of Law Enforcement Workers", + "detailed": "First-Line Supervisors of Law Enforcement Workers", + "code": "33-1010", + "name": "First-Line Supervisors of Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": "33-1010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": null, + "detailed": "Law Enforcement Workers", + "code": "33-3000", + "name": "Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Bailiffs, Correctional Officers, and Jailers", + "detailed": "Bailiffs, Correctional Officers, and Jailers", + "code": "33-3010", + "name": "Bailiffs, Correctional Officers, and Jailers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Detectives and Criminal Investigators", + "detailed": "Detectives and Criminal Investigators", + "code": "33-3020", + "name": "Detectives and Criminal Investigators", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3020", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Police Officers", + "detailed": "Police Officers", + "code": "33-3050", + "name": "Police Officers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3050", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + } + ] + }, + { + "uuid": "8d6c025c-b85b-480d-a652-1c3da696da88", + "id": "http://localhost:8080/api/skills/8d6c025c-b85b-480d-a652-1c3da696da88", + "skillName": "Data Accuracy Validation", + "skillStatement": "Validate accuracy of data after entering it into a computer program.", + "status": "draft", + "keywords": [ + "Data Entry", + "SAP", + "MS Office", + "Intuit QuickBooks", + "Adobe", + "WGUSID: 7253" + ], + "occupations": [ + { + "major": "Business and Financial Operations Occupations", + "minor": null, + "broad": null, + "detailed": "Business and Financial Operations Occupations", + "code": "13-0000", + "name": "Business and Financial Operations Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Business Operations Specialists", + "broad": null, + "detailed": "Business Operations Specialists", + "code": "13-1000", + "name": "Business Operations Specialists", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Business Operations Specialists", + "broad": "Human Resources Workers", + "detailed": "Human Resources Workers", + "code": "13-1070", + "name": "Human Resources Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-1000", + "broadCode": "13-1070", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Business Operations Specialists", + "broad": "Human Resources Workers", + "detailed": "Human Resources Specialists", + "code": "13-1071", + "name": "Human Resources Specialists", + "description": "Recruit, screen, interview, or place individuals within an organization. May perform other activities in multiple human resources areas. Excludes “Compensation, Benefits, and Job Analysis Specialists” (13-1141) and “Training and Development Specialists” (13-1151).", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-1000", + "broadCode": "13-1070", + "detailedCode": "13-1071", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Business Operations Specialists", + "broad": "Management Analysts", + "detailed": "Management Analysts", + "code": "13-1110", + "name": "Management Analysts", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-1000", + "broadCode": "13-1110", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Business Operations Specialists", + "broad": "Management Analysts", + "detailed": "Management Analysts", + "code": "13-1111", + "name": "Management Analysts", + "description": "Conduct organizational studies and evaluations, design systems and procedures, conduct work simplification and measurement studies, and prepare operations and procedures manuals to assist management in operating more efficiently and effectively. Includes program analysts and management consultants. Excludes “Computer Systems Analysts” (15-1211) and “Operations Research Analysts” (15-2031).", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-1000", + "broadCode": "13-1110", + "detailedCode": "13-1111", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Business Operations Specialists", + "broad": "Compensation, Benefits, and Job Analysis Specialists", + "detailed": "Compensation, Benefits, and Job Analysis Specialists", + "code": "13-1140", + "name": "Compensation, Benefits, and Job Analysis Specialists", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-1000", + "broadCode": "13-1140", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Business Operations Specialists", + "broad": "Compensation, Benefits, and Job Analysis Specialists", + "detailed": "Compensation, Benefits, and Job Analysis Specialists", + "code": "13-1141", + "name": "Compensation, Benefits, and Job Analysis Specialists", + "description": "Conduct programs of compensation and benefits and job analysis for employer. May specialize in specific areas, such as position classification and pension programs.", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-1000", + "broadCode": "13-1140", + "detailedCode": "13-1141", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Business Operations Specialists", + "broad": "Miscellaneous Business Operations Specialists", + "detailed": "Miscellaneous Business Operations Specialists", + "code": "13-1190", + "name": "Miscellaneous Business Operations Specialists", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-1000", + "broadCode": "13-1190", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Financial Specialists", + "broad": null, + "detailed": "Financial Specialists", + "code": "13-2000", + "name": "Financial Specialists", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-2000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Financial Specialists", + "broad": "Accountants and Auditors", + "detailed": "Accountants and Auditors", + "code": "13-2010", + "name": "Accountants and Auditors", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-2000", + "broadCode": "13-2010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Financial Specialists", + "broad": "Accountants and Auditors", + "detailed": "Accountants and Auditors", + "code": "13-2011", + "name": "Accountants and Auditors", + "description": "Examine, analyze, and interpret accounting records to prepare financial statements, give advice, or audit and evaluate statements prepared by others. Install or advise on systems of recording costs or other financial and budgetary data. Excludes “Tax Examiners and Collectors, and Revenue Agents” (13-2081).", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-2000", + "broadCode": "13-2010", + "detailedCode": "13-2011", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Financial Specialists", + "broad": "Credit Analysts", + "detailed": "Credit Analysts", + "code": "13-2040", + "name": "Credit Analysts", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-2000", + "broadCode": "13-2040", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Financial Specialists", + "broad": "Financial Analysts and Advisors", + "detailed": "Financial Analysts and Advisors", + "code": "13-2050", + "name": "Financial Analysts and Advisors", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-2000", + "broadCode": "13-2050", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Financial Specialists", + "broad": "Financial Examiners", + "detailed": "Financial Examiners", + "code": "13-2060", + "name": "Financial Examiners", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-2000", + "broadCode": "13-2060", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Financial Specialists", + "broad": "Financial Examiners", + "detailed": "Financial Examiners", + "code": "13-2061", + "name": "Financial Examiners", + "description": "Enforce or ensure compliance with laws and regulations governing financial and securities institutions and financial and real estate transactions. May examine, verify, or authenticate records.", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-2000", + "broadCode": "13-2060", + "detailedCode": "13-2061", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Financial Specialists", + "broad": "Tax Examiners, Collectors and Preparers, and Revenue Agents", + "detailed": "Tax Examiners, Collectors and Preparers, and Revenue Agents", + "code": "13-2080", + "name": "Tax Examiners, Collectors and Preparers, and Revenue Agents", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-2000", + "broadCode": "13-2080", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Financial Specialists", + "broad": "Tax Examiners, Collectors and Preparers, and Revenue Agents", + "detailed": "Tax Examiners and Collectors, and Revenue Agents", + "code": "13-2081", + "name": "Tax Examiners and Collectors, and Revenue Agents", + "description": "Determine tax liability or collect taxes from individuals or business firms according to prescribed laws and regulations.", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-2000", + "broadCode": "13-2080", + "detailedCode": "13-2081", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Financial Specialists", + "broad": "Tax Examiners, Collectors and Preparers, and Revenue Agents", + "detailed": "Tax Preparers", + "code": "13-2082", + "name": "Tax Preparers", + "description": "Prepare tax returns for individuals or small businesses. Excludes “Accountants and Auditors” (13-2011).", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-2000", + "broadCode": "13-2080", + "detailedCode": "13-2082", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Life, Physical, and Social Science Occupations", + "minor": null, + "broad": null, + "detailed": "Life, Physical, and Social Science Occupations", + "code": "19-0000", + "name": "Life, Physical, and Social Science Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "19-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Life, Physical, and Social Science Occupations", + "minor": "Life, Physical, and Social Science Technicians", + "broad": null, + "detailed": "Life, Physical, and Social Science Technicians", + "code": "19-4000", + "name": "Life, Physical, and Social Science Technicians", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "19-0000", + "minorCode": "19-4000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Life, Physical, and Social Science Occupations", + "minor": "Life, Physical, and Social Science Technicians", + "broad": "Miscellaneous Life, Physical, and Social Science Technicians", + "detailed": "Miscellaneous Life, Physical, and Social Science Technicians", + "code": "19-4090", + "name": "Miscellaneous Life, Physical, and Social Science Technicians", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "19-0000", + "minorCode": "19-4000", + "broadCode": "19-4090", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": null, + "broad": null, + "detailed": "Protective Service Occupations", + "code": "33-0000", + "name": "Protective Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": null, + "detailed": "Law Enforcement Workers", + "code": "33-3000", + "name": "Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Bailiffs, Correctional Officers, and Jailers", + "detailed": "Bailiffs, Correctional Officers, and Jailers", + "code": "33-3010", + "name": "Bailiffs, Correctional Officers, and Jailers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + } + ] + }, + { + "uuid": "ae8cea3d-303a-4c5b-9d94-39d5dd21ca66", + "id": "http://localhost:8080/api/skills/ae8cea3d-303a-4c5b-9d94-39d5dd21ca66", + "skillName": "Deadly Force Justification Explanation", + "skillStatement": "Explain when deadly force is justified.", + "status": "draft", + "keywords": [ + "Self Defense", + "WGUSID: 10060" + ], + "occupations": [ + { + "major": "Protective Service Occupations", + "minor": null, + "broad": null, + "detailed": "Protective Service Occupations", + "code": "33-0000", + "name": "Protective Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": null, + "detailed": "Supervisors of Protective Service Workers", + "code": "33-1000", + "name": "Supervisors of Protective Service Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": "First-Line Supervisors of Law Enforcement Workers", + "detailed": "First-Line Supervisors of Law Enforcement Workers", + "code": "33-1010", + "name": "First-Line Supervisors of Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": "33-1010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": null, + "detailed": "Law Enforcement Workers", + "code": "33-3000", + "name": "Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Bailiffs, Correctional Officers, and Jailers", + "detailed": "Bailiffs, Correctional Officers, and Jailers", + "code": "33-3010", + "name": "Bailiffs, Correctional Officers, and Jailers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Detectives and Criminal Investigators", + "detailed": "Detectives and Criminal Investigators", + "code": "33-3020", + "name": "Detectives and Criminal Investigators", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3020", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Police Officers", + "detailed": "Police Officers", + "code": "33-3050", + "name": "Police Officers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3050", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + } + ] + }, + { + "uuid": "3c7f4eda-e1f8-4d1a-ada7-bdab342ba42a", + "id": "http://localhost:8080/api/skills/3c7f4eda-e1f8-4d1a-ada7-bdab342ba42a", + "skillName": "Decorum Management", + "skillStatement": "Manage decorum in meetings or group sessions.", + "status": "draft", + "keywords": [ + "Professionalism", + "meetings", + "group discussions", + "WGUSID: 4933" + ], + "occupations": [ + { + "major": "Life, Physical, and Social Science Occupations", + "minor": null, + "broad": null, + "detailed": "Life, Physical, and Social Science Occupations", + "code": "19-0000", + "name": "Life, Physical, and Social Science Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "19-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Life, Physical, and Social Science Occupations", + "minor": "Life, Physical, and Social Science Technicians", + "broad": null, + "detailed": "Life, Physical, and Social Science Technicians", + "code": "19-4000", + "name": "Life, Physical, and Social Science Technicians", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "19-0000", + "minorCode": "19-4000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Life, Physical, and Social Science Occupations", + "minor": "Life, Physical, and Social Science Technicians", + "broad": "Miscellaneous Life, Physical, and Social Science Technicians", + "detailed": "Miscellaneous Life, Physical, and Social Science Technicians", + "code": "19-4090", + "name": "Miscellaneous Life, Physical, and Social Science Technicians", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "19-0000", + "minorCode": "19-4000", + "broadCode": "19-4090", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Educational Instruction and Library Occupations", + "minor": null, + "broad": null, + "detailed": "Educational Instruction and Library Occupations", + "code": "25-0000", + "name": "Educational Instruction and Library Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "25-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Educational Instruction and Library Occupations", + "minor": "Postsecondary Teachers", + "broad": null, + "detailed": "Postsecondary Teachers", + "code": "25-1000", + "name": "Postsecondary Teachers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "25-0000", + "minorCode": "25-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Educational Instruction and Library Occupations", + "minor": "Postsecondary Teachers", + "broad": "Math and Computer Science Teachers, Postsecondary", + "detailed": "Math and Computer Science Teachers, Postsecondary", + "code": "25-1020", + "name": "Math and Computer Science Teachers, Postsecondary", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "25-0000", + "minorCode": "25-1000", + "broadCode": "25-1020", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Educational Instruction and Library Occupations", + "minor": "Postsecondary Teachers", + "broad": "Life Sciences Teachers, Postsecondary", + "detailed": "Life Sciences Teachers, Postsecondary", + "code": "25-1040", + "name": "Life Sciences Teachers, Postsecondary", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "25-0000", + "minorCode": "25-1000", + "broadCode": "25-1040", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Educational Instruction and Library Occupations", + "minor": "Postsecondary Teachers", + "broad": "Physical Sciences Teachers, Postsecondary", + "detailed": "Physical Sciences Teachers, Postsecondary", + "code": "25-1050", + "name": "Physical Sciences Teachers, Postsecondary", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "25-0000", + "minorCode": "25-1000", + "broadCode": "25-1050", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Educational Instruction and Library Occupations", + "minor": "Postsecondary Teachers", + "broad": "Education and Library Science Teachers, Postsecondary", + "detailed": "Education and Library Science Teachers, Postsecondary", + "code": "25-1080", + "name": "Education and Library Science Teachers, Postsecondary", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "25-0000", + "minorCode": "25-1000", + "broadCode": "25-1080", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Educational Instruction and Library Occupations", + "minor": "Preschool, Elementary, Middle, Secondary, and Special Education Teachers", + "broad": null, + "detailed": "Preschool, Elementary, Middle, Secondary, and Special Education Teachers", + "code": "25-2000", + "name": "Preschool, Elementary, Middle, Secondary, and Special Education Teachers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "25-0000", + "minorCode": "25-2000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Educational Instruction and Library Occupations", + "minor": "Preschool, Elementary, Middle, Secondary, and Special Education Teachers", + "broad": "Elementary and Middle School Teachers", + "detailed": "Elementary and Middle School Teachers", + "code": "25-2020", + "name": "Elementary and Middle School Teachers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "25-0000", + "minorCode": "25-2000", + "broadCode": "25-2020", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Educational Instruction and Library Occupations", + "minor": "Preschool, Elementary, Middle, Secondary, and Special Education Teachers", + "broad": "Secondary School Teachers", + "detailed": "Secondary School Teachers", + "code": "25-2030", + "name": "Secondary School Teachers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "25-0000", + "minorCode": "25-2000", + "broadCode": "25-2030", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Educational Instruction and Library Occupations", + "minor": "Preschool, Elementary, Middle, Secondary, and Special Education Teachers", + "broad": "Special Education Teachers", + "detailed": "Special Education Teachers", + "code": "25-2050", + "name": "Special Education Teachers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "25-0000", + "minorCode": "25-2000", + "broadCode": "25-2050", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": null, + "broad": null, + "detailed": "Protective Service Occupations", + "code": "33-0000", + "name": "Protective Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": null, + "detailed": "Supervisors of Protective Service Workers", + "code": "33-1000", + "name": "Supervisors of Protective Service Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": "First-Line Supervisors of Law Enforcement Workers", + "detailed": "First-Line Supervisors of Law Enforcement Workers", + "code": "33-1010", + "name": "First-Line Supervisors of Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": "33-1010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": null, + "detailed": "Law Enforcement Workers", + "code": "33-3000", + "name": "Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Bailiffs, Correctional Officers, and Jailers", + "detailed": "Bailiffs, Correctional Officers, and Jailers", + "code": "33-3010", + "name": "Bailiffs, Correctional Officers, and Jailers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Detectives and Criminal Investigators", + "detailed": "Detectives and Criminal Investigators", + "code": "33-3020", + "name": "Detectives and Criminal Investigators", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3020", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Police Officers", + "detailed": "Police Officers", + "code": "33-3050", + "name": "Police Officers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3050", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + } + ], + "standards": [ + "InTASC_3a", + "InTASC_3i", + "InTASC_4g", + "InTASC_8n", + "InTASC_3b", + "InTASC_3e", + "InTASC_3f", + "InTASC_3h", + "InTASC_3l", + "InTASC_3o", + "InTASC_5d", + "InTASC_3q", + "InTASC_6o", + "InTASC_6s", + "ISTE_Educators_1b", + "ISTE_Educators_1c", + "ISTE_Educators_6d", + "ISTE_EdLeaders_3a", + "ISTE_Educators_2a", + "AAQEP_1e", + "ISTE_Educators_1a", + "ISTE_Educators_3d" + ] + }, + { + "uuid": "3a4f6625-ff8a-468f-b6e6-3ed6e27530e7", + "id": "http://localhost:8080/api/skills/3a4f6625-ff8a-468f-b6e6-3ed6e27530e7", + "skillName": "Defensive Tactics and Techniques Application", + "skillStatement": "Apply defensive tactics and techniques against a resistive or violent law violator.", + "status": "draft", + "keywords": [ + "Defensive Tactics", + "WGUSID: 9816" + ], + "occupations": [ + { + "major": "Protective Service Occupations", + "minor": null, + "broad": null, + "detailed": "Protective Service Occupations", + "code": "33-0000", + "name": "Protective Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": null, + "detailed": "Supervisors of Protective Service Workers", + "code": "33-1000", + "name": "Supervisors of Protective Service Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": "First-Line Supervisors of Law Enforcement Workers", + "detailed": "First-Line Supervisors of Law Enforcement Workers", + "code": "33-1010", + "name": "First-Line Supervisors of Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": "33-1010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": null, + "detailed": "Law Enforcement Workers", + "code": "33-3000", + "name": "Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Bailiffs, Correctional Officers, and Jailers", + "detailed": "Bailiffs, Correctional Officers, and Jailers", + "code": "33-3010", + "name": "Bailiffs, Correctional Officers, and Jailers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Detectives and Criminal Investigators", + "detailed": "Detectives and Criminal Investigators", + "code": "33-3020", + "name": "Detectives and Criminal Investigators", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3020", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Police Officers", + "detailed": "Police Officers", + "code": "33-3050", + "name": "Police Officers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3050", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + } + ] + }, + { + "uuid": "c721bf59-f319-4b3e-b5c0-e01e5bb5b35e", + "id": "http://localhost:8080/api/skills/c721bf59-f319-4b3e-b5c0-e01e5bb5b35e", + "skillName": "Defensive Tactics and Techniques Identification", + "skillStatement": "Identify defensive tactics and techniques that can be used against a resistive or violent law violator.", + "status": "draft", + "keywords": [ + "Defensive Tactics", + "WGUSID: 9815" + ], + "occupations": [ + { + "major": "Protective Service Occupations", + "minor": null, + "broad": null, + "detailed": "Protective Service Occupations", + "code": "33-0000", + "name": "Protective Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": null, + "detailed": "Supervisors of Protective Service Workers", + "code": "33-1000", + "name": "Supervisors of Protective Service Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": "First-Line Supervisors of Law Enforcement Workers", + "detailed": "First-Line Supervisors of Law Enforcement Workers", + "code": "33-1010", + "name": "First-Line Supervisors of Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": "33-1010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": null, + "detailed": "Law Enforcement Workers", + "code": "33-3000", + "name": "Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Bailiffs, Correctional Officers, and Jailers", + "detailed": "Bailiffs, Correctional Officers, and Jailers", + "code": "33-3010", + "name": "Bailiffs, Correctional Officers, and Jailers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Detectives and Criminal Investigators", + "detailed": "Detectives and Criminal Investigators", + "code": "33-3020", + "name": "Detectives and Criminal Investigators", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3020", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Police Officers", + "detailed": "Police Officers", + "code": "33-3050", + "name": "Police Officers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3050", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + } + ] + }, + { + "uuid": "ee720fce-db2b-4d47-8f70-0aacc88ee778", + "id": "http://localhost:8080/api/skills/ee720fce-db2b-4d47-8f70-0aacc88ee778", + "skillName": "Defensive Tactics and Techniques Use", + "skillStatement": "Explain when defensive tactics and techniques can be used against resistive or violent law violators.", + "status": "draft", + "keywords": [ + "Defensive Tactics", + "WGUSID: 9814" + ], + "occupations": [ + { + "major": "Protective Service Occupations", + "minor": null, + "broad": null, + "detailed": "Protective Service Occupations", + "code": "33-0000", + "name": "Protective Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": null, + "detailed": "Supervisors of Protective Service Workers", + "code": "33-1000", + "name": "Supervisors of Protective Service Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": "First-Line Supervisors of Law Enforcement Workers", + "detailed": "First-Line Supervisors of Law Enforcement Workers", + "code": "33-1010", + "name": "First-Line Supervisors of Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": "33-1010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": null, + "detailed": "Law Enforcement Workers", + "code": "33-3000", + "name": "Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Bailiffs, Correctional Officers, and Jailers", + "detailed": "Bailiffs, Correctional Officers, and Jailers", + "code": "33-3010", + "name": "Bailiffs, Correctional Officers, and Jailers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Detectives and Criminal Investigators", + "detailed": "Detectives and Criminal Investigators", + "code": "33-3020", + "name": "Detectives and Criminal Investigators", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3020", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Police Officers", + "detailed": "Police Officers", + "code": "33-3050", + "name": "Police Officers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3050", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + } + ] + }, + { + "uuid": "6504936c-e60a-48ef-b009-cad251477685", + "id": "http://localhost:8080/api/skills/6504936c-e60a-48ef-b009-cad251477685", + "skillName": "Delegate Tasks", + "skillStatement": "Delegate tasks to stay on track with deadlines.", + "status": "draft", + "keywords": [ + "Organizational Skills", + "Organizational Effectiveness", + "Organizational Performance", + "WGUSID: 6137.1" + ], + "occupations": [ + { + "major": "Management Occupations", + "minor": null, + "broad": null, + "detailed": "Management Occupations", + "code": "11-0000", + "name": "Management Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Management Occupations", + "minor": "Top Executives", + "broad": null, + "detailed": "Top Executives", + "code": "11-1000", + "name": "Top Executives", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Management Occupations", + "minor": "Top Executives", + "broad": "Chief Executives", + "detailed": "Chief Executives", + "code": "11-1010", + "name": "Chief Executives", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-1000", + "broadCode": "11-1010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Management Occupations", + "minor": "Top Executives", + "broad": "Chief Executives", + "detailed": "Chief Executives", + "code": "11-1011", + "name": "Chief Executives", + "description": "Determine and formulate policies and provide overall direction of companies or private and public sector organizations within guidelines set up by a board of directors or similar governing body. Plan, direct, or coordinate operational activities at the highest level of management with the help of subordinate executives and staff managers.", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-1000", + "broadCode": "11-1010", + "detailedCode": "11-1011", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Management Occupations", + "minor": "Top Executives", + "broad": "General and Operations Managers", + "detailed": "General and Operations Managers", + "code": "11-1020", + "name": "General and Operations Managers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-1000", + "broadCode": "11-1020", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Management Occupations", + "minor": "Top Executives", + "broad": "General and Operations Managers", + "detailed": "General and Operations Managers", + "code": "11-1021", + "name": "General and Operations Managers", + "description": "Plan, direct, or coordinate the operations of public or private sector organizations, overseeing multiple departments or locations. Duties and responsibilities include formulating policies, managing daily operations, and planning the use of materials and human resources, but are too diverse and general in nature to be classified in any one functional area of management or administration, such as personnel, purchasing, or administrative services. Usually manage through subordinate supervisors. Excludes First-Line Supervisors.", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-1000", + "broadCode": "11-1020", + "detailedCode": "11-1021", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Management Occupations", + "minor": "Advertising, Marketing, Promotions, Public Relations, and Sales Managers", + "broad": null, + "detailed": "Advertising, Marketing, Promotions, Public Relations, and Sales Managers", + "code": "11-2000", + "name": "Advertising, Marketing, Promotions, Public Relations, and Sales Managers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-2000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Management Occupations", + "minor": "Advertising, Marketing, Promotions, Public Relations, and Sales Managers", + "broad": "Marketing and Sales Managers", + "detailed": "Marketing and Sales Managers", + "code": "11-2020", + "name": "Marketing and Sales Managers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-2000", + "broadCode": "11-2020", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Management Occupations", + "minor": "Advertising, Marketing, Promotions, Public Relations, and Sales Managers", + "broad": "Marketing and Sales Managers", + "detailed": "Sales Managers", + "code": "11-2022", + "name": "Sales Managers", + "description": "Plan, direct, or coordinate the actual distribution or movement of a product or service to the customer. Coordinate sales distribution by establishing sales territories, quotas, and goals and establish training programs for sales representatives. Analyze sales statistics gathered by staff to determine sales potential and inventory requirements and monitor the preferences of customers.", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-2000", + "broadCode": "11-2020", + "detailedCode": "11-2022", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Management Occupations", + "minor": "Operations Specialties Managers", + "broad": null, + "detailed": "Operations Specialties Managers", + "code": "11-3000", + "name": "Operations Specialties Managers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Management Occupations", + "minor": "Operations Specialties Managers", + "broad": "Administrative Services and Facilities Managers", + "detailed": "Administrative Services and Facilities Managers", + "code": "11-3010", + "name": "Administrative Services and Facilities Managers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-3000", + "broadCode": "11-3010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Management Occupations", + "minor": "Operations Specialties Managers", + "broad": "Industrial Production Managers", + "detailed": "Industrial Production Managers", + "code": "11-3050", + "name": "Industrial Production Managers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-3000", + "broadCode": "11-3050", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Management Occupations", + "minor": "Operations Specialties Managers", + "broad": "Industrial Production Managers", + "detailed": "Industrial Production Managers", + "code": "11-3051", + "name": "Industrial Production Managers", + "description": "Plan, direct, or coordinate the work activities and resources necessary for manufacturing products in accordance with cost, quality, and quantity specifications.", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-3000", + "broadCode": "11-3050", + "detailedCode": "11-3051", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Management Occupations", + "minor": "Operations Specialties Managers", + "broad": "Transportation, Storage, and Distribution Managers", + "detailed": "Transportation, Storage, and Distribution Managers", + "code": "11-3070", + "name": "Transportation, Storage, and Distribution Managers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-3000", + "broadCode": "11-3070", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Management Occupations", + "minor": "Operations Specialties Managers", + "broad": "Transportation, Storage, and Distribution Managers", + "detailed": "Transportation, Storage, and Distribution Managers", + "code": "11-3071", + "name": "Transportation, Storage, and Distribution Managers", + "description": "Plan, direct, or coordinate transportation, storage, or distribution activities in accordance with organizational policies and applicable government laws or regulations. Includes logistics managers.", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-3000", + "broadCode": "11-3070", + "detailedCode": "11-3071", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Management Occupations", + "minor": "Other Management Occupations", + "broad": null, + "detailed": "Other Management Occupations", + "code": "11-9000", + "name": "Other Management Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-9000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Management Occupations", + "minor": "Other Management Occupations", + "broad": "Construction Managers", + "detailed": "Construction Managers", + "code": "11-9020", + "name": "Construction Managers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-9000", + "broadCode": "11-9020", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Management Occupations", + "minor": "Other Management Occupations", + "broad": "Construction Managers", + "detailed": "Construction Managers", + "code": "11-9021", + "name": "Construction Managers", + "description": "Plan, direct, or coordinate, usually through subordinate supervisory personnel, activities concerned with the construction and maintenance of structures, facilities, and systems. Participate in the conceptual development of a construction project and oversee its organization, scheduling, budgeting, and implementation. Includes managers in specialized construction fields, such as carpentry or plumbing.", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-9000", + "broadCode": "11-9020", + "detailedCode": "11-9021", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Management Occupations", + "minor": "Other Management Occupations", + "broad": "Social and Community Service Managers", + "detailed": "Social and Community Service Managers", + "code": "11-9150", + "name": "Social and Community Service Managers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-9000", + "broadCode": "11-9150", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Management Occupations", + "minor": "Other Management Occupations", + "broad": "Social and Community Service Managers", + "detailed": "Social and Community Service Managers", + "code": "11-9151", + "name": "Social and Community Service Managers", + "description": "Plan, direct, or coordinate the activities of a social service program or community outreach organization. Oversee the program or organization’s budget and policies regarding participant involvement, program requirements, and benefits. Work may involve directing social workers, counselors, or probation officers.", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-9000", + "broadCode": "11-9150", + "detailedCode": "11-9151", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Management Occupations", + "minor": "Other Management Occupations", + "broad": "Miscellaneous Managers", + "detailed": "Miscellaneous Managers", + "code": "11-9190", + "name": "Miscellaneous Managers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-9000", + "broadCode": "11-9190", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": null, + "broad": null, + "detailed": "Business and Financial Operations Occupations", + "code": "13-0000", + "name": "Business and Financial Operations Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Business Operations Specialists", + "broad": null, + "detailed": "Business Operations Specialists", + "code": "13-1000", + "name": "Business Operations Specialists", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Business Operations Specialists", + "broad": "Cost Estimators", + "detailed": "Cost Estimators", + "code": "13-1050", + "name": "Cost Estimators", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-1000", + "broadCode": "13-1050", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Business Operations Specialists", + "broad": "Cost Estimators", + "detailed": "Cost Estimators", + "code": "13-1051", + "name": "Cost Estimators", + "description": "Prepare cost estimates for product manufacturing, construction projects, or services to aid management in bidding on or determining price of product or service. May specialize according to particular service performed or type of product manufactured.", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-1000", + "broadCode": "13-1050", + "detailedCode": "13-1051", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Business Operations Specialists", + "broad": "Management Analysts", + "detailed": "Management Analysts", + "code": "13-1110", + "name": "Management Analysts", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-1000", + "broadCode": "13-1110", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": "Business Operations Specialists", + "broad": "Management Analysts", + "detailed": "Management Analysts", + "code": "13-1111", + "name": "Management Analysts", + "description": "Conduct organizational studies and evaluations, design systems and procedures, conduct work simplification and measurement studies, and prepare operations and procedures manuals to assist management in operating more efficiently and effectively. Includes program analysts and management consultants. Excludes “Computer Systems Analysts” (15-1211) and “Operations Research Analysts” (15-2031).", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": "13-1000", + "broadCode": "13-1110", + "detailedCode": "13-1111", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Life, Physical, and Social Science Occupations", + "minor": null, + "broad": null, + "detailed": "Life, Physical, and Social Science Occupations", + "code": "19-0000", + "name": "Life, Physical, and Social Science Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "19-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Life, Physical, and Social Science Occupations", + "minor": "Life, Physical, and Social Science Technicians", + "broad": null, + "detailed": "Life, Physical, and Social Science Technicians", + "code": "19-4000", + "name": "Life, Physical, and Social Science Technicians", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "19-0000", + "minorCode": "19-4000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Life, Physical, and Social Science Occupations", + "minor": "Life, Physical, and Social Science Technicians", + "broad": "Miscellaneous Life, Physical, and Social Science Technicians", + "detailed": "Miscellaneous Life, Physical, and Social Science Technicians", + "code": "19-4090", + "name": "Miscellaneous Life, Physical, and Social Science Technicians", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "19-0000", + "minorCode": "19-4000", + "broadCode": "19-4090", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": null, + "broad": null, + "detailed": "Protective Service Occupations", + "code": "33-0000", + "name": "Protective Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": null, + "detailed": "Law Enforcement Workers", + "code": "33-3000", + "name": "Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Bailiffs, Correctional Officers, and Jailers", + "detailed": "Bailiffs, Correctional Officers, and Jailers", + "code": "33-3010", + "name": "Bailiffs, Correctional Officers, and Jailers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Detectives and Criminal Investigators", + "detailed": "Detectives and Criminal Investigators", + "code": "33-3020", + "name": "Detectives and Criminal Investigators", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3020", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Building and Grounds Cleaning and Maintenance Occupations", + "minor": null, + "broad": null, + "detailed": "Building and Grounds Cleaning and Maintenance Occupations", + "code": "37-0000", + "name": "Building and Grounds Cleaning and Maintenance Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "37-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Personal Care and Service Occupations", + "minor": null, + "broad": null, + "detailed": "Personal Care and Service Occupations", + "code": "39-0000", + "name": "Personal Care and Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "39-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": null, + "minor": null, + "broad": null, + "detailed": null, + "code": "11-9198", + "name": null, + "description": null, + "framework": null, + "url": null, + "majorCode": "11-0000", + "minorCode": "11-9000", + "broadCode": "11-9190", + "detailedCode": "11-9198", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + } + ] + }, + { + "uuid": "5f9ca506-b09f-4d98-8978-56c6173dd612", + "id": "http://localhost:8080/api/skills/5f9ca506-b09f-4d98-8978-56c6173dd612", + "skillName": "Determine Need in Response to Activated Alarm Device", + "skillStatement": "Determine the emergent need in response to an activated alarm device.", + "status": "draft", + "keywords": [ + "Alarm Devices", + "WGUSID: 9705" + ], + "occupations": [ + { + "major": "Protective Service Occupations", + "minor": null, + "broad": null, + "detailed": "Protective Service Occupations", + "code": "33-0000", + "name": "Protective Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": null, + "detailed": "Supervisors of Protective Service Workers", + "code": "33-1000", + "name": "Supervisors of Protective Service Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": "First-Line Supervisors of Law Enforcement Workers", + "detailed": "First-Line Supervisors of Law Enforcement Workers", + "code": "33-1010", + "name": "First-Line Supervisors of Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": "33-1010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": null, + "detailed": "Law Enforcement Workers", + "code": "33-3000", + "name": "Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Bailiffs, Correctional Officers, and Jailers", + "detailed": "Bailiffs, Correctional Officers, and Jailers", + "code": "33-3010", + "name": "Bailiffs, Correctional Officers, and Jailers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Police Officers", + "detailed": "Police Officers", + "code": "33-3050", + "name": "Police Officers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3050", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + } + ] + }, + { + "uuid": "9f83d714-5d81-471f-8827-8e8fa9a15459", + "id": "http://localhost:8080/api/skills/9f83d714-5d81-471f-8827-8e8fa9a15459", + "skillName": "Display Honesty and Openness", + "skillStatement": "Display honesty and openness when working with others.", + "status": "draft", + "keywords": [ + "Establishing Trust", + "WGUSID: 2735" + ], + "occupations": [ + { + "major": "Management Occupations", + "minor": null, + "broad": null, + "detailed": "Management Occupations", + "code": "11-0000", + "name": "Management Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Management Occupations", + "minor": "Top Executives", + "broad": null, + "detailed": "Top Executives", + "code": "11-1000", + "name": "Top Executives", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Management Occupations", + "minor": "Top Executives", + "broad": "Chief Executives", + "detailed": "Chief Executives", + "code": "11-1010", + "name": "Chief Executives", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-1000", + "broadCode": "11-1010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Management Occupations", + "minor": "Top Executives", + "broad": "Chief Executives", + "detailed": "Chief Executives", + "code": "11-1011", + "name": "Chief Executives", + "description": "Determine and formulate policies and provide overall direction of companies or private and public sector organizations within guidelines set up by a board of directors or similar governing body. Plan, direct, or coordinate operational activities at the highest level of management with the help of subordinate executives and staff managers.", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-1000", + "broadCode": "11-1010", + "detailedCode": "11-1011", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Management Occupations", + "minor": "Top Executives", + "broad": "General and Operations Managers", + "detailed": "General and Operations Managers", + "code": "11-1020", + "name": "General and Operations Managers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-1000", + "broadCode": "11-1020", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Management Occupations", + "minor": "Top Executives", + "broad": "General and Operations Managers", + "detailed": "General and Operations Managers", + "code": "11-1021", + "name": "General and Operations Managers", + "description": "Plan, direct, or coordinate the operations of public or private sector organizations, overseeing multiple departments or locations. Duties and responsibilities include formulating policies, managing daily operations, and planning the use of materials and human resources, but are too diverse and general in nature to be classified in any one functional area of management or administration, such as personnel, purchasing, or administrative services. Usually manage through subordinate supervisors. Excludes First-Line Supervisors.", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-1000", + "broadCode": "11-1020", + "detailedCode": "11-1021", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Management Occupations", + "minor": "Advertising, Marketing, Promotions, Public Relations, and Sales Managers", + "broad": null, + "detailed": "Advertising, Marketing, Promotions, Public Relations, and Sales Managers", + "code": "11-2000", + "name": "Advertising, Marketing, Promotions, Public Relations, and Sales Managers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-2000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Management Occupations", + "minor": "Advertising, Marketing, Promotions, Public Relations, and Sales Managers", + "broad": "Advertising and Promotions Managers", + "detailed": "Advertising and Promotions Managers", + "code": "11-2010", + "name": "Advertising and Promotions Managers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-2000", + "broadCode": "11-2010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Management Occupations", + "minor": "Advertising, Marketing, Promotions, Public Relations, and Sales Managers", + "broad": "Advertising and Promotions Managers", + "detailed": "Advertising and Promotions Managers", + "code": "11-2011", + "name": "Advertising and Promotions Managers", + "description": "Plan, direct, or coordinate advertising policies and programs or produce collateral materials, such as posters, contests, coupons, or giveaways, to create extra interest in the purchase of a product or service for a department, an entire organization, or on an account basis.", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-2000", + "broadCode": "11-2010", + "detailedCode": "11-2011", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Management Occupations", + "minor": "Operations Specialties Managers", + "broad": null, + "detailed": "Operations Specialties Managers", + "code": "11-3000", + "name": "Operations Specialties Managers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Management Occupations", + "minor": "Operations Specialties Managers", + "broad": "Transportation, Storage, and Distribution Managers", + "detailed": "Transportation, Storage, and Distribution Managers", + "code": "11-3070", + "name": "Transportation, Storage, and Distribution Managers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-3000", + "broadCode": "11-3070", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Management Occupations", + "minor": "Operations Specialties Managers", + "broad": "Transportation, Storage, and Distribution Managers", + "detailed": "Transportation, Storage, and Distribution Managers", + "code": "11-3071", + "name": "Transportation, Storage, and Distribution Managers", + "description": "Plan, direct, or coordinate transportation, storage, or distribution activities in accordance with organizational policies and applicable government laws or regulations. Includes logistics managers.", + "framework": "bls", + "url": null, + "majorCode": "11-0000", + "minorCode": "11-3000", + "broadCode": "11-3070", + "detailedCode": "11-3071", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Business and Financial Operations Occupations", + "minor": null, + "broad": null, + "detailed": "Business and Financial Operations Occupations", + "code": "13-0000", + "name": "Business and Financial Operations Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "13-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Protective Service Occupations", + "minor": null, + "broad": null, + "detailed": "Protective Service Occupations", + "code": "33-0000", + "name": "Protective Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": null, + "detailed": "Supervisors of Protective Service Workers", + "code": "33-1000", + "name": "Supervisors of Protective Service Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": "First-Line Supervisors of Law Enforcement Workers", + "detailed": "First-Line Supervisors of Law Enforcement Workers", + "code": "33-1010", + "name": "First-Line Supervisors of Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": "33-1010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": null, + "detailed": "Law Enforcement Workers", + "code": "33-3000", + "name": "Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Bailiffs, Correctional Officers, and Jailers", + "detailed": "Bailiffs, Correctional Officers, and Jailers", + "code": "33-3010", + "name": "Bailiffs, Correctional Officers, and Jailers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Detectives and Criminal Investigators", + "detailed": "Detectives and Criminal Investigators", + "code": "33-3020", + "name": "Detectives and Criminal Investigators", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3020", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Police Officers", + "detailed": "Police Officers", + "code": "33-3050", + "name": "Police Officers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3050", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + } + ] + }, + { + "uuid": "06b708f7-1de2-4668-9a35-9743e68ad676", + "id": "http://localhost:8080/api/skills/06b708f7-1de2-4668-9a35-9743e68ad676", + "skillName": "Doffing Personal Protective Equipment", + "skillStatement": "Apply standard operating procedures (SOPs) for doffing personal protective equipment (PPE).", + "status": "draft", + "keywords": [ + "Personal Protective Equipment", + "WGUSID: 9363" + ], + "occupations": [ + { + "major": "Community and Social Service Occupations", + "minor": null, + "broad": null, + "detailed": "Community and Social Service Occupations", + "code": "21-0000", + "name": "Community and Social Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "21-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Community and Social Service Occupations", + "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", + "broad": null, + "detailed": "Counselors, Social Workers, and Other Community and Social Service Specialists", + "code": "21-1000", + "name": "Counselors, Social Workers, and Other Community and Social Service Specialists", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "21-0000", + "minorCode": "21-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Community and Social Service Occupations", + "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", + "broad": "Counselors", + "detailed": "Counselors", + "code": "21-1010", + "name": "Counselors", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "21-0000", + "minorCode": "21-1000", + "broadCode": "21-1010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Community and Social Service Occupations", + "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", + "broad": "Social Workers", + "detailed": "Social Workers", + "code": "21-1020", + "name": "Social Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "21-0000", + "minorCode": "21-1000", + "broadCode": "21-1020", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Community and Social Service Occupations", + "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", + "broad": "Social Workers", + "detailed": "Healthcare Social Workers", + "code": "21-1022", + "name": "Healthcare Social Workers", + "description": "Provide individuals, families, and groups with the psychosocial support needed to cope with chronic, acute, or terminal illnesses. Services include advising family caregivers. Provide patients with information and counseling, and make referrals for other services. May also provide case and care management or interventions designed to promote health, prevent disease, and address barriers to access to healthcare.", + "framework": "bls", + "url": null, + "majorCode": "21-0000", + "minorCode": "21-1000", + "broadCode": "21-1020", + "detailedCode": "21-1022", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Healthcare Practitioners and Technical Occupations", + "minor": null, + "broad": null, + "detailed": "Healthcare Practitioners and Technical Occupations", + "code": "29-0000", + "name": "Healthcare Practitioners and Technical Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "29-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Healthcare Practitioners and Technical Occupations", + "minor": "Healthcare Diagnosing or Treating Practitioners", + "broad": null, + "detailed": "Healthcare Diagnosing or Treating Practitioners", + "code": "29-1000", + "name": "Healthcare Diagnosing or Treating Practitioners", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "29-0000", + "minorCode": "29-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Healthcare Practitioners and Technical Occupations", + "minor": "Healthcare Diagnosing or Treating Practitioners", + "broad": "Optometrists", + "detailed": "Optometrists", + "code": "29-1040", + "name": "Optometrists", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "29-0000", + "minorCode": "29-1000", + "broadCode": "29-1040", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Healthcare Practitioners and Technical Occupations", + "minor": "Healthcare Diagnosing or Treating Practitioners", + "broad": "Optometrists", + "detailed": "Optometrists", + "code": "29-1041", + "name": "Optometrists", + "description": "Diagnose, manage, and treat conditions and diseases of the human eye and visual system. Examine eyes and visual system, diagnose problems or impairments, prescribe corrective lenses, and provide treatment. May prescribe therapeutic drugs to treat specific eye conditions. Ophthalmologists are included in “Ophthalmologists, Except Pediatric” (29-1241).", + "framework": "bls", + "url": null, + "majorCode": "29-0000", + "minorCode": "29-1000", + "broadCode": "29-1040", + "detailedCode": "29-1041", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Healthcare Practitioners and Technical Occupations", + "minor": "Healthcare Diagnosing or Treating Practitioners", + "broad": "Nurse Practitioners", + "detailed": "Nurse Practitioners", + "code": "29-1170", + "name": "Nurse Practitioners", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "29-0000", + "minorCode": "29-1000", + "broadCode": "29-1170", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Healthcare Practitioners and Technical Occupations", + "minor": "Healthcare Diagnosing or Treating Practitioners", + "broad": "Nurse Practitioners", + "detailed": "Nurse Practitioners", + "code": "29-1171", + "name": "Nurse Practitioners", + "description": "Diagnose and treat acute, episodic, or chronic illness, independently or as part of a healthcare team. May focus on health promotion and disease prevention. May order, perform, or interpret diagnostic tests such as lab work and x rays. May prescribe medication. Must be registered nurses who have specialized graduate education.", + "framework": "bls", + "url": null, + "majorCode": "29-0000", + "minorCode": "29-1000", + "broadCode": "29-1170", + "detailedCode": "29-1171", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Healthcare Practitioners and Technical Occupations", + "minor": "Healthcare Diagnosing or Treating Practitioners", + "broad": "Miscellaneous Healthcare Diagnosing or Treating Practitioners", + "detailed": "Miscellaneous Healthcare Diagnosing or Treating Practitioners", + "code": "29-1290", + "name": "Miscellaneous Healthcare Diagnosing or Treating Practitioners", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "29-0000", + "minorCode": "29-1000", + "broadCode": "29-1290", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Healthcare Practitioners and Technical Occupations", + "minor": "Healthcare Diagnosing or Treating Practitioners", + "broad": "Miscellaneous Healthcare Diagnosing or Treating Practitioners", + "detailed": "Dental Hygienists", + "code": "29-1292", + "name": "Dental Hygienists", + "description": "Administer oral hygiene care to patients. Assess patient oral hygiene problems or needs and maintain health records. Advise patients on oral health maintenance and disease prevention. May provide advanced care such as providing fluoride treatment or administering topical anesthesia.", + "framework": "bls", + "url": null, + "majorCode": "29-0000", + "minorCode": "29-1000", + "broadCode": "29-1290", + "detailedCode": "29-1292", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Healthcare Practitioners and Technical Occupations", + "minor": "Health Technologists and Technicians", + "broad": null, + "detailed": "Health Technologists and Technicians", + "code": "29-2000", + "name": "Health Technologists and Technicians", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "29-0000", + "minorCode": "29-2000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Healthcare Practitioners and Technical Occupations", + "minor": "Health Technologists and Technicians", + "broad": "Opticians, Dispensing", + "detailed": "Opticians, Dispensing", + "code": "29-2080", + "name": "Opticians, Dispensing", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "29-0000", + "minorCode": "29-2000", + "broadCode": "29-2080", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Healthcare Practitioners and Technical Occupations", + "minor": "Health Technologists and Technicians", + "broad": "Opticians, Dispensing", + "detailed": "Opticians, Dispensing", + "code": "29-2081", + "name": "Opticians, Dispensing", + "description": "Design, measure, fit, and adapt lenses and frames for client according to written optical prescription or specification. Assist client with inserting, removing, and caring for contact lenses. Assist client with selecting frames. Measure customer for size of eyeglasses and coordinate frames with facial and eye measurements and optical prescription. Prepare work order for optical laboratory containing instructions for grinding and mounting lenses in frames. Verify exactness of finished lens spectacles. Adjust frame and lens position to fit client. May shape or reshape frames. Includes contact lens opticians.", + "framework": "bls", + "url": null, + "majorCode": "29-0000", + "minorCode": "29-2000", + "broadCode": "29-2080", + "detailedCode": "29-2081", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Healthcare Support Occupations", + "minor": null, + "broad": null, + "detailed": "Healthcare Support Occupations", + "code": "31-0000", + "name": "Healthcare Support Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "31-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Healthcare Support Occupations", + "minor": "Home Health and Personal Care Aides; and Nursing Assistants, Orderlies, and Psychiatric Aides", + "broad": null, + "detailed": "Home Health and Personal Care Aides; and Nursing Assistants, Orderlies, and Psychiatric Aides", + "code": "31-1100", + "name": "Home Health and Personal Care Aides; and Nursing Assistants, Orderlies, and Psychiatric Aides", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "31-0000", + "minorCode": "31-1100", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Healthcare Support Occupations", + "minor": "Home Health and Personal Care Aides; and Nursing Assistants, Orderlies, and Psychiatric Aides", + "broad": "Home Health and Personal Care Aides", + "detailed": "Home Health and Personal Care Aides", + "code": "31-1120", + "name": "Home Health and Personal Care Aides", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "31-0000", + "minorCode": "31-1100", + "broadCode": "31-1120", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Healthcare Support Occupations", + "minor": "Home Health and Personal Care Aides; and Nursing Assistants, Orderlies, and Psychiatric Aides", + "broad": "Nursing Assistants, Orderlies, and Psychiatric Aides", + "detailed": "Nursing Assistants, Orderlies, and Psychiatric Aides", + "code": "31-1130", + "name": "Nursing Assistants, Orderlies, and Psychiatric Aides", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "31-0000", + "minorCode": "31-1100", + "broadCode": "31-1130", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Healthcare Support Occupations", + "minor": "Home Health and Personal Care Aides; and Nursing Assistants, Orderlies, and Psychiatric Aides", + "broad": "Nursing Assistants, Orderlies, and Psychiatric Aides", + "detailed": "Nursing Assistants", + "code": "31-1131", + "name": "Nursing Assistants", + "description": "Provide or assist with basic care or support under the direction of onsite licensed nursing staff. Perform duties such as monitoring of health status, feeding, bathing, dressing, grooming, toileting, or ambulation of patients in a health or nursing facility. May include medication administration and other health-related tasks. Includes nursing care attendants, nursing aides, and nursing attendants. Excludes “Home Health Aides” (31-1121), “Personal Care Aides” (31-1122), “Orderlies” (31-1132), and “Psychiatric Aides” (31-1133).", + "framework": "bls", + "url": null, + "majorCode": "31-0000", + "minorCode": "31-1100", + "broadCode": "31-1130", + "detailedCode": "31-1131", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Healthcare Support Occupations", + "minor": "Other Healthcare Support Occupations", + "broad": null, + "detailed": "Other Healthcare Support Occupations", + "code": "31-9000", + "name": "Other Healthcare Support Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "31-0000", + "minorCode": "31-9000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Healthcare Support Occupations", + "minor": "Other Healthcare Support Occupations", + "broad": "Miscellaneous Healthcare Support Occupations", + "detailed": "Miscellaneous Healthcare Support Occupations", + "code": "31-9090", + "name": "Miscellaneous Healthcare Support Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "31-0000", + "minorCode": "31-9000", + "broadCode": "31-9090", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Healthcare Support Occupations", + "minor": "Other Healthcare Support Occupations", + "broad": "Miscellaneous Healthcare Support Occupations", + "detailed": "Dental Assistants", + "code": "31-9091", + "name": "Dental Assistants", + "description": "Perform limited clinical duties under the direction of a dentist. Clinical duties may include equipment preparation and sterilization, preparing patients for treatment, assisting the dentist during treatment, and providing patients with instructions for oral healthcare procedures. May perform administrative duties such as scheduling appointments, maintaining medical records, billing, and coding information for insurance purposes.", + "framework": "bls", + "url": null, + "majorCode": "31-0000", + "minorCode": "31-9000", + "broadCode": "31-9090", + "detailedCode": "31-9091", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Healthcare Support Occupations", + "minor": "Other Healthcare Support Occupations", + "broad": "Miscellaneous Healthcare Support Occupations", + "detailed": "Medical Assistants", + "code": "31-9092", + "name": "Medical Assistants", + "description": "Perform administrative and certain clinical duties under the direction of a physician. Administrative duties may include scheduling appointments, maintaining medical records, billing, and coding information for insurance purposes. Clinical duties may include taking and recording vital signs and medical histories, preparing patients for examination, drawing blood, and administering medications as directed by physician. Excludes “Physician Assistants” (29-1071).", + "framework": "bls", + "url": null, + "majorCode": "31-0000", + "minorCode": "31-9000", + "broadCode": "31-9090", + "detailedCode": "31-9092", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Protective Service Occupations", + "minor": null, + "broad": null, + "detailed": "Protective Service Occupations", + "code": "33-0000", + "name": "Protective Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": null, + "detailed": "Law Enforcement Workers", + "code": "33-3000", + "name": "Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Bailiffs, Correctional Officers, and Jailers", + "detailed": "Bailiffs, Correctional Officers, and Jailers", + "code": "33-3010", + "name": "Bailiffs, Correctional Officers, and Jailers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Police Officers", + "detailed": "Police Officers", + "code": "33-3050", + "name": "Police Officers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3050", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": null, + "minor": null, + "broad": null, + "detailed": null, + "code": "21-1018", + "name": null, + "description": null, + "framework": null, + "url": null, + "majorCode": "21-0000", + "minorCode": "21-1000", + "broadCode": "21-1010", + "detailedCode": "21-1018", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + } + ] + }, + { + "uuid": "c415c1cf-5a29-4d44-abb4-aa02dc95b6ae", + "id": "http://localhost:8080/api/skills/c415c1cf-5a29-4d44-abb4-aa02dc95b6ae", + "skillName": "Donning Personal Protective Equipment", + "skillStatement": "Apply standard operating procedures (SOPs) for putting on personal protective equipment (PPE).", + "status": "draft", + "keywords": [ + "Medical Assistant", + "Personal Protective Equipment", + "WGUSID: 9361" + ], + "occupations": [ + { + "major": "Community and Social Service Occupations", + "minor": null, + "broad": null, + "detailed": "Community and Social Service Occupations", + "code": "21-0000", + "name": "Community and Social Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "21-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Community and Social Service Occupations", + "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", + "broad": null, + "detailed": "Counselors, Social Workers, and Other Community and Social Service Specialists", + "code": "21-1000", + "name": "Counselors, Social Workers, and Other Community and Social Service Specialists", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "21-0000", + "minorCode": "21-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Community and Social Service Occupations", + "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", + "broad": "Counselors", + "detailed": "Counselors", + "code": "21-1010", + "name": "Counselors", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "21-0000", + "minorCode": "21-1000", + "broadCode": "21-1010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Community and Social Service Occupations", + "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", + "broad": "Social Workers", + "detailed": "Social Workers", + "code": "21-1020", + "name": "Social Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "21-0000", + "minorCode": "21-1000", + "broadCode": "21-1020", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Community and Social Service Occupations", + "minor": "Counselors, Social Workers, and Other Community and Social Service Specialists", + "broad": "Social Workers", + "detailed": "Healthcare Social Workers", + "code": "21-1022", + "name": "Healthcare Social Workers", + "description": "Provide individuals, families, and groups with the psychosocial support needed to cope with chronic, acute, or terminal illnesses. Services include advising family caregivers. Provide patients with information and counseling, and make referrals for other services. May also provide case and care management or interventions designed to promote health, prevent disease, and address barriers to access to healthcare.", + "framework": "bls", + "url": null, + "majorCode": "21-0000", + "minorCode": "21-1000", + "broadCode": "21-1020", + "detailedCode": "21-1022", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Healthcare Practitioners and Technical Occupations", + "minor": null, + "broad": null, + "detailed": "Healthcare Practitioners and Technical Occupations", + "code": "29-0000", + "name": "Healthcare Practitioners and Technical Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "29-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Healthcare Practitioners and Technical Occupations", + "minor": "Healthcare Diagnosing or Treating Practitioners", + "broad": null, + "detailed": "Healthcare Diagnosing or Treating Practitioners", + "code": "29-1000", + "name": "Healthcare Diagnosing or Treating Practitioners", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "29-0000", + "minorCode": "29-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Healthcare Practitioners and Technical Occupations", + "minor": "Healthcare Diagnosing or Treating Practitioners", + "broad": "Optometrists", + "detailed": "Optometrists", + "code": "29-1040", + "name": "Optometrists", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "29-0000", + "minorCode": "29-1000", + "broadCode": "29-1040", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Healthcare Practitioners and Technical Occupations", + "minor": "Healthcare Diagnosing or Treating Practitioners", + "broad": "Optometrists", + "detailed": "Optometrists", + "code": "29-1041", + "name": "Optometrists", + "description": "Diagnose, manage, and treat conditions and diseases of the human eye and visual system. Examine eyes and visual system, diagnose problems or impairments, prescribe corrective lenses, and provide treatment. May prescribe therapeutic drugs to treat specific eye conditions. Ophthalmologists are included in “Ophthalmologists, Except Pediatric” (29-1241).", + "framework": "bls", + "url": null, + "majorCode": "29-0000", + "minorCode": "29-1000", + "broadCode": "29-1040", + "detailedCode": "29-1041", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Healthcare Practitioners and Technical Occupations", + "minor": "Healthcare Diagnosing or Treating Practitioners", + "broad": "Nurse Practitioners", + "detailed": "Nurse Practitioners", + "code": "29-1170", + "name": "Nurse Practitioners", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "29-0000", + "minorCode": "29-1000", + "broadCode": "29-1170", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Healthcare Practitioners and Technical Occupations", + "minor": "Healthcare Diagnosing or Treating Practitioners", + "broad": "Nurse Practitioners", + "detailed": "Nurse Practitioners", + "code": "29-1171", + "name": "Nurse Practitioners", + "description": "Diagnose and treat acute, episodic, or chronic illness, independently or as part of a healthcare team. May focus on health promotion and disease prevention. May order, perform, or interpret diagnostic tests such as lab work and x rays. May prescribe medication. Must be registered nurses who have specialized graduate education.", + "framework": "bls", + "url": null, + "majorCode": "29-0000", + "minorCode": "29-1000", + "broadCode": "29-1170", + "detailedCode": "29-1171", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Healthcare Practitioners and Technical Occupations", + "minor": "Healthcare Diagnosing or Treating Practitioners", + "broad": "Miscellaneous Healthcare Diagnosing or Treating Practitioners", + "detailed": "Miscellaneous Healthcare Diagnosing or Treating Practitioners", + "code": "29-1290", + "name": "Miscellaneous Healthcare Diagnosing or Treating Practitioners", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "29-0000", + "minorCode": "29-1000", + "broadCode": "29-1290", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Healthcare Practitioners and Technical Occupations", + "minor": "Healthcare Diagnosing or Treating Practitioners", + "broad": "Miscellaneous Healthcare Diagnosing or Treating Practitioners", + "detailed": "Dental Hygienists", + "code": "29-1292", + "name": "Dental Hygienists", + "description": "Administer oral hygiene care to patients. Assess patient oral hygiene problems or needs and maintain health records. Advise patients on oral health maintenance and disease prevention. May provide advanced care such as providing fluoride treatment or administering topical anesthesia.", + "framework": "bls", + "url": null, + "majorCode": "29-0000", + "minorCode": "29-1000", + "broadCode": "29-1290", + "detailedCode": "29-1292", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Healthcare Practitioners and Technical Occupations", + "minor": "Health Technologists and Technicians", + "broad": null, + "detailed": "Health Technologists and Technicians", + "code": "29-2000", + "name": "Health Technologists and Technicians", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "29-0000", + "minorCode": "29-2000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Healthcare Practitioners and Technical Occupations", + "minor": "Health Technologists and Technicians", + "broad": "Opticians, Dispensing", + "detailed": "Opticians, Dispensing", + "code": "29-2080", + "name": "Opticians, Dispensing", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "29-0000", + "minorCode": "29-2000", + "broadCode": "29-2080", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Healthcare Practitioners and Technical Occupations", + "minor": "Health Technologists and Technicians", + "broad": "Opticians, Dispensing", + "detailed": "Opticians, Dispensing", + "code": "29-2081", + "name": "Opticians, Dispensing", + "description": "Design, measure, fit, and adapt lenses and frames for client according to written optical prescription or specification. Assist client with inserting, removing, and caring for contact lenses. Assist client with selecting frames. Measure customer for size of eyeglasses and coordinate frames with facial and eye measurements and optical prescription. Prepare work order for optical laboratory containing instructions for grinding and mounting lenses in frames. Verify exactness of finished lens spectacles. Adjust frame and lens position to fit client. May shape or reshape frames. Includes contact lens opticians.", + "framework": "bls", + "url": null, + "majorCode": "29-0000", + "minorCode": "29-2000", + "broadCode": "29-2080", + "detailedCode": "29-2081", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Healthcare Support Occupations", + "minor": null, + "broad": null, + "detailed": "Healthcare Support Occupations", + "code": "31-0000", + "name": "Healthcare Support Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "31-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Healthcare Support Occupations", + "minor": "Home Health and Personal Care Aides; and Nursing Assistants, Orderlies, and Psychiatric Aides", + "broad": null, + "detailed": "Home Health and Personal Care Aides; and Nursing Assistants, Orderlies, and Psychiatric Aides", + "code": "31-1100", + "name": "Home Health and Personal Care Aides; and Nursing Assistants, Orderlies, and Psychiatric Aides", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "31-0000", + "minorCode": "31-1100", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Healthcare Support Occupations", + "minor": "Home Health and Personal Care Aides; and Nursing Assistants, Orderlies, and Psychiatric Aides", + "broad": "Home Health and Personal Care Aides", + "detailed": "Home Health and Personal Care Aides", + "code": "31-1120", + "name": "Home Health and Personal Care Aides", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "31-0000", + "minorCode": "31-1100", + "broadCode": "31-1120", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Healthcare Support Occupations", + "minor": "Home Health and Personal Care Aides; and Nursing Assistants, Orderlies, and Psychiatric Aides", + "broad": "Nursing Assistants, Orderlies, and Psychiatric Aides", + "detailed": "Nursing Assistants, Orderlies, and Psychiatric Aides", + "code": "31-1130", + "name": "Nursing Assistants, Orderlies, and Psychiatric Aides", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "31-0000", + "minorCode": "31-1100", + "broadCode": "31-1130", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Healthcare Support Occupations", + "minor": "Home Health and Personal Care Aides; and Nursing Assistants, Orderlies, and Psychiatric Aides", + "broad": "Nursing Assistants, Orderlies, and Psychiatric Aides", + "detailed": "Nursing Assistants", + "code": "31-1131", + "name": "Nursing Assistants", + "description": "Provide or assist with basic care or support under the direction of onsite licensed nursing staff. Perform duties such as monitoring of health status, feeding, bathing, dressing, grooming, toileting, or ambulation of patients in a health or nursing facility. May include medication administration and other health-related tasks. Includes nursing care attendants, nursing aides, and nursing attendants. Excludes “Home Health Aides” (31-1121), “Personal Care Aides” (31-1122), “Orderlies” (31-1132), and “Psychiatric Aides” (31-1133).", + "framework": "bls", + "url": null, + "majorCode": "31-0000", + "minorCode": "31-1100", + "broadCode": "31-1130", + "detailedCode": "31-1131", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Healthcare Support Occupations", + "minor": "Other Healthcare Support Occupations", + "broad": null, + "detailed": "Other Healthcare Support Occupations", + "code": "31-9000", + "name": "Other Healthcare Support Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "31-0000", + "minorCode": "31-9000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Healthcare Support Occupations", + "minor": "Other Healthcare Support Occupations", + "broad": "Miscellaneous Healthcare Support Occupations", + "detailed": "Miscellaneous Healthcare Support Occupations", + "code": "31-9090", + "name": "Miscellaneous Healthcare Support Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "31-0000", + "minorCode": "31-9000", + "broadCode": "31-9090", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Healthcare Support Occupations", + "minor": "Other Healthcare Support Occupations", + "broad": "Miscellaneous Healthcare Support Occupations", + "detailed": "Dental Assistants", + "code": "31-9091", + "name": "Dental Assistants", + "description": "Perform limited clinical duties under the direction of a dentist. Clinical duties may include equipment preparation and sterilization, preparing patients for treatment, assisting the dentist during treatment, and providing patients with instructions for oral healthcare procedures. May perform administrative duties such as scheduling appointments, maintaining medical records, billing, and coding information for insurance purposes.", + "framework": "bls", + "url": null, + "majorCode": "31-0000", + "minorCode": "31-9000", + "broadCode": "31-9090", + "detailedCode": "31-9091", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Healthcare Support Occupations", + "minor": "Other Healthcare Support Occupations", + "broad": "Miscellaneous Healthcare Support Occupations", + "detailed": "Medical Assistants", + "code": "31-9092", + "name": "Medical Assistants", + "description": "Perform administrative and certain clinical duties under the direction of a physician. Administrative duties may include scheduling appointments, maintaining medical records, billing, and coding information for insurance purposes. Clinical duties may include taking and recording vital signs and medical histories, preparing patients for examination, drawing blood, and administering medications as directed by physician. Excludes “Physician Assistants” (29-1071).", + "framework": "bls", + "url": null, + "majorCode": "31-0000", + "minorCode": "31-9000", + "broadCode": "31-9090", + "detailedCode": "31-9092", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + }, + { + "major": "Protective Service Occupations", + "minor": null, + "broad": null, + "detailed": "Protective Service Occupations", + "code": "33-0000", + "name": "Protective Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": null, + "detailed": "Law Enforcement Workers", + "code": "33-3000", + "name": "Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Bailiffs, Correctional Officers, and Jailers", + "detailed": "Bailiffs, Correctional Officers, and Jailers", + "code": "33-3010", + "name": "Bailiffs, Correctional Officers, and Jailers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Police Officers", + "detailed": "Police Officers", + "code": "33-3050", + "name": "Police Officers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3050", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": null, + "minor": null, + "broad": null, + "detailed": null, + "code": "21-1018", + "name": null, + "description": null, + "framework": null, + "url": null, + "majorCode": "21-0000", + "minorCode": "21-1000", + "broadCode": "21-1010", + "detailedCode": "21-1018", + "jobRoleCode": null, + "jobCodeLevelAsNumber": 4 + } + ] + }, + { + "uuid": "2d1c86bb-bcec-49e8-8ee6-ec040cb1ec1c", + "id": "http://localhost:8080/api/skills/2d1c86bb-bcec-49e8-8ee6-ec040cb1ec1c", + "skillName": "Embrace Change", + "skillStatement": "Demonstrate the ability to embrace ambiguous conditions and change.", + "status": "draft", + "keywords": [ + "21st_Century_Skills", + "SEL", + "Power_Skills_Framework", + "Social Emotional Learning (SEL): General", + "Doing", + "Adaptability", + "Social Emotional Learning (SEL): Executive Function & Responsible Decision Making", + "WGUSID: 7903" + ], + "occupations": [ + { + "major": "Protective Service Occupations", + "minor": null, + "broad": null, + "detailed": "Protective Service Occupations", + "code": "33-0000", + "name": "Protective Service Occupations", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": null, + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 1 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": null, + "detailed": "Supervisors of Protective Service Workers", + "code": "33-1000", + "name": "Supervisors of Protective Service Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Supervisors of Protective Service Workers", + "broad": "First-Line Supervisors of Law Enforcement Workers", + "detailed": "First-Line Supervisors of Law Enforcement Workers", + "code": "33-1010", + "name": "First-Line Supervisors of Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-1000", + "broadCode": "33-1010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": null, + "detailed": "Law Enforcement Workers", + "code": "33-3000", + "name": "Law Enforcement Workers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": null, + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 2 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Bailiffs, Correctional Officers, and Jailers", + "detailed": "Bailiffs, Correctional Officers, and Jailers", + "code": "33-3010", + "name": "Bailiffs, Correctional Officers, and Jailers", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3010", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + }, + { + "major": "Protective Service Occupations", + "minor": "Law Enforcement Workers", + "broad": "Detectives and Criminal Investigators", + "detailed": "Detectives and Criminal Investigators", + "code": "33-3020", + "name": "Detectives and Criminal Investigators", + "description": "", + "framework": "bls", + "url": null, + "majorCode": "33-0000", + "minorCode": "33-3000", + "broadCode": "33-3020", + "detailedCode": null, + "jobRoleCode": null, + "jobCodeLevelAsNumber": 3 + } + ] + } ] \ No newline at end of file diff --git a/test/api-test/api/v3/skills/{uuid}/get.json b/test/api-test/api/v3/skills/{uuid}/get.json index b0a2f433f..0156686d8 100644 --- a/test/api-test/api/v3/skills/{uuid}/get.json +++ b/test/api-test/api/v3/skills/{uuid}/get.json @@ -1,235 +1,247 @@ { - "type": "RichSkillDescriptor", - "id": "http://localhost:8080/api/skills/c9d819b3-de84-401e-808a-ddcbfbdd4953", - "archiveDate": null, - "publishDate": "2023-03-30T13:02:07.411364Z", - "creationDate": "2023-02-27T21:02:47.15505Z", - "updateDate": "2023-03-30T13:02:07.411354Z", - "alignments": [ - { - "id": "https://skills.emsidata.com/skills/KS1254M6N7QPZ96MGR0L", - "skillName": "Information Security Management" - } - ], - "categories": [ - "Information Security Management" - ], - "certifications": [], - "employers": [], - "keywords": [ - "Risk", - "Information Security Management", - "Compromise Assessment", - "Computer Emergency Response Teams (CERT)", - "Computer Security Incident Response (CSIRT)", - "Defense Information Systems Agency (DISA)", - "Dynamic Application Security Testing (DAST)", - "Information Asset Classification", - "Personnel Security", - "Security Architecture", - "Security by Design", - "Security Event Triage", - "Security Implementation", - "Security Integration", - "Security Models and Design", - "Security Operations Center (SOC)", - "Security Operations Management", - "Symantec Packages", - "Systems", - "Applications & Products (SAP) Enterprise Threat Detection (ETD)", - "Applications & Products (SAP) in Data Processing Business Suite 4 (S/4) Fiori Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 (S/4) User Interface 5 (UI5) Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 High-Performance Analytic Appliance (S/4HANA) Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 High-Performance Analytic Appliance (S/4HANA)", - "Fiori", - "and User Interface 5 (UI5) Security", - "Applications & Products (SAP) Security & Governance", - "and Compliance (GRC)", - "ThreadFix", - "ThreatConnect", - "TippingPoint", - "TrapX DeceptionGrid", - "Varonis", - "Virtual Domains (VDOMs)", - "Vormetric", - "Vormetric Application Encryption", - "Vormetric Tokenization" - ], - "standards": [ - { - "skillName": "NICE_SP_RSK" - }, - { - "skillName": "NICE_SP_DEV" - }, - { - "skillName": "NICE_SP_ARC" - }, - { - "skillName": "NICE_SP_TRD" - }, - { - "skillName": "NICE_SP_SRP" - }, - { - "skillName": "NICE_SP_TST" - }, - { - "skillName": "NICE_SP_SYS" - }, - { - "skillName": "NICE_OV_MGT" - }, - { - "skillName": "NICE_AN_LNG" - }, - { - "skillName": "NICE_CO_OPS" - }, - { - "skillName": "NICE_OV_PMA" - }, - { - "skillName": "NICE_OM_ANA" - }, - { - "skillName": "NICE_PR_CIR" - }, - { - "skillName": "NICE_OM_NET" - }, - { - "skillName": "NICE_OM_ADM" - } - ], - "collections": [ - { - "uuid": "fb14bd66-e1b0-40d8-b6b5-377c920b1d35", - "name": "Software Development" - } - ], - "occupations": [ - { - "code": "15-0000", - "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls", - "parents": [ - { - "code": "15-0000", - "targetNodeName": "Computer and Mathematical Occupations", - "level": "Major" - } - ] - }, - { - "code": "15-1200", - "targetNodeName": "Computer Occupations", - "frameworkName": "bls", - "parents": [ - { - "code": "15-0000", - "targetNodeName": "Computer and Mathematical Occupations", - "level": "Major" - }, - { - "code": "15-1200", - "targetNodeName": "Computer Occupations", - "level": "Minor" - } - ] - }, - { - "code": "15-1240", - "targetNodeName": "Database and Network Administrators and Architects", - "frameworkName": "bls", - "parents": [ - { - "code": "15-0000", - "targetNodeName": "Computer and Mathematical Occupations", - "level": "Major" - }, - { - "code": "15-1200", - "targetNodeName": "Computer Occupations", - "level": "Minor" - }, - { - "code": "15-1240", - "targetNodeName": "Database and Network Administrators and Architects", - "level": "Broad" - } - ] - }, - { - "code": "15-1244", - "targetNodeName": "Network and Computer Systems Administrators", - "frameworkName": "bls", - "parents": [ - { - "code": "15-0000", - "targetNodeName": "Computer and Mathematical Occupations", - "level": "Major" - }, - { - "code": "15-1200", - "targetNodeName": "Computer Occupations", - "level": "Minor" - }, - { - "code": "15-1240", - "targetNodeName": "Database and Network Administrators and Architects", - "level": "Broad" - }, - { - "code": "15-1244", - "targetNodeName": "Network and Computer Systems Administrators", - "level": "Detailed" - } - ] - }, - { - "code": "15-1250", - "targetNodeName": "Software and Web Developers, Programmers, and Testers", - "frameworkName": "bls", - "parents": [ - { - "code": "15-0000", - "targetNodeName": "Computer and Mathematical Occupations", - "level": "Major" - }, - { - "code": "15-1200", - "targetNodeName": "Computer Occupations", - "level": "Minor" - }, - { - "code": "15-1250", - "targetNodeName": "Software and Web Developers, Programmers, and Testers", - "level": "Broad" - } - ] - }, - { - "code": "15-1259", - "parents": [ - { - "code": "15-0000", - "level": "Major" - }, - { - "code": "15-1200", - "level": "Minor" - } - ] - } - ], - "skillName": "Access and Security Levels Standardization", - "skillStatement": "Standardize levels of access and security to maintain information security.", - "authors": [ - "Western Governors University" - ], - "uuid": "c9d819b3-de84-401e-808a-ddcbfbdd4953", - "status": "published", - "creator": "https://credentialengineregistry.org/resources/ce-036d082d-d80e-41a7-99a0-2d63a4ad3a4a", - "@context": "https://rsd.openskillsnetwork.org/context-v1.json" + "type": "RichSkillDescriptor", + "id": "http://localhost:8080/api/skills/c9d819b3-de84-401e-808a-ddcbfbdd4953", + "creationDate": "2023-02-27T21:02:47.15505Z", + "updateDate": "2023-03-30T13:02:07.411354Z", + "collections": [ + { + "uuid": "fb14bd66-e1b0-40d8-b6b5-377c920b1d35", + "name": "Software Development" + } + ], + "occupations": [ + { + "id": 135, + "code": "15-0000", + "targetNodeName": "Computer and Mathematical Occupations", + "frameworkName": "bls", + "parents": [ + { + "code": "15-0000", + "targetNodeName": "Computer and Mathematical Occupations", + "level": "Major" + } + ], + "jobCodeLevelAsNumber": 1 + }, + { + "id": 136, + "code": "15-1200", + "targetNodeName": "Computer Occupations", + "frameworkName": "bls", + "parents": [ + { + "code": "15-0000", + "targetNodeName": "Computer and Mathematical Occupations", + "level": "Major" + }, + { + "code": "15-1200", + "targetNodeName": "Computer Occupations", + "level": "Minor" + } + ], + "jobCodeLevelAsNumber": 2 + }, + { + "id": 145, + "code": "15-1240", + "targetNodeName": "Database and Network Administrators and Architects", + "frameworkName": "bls", + "parents": [ + { + "code": "15-0000", + "targetNodeName": "Computer and Mathematical Occupations", + "level": "Major" + }, + { + "code": "15-1200", + "targetNodeName": "Computer Occupations", + "level": "Minor" + }, + { + "code": "15-1240", + "targetNodeName": "Database and Network Administrators and Architects", + "level": "Broad" + } + ], + "jobCodeLevelAsNumber": 3 + }, + { + "id": 149, + "code": "15-1244", + "targetNodeName": "Network and Computer Systems Administrators", + "frameworkName": "bls", + "parents": [ + { + "code": "15-0000", + "targetNodeName": "Computer and Mathematical Occupations", + "level": "Major" + }, + { + "code": "15-1200", + "targetNodeName": "Computer Occupations", + "level": "Minor" + }, + { + "code": "15-1240", + "targetNodeName": "Database and Network Administrators and Architects", + "level": "Broad" + }, + { + "code": "15-1244", + "targetNodeName": "Network and Computer Systems Administrators", + "level": "Detailed" + } + ], + "jobCodeLevelAsNumber": 4 + }, + { + "id": 150, + "code": "15-1250", + "targetNodeName": "Software and Web Developers, Programmers, and Testers", + "frameworkName": "bls", + "parents": [ + { + "code": "15-0000", + "targetNodeName": "Computer and Mathematical Occupations", + "level": "Major" + }, + { + "code": "15-1200", + "targetNodeName": "Computer Occupations", + "level": "Minor" + }, + { + "code": "15-1250", + "targetNodeName": "Software and Web Developers, Programmers, and Testers", + "level": "Broad" + } + ], + "jobCodeLevelAsNumber": 3 + }, + { + "id": 2499, + "code": "15-1259", + "parents": [ + { + "code": "15-0000", + "level": "Major" + }, + { + "code": "15-1200", + "level": "Minor" + } + ], + "jobCodeLevelAsNumber": 4 + } + ], + "categories": [ + "Information Security Management" + ], + "keywords": [ + "Risk", + "Information Security Management", + "Compromise Assessment", + "Computer Emergency Response Teams (CERT)", + "Computer Security Incident Response (CSIRT)", + "Defense Information Systems Agency (DISA)", + "Dynamic Application Security Testing (DAST)", + "Information Asset Classification", + "Personnel Security", + "Security Architecture", + "Security by Design", + "Security Event Triage", + "Security Implementation", + "Security Integration", + "Security Models and Design", + "Security Operations Center (SOC)", + "Security Operations Management", + "Symantec Packages", + "Systems", + "Applications & Products (SAP) Enterprise Threat Detection (ETD)", + "Applications & Products (SAP) in Data Processing Business Suite 4 (S/4) Fiori Security", + "Applications & Products (SAP) in Data Processing Business Suite 4 (S/4) User Interface 5 (UI5) Security", + "Applications & Products (SAP) in Data Processing Business Suite 4 High-Performance Analytic Appliance (S/4HANA) Security", + "Applications & Products (SAP) in Data Processing Business Suite 4 High-Performance Analytic Appliance (S/4HANA)", + "Fiori", + "and User Interface 5 (UI5) Security", + "Applications & Products (SAP) Security & Governance", + "and Compliance (GRC)", + "ThreadFix", + "ThreatConnect", + "TippingPoint", + "TrapX DeceptionGrid", + "Varonis", + "Virtual Domains (VDOMs)", + "Vormetric", + "Vormetric Application Encryption", + "Vormetric Tokenization" + ], + "certifications": [], + "standards": [ + { + "skillName": "NICE_SP_RSK" + }, + { + "skillName": "NICE_SP_DEV" + }, + { + "skillName": "NICE_SP_ARC" + }, + { + "skillName": "NICE_SP_TRD" + }, + { + "skillName": "NICE_SP_SRP" + }, + { + "skillName": "NICE_SP_TST" + }, + { + "skillName": "NICE_SP_SYS" + }, + { + "skillName": "NICE_OV_MGT" + }, + { + "skillName": "NICE_AN_LNG" + }, + { + "skillName": "NICE_CO_OPS" + }, + { + "skillName": "NICE_OV_PMA" + }, + { + "skillName": "NICE_OM_ANA" + }, + { + "skillName": "NICE_PR_CIR" + }, + { + "skillName": "NICE_OM_NET" + }, + { + "skillName": "NICE_OM_ADM" + } + ], + "alignments": [ + { + "id": "https://skills.emsidata.com/skills/KS1254M6N7QPZ96MGR0L", + "skillName": "Information Security Management" + } + ], + "employers": [], + "skillName": "Access and Security Levels Standardization", + "skillStatement": "Standardize levels of access and security to maintain information security.", + "archiveDate": null, + "publishDate": "2023-03-30T13:02:07.411364Z", + "status": "published", + "uuid": "c9d819b3-de84-401e-808a-ddcbfbdd4953", + "authors": [ + "Western Governors University" + ], + "creator": "https://credentialengineregistry.org/resources/ce-036d082d-d80e-41a7-99a0-2d63a4ad3a4a", + "@context": "https://rsd.openskillsnetwork.org/context-v1.json" } \ No newline at end of file diff --git a/test/api-test/api/v3/skills/{uuid}/update/post.json b/test/api-test/api/v3/skills/{uuid}/update/post.json index f48299046..77e943ae6 100644 --- a/test/api-test/api/v3/skills/{uuid}/update/post.json +++ b/test/api-test/api/v3/skills/{uuid}/update/post.json @@ -1,237 +1,249 @@ { "type": "RichSkillDescriptor", "id": "http://localhost:8080/api/skills/c9d819b3-de84-401e-808a-ddcbfbdd4953", - "archiveDate": null, - "publishDate": "2023-03-30T13:02:07.411364Z", - "creationDate": "2023-02-27T21:02:47.15505Z", - "updateDate": "2023-05-22T20:33:04.790964Z", "collections": [ - { - "uuid": "fb14bd66-e1b0-40d8-b6b5-377c920b1d35", - "name": "Software Development" - } + { + "uuid": "fb14bd66-e1b0-40d8-b6b5-377c920b1d35", + "name": "Software Development" + } ], "occupations": [ - { + { + "id": 135, + "code": "15-0000", + "targetNodeName": "Computer and Mathematical Occupations", + "frameworkName": "bls", + "parents": [ + { + "code": "15-0000", + "targetNodeName": "Computer and Mathematical Occupations", + "level": "Major" + } + ], + "jobCodeLevelAsNumber": 1 + }, + { + "id": 136, + "code": "15-1200", + "targetNodeName": "Computer Occupations", + "frameworkName": "bls", + "parents": [ + { + "code": "15-0000", + "targetNodeName": "Computer and Mathematical Occupations", + "level": "Major" + }, + { + "code": "15-1200", + "targetNodeName": "Computer Occupations", + "level": "Minor" + } + ], + "jobCodeLevelAsNumber": 2 + }, + { + "id": 145, + "code": "15-1240", + "targetNodeName": "Database and Network Administrators and Architects", + "frameworkName": "bls", + "parents": [ + { + "code": "15-0000", + "targetNodeName": "Computer and Mathematical Occupations", + "level": "Major" + }, + { + "code": "15-1200", + "targetNodeName": "Computer Occupations", + "level": "Minor" + }, + { + "code": "15-1240", + "targetNodeName": "Database and Network Administrators and Architects", + "level": "Broad" + } + ], + "jobCodeLevelAsNumber": 3 + }, + { + "id": 149, + "code": "15-1244", + "targetNodeName": "Network and Computer Systems Administrators", + "frameworkName": "bls", + "parents": [ + { "code": "15-0000", "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls", - "parents": [ - { - "code": "15-0000", - "targetNodeName": "Computer and Mathematical Occupations", - "level": "Major" - } - ] - }, - { + "level": "Major" + }, + { "code": "15-1200", "targetNodeName": "Computer Occupations", - "frameworkName": "bls", - "parents": [ - { - "code": "15-0000", - "targetNodeName": "Computer and Mathematical Occupations", - "level": "Major" - }, - { - "code": "15-1200", - "targetNodeName": "Computer Occupations", - "level": "Minor" - } - ] - }, - { + "level": "Minor" + }, + { "code": "15-1240", "targetNodeName": "Database and Network Administrators and Architects", - "frameworkName": "bls", - "parents": [ - { - "code": "15-0000", - "targetNodeName": "Computer and Mathematical Occupations", - "level": "Major" - }, - { - "code": "15-1200", - "targetNodeName": "Computer Occupations", - "level": "Minor" - }, - { - "code": "15-1240", - "targetNodeName": "Database and Network Administrators and Architects", - "level": "Broad" - } - ] - }, - { + "level": "Broad" + }, + { "code": "15-1244", "targetNodeName": "Network and Computer Systems Administrators", - "frameworkName": "bls", - "parents": [ - { - "code": "15-0000", - "targetNodeName": "Computer and Mathematical Occupations", - "level": "Major" - }, - { - "code": "15-1200", - "targetNodeName": "Computer Occupations", - "level": "Minor" - }, - { - "code": "15-1240", - "targetNodeName": "Database and Network Administrators and Architects", - "level": "Broad" - }, - { - "code": "15-1244", - "targetNodeName": "Network and Computer Systems Administrators", - "level": "Detailed" - } - ] - }, - { + "level": "Detailed" + } + ], + "jobCodeLevelAsNumber": 4 + }, + { + "id": 150, + "code": "15-1250", + "targetNodeName": "Software and Web Developers, Programmers, and Testers", + "frameworkName": "bls", + "parents": [ + { + "code": "15-0000", + "targetNodeName": "Computer and Mathematical Occupations", + "level": "Major" + }, + { + "code": "15-1200", + "targetNodeName": "Computer Occupations", + "level": "Minor" + }, + { "code": "15-1250", "targetNodeName": "Software and Web Developers, Programmers, and Testers", - "frameworkName": "bls", - "parents": [ - { - "code": "15-0000", - "targetNodeName": "Computer and Mathematical Occupations", - "level": "Major" - }, - { - "code": "15-1200", - "targetNodeName": "Computer Occupations", - "level": "Minor" - }, - { - "code": "15-1250", - "targetNodeName": "Software and Web Developers, Programmers, and Testers", - "level": "Broad" - } - ] - }, - { - "code": "15-1259", - "parents": [ - { - "code": "15-0000", - "level": "Major" - }, - { - "code": "15-1200", - "level": "Minor" - } - ] - } + "level": "Broad" + } + ], + "jobCodeLevelAsNumber": 3 + }, + { + "id": 2499, + "code": "15-1259", + "parents": [ + { + "code": "15-0000", + "level": "Major" + }, + { + "code": "15-1200", + "level": "Minor" + } + ], + "jobCodeLevelAsNumber": 4 + } ], "categories": [ - "Information Security Management", - "Walls of Fire" + "Information Security Management", + "Walls of Fire" ], "keywords": [ - "Risk", - "Information Security Management", - "Compromise Assessment", - "Computer Emergency Response Teams (CERT)", - "Computer Security Incident Response (CSIRT)", - "Defense Information Systems Agency (DISA)", - "Dynamic Application Security Testing (DAST)", - "Information Asset Classification", - "Personnel Security", - "Security Architecture", - "Security by Design", - "Security Event Triage", - "Security Implementation", - "Security Integration", - "Security Models and Design", - "Security Operations Center (SOC)", - "Security Operations Management", - "Symantec Packages", - "Systems", - "Applications & Products (SAP) Enterprise Threat Detection (ETD)", - "Applications & Products (SAP) in Data Processing Business Suite 4 (S/4) Fiori Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 (S/4) User Interface 5 (UI5) Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 High-Performance Analytic Appliance (S/4HANA) Security", - "Applications & Products (SAP) in Data Processing Business Suite 4 High-Performance Analytic Appliance (S/4HANA)", - "Fiori", - "and User Interface 5 (UI5) Security", - "Applications & Products (SAP) Security & Governance", - "and Compliance (GRC)", - "ThreadFix", - "ThreatConnect", - "TippingPoint", - "TrapX DeceptionGrid", - "Varonis", - "Virtual Domains (VDOMs)", - "Vormetric", - "Vormetric Application Encryption", - "Vormetric Tokenization" + "Risk", + "Information Security Management", + "Compromise Assessment", + "Computer Emergency Response Teams (CERT)", + "Computer Security Incident Response (CSIRT)", + "Defense Information Systems Agency (DISA)", + "Dynamic Application Security Testing (DAST)", + "Information Asset Classification", + "Personnel Security", + "Security Architecture", + "Security by Design", + "Security Event Triage", + "Security Implementation", + "Security Integration", + "Security Models and Design", + "Security Operations Center (SOC)", + "Security Operations Management", + "Symantec Packages", + "Systems", + "Applications & Products (SAP) Enterprise Threat Detection (ETD)", + "Applications & Products (SAP) in Data Processing Business Suite 4 (S/4) Fiori Security", + "Applications & Products (SAP) in Data Processing Business Suite 4 (S/4) User Interface 5 (UI5) Security", + "Applications & Products (SAP) in Data Processing Business Suite 4 High-Performance Analytic Appliance (S/4HANA) Security", + "Applications & Products (SAP) in Data Processing Business Suite 4 High-Performance Analytic Appliance (S/4HANA)", + "Fiori", + "and User Interface 5 (UI5) Security", + "Applications & Products (SAP) Security & Governance", + "and Compliance (GRC)", + "ThreadFix", + "ThreatConnect", + "TippingPoint", + "TrapX DeceptionGrid", + "Varonis", + "Virtual Domains (VDOMs)", + "Vormetric", + "Vormetric Application Encryption", + "Vormetric Tokenization" ], "certifications": [], "standards": [ - { - "skillName": "NICE_SP_RSK" - }, - { - "skillName": "NICE_SP_DEV" - }, - { - "skillName": "NICE_SP_ARC" - }, - { - "skillName": "NICE_SP_TRD" - }, - { - "skillName": "NICE_SP_SRP" - }, - { - "skillName": "NICE_SP_TST" - }, - { - "skillName": "NICE_SP_SYS" - }, - { - "skillName": "NICE_OV_MGT" - }, - { - "skillName": "NICE_AN_LNG" - }, - { - "skillName": "NICE_CO_OPS" - }, - { - "skillName": "NICE_OV_PMA" - }, - { - "skillName": "NICE_OM_ANA" - }, - { - "skillName": "NICE_PR_CIR" - }, - { - "skillName": "NICE_OM_NET" - }, - { - "skillName": "NICE_OM_ADM" - } + { + "skillName": "NICE_SP_RSK" + }, + { + "skillName": "NICE_SP_DEV" + }, + { + "skillName": "NICE_SP_ARC" + }, + { + "skillName": "NICE_SP_TRD" + }, + { + "skillName": "NICE_SP_SRP" + }, + { + "skillName": "NICE_SP_TST" + }, + { + "skillName": "NICE_SP_SYS" + }, + { + "skillName": "NICE_OV_MGT" + }, + { + "skillName": "NICE_AN_LNG" + }, + { + "skillName": "NICE_CO_OPS" + }, + { + "skillName": "NICE_OV_PMA" + }, + { + "skillName": "NICE_OM_ANA" + }, + { + "skillName": "NICE_PR_CIR" + }, + { + "skillName": "NICE_OM_NET" + }, + { + "skillName": "NICE_OM_ADM" + } ], "alignments": [ - { - "id": "https://skills.emsidata.com/skills/KS1254M6N7QPZ96MGR0L", - "skillName": "Information Security Management" - } + { + "id": "https://skills.emsidata.com/skills/KS1254M6N7QPZ96MGR0L", + "skillName": "Information Security Management" + } ], "employers": [], "skillName": "Access and Security Levels Standardization", "skillStatement": "Standardize levels of access and security to maintain information security.", + "archiveDate": null, + "publishDate": "2023-03-30T13:02:07.411364Z", + "creationDate": "2023-02-27T21:02:47.15505Z", + "updateDate": "2023-07-06T17:50:24.924221Z", "status": "published", - "uuid": "c9d819b3-de84-401e-808a-ddcbfbdd4953", "authors": [ - "Western Governors University", - "Bilbo Baggins" + "Western Governors University", + "Bilbo Baggins" ], + "uuid": "c9d819b3-de84-401e-808a-ddcbfbdd4953", "creator": "https://credentialengineregistry.org/resources/ce-036d082d-d80e-41a7-99a0-2d63a4ad3a4a", "@context": "https://rsd.openskillsnetwork.org/context-v1.json" } \ No newline at end of file From 8f8a3895c074adbf825cda4abd6ef92490d15f0b Mon Sep 17 00:00:00 2001 From: manuel-delvillar <68391066+manuel-delvillar@users.noreply.github.com> Date: Fri, 7 Jul 2023 15:51:18 -0600 Subject: [PATCH 12/20] Fix broken test in v2 endpoints - Add JobCodeV2 - Add ApiJobCodeV2 --- .../edu/wgu/osmt/api/model/ApiCollectionV2.kt | 2 +- .../wgu/osmt/api/model/ApiNamedReference.kt | 93 +++++++++++++++++-- .../kotlin/edu/wgu/osmt/api/model/ApiSkill.kt | 3 +- .../wgu/osmt/api/model/ApiSkillSummaryV2.kt | 6 +- .../edu/wgu/osmt/api/model/ApiSkillV2.kt | 16 ++++ .../osmt/elasticsearch/SearchController.kt | 18 +++- .../edu/wgu/osmt/richskill/RichSkillDocV2.kt | 7 +- 7 files changed, 126 insertions(+), 19 deletions(-) diff --git a/api/src/main/kotlin/edu/wgu/osmt/api/model/ApiCollectionV2.kt b/api/src/main/kotlin/edu/wgu/osmt/api/model/ApiCollectionV2.kt index b827dc813..17ce11a74 100644 --- a/api/src/main/kotlin/edu/wgu/osmt/api/model/ApiCollectionV2.kt +++ b/api/src/main/kotlin/edu/wgu/osmt/api/model/ApiCollectionV2.kt @@ -45,4 +45,4 @@ class ApiCollectionV2( return result } } -} \ No newline at end of file +} diff --git a/api/src/main/kotlin/edu/wgu/osmt/api/model/ApiNamedReference.kt b/api/src/main/kotlin/edu/wgu/osmt/api/model/ApiNamedReference.kt index ebf98f57f..becf4dfbb 100644 --- a/api/src/main/kotlin/edu/wgu/osmt/api/model/ApiNamedReference.kt +++ b/api/src/main/kotlin/edu/wgu/osmt/api/model/ApiNamedReference.kt @@ -71,16 +71,91 @@ data class ApiStringListUpdate( val remove: List? = null ) +data class JobCodeV2( + val major: String?, + val minor: String?, + val broad: String?, + val detailed: String?, + val code: String?, + val name: String?, + val description: String?, + val framework: String?, + val url: String?, + val majorCode: String?, + val minorCode: String?, + val broadCode: String?, + val detailedCode: String?, + val jobRoleCode: String? +) { + + companion object factory { + fun fromJobCode(jobCode: JobCode): JobCodeV2 { + return JobCodeV2( + major = jobCode.major, + minor = jobCode.minor, + broad = jobCode.broad, + detailed = jobCode.detailed, + code = jobCode.code, + name = jobCode.name, + description = jobCode.description, + framework = jobCode.framework, + url = jobCode.url, + majorCode = jobCode.majorCode, + minorCode = jobCode.minorCode, + broadCode = jobCode.broadCode, + detailedCode = jobCode.detailedCode, + jobRoleCode = jobCode.jobRoleCode + ) + } + } +} + +@JsonInclude(JsonInclude.Include.NON_EMPTY) +data class ApiJobCodeV2( + override val id: Long? = null, + override val code: String, + override val targetNode: String? = null, + override val targetNodeName: String? = null, + override val frameworkName: String? = null, + override val level: JobCodeLevel? = null, + override val parents: List? = null +): ApiJobCode(id, code, targetNode, targetNodeName, frameworkName, level, parents) { + companion object factory { + + fun fromApiJobCode(apiJobCode: ApiJobCode): ApiJobCodeV2 { + return ApiJobCodeV2( + code = apiJobCode.code, + targetNode = apiJobCode.targetNode, + targetNodeName = apiJobCode.targetNodeName, + frameworkName = apiJobCode.frameworkName, + level = apiJobCode.level, + parents = apiJobCode.parents?.map { fromApiJobCode(it) } + ) + } + + fun fromJobCode(jobCode: JobCode, level: JobCodeLevel? = null, parents: List? = null): ApiJobCodeV2 { + return ApiJobCodeV2( + code = jobCode.code, + targetNodeName = jobCode.name, + targetNode = jobCode.url, + frameworkName = jobCode.framework, + level = level, + parents = parents + ) + } + } +} + @JsonInclude(JsonInclude.Include.NON_EMPTY) -data class ApiJobCode( - val id: Long? = null, - val code: String, - val targetNode: String? = null, - val targetNodeName: String? = null, - val frameworkName: String? = null, - val level: JobCodeLevel? = null, - val parents: List? = null, - val jobCodeLevelAsNumber: Int? = null +open class ApiJobCode( + open val id: Long? = null, + open val code: String, + open val targetNode: String? = null, + open val targetNodeName: String? = null, + open val frameworkName: String? = null, + open val level: JobCodeLevel? = null, + open val parents: List? = null, + val jobCodeLevelAsNumber: Int? = null, ) { companion object factory { fun fromJobCode(jobCode: JobCode, level: JobCodeLevel? = null, parents: List? = null): ApiJobCode { diff --git a/api/src/main/kotlin/edu/wgu/osmt/api/model/ApiSkill.kt b/api/src/main/kotlin/edu/wgu/osmt/api/model/ApiSkill.kt index 5162bf18a..1606cb9c9 100644 --- a/api/src/main/kotlin/edu/wgu/osmt/api/model/ApiSkill.kt +++ b/api/src/main/kotlin/edu/wgu/osmt/api/model/ApiSkill.kt @@ -88,7 +88,7 @@ open class ApiSkill(@JsonIgnore open val rsd: RichSkillDescriptor, @JsonIgnore o get() = rsd.alignments.map { ApiAlignment.fromKeyword(it) } @get:JsonProperty - val occupations: List + open val occupations: List get() { return rsd.jobCodes.filter { it.code.isNotBlank() }.map { jobCode -> val parents = listOfNotNull( @@ -97,7 +97,6 @@ open class ApiSkill(@JsonIgnore open val rsd: RichSkillDescriptor, @JsonIgnore o jobCode.broad?.let {jobCode.broadCode?.let { ApiJobCode(code=it, targetNodeName=jobCode.broad, level=JobCodeLevel.Broad) }}, jobCode.detailed?.let {jobCode.detailedCode?.let { ApiJobCode(code=it, targetNodeName=jobCode.detailed, level=JobCodeLevel.Detailed) }} ).distinct() - ApiJobCode.fromJobCode(jobCode, parents=parents) } } diff --git a/api/src/main/kotlin/edu/wgu/osmt/api/model/ApiSkillSummaryV2.kt b/api/src/main/kotlin/edu/wgu/osmt/api/model/ApiSkillSummaryV2.kt index c41354d82..e20fd2280 100644 --- a/api/src/main/kotlin/edu/wgu/osmt/api/model/ApiSkillSummaryV2.kt +++ b/api/src/main/kotlin/edu/wgu/osmt/api/model/ApiSkillSummaryV2.kt @@ -36,7 +36,7 @@ class ApiSkillSummaryV2( categories = rsd.categories.mapNotNull { it.value }, category = rsd.categories.mapNotNull { it.value }.sorted().joinToString(SEMICOLON), keywords = rsd.keywords.mapNotNull { it.value }, - occupations = rsd.jobCodes.map { ApiJobCode.fromJobCode(it) } + occupations = rsd.jobCodes.map { ApiJobCodeV2.fromJobCode(it) } ) } @@ -52,7 +52,9 @@ class ApiSkillSummaryV2( categories = apiSkillSummary.categories, category = apiSkillSummary.categories.sorted().joinToString(SEMICOLON), keywords = apiSkillSummary.keywords, - occupations = apiSkillSummary.occupations + occupations = apiSkillSummary.occupations.map { + ApiJobCodeV2.fromApiJobCode(it) + } ) } diff --git a/api/src/main/kotlin/edu/wgu/osmt/api/model/ApiSkillV2.kt b/api/src/main/kotlin/edu/wgu/osmt/api/model/ApiSkillV2.kt index 0369c6380..3e5f446de 100644 --- a/api/src/main/kotlin/edu/wgu/osmt/api/model/ApiSkillV2.kt +++ b/api/src/main/kotlin/edu/wgu/osmt/api/model/ApiSkillV2.kt @@ -5,6 +5,7 @@ import com.fasterxml.jackson.annotation.JsonProperty import edu.wgu.osmt.collection.Collection import edu.wgu.osmt.config.AppConfig import edu.wgu.osmt.config.SEMICOLON +import edu.wgu.osmt.db.JobCodeLevel import edu.wgu.osmt.richskill.RichSkillDescriptor import edu.wgu.osmt.richskill.RichSkillDescriptorDao @@ -30,6 +31,21 @@ class ApiSkillV2( val category: String get() = rsd.categories.mapNotNull { it.value }.sorted().joinToString(SEMICOLON) + @get:JsonProperty + override val occupations: List + get() { + return rsd.jobCodes.filter { it.code.isNotBlank() }.map { jobCode -> + val parents = listOfNotNull( + jobCode.major.let {jobCode.majorCode?.let { ApiJobCodeV2(code=it, targetNodeName=jobCode.major, level= JobCodeLevel.Major) }}, + jobCode.minor.let{jobCode.minorCode?.let { ApiJobCodeV2(code=it, targetNodeName=jobCode.minor, level= JobCodeLevel.Minor) }}, + jobCode.broad?.let {jobCode.broadCode?.let { ApiJobCodeV2(code=it, targetNodeName=jobCode.broad, level= JobCodeLevel.Broad) }}, + jobCode.detailed?.let {jobCode.detailedCode?.let { ApiJobCodeV2(code=it, targetNodeName=jobCode.detailed, level= JobCodeLevel.Detailed) }} + ).distinct() + + ApiJobCodeV2.fromJobCode(jobCode, parents=parents) + } + } + companion object { fun fromDao(rsdDao: RichSkillDescriptorDao, appConfig: AppConfig): ApiSkillV2 { return ApiSkillV2(rsdDao.toModel(), rsdDao.collections.map{ it.toModel() }.filter { !it.isWorkspace() }.toSet(), appConfig) diff --git a/api/src/main/kotlin/edu/wgu/osmt/elasticsearch/SearchController.kt b/api/src/main/kotlin/edu/wgu/osmt/elasticsearch/SearchController.kt index 4b4632213..6c4e9417d 100644 --- a/api/src/main/kotlin/edu/wgu/osmt/elasticsearch/SearchController.kt +++ b/api/src/main/kotlin/edu/wgu/osmt/elasticsearch/SearchController.kt @@ -4,6 +4,7 @@ import edu.wgu.osmt.PaginationDefaults import edu.wgu.osmt.RoutePaths import edu.wgu.osmt.api.GeneralApiException import edu.wgu.osmt.api.model.ApiJobCode +import edu.wgu.osmt.api.model.ApiJobCodeV2 import edu.wgu.osmt.api.model.ApiNamedReference import edu.wgu.osmt.api.model.ApiSearch import edu.wgu.osmt.api.model.ApiSearchV2 @@ -271,14 +272,27 @@ class SearchController @Autowired constructor( return searchSkillsV2(uriComponentsBuilder, size, from, status, sort, uuid, apiSearch, user) } - + @GetMapping(path = [ "${RoutePaths.API}${RoutePaths.API_V2}${RoutePaths.SEARCH_JOBCODES_PATH}", - "${RoutePaths.API}${RoutePaths.API_V3}${RoutePaths.SEARCH_JOBCODES_PATH}", "${RoutePaths.API}${RoutePaths.UNVERSIONED}${RoutePaths.SEARCH_JOBCODES_PATH}" ], produces = [MediaType.APPLICATION_JSON_VALUE]) @ResponseBody + fun searchJobCodesV2( + uriComponentsBuilder: UriComponentsBuilder, + @RequestParam(required = true) query: String + ): HttpEntity> { + val searchResults = jobCodeEsRepo.typeAheadSearch(query) + + return ResponseEntity.status(200).body(searchResults.map { ApiJobCodeV2.fromJobCode(it.content) }.toList()) + } + + @GetMapping(path = [ + "${RoutePaths.API}${RoutePaths.API_V3}${RoutePaths.SEARCH_JOBCODES_PATH}" + ], + produces = [MediaType.APPLICATION_JSON_VALUE]) + @ResponseBody fun searchJobCodes( uriComponentsBuilder: UriComponentsBuilder, @RequestParam(required = true) query: String diff --git a/api/src/main/kotlin/edu/wgu/osmt/richskill/RichSkillDocV2.kt b/api/src/main/kotlin/edu/wgu/osmt/richskill/RichSkillDocV2.kt index 880240702..2124f9ff2 100644 --- a/api/src/main/kotlin/edu/wgu/osmt/richskill/RichSkillDocV2.kt +++ b/api/src/main/kotlin/edu/wgu/osmt/richskill/RichSkillDocV2.kt @@ -3,6 +3,7 @@ package edu.wgu.osmt.richskill import com.fasterxml.jackson.annotation.JsonIgnore import com.fasterxml.jackson.annotation.JsonInclude import com.fasterxml.jackson.annotation.JsonProperty +import edu.wgu.osmt.api.model.JobCodeV2 import edu.wgu.osmt.collection.CollectionDoc import edu.wgu.osmt.config.AppConfig import edu.wgu.osmt.config.INDEX_RICHSKILL_DOC @@ -103,7 +104,7 @@ data class RichSkillDocV2( @Field(type = Nested) @get:JsonProperty("occupations") - val jobCodes: List = listOf(), + val jobCodes: List = listOf(), @MultiField( mainField = Field(type = Text, analyzer = "english_stemmer"), @@ -173,7 +174,7 @@ data class RichSkillDocV2( author = dao.keywords.filter { it.type == KeywordTypeEnum.Author }.mapNotNull { it.value }.sorted().joinToString(SEMICOLON), publishStatus = dao.publishStatus(), searchingKeywords = dao.keywords.filter { it.type == KeywordTypeEnum.Keyword }.mapNotNull { it.value }, - jobCodes = dao.jobCodes.map { it.toModel() }, + jobCodes = dao.jobCodes.map {jobCode -> JobCodeV2.fromJobCode(jobCode.toModel())}, standards = dao.keywords.filter { it.type == KeywordTypeEnum.Standard }.mapNotNull { it.value }, certifications = dao.keywords.filter { it.type == KeywordTypeEnum.Certification } .mapNotNull { it.value }, @@ -196,7 +197,7 @@ data class RichSkillDocV2( author = rsd.authors.sorted().joinToString(SEMICOLON), publishStatus = rsd.publishStatus, searchingKeywords = rsd.searchingKeywords, - jobCodes = rsd.jobCodes, + jobCodes = rsd.jobCodes.map {jobCode -> JobCodeV2.fromJobCode(jobCode)}, standards = rsd.standards, certifications = rsd.certifications, employers = rsd.employers, From f128707547d963629cb7f9f2e8273393242c7955 Mon Sep 17 00:00:00 2001 From: manuel-delvillar <68391066+manuel-delvillar@users.noreply.github.com> Date: Fri, 7 Jul 2023 16:15:23 -0600 Subject: [PATCH 13/20] Remove ApiJobCodeV2 --- .../wgu/osmt/api/model/ApiNamedReference.kt | 59 ++++++------------- .../wgu/osmt/api/model/ApiSkillSummaryV2.kt | 11 +++- .../edu/wgu/osmt/api/model/ApiSkillV2.kt | 12 ++-- .../osmt/elasticsearch/SearchController.kt | 3 +- 4 files changed, 33 insertions(+), 52 deletions(-) diff --git a/api/src/main/kotlin/edu/wgu/osmt/api/model/ApiNamedReference.kt b/api/src/main/kotlin/edu/wgu/osmt/api/model/ApiNamedReference.kt index becf4dfbb..f342e7811 100644 --- a/api/src/main/kotlin/edu/wgu/osmt/api/model/ApiNamedReference.kt +++ b/api/src/main/kotlin/edu/wgu/osmt/api/model/ApiNamedReference.kt @@ -111,63 +111,38 @@ data class JobCodeV2( } @JsonInclude(JsonInclude.Include.NON_EMPTY) -data class ApiJobCodeV2( - override val id: Long? = null, - override val code: String, - override val targetNode: String? = null, - override val targetNodeName: String? = null, - override val frameworkName: String? = null, - override val level: JobCodeLevel? = null, - override val parents: List? = null -): ApiJobCode(id, code, targetNode, targetNodeName, frameworkName, level, parents) { +class ApiJobCode( + var id: Long? = null, + val code: String, + val targetNode: String? = null, + val targetNodeName: String? = null, + val frameworkName: String? = null, + val level: JobCodeLevel? = null, + val parents: List? = null, + var jobCodeLevelAsNumber: Int? = null, +) { companion object factory { - - fun fromApiJobCode(apiJobCode: ApiJobCode): ApiJobCodeV2 { - return ApiJobCodeV2( - code = apiJobCode.code, - targetNode = apiJobCode.targetNode, - targetNodeName = apiJobCode.targetNodeName, - frameworkName = apiJobCode.frameworkName, - level = apiJobCode.level, - parents = apiJobCode.parents?.map { fromApiJobCode(it) } - ) - } - - fun fromJobCode(jobCode: JobCode, level: JobCodeLevel? = null, parents: List? = null): ApiJobCodeV2 { - return ApiJobCodeV2( + fun fromJobCode(jobCode: JobCode, level: JobCodeLevel? = null, parents: List? = null): ApiJobCode { + return ApiJobCode( + id = jobCode.id, code = jobCode.code, targetNodeName = jobCode.name, targetNode = jobCode.url, frameworkName = jobCode.framework, level = level, - parents = parents + parents = parents, + jobCodeLevelAsNumber = jobCode.jobCodeLevelAsNumber ) } - } -} -@JsonInclude(JsonInclude.Include.NON_EMPTY) -open class ApiJobCode( - open val id: Long? = null, - open val code: String, - open val targetNode: String? = null, - open val targetNodeName: String? = null, - open val frameworkName: String? = null, - open val level: JobCodeLevel? = null, - open val parents: List? = null, - val jobCodeLevelAsNumber: Int? = null, -) { - companion object factory { - fun fromJobCode(jobCode: JobCode, level: JobCodeLevel? = null, parents: List? = null): ApiJobCode { + fun fromJobCodeV2(jobCode: JobCode, level: JobCodeLevel? = null, parents: List? = null): ApiJobCode { return ApiJobCode( - id = jobCode.id, code = jobCode.code, targetNodeName = jobCode.name, targetNode = jobCode.url, frameworkName = jobCode.framework, level = level, - parents = parents, - jobCodeLevelAsNumber = jobCode.jobCodeLevelAsNumber + parents = parents ) } diff --git a/api/src/main/kotlin/edu/wgu/osmt/api/model/ApiSkillSummaryV2.kt b/api/src/main/kotlin/edu/wgu/osmt/api/model/ApiSkillSummaryV2.kt index e20fd2280..0e39a65d5 100644 --- a/api/src/main/kotlin/edu/wgu/osmt/api/model/ApiSkillSummaryV2.kt +++ b/api/src/main/kotlin/edu/wgu/osmt/api/model/ApiSkillSummaryV2.kt @@ -36,7 +36,7 @@ class ApiSkillSummaryV2( categories = rsd.categories.mapNotNull { it.value }, category = rsd.categories.mapNotNull { it.value }.sorted().joinToString(SEMICOLON), keywords = rsd.keywords.mapNotNull { it.value }, - occupations = rsd.jobCodes.map { ApiJobCodeV2.fromJobCode(it) } + occupations = rsd.jobCodes.map { ApiJobCode.fromJobCodeV2(it) } ) } @@ -53,7 +53,14 @@ class ApiSkillSummaryV2( category = apiSkillSummary.categories.sorted().joinToString(SEMICOLON), keywords = apiSkillSummary.keywords, occupations = apiSkillSummary.occupations.map { - ApiJobCodeV2.fromApiJobCode(it) + ApiJobCode( + code = it.code, + targetNode = it.targetNode, + targetNodeName = it.targetNodeName, + frameworkName = it.frameworkName, + level = it.level, + parents = it.parents + ) } ) diff --git a/api/src/main/kotlin/edu/wgu/osmt/api/model/ApiSkillV2.kt b/api/src/main/kotlin/edu/wgu/osmt/api/model/ApiSkillV2.kt index 3e5f446de..7b28a35a8 100644 --- a/api/src/main/kotlin/edu/wgu/osmt/api/model/ApiSkillV2.kt +++ b/api/src/main/kotlin/edu/wgu/osmt/api/model/ApiSkillV2.kt @@ -32,17 +32,17 @@ class ApiSkillV2( get() = rsd.categories.mapNotNull { it.value }.sorted().joinToString(SEMICOLON) @get:JsonProperty - override val occupations: List + override val occupations: List get() { return rsd.jobCodes.filter { it.code.isNotBlank() }.map { jobCode -> val parents = listOfNotNull( - jobCode.major.let {jobCode.majorCode?.let { ApiJobCodeV2(code=it, targetNodeName=jobCode.major, level= JobCodeLevel.Major) }}, - jobCode.minor.let{jobCode.minorCode?.let { ApiJobCodeV2(code=it, targetNodeName=jobCode.minor, level= JobCodeLevel.Minor) }}, - jobCode.broad?.let {jobCode.broadCode?.let { ApiJobCodeV2(code=it, targetNodeName=jobCode.broad, level= JobCodeLevel.Broad) }}, - jobCode.detailed?.let {jobCode.detailedCode?.let { ApiJobCodeV2(code=it, targetNodeName=jobCode.detailed, level= JobCodeLevel.Detailed) }} + jobCode.major.let {jobCode.majorCode?.let { ApiJobCode(code=it, targetNodeName=jobCode.major, level= JobCodeLevel.Major) }}, + jobCode.minor.let{jobCode.minorCode?.let { ApiJobCode(code=it, targetNodeName=jobCode.minor, level= JobCodeLevel.Minor) }}, + jobCode.broad?.let {jobCode.broadCode?.let { ApiJobCode(code=it, targetNodeName=jobCode.broad, level= JobCodeLevel.Broad) }}, + jobCode.detailed?.let {jobCode.detailedCode?.let { ApiJobCode(code=it, targetNodeName=jobCode.detailed, level= JobCodeLevel.Detailed) }} ).distinct() - ApiJobCodeV2.fromJobCode(jobCode, parents=parents) + ApiJobCode.fromJobCodeV2(jobCode, parents=parents) } } diff --git a/api/src/main/kotlin/edu/wgu/osmt/elasticsearch/SearchController.kt b/api/src/main/kotlin/edu/wgu/osmt/elasticsearch/SearchController.kt index 6c4e9417d..6a8c64d0a 100644 --- a/api/src/main/kotlin/edu/wgu/osmt/elasticsearch/SearchController.kt +++ b/api/src/main/kotlin/edu/wgu/osmt/elasticsearch/SearchController.kt @@ -4,7 +4,6 @@ import edu.wgu.osmt.PaginationDefaults import edu.wgu.osmt.RoutePaths import edu.wgu.osmt.api.GeneralApiException import edu.wgu.osmt.api.model.ApiJobCode -import edu.wgu.osmt.api.model.ApiJobCodeV2 import edu.wgu.osmt.api.model.ApiNamedReference import edu.wgu.osmt.api.model.ApiSearch import edu.wgu.osmt.api.model.ApiSearchV2 @@ -285,7 +284,7 @@ class SearchController @Autowired constructor( ): HttpEntity> { val searchResults = jobCodeEsRepo.typeAheadSearch(query) - return ResponseEntity.status(200).body(searchResults.map { ApiJobCodeV2.fromJobCode(it.content) }.toList()) + return ResponseEntity.status(200).body(searchResults.map { ApiJobCode.fromJobCodeV2(it.content) }.toList()) } @GetMapping(path = [ From 2c878537b9295b250cdfad2461f65ace067b1a37 Mon Sep 17 00:00:00 2001 From: manuel-delvillar <68391066+manuel-delvillar@users.noreply.github.com> Date: Tue, 11 Jul 2023 15:38:37 -0600 Subject: [PATCH 14/20] Update expected data - Update expected data on similarities/results --- .../skills/similarities/results/post.json | 972 +++++++++++++----- 1 file changed, 729 insertions(+), 243 deletions(-) diff --git a/test/api-test/api/v3/search/skills/similarities/results/post.json b/test/api-test/api/v3/search/skills/similarities/results/post.json index ef610a171..d601b6ef2 100644 --- a/test/api-test/api/v3/search/skills/similarities/results/post.json +++ b/test/api-test/api/v3/search/skills/similarities/results/post.json @@ -20,77 +20,107 @@ ], "occupations": [ { + "id": 1, "code": "11-0000", "targetNodeName": "Management Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 }, { + "id": 18, "code": "11-3000", "targetNodeName": "Operations Specialties Managers", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 }, { + "id": 22, "code": "11-3020", "targetNodeName": "Computer and Information Systems Managers", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 23, "code": "11-3021", "targetNodeName": "Computer and Information Systems Managers", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 135, "code": "15-0000", "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 }, { + "id": 136, "code": "15-1200", "targetNodeName": "Computer Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 }, { + "id": 137, "code": "15-1210", "targetNodeName": "Computer and Information Analysts", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 138, "code": "15-1211", "targetNodeName": "Computer Systems Analysts", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 142, "code": "15-1230", "targetNodeName": "Computer Support Specialists", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 143, "code": "15-1231", "targetNodeName": "Computer Network Support Specialists", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 144, "code": "15-1232", "targetNodeName": "Computer User Support Specialists", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 145, "code": "15-1240", "targetNodeName": "Database and Network Administrators and Architects", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 146, "code": "15-1241", "targetNodeName": "Computer Network Architects", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 149, "code": "15-1244", "targetNodeName": "Network and Computer Systems Administrators", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { - "code": "15-1245" + "id": 2498, + "code": "15-1245", + "jobCodeLevelAsNumber": 4 } ] } @@ -116,77 +146,107 @@ ], "occupations": [ { + "id": 1, "code": "11-0000", "targetNodeName": "Management Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 }, { + "id": 18, "code": "11-3000", "targetNodeName": "Operations Specialties Managers", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 }, { + "id": 22, "code": "11-3020", "targetNodeName": "Computer and Information Systems Managers", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 23, "code": "11-3021", "targetNodeName": "Computer and Information Systems Managers", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 135, "code": "15-0000", "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 }, { + "id": 136, "code": "15-1200", "targetNodeName": "Computer Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 }, { + "id": 137, "code": "15-1210", "targetNodeName": "Computer and Information Analysts", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 138, "code": "15-1211", "targetNodeName": "Computer Systems Analysts", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 142, "code": "15-1230", "targetNodeName": "Computer Support Specialists", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 143, "code": "15-1231", "targetNodeName": "Computer Network Support Specialists", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 144, "code": "15-1232", "targetNodeName": "Computer User Support Specialists", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 145, "code": "15-1240", "targetNodeName": "Database and Network Administrators and Architects", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 146, "code": "15-1241", "targetNodeName": "Computer Network Architects", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 149, "code": "15-1244", "targetNodeName": "Network and Computer Systems Administrators", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { - "code": "15-1245" + "id": 2498, + "code": "15-1245", + "jobCodeLevelAsNumber": 4 } ] } @@ -210,39 +270,53 @@ ], "occupations": [ { + "id": 135, "code": "15-0000", "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 }, { + "id": 136, "code": "15-1200", "targetNodeName": "Computer Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 }, { + "id": 142, "code": "15-1230", "targetNodeName": "Computer Support Specialists", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 143, "code": "15-1231", "targetNodeName": "Computer Network Support Specialists", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 145, "code": "15-1240", "targetNodeName": "Database and Network Administrators and Architects", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 146, "code": "15-1241", "targetNodeName": "Computer Network Architects", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 149, "code": "15-1244", "targetNodeName": "Network and Computer Systems Administrators", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 } ] } @@ -267,39 +341,53 @@ ], "occupations": [ { + "id": 135, "code": "15-0000", "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 }, { + "id": 136, "code": "15-1200", "targetNodeName": "Computer Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 }, { + "id": 142, "code": "15-1230", "targetNodeName": "Computer Support Specialists", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 143, "code": "15-1231", "targetNodeName": "Computer Network Support Specialists", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 145, "code": "15-1240", "targetNodeName": "Database and Network Administrators and Architects", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 146, "code": "15-1241", "targetNodeName": "Computer Network Architects", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 149, "code": "15-1244", "targetNodeName": "Network and Computer Systems Administrators", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 } ] } @@ -323,39 +411,53 @@ ], "occupations": [ { + "id": 135, "code": "15-0000", "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 }, { + "id": 136, "code": "15-1200", "targetNodeName": "Computer Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 }, { + "id": 142, "code": "15-1230", "targetNodeName": "Computer Support Specialists", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 143, "code": "15-1231", "targetNodeName": "Computer Network Support Specialists", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 145, "code": "15-1240", "targetNodeName": "Database and Network Administrators and Architects", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 146, "code": "15-1241", "targetNodeName": "Computer Network Architects", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 149, "code": "15-1244", "targetNodeName": "Network and Computer Systems Administrators", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 } ] } @@ -378,39 +480,53 @@ ], "occupations": [ { + "id": 135, "code": "15-0000", "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 }, { + "id": 136, "code": "15-1200", "targetNodeName": "Computer Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 }, { + "id": 142, "code": "15-1230", "targetNodeName": "Computer Support Specialists", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 143, "code": "15-1231", "targetNodeName": "Computer Network Support Specialists", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 145, "code": "15-1240", "targetNodeName": "Database and Network Administrators and Architects", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 146, "code": "15-1241", "targetNodeName": "Computer Network Architects", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 149, "code": "15-1244", "targetNodeName": "Network and Computer Systems Administrators", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 } ] }, @@ -432,39 +548,53 @@ ], "occupations": [ { + "id": 135, "code": "15-0000", "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 }, { + "id": 136, "code": "15-1200", "targetNodeName": "Computer Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 }, { + "id": 142, "code": "15-1230", "targetNodeName": "Computer Support Specialists", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 143, "code": "15-1231", "targetNodeName": "Computer Network Support Specialists", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 145, "code": "15-1240", "targetNodeName": "Database and Network Administrators and Architects", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 146, "code": "15-1241", "targetNodeName": "Computer Network Architects", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 149, "code": "15-1244", "targetNodeName": "Network and Computer Systems Administrators", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 } ] } @@ -489,29 +619,39 @@ ], "occupations": [ { + "id": 135, "code": "15-0000", "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 }, { + "id": 136, "code": "15-1200", "targetNodeName": "Computer Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 }, { + "id": 145, "code": "15-1240", "targetNodeName": "Database and Network Administrators and Architects", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 146, "code": "15-1241", "targetNodeName": "Computer Network Architects", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 149, "code": "15-1244", "targetNodeName": "Network and Computer Systems Administrators", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 } ] } @@ -535,51 +675,73 @@ ], "occupations": [ { + "id": 135, "code": "15-0000", "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 }, { + "id": 136, "code": "15-1200", "targetNodeName": "Computer Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 }, { + "id": 145, "code": "15-1240", "targetNodeName": "Database and Network Administrators and Architects", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 149, "code": "15-1244", "targetNodeName": "Network and Computer Systems Administrators", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 150, "code": "15-1250", "targetNodeName": "Software and Web Developers, Programmers, and Testers", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 151, "code": "15-1251", "targetNodeName": "Computer Programmers", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 156, "code": "15-1290", "targetNodeName": "Miscellaneous Computer Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { - "code": "15-1256" + "id": 2465, + "code": "15-1256", + "jobCodeLevelAsNumber": 4 }, { - "code": "15-1257" + "id": 2466, + "code": "15-1257", + "jobCodeLevelAsNumber": 4 }, { - "code": "15-1245" + "id": 2498, + "code": "15-1245", + "jobCodeLevelAsNumber": 4 }, { - "code": "15-1259" + "id": 2499, + "code": "15-1259", + "jobCodeLevelAsNumber": 4 } ] } @@ -604,46 +766,66 @@ ], "occupations": [ { + "id": 135, "code": "15-0000", "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 }, { + "id": 136, "code": "15-1200", "targetNodeName": "Computer Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 }, { + "id": 145, "code": "15-1240", "targetNodeName": "Database and Network Administrators and Architects", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 149, "code": "15-1244", "targetNodeName": "Network and Computer Systems Administrators", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 150, "code": "15-1250", "targetNodeName": "Software and Web Developers, Programmers, and Testers", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 156, "code": "15-1290", "targetNodeName": "Miscellaneous Computer Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { - "code": "15-1256" + "id": 2465, + "code": "15-1256", + "jobCodeLevelAsNumber": 4 }, { - "code": "15-1257" + "id": 2466, + "code": "15-1257", + "jobCodeLevelAsNumber": 4 }, { - "code": "15-1245" + "id": 2498, + "code": "15-1245", + "jobCodeLevelAsNumber": 4 }, { - "code": "15-1259" + "id": 2499, + "code": "15-1259", + "jobCodeLevelAsNumber": 4 } ] } @@ -667,55 +849,77 @@ ], "occupations": [ { + "id": 135, "code": "15-0000", "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 }, { + "id": 136, "code": "15-1200", "targetNodeName": "Computer Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 }, { + "id": 137, "code": "15-1210", "targetNodeName": "Computer and Information Analysts", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 138, "code": "15-1211", "targetNodeName": "Computer Systems Analysts", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 145, "code": "15-1240", "targetNodeName": "Database and Network Administrators and Architects", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 149, "code": "15-1244", "targetNodeName": "Network and Computer Systems Administrators", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 150, "code": "15-1250", "targetNodeName": "Software and Web Developers, Programmers, and Testers", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 151, "code": "15-1251", "targetNodeName": "Computer Programmers", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 156, "code": "15-1290", "targetNodeName": "Miscellaneous Computer Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { - "code": "15-1256" + "id": 2465, + "code": "15-1256", + "jobCodeLevelAsNumber": 4 }, { - "code": "15-1259" + "id": 2499, + "code": "15-1259", + "jobCodeLevelAsNumber": 4 } ] } @@ -738,61 +942,87 @@ ], "occupations": [ { + "id": 135, "code": "15-0000", "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 }, { + "id": 136, "code": "15-1200", "targetNodeName": "Computer Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 }, { + "id": 137, "code": "15-1210", "targetNodeName": "Computer and Information Analysts", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 138, "code": "15-1211", "targetNodeName": "Computer Systems Analysts", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 145, "code": "15-1240", "targetNodeName": "Database and Network Administrators and Architects", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 149, "code": "15-1244", "targetNodeName": "Network and Computer Systems Administrators", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 150, "code": "15-1250", "targetNodeName": "Software and Web Developers, Programmers, and Testers", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 151, "code": "15-1251", "targetNodeName": "Computer Programmers", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 156, "code": "15-1290", "targetNodeName": "Miscellaneous Computer Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { - "code": "15-1256" + "id": 2465, + "code": "15-1256", + "jobCodeLevelAsNumber": 4 }, { - "code": "15-1257" + "id": 2466, + "code": "15-1257", + "jobCodeLevelAsNumber": 4 }, { - "code": "15-1245" + "id": 2498, + "code": "15-1245", + "jobCodeLevelAsNumber": 4 }, { - "code": "15-1259" + "id": 2499, + "code": "15-1259", + "jobCodeLevelAsNumber": 4 } ] } @@ -817,24 +1047,32 @@ ], "occupations": [ { + "id": 135, "code": "15-0000", "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 }, { + "id": 136, "code": "15-1200", "targetNodeName": "Computer Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 }, { + "id": 145, "code": "15-1240", "targetNodeName": "Database and Network Administrators and Architects", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 149, "code": "15-1244", "targetNodeName": "Network and Computer Systems Administrators", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 } ] } @@ -858,24 +1096,32 @@ ], "occupations": [ { + "id": 135, "code": "15-0000", "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 }, { + "id": 136, "code": "15-1200", "targetNodeName": "Computer Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 }, { + "id": 145, "code": "15-1240", "targetNodeName": "Database and Network Administrators and Architects", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 149, "code": "15-1244", "targetNodeName": "Network and Computer Systems Administrators", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 } ] } @@ -901,61 +1147,87 @@ ], "occupations": [ { + "id": 135, "code": "15-0000", "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 }, { + "id": 136, "code": "15-1200", "targetNodeName": "Computer Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 }, { + "id": 140, "code": "15-1220", "targetNodeName": "Computer and Information Research Scientists", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 141, "code": "15-1221", "targetNodeName": "Computer and Information Research Scientists", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 145, "code": "15-1240", "targetNodeName": "Database and Network Administrators and Architects", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 149, "code": "15-1244", "targetNodeName": "Network and Computer Systems Administrators", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 150, "code": "15-1250", "targetNodeName": "Software and Web Developers, Programmers, and Testers", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 151, "code": "15-1251", "targetNodeName": "Computer Programmers", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 156, "code": "15-1290", "targetNodeName": "Miscellaneous Computer Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { - "code": "15-1256" + "id": 2465, + "code": "15-1256", + "jobCodeLevelAsNumber": 4 }, { - "code": "15-1257" + "id": 2466, + "code": "15-1257", + "jobCodeLevelAsNumber": 4 }, { - "code": "15-1245" + "id": 2498, + "code": "15-1245", + "jobCodeLevelAsNumber": 4 }, { - "code": "15-1259" + "id": 2499, + "code": "15-1259", + "jobCodeLevelAsNumber": 4 } ] } @@ -978,45 +1250,63 @@ ], "occupations": [ { + "id": 135, "code": "15-0000", "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 }, { + "id": 136, "code": "15-1200", "targetNodeName": "Computer Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 }, { + "id": 145, "code": "15-1240", "targetNodeName": "Database and Network Administrators and Architects", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 146, "code": "15-1241", "targetNodeName": "Computer Network Architects", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 149, "code": "15-1244", "targetNodeName": "Network and Computer Systems Administrators", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 150, "code": "15-1250", "targetNodeName": "Software and Web Developers, Programmers, and Testers", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 156, "code": "15-1290", "targetNodeName": "Miscellaneous Computer Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { - "code": "15-1256" + "id": 2465, + "code": "15-1256", + "jobCodeLevelAsNumber": 4 }, { - "code": "15-1259" + "id": 2499, + "code": "15-1259", + "jobCodeLevelAsNumber": 4 } ] } @@ -1039,48 +1329,68 @@ ], "occupations": [ { + "id": 135, "code": "15-0000", "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 }, { + "id": 136, "code": "15-1200", "targetNodeName": "Computer Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 }, { + "id": 145, "code": "15-1240", "targetNodeName": "Database and Network Administrators and Architects", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 146, "code": "15-1241", "targetNodeName": "Computer Network Architects", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 149, "code": "15-1244", "targetNodeName": "Network and Computer Systems Administrators", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 150, "code": "15-1250", "targetNodeName": "Software and Web Developers, Programmers, and Testers", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 156, "code": "15-1290", "targetNodeName": "Miscellaneous Computer Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { - "code": "15-1256" + "id": 2465, + "code": "15-1256", + "jobCodeLevelAsNumber": 4 }, { - "code": "15-1245" + "id": 2498, + "code": "15-1245", + "jobCodeLevelAsNumber": 4 }, { - "code": "15-1259" + "id": 2499, + "code": "15-1259", + "jobCodeLevelAsNumber": 4 } ] } @@ -1103,55 +1413,77 @@ ], "occupations": [ { + "id": 135, "code": "15-0000", "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 }, { + "id": 136, "code": "15-1200", "targetNodeName": "Computer Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 }, { + "id": 137, "code": "15-1210", "targetNodeName": "Computer and Information Analysts", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 138, "code": "15-1211", "targetNodeName": "Computer Systems Analysts", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 145, "code": "15-1240", "targetNodeName": "Database and Network Administrators and Architects", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 146, "code": "15-1241", "targetNodeName": "Computer Network Architects", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 149, "code": "15-1244", "targetNodeName": "Network and Computer Systems Administrators", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 150, "code": "15-1250", "targetNodeName": "Software and Web Developers, Programmers, and Testers", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 156, "code": "15-1290", "targetNodeName": "Miscellaneous Computer Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { - "code": "15-1256" + "id": 2465, + "code": "15-1256", + "jobCodeLevelAsNumber": 4 }, { - "code": "15-1259" + "id": 2499, + "code": "15-1259", + "jobCodeLevelAsNumber": 4 } ] } @@ -1174,40 +1506,56 @@ ], "occupations": [ { + "id": 135, "code": "15-0000", "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 }, { + "id": 136, "code": "15-1200", "targetNodeName": "Computer Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 }, { + "id": 145, "code": "15-1240", "targetNodeName": "Database and Network Administrators and Architects", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 149, "code": "15-1244", "targetNodeName": "Network and Computer Systems Administrators", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 150, "code": "15-1250", "targetNodeName": "Software and Web Developers, Programmers, and Testers", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 156, "code": "15-1290", "targetNodeName": "Miscellaneous Computer Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { - "code": "15-1245" + "id": 2498, + "code": "15-1245", + "jobCodeLevelAsNumber": 4 }, { - "code": "15-1259" + "id": 2499, + "code": "15-1259", + "jobCodeLevelAsNumber": 4 } ] } @@ -1230,40 +1578,56 @@ ], "occupations": [ { + "id": 135, "code": "15-0000", "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 }, { + "id": 136, "code": "15-1200", "targetNodeName": "Computer Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 }, { + "id": 145, "code": "15-1240", "targetNodeName": "Database and Network Administrators and Architects", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 149, "code": "15-1244", "targetNodeName": "Network and Computer Systems Administrators", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 150, "code": "15-1250", "targetNodeName": "Software and Web Developers, Programmers, and Testers", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 156, "code": "15-1290", "targetNodeName": "Miscellaneous Computer Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { - "code": "15-1245" + "id": 2498, + "code": "15-1245", + "jobCodeLevelAsNumber": 4 }, { - "code": "15-1259" + "id": 2499, + "code": "15-1259", + "jobCodeLevelAsNumber": 4 } ] } @@ -1286,37 +1650,51 @@ ], "occupations": [ { + "id": 135, "code": "15-0000", "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 }, { + "id": 136, "code": "15-1200", "targetNodeName": "Computer Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 }, { + "id": 145, "code": "15-1240", "targetNodeName": "Database and Network Administrators and Architects", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 149, "code": "15-1244", "targetNodeName": "Network and Computer Systems Administrators", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 150, "code": "15-1250", "targetNodeName": "Software and Web Developers, Programmers, and Testers", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 156, "code": "15-1290", "targetNodeName": "Miscellaneous Computer Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { - "code": "15-1259" + "id": 2499, + "code": "15-1259", + "jobCodeLevelAsNumber": 4 } ] } @@ -1339,29 +1717,39 @@ ], "occupations": [ { + "id": 135, "code": "15-0000", "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 }, { + "id": 136, "code": "15-1200", "targetNodeName": "Computer Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 }, { + "id": 145, "code": "15-1240", "targetNodeName": "Database and Network Administrators and Architects", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 146, "code": "15-1241", "targetNodeName": "Computer Network Architects", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 149, "code": "15-1244", "targetNodeName": "Network and Computer Systems Administrators", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 } ] } @@ -1384,77 +1772,107 @@ ], "occupations": [ { + "id": 1, "code": "11-0000", "targetNodeName": "Management Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 }, { + "id": 18, "code": "11-3000", "targetNodeName": "Operations Specialties Managers", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 }, { + "id": 22, "code": "11-3020", "targetNodeName": "Computer and Information Systems Managers", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 23, "code": "11-3021", "targetNodeName": "Computer and Information Systems Managers", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 135, "code": "15-0000", "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 }, { + "id": 136, "code": "15-1200", "targetNodeName": "Computer Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 }, { + "id": 137, "code": "15-1210", "targetNodeName": "Computer and Information Analysts", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 138, "code": "15-1211", "targetNodeName": "Computer Systems Analysts", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 142, "code": "15-1230", "targetNodeName": "Computer Support Specialists", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 143, "code": "15-1231", "targetNodeName": "Computer Network Support Specialists", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 144, "code": "15-1232", "targetNodeName": "Computer User Support Specialists", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 145, "code": "15-1240", "targetNodeName": "Database and Network Administrators and Architects", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 146, "code": "15-1241", "targetNodeName": "Computer Network Architects", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 149, "code": "15-1244", "targetNodeName": "Network and Computer Systems Administrators", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { - "code": "15-1245" + "id": 2498, + "code": "15-1245", + "jobCodeLevelAsNumber": 4 } ] }, @@ -1474,136 +1892,204 @@ ], "occupations": [ { + "id": 1, "code": "11-0000", "targetNodeName": "Management Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 }, { + "id": 18, "code": "11-3000", "targetNodeName": "Operations Specialties Managers", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 }, { + "id": 22, "code": "11-3020", "targetNodeName": "Computer and Information Systems Managers", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 23, "code": "11-3021", "targetNodeName": "Computer and Information Systems Managers", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 135, "code": "15-0000", "targetNodeName": "Computer and Mathematical Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 1 }, { + "id": 136, "code": "15-1200", "targetNodeName": "Computer Occupations", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 2 }, { + "id": 137, "code": "15-1210", "targetNodeName": "Computer and Information Analysts", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 138, "code": "15-1211", "targetNodeName": "Computer Systems Analysts", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 142, "code": "15-1230", "targetNodeName": "Computer Support Specialists", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 143, "code": "15-1231", "targetNodeName": "Computer Network Support Specialists", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 144, "code": "15-1232", "targetNodeName": "Computer User Support Specialists", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 145, "code": "15-1240", "targetNodeName": "Database and Network Administrators and Architects", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 3 }, { + "id": 146, "code": "15-1241", "targetNodeName": "Computer Network Architects", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 149, "code": "15-1244", "targetNodeName": "Network and Computer Systems Administrators", - "frameworkName": "bls" + "frameworkName": "bls", + "jobCodeLevelAsNumber": 4 }, { + "id": 1460, "code": "11-3021.00", "targetNodeName": "Computer and Information Systems Managers", - "frameworkName": "o*net" + "frameworkName": "o*net", + "jobCodeLevelAsNumber": 4 }, { - "code": "15-1000" + "id": 2471, + "code": "15-1000", + "jobCodeLevelAsNumber": 2 }, { - "code": "15-1120" + "id": 2472, + "code": "15-1120", + "jobCodeLevelAsNumber": 3 }, { - "code": "15-1245" + "id": 2498, + "code": "15-1245", + "jobCodeLevelAsNumber": 4 }, { - "code": "15-1140" + "id": 2500, + "code": "15-1140", + "jobCodeLevelAsNumber": 3 }, { - "code": "15-1150" + "id": 2501, + "code": "15-1150", + "jobCodeLevelAsNumber": 3 }, { - "code": "15-1121" + "id": 2502, + "code": "15-1121", + "jobCodeLevelAsNumber": 4 }, { - "code": "15-1141" + "id": 2503, + "code": "15-1141", + "jobCodeLevelAsNumber": 4 }, { - "code": "15-1142" + "id": 2504, + "code": "15-1142", + "jobCodeLevelAsNumber": 4 }, { - "code": "15-1143" + "id": 2505, + "code": "15-1143", + "jobCodeLevelAsNumber": 4 }, { - "code": "15-1151" + "id": 2506, + "code": "15-1151", + "jobCodeLevelAsNumber": 4 }, { - "code": "15-1152" + "id": 2507, + "code": "15-1152", + "jobCodeLevelAsNumber": 4 }, { - "code": "15-1121.00" + "id": 2508, + "code": "15-1121.00", + "jobCodeLevelAsNumber": 4 }, { - "code": "15-1121.01" + "id": 2509, + "code": "15-1121.01", + "jobCodeLevelAsNumber": 4 }, { - "code": "15-1141.00" + "id": 2510, + "code": "15-1141.00", + "jobCodeLevelAsNumber": 4 }, { - "code": "15-1142.00" + "id": 2511, + "code": "15-1142.00", + "jobCodeLevelAsNumber": 4 }, { - "code": "15-1143.00" + "id": 2512, + "code": "15-1143.00", + "jobCodeLevelAsNumber": 4 }, { - "code": "15-1143.01" + "id": 2513, + "code": "15-1143.01", + "jobCodeLevelAsNumber": 4 }, { - "code": "15-1151.00" + "id": 2514, + "code": "15-1151.00", + "jobCodeLevelAsNumber": 4 }, { - "code": "15-1152.00" + "id": 2515, + "code": "15-1152.00", + "jobCodeLevelAsNumber": 4 } ] } From 81857174e84216e9efb085d777f1531eb9f362e8 Mon Sep 17 00:00:00 2001 From: manuel-delvillar <68391066+manuel-delvillar@users.noreply.github.com> Date: Wed, 12 Jul 2023 11:42:46 -0600 Subject: [PATCH 15/20] Update jobcode and named-reference services - Update services to support versioning --- ui/src/app/metadata/job-codes/service/job-code.service.ts | 2 +- .../named-references/service/named-reference.service.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/ui/src/app/metadata/job-codes/service/job-code.service.ts b/ui/src/app/metadata/job-codes/service/job-code.service.ts index 86bbfa437..3762f19bb 100644 --- a/ui/src/app/metadata/job-codes/service/job-code.service.ts +++ b/ui/src/app/metadata/job-codes/service/job-code.service.ts @@ -17,7 +17,7 @@ import { AbstractDataService } from "../../../data/abstract-data.service" }) export class JobCodeService extends AbstractDataService { - private baseServiceUrl = "api/metadata/jobcodes" + private baseServiceUrl = "metadata/jobcodes" constructor( protected httpClient: HttpClient, diff --git a/ui/src/app/metadata/named-references/service/named-reference.service.ts b/ui/src/app/metadata/named-references/service/named-reference.service.ts index f699b79e2..39c821f47 100644 --- a/ui/src/app/metadata/named-references/service/named-reference.service.ts +++ b/ui/src/app/metadata/named-references/service/named-reference.service.ts @@ -17,7 +17,7 @@ import { ApiBatchResult } from "../../../richskill/ApiBatchResult"; }) export class NamedReferenceService extends AbstractDataService { - private baseServiceUrl = "api/metadata/keywords" + private baseServiceUrl = "metadata/keywords" constructor( protected httpClient: HttpClient, From 4ec8c961df6dd04a2f755b6029637d6eea66d355 Mon Sep 17 00:00:00 2001 From: manuel-delvillar <68391066+manuel-delvillar@users.noreply.github.com> Date: Wed, 12 Jul 2023 11:57:07 -0600 Subject: [PATCH 16/20] Update broken tests - Update tests to support versioning --- .../job-codes/service/job-code.service.spec.ts | 16 ++++++++-------- .../service/named-reference.service.spec.ts | 16 ++++++++-------- 2 files changed, 16 insertions(+), 16 deletions(-) diff --git a/ui/src/app/metadata/job-codes/service/job-code.service.spec.ts b/ui/src/app/metadata/job-codes/service/job-code.service.spec.ts index 425a1c5a0..a9fc3c86d 100644 --- a/ui/src/app/metadata/job-codes/service/job-code.service.spec.ts +++ b/ui/src/app/metadata/job-codes/service/job-code.service.spec.ts @@ -54,7 +54,7 @@ describe("JobCodeService", () => { // Arrange RouterData.commands = [] AuthServiceData.isDown = false - const path = "api/metadata/jobcodes?size=3&from=0&sort=name.asc&query=" + const path = getBaseApi() + "/metadata/jobcodes?size=3&from=0&sort=name.asc&query=" const testData: PaginatedMetadata = createMockPaginatedMetaDataWithJobCodes(3, 10) // Act @@ -69,7 +69,7 @@ describe("JobCodeService", () => { expect(AuthServiceData.isDown).toEqual(false) }) - const req = httpTestingController.expectOne(AppConfig.settings.baseApiUrl + "/" + path) + const req = httpTestingController.expectOne(AppConfig.settings.baseApiUrl + path) expect(req.request.method).toEqual("GET") req.flush(testData.data, { headers: { "x-total-count": "" + testData.totalCount} @@ -81,7 +81,7 @@ describe("JobCodeService", () => { RouterData.commands = [] AuthServiceData.isDown = false const id = "12345" - const path = "api/metadata/jobcodes/" + id + const path = getBaseApi() + "/metadata/jobcodes/" + id const testData: ApiJobCode = new ApiJobCode(createMockJobcode(42, "my jobcode name", id)) // Act @@ -96,7 +96,7 @@ describe("JobCodeService", () => { expect(AuthServiceData.isDown).toEqual(false) }) - const req = httpTestingController.expectOne(AppConfig.settings.baseApiUrl + "/" + path) + const req = httpTestingController.expectOne(AppConfig.settings.baseApiUrl + path) expect(req.request.method).toEqual("GET") req.flush(testData) }) @@ -105,7 +105,7 @@ describe("JobCodeService", () => { // Arrange RouterData.commands = [] AuthServiceData.isDown = false - const path = "api/metadata/jobcodes" + const path = getBaseApi() + "/metadata/jobcodes" const testData = [ new ApiJobCode(createMockJobcode()) ] @@ -130,7 +130,7 @@ describe("JobCodeService", () => { expect(AuthServiceData.isDown).toEqual(false) }) - const req = httpTestingController.expectOne(AppConfig.settings.baseApiUrl + "/" + path) + const req = httpTestingController.expectOne(AppConfig.settings.baseApiUrl + path) expect(req.request.method).toEqual("POST") req.flush(testData) }) @@ -142,7 +142,7 @@ describe("JobCodeService", () => { const testData = new ApiJobCode(createMockJobcode()) const expected = testData const id = expected.code - const path = "api/metadata/jobcodes/" + id + const path = getBaseApi() + "/metadata/jobcodes/" + id const input = new ApiJobCodeUpdate({ code: expected.code, targetNodeName: expected.targetNodeName, @@ -163,7 +163,7 @@ describe("JobCodeService", () => { expect(AuthServiceData.isDown).toEqual(false) }) - const req = httpTestingController.expectOne(AppConfig.settings.baseApiUrl + "/" + path + "/update") + const req = httpTestingController.expectOne(AppConfig.settings.baseApiUrl + path + "/update") expect(req.request.method).toEqual("POST") req.flush(testData) }) diff --git a/ui/src/app/metadata/named-references/service/named-reference.service.spec.ts b/ui/src/app/metadata/named-references/service/named-reference.service.spec.ts index ab77b8682..6f51f8569 100644 --- a/ui/src/app/metadata/named-references/service/named-reference.service.spec.ts +++ b/ui/src/app/metadata/named-references/service/named-reference.service.spec.ts @@ -52,7 +52,7 @@ describe("NamedReferenceService", () => { // Arrange RouterData.commands = [] AuthServiceData.isDown = false - const path = "api/metadata/keywords?size=3&from=0&sort=name.asc&query=&type=categories" + const path = getBaseApi() + "/metadata/keywords?size=3&from=0&sort=name.asc&query=&type=categories" const testData: PaginatedMetadata = createMockPaginatedMetaDataWithNamedReferences(3, 10) let httpTestingController = TestBed.inject(HttpTestingController) @@ -68,7 +68,7 @@ describe("NamedReferenceService", () => { expect(AuthServiceData.isDown).toEqual(false) }) - const req = httpTestingController.expectOne(AppConfig.settings.baseApiUrl + "/" + path) + const req = httpTestingController.expectOne(AppConfig.settings.baseApiUrl + path) expect(req.request.method).toEqual("GET") req.flush(testData.data, { headers: { "x-total-count": "" + testData.totalCount} @@ -80,7 +80,7 @@ describe("NamedReferenceService", () => { RouterData.commands = [] AuthServiceData.isDown = false const id = "12345" - const path = "api/metadata/keywords/" + id + const path = getBaseApi() + "/metadata/keywords/" + id const testData: ApiNamedReference = new ApiNamedReference(createMockNamedReference2()) let httpTestingController = TestBed.inject(HttpTestingController) @@ -96,7 +96,7 @@ describe("NamedReferenceService", () => { expect(AuthServiceData.isDown).toEqual(false) }) - const req = httpTestingController.expectOne(AppConfig.settings.baseApiUrl + "/" + path) + const req = httpTestingController.expectOne(AppConfig.settings.baseApiUrl + path) expect(req.request.method).toEqual("GET") req.flush(testData) }) @@ -105,7 +105,7 @@ describe("NamedReferenceService", () => { // Arrange RouterData.commands = [] AuthServiceData.isDown = false - const path = "api/metadata/keywords" + const path = getBaseApi() + "/metadata/keywords" const testData = [ new ApiNamedReference(createMockNamedReference2()) ] @@ -129,7 +129,7 @@ describe("NamedReferenceService", () => { expect(AuthServiceData.isDown).toEqual(false) }) - const req = httpTestingController.expectOne(AppConfig.settings.baseApiUrl + "/" + path) + const req = httpTestingController.expectOne(AppConfig.settings.baseApiUrl + path) expect(req.request.method).toEqual("POST") req.flush(testData) }) @@ -141,7 +141,7 @@ describe("NamedReferenceService", () => { const testData = new ApiNamedReference(createMockNamedReference2()) const expected = testData const id = expected.id - const path = "api/metadata/keywords/" + id + const path = getBaseApi() + "/metadata/keywords/" + id const input = new ApiNamedReferenceUpdate({ framework : expected.framework, name : expected.name, @@ -161,7 +161,7 @@ describe("NamedReferenceService", () => { expect(AuthServiceData.isDown).toEqual(false) }) - const req = httpTestingController.expectOne(AppConfig.settings.baseApiUrl + "/" + path + "/update") + const req = httpTestingController.expectOne(AppConfig.settings.baseApiUrl + path + "/update") expect(req.request.method).toEqual("POST") req.flush(testData) }) From ad4882b6559da293fb798dcda85aea436296fbeb Mon Sep 17 00:00:00 2001 From: Jose Chavez <115018284+jchavez137@users.noreply.github.com> Date: Fri, 21 Jul 2023 09:35:54 -0600 Subject: [PATCH 17/20] adding rsd count column to metadata list view (#442) --- .../main/kotlin/edu/wgu/osmt/keyword/KeywordController.kt | 2 +- .../main/kotlin/edu/wgu/osmt/keyword/KeywordRepository.kt | 4 ++-- .../detail/metadata-list/metadata-list.component.ts | 8 ++++---- .../named-reference-list-row.component.html | 3 +++ .../named-reference-table.component.html | 7 +++++++ 5 files changed, 17 insertions(+), 7 deletions(-) diff --git a/api/src/main/kotlin/edu/wgu/osmt/keyword/KeywordController.kt b/api/src/main/kotlin/edu/wgu/osmt/keyword/KeywordController.kt index e1fdd671d..b696e73f1 100644 --- a/api/src/main/kotlin/edu/wgu/osmt/keyword/KeywordController.kt +++ b/api/src/main/kotlin/edu/wgu/osmt/keyword/KeywordController.kt @@ -112,7 +112,7 @@ class KeywordController @Autowired constructor( return ResponseEntity .status(HttpStatus.OK) .body(keywordRepository.updateFromApi( - id.toLong(),apiKeywordUpdate) + id ,apiKeywordUpdate) ?.let { ApiKeyword(it.toModel(), it.skills.count()) } diff --git a/api/src/main/kotlin/edu/wgu/osmt/keyword/KeywordRepository.kt b/api/src/main/kotlin/edu/wgu/osmt/keyword/KeywordRepository.kt index 3c8fcafe0..3c4335d13 100644 --- a/api/src/main/kotlin/edu/wgu/osmt/keyword/KeywordRepository.kt +++ b/api/src/main/kotlin/edu/wgu/osmt/keyword/KeywordRepository.kt @@ -171,8 +171,8 @@ class KeywordRepositoryImpl @Autowired constructor( } private enum class ErrorMessages(val apiValue: String) { - DoesNotExist("You cannot delete this Keyword because it does not exist"), - HasRSDRelated("You cannot delete this Keyword because it is used in one or more RSDs"); + DoesNotExist("You cannot delete this item because it does not exist"), + HasRSDRelated("You cannot delete this item because it is used in one or more RSDs"); companion object { fun forDeleteError(hasRSDsRelated: Boolean): String { diff --git a/ui/src/app/metadata/detail/metadata-list/metadata-list.component.ts b/ui/src/app/metadata/detail/metadata-list/metadata-list.component.ts index d0977255d..7f7a14b6f 100644 --- a/ui/src/app/metadata/detail/metadata-list/metadata-list.component.ts +++ b/ui/src/app/metadata/detail/metadata-list/metadata-list.component.ts @@ -136,7 +136,7 @@ export class MetadataListComponent extends AbstractListComponent { if (data && data.success) { this.toastService.showToast("Successfully Deleted", "" + (namedReference as ApiNamedReference)?.name) this.loadNextPage() } else if (data && !data.success) { - this.toastService.showToast("Warning", data.message ?? "You cannot delete this Named Reference") + this.toastService.showToast("Warning", data.message ?? `You cannot delete this ${getEnumKey}`) } }) } diff --git a/ui/src/app/metadata/named-references/named-reference-list-row/named-reference-list-row.component.html b/ui/src/app/metadata/named-references/named-reference-list-row/named-reference-list-row.component.html index 79abae907..00d7a94c1 100644 --- a/ui/src/app/metadata/named-references/named-reference-list-row/named-reference-list-row.component.html +++ b/ui/src/app/metadata/named-references/named-reference-list-row/named-reference-list-row.component.html @@ -9,6 +9,9 @@ {{namedReference.url}} + + {{namedReference.skillCount}} + diff --git a/ui/src/app/metadata/named-references/named-reference-table/named-reference-table.component.html b/ui/src/app/metadata/named-references/named-reference-table/named-reference-table.component.html index 0d4dcdd07..1ac3210f7 100644 --- a/ui/src/app/metadata/named-references/named-reference-table/named-reference-table.component.html +++ b/ui/src/app/metadata/named-references/named-reference-table/named-reference-table.component.html @@ -6,6 +6,7 @@ Name Framework URL + Skills @@ -51,6 +52,12 @@ + + + Skills + + + Date: Fri, 21 Jul 2023 18:12:55 +0200 Subject: [PATCH 18/20] Metadata abstract CRUD Views (#433) * Refactor of Category detail view for metadata * Fixed button roles auth levels * Refactor Category to Metadata --------- Co-authored-by: manuel-delvillar <68391066+manuel-delvillar@users.noreply.github.com> --- .../osmt/collection/CollectionController.kt | 1 + ui/src/app/app-routing.module.ts | 65 ++++- ui/src/app/app.module.ts | 23 +- ui/src/app/auth/auth-roles.ts | 4 + ui/src/app/data/abstract-data.service.spec.ts | 2 +- ui/src/app/data/abstract-data.service.ts | 75 +++++- .../app/detail-card/detail-card.component.ts | 13 +- .../section/section.component.html | 9 + .../detail-card/section/section.component.ts | 17 +- .../title/card-detail-title.component.html | 2 +- .../title/card-detail-title.component.ts | 8 +- ...code-search-multi-select.component.spec.ts | 2 +- ...d-jobcode-search-multi-select.component.ts | 2 +- ...ld-jobcode-search-select.component.spec.ts | 2 +- ...m-field-jobcode-search-select.component.ts | 2 +- ...ld-jobcode-search-select.utilities.spec.ts | 2 +- ...m-field-jobcode-search-select.utilities.ts | 2 +- ui/src/app/metadata/PaginatedMetadata.ts | 4 +- ...abstract-metadata-detail.component.spec.ts | 0 .../abstract-metadata-detail.component.ts | 227 ++++++++++++++++++ .../metadata-card.component.html | 7 + .../metadata-card/metadata-card.component.ts | 70 ++++++ .../metadata-list.component.spec.ts | 4 +- .../metadata-list/metadata-list.component.ts | 8 +- ...-manage-action-bar-vertical.component.html | 25 ++ ...ta-manage-action-bar-vertical.component.ts | 75 ++++++ .../metadata-manage.component.html | 88 +++++++ .../metadata-manage.component.ts | 38 +++ ...-public-action-bar-vertical.component.html | 16 ++ ...ta-public-action-bar-vertical.component.ts | 65 +++++ .../metadata-public.component.html | 88 +++++++ .../metadata-public.component.ts | 38 +++ .../metadata-selector.component.html | 2 +- .../form/metadata-form.component.html | 93 +++++++ .../metadata/form/metadata-form.component.ts | 128 ++++++++++ .../{job-codes => job-code}/Jobcode.spec.ts | 0 .../{job-codes => job-code}/Jobcode.ts | 0 .../job-code-list-row.component.html | 0 .../job-code-list-row.component.spec.ts | 2 +- .../job-code-list-row.component.ts | 0 .../job-code-table.component.html | 0 .../job-code-table.component.spec.ts | 1 - .../job-code-table.component.ts | 0 .../service/job-code.service.spec.ts | 0 .../service/job-code.service.ts | 18 +- .../NamedReference.ts | 0 .../named-reference-list-row.component.html | 0 ...named-reference-list-row.component.spec.ts | 0 .../named-reference-list-row.component.ts | 0 .../named-reference-table.component.html | 0 .../named-reference-table.component.spec.ts | 0 .../named-reference-table.component.ts | 0 .../service/named-reference.service.spec.ts | 0 .../service/named-reference.service.ts | 18 +- ui/src/app/models/filter-dropdown.model.ts | 2 +- ui/src/app/pipes/job-code-parents.pipe.ts | 2 +- ui/src/app/richskill/ApiSkill.spec.ts | 2 +- ui/src/app/richskill/ApiSkill.ts | 2 +- ui/src/app/richskill/ApiSkillSummary.ts | 2 +- .../occupations-card-section.component.ts | 2 +- .../form/rich-skill-form.component.spec.ts | 2 +- .../form/rich-skill-form.component.ts | 2 +- .../service/keyword-search.service.ts | 2 +- .../advanced-search.component.spec.ts | 2 +- .../advanced-search.component.ts | 2 +- .../filter-chips/filter-chips.component.ts | 2 +- .../filter-search.component.spec.ts | 2 +- .../filter-search/filter-search.component.ts | 2 +- .../search-multi-select.component.ts | 2 +- .../skill-table.component.spec.ts | 2 +- ui/test/resource/mock-data.ts | 4 +- ui/test/resource/mock-stubs.ts | 2 +- 72 files changed, 1193 insertions(+), 91 deletions(-) create mode 100644 ui/src/app/detail-card/section/section.component.html create mode 100644 ui/src/app/metadata/detail/abstract-metadata-detail.component.spec.ts create mode 100644 ui/src/app/metadata/detail/abstract-metadata-detail.component.ts create mode 100644 ui/src/app/metadata/detail/metadata-card/metadata-card.component.html create mode 100644 ui/src/app/metadata/detail/metadata-card/metadata-card.component.ts create mode 100644 ui/src/app/metadata/detail/metadata-manage/action-bar-vertical/metadata-manage-action-bar-vertical.component.html create mode 100644 ui/src/app/metadata/detail/metadata-manage/action-bar-vertical/metadata-manage-action-bar-vertical.component.ts create mode 100644 ui/src/app/metadata/detail/metadata-manage/metadata-manage.component.html create mode 100644 ui/src/app/metadata/detail/metadata-manage/metadata-manage.component.ts create mode 100644 ui/src/app/metadata/detail/metadata-public/action-bar-vertical/metadata-public-action-bar-vertical.component.html create mode 100644 ui/src/app/metadata/detail/metadata-public/action-bar-vertical/metadata-public-action-bar-vertical.component.ts create mode 100644 ui/src/app/metadata/detail/metadata-public/metadata-public.component.html create mode 100644 ui/src/app/metadata/detail/metadata-public/metadata-public.component.ts create mode 100644 ui/src/app/metadata/form/metadata-form.component.html create mode 100644 ui/src/app/metadata/form/metadata-form.component.ts rename ui/src/app/metadata/{job-codes => job-code}/Jobcode.spec.ts (100%) rename ui/src/app/metadata/{job-codes => job-code}/Jobcode.ts (100%) rename ui/src/app/metadata/{job-codes => job-code}/job-code-list-row/job-code-list-row.component.html (100%) rename ui/src/app/metadata/{job-codes => job-code}/job-code-list-row/job-code-list-row.component.spec.ts (91%) rename ui/src/app/metadata/{job-codes => job-code}/job-code-list-row/job-code-list-row.component.ts (100%) rename ui/src/app/metadata/{job-codes => job-code}/job-code-table/job-code-table.component.html (100%) rename ui/src/app/metadata/{job-codes => job-code}/job-code-table/job-code-table.component.spec.ts (98%) rename ui/src/app/metadata/{job-codes => job-code}/job-code-table/job-code-table.component.ts (100%) rename ui/src/app/metadata/{job-codes => job-code}/service/job-code.service.spec.ts (100%) rename ui/src/app/metadata/{job-codes => job-code}/service/job-code.service.ts (91%) rename ui/src/app/metadata/{named-references => named-reference}/NamedReference.ts (100%) rename ui/src/app/metadata/{named-references => named-reference}/named-reference-list-row/named-reference-list-row.component.html (100%) rename ui/src/app/metadata/{named-references => named-reference}/named-reference-list-row/named-reference-list-row.component.spec.ts (100%) rename ui/src/app/metadata/{named-references => named-reference}/named-reference-list-row/named-reference-list-row.component.ts (100%) rename ui/src/app/metadata/{named-references => named-reference}/named-reference-table/named-reference-table.component.html (100%) rename ui/src/app/metadata/{named-references => named-reference}/named-reference-table/named-reference-table.component.spec.ts (100%) rename ui/src/app/metadata/{named-references => named-reference}/named-reference-table/named-reference-table.component.ts (100%) rename ui/src/app/metadata/{named-references => named-reference}/service/named-reference.service.spec.ts (100%) rename ui/src/app/metadata/{named-references => named-reference}/service/named-reference.service.ts (91%) diff --git a/api/src/main/kotlin/edu/wgu/osmt/collection/CollectionController.kt b/api/src/main/kotlin/edu/wgu/osmt/collection/CollectionController.kt index 07f5bb254..11f25c9b9 100644 --- a/api/src/main/kotlin/edu/wgu/osmt/collection/CollectionController.kt +++ b/api/src/main/kotlin/edu/wgu/osmt/collection/CollectionController.kt @@ -26,6 +26,7 @@ import edu.wgu.osmt.task.CsvTaskV2 import edu.wgu.osmt.task.PublishTask import edu.wgu.osmt.task.PublishTaskV2 import edu.wgu.osmt.task.RemoveCollectionSkillsTask +import edu.wgu.osmt.task.RemoveItemTask import edu.wgu.osmt.task.Task import edu.wgu.osmt.task.TaskMessageService import edu.wgu.osmt.task.TaskResult diff --git a/ui/src/app/app-routing.module.ts b/ui/src/app/app-routing.module.ts index 949e12908..7e11c6c47 100644 --- a/ui/src/app/app-routing.module.ts +++ b/ui/src/app/app-routing.module.ts @@ -27,6 +27,10 @@ import { BatchImportCollectionComponent } from "./collection/create-collection/batch-import-collection/batch-import-collection.component" import { MetadataListComponent } from "./metadata/detail/metadata-list/metadata-list.component" +import { DetailCardComponent } from "./detail-card/detail-card.component" +import { MetadataFormComponent } from "./metadata/form/metadata-form.component" +import { MetadataManageComponent } from "./metadata/detail/metadata-manage/metadata-manage.component" +import { MetadataPublicComponent } from "./metadata/detail/metadata-public/metadata-public.component" const routes: Routes = [ @@ -85,6 +89,61 @@ const routes: Routes = [ }, }, + /* KEYWORDS */ + + {path: "metadata", + component: MetadataListComponent, + canActivate: [AuthGuard], + }, + // create metadata + {path: "named-references/create", + component: MetadataFormComponent, + canActivate: [AuthGuard], + data: { + roles: ActionByRoles.get(ButtonAction.MetadataCreate) + }, + }, + {path: "job-codes/create", + component: MetadataFormComponent, + canActivate: [AuthGuard], + data: { + roles: ActionByRoles.get(ButtonAction.MetadataCreate) + }, + }, + // edit metadata + {path: "named-references/:id/edit", + component: MetadataFormComponent, + canActivate: [AuthGuard], + data: { + roles: ActionByRoles.get(ButtonAction.MetadataUpdate) + }, + }, + {path: "job-codes/:id/edit", + component: MetadataFormComponent, + canActivate: [AuthGuard], + data: { + roles: ActionByRoles.get(ButtonAction.MetadataUpdate) + }, + }, + // public metadata detail + {path: "named-references/:id", + component: MetadataPublicComponent, + canActivate: [AuthGuard] + }, + {path: "job-codes/:id", + component: MetadataPublicComponent, + canActivate: [AuthGuard] + }, + // admin metadata detail + {path: "named-references/:id/manage", + component: MetadataManageComponent, + canActivate: [AuthGuard] + }, + {path: "job-codes/:id/manage", + component: MetadataManageComponent, + canActivate: [AuthGuard] + }, + /* COLLECTIONS */ // create collection @@ -179,11 +238,7 @@ const routes: Routes = [ roles: ActionByRoles.get(ButtonAction.MyWorkspace) } }, - { - path: "metadata", - component: MetadataListComponent, - canActivate: [AuthGuard], - }, + /* PUBLIC VIEWS */ {path: "skills/:uuid", component: RichSkillPublicComponent}, {path: "collections/:uuid", component: CollectionPublicComponent}, diff --git a/ui/src/app/app.module.ts b/ui/src/app/app.module.ts index 8959bea4d..f9364c286 100644 --- a/ui/src/app/app.module.ts +++ b/ui/src/app/app.module.ts @@ -110,15 +110,21 @@ import { getBaseApi } from "./api-versions" import { NoopAnimationsModule } from "@angular/platform-browser/animations" import { MatMenuModule } from "@angular/material/menu" import { MetadataListComponent } from "./metadata/detail/metadata-list/metadata-list.component" -import { JobCodeListRowComponent } from "./metadata/job-codes/job-code-list-row/job-code-list-row.component" -import { JobCodeTableComponent } from "./metadata/job-codes/job-code-table/job-code-table.component" -import { NamedReferenceListRowComponent } from "./metadata/named-references/named-reference-list-row/named-reference-list-row.component" -import { NamedReferenceTableComponent } from "./metadata/named-references/named-reference-table/named-reference-table.component" -import { MetadataSelectorComponent } from "./metadata/detail/metadata-selector/metadata-selector.component" +import { JobCodeListRowComponent } from "./metadata/job-code/job-code-list-row/job-code-list-row.component" +import { JobCodeTableComponent } from "./metadata/job-code/job-code-table/job-code-table.component" +import { NamedReferenceListRowComponent } from "./metadata/named-reference/named-reference-list-row/named-reference-list-row.component" +import { NamedReferenceTableComponent } from "./metadata/named-reference/named-reference-table/named-reference-table.component" +import { MetadataSelectorComponent } from "./metadata/detail/metadata-selector/metadata-selector.component"; +import { MetadataFormComponent } from "./metadata/form/metadata-form.component"; +import { MetadataManageComponent } from "./metadata/detail/metadata-manage/metadata-manage.component"; +import { MetadataPublicComponent } from "./metadata/detail/metadata-public/metadata-public.component"; import { InlineHeadingComponent } from './richskill/import/inline-heading/inline-heading.component' import { InlineErrorComponent } from "./richskill/import/inline-error/inline-error.component" import { BatchImportCollectionComponent } from './collection/create-collection/batch-import-collection/batch-import-collection.component' import { JobCodeParentsPipe } from "./pipes" +import { MetadataCardComponent } from "./metadata/detail/metadata-card/metadata-card.component" +import { ManageMetadataActionBarVerticalComponent } from "./metadata/detail/metadata-manage/action-bar-vertical/metadata-manage-action-bar-vertical.component" +import { PublicMetadataActionBarVerticalComponent } from "./metadata/detail/metadata-public/action-bar-vertical/metadata-public-action-bar-vertical.component" export function initializeApp( appConfig: AppConfig, @@ -240,8 +246,15 @@ export function initializeApp( NamedReferenceListRowComponent, NamedReferenceTableComponent, MetadataSelectorComponent, + MetadataCardComponent, + MetadataFormComponent, + MetadataManageComponent, + MetadataPublicComponent, + ManageMetadataActionBarVerticalComponent, + PublicMetadataActionBarVerticalComponent, InlineHeadingComponent, JobCodeParentsPipe, + InlineHeadingComponent ], imports: [ NgIdleKeepaliveModule.forRoot(), diff --git a/ui/src/app/auth/auth-roles.ts b/ui/src/app/auth/auth-roles.ts index 791d54882..29e8656dc 100644 --- a/ui/src/app/auth/auth-roles.ts +++ b/ui/src/app/auth/auth-roles.ts @@ -16,6 +16,8 @@ export enum ButtonAction { DeleteCollection, MyWorkspace, MetadataAdmin, + MetadataCreate, + MetadataUpdate } export const ActionByRoles = new Map([ @@ -31,6 +33,8 @@ export const ActionByRoles = new Map([ [ButtonAction.DeleteCollection, [OSMT_ADMIN]], [ButtonAction.MyWorkspace, [OSMT_ADMIN, OSMT_CURATOR]], [ButtonAction.MetadataAdmin, [OSMT_ADMIN]], + [ButtonAction.MetadataCreate, [OSMT_ADMIN]], + [ButtonAction.MetadataUpdate, [OSMT_ADMIN]], ]) //TODO migrate AuthServiceWgu & AuthService.hasRole & isEnabledByRoles into a singleton here. HDN Sept 15, 2022 diff --git a/ui/src/app/data/abstract-data.service.spec.ts b/ui/src/app/data/abstract-data.service.spec.ts index 3cec71658..a4c220c67 100644 --- a/ui/src/app/data/abstract-data.service.spec.ts +++ b/ui/src/app/data/abstract-data.service.spec.ts @@ -9,7 +9,7 @@ import { AuthService } from "../auth/auth-service" import { AuthServiceStub, RouterStub } from "@test/resource/mock-stubs" import { getBaseApi } from "../api-versions" -describe("AbstractAdminService", () => { +describe("AbstractDataService", () => { let testService: AbstractDataService beforeEach(() => { diff --git a/ui/src/app/data/abstract-data.service.ts b/ui/src/app/data/abstract-data.service.ts index 21d485ee5..bd6390cb2 100644 --- a/ui/src/app/data/abstract-data.service.ts +++ b/ui/src/app/data/abstract-data.service.ts @@ -1,14 +1,23 @@ import { Location } from "@angular/common" -import { HttpClient, HttpResponse } from "@angular/common/http" +import { HttpClient, HttpHeaders, HttpResponse } from "@angular/common/http" import { Inject, Injectable } from "@angular/core" import { Router } from "@angular/router" + import { Observable } from "rxjs" -import { share } from "rxjs/operators" -import { AbstractService, ApiGetParams } from "../abstract.service" +import { map, share } from "rxjs/operators" + +import { AbstractService, ApiGetParams, IRelatedSkillsService } from "../abstract.service" import { AuthService } from "../auth/auth-service" +import { PublishStatus } from "../PublishStatus" +import { ApiSortOrder } from "../richskill/ApiSkill" +import { ApiSearch, PaginatedSkills } from "../richskill/service/rich-skill-search.service" +import { ApiSkillSummary } from "../richskill/ApiSkillSummary" @Injectable({ providedIn: "root" }) -export abstract class AbstractDataService extends AbstractService { +export abstract class AbstractDataService extends AbstractService + implements IRelatedSkillsService { + + protected abstract serviceUrl: string; protected constructor( httpClient: HttpClient, @@ -17,7 +26,7 @@ export abstract class AbstractDataService extends AbstractService { location: Location, @Inject("BASE_API") baseApi: string ) { - super(httpClient, authService, router, location, baseApi) + super(httpClient, authService, router, location, baseApi); } /** @@ -34,10 +43,60 @@ export abstract class AbstractDataService extends AbstractService { const observable = this.httpClient.patch(this.buildUrl(path + "/update"), body, { headers: this.wrapHeaders(headers), params, - observe: "response"}).pipe(share()) + observe: "response"}).pipe(share()); observable - .subscribe(() => {}, (err) => { this.redirectToLogin(err) }) - return observable + .subscribe(() => {}, (err) => { this.redirectToLogin(err) }); + return observable; + } + + getDataById(id: number): Observable { + return new Observable; + } + + getRelatedSkills( + entityId: number, + size: number, + from: number, + statusFilters: Set, + sort?: ApiSortOrder, + ): Observable { + const errorMsg = `Could not find skills for metadata [${entityId}]`; + + return this.get({ + path: `${this.serviceUrl}/${entityId}/skills`, + headers: new HttpHeaders({ + Accept: "application/json" + }), + params: this.buildTableParams(size, from, statusFilters, sort), + }) + .pipe(share()) + .pipe(map(({body, headers}) => + new PaginatedSkills(this.safeUnwrapBody(body, errorMsg), Number(headers.get("X-Total-Count"))) + )); + } + + searchRelatedSkills( + entityId: number, + size: number, + from: number, + statusFilters: Set, + sort?: ApiSortOrder, + apiSearch?: ApiSearch + ): Observable { + const errorMsg = `Could not find skills for metadata [${entityId}]`; + + return this.post({ + path: `${this.serviceUrl}/${entityId}/skills`, + headers: new HttpHeaders({ + Accept: "application/json" + }), + params: this.buildTableParams(size, from, statusFilters, sort), + body: apiSearch ?? new ApiSearch({}) + }) + .pipe(share()) + .pipe(map(({body, headers}) => + new PaginatedSkills(this.safeUnwrapBody(body, errorMsg), Number(headers.get("X-Total-Count"))) + )); } } diff --git a/ui/src/app/detail-card/detail-card.component.ts b/ui/src/app/detail-card/detail-card.component.ts index e3f0ee0e5..a65b84daa 100644 --- a/ui/src/app/detail-card/detail-card.component.ts +++ b/ui/src/app/detail-card/detail-card.component.ts @@ -1,6 +1,6 @@ -import { Component, Input, OnInit } from "@angular/core" -import { IDetailCardSectionData } from "./section/section.component" -import {PublishStatus} from "../PublishStatus"; +import { Component, Input, OnInit } from "@angular/core"; + +import { IDetailCardSectionData } from "./section/section.component"; @Component({ selector: "app-detail-card", @@ -14,12 +14,11 @@ export class DetailCardComponent implements OnInit { @Input() authors = "" @Input() publishDate = "" @Input() archiveDate = "" - @Input() status = PublishStatus.Draft + @Input() status = "" - constructor() { } + constructor() {} - ngOnInit(): void { - } + ngOnInit(): void {} cardTypeLabel(): string { return "RichSkillDescriptor" diff --git a/ui/src/app/detail-card/section/section.component.html b/ui/src/app/detail-card/section/section.component.html new file mode 100644 index 000000000..8d6d295c2 --- /dev/null +++ b/ui/src/app/detail-card/section/section.component.html @@ -0,0 +1,9 @@ +
    + +
    + +

    +
    + + + \ No newline at end of file diff --git a/ui/src/app/detail-card/section/section.component.ts b/ui/src/app/detail-card/section/section.component.ts index f3d450695..c17de26c0 100644 --- a/ui/src/app/detail-card/section/section.component.ts +++ b/ui/src/app/detail-card/section/section.component.ts @@ -1,4 +1,4 @@ -import {Component, Input, OnInit, TemplateRef} from "@angular/core" +import { Component, Input, OnInit, TemplateRef } from "@angular/core"; export interface IDetailCardSectionData { label: string @@ -9,17 +9,7 @@ export interface IDetailCardSectionData { @Component({ selector: "app-detail-card-section", - template: ` -
    - -
    - -

    -
    - - - - ` + templateUrl: "./section.component.html" }) export class DetailCardSectionComponent { @@ -31,4 +21,7 @@ export class DetailCardSectionComponent { } constructor() {} + + ngOnInit(): void { + } } diff --git a/ui/src/app/detail-card/title/card-detail-title.component.html b/ui/src/app/detail-card/title/card-detail-title.component.html index a6c1cb26b..3d5a0b181 100644 --- a/ui/src/app/detail-card/title/card-detail-title.component.html +++ b/ui/src/app/detail-card/title/card-detail-title.component.html @@ -2,7 +2,7 @@

    {{title}}

    -
    +

    Authors: {{authors}}

    diff --git a/ui/src/app/detail-card/title/card-detail-title.component.ts b/ui/src/app/detail-card/title/card-detail-title.component.ts index 13d192436..178e6cbfa 100644 --- a/ui/src/app/detail-card/title/card-detail-title.component.ts +++ b/ui/src/app/detail-card/title/card-detail-title.component.ts @@ -1,5 +1,5 @@ -import {Component, Input, OnInit} from "@angular/core" -import {PublishStatus} from "../../PublishStatus"; +import {Component, Input, OnInit} from "@angular/core"; + @Component({ selector: "app-card-detail-title", @@ -10,11 +10,11 @@ export class CardDetailTitleComponent implements OnInit { @Input() cardType = "" @Input() title = "" @Input() authors = "" - @Input() status: PublishStatus = PublishStatus.Draft + @Input() status = "" @Input() publishDate = "" @Input() archiveDate = "" - constructor() { } + constructor() {} ngOnInit(): void { } diff --git a/ui/src/app/form/form-field-search-select/jobcode/form-field-jobcode-search-multi-select.component.spec.ts b/ui/src/app/form/form-field-search-select/jobcode/form-field-jobcode-search-multi-select.component.spec.ts index 418eef5c1..fd4733267 100644 --- a/ui/src/app/form/form-field-search-select/jobcode/form-field-jobcode-search-multi-select.component.spec.ts +++ b/ui/src/app/form/form-field-search-select/jobcode/form-field-jobcode-search-multi-select.component.spec.ts @@ -10,7 +10,7 @@ import {EnvironmentService} from "src/app/core/environment.service" import {ActivatedRouteStubSpec} from "test/util/activated-route-stub.spec" import {KeywordSearchService} from "../../../richskill/service/keyword-search.service" import {KeywordSearchServiceStub} from "../../../../../test/resource/mock-stubs" -import { ApiJobCode, IJobCode } from "../../../metadata/job-codes/Jobcode" +import { ApiJobCode, IJobCode } from "../../../metadata/job-code/Jobcode" import {FormFieldJobCodeSearchMultiSelect} from "./form-field-jobcode-search-multi-select.component" @Component({ diff --git a/ui/src/app/form/form-field-search-select/jobcode/form-field-jobcode-search-multi-select.component.ts b/ui/src/app/form/form-field-search-select/jobcode/form-field-jobcode-search-multi-select.component.ts index 41f67a185..ee385cace 100644 --- a/ui/src/app/form/form-field-search-select/jobcode/form-field-jobcode-search-multi-select.component.ts +++ b/ui/src/app/form/form-field-search-select/jobcode/form-field-jobcode-search-multi-select.component.ts @@ -2,7 +2,7 @@ import {Component} from "@angular/core" import {Observable} from "rxjs" import {map} from "rxjs/operators" import {KeywordSearchService} from "../../../richskill/service/keyword-search.service" -import { IJobCode } from "../../../metadata/job-codes/Jobcode" +import { IJobCode } from "../../../metadata/job-code/Jobcode" import {isJobCode} from "./form-field-jobcode-search-select.utilities" import {areSearchResultsEqual, labelFor, searchResultFromString} from "./form-field-jobcode-search-select.utilities" import {AbstractFormFieldSearchMultiSelect} from "../abstract-form-field-search-multi-select.component" diff --git a/ui/src/app/form/form-field-search-select/jobcode/form-field-jobcode-search-select.component.spec.ts b/ui/src/app/form/form-field-search-select/jobcode/form-field-jobcode-search-select.component.spec.ts index 1e6f9e306..16c2642fc 100644 --- a/ui/src/app/form/form-field-search-select/jobcode/form-field-jobcode-search-select.component.spec.ts +++ b/ui/src/app/form/form-field-search-select/jobcode/form-field-jobcode-search-select.component.spec.ts @@ -10,7 +10,7 @@ import {EnvironmentService} from "src/app/core/environment.service" import {ActivatedRouteStubSpec} from "test/util/activated-route-stub.spec" import {KeywordSearchService} from "../../../richskill/service/keyword-search.service" import {KeywordSearchServiceStub} from "../../../../../test/resource/mock-stubs" -import { ApiJobCode, IJobCode } from "../../../metadata/job-codes/Jobcode" +import { ApiJobCode, IJobCode } from "../../../metadata/job-code/Jobcode" import {FormFieldJobCodeSearchSelect} from "./form-field-jobcode-search-select.component" @Component({ diff --git a/ui/src/app/form/form-field-search-select/jobcode/form-field-jobcode-search-select.component.ts b/ui/src/app/form/form-field-search-select/jobcode/form-field-jobcode-search-select.component.ts index 9a35e54d2..1497cb8f1 100644 --- a/ui/src/app/form/form-field-search-select/jobcode/form-field-jobcode-search-select.component.ts +++ b/ui/src/app/form/form-field-search-select/jobcode/form-field-jobcode-search-select.component.ts @@ -2,7 +2,7 @@ import {Component} from "@angular/core" import {Observable} from "rxjs" import {map} from "rxjs/operators" import {KeywordSearchService} from "../../../richskill/service/keyword-search.service" -import { IJobCode } from "../../../metadata/job-codes/Jobcode" +import { IJobCode } from "../../../metadata/job-code/Jobcode" import {isJobCode} from "./form-field-jobcode-search-select.utilities" import {areSearchResultsEqual, labelFor, searchResultFromString} from "./form-field-jobcode-search-select.utilities" import {AbstractFormFieldSearchSingleSelect} from "../abstract-form-field-search-single-select.component" diff --git a/ui/src/app/form/form-field-search-select/jobcode/form-field-jobcode-search-select.utilities.spec.ts b/ui/src/app/form/form-field-search-select/jobcode/form-field-jobcode-search-select.utilities.spec.ts index f6918249d..f32fbec3d 100644 --- a/ui/src/app/form/form-field-search-select/jobcode/form-field-jobcode-search-select.utilities.spec.ts +++ b/ui/src/app/form/form-field-search-select/jobcode/form-field-jobcode-search-select.utilities.spec.ts @@ -1,6 +1,6 @@ // noinspection LocalVariableNamingConventionJS import {async, ComponentFixture, TestBed} from "@angular/core/testing" -import { IJobCode } from "../../../metadata/job-codes/Jobcode" +import { IJobCode } from "../../../metadata/job-code/Jobcode" import {createMockJobcode} from "../../../../../test/resource/mock-data" import { areSearchResultsEqual, diff --git a/ui/src/app/form/form-field-search-select/jobcode/form-field-jobcode-search-select.utilities.ts b/ui/src/app/form/form-field-search-select/jobcode/form-field-jobcode-search-select.utilities.ts index a5cf2f12d..3980bc3c1 100644 --- a/ui/src/app/form/form-field-search-select/jobcode/form-field-jobcode-search-select.utilities.ts +++ b/ui/src/app/form/form-field-search-select/jobcode/form-field-jobcode-search-select.utilities.ts @@ -1,4 +1,4 @@ -import { IJobCode } from "../../../metadata/job-codes/Jobcode" +import { IJobCode } from "../../../metadata/job-code/Jobcode" export const areSearchResultsEqual = (result1: IJobCode, result2: IJobCode): boolean => { if (result1 && result2) { diff --git a/ui/src/app/metadata/PaginatedMetadata.ts b/ui/src/app/metadata/PaginatedMetadata.ts index 4495c7e75..8979fa666 100644 --- a/ui/src/app/metadata/PaginatedMetadata.ts +++ b/ui/src/app/metadata/PaginatedMetadata.ts @@ -1,5 +1,5 @@ -import { ApiJobCode } from "./job-codes/Jobcode" -import { ApiNamedReference } from "./named-references/NamedReference" +import { ApiJobCode } from "./job-code/Jobcode" +import { ApiNamedReference } from "./named-reference/NamedReference" import { PaginatedData } from "../models"; export class PaginatedMetadata implements PaginatedData { diff --git a/ui/src/app/metadata/detail/abstract-metadata-detail.component.spec.ts b/ui/src/app/metadata/detail/abstract-metadata-detail.component.spec.ts new file mode 100644 index 000000000..e69de29bb diff --git a/ui/src/app/metadata/detail/abstract-metadata-detail.component.ts b/ui/src/app/metadata/detail/abstract-metadata-detail.component.ts new file mode 100644 index 000000000..cdca2ce50 --- /dev/null +++ b/ui/src/app/metadata/detail/abstract-metadata-detail.component.ts @@ -0,0 +1,227 @@ +import { Component, ElementRef, Input, OnInit, ViewChild} from "@angular/core"; +import { FormControl, FormGroup } from "@angular/forms"; +import { Title } from "@angular/platform-browser"; +import { ActivatedRoute, Router } from "@angular/router"; + +import { SvgHelper, SvgIcon } from "src/app/core/SvgHelper"; +import { AbstractDataService } from "src/app/data/abstract-data.service"; +import { IDetailCardSectionData } from "src/app/detail-card/section/section.component"; +import { FilterDropdown } from "src/app/models"; +import { PublishStatus } from "src/app/PublishStatus"; +import { ApiSortOrder } from "src/app/richskill/ApiSkill"; +import { RichSkillService } from "src/app/richskill/service/rich-skill.service"; +import { RelatedSkillTableControl } from "src/app/table/control/related-skill-table.control"; +import { ISkillTableControl } from "src/app/table/control/table.control"; +import { TableActionDefinition } from "src/app/table/skills-library-table/has-action-definitions"; +import { ToastService } from "src/app/toast/toast.service"; +import { ApiJobCode } from "../job-code/Jobcode"; +import { ApiNamedReference } from "../named-reference/NamedReference"; +import { MetadataType } from "../rsd-metadata.enum"; +import { QuickLinksHelper } from "../../core/quick-links-helper"; + + +@Component({ + template: `` +}) +export abstract class AbstractMetadataDetailComponent extends QuickLinksHelper implements OnInit { + @ViewChild("titleHeading") titleElement!: ElementRef + + idParam: string | null; + metadata?: ApiNamedReference | ApiJobCode; + skillTableControl: RelatedSkillTableControl + + searchForm = new FormGroup({ + search: new FormControl("") + }) + + readonly searchIcon = SvgHelper.path(SvgIcon.SEARCH) + + constructor( + protected router: Router, + protected route: ActivatedRoute, + protected metadataService: AbstractDataService, + protected skillService: RichSkillService, + protected titleService: Title, + protected toastService: ToastService + ) { + super(); + this.idParam = this.route.snapshot.paramMap.get("id"); + + this.skillTableControl = new RelatedSkillTableControl( + metadataService, + { + from: 0, + size: 50, + sort: ApiSortOrder.NameAsc, + statusFilters: new Set([PublishStatus.Draft, PublishStatus.Published]) + } as ISkillTableControl + ); + } + + get showLibraryEmptyMessage(): boolean { + return true; + } + + get showSkillsEmpty(): boolean { + return this.skillTableControl.emptyResults; + } + + get showSkillsFilters(): boolean { + return true; + } + + get showSkillsLoading(): boolean { + return false; + } + + get showSkillsTable(): boolean { + return !this.skillTableControl.emptyResults; + } + + // get skillsCountLabel(): string { + // const rsdLabel = (this.metadata?.skillCount == 1) ? "RSD" : "RSDs" + // return `${this.skillTableControl.totalCount} ${rsdLabel} with this category based on` + // } + + get skillsViewingLabel(): string { + return (this.skillTableControl.currFirstSkillIndex && this.skillTableControl.currLastSkillIndex) + ? `Viewing ${this.skillTableControl.currFirstSkillIndex}-${this.skillTableControl.currLastSkillIndex}` : ""; + } + + get tableActions(): TableActionDefinition[] { + return [ + new TableActionDefinition({ + label: "Back to Top", + icon: "up", + offset: true, + callback: (action: TableActionDefinition) => this.handleClickBackToTop(action), + visible: () => true + }) + ]; + } + + protected get searchFieldValue(): string | undefined { + const value = this.searchForm.get("search")?.value?.trim(); + return (value && value.length > 0) ? value : undefined; + } + + + ngOnInit(): void { + this.loadMetadata(); + } + + protected loadMetadata() { + if (this.idParam) { + // this.categoryService.getById(this.idParam).subscribe( + // (m: ApiNamedReference | ApiJobCode) => this.setMetadata(m)); + } else { + this.clearMetadata(); + } + } + + protected getMetadata() { + return this.metadata; + } + + protected setMetadata(metadata: ApiNamedReference | ApiJobCode) { + this.metadata = metadata; + + // this.titleService.setTitle(`${category.name} | Category | ${this.whitelabel.toolName}`) + this.loadSkills(); + } + + protected loadSkills(): void { + if (this.metadata) { + // this.skillTableControl.loadSkills(this.metadata.id); + } else { + this.clearSkills(); + } + } + + protected clearMetadata() { + this.metadata = undefined; + this.titleService.setTitle( + `${this.getMetadataType()} | ${this.whitelabel.toolName}`); + this.loadSkills(); + } + + protected clearSkills() { + // this.skillTableControl.clearSkills(); + } + + getId(): number { + return this.metadata?.id ?? -1; + } + + getCardFormat(): IDetailCardSectionData[] { + return []; + } + + getMetadataName(): string { + return "Fine Arts"; + } + + getMetadataType(): string { + if (this.metadata instanceof ApiNamedReference) { + return this.metadata.type ?? ""; + } + else if (this.metadata instanceof ApiJobCode) { + return MetadataType.JobCode; + } + else { + return ""; + } + } + + getMobileSkillSortOptions(): {[s: string]: string} { + return { + "skill.asc": "RSD Name (ascending)", + "skill.desc": "RSD Name (descending)", + }; + } + + navigateToPage(newPageNo: number) { + this.skillTableControl.from = (newPageNo - 1) * this.skillTableControl.size; + this.loadSkills(); + } + + clearSearch(): boolean { + this.searchForm.reset(); + this.skillTableControl.query = undefined; + this.skillTableControl.from = 0; + this.loadSkills(); + return false; + } + + handleClickBackToTop(action: TableActionDefinition): boolean { + this.focusAndScrollIntoView(this.titleElement.nativeElement); + return false; + } + + handleHeaderColumnSort(sort: ApiSortOrder) { + this.skillTableControl.sort = sort; + this.skillTableControl.from = 0; + this.loadSkills(); + } + + handlePageClicked(newPageNo: number) { + this.navigateToPage(newPageNo); + } + + handleStatusFilterChange(filters: Set) { + this.skillTableControl.statusFilters = filters; + this.loadSkills(); + } + + handleKeywordFilterChange(filters: FilterDropdown) { + this.skillTableControl.keywordFilters = filters; + this.loadSkills(); + } + + handleSearchSubmit(): boolean { + this.skillTableControl.query = this.searchFieldValue; + this.skillTableControl.from = 0; + this.loadSkills(); + return false; + } +} \ No newline at end of file diff --git a/ui/src/app/metadata/detail/metadata-card/metadata-card.component.html b/ui/src/app/metadata/detail/metadata-card/metadata-card.component.html new file mode 100644 index 000000000..8346d078b --- /dev/null +++ b/ui/src/app/metadata/detail/metadata-card/metadata-card.component.html @@ -0,0 +1,7 @@ +
    +
    + +
    +

    {{metadataName}}

    +

    {{metadataSkillsLabel}}

    +
    \ No newline at end of file diff --git a/ui/src/app/metadata/detail/metadata-card/metadata-card.component.ts b/ui/src/app/metadata/detail/metadata-card/metadata-card.component.ts new file mode 100644 index 000000000..7ffc770e8 --- /dev/null +++ b/ui/src/app/metadata/detail/metadata-card/metadata-card.component.ts @@ -0,0 +1,70 @@ +import { Component, Input } from "@angular/core"; +import { ActivatedRoute, Router } from "@angular/router"; + +import { ApiJobCode } from "../../job-code/Jobcode"; +import { ApiNamedReference } from "../../named-reference/NamedReference"; +import { RichSkillService } from "../../../richskill/service/rich-skill.service"; +import { MetadataType } from "../../rsd-metadata.enum"; +import { ToastService } from "../../../toast/toast.service"; + +@Component({ + selector: "app-metadata-card", + templateUrl: "./metadata-card.component.html" +}) +export class MetadataCardComponent { + + @Input() metadata: ApiNamedReference | ApiJobCode | undefined; + @Input() indexOfFirstSkill: number | undefined = undefined; + @Input() currentOnPage: number | undefined = undefined; + @Input() showSkillCount: boolean = true; + + protected metadataType: string; + + constructor( + protected router: Router, + protected route: ActivatedRoute, + protected richSkillService: RichSkillService, + protected toastService: ToastService + ) { + this.metadataType = this.getMetadataType(); + } + + get metadataName(): string { + return "Fine Arts"; + } + + get metadataSkillsLabel(): string { + return "random label?"; + // let label = (this.showSkillCount && this.metadataSkillCount) ? + // `${this.categorySkillCount} RSD${(this.metadata?.skillCount != 1) ? 's' : ''} with category.` : "" + + // label = (this.firstSkillIndex && this.lastSkillIndex) ? + // `${label} Viewing ${this.firstSkillIndex}-${this.lastSkillIndex}.` : label + + // return label + } + + // get metadataSkillCount(): string | undefined { + // return (this.category?.skillCount) ? this.category.skillCount.toString() : undefined + // } + + get firstSkillIndex(): string | undefined { + return (this.indexOfFirstSkill) ? `${this.indexOfFirstSkill + 1}` : undefined; + } + + get lastSkillIndex(): string | undefined { + return (this.indexOfFirstSkill && this.currentOnPage) ? `${this.indexOfFirstSkill + this.currentOnPage}` : undefined; + } + + getMetadataType(): string { + if (this.metadata instanceof ApiNamedReference) { + return this.metadata.type ?? ""; + } + else if (this.metadata instanceof ApiJobCode) { + return MetadataType.JobCode; + } + else { + return ""; + } + } +} \ No newline at end of file diff --git a/ui/src/app/metadata/detail/metadata-list/metadata-list.component.spec.ts b/ui/src/app/metadata/detail/metadata-list/metadata-list.component.spec.ts index 23f122af2..67648b9ad 100644 --- a/ui/src/app/metadata/detail/metadata-list/metadata-list.component.spec.ts +++ b/ui/src/app/metadata/detail/metadata-list/metadata-list.component.spec.ts @@ -2,10 +2,10 @@ import { ComponentFixture, TestBed } from "@angular/core/testing" import { MetadataListComponent } from "./metadata-list.component" import { MetadataType } from "../../rsd-metadata.enum" import { PaginatedMetadata } from "../../PaginatedMetadata" -import { ApiJobCode } from "../../job-codes/Jobcode" +import { ApiJobCode } from "../../job-code/Jobcode" import { AuthServiceStub } from "@test/resource/mock-stubs"; import { AuthService } from "../../../auth/auth-service"; -import { JobCodeService } from "../../job-codes/service/job-code.service" +import { JobCodeService } from "../../job-code/service/job-code.service" import { HttpClientTestingModule } from "@angular/common/http/testing" import {createMockJobcode, createMockNamedReference2 } from "@test/resource/mock-data" import { of } from "rxjs" diff --git a/ui/src/app/metadata/detail/metadata-list/metadata-list.component.ts b/ui/src/app/metadata/detail/metadata-list/metadata-list.component.ts index 7f7a14b6f..3e1afb5b4 100644 --- a/ui/src/app/metadata/detail/metadata-list/metadata-list.component.ts +++ b/ui/src/app/metadata/detail/metadata-list/metadata-list.component.ts @@ -1,16 +1,16 @@ import { Component, OnInit } from "@angular/core" import { FormControl } from "@angular/forms" import { Subject } from "rxjs" -import { ApiJobCode, IJobCode } from "../../job-codes/Jobcode" -import { ApiNamedReference, NamedReferenceInterface } from "../../named-references/NamedReference" +import { ApiJobCode, IJobCode } from "../../job-code/Jobcode" +import { ApiNamedReference, NamedReferenceInterface } from "../../named-reference/NamedReference" import { TableActionDefinition } from "../../../table/skills-library-table/has-action-definitions" import { ButtonAction } from "../../../auth/auth-roles" import { AuthService } from "../../../auth/auth-service" import { MetadataType } from "../../rsd-metadata.enum" -import { JobCodeService } from "../../job-codes/service/job-code.service" +import { JobCodeService } from "../../job-code/service/job-code.service" import { ToastService } from "../../../toast/toast.service" import { AbstractListComponent } from "../../../table/abstract-list.component" -import { NamedReferenceService } from "../../named-references/service/named-reference.service" +import { NamedReferenceService } from "../../named-reference/service/named-reference.service" @Component({ selector: "app-metadata-list", diff --git a/ui/src/app/metadata/detail/metadata-manage/action-bar-vertical/metadata-manage-action-bar-vertical.component.html b/ui/src/app/metadata/detail/metadata-manage/action-bar-vertical/metadata-manage-action-bar-vertical.component.html new file mode 100644 index 000000000..fbf62fcbe --- /dev/null +++ b/ui/src/app/metadata/detail/metadata-manage/action-bar-vertical/metadata-manage-action-bar-vertical.component.html @@ -0,0 +1,25 @@ +
    + +
    + + + +
    +
    diff --git a/ui/src/app/metadata/detail/metadata-manage/action-bar-vertical/metadata-manage-action-bar-vertical.component.ts b/ui/src/app/metadata/detail/metadata-manage/action-bar-vertical/metadata-manage-action-bar-vertical.component.ts new file mode 100644 index 000000000..cb0ce98ab --- /dev/null +++ b/ui/src/app/metadata/detail/metadata-manage/action-bar-vertical/metadata-manage-action-bar-vertical.component.ts @@ -0,0 +1,75 @@ +import { + Component, + EventEmitter, + Inject, + Input, + LOCALE_ID, + OnInit, + Output } from "@angular/core"; +import { Router} from "@angular/router"; + +import { AbstractDataService } from "src/app/data/abstract-data.service"; +import { AppConfig } from "../../../../app.config"; +import { ButtonAction } from "../../../../auth/auth-roles"; +import { AuthService } from "../../../../auth/auth-service"; +import { SvgHelper, SvgIcon } from "../../../../core/SvgHelper"; +import { ToastService } from "../../../../toast/toast.service"; + + +@Component({ + selector: "app-manage-metadata-action-bar-vertical", + templateUrl: "./metadata-manage-action-bar-vertical.component.html" +}) +export class ManageMetadataActionBarVerticalComponent implements OnInit { + + @Input() id: number = -1; + @Input() metadataName: string = ""; + @Input() metadataPublicUrl: string = ""; + + @Output() reloadMetadata: EventEmitter = new EventEmitter; + + // Used in invisible labels to house the data to be added to clipboard + href: string = ""; + jsonClipboard: string = ""; + + // icons + editIcon: string = SvgHelper.path(SvgIcon.EDIT); + duplicateIcon: string = SvgHelper.path(SvgIcon.DUPLICATE); + + canMetadataUpdate: boolean = false; + canMetadataCreate: boolean = false; + + constructor( + protected router: Router, + protected metadataService: AbstractDataService, + protected toastService: ToastService, + private authService: AuthService, + @Inject(LOCALE_ID) protected locale: string + ) { + } + + ngOnInit(): void { + this.href = `${AppConfig.settings.baseApiUrl}${this.router.url}`; + // this.metadataService.getMetadataJsonById(this.id) + // .subscribe( (json: string) => { + // this.jsonClipboard = json + // }); + this.setEnableFlags(); + } + + handleCopyPublicURL(): void { + navigator.clipboard.writeText(this.metadataPublicUrl) + .then( + () => this.toastService.showToast("Success!", "URL copied to clipboard") + ) + .catch( + () => this.toastService.showToast("Error", "Could not copy to clipboard") + ); + } + + setEnableFlags(): void { + this.canMetadataUpdate = this.authService.isEnabledByRoles(ButtonAction.MetadataUpdate); + this.canMetadataCreate = this.authService.isEnabledByRoles(ButtonAction.MetadataCreate); + } + +} \ No newline at end of file diff --git a/ui/src/app/metadata/detail/metadata-manage/metadata-manage.component.html b/ui/src/app/metadata/detail/metadata-manage/metadata-manage.component.html new file mode 100644 index 000000000..39e9bbe25 --- /dev/null +++ b/ui/src/app/metadata/detail/metadata-manage/metadata-manage.component.html @@ -0,0 +1,88 @@ + \ No newline at end of file diff --git a/ui/src/app/metadata/detail/metadata-manage/metadata-manage.component.ts b/ui/src/app/metadata/detail/metadata-manage/metadata-manage.component.ts new file mode 100644 index 000000000..f977b4c4a --- /dev/null +++ b/ui/src/app/metadata/detail/metadata-manage/metadata-manage.component.ts @@ -0,0 +1,38 @@ +import { Component, Input } from "@angular/core"; +import { Title } from "@angular/platform-browser"; +import { ActivatedRoute, Router } from "@angular/router"; + +import { AbstractDataService } from "src/app/data/abstract-data.service"; +import { RichSkillService } from "src/app/richskill/service/rich-skill.service"; +import { ToastService } from "src/app/toast/toast.service"; +import { AbstractMetadataDetailComponent } from "../abstract-metadata-detail.component"; + + +@Component({ + selector: "app-metadata-manage", + templateUrl: "./metadata-manage.component.html" +}) +export class MetadataManageComponent extends AbstractMetadataDetailComponent { + + constructor( + protected router: Router, + protected route: ActivatedRoute, + protected metadataService: AbstractDataService, + protected skillService: RichSkillService, + protected titleService: Title, + protected toastService: ToastService + ) { + super( + router, + route, + metadataService, + skillService, + titleService, + toastService + ); + } + + ngOnInit(): void { + this.loadMetadata(); + } +} \ No newline at end of file diff --git a/ui/src/app/metadata/detail/metadata-public/action-bar-vertical/metadata-public-action-bar-vertical.component.html b/ui/src/app/metadata/detail/metadata-public/action-bar-vertical/metadata-public-action-bar-vertical.component.html new file mode 100644 index 000000000..ee878ad17 --- /dev/null +++ b/ui/src/app/metadata/detail/metadata-public/action-bar-vertical/metadata-public-action-bar-vertical.component.html @@ -0,0 +1,16 @@ +
    + +
    + +
    +
    diff --git a/ui/src/app/metadata/detail/metadata-public/action-bar-vertical/metadata-public-action-bar-vertical.component.ts b/ui/src/app/metadata/detail/metadata-public/action-bar-vertical/metadata-public-action-bar-vertical.component.ts new file mode 100644 index 000000000..ce0c489b5 --- /dev/null +++ b/ui/src/app/metadata/detail/metadata-public/action-bar-vertical/metadata-public-action-bar-vertical.component.ts @@ -0,0 +1,65 @@ +import { + Component, + EventEmitter, + Inject, + Input, + LOCALE_ID, + OnInit, + Output } from "@angular/core"; +import { Router} from "@angular/router"; + +import { AbstractDataService } from "src/app/data/abstract-data.service"; +import { AppConfig } from "../../../../app.config"; +import { AuthService } from "../../../../auth/auth-service"; +import { SvgHelper, SvgIcon } from "../../../../core/SvgHelper"; +import { ToastService } from "../../../../toast/toast.service"; + + +@Component({ + selector: "app-public-metadata-action-bar-vertical", + templateUrl: "./metadata-public-action-bar-vertical.component.html" +}) +export class PublicMetadataActionBarVerticalComponent implements OnInit { + + @Input() id: number = -1; + @Input() metadataName: string = ""; + @Input() metadataPublicUrl: string = ""; + + @Output() reloadMetadata: EventEmitter = new EventEmitter; + + // Used in invisible labels to house the data to be added to clipboard + href: string = ""; + jsonClipboard: string = ""; + + // icons + editIcon: string = SvgHelper.path(SvgIcon.EDIT); + duplicateIcon: string = SvgHelper.path(SvgIcon.DUPLICATE); + + constructor( + protected router: Router, + protected metadataService: AbstractDataService, + protected toastService: ToastService, + private authService: AuthService, + @Inject(LOCALE_ID) protected locale: string + ) { + } + + ngOnInit(): void { + this.href = `${AppConfig.settings.baseApiUrl}${this.router.url}`; + // this.metadataService.getMetadataJsonById(this.id) + // .subscribe( (json: string) => { + // this.jsonClipboard = json + // }); + } + + handleCopyPublicURL(): void { + navigator.clipboard.writeText(this.metadataPublicUrl) + .then( + () => this.toastService.showToast("Success!", "URL copied to clipboard") + ) + .catch( + () => this.toastService.showToast("Error", "Could not copy to clipboard") + ); + } + +} \ No newline at end of file diff --git a/ui/src/app/metadata/detail/metadata-public/metadata-public.component.html b/ui/src/app/metadata/detail/metadata-public/metadata-public.component.html new file mode 100644 index 000000000..84de6f324 --- /dev/null +++ b/ui/src/app/metadata/detail/metadata-public/metadata-public.component.html @@ -0,0 +1,88 @@ + \ No newline at end of file diff --git a/ui/src/app/metadata/detail/metadata-public/metadata-public.component.ts b/ui/src/app/metadata/detail/metadata-public/metadata-public.component.ts new file mode 100644 index 000000000..0179dd6be --- /dev/null +++ b/ui/src/app/metadata/detail/metadata-public/metadata-public.component.ts @@ -0,0 +1,38 @@ +import { Component, Input } from "@angular/core"; +import { Title } from "@angular/platform-browser"; +import { ActivatedRoute, Router } from "@angular/router"; + +import { AbstractDataService } from "src/app/data/abstract-data.service"; +import { RichSkillService } from "src/app/richskill/service/rich-skill.service"; +import { ToastService } from "src/app/toast/toast.service"; +import { AbstractMetadataDetailComponent } from "../abstract-metadata-detail.component"; + + +@Component({ + selector: "app-metadata-public", + templateUrl: "./metadata-public.component.html" +}) +export class MetadataPublicComponent extends AbstractMetadataDetailComponent { + + constructor( + protected router: Router, + protected route: ActivatedRoute, + protected metadataService: AbstractDataService, + protected skillService: RichSkillService, + protected titleService: Title, + protected toastService: ToastService + ) { + super( + router, + route, + metadataService, + skillService, + titleService, + toastService + ); + } + + ngOnInit(): void { + this.loadMetadata(); + } +} \ No newline at end of file diff --git a/ui/src/app/metadata/detail/metadata-selector/metadata-selector.component.html b/ui/src/app/metadata/detail/metadata-selector/metadata-selector.component.html index 052d7e7a2..0a8403de7 100644 --- a/ui/src/app/metadata/detail/metadata-selector/metadata-selector.component.html +++ b/ui/src/app/metadata/detail/metadata-selector/metadata-selector.component.html @@ -1,4 +1,4 @@ - \ No newline at end of file +
    diff --git a/ui/src/app/metadata/detail/metadata-card/metadata-card.component.ts b/ui/src/app/metadata/detail/metadata-card/metadata-card.component.ts index 7ffc770e8..4bd1422ad 100644 --- a/ui/src/app/metadata/detail/metadata-card/metadata-card.component.ts +++ b/ui/src/app/metadata/detail/metadata-card/metadata-card.component.ts @@ -30,7 +30,7 @@ export class MetadataCardComponent { } get metadataName(): string { - return "Fine Arts"; + return (this.metadata as ApiNamedReference)?.name ?? ""; } get metadataSkillsLabel(): string { @@ -67,4 +67,4 @@ export class MetadataCardComponent { return ""; } } -} \ No newline at end of file +} diff --git a/ui/src/app/metadata/detail/metadata-list/metadata-list.component.html b/ui/src/app/metadata/detail/metadata-list/metadata-list.component.html index 22e34aa63..7e75fb1d5 100644 --- a/ui/src/app/metadata/detail/metadata-list/metadata-list.component.html +++ b/ui/src/app/metadata/detail/metadata-list/metadata-list.component.html @@ -24,9 +24,19 @@

    - - - + +

    diff --git a/ui/src/app/metadata/detail/metadata-list/metadata-list.component.scss b/ui/src/app/metadata/detail/metadata-list/metadata-list.component.scss new file mode 100644 index 000000000..6d0054f59 --- /dev/null +++ b/ui/src/app/metadata/detail/metadata-list/metadata-list.component.scss @@ -0,0 +1,14 @@ +app-metadata-selector { + width: 50%; +} + +.metadata-type-container { + display: flex; +} + +.create-metadata-container { + display: flex; + width: 50%; + justify-content: end; + align-items: center; +} diff --git a/ui/src/app/metadata/detail/metadata-list/metadata-list.component.spec.ts b/ui/src/app/metadata/detail/metadata-list/metadata-list.component.spec.ts index 67648b9ad..a51a86358 100644 --- a/ui/src/app/metadata/detail/metadata-list/metadata-list.component.spec.ts +++ b/ui/src/app/metadata/detail/metadata-list/metadata-list.component.spec.ts @@ -77,7 +77,7 @@ describe("ManageMetadataComponent", () => { it("handleDeleteJobCode should call deleteJobCodeWithResult", () => { const mockJobCode = createMockJobcode() - const spyService = spyOn(component["jobCodeService"], "deleteJobCodeWithResult").and.returnValue( + const spyService = spyOn(component["jobCodeService"], "deleteWithResult").and.returnValue( of({success: true}) ) spyOn(window, 'confirm').and.callFake(function () { @@ -89,7 +89,7 @@ describe("ManageMetadataComponent", () => { it("handleDeleteJobCode should not call deleteJobCodeWithResult", () => { const mockJobCode = createMockJobcode() - const spyService = spyOn(component["jobCodeService"], "deleteJobCodeWithResult").and.returnValue( + const spyService = spyOn(component["jobCodeService"], "deleteWithResult").and.returnValue( of({success: true}) ) spyOn(window, 'confirm').and.callFake(function () { @@ -101,7 +101,7 @@ describe("ManageMetadataComponent", () => { it("handleDeleteNamedReference should call deleteNamedReferenceWithResult", () => { const mockNamedReference = createMockNamedReference2() - const spyService = spyOn(component["namedReferenceService"], "deleteNamedReferenceWithResult").and.returnValue( + const spyService = spyOn(component["namedReferenceService"], "deleteWithResult").and.returnValue( of({success: true}) ) spyOn(window, 'confirm').and.callFake(function () { @@ -113,7 +113,7 @@ describe("ManageMetadataComponent", () => { it("handleDeleteNamedReference should not call deleteNamedReferenceWithResult", () => { const mockNamedReference = createMockNamedReference2() - const spyService = spyOn(component["namedReferenceService"], "deleteNamedReferenceWithResult").and.returnValue( + const spyService = spyOn(component["namedReferenceService"], "deleteWithResult").and.returnValue( of({success: true}) ) spyOn(window, 'confirm').and.callFake(function () { diff --git a/ui/src/app/metadata/detail/metadata-list/metadata-list.component.ts b/ui/src/app/metadata/detail/metadata-list/metadata-list.component.ts index 3e1afb5b4..47c22c6c2 100644 --- a/ui/src/app/metadata/detail/metadata-list/metadata-list.component.ts +++ b/ui/src/app/metadata/detail/metadata-list/metadata-list.component.ts @@ -14,7 +14,8 @@ import { NamedReferenceService } from "../../named-reference/service/named-refer @Component({ selector: "app-metadata-list", - templateUrl: "./metadata-list.component.html" + templateUrl: "./metadata-list.component.html", + styleUrls: ["./metadata-list.component.scss"] }) export class MetadataListComponent extends AbstractListComponent implements OnInit { @@ -42,7 +43,7 @@ export class MetadataListComponent extends AbstractListComponent this.results = jobCodes) } else { const getEnumKey = Object.keys(MetadataType)[Object.values(MetadataType).indexOf(this.selectedMetadataType)]; - this.resultsLoaded = this.namedReferenceService.paginatedNamedReferences(this.size, this.from, this.columnSort, getEnumKey, this.matchingQuery) + this.resultsLoaded = this.namedReferenceService.paginated(this.size, this.from, this.columnSort, getEnumKey, this.matchingQuery) this.resultsLoaded.subscribe(namedReferences => this.results = namedReferences) } } @@ -84,6 +85,10 @@ export class MetadataListComponent extends AbstractListComponent { + this.jobCodeService.deleteWithResult(jobCodes[index].id ?? 0).subscribe(data => { if (data && data.success) { this.handleDeleteMultipleJobCodes(jobCodes, index + 1, notDeleted) } else if (data && !data.success) { @@ -160,7 +165,7 @@ export class MetadataListComponent extends AbstractListComponent { + this.namedReferenceService.deleteWithResult(namedReferences[index].id ?? 0).subscribe(data => { if (data && data.success) { this.handleDeleteMultipleNamedReferences(namedReferences, index + 1, notDeleted) } else if (data && !data.success) { @@ -187,12 +192,13 @@ export class MetadataListComponent extends AbstractListComponent { + this.jobCodeService.deleteWithResult((jobCode as ApiJobCode)?.id ?? 0).subscribe(data => { if (data && data.success) { this.toastService.showToast("Success", "You deleted a job code " + (jobCode as ApiJobCode)?.targetNodeName) this.loadNextPage() @@ -205,8 +211,8 @@ export class MetadataListComponent extends AbstractListComponent { + if (confirm(`Confirm that you want to delete the ${this.selectedMetadataType} with name ` + (namedReference as ApiNamedReference)?.name)) { + this.namedReferenceService.deleteWithResult((namedReference as ApiNamedReference)?.id ?? 0).subscribe(data => { if (data && data.success) { this.toastService.showToast("Successfully Deleted", "" + (namedReference as ApiNamedReference)?.name) this.loadNextPage() diff --git a/ui/src/app/metadata/detail/metadata-manage/action-bar-vertical/metadata-manage-action-bar-vertical.component.html b/ui/src/app/metadata/detail/metadata-manage/action-bar-vertical/metadata-manage-action-bar-vertical.component.html index fbf62fcbe..03af220a7 100644 --- a/ui/src/app/metadata/detail/metadata-manage/action-bar-vertical/metadata-manage-action-bar-vertical.component.html +++ b/ui/src/app/metadata/detail/metadata-manage/action-bar-vertical/metadata-manage-action-bar-vertical.component.html @@ -21,5 +21,13 @@ + diff --git a/ui/src/app/metadata/detail/metadata-manage/action-bar-vertical/metadata-manage-action-bar-vertical.component.ts b/ui/src/app/metadata/detail/metadata-manage/action-bar-vertical/metadata-manage-action-bar-vertical.component.ts index cb0ce98ab..ce2b89686 100644 --- a/ui/src/app/metadata/detail/metadata-manage/action-bar-vertical/metadata-manage-action-bar-vertical.component.ts +++ b/ui/src/app/metadata/detail/metadata-manage/action-bar-vertical/metadata-manage-action-bar-vertical.component.ts @@ -1,20 +1,11 @@ -import { - Component, - EventEmitter, - Inject, - Input, - LOCALE_ID, - OnInit, - Output } from "@angular/core"; -import { Router} from "@angular/router"; - -import { AbstractDataService } from "src/app/data/abstract-data.service"; -import { AppConfig } from "../../../../app.config"; -import { ButtonAction } from "../../../../auth/auth-roles"; -import { AuthService } from "../../../../auth/auth-service"; -import { SvgHelper, SvgIcon } from "../../../../core/SvgHelper"; -import { ToastService } from "../../../../toast/toast.service"; - +import { Component, EventEmitter, Inject, Input, LOCALE_ID, OnInit, Output } from "@angular/core" +import { Router } from "@angular/router" +import { AppConfig } from "../../../../app.config" +import { ButtonAction } from "../../../../auth/auth-roles" +import { AuthService } from "../../../../auth/auth-service" +import { SvgHelper, SvgIcon } from "../../../../core/SvgHelper" +import { ToastService } from "../../../../toast/toast.service" +import { NamedReferenceService } from "../../../named-reference/service/named-reference.service" @Component({ selector: "app-manage-metadata-action-bar-vertical", @@ -35,13 +26,14 @@ export class ManageMetadataActionBarVerticalComponent implements OnInit { // icons editIcon: string = SvgHelper.path(SvgIcon.EDIT); duplicateIcon: string = SvgHelper.path(SvgIcon.DUPLICATE); + deleteIcon: string = SvgHelper.path(SvgIcon.DELETE) canMetadataUpdate: boolean = false; canMetadataCreate: boolean = false; constructor( protected router: Router, - protected metadataService: AbstractDataService, + protected metadataService: NamedReferenceService, protected toastService: ToastService, private authService: AuthService, @Inject(LOCALE_ID) protected locale: string @@ -72,4 +64,18 @@ export class ManageMetadataActionBarVerticalComponent implements OnInit { this.canMetadataCreate = this.authService.isEnabledByRoles(ButtonAction.MetadataCreate); } -} \ No newline at end of file + handleDelete(): void { + if (confirm("Confirm that you want to delete the Named Reference with name " + this.metadataName)) { + this.metadataService.deleteWithResult(this.id).subscribe(data => { + if (data && data.success) { + this.router.navigate(["/metadata"]).then( + () => this.toastService.showToast("Successfully Deleted", "" + this.metadataName) + ) + } else if (data && !data.success) { + this.toastService.showToast("Warning", data.message ?? "Unable to delete metadata - verify this data is not currently associated with a skill") + } + }) + } + } + +} diff --git a/ui/src/app/metadata/detail/metadata-manage/metadata-manage.component.html b/ui/src/app/metadata/detail/metadata-manage/metadata-manage.component.html index 39e9bbe25..d77f0020f 100644 --- a/ui/src/app/metadata/detail/metadata-manage/metadata-manage.component.html +++ b/ui/src/app/metadata/detail/metadata-manage/metadata-manage.component.html @@ -17,7 +17,7 @@ [metadataPublicUrl]="getId()" (reloadMetadata)="loadMetadata()" > - +