diff --git a/NEWS.md b/NEWS.md index b8b0dfd2..021af7b0 100644 --- a/NEWS.md +++ b/NEWS.md @@ -1,4 +1,5 @@ # 2.0.x +- [MODFQMMGR-523](https://folio-org.atlassian.net/browse/MODFQMMGR-523) Upgrade `holdings-storage` to 8.0 ## 2.0.0 - [MODFQMMGR-87](https://folio-org.atlassian.net/browse/MODFQMMGR-87) Move FQM-specific code from lib-fqm-query-processor diff --git a/README.md b/README.md index b767a986..d8a35aa0 100644 --- a/README.md +++ b/README.md @@ -47,7 +47,6 @@ mvn clean install | DB_PASSWORD | postgres | Postgres password | | DB_DATABASE | postgres | Postgres database name | | MAX_QUERY_SIZE | 1250000 | max result count per query | -| mod-fqm-manager.bypass-permissions | false | Disable all permission checks, for local development only | | mod-fqm-manager.permissions-cache-timeout-seconds | 60 | Cache duration for user permissions | | mod-fqm-manager.entity-type-cache-timeout-seconds | 3600 | Cache duration for entity type definitions | | server.port | 8081 | Server port | @@ -72,6 +71,15 @@ to mod-fqm-manager to ensure optimal performance and query handling. For larger used, allocate at least 2 gigabytes. In extreme cases with extremely large responses and concurrent usage, 5 gigabytes of heap space should be sufficient to maintain performance and stability. +### Local development only environment variables + +> [!WARNING] +> +> These environment variables are intended for local development only and should not be used in production environments! + +| Name | Default Value | Description | +|------------------------------------|---------------|-------------------------------| +| mod-fqm-manager.bypass-permissions | false | Disable all permission checks | ## Installing the module Follow the guide of Deploying Modules sections of the [Okapi Guide](https://github.com/folio-org/okapi/blob/master/doc/guide.md#example-1-deploying-and-using-a-simple-module) and Reference, which describe the process in detail. diff --git a/descriptors/ModuleDescriptor-template.json b/descriptors/ModuleDescriptor-template.json index 8f40cf59..86e3ebbf 100644 --- a/descriptors/ModuleDescriptor-template.json +++ b/descriptors/ModuleDescriptor-template.json @@ -11,7 +11,7 @@ "methods": ["POST"], "pathPattern": "/_/tenant", "permissionsRequired": [], - "modulePermissions": ["perms.users.get", "user-tenants.collection.get", "consortia.user-tenants.collection.get"] + "modulePermissions": ["perms.users.get", "user-tenants.collection.get", "consortia.user-tenants.collection.get","permissions.users.item.get"] }, { "methods": ["GET", "DELETE"], @@ -28,19 +28,19 @@ "methods": ["GET"], "pathPattern": "/entity-types/{entity-type-id}", "permissionsRequired": ["fqm.entityTypes.item.get"], - "modulePermissions": ["perms.users.get", "user-tenants.collection.get", "consortia.user-tenants.collection.get"] + "modulePermissions": ["perms.users.get", "user-tenants.collection.get", "consortia.user-tenants.collection.get", "permissions.users.item.get"] }, { "methods": ["GET"], "pathPattern": "/entity-types", "permissionsRequired": ["fqm.entityTypes.collection.get"], - "modulePermissions": ["perms.users.get", "user-tenants.collection.get", "consortia.user-tenants.collection.get"] + "modulePermissions": ["perms.users.get", "user-tenants.collection.get", "consortia.user-tenants.collection.get", "permissions.users.item.get"] }, { "methods": ["GET"], "pathPattern": "/entity-types/{entity-type-id}/columns/{column-name}/values", "permissionsRequired": ["fqm.entityTypes.item.columnValues.get"], - "modulePermissions": ["perms.users.get", "user-tenants.collection.get", "consortia.user-tenants.collection.get"] + "modulePermissions": ["perms.users.get", "user-tenants.collection.get", "consortia.user-tenants.collection.get", "permissions.users.item.get","search.facets.collection.get", "configuration.entries.collection.get"] }, { "methods": ["POST"], @@ -58,54 +58,54 @@ "methods": ["GET"], "pathPattern": "/query", "permissionsRequired": ["fqm.query.sync.get"], - "modulePermissions": ["perms.users.get", "user-tenants.collection.get", "consortia.user-tenants.collection.get"] + "modulePermissions": ["perms.users.get", "user-tenants.collection.get", "consortia.user-tenants.collection.get", "permissions.users.item.get"] }, { "methods": ["GET"], "pathPattern": "/query/{query-id}", "permissionsRequired": ["fqm.query.async.results.get"], - "modulePermissions": ["perms.users.get", "user-tenants.collection.get", "consortia.user-tenants.collection.get"] + "modulePermissions": ["perms.users.get", "user-tenants.collection.get", "consortia.user-tenants.collection.get", "permissions.users.item.get"] }, { "methods": ["GET"], "pathPattern": "/query/{query-id}/sortedIds", "permissionsRequired": ["fqm.query.async.results.get"], - "modulePermissions": ["perms.users.get", "user-tenants.collection.get", "consortia.user-tenants.collection.get"] + "modulePermissions": ["perms.users.get", "user-tenants.collection.get", "consortia.user-tenants.collection.get", "permissions.users.item.get"] }, { "methods": ["GET"], "pathPattern": "/fqm/version", "permissionsRequired": ["fqm.version.get"], - "modulePermissions": ["perms.users.get"] + "modulePermissions": ["perms.users.get", "permissions.users.item.get"] }, { "methods": ["POST"], "pathPattern": "/fqm/migrate", "permissionsRequired": ["fqm.migrate.post"], - "modulePermissions": ["perms.users.get"] + "modulePermissions": ["perms.users.get", "permissions.users.item.get"] }, { "methods": ["POST"], "pathPattern": "/query/contents", "permissionsRequired": ["fqm.query.async.results.get"], - "modulePermissions": ["perms.users.get", "user-tenants.collection.get", "consortia.user-tenants.collection.get"] + "modulePermissions": ["perms.users.get", "user-tenants.collection.get", "consortia.user-tenants.collection.get", "permissions.users.item.get"] }, { "methods": ["POST"], "pathPattern": "/query", "permissionsRequired": ["fqm.query.async.post"], - "modulePermissions": ["perms.users.get", "user-tenants.collection.get", "consortia.user-tenants.collection.get"] + "modulePermissions": ["perms.users.get", "user-tenants.collection.get", "consortia.user-tenants.collection.get", "permissions.users.item.get"] }, { "methods": ["POST"], "pathPattern": "/query/purge", - "permissionsRequired": ["fqm.query.purge"] + "permissionsRequired": ["fqm.query.purge.post"] }, { "methods": ["DELETE"], "pathPattern": "/query/{query-id}", "permissionsRequired": ["fqm.query.async.delete"], - "modulePermissions": ["perms.users.get", "user-tenants.collection.get", "consortia.user-tenants.collection.get"] + "modulePermissions": ["perms.users.get", "user-tenants.collection.get", "consortia.user-tenants.collection.get", "permissions.users.item.get"] } ] }, @@ -120,7 +120,7 @@ "unit": "hour", "delay": "1", "modulePermissions": [ - "fqm.query.purge" + "fqm.query.purge.post" ] }, { @@ -137,7 +137,8 @@ ], "permissionSets" : [ { - "permissionName": "fqm.query.purge", + "permissionName": "fqm.query.purge.post", + "replaces": ["fqm.query.purge"], "displayName": "FQM - purge old queries", "description": "Purge old queries", "visible": true @@ -227,11 +228,15 @@ }, { "id": "holdings-storage", - "version": "6.0 7.0" + "version": "6.0 7.0 8.0" }, { "id": "instance-storage", - "version": "10.0" + "version": "10.0 11.0" + }, + { + "id": "instance-date-types", + "version": "1.0" }, { "id": "instance-types", @@ -360,6 +365,10 @@ { "id": "voucher-storage.voucher-number", "version": "1.1" + }, + { + "id": "search", + "version": "1.3" } ], "optional": [ @@ -419,6 +428,9 @@ }, { "name": "mod.fqm-manager.entity-type-cache-timeout-seconds", "value": "300" + }, + { "name": "IS_EUREKA", + "value": "false" } ] } diff --git a/entity-type-creator/bun.lockb b/entity-type-creator/bun.lockb index 3c83885c..a4224d34 100755 Binary files a/entity-type-creator/bun.lockb and b/entity-type-creator/bun.lockb differ diff --git a/entity-type-creator/package.json b/entity-type-creator/package.json index 112fdd8a..da438184 100644 --- a/entity-type-creator/package.json +++ b/entity-type-creator/package.json @@ -11,36 +11,36 @@ "dependencies": { "@codemirror/lang-java": "^6.0.1", "@codemirror/lang-json": "^6.0.1", - "@codemirror/lang-sql": "^6.6.2", - "@emotion/cache": "^11.11.0", - "@emotion/react": "^11.11.4", + "@codemirror/lang-sql": "^6.8.0", + "@emotion/cache": "^11.13.1", + "@emotion/react": "^11.13.3", "@emotion/server": "^11.11.0", - "@emotion/styled": "^11.11.5", - "@mui/icons-material": "^5.15.15", - "@mui/material": "^5.15.15", - "@mui/material-nextjs": "^5.15.11", - "@uiw/react-codemirror": "^4.21.25", + "@emotion/styled": "^11.13.0", + "@mui/icons-material": "^6.1.3", + "@mui/material": "^6.1.3", + "@mui/material-nextjs": "^6.1.3", + "@uiw/react-codemirror": "^4.23.5", "change-case": "^5.4.4", "dotenv": "^16.4.5", "genson-js": "^0.0.8", - "json-schema-to-typescript": "^13.1.2", + "json-schema-to-typescript": "^15.0.2", "json5": "^2.2.3", - "next": "^14.1.4", + "next": "^14.2.15", "postgres": "^3.4.4", - "prettier": "^3.2.5", - "react": "^18", - "react-dom": "^18", - "socket.io": "^4.7.5", - "socket.io-client": "^4.7.5", - "sql-formatter": "^15.3.0", + "prettier": "^3.3.3", + "react": "^18.3.1", + "react-dom": "^18.3.1", + "socket.io": "^4.8.0", + "socket.io-client": "^4.8.0", + "sql-formatter": "^15.4.3", "uuid": "^9.0.1" }, "devDependencies": { - "@types/bun": "^1.0.12", - "@types/node": "^20", - "@types/react": "^18", - "@types/react-dom": "^18", + "@types/bun": "^1.1.11", + "@types/node": "^20.16.11", + "@types/react": "^18.3.11", + "@types/react-dom": "^18.3.0", "@types/uuid": "^9.0.8", - "typescript": "^5" + "typescript": "^5.6.3" } } diff --git a/pom.xml b/pom.xml index 67b76d8d..6d524d8c 100644 --- a/pom.xml +++ b/pom.xml @@ -23,7 +23,7 @@ - 8.1.0 + 8.3.0-SNAPSHOT 2.1.0-SNAPSHOT 1.5.2.Final 2.1.0-SNAPSHOT @@ -32,13 +32,14 @@ 42.5.4 3.18.4 4.4 + 3.17.0 3.2.0 4.11.0 - 6.2.1 + 7.4.0 1.0.1 3.0.0-M7 1.18.30 @@ -130,6 +131,12 @@ ${org.apache.commons.version} + + org.apache.commons + commons-lang3 + ${org.apache.commons-lang3.version} + + org.mapstruct mapstruct @@ -324,6 +331,14 @@ ApiUtil.java true true + + object+FqmMigrateRequest=FqmMigrateRequest + object+FqmMigrateResponse=FqmMigrateResponse + + + FqmMigrateRequest=org.folio.querytool.domain.dto.FqmMigrateRequest + FqmMigrateResponse=org.folio.querytool.domain.dto.FqmMigrateResponse + true java @@ -333,16 +348,6 @@ - - - generate - - - ${mod-fqm-manager.yaml.file} - ${project.build.directory}/docs/mod-fqm-manager - html2 - - diff --git a/src/main/java/org/folio/fqm/client/ModRolesKeycloakClient.java b/src/main/java/org/folio/fqm/client/ModRolesKeycloakClient.java new file mode 100644 index 00000000..9689166e --- /dev/null +++ b/src/main/java/org/folio/fqm/client/ModRolesKeycloakClient.java @@ -0,0 +1,28 @@ +package org.folio.fqm.client; + +import com.fasterxml.jackson.annotation.JsonProperty; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.http.MediaType; +import org.springframework.stereotype.Service; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestHeader; + +import java.util.HashSet; +import java.util.List; +import java.util.Set; +import java.util.UUID; + +@Service +@FeignClient(name = "permissions") +public interface ModRolesKeycloakClient { + @GetMapping(value = "/users/{id}", produces = MediaType.APPLICATION_JSON_VALUE, consumes = MediaType.APPLICATION_JSON_VALUE) + UserPermissions getPermissionsUser(@RequestHeader("X-Okapi-Tenant") String tenant, @PathVariable UUID id); + + record UserPermissions(@JsonProperty("permissions") List permissionNames, + @JsonProperty("userId") UUID userId) { + public Set getPermissionNames() { + return new HashSet<>(permissionNames); + } + } +} diff --git a/src/main/java/org/folio/fqm/client/SimpleHttpClient.java b/src/main/java/org/folio/fqm/client/SimpleHttpClient.java index 611ac3d6..a079947b 100644 --- a/src/main/java/org/folio/fqm/client/SimpleHttpClient.java +++ b/src/main/java/org/folio/fqm/client/SimpleHttpClient.java @@ -6,6 +6,7 @@ import org.springframework.stereotype.Service; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; +import org.springframework.web.bind.annotation.RequestHeader; import java.util.Map; @@ -19,6 +20,17 @@ public interface SimpleHttpClient { * @param queryParams - a map of query parameters to pass to the API endpoint * @return the body of the response (JSON) */ - @GetMapping(value = "/{path}?{queryParams}", produces = MediaType.APPLICATION_JSON_VALUE) + @GetMapping(value = "/{path}", produces = MediaType.APPLICATION_JSON_VALUE) String get(@PathVariable String path, @SpringQueryMap Map queryParams); + + /** + * Retrieve arbitrary data from a FOLIO API endpoint for the specified tenant. + * + * @param path - the path of the API endpoint + * @param queryParams - a map of query parameters to pass to the API endpoint + * @param tenant - FOLIO tenant from which to retrieve data + * @return the body of the response (JSON) + */ + @GetMapping(value = "/{path}", produces = MediaType.APPLICATION_JSON_VALUE) + String get(@PathVariable String path, @SpringQueryMap Map queryParams, @RequestHeader("X-Okapi-Tenant") String tenant); } diff --git a/src/main/java/org/folio/fqm/config/PermissionsConfiguration.java b/src/main/java/org/folio/fqm/config/PermissionsConfiguration.java index d52a32d7..f1d21d14 100644 --- a/src/main/java/org/folio/fqm/config/PermissionsConfiguration.java +++ b/src/main/java/org/folio/fqm/config/PermissionsConfiguration.java @@ -8,7 +8,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.ApplicationContext; -import org.springframework.context.ConfigurableApplicationContext; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; diff --git a/src/main/java/org/folio/fqm/migration/strategies/V0POCMigration.java b/src/main/java/org/folio/fqm/migration/strategies/V0POCMigration.java index 0e1bb33c..7d91d4f2 100644 --- a/src/main/java/org/folio/fqm/migration/strategies/V0POCMigration.java +++ b/src/main/java/org/folio/fqm/migration/strategies/V0POCMigration.java @@ -100,7 +100,7 @@ public class V0POCMigration extends AbstractSimpleMigrationStrategy { Map.entry("instance_source", "instance.source"), Map.entry("instance_primary_contributor", "instance.instance_primary_contributor"), Map.entry("instance_contributor_type_ids", "instance.contributors[*]->contributor_type_id"), - Map.entry("instance_contributor_type", "instance.contributors[*]->contributor_type_text"), + Map.entry("instance_contributor_type", "instance.contributors[*]->contributor_type"), Map.entry("instance_contributor_type_name_ids", "instance.contributors[*]->contributor_name_type_id"), Map.entry("instance_contributor_name_type", "instance.contributors[*]->name"), Map.entry("instance_language", "instance.languages") diff --git a/src/main/java/org/folio/fqm/migration/warnings/Warning.java b/src/main/java/org/folio/fqm/migration/warnings/Warning.java index 7a0d988d..4ac08f9a 100644 --- a/src/main/java/org/folio/fqm/migration/warnings/Warning.java +++ b/src/main/java/org/folio/fqm/migration/warnings/Warning.java @@ -1,12 +1,16 @@ package org.folio.fqm.migration.warnings; +import jakarta.validation.constraints.NotNull; import javax.annotation.CheckForNull; import lombok.RequiredArgsConstructor; import org.folio.fqm.service.LocalizationService; import org.folio.spring.i18n.service.TranslationService; public interface Warning { + @NotNull WarningType getType(); + + @NotNull String getDescription(TranslationService translationService); public static String getDescriptionByAlternativeAndFql( diff --git a/src/main/java/org/folio/fqm/repository/IdStreamer.java b/src/main/java/org/folio/fqm/repository/IdStreamer.java index b314c49d..9ebb96ee 100644 --- a/src/main/java/org/folio/fqm/repository/IdStreamer.java +++ b/src/main/java/org/folio/fqm/repository/IdStreamer.java @@ -56,7 +56,7 @@ public int streamIdsInBatch(EntityType entityType, int batchSize, Consumer idsConsumer) { boolean ecsEnabled = crossTenantQueryService.ecsEnabled(); - List tenantsToQuery = crossTenantQueryService.getTenantsToQuery(entityType, false); + List tenantsToQuery = crossTenantQueryService.getTenantsToQuery(entityType); return this.streamIdsInBatch(entityType, sortResults, fql, batchSize, idsConsumer, tenantsToQuery, ecsEnabled); } diff --git a/src/main/java/org/folio/fqm/resource/MigrationController.java b/src/main/java/org/folio/fqm/resource/MigrationController.java index ed89bc1e..b0bcab83 100644 --- a/src/main/java/org/folio/fqm/resource/MigrationController.java +++ b/src/main/java/org/folio/fqm/resource/MigrationController.java @@ -1,17 +1,17 @@ package org.folio.fqm.resource; import lombok.RequiredArgsConstructor; -import org.folio.fqm.domain.dto.FqmMigrateRequest; -import org.folio.fqm.domain.dto.FqmMigrateResponse; -import org.folio.fqm.domain.dto.FqmMigrateResponseWarningsInner; + import org.folio.fqm.migration.MigratableQueryInformation; import org.folio.fqm.service.MigrationService; +import org.folio.querytool.domain.dto.FqmMigrateRequest; +import org.folio.querytool.domain.dto.FqmMigrateResponse; +import org.folio.querytool.domain.dto.FqmMigrateWarning; import org.folio.spring.i18n.service.TranslationService; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.RestController; - @RestController @RequiredArgsConstructor public class MigrationController implements FqmVersionApi { @@ -39,11 +39,9 @@ public ResponseEntity fqmMigrate(FqmMigrateRequest fqmMigrat .fqlQuery(updatedQueryInfo.fqlQuery()) .fields(updatedQueryInfo.fields()) .warnings(updatedQueryInfo.warnings().stream() - .map(warning -> new FqmMigrateResponseWarningsInner() - .type(warning.getType() != null ? warning.getType().toString() : null) - .description(warning.getDescription(translationService) != null ? - warning.getDescription(translationService) : "No description provided" - ) + .map(warning -> new FqmMigrateWarning() + .type(warning.getType().toString()) + .description(warning.getDescription(translationService)) ) .toList() ); diff --git a/src/main/java/org/folio/fqm/service/CrossTenantQueryService.java b/src/main/java/org/folio/fqm/service/CrossTenantQueryService.java index c2e97abc..045bf5ad 100644 --- a/src/main/java/org/folio/fqm/service/CrossTenantQueryService.java +++ b/src/main/java/org/folio/fqm/service/CrossTenantQueryService.java @@ -26,13 +26,35 @@ public class CrossTenantQueryService { private static final String COMPOSITE_INSTANCES_ID = "6b08439b-4f8e-4468-8046-ea620f5cfb74"; private static final String SIMPLE_INSTANCES_ID = "8fc4a9d2-7ccf-4233-afb8-796911839862"; + private static final String SIMPLE_INSTANCE_STATUS_ID = "9c239bfd-198f-4013-bbc4-4551c0cbdeaa"; + private static final String SIMPLE_INSTANCE_TYPE_ID = "af44e2e0-12e0-4eec-b80d-49feb33a866c"; + private static final List INSTANCE_RELATED_ENTITIES = List.of(SIMPLE_INSTANCES_ID, COMPOSITE_INSTANCES_ID, SIMPLE_INSTANCE_STATUS_ID, SIMPLE_INSTANCE_TYPE_ID); - public List getTenantsToQuery(EntityType entityType, boolean forceCrossTenantQuery) { - if (!forceCrossTenantQuery - && !Boolean.TRUE.equals(entityType.getCrossTenantQueriesEnabled()) + /** + * Retrieve list of tenants to run query against. + * @param entityType Entity type definition + * @return List of tenants to query + */ + public List getTenantsToQuery(EntityType entityType) { + if (!Boolean.TRUE.equals(entityType.getCrossTenantQueriesEnabled()) && !COMPOSITE_INSTANCES_ID.equals(entityType.getId())) { return List.of(executionContext.getTenantId()); } + return getTenants(entityType); + } + + /** + * Retrieve list of tenants to retrieve column values from. This method skips the cross-tenant query check, since the + * column values API uses simple entity type definitions, which don't have cross-tenant queries enabled. + * method skips the cross-tenant query check + * @param entityType Entity type definition + * @return List of tenants to query + */ + public List getTenantsToQueryForColumnValues(EntityType entityType) { + return getTenants(entityType); + } + + private List getTenants(EntityType entityType) { // Get the ECS tenant info first, since this comes from mod-users and should work in non-ECS environments // We can use this for determining if it's an ECS environment, and if so, retrieving the consortium ID and central tenant ID Map ecsTenantInfo = getEcsTenantInfo(); @@ -46,7 +68,7 @@ public List getTenantsToQuery(EntityType entityType, boolean forceCrossT // The Instances entity type is required to retrieve shared instances from the central tenant when // running queries from member tenants. This means that if we are running a query for Instances, we need to // query the current tenant (for local records) as well as the central tenant (for shared records). - if (COMPOSITE_INSTANCES_ID.equals(entityType.getId()) || SIMPLE_INSTANCES_ID.equals(entityType.getId())) { + if (INSTANCE_RELATED_ENTITIES.contains(entityType.getId())) { return List.of(executionContext.getTenantId(), centralTenantId); } return List.of(executionContext.getTenantId()); diff --git a/src/main/java/org/folio/fqm/service/DataRefreshService.java b/src/main/java/org/folio/fqm/service/DataRefreshService.java index 8ecae847..6bb8ef9f 100644 --- a/src/main/java/org/folio/fqm/service/DataRefreshService.java +++ b/src/main/java/org/folio/fqm/service/DataRefreshService.java @@ -16,12 +16,7 @@ public class DataRefreshService { private final DataRefreshRepository dataRefreshRepository; static final List MATERIALIZED_VIEW_NAMES = List.of( - "drv_circulation_loan_status", - "drv_inventory_item_status", - "drv_pol_payment_status", - "drv_pol_receipt_status", - "drv_inventory_statistical_code_full", - "drv_languages" + "drv_inventory_statistical_code_full" ); public DataRefreshResponse refreshData(String tenantId) { diff --git a/src/main/java/org/folio/fqm/service/EntityTypeService.java b/src/main/java/org/folio/fqm/service/EntityTypeService.java index 75acf651..63382615 100644 --- a/src/main/java/org/folio/fqm/service/EntityTypeService.java +++ b/src/main/java/org/folio/fqm/service/EntityTypeService.java @@ -1,8 +1,16 @@ package org.folio.fqm.service; +import com.fasterxml.jackson.core.json.JsonReadFeature; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.JsonNode; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.fasterxml.jackson.databind.json.JsonMapper; import com.jayway.jsonpath.DocumentContext; import com.jayway.jsonpath.JsonPath; +import feign.FeignException; import lombok.RequiredArgsConstructor; +import lombok.extern.log4j.Log4j2; +import org.codehaus.plexus.util.StringUtils; import org.folio.fql.model.field.FqlField; import org.folio.fql.service.FqlValidationService; import org.folio.fqm.client.SimpleHttpClient; @@ -24,13 +32,21 @@ import static java.util.Comparator.nullsLast; import static org.folio.fqm.repository.EntityTypeRepository.ID_FIELD_NAME; +import java.io.IOException; +import java.io.InputStream; import java.util.*; @Service @RequiredArgsConstructor +@Log4j2 public class EntityTypeService { private static final int COLUMN_VALUE_DEFAULT_PAGE_SIZE = 1000; + private static final String LANGUAGES_FILEPATH = "languages.json5"; + private static final String GET_LOCALE_SETTINGS_PATH = "configurations/entries"; + private static final Map GET_LOCALE_SETTINGS_PARAMS = Map.of( + "query", "(module==ORG and configName==localeSettings)" + ); private static final List EXCLUDED_CURRENCY_CODES = List.of( "XUA", "AYM", "AFA", "ADP", "ATS", "AZM", "BYB", "BYR", "BEF", "BOV", "BGL", "CLF", "COU", "CUC", "CYP", "NLG", "EEK", "XBA", "XBB", "XBC", "XBD", "FIM", "FRF", "XFO", "XFU", "GHC", "DEM", "XAU", "GRD", "GWP", "IEP", "ITL", "LVL", "LTL", "LUF", "MGF", "MTL", "MRO", "MXV", @@ -41,7 +57,7 @@ public class EntityTypeService { private final EntityTypeFlatteningService entityTypeFlatteningService; private final LocalizationService localizationService; private final QueryProcessorService queryService; - private final SimpleHttpClient fieldValueClient; + private final SimpleHttpClient simpleHttpClient; private final PermissionsService permissionsService; private final CrossTenantQueryService crossTenantQueryService; @@ -89,7 +105,7 @@ public EntityType getEntityTypeDefinition(UUID entityTypeId, boolean includeHidd EntityType entityType = entityTypeFlatteningService.getFlattenedEntityType(entityTypeId, null); boolean crossTenantEnabled = Boolean.TRUE.equals(entityType.getCrossTenantQueriesEnabled()) && crossTenantQueryService.isCentralTenant(); - List columns = entityType + List columns = entityType .getColumns() .stream() .filter(column -> includeHidden || !Boolean.TRUE.equals(column.getHidden())) // Filter based on includeHidden flag @@ -107,9 +123,9 @@ public EntityType getEntityTypeDefinition(UUID entityTypeId, boolean includeHidd /** * Return top 1000 values of an entity type field, matching the given search text * - * @param fieldName Name of the field for which values have to be returned - * @param searchText Nullable search text. If a search text is provided, the returned values will include only those - * that contain the specified searchText. + * @param fieldName Name of the field for which values have to be returned + * @param searchText Nullable search text. If a search text is provided, the returned values will include only those + * that contain the specified searchText. */ @Transactional(readOnly = true) public ColumnValues getFieldValues(UUID entityTypeId, String fieldName, @Nullable String searchText) { @@ -124,8 +140,9 @@ public ColumnValues getFieldValues(UUID entityTypeId, String fieldName, @Nullabl return getFieldValuesFromEntityTypeDefinition(field, searchText); } + List tenantsToQuery = crossTenantQueryService.getTenantsToQueryForColumnValues(entityType); if (field.getValueSourceApi() != null) { - return getFieldValuesFromApi(field, searchText); + return getFieldValuesFromApi(field, searchText, tenantsToQuery); } if (field.getSource() != null) { @@ -143,6 +160,9 @@ public ColumnValues getFieldValues(UUID entityTypeId, String fieldName, @Nullabl case "tenant_id" -> { return getTenantIds(entityType); } + case "languages" -> { + return getLanguages(searchText); + } default -> { throw new InvalidEntityTypeDefinitionException("Unhandled source name \"" + field.getSource().getName() + "\" for the FQM value source type in column \"" + fieldName + '"', entityType); } @@ -154,7 +174,7 @@ public ColumnValues getFieldValues(UUID entityTypeId, String fieldName, @Nullabl } private ColumnValues getTenantIds(EntityType entityType) { - List tenants = crossTenantQueryService.getTenantsToQuery(entityType, true); + List tenants = crossTenantQueryService.getTenantsToQueryForColumnValues(entityType); List tenantValues = tenants .stream() .map(tenant -> new ValueWithLabel().value(tenant).label(tenant)) @@ -173,20 +193,28 @@ private ColumnValues getFieldValuesFromEntityTypeDefinition(Field field, String return new ColumnValues().content(filteredValues); } - private ColumnValues getFieldValuesFromApi(Field field, String searchText) { - String rawJson = fieldValueClient.get(field.getValueSourceApi().getPath(), Map.of("limit", String.valueOf(COLUMN_VALUE_DEFAULT_PAGE_SIZE))); - DocumentContext parsedJson = JsonPath.parse(rawJson); - List values = parsedJson.read(field.getValueSourceApi().getValueJsonPath()); - List labels = parsedJson.read(field.getValueSourceApi().getLabelJsonPath()); - - List results = new ArrayList<>(values.size()); - for (int i = 0; i < values.size(); i++) { - String value = values.get(i); - String label = labels.get(i); - if (label.contains(searchText)) { - results.add(new ValueWithLabel().value(value).label(label)); + private ColumnValues getFieldValuesFromApi(Field field, String searchText, List tenantsToQuery) { + Set resultSet = new HashSet<>(); + for (String tenantId : tenantsToQuery) { + try { + String rawJson = simpleHttpClient.get(field.getValueSourceApi().getPath(), Map.of("limit", String.valueOf(COLUMN_VALUE_DEFAULT_PAGE_SIZE)), tenantId); + DocumentContext parsedJson = JsonPath.parse(rawJson); + List values = parsedJson.read(field.getValueSourceApi().getValueJsonPath()); + List labels = parsedJson.read(field.getValueSourceApi().getLabelJsonPath()); + for (int i = 0; i < values.size(); i++) { + String value = values.get(i); + String label = labels.get(i); + if (label.contains(searchText)) { + resultSet.add(new ValueWithLabel().value(value).label(label)); + } + } + } catch (FeignException.Unauthorized e) { + log.error("Failed to get column values from {} tenant due to exception: {}", tenantId, e.getMessage()); } } + + + List results = new ArrayList<>(resultSet); results.sort(Comparator.comparing(ValueWithLabel::getLabel, String.CASE_INSENSITIVE_ORDER)); return new ColumnValues().content(results); } @@ -222,6 +250,85 @@ private static ColumnValues getCurrencyValues() { return new ColumnValues().content(currencies); } + private ColumnValues getLanguages(String searchText) { + Map queryParams = Map.of( + "facet", "languages", + "query", "id=*", + "limit", "1000" + ); + + List values = List.of(); + try { + String rawJson = simpleHttpClient.get("search/instances/facets", queryParams); + DocumentContext parsedJson = JsonPath.parse(rawJson); + values = parsedJson.read("$.facets.languages.values.*.id"); + } catch (FeignException.Unauthorized | FeignException.BadRequest e) { + log.error("Failed to get languages from API due to exception {}", e.getMessage()); + } + + List results = new ArrayList<>(); + ObjectMapper mapper = + JsonMapper + .builder() + .enable(JsonReadFeature.ALLOW_SINGLE_QUOTES) + .enable(JsonReadFeature.ALLOW_UNQUOTED_FIELD_NAMES) + .build(); + + List> languages = List.of(); + try (InputStream input = getClass().getClassLoader().getResourceAsStream(LANGUAGES_FILEPATH)) { + languages = mapper.readValue(input, new TypeReference<>() { + }); + } catch (IOException e) { + log.error("Failed to read language file. Language display names may not be properly translated."); + } + + Locale folioLocale; + try { + String localeSettingsResponse = simpleHttpClient.get(GET_LOCALE_SETTINGS_PATH, GET_LOCALE_SETTINGS_PARAMS); + ObjectMapper objectMapper = new ObjectMapper(); + JsonNode localeSettingsNode = objectMapper.readTree(localeSettingsResponse); + String valueString = localeSettingsNode + .path("configs") + .get(0) + .path("value") + .asText(); + JsonNode valueNode = objectMapper.readTree(valueString); + String localeString = valueNode.path("locale").asText(); + folioLocale = new Locale(localeString.substring(0, 2)); // Java locales are in form xx, FOLIO stores locales as xx-YY + } catch (Exception e) { + log.debug("No default locale defined. Defaulting to English for language translations."); + folioLocale = Locale.ENGLISH; + } + + Map a3ToNameMap = new HashMap<>(); + Map a3ToA2Map = new HashMap<>(); + for (Map language : languages) { + a3ToA2Map.put(language.get("alpha3"), language.get("alpha2")); + a3ToNameMap.put(language.get("alpha3"), language.get("name")); + } + + for (String code : values) { + String label; + String a2Code = a3ToA2Map.get(code); + String name = a3ToNameMap.get(code); + if (StringUtils.isNotEmpty(a2Code)) { + Locale languageLocale = new Locale(a2Code); + label = languageLocale.getDisplayLanguage(folioLocale); + } else if (StringUtils.isNotEmpty(name)) { + label = name; + } else if (StringUtils.isNotEmpty(code)) { + label = code; + } else { + continue; + } + if (label.toLowerCase().contains(searchText.toLowerCase())) { + results.add(new ValueWithLabel().value(code).label(label)); + } + } + results.sort(Comparator.comparing(ValueWithLabel::getLabel, String.CASE_INSENSITIVE_ORDER)); + return new ColumnValues().content(results); + } + private static ValueWithLabel toValueWithLabel(Map allValues, String fieldName) { var valueWithLabel = new ValueWithLabel().label(getFieldValue(allValues, fieldName)); return allValues.containsKey(ID_FIELD_NAME) @@ -232,5 +339,4 @@ private static ValueWithLabel toValueWithLabel(Map allValues, St private static String getFieldValue(Map allValues, String fieldName) { return allValues.get(fieldName).toString(); } - } diff --git a/src/main/java/org/folio/fqm/service/PermissionsRegularService.java b/src/main/java/org/folio/fqm/service/PermissionsRegularService.java index c2930d7e..4b2a822b 100644 --- a/src/main/java/org/folio/fqm/service/PermissionsRegularService.java +++ b/src/main/java/org/folio/fqm/service/PermissionsRegularService.java @@ -4,8 +4,8 @@ import com.github.benmanes.caffeine.cache.Caffeine; import lombok.RequiredArgsConstructor; import lombok.extern.log4j.Log4j2; -import org.apache.commons.lang3.NotImplementedException; import org.folio.fqm.client.ModPermissionsClient; +import org.folio.fqm.client.ModRolesKeycloakClient; import org.folio.fqm.exception.MissingPermissionsException; import org.folio.querytool.domain.dto.EntityType; import org.folio.spring.FolioExecutionContext; @@ -27,7 +27,8 @@ public class PermissionsRegularService implements PermissionsService { // package-private for visibility in unit tests - @Value("${folio.is-eureka:false}") + + @Value("${folio.is-eureka}") boolean isEureka; @Value("${mod-fqm-manager.permissions-cache-timeout-seconds:60}") @@ -35,21 +36,26 @@ public class PermissionsRegularService implements PermissionsService { private final FolioExecutionContext context; private final ModPermissionsClient modPermissionsClient; - private final Cache> cache = Caffeine.newBuilder().expireAfterWrite(cacheDurationSeconds, TimeUnit.SECONDS).build(); + private final ModRolesKeycloakClient modRolesKeycloakClient; + private final Cache> cache = Caffeine.newBuilder() + .expireAfterWrite(cacheDurationSeconds, TimeUnit.SECONDS) + .build(); private final EntityTypeFlatteningService entityTypeFlatteningService; + private static final List CROSS_TENANT_FQM_PERMISSIONS = List.of( "fqm.entityTypes.item.get", "fqm.query.async.results.get", "fqm.query.async.post" ); + @Override public Set getUserPermissions() { return getUserPermissions(context.getTenantId()); } public Set getUserPermissions(String tenantId) { TenantUserPair key = new TenantUserPair(tenantId, context.getUserId()); - return cache.get(key, k -> isEureka ? getUserPermissionsFromRolesKeycloak(k.userId()) : getUserPermissionsFromModPermissions(tenantId, k.userId())); + return cache.get(key, k -> isEureka ? getUserPermissionsFromRolesKeycloak(k.tenant(), k.userId()) : getUserPermissionsFromModPermissions(k.tenant(), k.userId())); } public Set getRequiredPermissions(EntityType entityType) { @@ -57,6 +63,7 @@ public Set getRequiredPermissions(EntityType entityType) { return new HashSet<>(flattenedEntityType.getRequiredPermissions()); } + @Override public void verifyUserHasNecessaryPermissions(EntityType entityType, boolean checkFqmPermissions) { verifyUserHasNecessaryPermissions(context.getTenantId(), entityType, checkFqmPermissions); } @@ -92,8 +99,10 @@ private Set getUserPermissionsFromModPermissions(String tenantId, UUID u .getPermissionNames(); } - private Set getUserPermissionsFromRolesKeycloak(UUID userId) { - throw new NotImplementedException("Not implemented yet"); + private Set getUserPermissionsFromRolesKeycloak(String tenantId, UUID userId) { + return modRolesKeycloakClient + .getPermissionsUser(tenantId, userId) + .getPermissionNames(); } private record TenantUserPair(String tenant, UUID userId) { diff --git a/src/main/java/org/folio/fqm/service/QueryManagementService.java b/src/main/java/org/folio/fqm/service/QueryManagementService.java index 663c9e6d..10a398df 100644 --- a/src/main/java/org/folio/fqm/service/QueryManagementService.java +++ b/src/main/java/org/folio/fqm/service/QueryManagementService.java @@ -191,7 +191,7 @@ public List> getContents(UUID entityTypeId, List fie fields.add(colName); } }); - List tenantsToQuery = crossTenantQueryService.getTenantsToQuery(entityType, false); + List tenantsToQuery = crossTenantQueryService.getTenantsToQuery(entityType); return resultSetService.getResultSet(entityTypeId, fields, ids, tenantsToQuery); } @@ -199,7 +199,7 @@ private List> getContents(UUID queryId, UUID entityTypeId, L if (includeResults) { EntityType entityType = entityTypeService.getEntityTypeDefinition(entityTypeId, true, false); List> resultIds = queryResultsRepository.getQueryResultIds(queryId, offset, limit); - List tenantsToQuery = crossTenantQueryService.getTenantsToQuery(entityType, false); + List tenantsToQuery = crossTenantQueryService.getTenantsToQuery(entityType); return resultSetService.getResultSet(entityTypeId, fields, resultIds, tenantsToQuery); } return List.of(); diff --git a/src/main/java/org/folio/fqm/service/QueryProcessorService.java b/src/main/java/org/folio/fqm/service/QueryProcessorService.java index 7fb1b804..cc05587b 100644 --- a/src/main/java/org/folio/fqm/service/QueryProcessorService.java +++ b/src/main/java/org/folio/fqm/service/QueryProcessorService.java @@ -76,7 +76,7 @@ public void getIdsInBatch(FqlQueryWithContext fqlQueryWithContext, public List> processQuery(EntityType entityType, String fqlQuery, List fields, List afterId, Integer limit) { Fql fql = fqlService.getFql(fqlQuery); boolean ecsEnabled = crossTenantQueryService.ecsEnabled(); - List tenantsToQuery = crossTenantQueryService.getTenantsToQuery(entityType, false); + List tenantsToQuery = crossTenantQueryService.getTenantsToQuery(entityType); return resultSetRepository.getResultSetSync( UUID.fromString(entityType.getId()), fql, diff --git a/src/main/resources/application.yml b/src/main/resources/application.yml index 2f77b6e0..c7b7a273 100644 --- a/src/main/resources/application.yml +++ b/src/main/resources/application.yml @@ -77,7 +77,7 @@ coffee-boots: queryCache: maximumSize=500,expireAfterWrite=1m userTenantCache: maximumSize=100,expireAfterWrite=5h folio: - is-eureka: false + is-eureka: ${IS_EUREKA:false} tenant: validation: enabled: true diff --git a/src/main/resources/db/changelog/changes/v1.1.0/changelog-v1.1.0.xml b/src/main/resources/db/changelog/changes/v1.1.0/changelog-v1.1.0.xml index 998e5faf..dc9a83f5 100644 --- a/src/main/resources/db/changelog/changes/v1.1.0/changelog-v1.1.0.xml +++ b/src/main/resources/db/changelog/changes/v1.1.0/changelog-v1.1.0.xml @@ -7,11 +7,7 @@ - - - - - + @@ -38,38 +34,23 @@ - - - - Add materialized view for languages - + Remove unneeded materialized view for languages + DROP MATERIALIZED VIEW IF EXISTS drv_languages; - - - - - - SELECT COUNT(*) FROM pg_matviews WHERE schemaname = '${tenant_id}_mod_fqm_manager'AND matviewname = 'drv_pol_payment_status'; - - REFRESH MATERIALIZED VIEW drv_pol_payment_status; + + DROP MATERIALIZED VIEW IF EXISTS drv_pol_payment_status; - - - SELECT COUNT(*) FROM pg_matviews WHERE schemaname = '${tenant_id}_mod_fqm_manager'AND matviewname = 'drv_pol_receipt_status'; - - REFRESH MATERIALIZED VIEW drv_pol_receipt_status; + + DROP MATERIALIZED VIEW IF EXISTS drv_pol_receipt_status; - + SELECT COUNT(*) FROM pg_matviews WHERE schemaname = '${tenant_id}_mod_fqm_manager'AND matviewname = 'drv_inventory_statistical_code_full'; REFRESH MATERIALIZED VIEW drv_inventory_statistical_code_full; - - - SELECT COUNT(*) FROM pg_matviews WHERE schemaname = '${tenant_id}_mod_fqm_manager'AND matviewname = 'drv_languages'; - - REFRESH MATERIALIZED VIEW drv_languages; + + diff --git a/src/main/resources/db/changelog/changes/v1.1.0/sql/create-mat-view-languages.sql b/src/main/resources/db/changelog/changes/v1.1.0/sql/create-mat-view-languages.sql deleted file mode 100644 index 6863d90c..00000000 --- a/src/main/resources/db/changelog/changes/v1.1.0/sql/create-mat-view-languages.sql +++ /dev/null @@ -1,10 +0,0 @@ -DROP MATERIALIZED VIEW IF EXISTS drv_languages; - - CREATE MATERIALIZED VIEW drv_languages AS - SELECT DISTINCT elements.languages FROM ${tenant_id}_mod_inventory_storage.instance, jsonb_array_elements_text(jsonb -> 'languages') AS elements(languages) - WITH NO DATA; - - - CREATE UNIQUE INDEX fqm_languages_idx - ON ${tenant_id}_mod_fqm_manager.drv_languages(languages); - diff --git a/src/main/resources/db/changelog/changes/v1.1.0/sql/create-mat-view-pol-payment-status.sql b/src/main/resources/db/changelog/changes/v1.1.0/sql/create-mat-view-pol-payment-status.sql deleted file mode 100644 index d89e0ce6..00000000 --- a/src/main/resources/db/changelog/changes/v1.1.0/sql/create-mat-view-pol-payment-status.sql +++ /dev/null @@ -1,20 +0,0 @@ -DROP MATERIALIZED VIEW IF EXISTS drv_pol_payment_status; - -CREATE MATERIALIZED VIEW drv_pol_payment_status AS -SELECT payment_status FROM - (SELECT DISTINCT jsonb ->> 'paymentStatus' AS payment_status FROM ${tenant_id}_mod_orders_storage.po_line) existing_statuses -UNION - (SELECT payment_status FROM - (VALUES - ('Awaiting Payment'), - ('Cancelled'), - ('Fully Paid'), - ('Partially Paid'), - ('Payment Not Required'), - ('Pending') - ) AS hardcoded_statuses(payment_status) - ) -WITH NO DATA; - -CREATE UNIQUE INDEX fqm_pol_payment_status -ON ${tenant_id}_mod_fqm_manager.drv_pol_payment_status(payment_status); diff --git a/src/main/resources/db/changelog/changes/v1.1.0/sql/create-mat-view-pol-receipt-status.sql b/src/main/resources/db/changelog/changes/v1.1.0/sql/create-mat-view-pol-receipt-status.sql deleted file mode 100644 index 38c9eaf5..00000000 --- a/src/main/resources/db/changelog/changes/v1.1.0/sql/create-mat-view-pol-receipt-status.sql +++ /dev/null @@ -1,20 +0,0 @@ -DROP MATERIALIZED VIEW IF EXISTS drv_pol_receipt_status; - -CREATE MATERIALIZED VIEW drv_pol_receipt_status AS -SELECT receipt_status FROM - (SELECT DISTINCT jsonb ->> 'receiptStatus' AS receipt_status FROM ${tenant_id}_mod_orders_storage.po_line) existing_statuses -UNION - (SELECT receipt_status FROM - (VALUES - ('Awaiting Receipt'), - ('Cancelled'), - ('Fully Received'), - ('Partially Received'), - ('Pending'), - ('Receipt Not Required') - ) AS hardcoded_statuses(receipt_status) - ) -WITH NO DATA; - -CREATE UNIQUE INDEX fqm_pol_receipt_status -ON ${tenant_id}_mod_fqm_manager.drv_pol_receipt_status(receipt_status); diff --git a/src/main/resources/db/changelog/changes/v2.1.0/changelog-v2.1.0.xml b/src/main/resources/db/changelog/changes/v2.1.0/changelog-v2.1.0.xml index 956d6d89..218bf0a0 100644 --- a/src/main/resources/db/changelog/changes/v2.1.0/changelog-v2.1.0.xml +++ b/src/main/resources/db/changelog/changes/v2.1.0/changelog-v2.1.0.xml @@ -178,4 +178,26 @@ + + + + + + SELECT * FROM ${tenant_id}_mod_inventory_storage.classification_type + + + + + + + + + SELECT * FROM ${tenant_id}_mod_inventory_storage.instance_date_type + + + diff --git a/src/main/resources/entity-types/circulation/composite_loan_details.json5 b/src/main/resources/entity-types/circulation/composite_loan_details.json5 index b5357819..d7e356f7 100644 --- a/src/main/resources/entity-types/circulation/composite_loan_details.json5 +++ b/src/main/resources/entity-types/circulation/composite_loan_details.json5 @@ -7,11 +7,13 @@ type: 'entity-type', id: '00349126-c923-4045-a29f-3b6db4c6bea9', useIdColumns: true, + essentialOnly: true }, { alias: 'lpolicy', type: 'entity-type', id: '64d7b5fb-2ead-444c-a9bd-b9db831f4132', + essentialOnly: true, join: { type: 'left join', joinTo: 'loans.loan', @@ -22,6 +24,7 @@ alias: 'cospi', type: 'entity-type', id: '1fdcc2e8-1ff8-4a99-b4ad-7d6bf564aec5', + essentialOnly: true, join: { condition: "(:that.jsonb ->> 'checkoutServicePointId')::uuid = :this.id", type: 'left join', @@ -32,6 +35,7 @@ alias: 'cispi', type: 'entity-type', id: '1fdcc2e8-1ff8-4a99-b4ad-7d6bf564aec5', + essentialOnly: true, join: { joinTo: 'loans.loan', condition: "(:that.jsonb ->> 'checkinServicePointId')::uuid = :this.id", @@ -42,6 +46,7 @@ alias: 'items', type: 'entity-type', id: '372e025a-9444-473a-9ffd-fa0f63db1674', + essentialOnly: true, join: { condition: "(:that.jsonb ->> 'itemId')::uuid = :this.id", joinTo: 'loans.loan', @@ -52,6 +57,7 @@ alias: 'mtypes', type: 'entity-type', id: '8b1f51d6-8795-4113-a72e-3b7dc6cc6dfe', + essentialOnly: true, join: { type: 'left join', joinTo: 'items.item', @@ -73,6 +79,7 @@ alias: 'groups', type: 'entity-type', id: 'e7717b38-4ff3-4fb9-ae09-b3d0c8400710', + essentialOnly: true, join: { type: 'left join', joinTo: 'users.user', @@ -83,6 +90,7 @@ alias: 'holdings', type: 'entity-type', id: '30a5cfad-1868-4f46-86b9-a6ef67e2d9bf', + essentialOnly: true, join: { type: 'left join', joinTo: 'items.item', diff --git a/src/main/resources/entity-types/circulation/simple_loan.json5 b/src/main/resources/entity-types/circulation/simple_loan.json5 index 45af6135..5a0f4afc 100644 --- a/src/main/resources/entity-types/circulation/simple_loan.json5 +++ b/src/main/resources/entity-types/circulation/simple_loan.json5 @@ -22,7 +22,8 @@ }, isIdColumn: true, queryable: true, - visibleByDefault: true, + visibleByDefault: false, + essential: true, valueGetter: ':sourceAlias.id', }, { @@ -34,6 +35,8 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: false, + essential: true, valueGetter: ':sourceAlias.creation_date', }, { @@ -56,6 +59,8 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, + essential: true, valueGetter: ":sourceAlias.jsonb->>'userId'", }, { @@ -67,6 +72,8 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, + essential: true, valueGetter: ":sourceAlias.jsonb->>'proxyUserId'", }, { @@ -78,7 +85,12 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, + essential: true, valueGetter: ":sourceAlias.jsonb->>'itemId'", + filterValueGetter: '"left"(lower(${tenant_id}_mod_circulation_storage.f_unaccent(:sourceAlias.jsonb ->> \'itemId\'::text)), 600)', + valueFunction: '"left"(lower(${tenant_id}_mod_circulation_storage.f_unaccent(:value)), 600)' + }, { name: 'item_effective_location_id_at_check_out', @@ -99,7 +111,8 @@ }, isIdColumn: false, queryable: true, - visibleByDefault: true, + visibleByDefault: false, + essential: true, valueGetter: ":sourceAlias.jsonb->'status'->>'name'", filterValueGetter: "\"left\"(lower(${tenant_id}_mod_circulation_storage.f_unaccent((:sourceAlias.jsonb -> 'status'::text) ->> 'name'::text)), 600)", valueFunction: '"left"(lower(${tenant_id}_mod_circulation_storage.f_unaccent(:value)), 600)' @@ -112,8 +125,10 @@ }, isIdColumn: false, queryable: true, - visibleByDefault: true, + visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->>'loanDate'", + filterValueGetter: '"left"(lower(${tenant_id}_mod_circulation_storage.f_unaccent(:sourceAlias.jsonb ->> \'loanDate\'::text)), 600)', + valueFunction: '"left"(lower(${tenant_id}_mod_circulation_storage.f_unaccent(:value)), 600)' }, { name: 'due_date', @@ -123,6 +138,7 @@ }, isIdColumn: false, queryable: true, + essential: true, visibleByDefault: true, valueGetter: ":sourceAlias.jsonb->>'dueDate'", filterValueGetter: '"left"(lower(:sourceAlias.jsonb ->> \'dueDate\'::text), 600)', @@ -137,6 +153,7 @@ isIdColumn: false, queryable: true, visibleByDefault: true, + essential: true, valueGetter: ":sourceAlias.jsonb->>'returnDate'", }, { @@ -158,8 +175,11 @@ }, isIdColumn: false, queryable: true, - visibleByDefault: true, + visibleByDefault: false, + essential: true, valueGetter: ":sourceAlias.jsonb->>'action'", + filterValueGetter: '"left"(lower(${tenant_id}_mod_circulation_storage.f_unaccent(:sourceAlias.jsonb ->> \'action\'::text)), 600)', + valueFunction: '"left"(lower(${tenant_id}_mod_circulation_storage.f_unaccent(:value)), 600)' }, { name: 'action_comment', @@ -181,7 +201,10 @@ isIdColumn: false, queryable: true, visibleByDefault: true, + essential: true, valueGetter: ":sourceAlias.jsonb->>'itemStatus'", + filterValueGetter: '"left"(lower(${tenant_id}_mod_circulation_storage.f_unaccent(:sourceAlias.jsonb ->> \'itemStatus\'::text)), 600)', + valueFunction: '"left"(lower(${tenant_id}_mod_circulation_storage.f_unaccent(:value)), 600)' }, { name: 'renewal_count', @@ -192,6 +215,7 @@ isIdColumn: false, queryable: true, visibleByDefault: true, + essential: true, valueGetter: ":sourceAlias.jsonb->>'renewalCount'", }, { @@ -203,6 +227,8 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, + essential: true, valueGetter: ":sourceAlias.jsonb->>'loanPolicyId'", }, { @@ -214,7 +240,11 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, + essential: true, valueGetter: ":sourceAlias.jsonb->>'checkoutServicePointId'", + filterValueGetter: '"left"(lower(${tenant_id}_mod_circulation_storage.f_unaccent(:sourceAlias.jsonb ->> \'checkoutServicePointId\'::text)), 600)', + valueFunction: '"left"(lower(${tenant_id}_mod_circulation_storage.f_unaccent(:value)), 600)' }, { name: 'checkin_service_point_id', @@ -225,7 +255,11 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, + essential: true, valueGetter: ":sourceAlias.jsonb->>'checkinServicePointId'", + filterValueGetter: '"left"(lower(${tenant_id}_mod_circulation_storage.f_unaccent(:sourceAlias.jsonb ->> \'checkinServicePointId\'::text)), 600)', + valueFunction: '"left"(lower(${tenant_id}_mod_circulation_storage.f_unaccent(:value)), 600)' }, { name: 'patron_group_id_at_checkout', @@ -236,6 +270,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, valueGetter: ":sourceAlias.jsonb->>'patronGroupIdAtCheckout'", }, { @@ -246,6 +281,7 @@ }, isIdColumn: false, queryable: true, + essential: true, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->>'dueDateChangedByRecall'", values: [ @@ -267,7 +303,8 @@ }, isIdColumn: false, queryable: true, - visibleByDefault: true, + visibleByDefault: false, + essential: true, valueGetter: ":sourceAlias.jsonb->>'declaredLostDate'", }, { @@ -278,7 +315,8 @@ }, isIdColumn: false, queryable: true, - visibleByDefault: true, + visibleByDefault: false, + essential: true, valueGetter: ":sourceAlias.jsonb->>'claimedReturnedDate'", }, { @@ -290,6 +328,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, valueGetter: ":sourceAlias.jsonb->>'overdueFinePolicyId'", }, { @@ -301,6 +340,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, valueGetter: ":sourceAlias.jsonb->>'lostItemPolicyId'", }, { @@ -332,7 +372,8 @@ }, isIdColumn: false, queryable: true, - visibleByDefault: false, + hidden: true, + visibleByDefault: true, valueGetter: ":sourceAlias.jsonb->'agedToLostDelayedBilling'->>'dateLostItemShouldBeBilled'", }, { @@ -366,6 +407,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + essential: true, valueGetter: ":sourceAlias.jsonb->'reminders'->'lastFeeBilled'->>'date'", }, { diff --git a/src/main/resources/entity-types/circulation/simple_loan_policy.json5 b/src/main/resources/entity-types/circulation/simple_loan_policy.json5 index 4bfb04a0..622a2f20 100644 --- a/src/main/resources/entity-types/circulation/simple_loan_policy.json5 +++ b/src/main/resources/entity-types/circulation/simple_loan_policy.json5 @@ -22,7 +22,8 @@ }, isIdColumn: true, queryable: true, - visibleByDefault: true, + visibleByDefault: false, + essential: true, valueGetter: ':sourceAlias.id', }, { @@ -34,6 +35,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, valueGetter: ':sourceAlias.creation_date', }, { @@ -45,6 +47,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, valueGetter: ':sourceAlias.created_by', }, { @@ -54,7 +57,7 @@ dataType: 'rangedUUIDType', }, isIdColumn: false, - queryable: true, + queryable: false, visibleByDefault: false, valueGetter: ':sourceAlias.loanspolicy_fixedduedatescheduleid', }, @@ -65,7 +68,7 @@ dataType: 'rangedUUIDType', }, isIdColumn: false, - queryable: true, + queryable: false, visibleByDefault: false, valueGetter: ':sourceAlias.renewalspolicy_alternatefixedduedatescheduleid', }, @@ -78,6 +81,7 @@ isIdColumn: false, queryable: true, visibleByDefault: true, + essential: true, valueGetter: ":sourceAlias.jsonb->>'name'", }, { @@ -88,7 +92,7 @@ }, isIdColumn: false, queryable: true, - visibleByDefault: true, + visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->>'description'", }, { @@ -99,7 +103,9 @@ }, isIdColumn: false, queryable: true, - visibleByDefault: true, + visibleByDefault: false, + hidden: true, + essential: true, valueGetter: ":sourceAlias.jsonb->>'loanable'", values: [ { @@ -120,7 +126,9 @@ }, isIdColumn: false, queryable: true, - visibleByDefault: true, + visibleByDefault: false, + hidden: true, + essential: true, valueGetter: ":sourceAlias.jsonb->'loansPolicy'->>'profileId'", }, { @@ -131,7 +139,9 @@ }, isIdColumn: false, queryable: true, - visibleByDefault: true, + visibleByDefault: false, + hidden: true, + essential: true, valueGetter: ":sourceAlias.jsonb->>'renewable'", values: [ { @@ -151,7 +161,7 @@ dataType: 'booleanType', }, isIdColumn: false, - queryable: true, + queryable: false, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->'renewalsPolicy'->>'unlimited'", values: [ @@ -172,7 +182,7 @@ dataType: 'numberType', }, isIdColumn: false, - queryable: true, + queryable: false, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->'renewalsPolicy'->>'numberAllowed'", }, @@ -183,7 +193,7 @@ dataType: 'stringType', }, isIdColumn: false, - queryable: true, + queryable: false, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->'renewalsPolicy'->>'renewFromId'", }, @@ -194,7 +204,7 @@ dataType: 'booleanType', }, isIdColumn: false, - queryable: true, + queryable: false, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->'renewalsPolicy'->>'differentPeriod'", values: [ @@ -215,7 +225,7 @@ dataType: 'integerType', }, isIdColumn: false, - queryable: true, + queryable: false, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->'loansPolicy'->'period'->>'duration'", }, @@ -226,7 +236,7 @@ dataType: 'stringType', }, isIdColumn: false, - queryable: true, + queryable: false, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->'loansPolicy'->'period'->>'intervalId'", values: [ @@ -259,7 +269,7 @@ dataType: 'stringType', }, isIdColumn: false, - queryable: true, + queryable: false, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->'loansPolicy'->>'closedLibraryDueDateManagementId'", values: [ // From https://github.com/folio-org/mod-circulation/blob/master/src/main/java/org/folio/circulation/domain/policy/DueDateManagement.java @@ -296,7 +306,7 @@ dataType: 'integerType', }, isIdColumn: false, - queryable: true, + queryable: false, visibleByDefault: false, valueGetter: "(:sourceAlias.jsonb->'loansPolicy'->'gracePeriod'->>'duration')::integer", valueFunction: '(:value)::integer' @@ -308,7 +318,7 @@ dataType: 'stringType', }, isIdColumn: false, - queryable: true, + queryable: false, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->'loansPolicy'->'gracePeriod'->>'intervalId'", values: [ @@ -341,7 +351,7 @@ dataType: 'integerType', }, isIdColumn: false, - queryable: true, + queryable: false, visibleByDefault: false, valueGetter: "(:sourceAlias.jsonb->'loansPolicy'->'openingTimeOffset'->>'duration')::integer", valueFunction: '(:value)::integer' @@ -353,7 +363,7 @@ dataType: 'stringType', }, isIdColumn: false, - queryable: true, + queryable: false, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->'loansPolicy'->'openingTimeOffset'->>'intervalId'", values: [ @@ -386,7 +396,7 @@ dataType: 'rangedUUIDType', }, isIdColumn: false, - queryable: true, + queryable: false, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->'loansPolicy'->>'fixedDueDateScheduleId'", }, @@ -397,7 +407,7 @@ dataType: 'integerType', }, isIdColumn: false, - queryable: true, + queryable: false, visibleByDefault: false, valueGetter: "(:sourceAlias.jsonb->'loansPolicy'->>'itemLimit')::integer", valueFunction: '(:value)::integer' @@ -409,7 +419,7 @@ dataType: 'integerType', }, isIdColumn: false, - queryable: true, + queryable: false, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->'renewalsPolicy'->'period'->>'duration'", }, @@ -420,7 +430,7 @@ dataType: 'stringType', }, isIdColumn: false, - queryable: true, + queryable: false, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->'renewalsPolicy'->'period'->>'intervalId'", values: [ @@ -453,7 +463,7 @@ dataType: 'integerType', }, isIdColumn: false, - queryable: true, + queryable: false, visibleByDefault: false, valueGetter: "(:sourceAlias.jsonb->'requestManagement'->'recalls'->'alternateGracePeriod'->>'duration')::integer", valueFunction: '(:value)::integer' @@ -465,7 +475,7 @@ dataType: 'stringType', }, isIdColumn: false, - queryable: true, + queryable: false, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->'requestManagement'->'recalls'->'alternateGracePeriod'->>'intervalId'", values: [ @@ -498,7 +508,7 @@ dataType: 'integerType', }, isIdColumn: false, - queryable: true, + queryable: false, visibleByDefault: false, valueGetter: "(:sourceAlias.jsonb->'requestManagement'->'recalls'->'minimumGuaranteedLoanPeriod'->>'duration')::integer", valueFunction: '(:value)::integer' @@ -510,7 +520,7 @@ dataType: 'stringType', }, isIdColumn: false, - queryable: true, + queryable: false, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->'requestManagement'->'recalls'->'minimumGuaranteedLoanPeriod'->>'intervalId'", values: [ @@ -543,7 +553,7 @@ dataType: 'integerType', }, isIdColumn: false, - queryable: true, + queryable: false, visibleByDefault: false, valueGetter: "(:sourceAlias.jsonb->'requestManagement'->'recalls'->'recallReturnInterval'->>'duration')::integer", valueFunction: '(:value)::integer' @@ -555,7 +565,7 @@ dataType: 'stringType', }, isIdColumn: false, - queryable: true, + queryable: false, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->'requestManagement'->'recalls'->'recallReturnInterval'->>'intervalId'", values: [ @@ -588,7 +598,7 @@ dataType: 'booleanType', }, isIdColumn: false, - queryable: true, + queryable: false, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->'requestManagement'->'recalls'->>'allowRecallsToExtendOverdueLoans'", values: [ @@ -609,7 +619,7 @@ dataType: 'integerType', }, isIdColumn: false, - queryable: true, + queryable: false, visibleByDefault: false, valueGetter: "(:sourceAlias.jsonb->'requestManagement'->'recalls'->'alternateRecallReturnInterval'->>'duration')::integer", valueFunction: '(:value)::integer' @@ -621,7 +631,7 @@ dataType: 'stringType', }, isIdColumn: false, - queryable: true, + queryable: false, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->'requestManagement'->'recalls'->'alternateRecallReturnInterval'->>'intervalId'", values: [ @@ -654,7 +664,7 @@ dataType: 'integerType', }, isIdColumn: false, - queryable: true, + queryable: false, visibleByDefault: false, valueGetter: "(:sourceAlias.jsonb->'requestManagement'->'holds'->'alternateCheckoutLoanPeriod'->>'duration')::integer", valueFunction: '(:value)::integer' @@ -666,7 +676,7 @@ dataType: 'stringType', }, isIdColumn: false, - queryable: true, + queryable: false, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->'requestManagement'->'holds'->'alternateCheckoutLoanPeriod'->>'intervalId'", values: [ @@ -699,7 +709,7 @@ dataType: 'booleanType', }, isIdColumn: false, - queryable: true, + queryable: false, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->'requestManagement'->'holds'->>'renewItemsWithRequest'", values: [ @@ -720,7 +730,7 @@ dataType: 'integerType', }, isIdColumn: false, - queryable: true, + queryable: false, visibleByDefault: false, valueGetter: "(:sourceAlias.jsonb->'requestManagement'->'holds'->'alternateRenewalLoanPeriod'->>'duration')::integer", valueFunction: '(:value)::integer' @@ -732,7 +742,7 @@ dataType: 'stringType', }, isIdColumn: false, - queryable: true, + queryable: false, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->'requestManagement'->'holds'->'alternateRenewalLoanPeriod'->>'intervalId'", values: [ @@ -765,7 +775,7 @@ dataType: 'integerType', }, isIdColumn: false, - queryable: true, + queryable: false, visibleByDefault: false, valueGetter: "(:sourceAlias.jsonb->'requestManagement'->'pages'->'alternateCheckoutLoanPeriod'->>'duration')::integer", valueFunction: '(:value)::integer' @@ -777,7 +787,7 @@ dataType: 'stringType', }, isIdColumn: false, - queryable: true, + queryable: false, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->'requestManagement'->'pages'->'alternateCheckoutLoanPeriod'->>'intervalId'", values: [ @@ -810,7 +820,7 @@ dataType: 'booleanType', }, isIdColumn: false, - queryable: true, + queryable: false, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->'requestManagement'->'pages'->>'renewItemsWithRequest'", values: [ @@ -831,7 +841,7 @@ dataType: 'integerType', }, isIdColumn: false, - queryable: true, + queryable: false, visibleByDefault: false, valueGetter: "(:sourceAlias.jsonb->'requestManagement'->'pages'->'alternateRenewalLoanPeriod'->>'duration')::integer", valueFunction: '(:value)::integer' @@ -843,7 +853,7 @@ dataType: 'stringType', }, isIdColumn: false, - queryable: true, + queryable: false, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->'requestManagement'->'pages'->'alternateRenewalLoanPeriod'->>'intervalId'", values: [ @@ -877,8 +887,9 @@ }, isIdColumn: false, queryable: false, - hidden: true, visibleByDefault: false, + hidden: true, + essential: true, valueGetter: ":sourceAlias.jsonb::text", } ], diff --git a/src/main/resources/entity-types/inventory/composite_holdings_record.json5 b/src/main/resources/entity-types/inventory/composite_holdings_record.json5 index 728abcf4..5ab169a6 100644 --- a/src/main/resources/entity-types/inventory/composite_holdings_record.json5 +++ b/src/main/resources/entity-types/inventory/composite_holdings_record.json5 @@ -8,12 +8,14 @@ alias: 'holdings', type: 'entity-type', id: '30a5cfad-1868-4f46-86b9-a6ef67e2d9bf', // simple_holdings_records - useIdColumns: true + useIdColumns: true, + essentialOnly: true }, { alias: 'effective_location', type: 'entity-type', - id: '74ddf1a6-19e0-4d63-baf0-cd2da9a46ca4', // simple_locations + id: '74ddf1a6-19e0-4d63-baf0-cd2da9a46ca4', // simple_locations, + essentialOnly: true, join: { type: 'left join', joinTo: 'holdings.hrd', @@ -23,7 +25,8 @@ { alias: 'effective_library', type: 'entity-type', - id: '32f58888-1a7b-4840-98f8-cc69ca93fc67', // simple_loclibrary + id: '32f58888-1a7b-4840-98f8-cc69ca93fc67', // simple_loclibrary, + essentialOnly: true, join: { type: 'left join', joinTo: 'effective_location.location', @@ -34,6 +37,7 @@ alias: 'permanent_location', type: 'entity-type', id: '74ddf1a6-19e0-4d63-baf0-cd2da9a46ca4', // simple_locations + essentialOnly: true, join: { type: 'left join', joinTo: 'holdings.hrd', @@ -43,7 +47,8 @@ { alias: 'temporary_location', type: 'entity-type', - id: '74ddf1a6-19e0-4d63-baf0-cd2da9a46ca4', // simple_locations + id: '74ddf1a6-19e0-4d63-baf0-cd2da9a46ca4', // simple_locations, + essentialOnly: true, join: { type: 'left join', joinTo: 'holdings.hrd', diff --git a/src/main/resources/entity-types/inventory/composite_instances.json5 b/src/main/resources/entity-types/inventory/composite_instances.json5 index 9612faf7..82aca621 100644 --- a/src/main/resources/entity-types/inventory/composite_instances.json5 +++ b/src/main/resources/entity-types/inventory/composite_instances.json5 @@ -9,7 +9,7 @@ type: 'entity-type', id: '8fc4a9d2-7ccf-4233-afb8-796911839862', // simple_instance useIdColumns: true, - // essentialOnly: true + essentialOnly: true }, { alias: 'inst_stat', @@ -33,6 +33,17 @@ condition: ':this.id = :that.instanceTypeId', }, }, + { + alias: 'date_type', + type: 'entity-type', + id: '2d4bd468-720e-42b2-af41-8f4a9d7cb335', // simple_instance_date_type + essentialOnly: true, + join: { + type: 'left join', + joinTo: 'instance.inst', + condition: ":this.id = ((:that.jsonb -> 'dates') ->> 'dateTypeId')::uuid", + }, + }, ], defaultSort: [ { diff --git a/src/main/resources/entity-types/inventory/composite_item_details.json5 b/src/main/resources/entity-types/inventory/composite_item_details.json5 index 6d4033d3..95d1f80d 100644 --- a/src/main/resources/entity-types/inventory/composite_item_details.json5 +++ b/src/main/resources/entity-types/inventory/composite_item_details.json5 @@ -9,11 +9,13 @@ type: 'entity-type', id: '372e025a-9444-473a-9ffd-fa0f63db1674', // simple_item_details useIdColumns: true, + essentialOnly: true }, { alias: 'effective_location', type: 'entity-type', id: '74ddf1a6-19e0-4d63-baf0-cd2da9a46ca4', // simple_locations + essentialOnly: true, join: { type: 'left join', joinTo: 'items.item', @@ -24,6 +26,7 @@ alias: 'effective_call_number', type: 'entity-type', id: 'd9338ced-3e71-4f24-b605-7912d590f005', // simple_call_number_type + essentialOnly: true, join: { type: 'left join', joinTo: 'items.item', @@ -34,6 +37,7 @@ alias: 'item_level_call_number', type: 'entity-type', id: 'd9338ced-3e71-4f24-b605-7912d590f005', // simple_call_number_type + essentialOnly: true, join: { condition: "(:that.jsonb ->> 'itemLevelCallNumberTypeId')::uuid = :this.id", type: 'left join', @@ -44,6 +48,7 @@ alias: 'loclibrary', type: 'entity-type', id: '32f58888-1a7b-4840-98f8-cc69ca93fc67', // simple_loclibrary + essentialOnly: true, join: { type: 'left join', joinTo: 'effective_location.location', @@ -54,6 +59,7 @@ alias: 'permanent_location', type: 'entity-type', id: '74ddf1a6-19e0-4d63-baf0-cd2da9a46ca4', // simple_locations + essentialOnly: true, join: { joinTo: 'items.item', type: 'left join', @@ -64,6 +70,7 @@ alias: 'mtypes', type: 'entity-type', id: '8b1f51d6-8795-4113-a72e-3b7dc6cc6dfe', // simple_material_type_details + essentialOnly: true, join: { joinTo: 'items.item', type: 'left join', @@ -74,6 +81,7 @@ alias: 'temporary_location', type: 'entity-type', id: '74ddf1a6-19e0-4d63-baf0-cd2da9a46ca4', // simple_locations, + essentialOnly: true, join: { type: 'left join', joinTo: 'items.item', @@ -84,6 +92,7 @@ alias: 'holdings', type: 'entity-type', id: '30a5cfad-1868-4f46-86b9-a6ef67e2d9bf', // simple_holdings_records + essentialOnly: true, join: { joinTo: 'items.item', type: 'join', @@ -94,6 +103,7 @@ alias: 'instances', type: 'entity-type', id: '8fc4a9d2-7ccf-4233-afb8-796911839862', // simple_instances + essentialOnly: true, join: { type: 'join', condition: ":that.instanceid = :this.id", diff --git a/src/main/resources/entity-types/inventory/simple_call_number_type.json5 b/src/main/resources/entity-types/inventory/simple_call_number_type.json5 index 0c761cd9..57120d3b 100644 --- a/src/main/resources/entity-types/inventory/simple_call_number_type.json5 +++ b/src/main/resources/entity-types/inventory/simple_call_number_type.json5 @@ -22,6 +22,8 @@ isIdColumn: true, queryable: true, visibleByDefault: false, + hidden: true, + essential: true, valueGetter: ':sourceAlias.id', }, { @@ -32,6 +34,7 @@ }, queryable: true, visibleByDefault: false, + essential: true, valueGetter: ":sourceAlias.jsonb->>'name'", filterValueGetter: "lower(\ ${tenant_id}_mod_inventory_storage.f_unaccent (:sourceAlias.jsonb->>'name'::text)\ @@ -56,6 +59,7 @@ }, queryable: true, visibleByDefault: false, + hidden: true, valueGetter: ":sourceAlias.jsonb->>'source'", }, { @@ -66,6 +70,7 @@ }, queryable: true, visibleByDefault: false, + hidden: true, valueGetter: ":sourceAlias.jsonb->'metadata'->>'createdDate'", }, { @@ -76,6 +81,7 @@ }, queryable: true, visibleByDefault: false, + hidden: true, valueGetter: ":sourceAlias.jsonb->'metadata'->>'updatedDate'", }, { @@ -86,6 +92,7 @@ }, queryable: true, visibleByDefault: false, + hidden: true, valueGetter: ":sourceAlias.jsonb->'metadata'->>'createdByUserId'", }, { @@ -96,6 +103,7 @@ }, queryable: true, visibleByDefault: false, + hidden: true, valueGetter: ":sourceAlias.jsonb->'metadata'->>'updatedByUserId'", }, { @@ -106,6 +114,7 @@ }, queryable: true, visibleByDefault: false, + hidden: true, valueGetter: ":sourceAlias.jsonb->'metadata'->>'createdByUsername'", }, { @@ -116,6 +125,7 @@ }, queryable: true, visibleByDefault: false, + hidden: true, valueGetter: ":sourceAlias.jsonb->'metadata'->>'updatedByUsername'", }, { @@ -127,6 +137,7 @@ queryable: false, visibleByDefault: false, hidden: true, + essential: true, valueGetter: ":sourceAlias.jsonb::text", } ], diff --git a/src/main/resources/entity-types/inventory/simple_holdings_records.json5 b/src/main/resources/entity-types/inventory/simple_holdings_records.json5 index 1f6e6901..00275900 100644 --- a/src/main/resources/entity-types/inventory/simple_holdings_records.json5 +++ b/src/main/resources/entity-types/inventory/simple_holdings_records.json5 @@ -24,7 +24,8 @@ }, isIdColumn: true, queryable: true, - visibleByDefault: true, + visibleByDefault: false, + essential: true, valueGetter: ':sourceAlias.id', }, { @@ -36,7 +37,9 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, valueGetter: ':sourceAlias.created_by', + essential: true }, { name: 'created_at', @@ -48,6 +51,7 @@ queryable: true, visibleByDefault: true, valueGetter: ':sourceAlias.creation_date', + essential: true }, { name: 'updated_by', @@ -57,8 +61,10 @@ }, isIdColumn: false, queryable: true, - visibleByDefault: false, + visibleByDefault: true, + hidden: true, valueGetter: ":sourceAlias.jsonb->'metadata'->>'updatedByUserId'", + essential: true }, { name: 'updated_at', @@ -70,6 +76,7 @@ queryable: true, visibleByDefault: true, valueGetter: ":sourceAlias.jsonb->'metadata'->>'updatedDate'", + essential: true }, { name: 'version', @@ -81,6 +88,7 @@ queryable: true, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->>'_version'", + essential: true }, { name: 'hrid', @@ -92,6 +100,7 @@ queryable: true, visibleByDefault: true, valueGetter: ":sourceAlias.jsonb->>'hrid'", + essential: true, filterValueGetter: "lower(${tenant_id}_mod_inventory_storage.f_unaccent(:sourceAlias.jsonb ->> 'hrid'))", valueFunction: 'lower(${tenant_id}_mod_inventory_storage.f_unaccent(:value))' }, @@ -102,6 +111,9 @@ dataType: 'rangedUUIDType', }, valueGetter: ':sourceAlias.callnumbertypeid', + queryable: false, + visibleByDefault: false, + hidden: true }, { name: 'effective_location_id', @@ -125,7 +137,9 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, valueGetter: ':sourceAlias.holdingstypeid', + essential: true }, { name: 'ill_policy_id', @@ -148,6 +162,7 @@ queryable: true, visibleByDefault: false, valueGetter: ':sourceAlias.instanceid', + essential: true, }, { name: 'permanent_location_id', @@ -156,9 +171,11 @@ dataType: 'rangedUUIDType', }, isIdColumn: false, + hidden: true, queryable: true, visibleByDefault: false, valueGetter: ':sourceAlias.permanentlocationid', + essential: true }, { name: 'temporary_location_id', @@ -169,7 +186,9 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, valueGetter: ':sourceAlias.temporarylocationid', + essential: true }, { name: 'source_id', @@ -180,7 +199,9 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, valueGetter: ':sourceAlias.sourceid', + essential: true }, { name: 'call_number', @@ -192,6 +213,7 @@ queryable: true, visibleByDefault: true, valueGetter: ":sourceAlias.jsonb->>'callNumber'", + essential: true }, { name: 'former_ids', @@ -205,6 +227,7 @@ isIdColumn: false, queryable: false, visibleByDefault: false, + essential: true, valueGetter: "(\ SELECT\ array_agg(el::text)\ @@ -227,8 +250,9 @@ }, isIdColumn: false, queryable: true, - visibleByDefault: true, + visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->>'callNumberPrefix'", + essential: true }, { name: 'call_number_suffix', @@ -238,8 +262,9 @@ }, isIdColumn: false, queryable: true, - visibleByDefault: true, + visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->>'callNumberSuffix'", + essential: true }, { name: 'discovery_suppress', @@ -249,6 +274,7 @@ }, isIdColumn: false, queryable: true, + essential: true, visibleByDefault: true, valueGetter: ":sourceAlias.jsonb->>'discoverySuppress'", filterValueGetter: "COALESCE(\ @@ -269,6 +295,7 @@ { name: 'statistical_code_ids', sourceAlias: 'hrd', + essential: true, dataType: { dataType: 'arrayType', itemDataType: { @@ -295,6 +322,7 @@ { name: 'statistical_code_names', sourceAlias: 'hrd', + essential: true, dataType: { dataType: 'arrayType', itemDataType: { @@ -315,6 +343,7 @@ { name: 'holdings_statements', sourceAlias: 'hrd', + essential: true, dataType: { dataType: 'arrayType', itemDataType: { @@ -375,6 +404,7 @@ { name: 'holdings_statements_for_indexes', sourceAlias: 'hrd', + essential: true, dataType: { dataType: 'arrayType', itemDataType: { @@ -434,6 +464,7 @@ }, { name: 'holdings_statements_for_supplements', + essential: true, sourceAlias: 'hrd', dataType: { dataType: 'arrayType', @@ -544,23 +575,13 @@ filterValueGetter: "( SELECT array_agg(lower(elems.value->>'publicNote')) FROM jsonb_array_elements(:sourceAlias.jsonb->'electronicAccess') AS elems)", valueFunction: 'lower(:value)', }, - { - name: 'relationship_id', - property: 'relationshipId', - dataType: { - dataType: 'stringType', - }, - queryable: false, - valueGetter: "( SELECT array_agg(elems.value->>'relationshipId') FROM jsonb_array_elements(:sourceAlias.jsonb->'electronicAccess') AS elems)", - filterValueGetter: "( SELECT array_agg(lower(elems.value->>'relationshipId')) FROM jsonb_array_elements(:sourceAlias.jsonb->'electronicAccess') AS elems)", - valueFunction: 'lower(:value)', - }, ], }, }, isIdColumn: false, queryable: false, visibleByDefault: false, + essential: true, valueGetter: ":sourceAlias.jsonb->>'electronicAccess'", }, { @@ -573,6 +594,7 @@ queryable: true, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->>'shelvingTitle'", + essential: true }, { name: 'acquisition_format', @@ -583,6 +605,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + essential: true, valueGetter: ":sourceAlias.jsonb->>'acquisitionFormat'", }, { @@ -594,6 +617,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + essential: true, valueGetter: ":sourceAlias.jsonb->>'acquisitionMethod'", }, { @@ -606,6 +630,7 @@ queryable: true, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->>'receiptStatus'", + essential: true }, { name: 'retention_policy', @@ -617,6 +642,7 @@ queryable: true, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->>'retentionPolicy'", + essential: true }, { name: 'digitization_policy', @@ -628,6 +654,7 @@ queryable: true, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->>'digitizationPolicy'", + essential: true }, { name: 'copy_number', @@ -639,6 +666,7 @@ queryable: true, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->>'copyNumber'", + essential: true, }, { name: 'number_of_items', @@ -650,81 +678,13 @@ queryable: true, visibleByDefault: false, valueGetter: "(:sourceAlias.jsonb->>'numberOfItems')::float", - valueFunction: '(:value)::float' - }, - { - name: 'receiving_history_display_type', - sourceAlias: 'hrd', - dataType: { - dataType: 'stringType', - }, - isIdColumn: false, - queryable: true, - visibleByDefault: false, - valueGetter: ":sourceAlias.jsonb->'receivingHistory'->>'displayType'", - }, - { - name: 'receiving_history_entries', - sourceAlias: 'hrd', - dataType: { - dataType: 'arrayType', - itemDataType: { - dataType: 'objectType', - properties: [ - { - name: 'public_display', - property: 'publicDisplay', - dataType: { - dataType: 'booleanType', - }, - queryable: false, - valueGetter: "( SELECT array_agg(elems.value->>'publicDisplay') FROM jsonb_array_elements(:sourceAlias.jsonb->'receivingHistory'->'entries') AS elems)", - filterValueGetter: "( SELECT array_agg(lower(elems.value->>'publicDisplay')) FROM jsonb_array_elements(:sourceAlias.jsonb->'receivingHistory'->'entries') AS elems)", - valueFunction: 'lower(:value)', - values: [ - { - value: 'true', - label: 'True', - }, - { - value: 'false', - label: 'False', - }, - ], - }, - { - name: 'enumeration', - property: 'enumeration', - dataType: { - dataType: 'stringType', - }, - queryable: false, - valueGetter: "( SELECT array_agg(elems.value->>'enumeration') FROM jsonb_array_elements(:sourceAlias.jsonb->'receivingHistory'->'entries') AS elems)", - filterValueGetter: "( SELECT array_agg(lower(elems.value->>'enumeration')) FROM jsonb_array_elements(:sourceAlias.jsonb->'receivingHistory'->'entries') AS elems)", - valueFunction: 'lower(:value)', - }, - { - name: 'chronology', - property: 'chronology', - dataType: { - dataType: 'stringType', - }, - queryable: false, - valueGetter: "( SELECT array_agg(elems.value->>'chronology') FROM jsonb_array_elements(:sourceAlias.jsonb->'receivingHistory'->'entries') AS elems)", - filterValueGetter: "( SELECT array_agg(lower(elems.value->>'chronology')) FROM jsonb_array_elements(:sourceAlias.jsonb->'receivingHistory'->'entries') AS elems)", - valueFunction: 'lower(:value)', - }, - ], - }, - }, - isIdColumn: false, - queryable: false, - visibleByDefault: false, - valueGetter: ":sourceAlias.jsonb->'receivingHistory'->>'entries'", + valueFunction: '(:value)::float', + essential: true }, { name: 'administrative_notes', sourceAlias: 'hrd', + essential: true, dataType: { dataType: 'arrayType', itemDataType: { @@ -749,6 +709,7 @@ }, { name: 'tags', + essential: true, sourceAlias: 'hrd', dataType: { dataType: 'arrayType', @@ -758,7 +719,7 @@ }, isIdColumn: false, queryable: false, - visibleByDefault: false, + visibleByDefault: true, valueGetter: "(\ SELECT\ array_agg(elems.value::text) FILTER (\ @@ -782,22 +743,12 @@ { name: 'notes', sourceAlias: 'hrd', + essential: true, dataType: { dataType: 'arrayType', itemDataType: { dataType: 'objectType', properties: [ - { - name: 'holdings_note_type_id', - property: 'holdingsNoteTypeId', - dataType: { - dataType: 'rangedUUIDType', - }, - queryable: false, - valueGetter: "( SELECT array_agg(elems.value->>'holdingsNoteTypeId') FROM jsonb_array_elements(:sourceAlias.jsonb->'notes') AS elems)", - filterValueGetter: "( SELECT array_agg(lower(elems.value->>'holdingsNoteTypeId')) FROM jsonb_array_elements(:sourceAlias.jsonb->'notes') AS elems)", - valueFunction: 'lower(:value)', - }, { name: 'note', property: 'note', @@ -866,6 +817,7 @@ queryable: false, hidden: true, visibleByDefault: false, + essential: true, valueGetter: ":sourceAlias.jsonb::text", } ], diff --git a/src/main/resources/entity-types/inventory/simple_instance.json5 b/src/main/resources/entity-types/inventory/simple_instance.json5 index b9afcf9e..eb196f14 100644 --- a/src/main/resources/entity-types/inventory/simple_instance.json5 +++ b/src/main/resources/entity-types/inventory/simple_instance.json5 @@ -31,6 +31,7 @@ }, ], requiredPermissions: [ + 'inventory-storage.classification-types.collection.get', 'inventory-storage.instances.item.get', 'inventory-storage.contributor-name-types.collection.get', 'inventory-storage.contributor-types.collection.get', @@ -46,7 +47,7 @@ }, isIdColumn: true, queryable: true, - visibleByDefault: true, + visibleByDefault: false, essential: true, valueGetter: ':sourceAlias.id', }, @@ -98,7 +99,7 @@ }, isIdColumn: false, queryable: true, - visibleByDefault: true, + visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->'metadata'->>'updatedDate'", essential: true, filterValueGetter: "\"left\"(lower((:sourceAlias.jsonb -> 'metadata'::text) ->> 'updatedDate'::text), 600)", @@ -155,7 +156,7 @@ dataType: 'stringType', }, queryable: true, - visibleByDefault: false, + visibleByDefault: true, essential: true, valueGetter: ":sourceAlias.jsonb->>'name'", filterValueGetter: "lower(${tenant_id}_mod_inventory_storage.f_unaccent(:sourceAlias.jsonb->>'name'::text))", @@ -211,7 +212,7 @@ }, isIdColumn: false, queryable: true, - visibleByDefault: true, + visibleByDefault: false, essential: true, valueGetter: ":inst.jsonb->>'source'", filterValueGetter: "\"left\"(lower(:inst.jsonb ->> 'source'::text), 600)", @@ -269,7 +270,7 @@ } }, sourceAlias: "inst", - queryable: true, + queryable: false, essential: true, visibleByDefault: false, valueGetter: "( SELECT array_agg(elems.value->>'alternativeTitle') FROM jsonb_array_elements(:sourceAlias.jsonb->'alternativeTitles') AS elems)", @@ -349,17 +350,17 @@ filterValueGetter: "( SELECT array_agg(lower(elems.value->>'value')) FROM jsonb_array_elements(:sourceAlias.jsonb->'identifiers') AS elems)", valueFunction: 'lower(:value)', }, - { - name: 'identifier_type_id', - property: 'identifierTypeId', - dataType: { - dataType: 'stringType', - }, - queryable: false, - valueGetter: "( SELECT array_agg(elems.value->>'identifierTypeId') FROM jsonb_array_elements(:sourceAlias.jsonb->'identifiers') AS elems)", - filterValueGetter: "( SELECT array_agg(lower(elems.value->>'identifierTypeId')) FROM jsonb_array_elements(:sourceAlias.jsonb->'identifiers') AS elems)", - valueFunction: 'lower(:value)', - }, +// { +// name: 'identifier_type_id', +// property: 'identifierTypeId', +// dataType: { +// dataType: 'stringType', +// }, +// queryable: false, +// valueGetter: "( SELECT array_agg(elems.value->>'identifierTypeId') FROM jsonb_array_elements(:sourceAlias.jsonb->'identifiers') AS elems)", +// filterValueGetter: "( SELECT array_agg(lower(elems.value->>'identifierTypeId')) FROM jsonb_array_elements(:sourceAlias.jsonb->'identifiers') AS elems)", +// valueFunction: 'lower(:value)', +// }, ], }, }, @@ -378,11 +379,11 @@ }, }, isIdColumn: false, - queryable: true, + queryable: false, essential: true, - visibleByDefault: false, - valueGetter: "( SELECT array_agg(elems.value->>'name') FROM jsonb_array_elements(:sourceAlias.jsonb->'contributors') AS elems)", - filterValueGetter: "( SELECT array_agg(lower(elems.value->>'name')) FROM jsonb_array_elements(:sourceAlias.jsonb->'contributors') AS elems)", + visibleByDefault: true, + valueGetter: "( SELECT array_agg(elems.value->>'name') FILTER (WHERE (elems.value->>'name') IS NOT NULL) AS array_agg FROM jsonb_array_elements(:sourceAlias.jsonb->'contributors') AS elems)", + filterValueGetter: "( SELECT array_agg(lower(elems.value->>'name')) FILTER (WHERE (elems.value->>'name') IS NOT NULL) AS array_agg FROM jsonb_array_elements(:sourceAlias.jsonb->'contributors') AS elems)", valueFunction: 'lower(:value)' }, { @@ -398,12 +399,12 @@ essential: true, visibleByDefault: false, hidden: true, - valueGetter: "( SELECT array_agg(elems.value->>'contributorTypeId') FROM jsonb_array_elements(:sourceAlias.jsonb->'contributors') AS elems)", - filterValueGetter: "( SELECT array_agg(lower(elems.value->>'contributorTypeId')) FROM jsonb_array_elements(:sourceAlias.jsonb->'contributors') AS elems)", + valueGetter: "( SELECT array_agg(elems.value->>'contributorTypeId' ORDER BY elems.value->>'contributorTypeId') FROM jsonb_array_elements(:sourceAlias.jsonb->'contributors') AS elems)", + filterValueGetter: "( SELECT array_agg(lower(elems.value->>'contributorTypeId') ORDER BY elems.value->>'contributorTypeId') FROM jsonb_array_elements(:sourceAlias.jsonb->'contributors') AS elems)", valueFunction: 'lower(:value)' }, { - name: 'contributor_type_text', + name: 'contributor_type', sourceAlias: 'inst', dataType: { dataType: 'arrayType', @@ -415,9 +416,22 @@ queryable: true, essential: true, visibleByDefault: false, - valueGetter: "( SELECT array_agg(elems.value->>'contributorTypeText') FROM jsonb_array_elements(:sourceAlias.jsonb->'contributors') AS elems)", - filterValueGetter: "( SELECT array_agg(lower(elems.value->>'contributorTypeText')) FROM jsonb_array_elements(:sourceAlias.jsonb->'contributors') AS elems)", - valueFunction: 'lower(:value)' + valueGetter: "(SELECT array_agg(contributor_type.jsonb ->> 'name' ORDER BY record.value ->> 'contributorTypeId') \ + FILTER (WHERE (contributor_type.jsonb ->> 'name') IS NOT NULL) AS array_agg \ + FROM jsonb_array_elements((:sourceAlias.jsonb -> 'contributors')) record(value) \ + JOIN src_inventory_contributor_type contributor_type ON (record.value ->> 'contributorTypeId') = contributor_type.id::text\ + )", + valueFunction: 'lower(:value)', + idColumnName: 'contributor_type_id', + source: { + columnName: 'contributor_type', + entityTypeId: '8fc4a9d2-7ccf-4233-afb8-796911839862', + }, + valueSourceApi: { + path: 'contributor-types', + valueJsonPath: '$.contributorTypes.*.id', + labelJsonPath: '$.contributorTypes.*.name', + } }, { name: "contributor_name_type_id", @@ -432,8 +446,8 @@ essential: true, visibleByDefault: false, hidden: true, - valueGetter: "( SELECT array_agg(elems.value->>'contributorNameTypeId') FROM jsonb_array_elements(:sourceAlias.jsonb->'contributors') AS elems)", - filterValueGetter: "( SELECT array_agg(lower(elems.value->>'contributorNameTypeId')) FROM jsonb_array_elements(:sourceAlias.jsonb->'contributors') AS elems)", + valueGetter: "( SELECT array_agg(elems.value->>'contributorNameTypeId' ORDER BY elems.value->>'contributorNameTypeId') FROM jsonb_array_elements(:sourceAlias.jsonb->'contributors') AS elems)", + filterValueGetter: "( SELECT array_agg(lower(elems.value->>'contributorNameTypeId') ORDER BY elems.value->>'contributorNameTypeId') FROM jsonb_array_elements(:sourceAlias.jsonb->'contributors') AS elems)", valueFunction: 'lower(:value)' }, { @@ -448,9 +462,22 @@ queryable: true, essential: true, visibleByDefault: false, + idColumnName: 'contributor_name_type_id', valueFunction: "lower(:value)", - valueGetter: "(SELECT array_agg(a.jsonb ->> 'name') FILTER (WHERE (a.jsonb ->> 'name') IS NOT NULL) AS array_agg FROM jsonb_array_elements((:sourceAlias.jsonb -> 'contributors') -> 'contributorNameTypeId') AS record(value) JOIN src_inventory_contributor_name_type a ON (record.value::text) = a.id::text)", - filterValueGetter: "( SELECT array_agg(lower(a.jsonb ->> 'name'::text)) FILTER (WHERE (a.jsonb ->> 'name'::text) IS NOT NULL) AS array_agg FROM jsonb_array_elements_text((:sourceAlias.jsonb -> 'contributors'::text) ->> 'contributorNameTypeId'::text) record(value) JOIN src_inventory_contributor_name_type a ON (record.value::text) = a.id::text)", + valueGetter: "(SELECT array_agg(contributor_name_type.jsonb ->> 'name' ORDER BY record.value ->> 'contributorNameTypeId') \ + FILTER (WHERE (contributor_name_type.jsonb ->> 'name') IS NOT NULL) AS array_agg \ + FROM jsonb_array_elements((:sourceAlias.jsonb -> 'contributors')) record(value) \ + JOIN src_inventory_contributor_name_type contributor_name_type ON (record.value ->> 'contributorNameTypeId') = contributor_name_type.id::text\ + )", + source: { + columnName: 'contributor_name_type', + entityTypeId: '8fc4a9d2-7ccf-4233-afb8-796911839862', + }, + valueSourceApi: { + path: 'contributor-name-types', + valueJsonPath: '$.contributorNameTypes.*.id', + labelJsonPath: '$.contributorNameTypes.*.name', + } }, { name: "instance_primary_contributor", @@ -493,43 +520,66 @@ valueFunction: 'lower(:value)', }, { - name: 'classifications', + name: 'classification_type_ids', sourceAlias: 'inst', - essential: true, dataType: { dataType: 'arrayType', itemDataType: { - dataType: 'objectType', - properties: [ - { - name: 'number', - property: 'classificationNumber', - dataType: { - dataType: 'stringType', - }, - queryable: false, - valueGetter: "( SELECT array_agg(elems.value->>'classificationNumber') FROM jsonb_array_elements(:sourceAlias.jsonb->'classifications') AS elems)", - filterValueGetter: "( SELECT array_agg(lower(elems.value->>'classificationNumber')) FROM jsonb_array_elements(:sourceAlias.jsonb->'classifications') AS elems)", - valueFunction: 'lower(:value)', - }, - { - name: 'type_id', - property: 'classificationTypeId', - dataType: { - dataType: 'rangedUUIDType', - }, - queryable: false, - valueGetter: "( SELECT array_agg(elems.value->>'classificationTypeId') FROM jsonb_array_elements(:sourceAlias.jsonb->'classifications') AS elems)", - filterValueGetter: "( SELECT array_agg(lower(elems.value->>'classificationTypeId')) FROM jsonb_array_elements(:sourceAlias.jsonb->'classifications') AS elems)", - valueFunction: 'lower(:value)', - }, - ], + dataType: 'rangedUUIDType', }, }, isIdColumn: false, - queryable: false, + queryable: true, visibleByDefault: false, - valueGetter: ":sourceAlias.jsonb->>'classifications'", + essential: true, + hidden: true, + valueGetter: + "(SELECT array_agg(elems.value->>'classificationTypeId' ORDER BY elems.value->>'classificationTypeId') \ + FROM jsonb_array_elements(:sourceAlias.jsonb->'classifications') AS elems \ + )", + filterValueGetter: + "(SELECT array_agg(lower(elems.value->>'classificationTypeId') ORDER BY elems.value->>'classificationTypeId') \ + FROM jsonb_array_elements(:sourceAlias.jsonb->'classifications') AS elems \ + )" + }, + { + name: 'classification_type_names', + sourceAlias: 'inst', + essential: true, + dataType: { + dataType: 'arrayType', + itemDataType: { + dataType: 'stringType', + }, + }, + idColumnName: 'classification_type_ids', + queryable: true, + visibleByDefault: false, + valueGetter: + "(SELECT array_agg(class_type.jsonb ->> 'name' ORDER BY record.value ->> 'classificationTypeId') \ + FILTER (WHERE (class_type.jsonb ->> 'name') IS NOT NULL) AS array_agg \ + FROM jsonb_array_elements((:sourceAlias.jsonb -> 'classifications')) record(value) \ + JOIN src_inventory_classification_type class_type \ + ON (record.value ->> 'classificationTypeId') = class_type.id::text \ + )" + }, + { + name: 'classification_numbers', + sourceAlias: 'inst', + essential: true, + dataType: { + dataType: 'arrayType', + itemDataType: { + dataType: 'stringType', + }, + }, + queryable: true, + visibleByDefault: false, + valueGetter: + "(SELECT array_agg(record.value ->> 'classificationNumber' ORDER BY record.value ->> 'classificationTypeId') \ + FILTER (WHERE (record.value ->> 'classificationNumber') IS NOT NULL) AS array_agg \ + FROM jsonb_array_elements((:sourceAlias.jsonb -> 'classifications')) record(value) \ + )", }, { name: 'publication', @@ -644,19 +694,31 @@ )", }, { - name: 'publication_period_start', + name: 'instance_date_1', sourceAlias: 'inst', essential: true, dataType: { - dataType: 'integerType', + dataType: 'stringType', + }, + isIdColumn: false, + queryable: true, + visibleByDefault: false, + valueGetter: ":sourceAlias.jsonb->'dates'->>'date1'", + }, + { + name: 'instance_date_2', + sourceAlias: 'inst', + essential: true, + dataType: { + dataType: 'stringType', }, isIdColumn: false, queryable: true, visibleByDefault: false, - valueGetter: ":sourceAlias.jsonb->'publicationPeriod'->>'start'", + valueGetter: ":sourceAlias.jsonb->'dates'->>'date1'", }, { - name: 'publication_period_end', + name: 'instance_date_type_id', sourceAlias: 'inst', essential: true, dataType: { @@ -664,8 +726,9 @@ }, isIdColumn: false, queryable: true, + hidden: true, visibleByDefault: false, - valueGetter: ":sourceAlias.jsonb->'publicationPeriod'->>'end'", + valueGetter: ":sourceAlias.jsonb->'date'->>'dateTypeId'", }, { name: 'electronic_access', @@ -720,17 +783,17 @@ filterValueGetter: "( SELECT array_agg(lower(elems.value->>'publicNote')) FROM jsonb_array_elements(:sourceAlias.jsonb->'electronicAccess') AS elems)", valueFunction: 'lower(:value)', }, - { - name: 'relationship_id', - property: 'relationshipId', - dataType: { - dataType: 'rangedUUIDType', - }, - queryable: false, - valueGetter: "( SELECT array_agg(elems.value->>'relationshipId') FROM jsonb_array_elements(:sourceAlias.jsonb->'electronicAccess') AS elems)", - filterValueGetter: "( SELECT array_agg(lower(elems.value->>'relationshipId')) FROM jsonb_array_elements(:sourceAlias.jsonb->'electronicAccess') AS elems)", - valueFunction: 'lower(:value)', - }, +// { +// name: 'relationship_id', +// property: 'relationshipId', +// dataType: { +// dataType: 'rangedUUIDType', +// }, +// queryable: false, +// valueGetter: "( SELECT array_agg(elems.value->>'relationshipId') FROM jsonb_array_elements(:sourceAlias.jsonb->'electronicAccess') AS elems)", +// filterValueGetter: "( SELECT array_agg(lower(elems.value->>'relationshipId')) FROM jsonb_array_elements(:sourceAlias.jsonb->'electronicAccess') AS elems)", +// valueFunction: 'lower(:value)', +// }, ], }, }, @@ -743,6 +806,7 @@ name: 'instance_format_ids', sourceAlias: 'inst', essential: true, + hidden: true, dataType: { dataType: 'arrayType', itemDataType: { @@ -827,23 +891,25 @@ }, }, isIdColumn: false, - queryable: false, + queryable: true, visibleByDefault: false, valueGetter: "(\ SELECT\ array_agg(elems.value::text)\ FROM\ - jsonb_array_elements(:sourceAlias.jsonb->'languages') AS elems\ + jsonb_array_elements_text(:sourceAlias.jsonb->'languages') AS elems\ )", filterValueGetter: "(\ SELECT\ array_agg(lower(elems.value::text))\ FROM\ - jsonb_array_elements(:sourceAlias.jsonb->'languages') AS elems\ + jsonb_array_elements_text(:sourceAlias.jsonb->'languages') AS elems\ )", source: { - entityTypeId: 'a435d29f-ff11-4b7a-8a5f-3c5505452208', + entityTypeId: '8fc4a9d2-7ccf-4233-afb8-796911839862', columnName: 'languages', + type: 'fqm', + name: 'languages', }, }, { @@ -855,17 +921,17 @@ itemDataType: { dataType: 'objectType', properties: [ - { - name: 'instance_note_type_id', - property: 'instanceNoteTypeId', - dataType: { - dataType: 'rangedUUIDType', - }, - queryable: false, - valueGetter: "( SELECT array_agg(elems.value->>'instanceNoteTypeId') FROM jsonb_array_elements(:sourceAlias.jsonb->'notes') AS elems)", - filterValueGetter: "( SELECT array_agg(lower(elems.value->>'instanceNoteTypeId')) FROM jsonb_array_elements(:sourceAlias.jsonb->'notes') AS elems)", - valueFunction: 'lower(:value)', - }, +// { +// name: 'instance_note_type_id', +// property: 'instanceNoteTypeId', +// dataType: { +// dataType: 'rangedUUIDType', +// }, +// queryable: false, +// valueGetter: "( SELECT array_agg(elems.value->>'instanceNoteTypeId') FROM jsonb_array_elements(:sourceAlias.jsonb->'notes') AS elems)", +// filterValueGetter: "( SELECT array_agg(lower(elems.value->>'instanceNoteTypeId')) FROM jsonb_array_elements(:sourceAlias.jsonb->'notes') AS elems)", +// valueFunction: 'lower(:value)', +// }, { name: 'note', property: 'note', @@ -997,7 +1063,7 @@ }, isIdColumn: false, queryable: true, - visibleByDefault: false, + visibleByDefault: true, valueGetter: ":sourceAlias.jsonb->>'discoverySuppress'", filterValueGetter: '"left"(lower(:sourceAlias.jsonb ->> \'discoverySuppress\'::text), 600)', valueFunction: '"left"(lower(:value), 600)', @@ -1126,6 +1192,7 @@ }, isIdColumn: false, queryable: false, + hidden: true, visibleByDefault: false, valueGetter: "(\ SELECT\ diff --git a/src/main/resources/entity-types/inventory/simple_item_details.json5 b/src/main/resources/entity-types/inventory/simple_item_details.json5 index 887dae6b..8acc1ebb 100644 --- a/src/main/resources/entity-types/inventory/simple_item_details.json5 +++ b/src/main/resources/entity-types/inventory/simple_item_details.json5 @@ -22,6 +22,8 @@ isIdColumn: true, queryable: true, visibleByDefault: false, + essential: true, + hidden: true, valueGetter: ':sourceAlias.id', }, { @@ -40,6 +42,7 @@ { name: 'notes', sourceAlias: 'item', + essential: true, dataType: { dataType: 'arrayType', itemDataType: { @@ -77,17 +80,17 @@ filterValueGetter: "( SELECT array_agg(lower(elems.value->>'staffOnly')) FROM jsonb_array_elements(:sourceAlias.jsonb->'notes') AS elems)", valueFunction: 'lower(:value)', }, - { - name: 'item_note_type_id', - property: 'itemNoteTypeId', - dataType: { - dataType: 'stringType', - }, - queryable: false, - valueGetter: "( SELECT array_agg(elems.value->>'itemNoteTypeId') FROM jsonb_array_elements(:sourceAlias.jsonb->'notes') AS elems)", - filterValueGetter: "( SELECT array_agg(lower(elems.value->>'itemNoteTypeId')) FROM jsonb_array_elements(:sourceAlias.jsonb->'notes') AS elems)", - valueFunction: 'lower(:value)', - }, +// { +// name: 'item_note_type_id', +// property: 'itemNoteTypeId', +// dataType: { +// dataType: 'stringType', +// }, +// queryable: false, +// valueGetter: "( SELECT array_agg(elems.value->>'itemNoteTypeId') FROM jsonb_array_elements(:sourceAlias.jsonb->'notes') AS elems)", +// filterValueGetter: "( SELECT array_agg(lower(elems.value->>'itemNoteTypeId')) FROM jsonb_array_elements(:sourceAlias.jsonb->'notes') AS elems)", +// valueFunction: 'lower(:value)', +// }, ], }, }, @@ -115,7 +118,8 @@ }, isIdColumn: false, queryable: true, - visibleByDefault: false, + essential: true, + visibleByDefault: true, valueGetter: ":sourceAlias.jsonb->'status'->>'name'", filterValueGetter: "\"left\"(lower(${tenant_id}_mod_inventory_storage.f_unaccent((:sourceAlias.jsonb -> 'status'::text) ->> 'name'::text)), 600)", valueFunction: '"left"(lower(${tenant_id}_mod_inventory_storage.f_unaccent(:value)), 600)', @@ -214,6 +218,7 @@ }, isIdColumn: false, queryable: true, + essential: true, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->>'barcode'", filterValueGetter: "lower(:sourceAlias.jsonb ->> 'barcode'::text)", @@ -228,6 +233,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + essential: true, valueGetter: "(:sourceAlias.jsonb->>'_version')::integer", valueFunction: '(:value)::integer', }, @@ -240,6 +246,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + essential: true, valueGetter: ":sourceAlias.jsonb->'metadata'->>'createdDate'", }, { @@ -250,12 +257,14 @@ }, isIdColumn: false, queryable: true, - visibleByDefault: false, + visibleByDefault: true, + essential: true, valueGetter: ":sourceAlias.jsonb->'metadata'->>'updatedDate'", }, { name: 'updated_by_user_id', sourceAlias: 'item', + hidden: true, dataType: { dataType: 'rangedUUIDType', }, @@ -273,6 +282,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, valueGetter: ":sourceAlias.jsonb->'metadata'->>'createdByUserId'", }, { @@ -308,8 +318,9 @@ }, isIdColumn: false, queryable: true, - visibleByDefault: false, + visibleByDefault: true, valueGetter: ":sourceAlias.jsonb->>'copyNumber'", + essential: true }, { name: 'year_caption', @@ -345,27 +356,30 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + essential: true, + hidden: true, valueGetter: ":sourceAlias.materialtypeid", }, { name: 'circulation_notes', + essential: true, sourceAlias: 'item', dataType: { dataType: 'arrayType', itemDataType: { dataType: 'objectType', properties: [ - { - name: 'id', - property: 'id', - dataType: { - dataType: 'stringType', - }, - queryable: false, - valueGetter: "( SELECT array_agg(elems.value->>'id') FROM jsonb_array_elements(:sourceAlias.jsonb->'circulationNotes') AS elems)", - filterValueGetter: "( SELECT array_agg(lower(elems.value->>'id')) FROM jsonb_array_elements(:sourceAlias.jsonb->'circulationNotes') AS elems)", - valueFunction: 'lower(:value)', - }, +// { +// name: 'id', +// property: 'id', +// dataType: { +// dataType: 'stringType', +// }, +// queryable: false, +// valueGetter: "( SELECT array_agg(elems.value->>'id') FROM jsonb_array_elements(:sourceAlias.jsonb->'circulationNotes') AS elems)", +// filterValueGetter: "( SELECT array_agg(lower(elems.value->>'id')) FROM jsonb_array_elements(:sourceAlias.jsonb->'circulationNotes') AS elems)", +// valueFunction: 'lower(:value)', +// }, { name: 'date', property: 'date', @@ -426,17 +440,17 @@ dataType: { dataType: 'objectType', properties: [ - { - name: 'id', - property: 'id', - dataType: { - dataType: 'stringType', - }, - queryable: false, - valueGetter: "( SELECT array_agg(elems.value->>'id') FROM jsonb_array_elements(:sourceAlias.jsonb->'circulationNotes'->'source') AS elems)", - filterValueGetter: "( SELECT array_agg(lower(elems.value->>'id')) FROM jsonb_array_elements(:sourceAlias.jsonb->'circulationNotes'->'source') AS elems)", - valueFunction: 'lower(:value)', - }, +// { +// name: 'id', +// property: 'id', +// dataType: { +// dataType: 'stringType', +// }, +// queryable: false, +// valueGetter: "( SELECT array_agg(elems.value->>'id') FROM jsonb_array_elements(:sourceAlias.jsonb->'circulationNotes'->'source') AS elems)", +// filterValueGetter: "( SELECT array_agg(lower(elems.value->>'id')) FROM jsonb_array_elements(:sourceAlias.jsonb->'circulationNotes'->'source') AS elems)", +// valueFunction: 'lower(:value)', +// }, { name: 'personal', property: 'personal', @@ -489,6 +503,7 @@ }, { name: 'electronic_access', + essential: true, sourceAlias: 'item', dataType: { dataType: 'arrayType', @@ -517,17 +532,6 @@ filterValueGetter: "( SELECT array_agg(lower(elems.value->>'linkText')) FROM jsonb_array_elements(:sourceAlias.jsonb->'electronicAccess') AS elems)", valueFunction: 'lower(:value)', }, - { - name: 'relationship_id', - property: 'relationshipId', - dataType: { - dataType: 'stringType', - }, - queryable: false, - valueGetter: "( SELECT array_agg(elems.value->>'relationshipId') FROM jsonb_array_elements(:sourceAlias.jsonb->'electronicAccess') AS elems)", - filterValueGetter: "( SELECT array_agg(lower(elems.value->>'relationshipId')) FROM jsonb_array_elements(:sourceAlias.jsonb->'electronicAccess') AS elems)", - valueFunction: 'lower(:value)', - }, ], }, }, @@ -545,6 +549,8 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + essential: true, + hidden: true, valueGetter: ":sourceAlias.holdingsrecordid", }, { @@ -557,6 +563,8 @@ }, }, isIdColumn: false, + essential: true, + hidden: true, queryable: true, visibleByDefault: false, valueGetter: "(\ @@ -597,6 +605,7 @@ { name: 'administrative_notes', sourceAlias: 'item', + essential: true, dataType: { dataType: 'arrayType', itemDataType: { @@ -628,6 +637,8 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, + essential: true, valueGetter: ":sourceAlias.effectivelocationid", }, { @@ -639,6 +650,8 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + essential: true, + hidden: true, valueGetter: ":sourceAlias.jsonb->>'permanentLoanTypeId'", }, { @@ -650,6 +663,8 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + essential: true, + hidden: true, valueGetter: ":sourceAlias.jsonb->>'itemLevelCallNumberTypeId'", }, { @@ -658,54 +673,55 @@ dataType: { dataType: 'stringType', }, + essential: true, queryable: true, visibleByDefault: true, valueGetter: "concat_ws(', '::text, NULLIF((:sourceAlias.jsonb -> 'effectiveCallNumberComponents'::text) ->> 'prefix'::text, ''::text), NULLIF((:sourceAlias.jsonb -> 'effectiveCallNumberComponents'::text) ->> 'callNumber'::text, ''::text), NULLIF((:sourceAlias.jsonb -> 'effectiveCallNumberComponents'::text) ->> 'suffix'::text, ''::text), NULLIF(:sourceAlias.jsonb ->> 'copyNumber'::text, ''::text))", }, - { - name: 'effective_call_number_components_prefix', - sourceAlias: 'item', - dataType: { - dataType: 'stringType', - }, - isIdColumn: false, - queryable: true, - visibleByDefault: false, - valueGetter: ":sourceAlias.jsonb->'effectiveCallNumberComponents'->>'prefix'", - }, - { - name: 'effective_call_number_components_suffix', - sourceAlias: 'item', - dataType: { - dataType: 'stringType', - }, - isIdColumn: false, - queryable: true, - visibleByDefault: false, - valueGetter: ":sourceAlias.jsonb->'effectiveCallNumberComponents'->>'suffix'", - }, - { - name: 'effective_call_number_components_type_id', - sourceAlias: 'item', - dataType: { - dataType: 'rangedUUIDType', - }, - isIdColumn: false, - queryable: true, - visibleByDefault: false, - valueGetter: ":sourceAlias.jsonb->'effectiveCallNumberComponents'->>'typeId'", - }, - { - name: 'effective_call_number_components_call_number', - sourceAlias: 'item', - dataType: { - dataType: 'stringType', - }, - isIdColumn: false, - queryable: true, - visibleByDefault: false, - valueGetter: ":sourceAlias.jsonb->'effectiveCallNumberComponents'->>'callNumber'", - }, +// { +// name: 'effective_call_number_components_prefix', +// sourceAlias: 'item', +// dataType: { +// dataType: 'stringType', +// }, +// isIdColumn: false, +// queryable: true, +// visibleByDefault: false, +// valueGetter: ":sourceAlias.jsonb->'effectiveCallNumberComponents'->>'prefix'", +// }, +// { +// name: 'effective_call_number_components_suffix', +// sourceAlias: 'item', +// dataType: { +// dataType: 'stringType', +// }, +// isIdColumn: false, +// queryable: true, +// visibleByDefault: false, +// valueGetter: ":sourceAlias.jsonb->'effectiveCallNumberComponents'->>'suffix'", +// }, +// { +// name: 'effective_call_number_components_type_id', +// sourceAlias: 'item', +// dataType: { +// dataType: 'rangedUUIDType', +// }, +// isIdColumn: false, +// queryable: true, +// visibleByDefault: false, +// valueGetter: ":sourceAlias.jsonb->'effectiveCallNumberComponents'->>'typeId'", +// }, +// { +// name: 'effective_call_number_components_call_number', +// sourceAlias: 'item', +// dataType: { +// dataType: 'stringType', +// }, +// isIdColumn: false, +// queryable: true, +// visibleByDefault: false, +// valueGetter: ":sourceAlias.jsonb->'effectiveCallNumberComponents'->>'callNumber'", +// }, { name: 'enumeration', sourceAlias: 'item', @@ -726,6 +742,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + essential: true, valueGetter: ":sourceAlias.jsonb->>'effectiveShelvingOrder'", }, { @@ -736,7 +753,8 @@ }, isIdColumn: false, queryable: true, - visibleByDefault: false, + visibleByDefault: true, + essential: true, valueGetter: ":sourceAlias.jsonb->>'itemLevelCallNumber'", }, { @@ -748,6 +766,8 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + essential: true, + hidden: true, valueGetter: ":sourceAlias.jsonb->>'temporaryLoanTypeId'" }, { @@ -759,6 +779,8 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + essential: true, + hidden: true, valueGetter: ":sourceAlias.permanentlocationid", }, { @@ -770,6 +792,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + essential: true, valueGetter: ":sourceAlias.jsonb->'lastCheckIn'->>'dateTime'", }, { @@ -781,6 +804,8 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, + essential: true, valueGetter: ":sourceAlias.jsonb->'lastCheckIn'->>'staffMemberId'", }, { @@ -792,6 +817,8 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + essential: true, + hidden: true, valueGetter: ":sourceAlias.jsonb->'lastCheckIn'->>'servicePointId'", }, { @@ -803,19 +830,9 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, valueGetter: ":sourceAlias.jsonb->>'inTransitDestinationServicePointId'", }, - { - name: 'item_level_call_number_prefix', - sourceAlias: 'item', - dataType: { - dataType: 'stringType', - }, - isIdColumn: false, - queryable: true, - visibleByDefault: false, - valueGetter: ":sourceAlias.jsonb->>'itemLevelCallNumberPrefix'", - }, { name: 'number_of_pieces', sourceAlias: 'item', @@ -834,6 +851,7 @@ dataType: 'stringType', }, isIdColumn: false, + essential: true, queryable: true, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->>'descriptionOfPieces'", @@ -841,6 +859,7 @@ { name: 'tags_tag_list', sourceAlias: 'item', + essential: true, dataType: { dataType: 'arrayType', itemDataType: { @@ -863,17 +882,6 @@ jsonb_array_elements(:sourceAlias.jsonb->'tags'->'tagList') AS elems\ )", }, - { - name: 'item_level_call_number_suffix', - sourceAlias: 'item', - dataType: { - dataType: 'stringType', - }, - isIdColumn: false, - queryable: true, - visibleByDefault: false, - valueGetter: ":sourceAlias.jsonb->>'itemLevelCallNumberSuffix'", - }, { name: 'chronology', sourceAlias: 'item', @@ -883,6 +891,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + essential: true, valueGetter: ":sourceAlias.jsonb->>'chronology'", }, { @@ -892,6 +901,7 @@ dataType: 'booleanType', }, isIdColumn: false, + essential: true, queryable: true, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->>'discoverySuppress'", @@ -916,6 +926,7 @@ queryable: true, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->>'accessionNumber'", + essential: true }, { name: 'temporary_location_id', @@ -926,6 +937,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, valueGetter: ":sourceAlias.jsonb->>'temporaryLocationId'", }, { @@ -937,6 +949,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, valueGetter: ":sourceAlias.jsonb->>'itemDamagedStatusId'", }, { @@ -948,6 +961,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + essential: true, valueGetter: ":sourceAlias.jsonb->>'numberOfMissingPieces'", }, { @@ -959,6 +973,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + essential: true, valueGetter: ":sourceAlias.jsonb->>'purchaseOrderLineIdentifier'", }, { @@ -988,6 +1003,7 @@ isIdColumn: false, queryable: false, hidden: true, + essential: true, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb::text", } diff --git a/src/main/resources/entity-types/inventory/simple_locations.json5 b/src/main/resources/entity-types/inventory/simple_locations.json5 index 8ca1a93d..2a8e8d42 100644 --- a/src/main/resources/entity-types/inventory/simple_locations.json5 +++ b/src/main/resources/entity-types/inventory/simple_locations.json5 @@ -42,7 +42,8 @@ }, sourceAlias: 'location', queryable: true, - visibleByDefault: false, + visibleByDefault: true, + essential: true, valueGetter: ":sourceAlias.jsonb ->> 'code'", filterValueGetter: "lower(${tenant_id}_mod_inventory_storage.f_unaccent(:sourceAlias.jsonb ->> 'code'::text))", valueFunction: 'lower(${tenant_id}_mod_inventory_storage.f_unaccent(:value))', @@ -63,7 +64,8 @@ }, sourceAlias: 'location', queryable: true, - visibleByDefault: false, + visibleByDefault: true, + essential: true, valueGetter: ":sourceAlias.jsonb ->> 'name'", filterValueGetter: "lower(${tenant_id}_mod_inventory_storage.f_unaccent(:sourceAlias.jsonb ->> 'name'::text))", valueFunction: 'lower(${tenant_id}_mod_inventory_storage.f_unaccent(:value))', diff --git a/src/main/resources/entity-types/inventory/simple_loclibrary.json5 b/src/main/resources/entity-types/inventory/simple_loclibrary.json5 index c3da095c..cec0f69a 100644 --- a/src/main/resources/entity-types/inventory/simple_loclibrary.json5 +++ b/src/main/resources/entity-types/inventory/simple_loclibrary.json5 @@ -45,6 +45,7 @@ isIdColumn: false, queryable: true, visibleByDefault: true, + essential: true, valueGetter: ":sourceAlias.jsonb->>'name'", filterValueGetter: "lower(${tenant_id}_mod_inventory_storage.f_unaccent(:sourceAlias.jsonb ->> 'name'::text))", valueFunction: "lower(${tenant_id}_mod_inventory_storage.f_unaccent(:value))", @@ -67,6 +68,7 @@ isIdColumn: false, queryable: true, visibleByDefault: true, + essential: true, valueGetter: ":sourceAlias.jsonb->>'code'", source: { columnName: 'code', @@ -88,7 +90,7 @@ queryable: true, hidden: true, essential: true, - visibleByDefault: true, + visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->>'campusId'", source: { columnName: 'campus_id', diff --git a/src/main/resources/entity-types/inventory/simple_material_type_details.json5 b/src/main/resources/entity-types/inventory/simple_material_type_details.json5 index 8cd37910..2c275805 100644 --- a/src/main/resources/entity-types/inventory/simple_material_type_details.json5 +++ b/src/main/resources/entity-types/inventory/simple_material_type_details.json5 @@ -22,6 +22,8 @@ isIdColumn: true, queryable: true, visibleByDefault: false, + essential: true, + hidden: true, valueGetter: ':sourceAlias.id', source: { columnName: 'id', @@ -40,7 +42,8 @@ dataType: 'stringType', }, queryable: true, - visibleByDefault: false, + essential: true, + visibleByDefault: true, valueGetter: ":sourceAlias.jsonb->>'name'", filterValueGetter: "lower(\ ${tenant_id}_mod_inventory_storage.f_unaccent (:sourceAlias.jsonb->>'name'::text)\ @@ -64,8 +67,10 @@ dataType: 'stringType', }, queryable: true, + essential: true, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->>'source'", + hidden: true }, { name: 'created_date', @@ -76,6 +81,7 @@ queryable: true, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->'metadata'->>'createdDate'", + hidden: true }, { name: 'updated_date', @@ -86,6 +92,7 @@ queryable: true, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->'metadata'->>'updatedDate'", + hidden: true }, { name: 'created_by_user_id', @@ -96,6 +103,7 @@ queryable: true, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->'metadata'->>'createdByUserId'", + hidden: true }, { name: 'updated_by_user_id', @@ -106,6 +114,7 @@ queryable: true, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->'metadata'->>'updatedByUserId'", + hidden: true }, { name: 'created_by_username', @@ -116,6 +125,7 @@ queryable: true, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->'metadata'->>'createdByUsername'", + hidden: true }, { name: 'updated_by_username', @@ -126,6 +136,7 @@ queryable: true, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->'metadata'->>'updatedByUsername'", + hidden: true }, { name: 'jsonb', @@ -136,6 +147,7 @@ queryable: false, hidden: true, visibleByDefault: false, + essential: true, valueGetter: ":sourceAlias.jsonb::text", } ], diff --git a/src/main/resources/entity-types/inventory/simple_service_point_details.json5 b/src/main/resources/entity-types/inventory/simple_service_point_details.json5 index 4903a404..55017ead 100644 --- a/src/main/resources/entity-types/inventory/simple_service_point_details.json5 +++ b/src/main/resources/entity-types/inventory/simple_service_point_details.json5 @@ -21,9 +21,11 @@ dataType: 'rangedUUIDType', }, isIdColumn: true, + hidden: true, queryable: true, visibleByDefault: false, valueGetter: ':sourceAlias.id', + essential: true }, { name: 'code', @@ -35,6 +37,9 @@ queryable: true, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->>'code'", + filterValueGetter: "lower(${tenant_id}_mod_inventory_storage.f_unaccent(:sourceAlias.jsonb ->> 'code'::text))", + valueFunction: 'lower(${tenant_id}_mod_inventory_storage.f_unaccent(:value))', + essential: true }, { name: 'name', @@ -44,8 +49,11 @@ }, isIdColumn: false, queryable: true, - visibleByDefault: false, + visibleByDefault: true, valueGetter: ":sourceAlias.jsonb->>'name'", + filterValueGetter: "lower(${tenant_id}_mod_inventory_storage.f_unaccent(:sourceAlias.jsonb ->> 'name'::text))", + valueFunction: 'lower(${tenant_id}_mod_inventory_storage.f_unaccent(:value))', + essential: true }, { name: 'created_date', @@ -77,6 +85,7 @@ }, isIdColumn: false, queryable: true, + hidden: true, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->'metadata'->>'createdByUserId'", }, @@ -88,6 +97,7 @@ }, isIdColumn: false, queryable: true, + hidden: true, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->'metadata'->>'updatedByUserId'", }, @@ -134,6 +144,7 @@ queryable: true, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->>'discoveryDisplayName'", + essential: true }, { name: 'hold_shelf_expiry_period_duration', @@ -158,54 +169,6 @@ visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->'holdShelfExpiryPeriod'->>'intervalId'", }, - { - name: 'staff_slips', - sourceAlias: 'service_point', - dataType: { - dataType: 'arrayType', - itemDataType: { - dataType: 'objectType', - properties: [ - { - name: 'staff_slip_id', - property: 'id', - dataType: { - dataType: 'rangedUUIDType', - }, - queryable: false, - valueGetter: "( SELECT array_agg(elems.value->>'id') FROM jsonb_array_elements(:sourceAlias.jsonb->'staffSlips') AS elems)", - filterValueGetter: "( SELECT array_agg(lower(elems.value->>'id')) FROM jsonb_array_elements(:sourceAlias.jsonb->'staffSlips') AS elems)", - valueFunction: 'lower(:value)', - }, - { - name: 'print_by_default', - property: 'printByDefault', - dataType: { - dataType: 'booleanType', - }, - queryable: false, - valueGetter: "( SELECT array_agg(elems.value->>'printByDefault') FROM jsonb_array_elements(:sourceAlias.jsonb->'staffSlips') AS elems)", - filterValueGetter: "( SELECT array_agg(lower(elems.value->>'printByDefault')) FROM jsonb_array_elements(:sourceAlias.jsonb->'staffSlips') AS elems)", - valueFunction: 'lower(:value)', - values: [ - { - value: 'true', - label: 'True', - }, - { - value: 'false', - label: 'False', - }, - ], - }, - ], - }, - }, - isIdColumn: false, - queryable: false, - visibleByDefault: false, - valueGetter: ":sourceAlias.jsonb->>'staffSlips'", - }, { name: 'description', sourceAlias: 'service_point', @@ -239,6 +202,7 @@ hidden: true, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb::text", + essential: true } ], } diff --git a/src/main/resources/entity-types/orders/composite_purchase_order_lines.json5 b/src/main/resources/entity-types/orders/composite_purchase_order_lines.json5 index 7e4fbf74..cfa67c14 100644 --- a/src/main/resources/entity-types/orders/composite_purchase_order_lines.json5 +++ b/src/main/resources/entity-types/orders/composite_purchase_order_lines.json5 @@ -8,11 +8,13 @@ type: 'entity-type', id: '58148257-bfb0-4687-8c42-d2833d772f3e', // simple_purchase_order_line useIdColumns: true, + essentialOnly: true, }, { alias: 'po', type: 'entity-type', id: '48de4796-11a2-44e9-abb7-01e84af87234', // simple_purchase_order + essentialOnly: true, join: { type: 'join', joinTo: 'pol.pol', @@ -67,6 +69,7 @@ alias: 'vendor_organization', type: 'entity-type', id: 'b5ffa2e9-8080-471a-8003-a8c5a1274503', // simple_organization + essentialOnly: true, join: { type: 'left join', condition: "(:that.jsonb ->> 'vendor')::uuid = :this.id", diff --git a/src/main/resources/entity-types/orders/simple_purchase_order.json5 b/src/main/resources/entity-types/orders/simple_purchase_order.json5 index 195751b7..86b13909 100644 --- a/src/main/resources/entity-types/orders/simple_purchase_order.json5 +++ b/src/main/resources/entity-types/orders/simple_purchase_order.json5 @@ -24,6 +24,8 @@ isIdColumn: true, queryable: true, visibleByDefault: false, + essential: true, + hidden: true, valueGetter: ':sourceAlias.id', }, { @@ -35,6 +37,8 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, + essential: true, valueGetter: ':sourceAlias.created_by', }, { @@ -45,7 +49,8 @@ }, isIdColumn: false, queryable: true, - visibleByDefault: false, + essential: true, + visibleByDefault: true, valueGetter: ":sourceAlias.jsonb -> 'metadata' ->> 'createdDate'", filterValueGetter: "\"left\"(lower(${tenant_id}_mod_orders_storage.f_unaccent((:sourceAlias.jsonb -> 'metadata'::text) ->> 'createdDate'::text)), 600)", valueFunction: '"left"(lower(${tenant_id}_mod_orders_storage.f_unaccent(:value)), 600)' @@ -58,7 +63,8 @@ }, isIdColumn: false, queryable: true, - visibleByDefault: false, + essential: true, + visibleByDefault: true, valueGetter: ":sourceAlias.jsonb->>'approved'", filterValueGetter: '"left"(lower(${tenant_id}_mod_orders_storage.f_unaccent(:sourceAlias.jsonb ->> \'approved\'::text)), 600)', valueFunction: '"left"(lower(${tenant_id}_mod_orders_storage.f_unaccent(:value)), 600)', @@ -125,7 +131,7 @@ }, isIdColumn: false, queryable: true, - visibleByDefault: false, + visibleByDefault: true, valueGetter: ":sourceAlias.jsonb->>'dateOrdered'", }, { @@ -137,6 +143,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, valueGetter: ":sourceAlias.jsonb->>'manualPo'", values: [ { @@ -152,6 +159,8 @@ { name: 'notes', sourceAlias: 'po', + hidden: true, + essential: true, dataType: { dataType: 'arrayType', itemDataType: { @@ -183,7 +192,8 @@ }, isIdColumn: false, queryable: true, - visibleByDefault: false, + visibleByDefault: true, + essential: true, valueGetter: ":sourceAlias.jsonb->>'poNumber'", }, { @@ -216,7 +226,8 @@ }, isIdColumn: false, queryable: true, - visibleByDefault: false, + essential: true, + visibleByDefault: true, valueGetter: ":sourceAlias.jsonb->>'orderType'", filterValueGetter: '"left"(lower(${tenant_id}_mod_orders_storage.f_unaccent(:sourceAlias.jsonb ->> \'orderType\'::text)), 600)', valueFunction: '"left"(lower(${tenant_id}_mod_orders_storage.f_unaccent(:value)), 600)', @@ -240,6 +251,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + essential: true, valueGetter: ":sourceAlias.jsonb->>'reEncumber'", values: [ { @@ -281,6 +293,7 @@ dataType: 'rangedUUIDType', }, isIdColumn: false, + hidden: true, queryable: true, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->>'vendor'", @@ -322,6 +335,7 @@ }, isIdColumn: false, queryable: false, + essential: true, visibleByDefault: false, valueGetter: "(\ SELECT\ @@ -345,9 +359,10 @@ dataType: 'stringType', }, }, + essential: true, idColumnName: 'acq_unit_ids', queryable: false, - visibleByDefault: false, + visibleByDefault: true, valueGetter: "( SELECT array_agg(acq_unit.jsonb ->> 'name'::text) FILTER (WHERE (acq_unit.jsonb ->> 'name'::text) IS NOT NULL) AS array_agg FROM jsonb_array_elements_text((:sourceAlias.jsonb -> 'acqUnitIds'::text)) record(value) JOIN src_acquisitions_unit acq_unit ON lower(record.value::text) = acq_unit.id::text)", filterValueGetter: "( SELECT array_agg(lower(acq_unit.jsonb ->> 'name'::text)) FILTER (WHERE (acq_unit.jsonb ->> 'name'::text) IS NOT NULL) AS array_agg FROM jsonb_array_elements_text((:sourceAlias.jsonb -> 'acqUnitIds'::text)) record(value) JOIN src_acquisitions_unit acq_unit ON (record.value::text) = acq_unit.id::text)", valueFunction: 'lower(:value)', @@ -375,6 +390,7 @@ }, { name: 'tags', + essential: true, sourceAlias: 'po', dataType: { dataType: 'arrayType', @@ -406,7 +422,8 @@ }, isIdColumn: false, queryable: true, - visibleByDefault: false, + visibleByDefault: true, + essential: true, valueGetter: ":sourceAlias.jsonb->'metadata'->>'updatedDate'", }, { @@ -418,6 +435,8 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + essential: true, + hidden: true, valueGetter: ":sourceAlias.jsonb->'metadata'->>'updatedByUserId'", }, { @@ -429,6 +448,8 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + essential: true, + hidden: true, valueGetter: ":sourceAlias.jsonb->>'assignedTo'", }, { @@ -440,6 +461,7 @@ isIdColumn: false, queryable: false, hidden: true, + essential: true, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb::text", } diff --git a/src/main/resources/entity-types/orders/simple_purchase_order_line.json5 b/src/main/resources/entity-types/orders/simple_purchase_order_line.json5 index f7f467ed..d718470a 100644 --- a/src/main/resources/entity-types/orders/simple_purchase_order_line.json5 +++ b/src/main/resources/entity-types/orders/simple_purchase_order_line.json5 @@ -22,6 +22,7 @@ }, isIdColumn: true, queryable: true, + essential: true, visibleByDefault: true, valueGetter: ':sourceAlias.id', }, @@ -45,6 +46,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + essential: true, valueGetter: ":sourceAlias.jsonb -> 'metadata' ->> 'createdDate'", filterValueGetter: "\"left\"(lower(${tenant_id}_mod_orders_storage.f_unaccent((:sourceAlias.jsonb -> 'metadata'::text) ->> 'createdDate'::text)), 600)", valueFunction: '"left"(lower(${tenant_id}_mod_orders_storage.f_unaccent(:value)), 600)' @@ -58,6 +60,8 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + essential: true, + hidden: true, valueGetter: ':sourceAlias.created_by', }, { @@ -99,6 +103,7 @@ dataType: 'rangedUUIDType', }, isIdColumn: false, + essential: true, queryable: true, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->>'agreementId'", @@ -375,6 +380,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + essential: true, valueGetter: ":sourceAlias.jsonb->'cost'->>'currency'", filterValueGetter: "lower(:sourceAlias.jsonb -> 'cost' ->> 'currency')", valueFunction: 'lower(:value)', @@ -438,6 +444,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + essential: true, valueGetter: "(:sourceAlias.jsonb->'cost'->>'exchangeRate')::float", valueFunction: '(:value)::float', }, @@ -474,6 +481,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + essential: true, valueGetter: "(:sourceAlias.jsonb->'cost'->>'poLineEstimatedPrice')::float", valueFunction: '(:value)::float', }, @@ -498,6 +506,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + essential: true, valueGetter: ":sourceAlias.jsonb->>'description'", }, { @@ -509,6 +518,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + essential: true, valueGetter: ":sourceAlias.jsonb->'details'->>'receivingNote'", }, { @@ -645,6 +655,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + essential: true, valueGetter: ":sourceAlias.jsonb->>'donor'", }, { @@ -681,6 +692,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + essential: true, valueGetter: ":sourceAlias.jsonb->'eresource'->>'activated'", values: [ { @@ -714,6 +726,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + essential: true, valueGetter: ":sourceAlias.jsonb->'eresource'->>'createInventory'", values: [ { @@ -743,6 +756,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + essential: true, valueGetter: ":sourceAlias.jsonb->'eresource'->>'trial'", values: [ { @@ -764,6 +778,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + essential: true, valueGetter: ":sourceAlias.jsonb->'eresource'->>'expectedActivation'", }, { @@ -809,6 +824,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + essential: true, valueGetter: ":sourceAlias.jsonb->'eresource'->>'resourceUrl'", }, { @@ -933,6 +949,7 @@ isIdColumn: false, queryable: false, visibleByDefault: false, + essential: true, valueGetter: ":sourceAlias.jsonb->>'fundDistribution'", }, { @@ -1091,6 +1108,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + essential: true, valueGetter: ":sourceAlias.jsonb->>'orderFormat'", values: [ { @@ -1130,6 +1148,7 @@ }, isIdColumn: false, queryable: true, + essential: true, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->>'paymentStatus'", filterValueGetter: '"left"(lower(${tenant_id}_mod_orders_storage.f_unaccent(:sourceAlias.jsonb ->> \'paymentStatus\'::text)), 600)', @@ -1224,6 +1243,7 @@ }, isIdColumn: false, queryable: true, + essential: true, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->'physical'->>'expectedReceiptDate'", }, @@ -1295,6 +1315,7 @@ }, isIdColumn: false, queryable: true, + essential: true, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->>'publicationDate'", }, @@ -1305,6 +1326,7 @@ dataType: 'stringType', }, isIdColumn: false, + essential: true, queryable: true, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->>'publisher'", @@ -1316,6 +1338,7 @@ dataType: 'dateType', }, isIdColumn: false, + essential: true, queryable: true, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->>'receiptDate'", @@ -1327,6 +1350,7 @@ dataType: 'stringType', }, isIdColumn: false, + essential: true, queryable: true, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->>'receiptStatus'", @@ -1419,6 +1443,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + essential: true, valueGetter: ":sourceAlias.jsonb->>'rush'", values: [ { @@ -1438,6 +1463,7 @@ dataType: 'stringType', }, isIdColumn: false, + essential: true, queryable: true, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->>'selector'", @@ -1449,6 +1475,7 @@ dataType: 'stringType', }, isIdColumn: false, + essential: true, queryable: true, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->>'source'", @@ -1485,6 +1512,7 @@ }, }, isIdColumn: false, + essential: true, queryable: false, visibleByDefault: false, valueGetter: "(\ @@ -1507,6 +1535,7 @@ dataType: 'stringType', }, isIdColumn: false, + essential: true, queryable: true, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->>'titleOrPackage'", @@ -1551,6 +1580,7 @@ dataType: 'dateType', }, isIdColumn: false, + essential: true, queryable: true, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->'metadata'->>'updatedDate'", @@ -1562,7 +1592,9 @@ dataType: 'rangedUUIDType', }, isIdColumn: false, + essential: true, queryable: true, + hidden: true, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->'metadata'->>'updatedByUserId'", }, diff --git a/src/main/resources/entity-types/organizations/simple_organizations.json5 b/src/main/resources/entity-types/organizations/simple_organizations.json5 index 4a6048aa..327bf17c 100644 --- a/src/main/resources/entity-types/organizations/simple_organizations.json5 +++ b/src/main/resources/entity-types/organizations/simple_organizations.json5 @@ -25,7 +25,8 @@ }, isIdColumn: true, queryable: true, - visibleByDefault: true, + visibleByDefault: false, + essential: true, valueGetter: ':sourceAlias.id', }, { @@ -36,7 +37,7 @@ }, isIdColumn: false, queryable: true, - visibleByDefault: true, + visibleByDefault: false, valueGetter: ':sourceAlias.creation_date', }, { @@ -48,6 +49,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, valueGetter: ':sourceAlias.created_by', }, { @@ -70,6 +72,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, valueGetter: ":sourceAlias.jsonb->'metadata'->>'updatedByUserId'", }, { @@ -81,6 +84,7 @@ isIdColumn: false, queryable: true, visibleByDefault: true, + essential: true, valueGetter: ":sourceAlias.jsonb->>'name'", filterValueGetter: "lower(${tenant_id}_mod_organizations_storage.f_unaccent(:sourceAlias.jsonb ->> 'name'::text))", valueFunction: 'lower(${tenant_id}_mod_organizations_storage.f_unaccent(:value))', @@ -161,6 +165,7 @@ isIdColumn: false, queryable: true, visibleByDefault: true, + essential: true, valueGetter: ":sourceAlias.jsonb->>'status'", filterValueGetter: "lower(${tenant_id}_mod_organizations_storage.f_unaccent(:sourceAlias.jsonb ->> 'status'::text))", valueFunction: 'lower(${tenant_id}_mod_organizations_storage.f_unaccent(:value))', @@ -279,17 +284,17 @@ itemDataType: { dataType: 'objectType', properties: [ - { - name: 'id', - property: 'id', - dataType: { - dataType: 'rangedUUIDType', - }, - queryable: false, - valueGetter: "( SELECT array_agg(elems.value->>'id') FROM jsonb_array_elements(:sourceAlias.jsonb->'addresses') AS elems)", - filterValueGetter: "( SELECT array_agg(lower(elems.value->>'id')) FROM jsonb_array_elements(:sourceAlias.jsonb->'addresses') AS elems)", - valueFunction: 'lower(:value)', - }, +// { +// name: 'id', +// property: 'id', +// dataType: { +// dataType: 'rangedUUIDType', +// }, +// queryable: false, +// valueGetter: "( SELECT array_agg(elems.value->>'id') FROM jsonb_array_elements(:sourceAlias.jsonb->'addresses') AS elems)", +// filterValueGetter: "( SELECT array_agg(lower(elems.value->>'id')) FROM jsonb_array_elements(:sourceAlias.jsonb->'addresses') AS elems)", +// valueFunction: 'lower(:value)', +// }, { name: 'address_line1', property: 'addressLine1', @@ -356,52 +361,52 @@ filterValueGetter: "( SELECT array_agg(lower(elems.value->>'country')) FROM jsonb_array_elements(:sourceAlias.jsonb->'addresses') AS elems)", valueFunction: 'lower(:value)', }, - { - name: 'is_primary', - property: 'isPrimary', - dataType: { - dataType: 'booleanType', - }, - queryable: false, - valueGetter: "( SELECT array_agg(elems.value->>'isPrimary') FROM jsonb_array_elements(:sourceAlias.jsonb->'addresses') AS elems)", - filterValueGetter: "( SELECT array_agg(lower(elems.value->>'isPrimary')) FROM jsonb_array_elements(:sourceAlias.jsonb->'addresses') AS elems)", - valueFunction: 'lower(:value)', - values: [ - { - value: 'true', - label: 'True', - }, - { - value: 'false', - label: 'False', - }, - ], - }, - { - name: 'categories', - property: 'categories', - dataType: { - dataType: 'arrayType', - itemDataType: { - dataType: 'rangedUUIDType', - }, - }, - queryable: false, - valueGetter: "( SELECT array_agg(elems.value->>'categories') FROM jsonb_array_elements(:sourceAlias.jsonb->'addresses') AS elems)", - filterValueGetter: "( SELECT array_agg(lower(elems.value->>'categories')) FROM jsonb_array_elements(:sourceAlias.jsonb->'addresses') AS elems)", - valueFunction: 'lower(:value)', - }, - { - name: 'language', - property: 'language', - dataType: { - dataType: 'stringType', - }, - queryable: false, - valueGetter: "( SELECT array_agg(elems.value->>'language') FROM jsonb_array_elements(:sourceAlias.jsonb->'addresses') AS elems)", - filterValueGetter: "( SELECT array_agg(lower(elems.value->>'language')) FROM jsonb_array_elements(:sourceAlias.jsonb->'addresses') AS elems)", - valueFunction: 'lower(:value)', - }, +// { +// name: 'is_primary', +// property: 'isPrimary', +// dataType: { +// dataType: 'booleanType', +// }, +// queryable: false, +// valueGetter: "( SELECT array_agg(elems.value->>'isPrimary') FROM jsonb_array_elements(:sourceAlias.jsonb->'addresses') AS elems)", +// filterValueGetter: "( SELECT array_agg(lower(elems.value->>'isPrimary')) FROM jsonb_array_elements(:sourceAlias.jsonb->'addresses') AS elems)", +// valueFunction: 'lower(:value)', +// values: [ +// { +// value: 'true', +// label: 'True', +// }, +// { +// value: 'false', +// label: 'False', +// }, +// ], +// }, +// { +// name: 'categories', +// property: 'categories', +// dataType: { +// dataType: 'arrayType', +// itemDataType: { +// dataType: 'rangedUUIDType', +// }, +// }, +// queryable: false, +// valueGetter: "( SELECT array_agg(elems.value->>'categories') FROM jsonb_array_elements(:sourceAlias.jsonb->'addresses') AS elems)", +// filterValueGetter: "( SELECT array_agg(lower(elems.value->>'categories')) FROM jsonb_array_elements(:sourceAlias.jsonb->'addresses') AS elems)", +// valueFunction: 'lower(:value)', +// }, +// { +// name: 'language', +// property: 'language', +// dataType: { +// dataType: 'stringType', +// }, +// queryable: false, +// valueGetter: "( SELECT array_agg(elems.value->>'language') FROM jsonb_array_elements(:sourceAlias.jsonb->'addresses') AS elems)", +// filterValueGetter: "( SELECT array_agg(lower(elems.value->>'language')) FROM jsonb_array_elements(:sourceAlias.jsonb->'addresses') AS elems)", +// valueFunction: 'lower(:value)', +// }, ], }, }, @@ -418,17 +423,17 @@ itemDataType: { dataType: 'objectType', properties: [ - { - name: 'id', - property: 'id', - dataType: { - dataType: 'rangedUUIDType', - }, - queryable: false, - valueGetter: "( SELECT array_agg(elems.value->>'id') FROM jsonb_array_elements(:sourceAlias.jsonb->'phoneNumbers') AS elems)", - filterValueGetter: "( SELECT array_agg(lower(elems.value->>'id')) FROM jsonb_array_elements(:sourceAlias.jsonb->'phoneNumbers') AS elems)", - valueFunction: 'lower(:value)', - }, +// { +// name: 'id', +// property: 'id', +// dataType: { +// dataType: 'rangedUUIDType', +// }, +// queryable: false, +// valueGetter: "( SELECT array_agg(elems.value->>'id') FROM jsonb_array_elements(:sourceAlias.jsonb->'phoneNumbers') AS elems)", +// filterValueGetter: "( SELECT array_agg(lower(elems.value->>'id')) FROM jsonb_array_elements(:sourceAlias.jsonb->'phoneNumbers') AS elems)", +// valueFunction: 'lower(:value)', +// }, { name: 'phone_number', property: 'phoneNumber', @@ -440,20 +445,20 @@ filterValueGetter: "( SELECT array_agg(lower(elems.value->>'phoneNumber')) FROM jsonb_array_elements(:sourceAlias.jsonb->'phoneNumbers') AS elems)", valueFunction: 'lower(:value)', }, - { - name: 'categories', - property: 'categories', - dataType: { - dataType: 'arrayType', - itemDataType: { - dataType: 'rangedUUIDType', - }, - }, - queryable: false, - valueGetter: "( SELECT array_agg(elems.value->>'categories') FROM jsonb_array_elements(:sourceAlias.jsonb->'phoneNumbers') AS elems)", - filterValueGetter: "( SELECT array_agg(lower(elems.value->>'categories')) FROM jsonb_array_elements(:sourceAlias.jsonb->'phoneNumbers') AS elems)", - valueFunction: 'lower(:value)', - }, +// { +// name: 'categories', +// property: 'categories', +// dataType: { +// dataType: 'arrayType', +// itemDataType: { +// dataType: 'rangedUUIDType', +// }, +// }, +// queryable: false, +// valueGetter: "( SELECT array_agg(elems.value->>'categories') FROM jsonb_array_elements(:sourceAlias.jsonb->'phoneNumbers') AS elems)", +// filterValueGetter: "( SELECT array_agg(lower(elems.value->>'categories')) FROM jsonb_array_elements(:sourceAlias.jsonb->'phoneNumbers') AS elems)", +// valueFunction: 'lower(:value)', +// }, { name: 'type', property: 'type', @@ -483,38 +488,38 @@ }, ], }, - { - name: 'is_primary', - property: 'isPrimary', - dataType: { - dataType: 'booleanType', - }, - queryable: false, - valueGetter: "( SELECT array_agg(elems.value->>'isPrimary') FROM jsonb_array_elements(:sourceAlias.jsonb->'phoneNumbers') AS elems)", - filterValueGetter: "( SELECT array_agg(lower(elems.value->>'isPrimary')) FROM jsonb_array_elements(:sourceAlias.jsonb->'phoneNumbers') AS elems)", - valueFunction: 'lower(:value)', - values: [ - { - value: 'true', - label: 'True', - }, - { - value: 'false', - label: 'False', - }, - ], - }, - { - name: 'language', - property: 'language', - dataType: { - dataType: 'stringType', - }, - queryable: false, - valueGetter: "( SELECT array_agg(elems.value->>'language') FROM jsonb_array_elements(:sourceAlias.jsonb->'phoneNumbers') AS elems)", - filterValueGetter: "( SELECT array_agg(lower(elems.value->>'language')) FROM jsonb_array_elements(:sourceAlias.jsonb->'phoneNumbers') AS elems)", - valueFunction: 'lower(:value)', - }, +// { +// name: 'is_primary', +// property: 'isPrimary', +// dataType: { +// dataType: 'booleanType', +// }, +// queryable: false, +// valueGetter: "( SELECT array_agg(elems.value->>'isPrimary') FROM jsonb_array_elements(:sourceAlias.jsonb->'phoneNumbers') AS elems)", +// filterValueGetter: "( SELECT array_agg(lower(elems.value->>'isPrimary')) FROM jsonb_array_elements(:sourceAlias.jsonb->'phoneNumbers') AS elems)", +// valueFunction: 'lower(:value)', +// values: [ +// { +// value: 'true', +// label: 'True', +// }, +// { +// value: 'false', +// label: 'False', +// }, +// ], +// }, +// { +// name: 'language', +// property: 'language', +// dataType: { +// dataType: 'stringType', +// }, +// queryable: false, +// valueGetter: "( SELECT array_agg(elems.value->>'language') FROM jsonb_array_elements(:sourceAlias.jsonb->'phoneNumbers') AS elems)", +// filterValueGetter: "( SELECT array_agg(lower(elems.value->>'language')) FROM jsonb_array_elements(:sourceAlias.jsonb->'phoneNumbers') AS elems)", +// valueFunction: 'lower(:value)', +// }, ], }, }, @@ -531,17 +536,17 @@ itemDataType: { dataType: 'objectType', properties: [ - { - name: 'id', - property: 'id', - dataType: { - dataType: 'rangedUUIDType', - }, - queryable: false, - valueGetter: "( SELECT array_agg(elems.value->>'id') FROM jsonb_array_elements(:sourceAlias.jsonb->'emails') AS elems)", - filterValueGetter: "( SELECT array_agg(lower(elems.value->>'id')) FROM jsonb_array_elements(:sourceAlias.jsonb->'emails') AS elems)", - valueFunction: 'lower(:value)', - }, +// { +// name: 'id', +// property: 'id', +// dataType: { +// dataType: 'rangedUUIDType', +// }, +// queryable: false, +// valueGetter: "( SELECT array_agg(elems.value->>'id') FROM jsonb_array_elements(:sourceAlias.jsonb->'emails') AS elems)", +// filterValueGetter: "( SELECT array_agg(lower(elems.value->>'id')) FROM jsonb_array_elements(:sourceAlias.jsonb->'emails') AS elems)", +// valueFunction: 'lower(:value)', +// }, { name: 'value', property: 'value', @@ -564,52 +569,52 @@ filterValueGetter: "( SELECT array_agg(lower(elems.value->>'description')) FROM jsonb_array_elements(:sourceAlias.jsonb->'emails') AS elems)", valueFunction: 'lower(:value)', }, - { - name: 'is_primary', - property: 'isPrimary', - dataType: { - dataType: 'booleanType', - }, - queryable: false, - valueGetter: "( SELECT array_agg(elems.value->>'isPrimary') FROM jsonb_array_elements(:sourceAlias.jsonb->'emails') AS elems)", - filterValueGetter: "( SELECT array_agg(lower(elems.value->>'isPrimary')) FROM jsonb_array_elements(:sourceAlias.jsonb->'emails') AS elems)", - valueFunction: 'lower(:value)', - values: [ - { - value: 'true', - label: 'True', - }, - { - value: 'false', - label: 'False', - }, - ], - }, - { - name: 'categories', - property: 'categories', - dataType: { - dataType: 'arrayType', - itemDataType: { - dataType: 'rangedUUIDType', - }, - }, - queryable: false, - valueGetter: "( SELECT array_agg(elems.value->>'categories') FROM jsonb_array_elements(:sourceAlias.jsonb->'emails') AS elems)", - filterValueGetter: "( SELECT array_agg(lower(elems.value->>'categories')) FROM jsonb_array_elements(:sourceAlias.jsonb->'emails') AS elems)", - valueFunction: 'lower(:value)', - }, - { - name: 'language', - property: 'language', - dataType: { - dataType: 'stringType', - }, - queryable: false, - valueGetter: "( SELECT array_agg(elems.value->>'language') FROM jsonb_array_elements(:sourceAlias.jsonb->'emails') AS elems)", - filterValueGetter: "( SELECT array_agg(lower(elems.value->>'language')) FROM jsonb_array_elements(:sourceAlias.jsonb->'emails') AS elems)", - valueFunction: 'lower(:value)', - }, +// { +// name: 'is_primary', +// property: 'isPrimary', +// dataType: { +// dataType: 'booleanType', +// }, +// queryable: false, +// valueGetter: "( SELECT array_agg(elems.value->>'isPrimary') FROM jsonb_array_elements(:sourceAlias.jsonb->'emails') AS elems)", +// filterValueGetter: "( SELECT array_agg(lower(elems.value->>'isPrimary')) FROM jsonb_array_elements(:sourceAlias.jsonb->'emails') AS elems)", +// valueFunction: 'lower(:value)', +// values: [ +// { +// value: 'true', +// label: 'True', +// }, +// { +// value: 'false', +// label: 'False', +// }, +// ], +// }, +// { +// name: 'categories', +// property: 'categories', +// dataType: { +// dataType: 'arrayType', +// itemDataType: { +// dataType: 'rangedUUIDType', +// }, +// }, +// queryable: false, +// valueGetter: "( SELECT array_agg(elems.value->>'categories') FROM jsonb_array_elements(:sourceAlias.jsonb->'emails') AS elems)", +// filterValueGetter: "( SELECT array_agg(lower(elems.value->>'categories')) FROM jsonb_array_elements(:sourceAlias.jsonb->'emails') AS elems)", +// valueFunction: 'lower(:value)', +// }, +// { +// name: 'language', +// property: 'language', +// dataType: { +// dataType: 'stringType', +// }, +// queryable: false, +// valueGetter: "( SELECT array_agg(elems.value->>'language') FROM jsonb_array_elements(:sourceAlias.jsonb->'emails') AS elems)", +// filterValueGetter: "( SELECT array_agg(lower(elems.value->>'language')) FROM jsonb_array_elements(:sourceAlias.jsonb->'emails') AS elems)", +// valueFunction: 'lower(:value)', +// }, ], }, }, @@ -626,17 +631,17 @@ itemDataType: { dataType: 'objectType', properties: [ - { - name: 'id', - property: 'id', - dataType: { - dataType: 'rangedUUIDType', - }, - queryable: false, - valueGetter: "( SELECT array_agg(elems.value->>'id') FROM jsonb_array_elements(:sourceAlias.jsonb->'urls') AS elems)", - filterValueGetter: "( SELECT array_agg(lower(elems.value->>'id')) FROM jsonb_array_elements(:sourceAlias.jsonb->'urls') AS elems)", - valueFunction: 'lower(:value)', - }, +// { +// name: 'id', +// property: 'id', +// dataType: { +// dataType: 'rangedUUIDType', +// }, +// queryable: false, +// valueGetter: "( SELECT array_agg(elems.value->>'id') FROM jsonb_array_elements(:sourceAlias.jsonb->'urls') AS elems)", +// filterValueGetter: "( SELECT array_agg(lower(elems.value->>'id')) FROM jsonb_array_elements(:sourceAlias.jsonb->'urls') AS elems)", +// valueFunction: 'lower(:value)', +// }, { name: 'value', property: 'value', @@ -659,52 +664,52 @@ filterValueGetter: "( SELECT array_agg(lower(elems.value->>'description')) FROM jsonb_array_elements(:sourceAlias.jsonb->'urls') AS elems)", valueFunction: 'lower(:value)', }, - { - name: 'language', - property: 'language', - dataType: { - dataType: 'stringType', - }, - queryable: false, - valueGetter: "( SELECT array_agg(elems.value->>'language') FROM jsonb_array_elements(:sourceAlias.jsonb->'urls') AS elems)", - filterValueGetter: "( SELECT array_agg(lower(elems.value->>'language')) FROM jsonb_array_elements(:sourceAlias.jsonb->'urls') AS elems)", - valueFunction: 'lower(:value)', - }, - { - name: 'is_primary', - property: 'isPrimary', - dataType: { - dataType: 'booleanType', - }, - queryable: false, - valueGetter: "( SELECT array_agg(elems.value->>'isPrimary') FROM jsonb_array_elements(:sourceAlias.jsonb->'urls') AS elems)", - filterValueGetter: "( SELECT array_agg(lower(elems.value->>'isPrimary')) FROM jsonb_array_elements(:sourceAlias.jsonb->'urls') AS elems)", - valueFunction: 'lower(:value)', - values: [ - { - value: 'true', - label: 'True', - }, - { - value: 'false', - label: 'False', - }, - ], - }, - { - name: 'categories', - property: 'categories', - dataType: { - dataType: 'arrayType', - itemDataType: { - dataType: 'rangedUUIDType', - }, - }, - queryable: false, - valueGetter: "( SELECT array_agg(elems.value->>'categories') FROM jsonb_array_elements(:sourceAlias.jsonb->'urls') AS elems)", - filterValueGetter: "( SELECT array_agg(lower(elems.value->>'categories')) FROM jsonb_array_elements(:sourceAlias.jsonb->'urls') AS elems)", - valueFunction: 'lower(:value)', - }, +// { +// name: 'language', +// property: 'language', +// dataType: { +// dataType: 'stringType', +// }, +// queryable: false, +// valueGetter: "( SELECT array_agg(elems.value->>'language') FROM jsonb_array_elements(:sourceAlias.jsonb->'urls') AS elems)", +// filterValueGetter: "( SELECT array_agg(lower(elems.value->>'language')) FROM jsonb_array_elements(:sourceAlias.jsonb->'urls') AS elems)", +// valueFunction: 'lower(:value)', +// }, +// { +// name: 'is_primary', +// property: 'isPrimary', +// dataType: { +// dataType: 'booleanType', +// }, +// queryable: false, +// valueGetter: "( SELECT array_agg(elems.value->>'isPrimary') FROM jsonb_array_elements(:sourceAlias.jsonb->'urls') AS elems)", +// filterValueGetter: "( SELECT array_agg(lower(elems.value->>'isPrimary')) FROM jsonb_array_elements(:sourceAlias.jsonb->'urls') AS elems)", +// valueFunction: 'lower(:value)', +// values: [ +// { +// value: 'true', +// label: 'True', +// }, +// { +// value: 'false', +// label: 'False', +// }, +// ], +// }, +// { +// name: 'categories', +// property: 'categories', +// dataType: { +// dataType: 'arrayType', +// itemDataType: { +// dataType: 'rangedUUIDType', +// }, +// }, +// queryable: false, +// valueGetter: "( SELECT array_agg(elems.value->>'categories') FROM jsonb_array_elements(:sourceAlias.jsonb->'urls') AS elems)", +// filterValueGetter: "( SELECT array_agg(lower(elems.value->>'categories')) FROM jsonb_array_elements(:sourceAlias.jsonb->'urls') AS elems)", +// valueFunction: 'lower(:value)', +// }, { name: 'notes', property: 'notes', @@ -736,6 +741,7 @@ isIdColumn: false, queryable: false, visibleByDefault: false, + hidden: true, valueGetter: "(\ SELECT\ array_agg(elems.value::text)\ @@ -761,6 +767,7 @@ isIdColumn: false, queryable: false, visibleByDefault: false, + hidden: true, valueGetter: "(\ SELECT\ array_agg(elems.value::text)\ @@ -1131,6 +1138,7 @@ isIdColumn: false, queryable: false, visibleByDefault: false, + hidden: true, valueGetter: "(\ SELECT\ array_agg(elems.value::text)\ @@ -1327,6 +1335,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + essential: true, valueGetter: ":sourceAlias.jsonb->>'isVendor'", values: [ { @@ -1348,6 +1357,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + essential: true, valueGetter: ":sourceAlias.jsonb->>'isDonor'", values: [ { @@ -1421,6 +1431,7 @@ isIdColumn: false, queryable: false, visibleByDefault: false, + hidden: true, valueGetter: "(\ SELECT\ array_agg(elems.value::text)\ @@ -1444,7 +1455,7 @@ }, }, idColumnName: 'acq_unit_ids', - queryable: false, + queryable: true, visibleByDefault: false, valueGetter: "( SELECT array_agg(acq_unit.jsonb ->> 'name'::text) FILTER (WHERE (acq_unit.jsonb ->> 'name'::text) IS NOT NULL) AS array_agg FROM jsonb_array_elements_text((:sourceAlias.jsonb -> 'acqUnitIds'::text)) record(value) JOIN src_acquisitions_unit acq_unit ON lower(record.value::text) = acq_unit.id::text)", filterValueGetter: "( SELECT array_agg(lower(acq_unit.jsonb ->> 'name'::text)) FILTER (WHERE (acq_unit.jsonb ->> 'name'::text) IS NOT NULL) AS array_agg FROM jsonb_array_elements_text((:sourceAlias.jsonb -> 'acqUnitIds'::text)) record(value) JOIN src_acquisitions_unit acq_unit ON (record.value::text) = acq_unit.id::text)", @@ -1463,6 +1474,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + essential: true, valueGetter: ":sourceAlias.jsonb->'edi'->>'vendorEdiCode'", }, { @@ -1474,6 +1486,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + essential: true, valueGetter: ":sourceAlias.jsonb->'edi'->>'vendorEdiType'", values: [ { @@ -1543,6 +1556,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, valueGetter: ":sourceAlias.jsonb->'edi'->>'prorateTax'", values: [ { @@ -1564,6 +1578,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, valueGetter: ":sourceAlias.jsonb->'edi'->>'prorateFees'", values: [ { @@ -1585,6 +1600,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, valueGetter: ":sourceAlias.jsonb->'edi'->>'ediNamingConvention'", }, { @@ -1596,6 +1612,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, valueGetter: ":sourceAlias.jsonb->'edi'->>'sendAcctNum'", values: [ { @@ -1617,6 +1634,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, valueGetter: ":sourceAlias.jsonb->'edi'->>'supportOrder'", values: [ { @@ -1638,6 +1656,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, valueGetter: ":sourceAlias.jsonb->'edi'->>'supportInvoice'", values: [ { @@ -1670,6 +1689,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, valueGetter: ":sourceAlias.jsonb->'edi'->'ediFtp'->>'ftpFormat'", values: [ { @@ -1691,6 +1711,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, valueGetter: ":sourceAlias.jsonb->'edi'->'ediFtp'->>'serverAddress'", }, { @@ -1702,19 +1723,9 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, valueGetter: ":sourceAlias.jsonb->'edi'->'ediFtp'->>'username'", }, - { - name: 'edi_ftp_password', - sourceAlias: 'org', - dataType: { - dataType: 'stringType', - }, - isIdColumn: false, - queryable: true, - visibleByDefault: false, - valueGetter: ":sourceAlias.jsonb->'edi'->'ediFtp'->>'password'", - }, { name: 'edi_ftp_mode', sourceAlias: 'org', @@ -1724,6 +1735,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, valueGetter: ":sourceAlias.jsonb->'edi'->'ediFtp'->>'ftpMode'", values: [ { @@ -1745,6 +1757,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, valueGetter: ":sourceAlias.jsonb->'edi'->'ediFtp'->>'ftpConnMode'", values: [ { @@ -1766,6 +1779,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, valueGetter: ":sourceAlias.jsonb->'edi'->'ediFtp'->>'ftpPort'", }, { @@ -1777,6 +1791,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, valueGetter: ":sourceAlias.jsonb->'edi'->'ediFtp'->>'orderDirectory'", }, { @@ -1788,6 +1803,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, valueGetter: ":sourceAlias.jsonb->'edi'->'ediFtp'->>'invoiceDirectory'", }, { @@ -1799,6 +1815,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, valueGetter: ":sourceAlias.jsonb->'edi'->'ediFtp'->>'notes'", }, { @@ -1831,6 +1848,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, valueGetter: ":sourceAlias.jsonb->'edi'->'ediJob'->>'schedulingDate'", }, { @@ -1842,6 +1860,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, valueGetter: ":sourceAlias.jsonb->'edi'->'ediJob'->>'time'", }, { @@ -1853,6 +1872,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, valueGetter: ":sourceAlias.jsonb->'edi'->'ediJob'->>'isMonday'", values: [ { @@ -1874,6 +1894,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, valueGetter: ":sourceAlias.jsonb->'edi'->'ediJob'->>'isTuesday'", values: [ { @@ -1895,6 +1916,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, valueGetter: ":sourceAlias.jsonb->'edi'->'ediJob'->>'isWednesday'", values: [ { @@ -1916,6 +1938,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, valueGetter: ":sourceAlias.jsonb->'edi'->'ediJob'->>'isThursday'", values: [ { @@ -1937,6 +1960,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, valueGetter: ":sourceAlias.jsonb->'edi'->'ediJob'->>'isFriday'", values: [ { @@ -1958,6 +1982,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, valueGetter: ":sourceAlias.jsonb->'edi'->'ediJob'->>'isSaturday'", values: [ { @@ -1979,6 +2004,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, valueGetter: ":sourceAlias.jsonb->'edi'->'ediJob'->>'isSunday'", values: [ { @@ -2000,6 +2026,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, valueGetter: ":sourceAlias.jsonb->'edi'->'ediJob'->>'sendToEmails'", }, { @@ -2011,6 +2038,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, valueGetter: ":sourceAlias.jsonb->'edi'->'ediJob'->>'notifyAllEdi'", values: [ { @@ -2032,6 +2060,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, valueGetter: ":sourceAlias.jsonb->'edi'->'ediJob'->>'notifyInvoiceOnly'", values: [ { @@ -2053,6 +2082,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, valueGetter: ":sourceAlias.jsonb->'edi'->'ediJob'->>'notifyErrorOnly'", values: [ { @@ -2074,6 +2104,7 @@ isIdColumn: false, queryable: true, visibleByDefault: false, + hidden: true, valueGetter: ":sourceAlias.jsonb->'edi'->'ediJob'->>'schedulingNotes'", }, { @@ -2086,6 +2117,7 @@ queryable: false, hidden: true, visibleByDefault: false, + essential: true, valueGetter: ":sourceAlias.jsonb::text", } ], diff --git a/src/main/resources/entity-types/simple_instance_date_type.json5 b/src/main/resources/entity-types/simple_instance_date_type.json5 new file mode 100644 index 00000000..1b88d83a --- /dev/null +++ b/src/main/resources/entity-types/simple_instance_date_type.json5 @@ -0,0 +1,64 @@ +{ + id: '2d4bd468-720e-42b2-af41-8f4a9d7cb335', + name: 'simple_instance_date_type', + private: true, + sources: [ + { + alias: 'date_type', + type: 'db', + target: 'src_inventory_instance_date_type', + }, + ], + requiredPermissions: [ + 'inventory-storage.instance-date-types.collection.get', + ], + columns: [ + { + name: 'id', + dataType: { + dataType: 'rangedUUIDType', + }, + isIdColumn: true, + queryable: true, + hidden: true, + essential: true, + valueGetter: ':date_type.id', + }, + { + name: 'name', + dataType: { + dataType: 'stringType', + }, + idColumnName: 'id', + queryable: true, + essential: true, + valueGetter: ":date_type.jsonb ->> 'name'", + source: { + entityTypeId: '2d4bd468-720e-42b2-af41-8f4a9d7cb335', + columnName: 'name', + }, + valueSourceApi: { + path: 'instance-date-types', + valueJsonPath: '$.instanceDateTypes.*.id', + labelJsonPath: '$.instanceDateTypes.*.name', + }, + }, + { + name: 'code', + dataType: { + dataType: 'stringType', + }, + idColumnName: 'id', + queryable: true, + valueGetter: ":date_type.jsonb ->> 'code'", + source: { + entityTypeId: '2d4bd468-720e-42b2-af41-8f4a9d7cb335', + columnName: 'code', + }, + valueSourceApi: { + valueJsonPath: '$.instanceDateTypes.*.id', + labelJsonPath: '$.instanceDateTypes.*.code', + }, + }, + ], +} diff --git a/src/main/resources/entity-types/users/composite_users_details.json5 b/src/main/resources/entity-types/users/composite_users_details.json5 index 19a22802..36db649e 100644 --- a/src/main/resources/entity-types/users/composite_users_details.json5 +++ b/src/main/resources/entity-types/users/composite_users_details.json5 @@ -16,6 +16,7 @@ alias: 'groups', type: 'entity-type', id: 'e7717b38-4ff3-4fb9-ae09-b3d0c8400710', // simple_group_details + essentialOnly: true, join: { type: 'left join', joinTo: 'users.user', diff --git a/src/main/resources/entity-types/users/simple_group_details.json5 b/src/main/resources/entity-types/users/simple_group_details.json5 index 54b84d86..5ae1d0b0 100644 --- a/src/main/resources/entity-types/users/simple_group_details.json5 +++ b/src/main/resources/entity-types/users/simple_group_details.json5 @@ -22,8 +22,20 @@ }, isIdColumn: false, queryable: true, - visibleByDefault: false, + visibleByDefault: true, + essential: true, valueGetter: ":sourceAlias.jsonb->>'group'", + filterValueGetter: "lower(${tenant_id}_mod_users.f_unaccent(:sourceAlias.jsonb ->> 'group'::text))", + valueFunction: 'lower(${tenant_id}_mod_users.f_unaccent(:value))', + source: { + entityTypeId: "e7717b38-4ff3-4fb9-ae09-b3d0c8400710", + columnName: 'group' + }, + valueSourceApi: { + path: 'groups', + valueJsonPath: '$.usergroups.*.group', + labelJsonPath: '$.usergroups.*.group', + } }, { name: 'id', @@ -33,8 +45,19 @@ }, isIdColumn: true, queryable: true, + essential: true, + hidden: true, visibleByDefault: false, valueGetter: ':sourceAlias.id', + source: { + entityTypeId: "e7717b38-4ff3-4fb9-ae09-b3d0c8400710", + columnName: 'id' + }, + valueSourceApi: { + path: 'groups', + valueJsonPath: '$.usergroups.*.id', + labelJsonPath: '$.usergroups.*.id', + } }, { name: 'expiration_off_set_in_days', @@ -42,7 +65,7 @@ dataType: { dataType: 'integerType', }, - queryable: true, + queryable: false, visibleByDefault: false, valueGetter: "(:sourceAlias.jsonb->>'expirationOffsetInDays')::integer", valueFunction: '(:value)::integer', @@ -53,7 +76,7 @@ dataType: { dataType: 'stringType', }, - queryable: true, + queryable: false, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->>'source'", }, @@ -63,7 +86,7 @@ dataType: { dataType: 'dateType', }, - queryable: true, + queryable: false, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->'metadata'->>'createdDate'", }, @@ -73,7 +96,7 @@ dataType: { dataType: 'dateType', }, - queryable: true, + queryable: false, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->'metadata'->>'updatedDate'", }, @@ -83,7 +106,7 @@ dataType: { dataType: 'rangedUUIDType', }, - queryable: true, + queryable: false, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->'metadata'->>'createdByUserId'", }, @@ -93,7 +116,7 @@ dataType: { dataType: 'rangedUUIDType', }, - queryable: true, + queryable: false, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->'metadata'->>'updatedByUserId'", }, @@ -103,7 +126,7 @@ dataType: { dataType: 'stringType', }, - queryable: true, + queryable: false, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->'metadata'->>'createdByUsername'", }, @@ -113,13 +136,16 @@ dataType: { dataType: 'stringType', }, - queryable: true, + queryable: false, visibleByDefault: false, valueGetter: ":sourceAlias.jsonb->'metadata'->>'updatedByUsername'", }, { name: 'desc', sourceAlias: 'groups', + visibleByDefault: false, + hidden: true, + queryable: false, dataType: { dataType: 'stringType', }, @@ -128,10 +154,13 @@ { name: 'jsonb', sourceAlias: 'groups', + queryable: false, + visibleByDefault: false, dataType: { dataType: 'stringType', }, hidden: true, + essential: true, valueGetter: ":sourceAlias.jsonb::text", } ], diff --git a/src/main/resources/languages.json5 b/src/main/resources/languages.json5 new file mode 100644 index 00000000..0e815fab --- /dev/null +++ b/src/main/resources/languages.json5 @@ -0,0 +1,492 @@ +[ + { alpha3: 'aar', alpha2: 'aa', name: 'Afar' }, + { alpha3: 'abk', alpha2: 'ab', name: 'Abkhazian' }, + { alpha3: 'ace', alpha2: '', name: 'Achinese' }, + { alpha3: 'ach', alpha2: '', name: 'Acoli' }, + { alpha3: 'ada', alpha2: '', name: 'Adangme' }, + { alpha3: 'ady', alpha2: '', name: 'Adyghe; Adygei' }, + { alpha3: 'afa', alpha2: '', name: 'Afro-Asiatic languages' }, + { alpha3: 'afh', alpha2: '', name: 'Afrihili' }, + { alpha3: 'afr', alpha2: 'af', name: 'Afrikaans' }, + { alpha3: 'ain', alpha2: '', name: 'Ainu' }, + { alpha3: 'aka', alpha2: 'ak', name: 'Akan' }, + { alpha3: 'akk', alpha2: '', name: 'Akkadian' }, + { alpha3: 'alb', alpha2: 'sq', name: 'Albanian' }, + { alpha3: 'ale', alpha2: '', name: 'Aleut' }, + { alpha3: 'alg', alpha2: '', name: 'Algonquian languages' }, + { alpha3: 'alt', alpha2: '', name: 'Southern Altai' }, + { alpha3: 'amh', alpha2: 'am', name: 'Amharic' }, + { alpha3: 'ang', alpha2: '', name: 'English, Old (ca.450-1100)' }, + { alpha3: 'anp', alpha2: '', name: 'Angika' }, + { alpha3: 'apa', alpha2: '', name: 'Apache languages' }, + { alpha3: 'ara', alpha2: 'ar', name: 'Arabic' }, + { alpha3: 'arc', alpha2: '', name: 'Official Aramaic (700-300 BCE); Imperial Aramaic (700-300 BCE)' }, + { alpha3: 'arg', alpha2: 'an', name: 'Aragonese' }, + { alpha3: 'arm', alpha2: 'hy', name: 'Armenian' }, + { alpha3: 'arn', alpha2: '', name: 'Mapudungun; Mapuche' }, + { alpha3: 'arp', alpha2: '', name: 'Arapaho' }, + { alpha3: 'art', alpha2: '', name: 'Artificial languages' }, + { alpha3: 'arw', alpha2: '', name: 'Arawak' }, + { alpha3: 'asm', alpha2: 'as', name: 'Assamese' }, + { alpha3: 'ast', alpha2: '', name: 'Asturian; Bable; Leonese; Asturleonese' }, + { alpha3: 'ath', alpha2: '', name: 'Athapascan languages' }, + { alpha3: 'aus', alpha2: '', name: 'Australian languages' }, + { alpha3: 'ava', alpha2: 'av', name: 'Avaric' }, + { alpha3: 'ave', alpha2: 'ae', name: 'Avestan' }, + { alpha3: 'awa', alpha2: '', name: 'Awadhi' }, + { alpha3: 'aym', alpha2: 'ay', name: 'Aymara' }, + { alpha3: 'aze', alpha2: 'az', name: 'Azerbaijani' }, + { alpha3: 'bad', alpha2: '', name: 'Banda languages' }, + { alpha3: 'bai', alpha2: '', name: 'Bamileke languages' }, + { alpha3: 'bak', alpha2: 'ba', name: 'Bashkir' }, + { alpha3: 'bal', alpha2: '', name: 'Baluchi' }, + { alpha3: 'bam', alpha2: 'bm', name: 'Bambara' }, + { alpha3: 'ban', alpha2: '', name: 'Balinese' }, + { alpha3: 'baq', alpha2: 'eu', name: 'Basque' }, + { alpha3: 'bas', alpha2: '', name: 'Basa' }, + { alpha3: 'bat', alpha2: '', name: 'Baltic languages' }, + { alpha3: 'bej', alpha2: '', name: 'Beja; Bedawiyet' }, + { alpha3: 'bel', alpha2: 'be', name: 'Belarusian' }, + { alpha3: 'bem', alpha2: '', name: 'Bemba' }, + { alpha3: 'ben', alpha2: 'bn', name: 'Bengali' }, + { alpha3: 'ber', alpha2: '', name: 'Berber languages' }, + { alpha3: 'bho', alpha2: '', name: 'Bhojpuri' }, + { alpha3: 'bih', alpha2: 'bh', name: 'Bihari languages' }, + { alpha3: 'bik', alpha2: '', name: 'Bikol' }, + { alpha3: 'bin', alpha2: '', name: 'Bini; Edo' }, + { alpha3: 'bis', alpha2: 'bi', name: 'Bislama' }, + { alpha3: 'bla', alpha2: '', name: 'Siksika' }, + { alpha3: 'bnt', alpha2: '', name: 'Bantu languages' }, + { alpha3: 'bos', alpha2: 'bs', name: 'Bosnian' }, + { alpha3: 'bra', alpha2: '', name: 'Braj' }, + { alpha3: 'bre', alpha2: 'br', name: 'Breton' }, + { alpha3: 'btk', alpha2: '', name: 'Batak languages' }, + { alpha3: 'bua', alpha2: '', name: 'Buriat' }, + { alpha3: 'bug', alpha2: '', name: 'Buginese' }, + { alpha3: 'bul', alpha2: 'bg', name: 'Bulgarian' }, + { alpha3: 'bur', alpha2: 'my', name: 'Burmese' }, + { alpha3: 'byn', alpha2: '', name: 'Blin; Bilin' }, + { alpha3: 'cad', alpha2: '', name: 'Caddo' }, + { alpha3: 'cai', alpha2: '', name: 'Central American Indian languages' }, + { alpha3: 'car', alpha2: '', name: 'Galibi Carib' }, + { alpha3: 'cat', alpha2: 'ca', name: 'Catalan; Valencian' }, + { alpha3: 'cau', alpha2: '', name: 'Caucasian languages' }, + { alpha3: 'ceb', alpha2: '', name: 'Cebuano' }, + { alpha3: 'cel', alpha2: '', name: 'Celtic languages' }, + { alpha3: 'cha', alpha2: 'ch', name: 'Chamorro' }, + { alpha3: 'chb', alpha2: '', name: 'Chibcha' }, + { alpha3: 'che', alpha2: 'ce', name: 'Chechen' }, + { alpha3: 'chg', alpha2: '', name: 'Chagatai' }, + { alpha3: 'chi', alpha2: 'zh', name: 'Chinese' }, + { alpha3: 'chk', alpha2: '', name: 'Chuukese' }, + { alpha3: 'chm', alpha2: '', name: 'Mari' }, + { alpha3: 'chn', alpha2: '', name: 'Chinook jargon' }, + { alpha3: 'cho', alpha2: '', name: 'Choctaw' }, + { alpha3: 'chp', alpha2: '', name: 'Chipewyan; Dene Suline' }, + { alpha3: 'chr', alpha2: '', name: 'Cherokee' }, + { + alpha3: 'chu', + alpha2: 'cu', + name: 'Church Slavic; Old Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic' + }, + { alpha3: 'chv', alpha2: 'cv', name: 'Chuvash' }, + { alpha3: 'chy', alpha2: '', name: 'Cheyenne' }, + { alpha3: 'cmc', alpha2: '', name: 'Chamic languages' }, + { alpha3: 'cnr', alpha2: '', name: 'Montenegrin' }, + { alpha3: 'cop', alpha2: '', name: 'Coptic' }, + { alpha3: 'cor', alpha2: 'kw', name: 'Cornish' }, + { alpha3: 'cos', alpha2: 'co', name: 'Corsican' }, + { alpha3: 'cpe', alpha2: '', name: 'Creoles and pidgins, English based' }, + { alpha3: 'cpf', alpha2: '', name: 'Creoles and pidgins, French-based' }, + { alpha3: 'cpp', alpha2: '', name: 'Creoles and pidgins, Portuguese-based' }, + { alpha3: 'cre', alpha2: 'cr', name: 'Cree' }, + { alpha3: 'crh', alpha2: '', name: 'Crimean Tatar; Crimean Turkish' }, + { alpha3: 'crp', alpha2: '', name: 'Creoles and pidgins' }, + { alpha3: 'csb', alpha2: '', name: 'Kashubian' }, + { alpha3: 'cus', alpha2: '', name: 'Cushitic languages' }, + { alpha3: 'cze', alpha2: 'cs', name: 'Czech' }, + { alpha3: 'dak', alpha2: '', name: 'Dakota' }, + { alpha3: 'dan', alpha2: 'da', name: 'Danish' }, + { alpha3: 'dar', alpha2: '', name: 'Dargwa' }, + { alpha3: 'day', alpha2: '', name: 'Land Dayak languages' }, + { alpha3: 'del', alpha2: '', name: 'Delaware' }, + { alpha3: 'den', alpha2: '', name: 'Slave (Athapascan)' }, + { alpha3: 'dgr', alpha2: '', name: 'Dogrib' }, + { alpha3: 'din', alpha2: '', name: 'Dinka' }, + { alpha3: 'div', alpha2: 'dv', name: 'Divehi; Dhivehi; Maldivian' }, + { alpha3: 'doi', alpha2: '', name: 'Dogri' }, + { alpha3: 'dra', alpha2: '', name: 'Dravidian languages' }, + { alpha3: 'dsb', alpha2: '', name: 'Lower Sorbian' }, + { alpha3: 'dua', alpha2: '', name: 'Duala' }, + { alpha3: 'dum', alpha2: '', name: 'Dutch, Middle (ca.1050-1350)' }, + { alpha3: 'dut', alpha2: 'nl', name: 'Dutch; Flemish' }, + { alpha3: 'dyu', alpha2: '', name: 'Dyula' }, + { alpha3: 'dzo', alpha2: 'dz', name: 'Dzongkha' }, + { alpha3: 'efi', alpha2: '', name: 'Efik' }, + { alpha3: 'egy', alpha2: '', name: 'Egyptian (Ancient)' }, + { alpha3: 'eka', alpha2: '', name: 'Ekajuk' }, + { alpha3: 'elx', alpha2: '', name: 'Elamite' }, + { alpha3: 'eng', alpha2: 'en', name: 'English' }, + { alpha3: 'enm', alpha2: '', name: 'English, Middle (1100-1500)' }, + { alpha3: 'epo', alpha2: 'eo', name: 'Esperanto' }, + { alpha3: 'est', alpha2: 'et', name: 'Estonian' }, + { alpha3: 'ewe', alpha2: 'ee', name: 'Ewe' }, + { alpha3: 'ewo', alpha2: '', name: 'Ewondo' }, + { alpha3: 'fan', alpha2: '', name: 'Fang' }, + { alpha3: 'fao', alpha2: 'fo', name: 'Faroese' }, + { alpha3: 'fat', alpha2: '', name: 'Fanti' }, + { alpha3: 'fij', alpha2: 'fj', name: 'Fijian' }, + { alpha3: 'fil', alpha2: '', name: 'Filipino; Pilipino' }, + { alpha3: 'fin', alpha2: 'fi', name: 'Finnish' }, + { alpha3: 'fiu', alpha2: '', name: 'Finno-Ugrian languages' }, + { alpha3: 'fon', alpha2: '', name: 'Fon' }, + { alpha3: 'fre', alpha2: 'fr', name: 'French' }, + { alpha3: 'frm', alpha2: '', name: 'French, Middle (ca.1400-1600)' }, + { alpha3: 'fro', alpha2: '', name: 'French, Old (842-ca.1400)' }, + { alpha3: 'frr', alpha2: '', name: 'Northern Frisian' }, + { alpha3: 'frs', alpha2: '', name: 'Eastern Frisian' }, + { alpha3: 'fry', alpha2: 'fy', name: 'Western Frisian' }, + { alpha3: 'ful', alpha2: 'ff', name: 'Fulah' }, + { alpha3: 'fur', alpha2: '', name: 'Friulian' }, + { alpha3: 'gaa', alpha2: '', name: 'Ga' }, + { alpha3: 'gay', alpha2: '', name: 'Gayo' }, + { alpha3: 'gba', alpha2: '', name: 'Gbaya' }, + { alpha3: 'gem', alpha2: '', name: 'Germanic languages' }, + { alpha3: 'geo', alpha2: 'ka', name: 'Georgian' }, + { alpha3: 'ger', alpha2: 'de', name: 'German' }, + { alpha3: 'gez', alpha2: '', name: 'Geez' }, + { alpha3: 'gil', alpha2: '', name: 'Gilbertese' }, + { alpha3: 'gla', alpha2: 'gd', name: 'Gaelic; Scottish Gaelic' }, + { alpha3: 'gle', alpha2: 'ga', name: 'Irish' }, + { alpha3: 'glg', alpha2: 'gl', name: 'Galician' }, + { alpha3: 'glv', alpha2: 'gv', name: 'Manx' }, + { alpha3: 'gmh', alpha2: '', name: 'German, Middle High (ca.1050-1500)' }, + { alpha3: 'goh', alpha2: '', name: 'German, Old High (ca.750-1050)' }, + { alpha3: 'gon', alpha2: '', name: 'Gondi' }, + { alpha3: 'gor', alpha2: '', name: 'Gorontalo' }, + { alpha3: 'got', alpha2: '', name: 'Gothic' }, + { alpha3: 'grb', alpha2: '', name: 'Grebo' }, + { alpha3: 'grc', alpha2: '', name: 'Greek, Ancient (to 1453)' }, + { alpha3: 'gre', alpha2: 'el', name: 'Greek, Modern (1453-)' }, + { alpha3: 'grn', alpha2: 'gn', name: 'Guarani' }, + { alpha3: 'gsw', alpha2: '', name: 'Swiss German; Alemannic; Alsatian' }, + { alpha3: 'guj', alpha2: 'gu', name: 'Gujarati' }, + { alpha3: 'gwi', alpha2: '', name: 'Gwich\'in' }, + { alpha3: 'hai', alpha2: '', name: 'Haida' }, + { alpha3: 'hat', alpha2: 'ht', name: 'Haitian; Haitian Creole' }, + { alpha3: 'hau', alpha2: 'ha', name: 'Hausa' }, + { alpha3: 'haw', alpha2: '', name: 'Hawaiian' }, + { alpha3: 'heb', alpha2: 'he', name: 'Hebrew' }, + { alpha3: 'her', alpha2: 'hz', name: 'Herero' }, + { alpha3: 'hil', alpha2: '', name: 'Hiligaynon' }, + { alpha3: 'him', alpha2: '', name: 'Himachali languages; Western Pahari languages' }, + { alpha3: 'hin', alpha2: 'hi', name: 'Hindi' }, + { alpha3: 'hit', alpha2: '', name: 'Hittite' }, + { alpha3: 'hmn', alpha2: '', name: 'Hmong; Mong' }, + { alpha3: 'hmo', alpha2: 'ho', name: 'Hiri Motu' }, + { alpha3: 'hrv', alpha2: 'hr', name: 'Croatian' }, + { alpha3: 'hsb', alpha2: '', name: 'Upper Sorbian' }, + { alpha3: 'hun', alpha2: 'hu', name: 'Hungarian' }, + { alpha3: 'hup', alpha2: '', name: 'Hupa' }, + { alpha3: 'iba', alpha2: '', name: 'Iban' }, + { alpha3: 'ibo', alpha2: 'ig', name: 'Igbo' }, + { alpha3: 'ice', alpha2: 'is', name: 'Icelandic' }, + { alpha3: 'ido', alpha2: 'io', name: 'Ido' }, + { alpha3: 'iii', alpha2: 'ii', name: 'Sichuan Yi; Nuosu' }, + { alpha3: 'ijo', alpha2: '', name: 'Ijo languages' }, + { alpha3: 'iku', alpha2: 'iu', name: 'Inuktitut' }, + { alpha3: 'ile', alpha2: 'ie', name: 'Interlingue; Occidental' }, + { alpha3: 'ilo', alpha2: '', name: 'Iloko' }, + { alpha3: 'ina', alpha2: 'ia', name: 'Interlingua (International Auxiliary Language Association)' }, + { alpha3: 'inc', alpha2: '', name: 'Indic languages' }, + { alpha3: 'ind', alpha2: 'id', name: 'Indonesian' }, + { alpha3: 'ine', alpha2: '', name: 'Indo-European languages' }, + { alpha3: 'inh', alpha2: '', name: 'Ingush' }, + { alpha3: 'ipk', alpha2: 'ik', name: 'Inupiaq' }, + { alpha3: 'ira', alpha2: '', name: 'Iranian languages' }, + { alpha3: 'iro', alpha2: '', name: 'Iroquoian languages' }, + { alpha3: 'ita', alpha2: 'it', name: 'Italian' }, + { alpha3: 'jav', alpha2: 'jv', name: 'Javanese' }, + { alpha3: 'jbo', alpha2: '', name: 'Lojban' }, + { alpha3: 'jpn', alpha2: 'ja', name: 'Japanese' }, + { alpha3: 'jpr', alpha2: '', name: 'Judeo-Persian' }, + { alpha3: 'jrb', alpha2: '', name: 'Judeo-Arabic' }, + { alpha3: 'kaa', alpha2: '', name: 'Kara-Kalpak' }, + { alpha3: 'kab', alpha2: '', name: 'Kabyle' }, + { alpha3: 'kac', alpha2: '', name: 'Kachin; Jingpho' }, + { alpha3: 'kal', alpha2: 'kl', name: 'Kalaallisut; Greenlandic' }, + { alpha3: 'kam', alpha2: '', name: 'Kamba' }, + { alpha3: 'kan', alpha2: 'kn', name: 'Kannada' }, + { alpha3: 'kar', alpha2: '', name: 'Karen languages' }, + { alpha3: 'kas', alpha2: 'ks', name: 'Kashmiri' }, + { alpha3: 'kau', alpha2: 'kr', name: 'Kanuri' }, + { alpha3: 'kaw', alpha2: '', name: 'Kawi' }, + { alpha3: 'kaz', alpha2: 'kk', name: 'Kazakh' }, + { alpha3: 'kbd', alpha2: '', name: 'Kabardian' }, + { alpha3: 'kha', alpha2: '', name: 'Khasi' }, + { alpha3: 'khi', alpha2: '', name: 'Khoisan languages' }, + { alpha3: 'khm', alpha2: 'km', name: 'Central Khmer' }, + { alpha3: 'kho', alpha2: '', name: 'Khotanese; Sakan' }, + { alpha3: 'kik', alpha2: 'ki', name: 'Kikuyu; Gikuyu' }, + { alpha3: 'kin', alpha2: 'rw', name: 'Kinyarwanda' }, + { alpha3: 'kir', alpha2: 'ky', name: 'Kirghiz; Kyrgyz' }, + { alpha3: 'kmb', alpha2: '', name: 'Kimbundu' }, + { alpha3: 'kok', alpha2: '', name: 'Konkani' }, + { alpha3: 'kom', alpha2: 'kv', name: 'Komi' }, + { alpha3: 'kon', alpha2: 'kg', name: 'Kongo' }, + { alpha3: 'kor', alpha2: 'ko', name: 'Korean' }, + { alpha3: 'kos', alpha2: '', name: 'Kosraean' }, + { alpha3: 'kpe', alpha2: '', name: 'Kpelle' }, + { alpha3: 'krc', alpha2: '', name: 'Karachay-Balkar' }, + { alpha3: 'krl', alpha2: '', name: 'Karelian' }, + { alpha3: 'kro', alpha2: '', name: 'Kru languages' }, + { alpha3: 'kru', alpha2: '', name: 'Kurukh' }, + { alpha3: 'kua', alpha2: 'kj', name: 'Kuanyama; Kwanyama' }, + { alpha3: 'kum', alpha2: '', name: 'Kumyk' }, + { alpha3: 'kur', alpha2: 'ku', name: 'Kurdish' }, + { alpha3: 'kut', alpha2: '', name: 'Kutenai' }, + { alpha3: 'lad', alpha2: '', name: 'Ladino' }, + { alpha3: 'lah', alpha2: '', name: 'Lahnda' }, + { alpha3: 'lam', alpha2: '', name: 'Lamba' }, + { alpha3: 'lao', alpha2: 'lo', name: 'Lao' }, + { alpha3: 'lat', alpha2: 'la', name: 'Latin' }, + { alpha3: 'lav', alpha2: 'lv', name: 'Latvian' }, + { alpha3: 'lez', alpha2: '', name: 'Lezghian' }, + { alpha3: 'lim', alpha2: 'li', name: 'Limburgan; Limburger; Limburgish' }, + { alpha3: 'lin', alpha2: 'ln', name: 'Lingala' }, + { alpha3: 'lit', alpha2: 'lt', name: 'Lithuanian' }, + { alpha3: 'lol', alpha2: '', name: 'Mongo' }, + { alpha3: 'loz', alpha2: '', name: 'Lozi' }, + { alpha3: 'ltz', alpha2: 'lb', name: 'Luxembourgish; Letzeburgesch' }, + { alpha3: 'lua', alpha2: '', name: 'Luba-Lulua' }, + { alpha3: 'lub', alpha2: 'lu', name: 'Luba-Katanga' }, + { alpha3: 'lug', alpha2: 'lg', name: 'Ganda' }, + { alpha3: 'lui', alpha2: '', name: 'Luiseno' }, + { alpha3: 'lun', alpha2: '', name: 'Lunda' }, + { alpha3: 'luo', alpha2: '', name: 'Luo (Kenya and Tanzania)' }, + { alpha3: 'lus', alpha2: '', name: 'Lushai' }, + { alpha3: 'mac', alpha2: 'mk', name: 'Macedonian' }, + { alpha3: 'mad', alpha2: '', name: 'Madurese' }, + { alpha3: 'mag', alpha2: '', name: 'Magahi' }, + { alpha3: 'mah', alpha2: 'mh', name: 'Marshallese' }, + { alpha3: 'mai', alpha2: '', name: 'Maithili' }, + { alpha3: 'mak', alpha2: '', name: 'Makasar' }, + { alpha3: 'mal', alpha2: 'ml', name: 'Malayalam' }, + { alpha3: 'man', alpha2: '', name: 'Mandingo' }, + { alpha3: 'mao', alpha2: 'mi', name: 'Maori' }, + { alpha3: 'map', alpha2: '', name: 'Austronesian languages' }, + { alpha3: 'mar', alpha2: 'mr', name: 'Marathi' }, + { alpha3: 'mas', alpha2: '', name: 'Masai' }, + { alpha3: 'may', alpha2: 'ms', name: 'Malay' }, + { alpha3: 'mdf', alpha2: '', name: 'Moksha' }, + { alpha3: 'mdr', alpha2: '', name: 'Mandar' }, + { alpha3: 'men', alpha2: '', name: 'Mende' }, + { alpha3: 'mga', alpha2: '', name: 'Irish, Middle (900-1200)' }, + { alpha3: 'mic', alpha2: '', name: 'Mi\'kmaq; Micmac' }, + { alpha3: 'min', alpha2: '', name: 'Minangkabau' }, + { alpha3: 'mis', alpha2: '', name: 'Uncoded languages' }, + { alpha3: 'mkh', alpha2: '', name: 'Mon-Khmer languages' }, + { alpha3: 'mlg', alpha2: 'mg', name: 'Malagasy' }, + { alpha3: 'mlt', alpha2: 'mt', name: 'Maltese' }, + { alpha3: 'mnc', alpha2: '', name: 'Manchu' }, + { alpha3: 'mni', alpha2: '', name: 'Manipuri' }, + { alpha3: 'mno', alpha2: '', name: 'Manobo languages' }, + { alpha3: 'moh', alpha2: '', name: 'Mohawk' }, + { alpha3: 'mon', alpha2: 'mn', name: 'Mongolian' }, + { alpha3: 'mos', alpha2: '', name: 'Mossi' }, + { alpha3: 'mul', alpha2: '', name: 'Multiple languages' }, + { alpha3: 'mun', alpha2: '', name: 'Munda languages' }, + { alpha3: 'mus', alpha2: '', name: 'Creek' }, + { alpha3: 'mwl', alpha2: '', name: 'Mirandese' }, + { alpha3: 'mwr', alpha2: '', name: 'Marwari' }, + { alpha3: 'myn', alpha2: '', name: 'Mayan languages' }, + { alpha3: 'myv', alpha2: '', name: 'Erzya' }, + { alpha3: 'nah', alpha2: '', name: 'Nahuatl languages' }, + { alpha3: 'nai', alpha2: '', name: 'North American Indian languages' }, + { alpha3: 'nap', alpha2: '', name: 'Neapolitan' }, + { alpha3: 'nau', alpha2: 'na', name: 'Nauru' }, + { alpha3: 'nav', alpha2: 'nv', name: 'Navajo; Navaho' }, + { alpha3: 'nbl', alpha2: 'nr', name: 'Ndebele, South; South Ndebele' }, + { alpha3: 'nde', alpha2: 'nd', name: 'Ndebele, North; North Ndebele' }, + { alpha3: 'ndo', alpha2: 'ng', name: 'Ndonga' }, + { alpha3: 'nds', alpha2: '', name: 'Low German; Low Saxon; German, Low; Saxon, Low' }, + { alpha3: 'nep', alpha2: 'ne', name: 'Nepali' }, + { alpha3: 'new', alpha2: '', name: 'Nepal Bhasa; Newari' }, + { alpha3: 'nia', alpha2: '', name: 'Nias' }, + { alpha3: 'nic', alpha2: '', name: 'Niger-Kordofanian languages' }, + { alpha3: 'niu', alpha2: '', name: 'Niuean' }, + { alpha3: 'nno', alpha2: 'nn', name: 'Norwegian Nynorsk; Nynorsk, Norwegian' }, + { alpha3: 'nob', alpha2: 'nb', name: 'Bokmål, Norwegian; Norwegian Bokmål' }, + { alpha3: 'nog', alpha2: '', name: 'Nogai' }, + { alpha3: 'non', alpha2: '', name: 'Norse, Old' }, + { alpha3: 'nor', alpha2: 'no', name: 'Norwegian' }, + { alpha3: 'nqo', alpha2: '', name: 'N\'Ko' }, + { alpha3: 'nso', alpha2: '', name: 'Pedi; Sepedi; Northern Sotho' }, + { alpha3: 'nub', alpha2: '', name: 'Nubian languages' }, + { alpha3: 'nwc', alpha2: '', name: 'Classical Newari; Old Newari; Classical Nepal Bhasa' }, + { alpha3: 'nya', alpha2: 'ny', name: 'Chichewa; Chewa; Nyanja' }, + { alpha3: 'nym', alpha2: '', name: 'Nyamwezi' }, + { alpha3: 'nyn', alpha2: '', name: 'Nyankole' }, + { alpha3: 'nyo', alpha2: '', name: 'Nyoro' }, + { alpha3: 'nzi', alpha2: '', name: 'Nzima' }, + { alpha3: 'oci', alpha2: 'oc', name: 'Occitan (post 1500)' }, + { alpha3: 'oji', alpha2: 'oj', name: 'Ojibwa' }, + { alpha3: 'ori', alpha2: 'or', name: 'Oriya' }, + { alpha3: 'orm', alpha2: 'om', name: 'Oromo' }, + { alpha3: 'osa', alpha2: '', name: 'Osage' }, + { alpha3: 'oss', alpha2: 'os', name: 'Ossetian; Ossetic' }, + { alpha3: 'ota', alpha2: '', name: 'Turkish, Ottoman (1500-1928)' }, + { alpha3: 'oto', alpha2: '', name: 'Otomian languages' }, + { alpha3: 'paa', alpha2: '', name: 'Papuan languages' }, + { alpha3: 'pag', alpha2: '', name: 'Pangasinan' }, + { alpha3: 'pal', alpha2: '', name: 'Pahlavi' }, + { alpha3: 'pam', alpha2: '', name: 'Pampanga; Kapampangan' }, + { alpha3: 'pan', alpha2: 'pa', name: 'Panjabi; Punjabi' }, + { alpha3: 'pap', alpha2: '', name: 'Papiamento' }, + { alpha3: 'pau', alpha2: '', name: 'Palauan' }, + { alpha3: 'peo', alpha2: '', name: 'Persian, Old (ca.600-400 B.C.)' }, + { alpha3: 'per', alpha2: 'fa', name: 'Persian' }, + { alpha3: 'phi', alpha2: '', name: 'Philippine languages' }, + { alpha3: 'phn', alpha2: '', name: 'Phoenician' }, + { alpha3: 'pli', alpha2: 'pi', name: 'Pali' }, + { alpha3: 'pol', alpha2: 'pl', name: 'Polish' }, + { alpha3: 'pon', alpha2: '', name: 'Pohnpeian' }, + { alpha3: 'por', alpha2: 'pt', name: 'Portuguese' }, + { alpha3: 'pra', alpha2: '', name: 'Prakrit languages' }, + { alpha3: 'pro', alpha2: '', name: 'Provençal, Old (to 1500); Occitan, Old (to 1500)' }, + { alpha3: 'pus', alpha2: 'ps', name: 'Pushto; Pashto' }, + { alpha3: 'que', alpha2: 'qu', name: 'Quechua' }, + { alpha3: 'raj', alpha2: '', name: 'Rajasthani' }, + { alpha3: 'rap', alpha2: '', name: 'Rapanui' }, + { alpha3: 'rar', alpha2: '', name: 'Rarotongan; Cook Islands Maori' }, + { alpha3: 'roa', alpha2: '', name: 'Romance languages' }, + { alpha3: 'roh', alpha2: 'rm', name: 'Romansh' }, + { alpha3: 'rom', alpha2: '', name: 'Romany' }, + { alpha3: 'rum', alpha2: 'ro', name: 'Romanian; Moldavian; Moldovan' }, + { alpha3: 'run', alpha2: 'rn', name: 'Rundi' }, + { alpha3: 'rup', alpha2: '', name: 'Aromanian; Arumanian; Macedo-Romanian' }, + { alpha3: 'rus', alpha2: 'ru', name: 'Russian' }, + { alpha3: 'sad', alpha2: '', name: 'Sandawe' }, + { alpha3: 'sag', alpha2: 'sg', name: 'Sango' }, + { alpha3: 'sah', alpha2: '', name: 'Yakut' }, + { alpha3: 'sai', alpha2: '', name: 'South American Indian languages' }, + { alpha3: 'sal', alpha2: '', name: 'Salishan languages' }, + { alpha3: 'sam', alpha2: '', name: 'Samaritan Aramaic' }, + { alpha3: 'san', alpha2: 'sa', name: 'Sanskrit' }, + { alpha3: 'sas', alpha2: '', name: 'Sasak' }, + { alpha3: 'sat', alpha2: '', name: 'Santali' }, + { alpha3: 'scn', alpha2: '', name: 'Sicilian' }, + { alpha3: 'sco', alpha2: '', name: 'Scots' }, + { alpha3: 'sel', alpha2: '', name: 'Selkup' }, + { alpha3: 'sem', alpha2: '', name: 'Semitic languages' }, + { alpha3: 'sga', alpha2: '', name: 'Irish, Old (to 900)' }, + { alpha3: 'sgn', alpha2: '', name: 'Sign Languages' }, + { alpha3: 'shn', alpha2: '', name: 'Shan' }, + { alpha3: 'sid', alpha2: '', name: 'Sidamo' }, + { alpha3: 'sin', alpha2: 'si', name: 'Sinhala; Sinhalese' }, + { alpha3: 'sio', alpha2: '', name: 'Siouan languages' }, + { alpha3: 'sit', alpha2: '', name: 'Sino-Tibetan languages' }, + { alpha3: 'sla', alpha2: '', name: 'Slavic languages' }, + { alpha3: 'slo', alpha2: 'sk', name: 'Slovak' }, + { alpha3: 'slv', alpha2: 'sl', name: 'Slovenian' }, + { alpha3: 'sma', alpha2: '', name: 'Southern Sami' }, + { alpha3: 'sme', alpha2: 'se', name: 'Northern Sami' }, + { alpha3: 'smi', alpha2: '', name: 'Sami languages' }, + { alpha3: 'smj', alpha2: '', name: 'Lule Sami' }, + { alpha3: 'smn', alpha2: '', name: 'Inari Sami' }, + { alpha3: 'smo', alpha2: 'sm', name: 'Samoan' }, + { alpha3: 'sms', alpha2: '', name: 'Skolt Sami' }, + { alpha3: 'sna', alpha2: 'sn', name: 'Shona' }, + { alpha3: 'snd', alpha2: 'sd', name: 'Sindhi' }, + { alpha3: 'snk', alpha2: '', name: 'Soninke' }, + { alpha3: 'sog', alpha2: '', name: 'Sogdian' }, + { alpha3: 'som', alpha2: 'so', name: 'Somali' }, + { alpha3: 'son', alpha2: '', name: 'Songhai languages' }, + { alpha3: 'sot', alpha2: 'st', name: 'Sotho, Southern' }, + { alpha3: 'spa', alpha2: 'es', name: 'Spanish; Castilian' }, + { alpha3: 'srd', alpha2: 'sc', name: 'Sardinian' }, + { alpha3: 'srn', alpha2: '', name: 'Sranan Tongo' }, + { alpha3: 'srp', alpha2: 'sr', name: 'Serbian' }, + { alpha3: 'srr', alpha2: '', name: 'Serer' }, + { alpha3: 'ssa', alpha2: '', name: 'Nilo-Saharan languages' }, + { alpha3: 'ssw', alpha2: 'ss', name: 'Swati' }, + { alpha3: 'suk', alpha2: '', name: 'Sukuma' }, + { alpha3: 'sun', alpha2: 'su', name: 'Sundanese' }, + { alpha3: 'sus', alpha2: '', name: 'Susu' }, + { alpha3: 'sux', alpha2: '', name: 'Sumerian' }, + { alpha3: 'swa', alpha2: 'sw', name: 'Swahili' }, + { alpha3: 'swe', alpha2: 'sv', name: 'Swedish' }, + { alpha3: 'syc', alpha2: '', name: 'Classical Syriac' }, + { alpha3: 'syr', alpha2: '', name: 'Syriac' }, + { alpha3: 'tah', alpha2: 'ty', name: 'Tahitian' }, + { alpha3: 'tai', alpha2: '', name: 'Tai languages' }, + { alpha3: 'tam', alpha2: 'ta', name: 'Tamil' }, + { alpha3: 'tat', alpha2: 'tt', name: 'Tatar' }, + { alpha3: 'tel', alpha2: 'te', name: 'Telugu' }, + { alpha3: 'tem', alpha2: '', name: 'Timne' }, + { alpha3: 'ter', alpha2: '', name: 'Tereno' }, + { alpha3: 'tet', alpha2: '', name: 'Tetum' }, + { alpha3: 'tgk', alpha2: 'tg', name: 'Tajik' }, + { alpha3: 'tgl', alpha2: 'tl', name: 'Tagalog' }, + { alpha3: 'tha', alpha2: 'th', name: 'Thai' }, + { alpha3: 'tib', alpha2: 'bo', name: 'Tibetan' }, + { alpha3: 'tig', alpha2: '', name: 'Tigre' }, + { alpha3: 'tir', alpha2: 'ti', name: 'Tigrinya' }, + { alpha3: 'tiv', alpha2: '', name: 'Tiv' }, + { alpha3: 'tkl', alpha2: '', name: 'Tokelau' }, + { alpha3: 'tlh', alpha2: '', name: 'Klingon; tlhIngan-Hol' }, + { alpha3: 'tli', alpha2: '', name: 'Tlingit' }, + { alpha3: 'tmh', alpha2: '', name: 'Tamashek' }, + { alpha3: 'tog', alpha2: '', name: 'Tonga (Nyasa)' }, + { alpha3: 'ton', alpha2: 'to', name: 'Tonga (Tonga Islands)' }, + { alpha3: 'tpi', alpha2: '', name: 'Tok Pisin' }, + { alpha3: 'tsi', alpha2: '', name: 'Tsimshian' }, + { alpha3: 'tsn', alpha2: 'tn', name: 'Tswana' }, + { alpha3: 'tso', alpha2: 'ts', name: 'Tsonga' }, + { alpha3: 'tuk', alpha2: 'tk', name: 'Turkmen' }, + { alpha3: 'tum', alpha2: '', name: 'Tumbuka' }, + { alpha3: 'tup', alpha2: '', name: 'Tupi languages' }, + { alpha3: 'tur', alpha2: 'tr', name: 'Turkish' }, + { alpha3: 'tut', alpha2: '', name: 'Altaic languages' }, + { alpha3: 'tvl', alpha2: '', name: 'Tuvalu' }, + { alpha3: 'twi', alpha2: 'tw', name: 'Twi' }, + { alpha3: 'tyv', alpha2: '', name: 'Tuvinian' }, + { alpha3: 'udm', alpha2: '', name: 'Udmurt' }, + { alpha3: 'uga', alpha2: '', name: 'Ugaritic' }, + { alpha3: 'uig', alpha2: 'ug', name: 'Uighur; Uyghur' }, + { alpha3: 'ukr', alpha2: 'uk', name: 'Ukrainian' }, + { alpha3: 'umb', alpha2: '', name: 'Umbundu' }, + { alpha3: 'und', alpha2: '', name: 'Undetermined' }, + { alpha3: 'urd', alpha2: 'ur', name: 'Urdu' }, + { alpha3: 'uzb', alpha2: 'uz', name: 'Uzbek' }, + { alpha3: 'vai', alpha2: '', name: 'Vai' }, + { alpha3: 'ven', alpha2: 've', name: 'Venda' }, + { alpha3: 'vie', alpha2: 'vi', name: 'Vietnamese' }, + { alpha3: 'vol', alpha2: 'vo', name: 'Volapük' }, + { alpha3: 'vot', alpha2: '', name: 'Votic' }, + { alpha3: 'wak', alpha2: '', name: 'Wakashan languages' }, + { alpha3: 'wal', alpha2: '', name: 'Wolaitta; Wolaytta' }, + { alpha3: 'war', alpha2: '', name: 'Waray' }, + { alpha3: 'was', alpha2: '', name: 'Washo' }, + { alpha3: 'wel', alpha2: 'cy', name: 'Welsh' }, + { alpha3: 'wen', alpha2: '', name: 'Sorbian languages' }, + { alpha3: 'wln', alpha2: 'wa', name: 'Walloon' }, + { alpha3: 'wol', alpha2: 'wo', name: 'Wolof' }, + { alpha3: 'xal', alpha2: '', name: 'Kalmyk; Oirat' }, + { alpha3: 'xho', alpha2: 'xh', name: 'Xhosa' }, + { alpha3: 'yao', alpha2: '', name: 'Yao' }, + { alpha3: 'yap', alpha2: '', name: 'Yapese' }, + { alpha3: 'yid', alpha2: 'yi', name: 'Yiddish' }, + { alpha3: 'yor', alpha2: 'yo', name: 'Yoruba' }, + { alpha3: 'ypk', alpha2: '', name: 'Yupik languages' }, + { alpha3: 'zap', alpha2: '', name: 'Zapotec' }, + { alpha3: 'zbl', alpha2: '', name: 'Blissymbols; Blissymbolics; Bliss' }, + { alpha3: 'zen', alpha2: '', name: 'Zenaga' }, + { alpha3: 'zgh', alpha2: '', name: 'Standard Moroccan Tamazight' }, + { alpha3: 'zha', alpha2: 'za', name: 'Zhuang; Chuang' }, + { alpha3: 'znd', alpha2: '', name: 'Zande languages' }, + { alpha3: 'zul', alpha2: 'zu', name: 'Zulu' }, + { alpha3: 'zun', alpha2: '', name: 'Zuni' }, + { alpha3: 'zxx', alpha2: '', name: 'No linguistic content; Not applicable' }, + { alpha3: 'zza', alpha2: '', name: 'Zaza; Dimili; Dimli; Kirdki; Kirmanjki; Zazaki' } +] diff --git a/src/main/resources/swagger.api/mod-fqm-manager.yaml b/src/main/resources/swagger.api/mod-fqm-manager.yaml index ba023a70..b6f1be11 100644 --- a/src/main/resources/swagger.api/mod-fqm-manager.yaml +++ b/src/main/resources/swagger.api/mod-fqm-manager.yaml @@ -91,14 +91,18 @@ paths: content: application/json: schema: - $ref: '#/components/schemas/fqmMigrateRequest' + description: Mapped to schema in folio-query-tool-metadata + type: object + format: FqmMigrateRequest responses: '200': - description: 'FQM version updated successfully' + description: 'FQM version updated successfully' content: application/json: schema: - $ref: '#/components/schemas/fqmMigrateResponse' + description: Mapped to schemas in folio-query-tool-metadata + type: object + format: FqmMigrateResponse '400': $ref: '#/components/responses/badRequestResponse' '500': @@ -157,10 +161,6 @@ components: type: array items: type: string - fqmMigrateRequest: - $ref: schemas/FqmMigrateRequest.json - fqmMigrateResponse: - $ref: schemas/FqmMigrateResponse.json responses: badRequestResponse: diff --git a/src/main/resources/swagger.api/schemas/FqmMigrateRequest.json b/src/main/resources/swagger.api/schemas/FqmMigrateRequest.json deleted file mode 100644 index ac532bf1..00000000 --- a/src/main/resources/swagger.api/schemas/FqmMigrateRequest.json +++ /dev/null @@ -1,27 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "title": "Entity Upgrade Request", - "description": "Schema for a request to upgrade an entity payload, including an entity type ID, FQL query, and list of fields.", - "type": "object", - "properties": { - "entityTypeId": { - "description": "ID of the entity type to be upgraded", - "type": "string", - "format": "UUID" - }, - "fqlQuery": { - "description": "FQL query string to be used for the upgrade", - "type": "string" - }, - "fields": { - "description": "List of fields to be included in the upgrade", - "type": "array", - "items": { - "type": "string" - } - } - }, - "required": [ - "entityTypeId" - ] -} diff --git a/src/main/resources/swagger.api/schemas/FqmMigrateResponse.json b/src/main/resources/swagger.api/schemas/FqmMigrateResponse.json deleted file mode 100644 index 062f7186..00000000 --- a/src/main/resources/swagger.api/schemas/FqmMigrateResponse.json +++ /dev/null @@ -1,46 +0,0 @@ -{ - "$schema": "https://json-schema.org/draft/2020-12/schema", - "title": "Entity Upgrade Response", - "description": "Schema for a response to upgrade FQM", - "type": "object", - "properties": { - "entityTypeId": { - "description": "ID of the entity type upgraded successfully", - "type": "string", - "format": "UUID" - }, - "fqlQuery": { - "description": "FQL query string upgraded successfully", - "type": "string" - }, - "fields": { - "description": "List of fields upgraded successfully", - "type": "array", - "items": { - "type": "string" - } - }, - "warnings": { - "description": "List of warnings issued during the upgrade", - "type": "array", - "items": { - "type": "object", - "properties": { - "description": { - "description": "Description of the warning", - "type": "string" - }, - "type": { - "description": "Type of warning", - "type": "string" - } - }, - "required": [ - ] - } - } -}, - "required": [ - "entityTypeId" - ] -} diff --git a/src/test/java/org/folio/fqm/controller/MigrationControllerTest.java b/src/test/java/org/folio/fqm/controller/MigrationControllerTest.java index c3d0edf0..20fcea41 100644 --- a/src/test/java/org/folio/fqm/controller/MigrationControllerTest.java +++ b/src/test/java/org/folio/fqm/controller/MigrationControllerTest.java @@ -1,12 +1,12 @@ package org.folio.fqm.controller; import com.fasterxml.jackson.databind.ObjectMapper; -import org.folio.fqm.domain.dto.FqmMigrateRequest; import org.folio.fqm.migration.MigratableQueryInformation; import org.folio.fqm.migration.warnings.DeprecatedEntityWarning; import org.folio.fqm.migration.warnings.Warning; import org.folio.fqm.resource.MigrationController; import org.folio.fqm.service.MigrationService; +import org.folio.querytool.domain.dto.FqmMigrateRequest; import org.folio.spring.FolioExecutionContext; import org.folio.spring.i18n.service.TranslationService; import org.folio.spring.integration.XOkapiHeaders; diff --git a/src/test/java/org/folio/fqm/service/CrossTenantQueryServiceTest.java b/src/test/java/org/folio/fqm/service/CrossTenantQueryServiceTest.java index ee7d7324..fe02a47c 100644 --- a/src/test/java/org/folio/fqm/service/CrossTenantQueryServiceTest.java +++ b/src/test/java/org/folio/fqm/service/CrossTenantQueryServiceTest.java @@ -24,6 +24,7 @@ class CrossTenantQueryServiceTest { private static final EntityType entityType = new EntityType() + .id(UUID.randomUUID().toString()) .crossTenantQueriesEnabled(true); @Mock @@ -102,7 +103,7 @@ void shouldGetListOfTenantsToQuery() { when(userTenantService.getUserTenantsResponse(tenantId)).thenReturn(ECS_TENANT_INFO); when(ecsClient.get(eq("consortia/bdaa4720-5e11-4632-bc10-d4455cf252df/user-tenants"), anyMap())).thenReturn(USER_TENANT_JSON); - List actualTenants = crossTenantQueryService.getTenantsToQuery(entityType, false); + List actualTenants = crossTenantQueryService.getTenantsToQuery(entityType); assertEquals(expectedTenants, actualTenants); } @@ -112,7 +113,7 @@ void shouldRunIntraTenantQueryForNonInstanceEntityTypes() { List expectedTenants = List.of("tenant_01"); when(executionContext.getTenantId()).thenReturn("tenant_01"); - List actualTenants = crossTenantQueryService.getTenantsToQuery(nonEcsEntityType, false); + List actualTenants = crossTenantQueryService.getTenantsToQuery(nonEcsEntityType); assertEquals(expectedTenants, actualTenants); } @@ -122,7 +123,7 @@ void shouldRunIntraTenantQueryForNonCentralTenant() { List expectedTenants = List.of(tenantId); when(executionContext.getTenantId()).thenReturn(tenantId); // Central is tenant_01 when(userTenantService.getUserTenantsResponse(tenantId)).thenReturn(ECS_TENANT_INFO); - List actualTenants = crossTenantQueryService.getTenantsToQuery(entityType, false); + List actualTenants = crossTenantQueryService.getTenantsToQuery(entityType); assertEquals(expectedTenants, actualTenants); } @@ -132,7 +133,7 @@ void shouldRunIntraTenantQueryIfExceptionIsThrown() { List expectedTenants = List.of(tenantId); when(executionContext.getTenantId()).thenReturn(tenantId); when(userTenantService.getUserTenantsResponse(tenantId)).thenReturn(ECS_TENANT_INFO_FOR_NON_ECS_ENV); - List actualTenants = crossTenantQueryService.getTenantsToQuery(entityType, false); + List actualTenants = crossTenantQueryService.getTenantsToQuery(entityType); assertEquals(expectedTenants, actualTenants); } @@ -144,7 +145,7 @@ void shouldReturnTenantIdOnlyIfUserTenantsApiThrowsException() { when(executionContext.getTenantId()).thenReturn(tenantId); when(userTenantService.getUserTenantsResponse(tenantId)).thenReturn(ECS_TENANT_INFO_FOR_NON_ECS_ENV); - List actualTenants = crossTenantQueryService.getTenantsToQuery(entityType, false); + List actualTenants = crossTenantQueryService.getTenantsToQuery(entityType); assertEquals(expectedTenants, actualTenants); } @@ -156,7 +157,7 @@ void shouldAttemptCrossTenantQueryIfForceParamIsTrue() { when(executionContext.getTenantId()).thenReturn(tenantId); when(userTenantService.getUserTenantsResponse(tenantId)).thenReturn(ECS_TENANT_INFO_FOR_NON_ECS_ENV); - List actualTenants = crossTenantQueryService.getTenantsToQuery(entityType, true); + List actualTenants = crossTenantQueryService.getTenantsToQuery(entityType); verify(userTenantService, times(1)).getUserTenantsResponse(tenantId); assertEquals(expectedTenants, actualTenants); } @@ -171,7 +172,7 @@ void shouldNotQueryTenantIfUserLacksTenantPermissions() { when(ecsClient.get(eq("consortia/bdaa4720-5e11-4632-bc10-d4455cf252df/user-tenants"), anyMap())).thenReturn(USER_TENANT_JSON); doNothing().when(permissionsService).verifyUserHasNecessaryPermissions("tenant_02", entityType, true); doThrow(MissingPermissionsException.class).when(permissionsService).verifyUserHasNecessaryPermissions("tenant_03", entityType, true); - List actualTenants = crossTenantQueryService.getTenantsToQuery(entityType, false); + List actualTenants = crossTenantQueryService.getTenantsToQuery(entityType); assertEquals(expectedTenants, actualTenants); } @@ -186,7 +187,20 @@ void shouldQueryCentralTenantForSharedCompositeInstances() { when(executionContext.getTenantId()).thenReturn(tenantId); when(userTenantService.getUserTenantsResponse(tenantId)).thenReturn(ECS_TENANT_INFO); - List actualTenants = crossTenantQueryService.getTenantsToQuery(instanceEntityType, false); + List actualTenants = crossTenantQueryService.getTenantsToQuery(instanceEntityType); + assertEquals(expectedTenants, actualTenants); + } + + @Test + void shouldGetListOfTenantsToQueryForColumnValues() { + String tenantId = "tenant_01"; + List expectedTenants = List.of("tenant_01", "tenant_02", "tenant_03"); + + when(executionContext.getTenantId()).thenReturn(tenantId); + when(userTenantService.getUserTenantsResponse(tenantId)).thenReturn(ECS_TENANT_INFO); + when(ecsClient.get(eq("consortia/bdaa4720-5e11-4632-bc10-d4455cf252df/user-tenants"), anyMap())).thenReturn(USER_TENANT_JSON); + + List actualTenants = crossTenantQueryService.getTenantsToQueryForColumnValues(entityType); assertEquals(expectedTenants, actualTenants); } diff --git a/src/test/java/org/folio/fqm/service/EntityTypeServiceTest.java b/src/test/java/org/folio/fqm/service/EntityTypeServiceTest.java index b699a46a..44cf0d92 100644 --- a/src/test/java/org/folio/fqm/service/EntityTypeServiceTest.java +++ b/src/test/java/org/folio/fqm/service/EntityTypeServiceTest.java @@ -1,5 +1,6 @@ package org.folio.fqm.service; +import feign.FeignException; import org.folio.fqm.client.SimpleHttpClient; import org.folio.fqm.repository.EntityTypeRepository; import org.folio.fqm.testutil.TestDataFixture; @@ -22,6 +23,7 @@ import static java.util.Comparator.comparing; import static java.util.Comparator.nullsLast; +import static org.junit.jupiter.api.Assertions.assertDoesNotThrow; import static org.junit.jupiter.api.Assertions.assertTrue; import static org.mockito.ArgumentMatchers.*; import static org.mockito.Mockito.times; @@ -329,6 +331,7 @@ void shouldRemoveDuplicatePredefinedValues() { void shouldReturnValuesFromApi() { UUID entityTypeId = UUID.randomUUID(); String valueColumnName = "column_name"; + List tenantList = List.of("tenant_01", "tenant_02"); EntityType entityType = new EntityType() .id(entityTypeId.toString()) .name("the entity type") @@ -341,8 +344,9 @@ void shouldReturnValuesFromApi() { ) )); + when(crossTenantQueryService.getTenantsToQueryForColumnValues(entityType)).thenReturn(tenantList); when(entityTypeFlatteningService.getFlattenedEntityType(entityTypeId, null)).thenReturn(entityType); - when(simpleHttpClient.get(eq("fake-path"), anyMap())).thenReturn(""" + when(simpleHttpClient.get(eq("fake-path"), anyMap(), eq("tenant_01"))).thenReturn(""" { "what": { "ever": { @@ -364,6 +368,7 @@ void shouldReturnValuesFromApi() { } } """); + when(simpleHttpClient.get(eq("fake-path"), anyMap(), eq("tenant_02"))).thenThrow(FeignException.Unauthorized.class); ColumnValues actualColumnValueLabel = entityTypeService.getFieldValues(entityTypeId, valueColumnName, "r"); @@ -374,6 +379,152 @@ void shouldReturnValuesFromApi() { assertEquals(expectedColumnValues, actualColumnValueLabel); } + @Test + void shouldReturnLanguagesFromApi() { + UUID entityTypeId = UUID.randomUUID(); + List tenantList = List.of("tenant_01"); + String valueColumnName = "languages"; + EntityType entityType = new EntityType() + .id(entityTypeId.toString()) + .name("the entity type") + .columns(List.of(new EntityTypeColumn() + .name(valueColumnName) + .source(new SourceColumn(entityTypeId, valueColumnName) + .name("languages") + .type(SourceColumn.TypeEnum.FQM)) + )); + + when(entityTypeFlatteningService.getFlattenedEntityType(entityTypeId, null)).thenReturn(entityType); + when(crossTenantQueryService.getTenantsToQueryForColumnValues(entityType)).thenReturn(tenantList); + when(simpleHttpClient.get(eq("search/instances/facets"), anyMap())).thenReturn(""" + { + "facets": { + "languages": { + "values": [ + { + "id": "eng", + "value": "eng" + }, + { + "id": "ger", + "value": "ger" + }, + { + "id": "fre", + "value": "fre" + }, + { + "id": "xyze", + "value": "xyze" + } + ] + } + } + } + """); + + ColumnValues actualColumnValueLabel = entityTypeService.getFieldValues(entityTypeId, valueColumnName, "e"); + + ColumnValues expectedColumnValues = new ColumnValues().content(List.of( + new ValueWithLabel().value("eng").label("English"), + new ValueWithLabel().value("fre").label("French"), + new ValueWithLabel().value("ger").label("German"), + new ValueWithLabel().value("xyze").label("xyze") // non-existent language code should use code as display name + )); + assertEquals(expectedColumnValues, actualColumnValueLabel); + } + + @Test + void shouldReturnLocalizedLanguagesFromApi() { + UUID entityTypeId = UUID.randomUUID(); + List tenantList = List.of("tenant_01"); + String valueColumnName = "languages"; + EntityType entityType = new EntityType() + .id(entityTypeId.toString()) + .name("the entity type") + .columns(List.of(new EntityTypeColumn() + .name(valueColumnName) + .source(new SourceColumn(entityTypeId, valueColumnName) + .name("languages") + .type(SourceColumn.TypeEnum.FQM)) + )); + + when(entityTypeFlatteningService.getFlattenedEntityType(entityTypeId, null)).thenReturn(entityType); + when(crossTenantQueryService.getTenantsToQueryForColumnValues(entityType)).thenReturn(tenantList); + when(simpleHttpClient.get(eq("search/instances/facets"), anyMap())).thenReturn(""" + { + "facets": { + "languages": { + "values": [ + { + "id": "eng", + "value": "eng" + }, + { + "id": "ger", + "value": "ger" + }, + { + "id": "mus", + "value": "mus" + }, + { + "id": "", + "value": "" + } + ] + } + } + } + """); + when(simpleHttpClient.get(eq("configurations/entries"), anyMap())).thenReturn(""" + { + "configs": [ + { + "id":"2a132a01-623b-4d3a-9d9a-2feb777665c2", + "module":"ORG", + "configName":"localeSettings", + "enabled":true, + "value":"{\\"locale\\":\\"de\\",\\"timezone\\":\\"UTC\\",\\"currency\\":\\"USD\\"}","metadata":{"createdDate":"2024-03-25T17:37:22.309+00:00","createdByUserId":"db760bf8-e05a-4a5d-a4c3-8d49dc0d4e48"} + } + ], + "totalRecords": 1, + "resultInfo": {"totalRecords":1,"facets":[],"diagnostics":[]} + } + """); + + ColumnValues actualColumnValueLabel = entityTypeService.getFieldValues(entityTypeId, valueColumnName, ""); + + ColumnValues expectedColumnValues = new ColumnValues().content(List.of( + new ValueWithLabel().value("mus").label("Creek"), + new ValueWithLabel().value("ger").label("Deutsch"), + new ValueWithLabel().value("eng").label("Englisch") + )); + assertEquals(expectedColumnValues, actualColumnValueLabel); + } + + @Test + void shouldCatchExceptionFromLanguagesApi() { + UUID entityTypeId = UUID.randomUUID(); + List tenantList = List.of("tenant_01"); + String valueColumnName = "languages"; + EntityType entityType = new EntityType() + .id(entityTypeId.toString()) + .name("the entity type") + .columns(List.of(new EntityTypeColumn() + .name(valueColumnName) + .source(new SourceColumn(entityTypeId, valueColumnName) + .name("languages") + .type(SourceColumn.TypeEnum.FQM)) + )); + + when(entityTypeFlatteningService.getFlattenedEntityType(entityTypeId, null)).thenReturn(entityType); + when(crossTenantQueryService.getTenantsToQueryForColumnValues(entityType)).thenReturn(tenantList); + when(simpleHttpClient.get(eq("search/instances/facets"), anyMap())).thenThrow(FeignException.BadRequest.class); + + assertDoesNotThrow(() -> entityTypeService.getFieldValues(entityTypeId, valueColumnName, "")); + } + @Test void shouldReturnEntityTypeDefinition() { UUID entityTypeId = UUID.randomUUID(); @@ -459,6 +610,7 @@ void shouldReturnCurrencies() { void shouldReturnTenantId() { UUID entityTypeId = UUID.randomUUID(); String valueColumnName = "this_is_a_tenant_id_column"; + List tenantList = List.of("tenant1", "tenant2"); EntityType entityType = new EntityType() .id(entityTypeId.toString()) .name("tenant-id-test") @@ -470,7 +622,7 @@ void shouldReturnTenantId() { )); when(entityTypeFlatteningService.getFlattenedEntityType(entityTypeId, null)).thenReturn(entityType); - when(crossTenantQueryService.getTenantsToQuery(entityType, true)).thenReturn(List.of("tenant1", "tenant2")); + when(crossTenantQueryService.getTenantsToQueryForColumnValues(entityType)).thenReturn(tenantList); List actualColumnValues = entityTypeService .getFieldValues(entityTypeId, valueColumnName, "") @@ -496,7 +648,7 @@ void shouldIncludeCentralTenantIdInResponseForSimpleInstanceEntityType() { )); when(entityTypeFlatteningService.getFlattenedEntityType(entityTypeId, null)).thenReturn(entityType); - when(crossTenantQueryService.getTenantsToQuery(entityType, true)).thenReturn(List.of("tenant1", "central")); + when(crossTenantQueryService.getTenantsToQueryForColumnValues(entityType)).thenReturn(List.of("tenant1", "central")); List actualColumnValues = entityTypeService .getFieldValues(entityTypeId, valueColumnName, "") diff --git a/src/test/java/org/folio/fqm/service/PermissionsRegularServiceTest.java b/src/test/java/org/folio/fqm/service/PermissionsRegularServiceTest.java index f30f285b..48522c48 100644 --- a/src/test/java/org/folio/fqm/service/PermissionsRegularServiceTest.java +++ b/src/test/java/org/folio/fqm/service/PermissionsRegularServiceTest.java @@ -3,44 +3,47 @@ import static org.junit.jupiter.api.Assertions.*; import static org.mockito.ArgumentMatchers.any; import static org.mockito.ArgumentMatchers.eq; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; +import static org.mockito.Mockito.*; import java.util.*; -import org.apache.commons.lang3.NotImplementedException; import org.folio.fqm.client.ModPermissionsClient; +import org.folio.fqm.client.ModRolesKeycloakClient; import org.folio.fqm.exception.MissingPermissionsException; import org.folio.querytool.domain.dto.EntityType; import org.folio.querytool.domain.dto.EntityTypeSource; import org.folio.spring.FolioExecutionContext; -import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import org.mockito.ArgumentCaptor; class PermissionsRegularServiceTest { private final FolioExecutionContext context = mock(FolioExecutionContext.class); private final ModPermissionsClient modPermissionsClient = mock(ModPermissionsClient.class); + private final ModRolesKeycloakClient modRolesKeyclockClient = mock(ModRolesKeycloakClient.class); private final EntityTypeFlatteningService entityTypeFlatteningService = mock(EntityTypeFlatteningService.class); private final PermissionsRegularService permissionsService = new PermissionsRegularService( context, modPermissionsClient, + modRolesKeyclockClient, entityTypeFlatteningService ); private static final String TENANT_ID = "tenant_01"; - @BeforeEach - void setUp() { - permissionsService.isEureka = false; // Force the service to use the mod-permissions client - } - void setUpMocks(String... permissions) { var userId = UUID.randomUUID(); when(context.getUserId()).thenReturn(userId); when(context.getTenantId()).thenReturn(TENANT_ID); - when(modPermissionsClient.getPermissionsForUser(TENANT_ID, userId.toString())) - .thenReturn(new ModPermissionsClient.UserPermissions(List.of(permissions), permissions.length)); + + if (permissionsService.isEureka) { + when(modRolesKeyclockClient.getPermissionsUser(TENANT_ID, userId)) + .thenReturn(new ModRolesKeycloakClient.UserPermissions(List.of(permissions), userId)); + } else { + when(modPermissionsClient.getPermissionsForUser(TENANT_ID, userId.toString())) + .thenReturn(new ModPermissionsClient.UserPermissions(List.of(permissions), permissions.length)); + } } + private EntityType getTestEntityType() { EntityType entityType = new EntityType(UUID.randomUUID().toString(), "entity type name", true, false) .sources(List.of(new EntityTypeSource("db", "source_alias"))); @@ -134,9 +137,31 @@ void shouldCheckFqmPermissionsIfRequested() { } @Test - void eurekaSupportIsNotImplementedYet() { - permissionsService.isEureka = true; // Force the service to use mod-roles-keycloak - setUpMocks(); - assertThrows(NotImplementedException.class, () -> permissionsService.getUserPermissions(TENANT_ID)); + void WhenEurekaIsTrue() { + permissionsService.isEureka = true; + setUpMocks("permission1", "permission2"); + Set userPermissions = permissionsService.getUserPermissions(); + + ArgumentCaptor userIdCaptor = ArgumentCaptor.forClass(UUID.class); + verify(modRolesKeyclockClient).getPermissionsUser(eq(TENANT_ID), userIdCaptor.capture()); + assertEquals(2, userPermissions.size()); + + // Ensure no interactions with modPermissionsClient + verifyNoInteractions(modPermissionsClient); + } + + @Test + void WhenEurekaIsFalse() { + permissionsService.isEureka = false; + setUpMocks("permission1", "permission2"); + Set userPermissions = permissionsService.getUserPermissions(); + + ArgumentCaptor userIdCaptor = ArgumentCaptor.forClass(String.class); + verify(modPermissionsClient).getPermissionsForUser(eq(TENANT_ID), userIdCaptor.capture()); + assertEquals(2, userPermissions.size()); + + // Ensure no interactions with modRolesKeyclockClient + verifyNoInteractions(modRolesKeyclockClient); } + } diff --git a/src/test/java/org/folio/fqm/service/QueryManagementServiceTest.java b/src/test/java/org/folio/fqm/service/QueryManagementServiceTest.java index 70a473be..ae0071b1 100644 --- a/src/test/java/org/folio/fqm/service/QueryManagementServiceTest.java +++ b/src/test/java/org/folio/fqm/service/QueryManagementServiceTest.java @@ -239,7 +239,7 @@ void shouldReturnQueryDetailsWithContents() { when(queryRepository.getQuery(expectedQuery.queryId(), false)).thenReturn(Optional.of(expectedQuery)); when(queryResultsRepository.getQueryResultsCount(expectedQuery.queryId())).thenReturn(2); when(queryResultsRepository.getQueryResultIds(expectedQuery.queryId(), offset, limit)).thenReturn(resultIds); - when(crossTenantQueryService.getTenantsToQuery(any(), eq(false))).thenReturn(tenantIds); + when(crossTenantQueryService.getTenantsToQuery(any())).thenReturn(tenantIds); when(resultSetService.getResultSet(expectedQuery.entityTypeId(), expectedQuery.fields(), resultIds, tenantIds)).thenReturn(contents); Optional actualDetails = queryManagementService.getQuery(expectedQuery.queryId(), includeResults, offset, limit); assertEquals(expectedDetails, actualDetails); @@ -464,7 +464,7 @@ void shouldGetContents() { Map.of("id", UUID.randomUUID(), "field1", "value3", "field2", "value4") ); when(entityTypeService.getEntityTypeDefinition(entityTypeId,true, false)).thenReturn(entityType); - when(crossTenantQueryService.getTenantsToQuery(any(EntityType.class), eq(false))).thenReturn(tenantIds); + when(crossTenantQueryService.getTenantsToQuery(any(EntityType.class))).thenReturn(tenantIds); when(resultSetService.getResultSet(entityTypeId, fields, ids, tenantIds)).thenReturn(expectedContents); List> actualContents = queryManagementService.getContents(entityTypeId, fields, ids); assertEquals(expectedContents, actualContents); @@ -490,7 +490,7 @@ void shouldGetContentsWithIdsIfIdsNotProvided() { Map.of("id", UUID.randomUUID(), "field1", "value3", "field2", "value4") ); when(entityTypeService.getEntityTypeDefinition(entityTypeId, true, false)).thenReturn(entityType); - when(crossTenantQueryService.getTenantsToQuery(any(EntityType.class), eq(false))).thenReturn(tenantIds); + when(crossTenantQueryService.getTenantsToQuery(any(EntityType.class))).thenReturn(tenantIds); when(resultSetService.getResultSet(entityTypeId, expectedFields, ids, tenantIds)).thenReturn(expectedContents); List> actualContents = queryManagementService.getContents(entityTypeId, providedFields, ids); assertEquals(expectedContents, actualContents); diff --git a/src/test/java/org/folio/fqm/service/QueryProcessorServiceTest.java b/src/test/java/org/folio/fqm/service/QueryProcessorServiceTest.java index bdf55165..d1f8d565 100644 --- a/src/test/java/org/folio/fqm/service/QueryProcessorServiceTest.java +++ b/src/test/java/org/folio/fqm/service/QueryProcessorServiceTest.java @@ -117,7 +117,7 @@ void shouldRunSynchronousQueryAndReturnPaginatedResults() { Map.of("field1", "value1", "field2", "value4") ); when(fqlService.getFql(fqlQuery)).thenReturn(expectedFql); - when(crossTenantQueryService.getTenantsToQuery(entityType, false)).thenReturn(tenantIds); + when(crossTenantQueryService.getTenantsToQuery(entityType)).thenReturn(tenantIds); when(resultSetRepository.getResultSetSync(entityTypeId, expectedFql, fields, afterId, limit, tenantIds, false)).thenReturn(expectedContent); List> actualContent = service.processQuery(entityType, fqlQuery, fields, afterId, limit); assertEquals(expectedContent, actualContent); diff --git a/translations/mod-fqm-manager/ar.json b/translations/mod-fqm-manager/ar.json index 27d1312f..8df23f9c 100644 --- a/translations/mod-fqm-manager/ar.json +++ b/translations/mod-fqm-manager/ar.json @@ -700,23 +700,7 @@ "entityType.simple_instance.administrative_notes": "Administrative notes", "entityType.simple_instance.alternative_titles": "Alternative titles", "entityType.simple_instance.cataloged_date": "Cataloged date", - "entityType.simple_instance.classifications": "Classifications", - "entityType.simple_instance.classifications.number": "Number", - "entityType.simple_instance.classifications.number._qualified": "Classification number", - "entityType.simple_instance.classifications.type_id": "Type UUID", - "entityType.simple_instance.classifications.type_id._qualified": "Classification type UUID", "entityType.simple_instance.complete_updated_date": "Complete updated date", - "entityType.simple_instance.contributors": "Contributors", - "entityType.simple_instance.contributors.contributor_name_type_id": "Contributor name type UUID", - "entityType.simple_instance.contributors.contributor_name_type_id._qualified": "Contributors contributor name type UUID", - "entityType.simple_instance.contributors.contributor_type_id": "Contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_id._qualified": "Contributors contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_text": "Contributor type text", - "entityType.simple_instance.contributors.contributor_type_text._qualified": "Contributors contributor type text", - "entityType.simple_instance.contributors.name": "Name", - "entityType.simple_instance.contributors.name._qualified": "Contributors name", - "entityType.simple_instance.contributors.primary": "Primary", - "entityType.simple_instance.contributors.primary._qualified": "Contributors primary", "entityType.simple_instance.created_at": "Created date", "entityType.simple_instance.created_by": "Created by user UUID", "entityType.simple_instance.discovery_suppress": "Discovery suppress", @@ -765,8 +749,6 @@ "entityType.simple_instance.publication.role": "Role", "entityType.simple_instance.publication.role._qualified": "Publication role", "entityType.simple_instance.publication_frequency": "Publication frequency", - "entityType.simple_instance.publication_period_end": "Publication end year", - "entityType.simple_instance.publication_period_start": "Publication start year", "entityType.simple_instance.publication_range": "Publication range", "entityType.simple_instance.series": "Series", "entityType.simple_instance.source": "Source", @@ -1481,5 +1463,22 @@ "entityType.simple_instance.instance_type_name": "Resource type", "entityType.composite_purchase_order_lines._shortened": "POL", "entityType.simple_organization._shortened": "Orgs", - "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID" + "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID", + "entityType.simple_instance.contributor_type_id": "Contributor type UUID", + "entityType.simple_instance.contributors_name": "Contributor name", + "entityType.simple_instance.contributor_type_text": "Contributor type", + "entityType.simple_instance.contributor_name_type_id": "Contributor name type UUID", + "entityType.simple_instance.contributor_name_type": "Contributor name type", + "entityType.simple_instance.instance_primary_contributor": "Primary contributor", + "entityType.simple_instance.classification_type_ids": "Classification type UUIDs", + "entityType.simple_instance.classification_type_names": "Classification identifier type", + "entityType.simple_instance.classification_numbers": "Classification", + "entityType.composite_instances.date_type": "Instance date type", + "entityType.simple_instance.instance_date_1": "Date 1", + "entityType.simple_instance.instance_date_2": "Date 2", + "entityType.simple_instance.instance_date_type_id": "Date type ID", + "entityType.simple_instance_date_type": "Instance date type", + "entityType.simple_instance_date_type.id": "ID", + "entityType.simple_instance_date_type.name": "Name", + "entityType.simple_instance_date_type.code": "Code" } \ No newline at end of file diff --git a/translations/mod-fqm-manager/ber.json b/translations/mod-fqm-manager/ber.json index 27d1312f..8df23f9c 100644 --- a/translations/mod-fqm-manager/ber.json +++ b/translations/mod-fqm-manager/ber.json @@ -700,23 +700,7 @@ "entityType.simple_instance.administrative_notes": "Administrative notes", "entityType.simple_instance.alternative_titles": "Alternative titles", "entityType.simple_instance.cataloged_date": "Cataloged date", - "entityType.simple_instance.classifications": "Classifications", - "entityType.simple_instance.classifications.number": "Number", - "entityType.simple_instance.classifications.number._qualified": "Classification number", - "entityType.simple_instance.classifications.type_id": "Type UUID", - "entityType.simple_instance.classifications.type_id._qualified": "Classification type UUID", "entityType.simple_instance.complete_updated_date": "Complete updated date", - "entityType.simple_instance.contributors": "Contributors", - "entityType.simple_instance.contributors.contributor_name_type_id": "Contributor name type UUID", - "entityType.simple_instance.contributors.contributor_name_type_id._qualified": "Contributors contributor name type UUID", - "entityType.simple_instance.contributors.contributor_type_id": "Contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_id._qualified": "Contributors contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_text": "Contributor type text", - "entityType.simple_instance.contributors.contributor_type_text._qualified": "Contributors contributor type text", - "entityType.simple_instance.contributors.name": "Name", - "entityType.simple_instance.contributors.name._qualified": "Contributors name", - "entityType.simple_instance.contributors.primary": "Primary", - "entityType.simple_instance.contributors.primary._qualified": "Contributors primary", "entityType.simple_instance.created_at": "Created date", "entityType.simple_instance.created_by": "Created by user UUID", "entityType.simple_instance.discovery_suppress": "Discovery suppress", @@ -765,8 +749,6 @@ "entityType.simple_instance.publication.role": "Role", "entityType.simple_instance.publication.role._qualified": "Publication role", "entityType.simple_instance.publication_frequency": "Publication frequency", - "entityType.simple_instance.publication_period_end": "Publication end year", - "entityType.simple_instance.publication_period_start": "Publication start year", "entityType.simple_instance.publication_range": "Publication range", "entityType.simple_instance.series": "Series", "entityType.simple_instance.source": "Source", @@ -1481,5 +1463,22 @@ "entityType.simple_instance.instance_type_name": "Resource type", "entityType.composite_purchase_order_lines._shortened": "POL", "entityType.simple_organization._shortened": "Orgs", - "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID" + "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID", + "entityType.simple_instance.contributor_type_id": "Contributor type UUID", + "entityType.simple_instance.contributors_name": "Contributor name", + "entityType.simple_instance.contributor_type_text": "Contributor type", + "entityType.simple_instance.contributor_name_type_id": "Contributor name type UUID", + "entityType.simple_instance.contributor_name_type": "Contributor name type", + "entityType.simple_instance.instance_primary_contributor": "Primary contributor", + "entityType.simple_instance.classification_type_ids": "Classification type UUIDs", + "entityType.simple_instance.classification_type_names": "Classification identifier type", + "entityType.simple_instance.classification_numbers": "Classification", + "entityType.composite_instances.date_type": "Instance date type", + "entityType.simple_instance.instance_date_1": "Date 1", + "entityType.simple_instance.instance_date_2": "Date 2", + "entityType.simple_instance.instance_date_type_id": "Date type ID", + "entityType.simple_instance_date_type": "Instance date type", + "entityType.simple_instance_date_type.id": "ID", + "entityType.simple_instance_date_type.name": "Name", + "entityType.simple_instance_date_type.code": "Code" } \ No newline at end of file diff --git a/translations/mod-fqm-manager/ca.json b/translations/mod-fqm-manager/ca.json index 27d1312f..8df23f9c 100644 --- a/translations/mod-fqm-manager/ca.json +++ b/translations/mod-fqm-manager/ca.json @@ -700,23 +700,7 @@ "entityType.simple_instance.administrative_notes": "Administrative notes", "entityType.simple_instance.alternative_titles": "Alternative titles", "entityType.simple_instance.cataloged_date": "Cataloged date", - "entityType.simple_instance.classifications": "Classifications", - "entityType.simple_instance.classifications.number": "Number", - "entityType.simple_instance.classifications.number._qualified": "Classification number", - "entityType.simple_instance.classifications.type_id": "Type UUID", - "entityType.simple_instance.classifications.type_id._qualified": "Classification type UUID", "entityType.simple_instance.complete_updated_date": "Complete updated date", - "entityType.simple_instance.contributors": "Contributors", - "entityType.simple_instance.contributors.contributor_name_type_id": "Contributor name type UUID", - "entityType.simple_instance.contributors.contributor_name_type_id._qualified": "Contributors contributor name type UUID", - "entityType.simple_instance.contributors.contributor_type_id": "Contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_id._qualified": "Contributors contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_text": "Contributor type text", - "entityType.simple_instance.contributors.contributor_type_text._qualified": "Contributors contributor type text", - "entityType.simple_instance.contributors.name": "Name", - "entityType.simple_instance.contributors.name._qualified": "Contributors name", - "entityType.simple_instance.contributors.primary": "Primary", - "entityType.simple_instance.contributors.primary._qualified": "Contributors primary", "entityType.simple_instance.created_at": "Created date", "entityType.simple_instance.created_by": "Created by user UUID", "entityType.simple_instance.discovery_suppress": "Discovery suppress", @@ -765,8 +749,6 @@ "entityType.simple_instance.publication.role": "Role", "entityType.simple_instance.publication.role._qualified": "Publication role", "entityType.simple_instance.publication_frequency": "Publication frequency", - "entityType.simple_instance.publication_period_end": "Publication end year", - "entityType.simple_instance.publication_period_start": "Publication start year", "entityType.simple_instance.publication_range": "Publication range", "entityType.simple_instance.series": "Series", "entityType.simple_instance.source": "Source", @@ -1481,5 +1463,22 @@ "entityType.simple_instance.instance_type_name": "Resource type", "entityType.composite_purchase_order_lines._shortened": "POL", "entityType.simple_organization._shortened": "Orgs", - "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID" + "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID", + "entityType.simple_instance.contributor_type_id": "Contributor type UUID", + "entityType.simple_instance.contributors_name": "Contributor name", + "entityType.simple_instance.contributor_type_text": "Contributor type", + "entityType.simple_instance.contributor_name_type_id": "Contributor name type UUID", + "entityType.simple_instance.contributor_name_type": "Contributor name type", + "entityType.simple_instance.instance_primary_contributor": "Primary contributor", + "entityType.simple_instance.classification_type_ids": "Classification type UUIDs", + "entityType.simple_instance.classification_type_names": "Classification identifier type", + "entityType.simple_instance.classification_numbers": "Classification", + "entityType.composite_instances.date_type": "Instance date type", + "entityType.simple_instance.instance_date_1": "Date 1", + "entityType.simple_instance.instance_date_2": "Date 2", + "entityType.simple_instance.instance_date_type_id": "Date type ID", + "entityType.simple_instance_date_type": "Instance date type", + "entityType.simple_instance_date_type.id": "ID", + "entityType.simple_instance_date_type.name": "Name", + "entityType.simple_instance_date_type.code": "Code" } \ No newline at end of file diff --git a/translations/mod-fqm-manager/cs_CZ.json b/translations/mod-fqm-manager/cs_CZ.json index a2a2d695..49234f81 100644 --- a/translations/mod-fqm-manager/cs_CZ.json +++ b/translations/mod-fqm-manager/cs_CZ.json @@ -700,23 +700,7 @@ "entityType.simple_instance.administrative_notes": "Administrativní poznámky", "entityType.simple_instance.alternative_titles": "Alternativní názvy", "entityType.simple_instance.cataloged_date": "Katalogizované datum", - "entityType.simple_instance.classifications": "Klasifikace", - "entityType.simple_instance.classifications.number": "Číslo", - "entityType.simple_instance.classifications.number._qualified": "Číslo klasifikace", - "entityType.simple_instance.classifications.type_id": "UUID typu", - "entityType.simple_instance.classifications.type_id._qualified": "UUID typu klasifikace", "entityType.simple_instance.complete_updated_date": "Dokončené datum aktualizace", - "entityType.simple_instance.contributors": "Autoři", - "entityType.simple_instance.contributors.contributor_name_type_id": "UUID typu jména autora", - "entityType.simple_instance.contributors.contributor_name_type_id._qualified": "Autoři UUID typu jména autora", - "entityType.simple_instance.contributors.contributor_type_id": "UUID typu autora", - "entityType.simple_instance.contributors.contributor_type_id._qualified": "Autoři UUID typu autora", - "entityType.simple_instance.contributors.contributor_type_text": "Typ textu autora", - "entityType.simple_instance.contributors.contributor_type_text._qualified": "Autoři typ textu autora", - "entityType.simple_instance.contributors.name": "Jméno", - "entityType.simple_instance.contributors.name._qualified": "Autoři jméno", - "entityType.simple_instance.contributors.primary": "Hlavní", - "entityType.simple_instance.contributors.primary._qualified": "Autoři hlavní", "entityType.simple_instance.created_at": "Datum vytvoření", "entityType.simple_instance.created_by": "Vytvořeno uživatelem UUID", "entityType.simple_instance.discovery_suppress": "Potlačení Objevování", @@ -765,8 +749,6 @@ "entityType.simple_instance.publication.role": "Role", "entityType.simple_instance.publication.role._qualified": "Publikační role", "entityType.simple_instance.publication_frequency": "Četnost publikování", - "entityType.simple_instance.publication_period_end": "Rok ukončení publikace", - "entityType.simple_instance.publication_period_start": "Rok zahájení publikace", "entityType.simple_instance.publication_range": "Rozsah publikace", "entityType.simple_instance.series": "Série", "entityType.simple_instance.source": "Zdroj", @@ -1481,5 +1463,22 @@ "entityType.simple_instance.instance_type_name": "Typ zdroje", "entityType.composite_purchase_order_lines._shortened": "ŘNO", "entityType.simple_organization._shortened": "Org.", - "entityType.simple_instance.alternative_titles_ids": "Alternativní názvy – Typ UUID" + "entityType.simple_instance.alternative_titles_ids": "Alternativní názvy – Typ UUID", + "entityType.simple_instance.contributor_type_id": "UUID typu autora", + "entityType.simple_instance.contributors_name": "Contributor name", + "entityType.simple_instance.contributor_type_text": "Typ autora", + "entityType.simple_instance.contributor_name_type_id": "UUID typu jména autora", + "entityType.simple_instance.contributor_name_type": "Typ jména autora", + "entityType.simple_instance.instance_primary_contributor": "Primary contributor", + "entityType.simple_instance.classification_type_ids": "UUID typu klasifikace", + "entityType.simple_instance.classification_type_names": "Typ identifikátoru klasifikace", + "entityType.simple_instance.classification_numbers": "Klasifikace", + "entityType.composite_instances.date_type": "Instance date type", + "entityType.simple_instance.instance_date_1": "Datum 1", + "entityType.simple_instance.instance_date_2": "Datum 2", + "entityType.simple_instance.instance_date_type_id": "Date type ID", + "entityType.simple_instance_date_type": "Instance date type", + "entityType.simple_instance_date_type.id": "ID", + "entityType.simple_instance_date_type.name": "Jméno", + "entityType.simple_instance_date_type.code": "Kód" } \ No newline at end of file diff --git a/translations/mod-fqm-manager/da.json b/translations/mod-fqm-manager/da.json index 27d1312f..8df23f9c 100644 --- a/translations/mod-fqm-manager/da.json +++ b/translations/mod-fqm-manager/da.json @@ -700,23 +700,7 @@ "entityType.simple_instance.administrative_notes": "Administrative notes", "entityType.simple_instance.alternative_titles": "Alternative titles", "entityType.simple_instance.cataloged_date": "Cataloged date", - "entityType.simple_instance.classifications": "Classifications", - "entityType.simple_instance.classifications.number": "Number", - "entityType.simple_instance.classifications.number._qualified": "Classification number", - "entityType.simple_instance.classifications.type_id": "Type UUID", - "entityType.simple_instance.classifications.type_id._qualified": "Classification type UUID", "entityType.simple_instance.complete_updated_date": "Complete updated date", - "entityType.simple_instance.contributors": "Contributors", - "entityType.simple_instance.contributors.contributor_name_type_id": "Contributor name type UUID", - "entityType.simple_instance.contributors.contributor_name_type_id._qualified": "Contributors contributor name type UUID", - "entityType.simple_instance.contributors.contributor_type_id": "Contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_id._qualified": "Contributors contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_text": "Contributor type text", - "entityType.simple_instance.contributors.contributor_type_text._qualified": "Contributors contributor type text", - "entityType.simple_instance.contributors.name": "Name", - "entityType.simple_instance.contributors.name._qualified": "Contributors name", - "entityType.simple_instance.contributors.primary": "Primary", - "entityType.simple_instance.contributors.primary._qualified": "Contributors primary", "entityType.simple_instance.created_at": "Created date", "entityType.simple_instance.created_by": "Created by user UUID", "entityType.simple_instance.discovery_suppress": "Discovery suppress", @@ -765,8 +749,6 @@ "entityType.simple_instance.publication.role": "Role", "entityType.simple_instance.publication.role._qualified": "Publication role", "entityType.simple_instance.publication_frequency": "Publication frequency", - "entityType.simple_instance.publication_period_end": "Publication end year", - "entityType.simple_instance.publication_period_start": "Publication start year", "entityType.simple_instance.publication_range": "Publication range", "entityType.simple_instance.series": "Series", "entityType.simple_instance.source": "Source", @@ -1481,5 +1463,22 @@ "entityType.simple_instance.instance_type_name": "Resource type", "entityType.composite_purchase_order_lines._shortened": "POL", "entityType.simple_organization._shortened": "Orgs", - "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID" + "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID", + "entityType.simple_instance.contributor_type_id": "Contributor type UUID", + "entityType.simple_instance.contributors_name": "Contributor name", + "entityType.simple_instance.contributor_type_text": "Contributor type", + "entityType.simple_instance.contributor_name_type_id": "Contributor name type UUID", + "entityType.simple_instance.contributor_name_type": "Contributor name type", + "entityType.simple_instance.instance_primary_contributor": "Primary contributor", + "entityType.simple_instance.classification_type_ids": "Classification type UUIDs", + "entityType.simple_instance.classification_type_names": "Classification identifier type", + "entityType.simple_instance.classification_numbers": "Classification", + "entityType.composite_instances.date_type": "Instance date type", + "entityType.simple_instance.instance_date_1": "Date 1", + "entityType.simple_instance.instance_date_2": "Date 2", + "entityType.simple_instance.instance_date_type_id": "Date type ID", + "entityType.simple_instance_date_type": "Instance date type", + "entityType.simple_instance_date_type.id": "ID", + "entityType.simple_instance_date_type.name": "Name", + "entityType.simple_instance_date_type.code": "Code" } \ No newline at end of file diff --git a/translations/mod-fqm-manager/de.json b/translations/mod-fqm-manager/de.json index ed6a3769..34883d3f 100644 --- a/translations/mod-fqm-manager/de.json +++ b/translations/mod-fqm-manager/de.json @@ -700,23 +700,7 @@ "entityType.simple_instance.administrative_notes": "Administrative notes", "entityType.simple_instance.alternative_titles": "Alternative titles", "entityType.simple_instance.cataloged_date": "Cataloged date", - "entityType.simple_instance.classifications": "Classifications", - "entityType.simple_instance.classifications.number": "Number", - "entityType.simple_instance.classifications.number._qualified": "Classification number", - "entityType.simple_instance.classifications.type_id": "Type UUID", - "entityType.simple_instance.classifications.type_id._qualified": "Classification type UUID", "entityType.simple_instance.complete_updated_date": "Complete updated date", - "entityType.simple_instance.contributors": "Contributors", - "entityType.simple_instance.contributors.contributor_name_type_id": "Contributor name type UUID", - "entityType.simple_instance.contributors.contributor_name_type_id._qualified": "Contributors contributor name type UUID", - "entityType.simple_instance.contributors.contributor_type_id": "Contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_id._qualified": "Contributors contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_text": "Contributor type text", - "entityType.simple_instance.contributors.contributor_type_text._qualified": "Contributors contributor type text", - "entityType.simple_instance.contributors.name": "Name", - "entityType.simple_instance.contributors.name._qualified": "Contributors name", - "entityType.simple_instance.contributors.primary": "Primary", - "entityType.simple_instance.contributors.primary._qualified": "Contributors primary", "entityType.simple_instance.created_at": "Created date", "entityType.simple_instance.created_by": "Created by user UUID", "entityType.simple_instance.discovery_suppress": "Discovery suppress", @@ -765,8 +749,6 @@ "entityType.simple_instance.publication.role": "Role", "entityType.simple_instance.publication.role._qualified": "Publication role", "entityType.simple_instance.publication_frequency": "Publication frequency", - "entityType.simple_instance.publication_period_end": "Publication end year", - "entityType.simple_instance.publication_period_start": "Publication start year", "entityType.simple_instance.publication_range": "Publication range", "entityType.simple_instance.series": "Series", "entityType.simple_instance.source": "Source", @@ -1481,5 +1463,22 @@ "entityType.simple_instance.instance_type_name": "Resource type", "entityType.composite_purchase_order_lines._shortened": "POL", "entityType.simple_organization._shortened": "Orgs", - "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID" + "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID", + "entityType.simple_instance.contributor_type_id": "Contributor type UUID", + "entityType.simple_instance.contributors_name": "Contributor name", + "entityType.simple_instance.contributor_type_text": "Contributor type", + "entityType.simple_instance.contributor_name_type_id": "Contributor name type UUID", + "entityType.simple_instance.contributor_name_type": "Contributor name type", + "entityType.simple_instance.instance_primary_contributor": "Primary contributor", + "entityType.simple_instance.classification_type_ids": "Classification type UUIDs", + "entityType.simple_instance.classification_type_names": "Classification identifier type", + "entityType.simple_instance.classification_numbers": "Classification", + "entityType.composite_instances.date_type": "Instance date type", + "entityType.simple_instance.instance_date_1": "Date 1", + "entityType.simple_instance.instance_date_2": "Date 2", + "entityType.simple_instance.instance_date_type_id": "Date type ID", + "entityType.simple_instance_date_type": "Instance date type", + "entityType.simple_instance_date_type.id": "ID", + "entityType.simple_instance_date_type.name": "Name", + "entityType.simple_instance_date_type.code": "Code" } \ No newline at end of file diff --git a/translations/mod-fqm-manager/en.json b/translations/mod-fqm-manager/en.json index 6997f5b1..05eb87f4 100644 --- a/translations/mod-fqm-manager/en.json +++ b/translations/mod-fqm-manager/en.json @@ -6,6 +6,7 @@ "entityType.composite_holdings_record.permanent_location": "Permanent location", "entityType.composite_holdings_record.temporary_location": "Temporary location", "entityType.composite_instances": "Instances", + "entityType.composite_instances.date_type": "Instance date type", "entityType.composite_instances.inst_stat": "Instance status", "entityType.composite_instances.instance": "Instance", "entityType.composite_instances.instance_type": "Resource type", @@ -35,7 +36,7 @@ "entityType.composite_item_details.instances": "Instances", "entityType.composite_item_details.item_level_call_number": "Item level call number", "entityType.composite_item_details.items": "Items", - "entityType.composite_item_details.loclibrary": "Library", + "entityType.composite_item_details.loclibrary": "Effective library", "entityType.composite_item_details.mtypes": "Material type", "entityType.composite_item_details.permanent_location": "Permanent location", "entityType.composite_item_details.temporary_location": "Temporary location", @@ -43,8 +44,8 @@ "entityType.composite_ledger_fund.fund": "Fund", "entityType.composite_ledger_fund.ledger": "Ledger", "entityType.composite_loan_details": "Loans", - "entityType.composite_loan_details.cispi": "Cispi", - "entityType.composite_loan_details.cospi": "Cospi", + "entityType.composite_loan_details.cispi": "Check in service point", + "entityType.composite_loan_details.cospi": "Check out service point", "entityType.composite_loan_details.groups": "Patron group", "entityType.composite_loan_details.holdings": "Holdings", "entityType.composite_loan_details.instance": "Instance", @@ -96,9 +97,9 @@ "entityType.composite_purchase_order_lines.pol_exchange_rate": "POL exchange rate", "entityType.composite_purchase_order_lines.pol_updated_by_user": "POL updated by user", "entityType.composite_purchase_order_lines.rates": "Exchange rate", - "entityType.composite_purchase_order_lines.vendor_organization": "Vendor organization", + "entityType.composite_purchase_order_lines.vendor_organization": "Vendor org", "entityType.composite_user_details": "Users", - "entityType.composite_user_details.groups": "Group", + "entityType.composite_user_details.groups": "Patron group", "entityType.composite_user_details.users": "User", "entityType.composite_voucher_line__fund_distribution": "Composite voucher line fund distribution", "entityType.composite_voucher_line__fund_distribution.code": "Fund code", @@ -516,7 +517,7 @@ "entityType.simple_call_number_type.created_date": "Created date", "entityType.simple_call_number_type.id": "UUID", "entityType.simple_call_number_type.jsonb": "JSONB", - "entityType.simple_call_number_type.name": "Name", + "entityType.simple_call_number_type.name": "Type", "entityType.simple_call_number_type.source": "Source", "entityType.simple_call_number_type.updated_by_user_id": "Updated by user UUID", "entityType.simple_call_number_type.updated_by_username": "Updated by username", @@ -542,7 +543,7 @@ "entityType.simple_group_details.created_date": "Created date", "entityType.simple_group_details.desc": "Desc", "entityType.simple_group_details.expiration_off_set_in_days": "Expiration off set in days", - "entityType.simple_group_details.group": "Group", + "entityType.simple_group_details.group": "Name", "entityType.simple_group_details.id": "UUID", "entityType.simple_group_details.jsonb": "JSONB", "entityType.simple_group_details.source": "Source", @@ -550,7 +551,7 @@ "entityType.simple_group_details.updated_by_username": "Updated by username", "entityType.simple_group_details.updated_date": "Updated date", "entityType.simple_holdings_records": "Holdings", - "entityType.simple_holdings_records.acquisition_format": "Acquisition format", + "entityType.simple_holdings_records.acquisition_format": "Acquisition order format", "entityType.simple_holdings_records.acquisition_method": "Acquisition method", "entityType.simple_holdings_records.administrative_notes": "Administrative notes", "entityType.simple_holdings_records.call_number": "Call number", @@ -558,10 +559,10 @@ "entityType.simple_holdings_records.call_number_suffix": "Call number suffix", "entityType.simple_holdings_records.call_number_type_id": "Call number type UUID", "entityType.simple_holdings_records.copy_number": "Copy number", - "entityType.simple_holdings_records.created_at": "Created at", + "entityType.simple_holdings_records.created_at": "Created date", "entityType.simple_holdings_records.created_by": "Created by user UUID", "entityType.simple_holdings_records.digitization_policy": "Digitization policy", - "entityType.simple_holdings_records.discovery_suppress": "Suppressed from discovery", + "entityType.simple_holdings_records.discovery_suppress": "Suppress from discovery", "entityType.simple_holdings_records.effective_location_id": "Effective location UUID", "entityType.simple_holdings_records.electronic_access": "Electronic access", "entityType.simple_holdings_records.electronic_access.link_text": "Link text", @@ -576,8 +577,8 @@ "entityType.simple_holdings_records.electronic_access.uri._qualified": "Electronic access URI", "entityType.simple_holdings_records.former_ids": "Former IDs", "entityType.simple_holdings_records.holdings_statements": "Statements", - "entityType.simple_holdings_records.holdings_statements.note": "Note", - "entityType.simple_holdings_records.holdings_statements.note._qualified": "Statements — Note", + "entityType.simple_holdings_records.holdings_statements.note": "Public note", + "entityType.simple_holdings_records.holdings_statements.note._qualified": "Statements — Public note", "entityType.simple_holdings_records.holdings_statements.staff_note": "Staff note", "entityType.simple_holdings_records.holdings_statements.staff_note._qualified": "Statements — Staff note", "entityType.simple_holdings_records.holdings_statements.statement": "Statement", @@ -611,7 +612,7 @@ "entityType.simple_holdings_records.notes.staff_only._qualified": "Notes staff only", "entityType.simple_holdings_records.number_of_items": "Number of items", "entityType.simple_holdings_records.permanent_location_id": "Permanent location UUID", - "entityType.simple_holdings_records.receipt_status": "Receipt status", + "entityType.simple_holdings_records.receipt_status": "Acquisition receipt status", "entityType.simple_holdings_records.receiving_history_display_type": "Receiving history display type", "entityType.simple_holdings_records.receiving_history_entries": "Receiving history entries", "entityType.simple_holdings_records.receiving_history_entries.chronology": "Chronology", @@ -629,7 +630,7 @@ "entityType.simple_holdings_records.temporary_location_id": "Temporary location UUID", "entityType.simple_holdings_records.temporary_location_id_copy": "Temporary location UUID", "entityType.simple_holdings_records.tenant_id": "Tenant ID", - "entityType.simple_holdings_records.updated_at": "Updated at", + "entityType.simple_holdings_records.updated_at": "Updated date", "entityType.simple_holdings_records.updated_by": "Updated by user UUID", "entityType.simple_holdings_records.version": "Record version", "entityType.simple_instance": "Instances", @@ -637,15 +638,13 @@ "entityType.simple_instance.alternative_titles": "Alternative titles", "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID", "entityType.simple_instance.cataloged_date": "Cataloged date", - "entityType.simple_instance.classifications": "Classifications", - "entityType.simple_instance.classifications.number": "Number", - "entityType.simple_instance.classifications.number._qualified": "Classification number", - "entityType.simple_instance.classifications.type_id": "Type UUID", - "entityType.simple_instance.classifications.type_id._qualified": "Classification type UUID", + "entityType.simple_instance.classification_type_ids": "Classification type UUIDs", + "entityType.simple_instance.classification_type_names": "Classification identifier type", + "entityType.simple_instance.classification_numbers": "Classification", "entityType.simple_instance.complete_updated_date": "Complete updated date", "entityType.simple_instance.contributor_type_id": "Contributor type UUID", "entityType.simple_instance.contributors_name": "Contributor name", - "entityType.simple_instance.contributor_type_text": "Contributor type", + "entityType.simple_instance.contributor_type": "Contributor type", "entityType.simple_instance.contributor_name_type_id": "Contributor name type UUID", "entityType.simple_instance.contributor_name_type": "Contributor name type", "entityType.simple_instance.instance_primary_contributor": "Primary contributor", @@ -674,6 +673,9 @@ "entityType.simple_instance.identifiers.value._qualified": "Identifiers value", "entityType.simple_instance.index_title": "Index title", "entityType.simple_instance.instance_format_ids": "Instance format UUIDs", + "entityType.simple_instance.instance_date_1": "Date 1", + "entityType.simple_instance.instance_date_2": "Date 2", + "entityType.simple_instance.instance_date_type_id": "Date type ID", "entityType.simple_instance.instance_type_id": "Resource type UUID", "entityType.simple_instance.instance_type_name": "Resource type", "entityType.simple_instance.jsonb": "JSONB", @@ -701,8 +703,6 @@ "entityType.simple_instance.publication.role": "Role", "entityType.simple_instance.publication.role._qualified": "Publication role", "entityType.simple_instance.publication_frequency": "Publication frequency", - "entityType.simple_instance.publication_period_end": "Publication end year", - "entityType.simple_instance.publication_period_start": "Publication start year", "entityType.simple_instance.publication_range": "Publication range", "entityType.simple_instance.series": "Series", "entityType.simple_instance.shared": "Shared", @@ -720,6 +720,10 @@ "entityType.simple_instance.updated_at": "Updated date", "entityType.simple_instance.updated_by": "Updated by user UUID", "entityType.simple_instance.version": "Record version", + "entityType.simple_instance_date_type": "Instance date type", + "entityType.simple_instance_date_type.id": "ID", + "entityType.simple_instance_date_type.name": "Name", + "entityType.simple_instance_date_type.code": "Code", "entityType.simple_instance_status": "Instance status name", "entityType.simple_instance_status.code": "Code", "entityType.simple_instance_status.created_by_user_id": "Created by user UUID", @@ -781,7 +785,7 @@ "entityType.simple_item_details.created_by_user_id": "Created by user UUID", "entityType.simple_item_details.created_date": "Created date", "entityType.simple_item_details.description_of_pieces": "Description of pieces", - "entityType.simple_item_details.discovery_suppress": "Discovery suppress", + "entityType.simple_item_details.discovery_suppress": "Suppress from discovery", "entityType.simple_item_details.effective_call_number": "Effective call number", "entityType.simple_item_details.effective_call_number_components_call_number": "Effective call number components call number", "entityType.simple_item_details.effective_call_number_components_prefix": "Effective call number components prefix", @@ -803,10 +807,10 @@ "entityType.simple_item_details.id": "Item UUID", "entityType.simple_item_details.in_transit_destination_service_point_id": "In transit destination service point UUID", "entityType.simple_item_details.item_damaged_status_id": "Item damaged status UUID", - "entityType.simple_item_details.item_level_call_number": "Item level call number", + "entityType.simple_item_details.item_level_call_number": "Item call number", "entityType.simple_item_details.item_level_call_number_prefix": "Item level call number prefix", "entityType.simple_item_details.item_level_call_number_suffix": "Item level call number suffix", - "entityType.simple_item_details.item_level_call_number_type_id": "Item level call number type UUID", + "entityType.simple_item_details.item_level_call_number_type_id": "Item call number type UUID", "entityType.simple_item_details.jsonb": "JSONB", "entityType.simple_item_details.last_check_in_date_time": "Last check in date time", "entityType.simple_item_details.last_check_in_service_point_id": "Last check in service point UUID", @@ -972,8 +976,8 @@ "entityType.simple_organization.accounts.account_status._qualified": "Accounts status", "entityType.simple_organization.accounts.acq_unit_ids": "Acquisition unit UUIDs", "entityType.simple_organization.accounts.acq_unit_ids._qualified": "Accounts acquisition unit UUIDs", - "entityType.simple_organization.accounts.app_system_no": "App system number", - "entityType.simple_organization.accounts.app_system_no._qualified": "Accounts app system number", + "entityType.simple_organization.accounts.app_system_no": "Accounting code", + "entityType.simple_organization.accounts.app_system_no._qualified": "Accounts accounting code", "entityType.simple_organization.accounts.contact_info": "Contact info", "entityType.simple_organization.accounts.contact_info._qualified": "Accounts contact info", "entityType.simple_organization.accounts.description": "Description", @@ -1012,10 +1016,10 @@ "entityType.simple_organization.addresses.zip_code": "Zip code", "entityType.simple_organization.addresses.zip_code._qualified": "Addresses zip code", "entityType.simple_organization.agreements": "Agreements", - "entityType.simple_organization.agreements.discount": "Discount", - "entityType.simple_organization.agreements.discount._qualified": "Agreements discount", - "entityType.simple_organization.agreements.name": "Name", - "entityType.simple_organization.agreements.name._qualified": "Agreements name", + "entityType.simple_organization.agreements.discount": "Discount percentage", + "entityType.simple_organization.agreements.discount._qualified": "Agreements discount percentage", + "entityType.simple_organization.agreements.name": "Vendor terms name", + "entityType.simple_organization.agreements.name._qualified": "Agreements vendor terms name", "entityType.simple_organization.agreements.notes": "Notes", "entityType.simple_organization.agreements.notes._qualified": "Agreements notes", "entityType.simple_organization.agreements.reference_url": "Reference URL", diff --git a/translations/mod-fqm-manager/en_GB.json b/translations/mod-fqm-manager/en_GB.json index 27d1312f..8df23f9c 100644 --- a/translations/mod-fqm-manager/en_GB.json +++ b/translations/mod-fqm-manager/en_GB.json @@ -700,23 +700,7 @@ "entityType.simple_instance.administrative_notes": "Administrative notes", "entityType.simple_instance.alternative_titles": "Alternative titles", "entityType.simple_instance.cataloged_date": "Cataloged date", - "entityType.simple_instance.classifications": "Classifications", - "entityType.simple_instance.classifications.number": "Number", - "entityType.simple_instance.classifications.number._qualified": "Classification number", - "entityType.simple_instance.classifications.type_id": "Type UUID", - "entityType.simple_instance.classifications.type_id._qualified": "Classification type UUID", "entityType.simple_instance.complete_updated_date": "Complete updated date", - "entityType.simple_instance.contributors": "Contributors", - "entityType.simple_instance.contributors.contributor_name_type_id": "Contributor name type UUID", - "entityType.simple_instance.contributors.contributor_name_type_id._qualified": "Contributors contributor name type UUID", - "entityType.simple_instance.contributors.contributor_type_id": "Contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_id._qualified": "Contributors contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_text": "Contributor type text", - "entityType.simple_instance.contributors.contributor_type_text._qualified": "Contributors contributor type text", - "entityType.simple_instance.contributors.name": "Name", - "entityType.simple_instance.contributors.name._qualified": "Contributors name", - "entityType.simple_instance.contributors.primary": "Primary", - "entityType.simple_instance.contributors.primary._qualified": "Contributors primary", "entityType.simple_instance.created_at": "Created date", "entityType.simple_instance.created_by": "Created by user UUID", "entityType.simple_instance.discovery_suppress": "Discovery suppress", @@ -765,8 +749,6 @@ "entityType.simple_instance.publication.role": "Role", "entityType.simple_instance.publication.role._qualified": "Publication role", "entityType.simple_instance.publication_frequency": "Publication frequency", - "entityType.simple_instance.publication_period_end": "Publication end year", - "entityType.simple_instance.publication_period_start": "Publication start year", "entityType.simple_instance.publication_range": "Publication range", "entityType.simple_instance.series": "Series", "entityType.simple_instance.source": "Source", @@ -1481,5 +1463,22 @@ "entityType.simple_instance.instance_type_name": "Resource type", "entityType.composite_purchase_order_lines._shortened": "POL", "entityType.simple_organization._shortened": "Orgs", - "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID" + "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID", + "entityType.simple_instance.contributor_type_id": "Contributor type UUID", + "entityType.simple_instance.contributors_name": "Contributor name", + "entityType.simple_instance.contributor_type_text": "Contributor type", + "entityType.simple_instance.contributor_name_type_id": "Contributor name type UUID", + "entityType.simple_instance.contributor_name_type": "Contributor name type", + "entityType.simple_instance.instance_primary_contributor": "Primary contributor", + "entityType.simple_instance.classification_type_ids": "Classification type UUIDs", + "entityType.simple_instance.classification_type_names": "Classification identifier type", + "entityType.simple_instance.classification_numbers": "Classification", + "entityType.composite_instances.date_type": "Instance date type", + "entityType.simple_instance.instance_date_1": "Date 1", + "entityType.simple_instance.instance_date_2": "Date 2", + "entityType.simple_instance.instance_date_type_id": "Date type ID", + "entityType.simple_instance_date_type": "Instance date type", + "entityType.simple_instance_date_type.id": "ID", + "entityType.simple_instance_date_type.name": "Name", + "entityType.simple_instance_date_type.code": "Code" } \ No newline at end of file diff --git a/translations/mod-fqm-manager/en_SE.json b/translations/mod-fqm-manager/en_SE.json index 27d1312f..8df23f9c 100644 --- a/translations/mod-fqm-manager/en_SE.json +++ b/translations/mod-fqm-manager/en_SE.json @@ -700,23 +700,7 @@ "entityType.simple_instance.administrative_notes": "Administrative notes", "entityType.simple_instance.alternative_titles": "Alternative titles", "entityType.simple_instance.cataloged_date": "Cataloged date", - "entityType.simple_instance.classifications": "Classifications", - "entityType.simple_instance.classifications.number": "Number", - "entityType.simple_instance.classifications.number._qualified": "Classification number", - "entityType.simple_instance.classifications.type_id": "Type UUID", - "entityType.simple_instance.classifications.type_id._qualified": "Classification type UUID", "entityType.simple_instance.complete_updated_date": "Complete updated date", - "entityType.simple_instance.contributors": "Contributors", - "entityType.simple_instance.contributors.contributor_name_type_id": "Contributor name type UUID", - "entityType.simple_instance.contributors.contributor_name_type_id._qualified": "Contributors contributor name type UUID", - "entityType.simple_instance.contributors.contributor_type_id": "Contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_id._qualified": "Contributors contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_text": "Contributor type text", - "entityType.simple_instance.contributors.contributor_type_text._qualified": "Contributors contributor type text", - "entityType.simple_instance.contributors.name": "Name", - "entityType.simple_instance.contributors.name._qualified": "Contributors name", - "entityType.simple_instance.contributors.primary": "Primary", - "entityType.simple_instance.contributors.primary._qualified": "Contributors primary", "entityType.simple_instance.created_at": "Created date", "entityType.simple_instance.created_by": "Created by user UUID", "entityType.simple_instance.discovery_suppress": "Discovery suppress", @@ -765,8 +749,6 @@ "entityType.simple_instance.publication.role": "Role", "entityType.simple_instance.publication.role._qualified": "Publication role", "entityType.simple_instance.publication_frequency": "Publication frequency", - "entityType.simple_instance.publication_period_end": "Publication end year", - "entityType.simple_instance.publication_period_start": "Publication start year", "entityType.simple_instance.publication_range": "Publication range", "entityType.simple_instance.series": "Series", "entityType.simple_instance.source": "Source", @@ -1481,5 +1463,22 @@ "entityType.simple_instance.instance_type_name": "Resource type", "entityType.composite_purchase_order_lines._shortened": "POL", "entityType.simple_organization._shortened": "Orgs", - "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID" + "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID", + "entityType.simple_instance.contributor_type_id": "Contributor type UUID", + "entityType.simple_instance.contributors_name": "Contributor name", + "entityType.simple_instance.contributor_type_text": "Contributor type", + "entityType.simple_instance.contributor_name_type_id": "Contributor name type UUID", + "entityType.simple_instance.contributor_name_type": "Contributor name type", + "entityType.simple_instance.instance_primary_contributor": "Primary contributor", + "entityType.simple_instance.classification_type_ids": "Classification type UUIDs", + "entityType.simple_instance.classification_type_names": "Classification identifier type", + "entityType.simple_instance.classification_numbers": "Classification", + "entityType.composite_instances.date_type": "Instance date type", + "entityType.simple_instance.instance_date_1": "Date 1", + "entityType.simple_instance.instance_date_2": "Date 2", + "entityType.simple_instance.instance_date_type_id": "Date type ID", + "entityType.simple_instance_date_type": "Instance date type", + "entityType.simple_instance_date_type.id": "ID", + "entityType.simple_instance_date_type.name": "Name", + "entityType.simple_instance_date_type.code": "Code" } \ No newline at end of file diff --git a/translations/mod-fqm-manager/en_US.json b/translations/mod-fqm-manager/en_US.json index 75e3e553..fc6ed873 100644 --- a/translations/mod-fqm-manager/en_US.json +++ b/translations/mod-fqm-manager/en_US.json @@ -194,7 +194,7 @@ "entityType.simple_group_details.created_date": "Created date", "entityType.simple_group_details.desc": "Desc", "entityType.simple_group_details.expiration_off_set_in_days": "Expiration off set in days", - "entityType.simple_group_details.group": "Group", + "entityType.simple_group_details.group": "Name", "entityType.simple_group_details.id": "UUID", "entityType.simple_group_details.source": "Source", "entityType.simple_group_details.updated_by_user_id": "Updated by user UUID", @@ -439,7 +439,7 @@ "entityType.simple_item_details.created_by_user_id": "Created by user UUID", "entityType.simple_item_details.created_date": "Created date", "entityType.simple_item_details.description_of_pieces": "Description of pieces", - "entityType.simple_item_details.discovery_suppress": "Discovery suppress", + "entityType.simple_item_details.discovery_suppress": "Suppress from discovery", "entityType.simple_item_details.effective_call_number_components_call_number": "Effective call number components call number", "entityType.simple_item_details.effective_call_number_components_prefix": "Effective call number components prefix", "entityType.simple_item_details.effective_call_number_components_suffix": "Effective call number components suffix", @@ -460,10 +460,10 @@ "entityType.simple_item_details.id": "Item UUID", "entityType.simple_item_details.in_transit_destination_service_point_id": "In transit destination service point UUID", "entityType.simple_item_details.item_damaged_status_id": "Item damaged status UUID", - "entityType.simple_item_details.item_level_call_number": "Item level call number", + "entityType.simple_item_details.item_level_call_number": "Item call number", "entityType.simple_item_details.item_level_call_number_prefix": "Item level call number prefix", "entityType.simple_item_details.item_level_call_number_suffix": "Item level call number suffix", - "entityType.simple_item_details.item_level_call_number_type_id": "Item level call number type UUID", + "entityType.simple_item_details.item_level_call_number_type_id": "Item call number type UUID", "entityType.simple_item_details.last_check_in_date_time": "Last check in date time", "entityType.simple_item_details.last_check_in_service_point_id": "Last check in service point UUID", "entityType.simple_item_details.last_check_in_staff_member_id": "Last check in staff member UUID", @@ -617,7 +617,7 @@ "entityType.simple_exchange_rates.currency": "Currency", "entityType.simple_exchange_rates.rate": "Rate", "entityType.simple_holdings_records": "Holdings", - "entityType.simple_holdings_records.acquisition_format": "Acquisition format", + "entityType.simple_holdings_records.acquisition_format": "Acquisition order format", "entityType.simple_holdings_records.acquisition_method": "Acquisition method", "entityType.simple_holdings_records.administrative_notes": "Administrative notes", "entityType.simple_holdings_records.call_number": "Call number", @@ -625,10 +625,10 @@ "entityType.simple_holdings_records.call_number_suffix": "Call number suffix", "entityType.simple_holdings_records.call_number_type_id": "Call number type UUID", "entityType.simple_holdings_records.copy_number": "Copy number", - "entityType.simple_holdings_records.created_at": "Created at", + "entityType.simple_holdings_records.created_at": "Created date", "entityType.simple_holdings_records.created_by": "Created by user UUID", "entityType.simple_holdings_records.digitization_policy": "Digitization policy", - "entityType.simple_holdings_records.discovery_suppress": "Suppressed from discovery", + "entityType.simple_holdings_records.discovery_suppress": "Suppress from discovery", "entityType.simple_holdings_records.effective_location_id": "Effective location UUID", "entityType.simple_holdings_records.electronic_access": "Electronic access", "entityType.simple_holdings_records.electronic_access.link_text": "Link text", @@ -643,8 +643,8 @@ "entityType.simple_holdings_records.electronic_access.uri._qualified": "Electronic access URI", "entityType.simple_holdings_records.former_ids": "Former IDs", "entityType.simple_holdings_records.holdings_statements": "Statements", - "entityType.simple_holdings_records.holdings_statements.note": "Note", - "entityType.simple_holdings_records.holdings_statements.note._qualified": "Statements — Note", + "entityType.simple_holdings_records.holdings_statements.note": "Public note", + "entityType.simple_holdings_records.holdings_statements.note._qualified": "Statements Public note", "entityType.simple_holdings_records.holdings_statements.staff_note": "Staff note", "entityType.simple_holdings_records.holdings_statements.staff_note._qualified": "Statements — Staff note", "entityType.simple_holdings_records.holdings_statements.statement": "Statement", @@ -677,7 +677,7 @@ "entityType.simple_holdings_records.notes.staff_only._qualified": "Notes staff only", "entityType.simple_holdings_records.number_of_items": "Number of items", "entityType.simple_holdings_records.permanent_location_id": "Permanent location UUID", - "entityType.simple_holdings_records.receipt_status": "Receipt status", + "entityType.simple_holdings_records.receipt_status": "Acquisition receipt status", "entityType.simple_holdings_records.receiving_history_display_type": "Receiving history display type", "entityType.simple_holdings_records.receiving_history_entries": "Receiving history entries", "entityType.simple_holdings_records.receiving_history_entries.chronology": "Chronology", @@ -693,25 +693,14 @@ "entityType.simple_holdings_records.tags": "Tags", "entityType.simple_holdings_records.temporary_location_id": "Temporary location UUID", "entityType.simple_holdings_records.temporary_location_id_copy": "Temporary location UUID", - "entityType.simple_holdings_records.updated_at": "Updated at", + "entityType.simple_holdings_records.updated_at": "Updated date", "entityType.simple_holdings_records.updated_by": "Updated by user UUID", "entityType.simple_holdings_records.version": "Record version", "entityType.simple_instance": "Instances", "entityType.simple_instance.administrative_notes": "Administrative notes", "entityType.simple_instance.alternative_titles": "Alternative titles", "entityType.simple_instance.cataloged_date": "Cataloged date", - "entityType.simple_instance.classifications": "Classifications", - "entityType.simple_instance.classifications.number": "Number", - "entityType.simple_instance.classifications.number._qualified": "Classification number", - "entityType.simple_instance.classifications.type_id": "Type UUID", - "entityType.simple_instance.classifications.type_id._qualified": "Classification type UUID", "entityType.simple_instance.complete_updated_date": "Complete updated date", - "entityType.simple_instance.contributor_type_id": "Contributor type UUID", - "entityType.simple_instance.contributors_name": "Contributor name", - "entityType.simple_instance.contributor_type_text": "Contributor type", - "entityType.simple_instance.contributor_name_type_id": "Contributor name type UUID", - "entityType.simple_instance.contributor_name_type": "Contributor name type", - "entityType.simple_instance.instance_primary_contributor": "Primary contributor", "entityType.simple_instance.created_at": "Created date", "entityType.simple_instance.created_by": "Created by user UUID", "entityType.simple_instance.discovery_suppress": "Discovery suppress", @@ -760,8 +749,6 @@ "entityType.simple_instance.publication.role": "Role", "entityType.simple_instance.publication.role._qualified": "Publication role", "entityType.simple_instance.publication_frequency": "Publication frequency", - "entityType.simple_instance.publication_period_end": "Publication end year", - "entityType.simple_instance.publication_period_start": "Publication start year", "entityType.simple_instance.publication_range": "Publication range", "entityType.simple_instance.series": "Series", "entityType.simple_instance.source": "Source", @@ -892,8 +879,8 @@ "entityType.simple_organization.accounts.account_status._qualified": "Accounts status", "entityType.simple_organization.accounts.acq_unit_ids": "Acquisition unit UUIDs", "entityType.simple_organization.accounts.acq_unit_ids._qualified": "Accounts acquisition unit UUIDs", - "entityType.simple_organization.accounts.app_system_no": "App system number", - "entityType.simple_organization.accounts.app_system_no._qualified": "Accounts app system number", + "entityType.simple_organization.accounts.app_system_no": "Accounting code", + "entityType.simple_organization.accounts.app_system_no._qualified": "Accounts accounting code", "entityType.simple_organization.accounts.contact_info": "Contact info", "entityType.simple_organization.accounts.contact_info._qualified": "Accounts contact info", "entityType.simple_organization.accounts.description": "Description", @@ -931,10 +918,10 @@ "entityType.simple_organization.addresses.zip_code": "Zip code", "entityType.simple_organization.addresses.zip_code._qualified": "Addresses zip code", "entityType.simple_organization.agreements": "Agreements", - "entityType.simple_organization.agreements.discount": "Discount", - "entityType.simple_organization.agreements.discount._qualified": "Agreements discount", - "entityType.simple_organization.agreements.name": "Name", - "entityType.simple_organization.agreements.name._qualified": "Agreements name", + "entityType.simple_organization.agreements.discount": "Discount percentage", + "entityType.simple_organization.agreements.discount._qualified": "Agreements discount percentage", + "entityType.simple_organization.agreements.name": "Vendor terms name", + "entityType.simple_organization.agreements.name._qualified": "Agreements vendor terms name", "entityType.simple_organization.agreements.notes": "Notes", "entityType.simple_organization.agreements.notes._qualified": "Agreements notes", "entityType.simple_organization.agreements.reference_url": "Reference URL", @@ -1230,7 +1217,7 @@ "entityType.simple_purchase_order_line.vendor_detail_vendor_account": "Vendor detail vendor account", "entityType.simple_call_number_type": "Call number type", "entityType.simple_call_number_type.id": "UUID", - "entityType.simple_call_number_type.name": "Name", + "entityType.simple_call_number_type.name": "Type", "entityType.simple_call_number_type.source": "Source", "entityType.simple_call_number_type.created_date": "Created date", "entityType.simple_call_number_type.updated_date": "Updated date", @@ -1250,12 +1237,12 @@ "entityType.simple_instance_status.updated_by_username": "Updated by username", "entityType.composite_user_details": "Users", "entityType.composite_user_details.users": "User", - "entityType.composite_user_details.groups": "Group", + "entityType.composite_user_details.groups": "Patron group", "entityType.composite_loan_details": "Loans", "entityType.composite_loan_details.users": "User", "entityType.composite_loan_details.groups": "Patron group", - "entityType.composite_loan_details.cispi": "Cispi", - "entityType.composite_loan_details.cospi": "Cospi", + "entityType.composite_loan_details.cispi": "Check in service point", + "entityType.composite_loan_details.cospi": "Check out service point", "entityType.composite_loan_details.holdings": "Holdings", "entityType.composite_loan_details.instance": "Instance", "entityType.composite_loan_details.items": "Item", @@ -1341,7 +1328,7 @@ "entityType.composite_item_details.effective_location": "Effective location", "entityType.composite_item_details.effective_call_number": "Effective call number", "entityType.composite_item_details.item_level_call_number": "Item level call number", - "entityType.composite_item_details.loclibrary": "Library", + "entityType.composite_item_details.loclibrary": "Effective library", "entityType.composite_item_details.permanent_location": "Permanent location", "entityType.composite_item_details.mtypes": "Material type", "entityType.composite_item_details.temporary_location": "Temporary location", @@ -1354,7 +1341,7 @@ "entityType.composite_purchase_order_lines.po_updated_by_user": "PO updated by user", "entityType.composite_purchase_order_lines.pol_created_by_user": "POL created by user", "entityType.composite_purchase_order_lines.pol_updated_by_user": "POL updated by user", - "entityType.composite_purchase_order_lines.vendor_organization": "Vendor organization", + "entityType.composite_purchase_order_lines.vendor_organization": "Vendor org", "entityType.composite_purchase_order_lines.assigned_to_user": "Assigned to user", "entityType.composite_purchase_order_lines.rates": "Exchange rate", "entityType.composite_purchase_order_lines.pol_exchange_rate": "POL exchange rate", @@ -1476,5 +1463,22 @@ "entityType.simple_instance.instance_type_name": "Resource type", "entityType.composite_purchase_order_lines._shortened": "POL", "entityType.simple_organization._shortened": "Orgs", - "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID" + "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID", + "entityType.simple_instance.contributor_type_id": "Contributor type UUID", + "entityType.simple_instance.contributors_name": "Contributor name", + "entityType.simple_instance.contributor_type": "Contributor type", + "entityType.simple_instance.contributor_name_type_id": "Contributor name type UUID", + "entityType.simple_instance.contributor_name_type": "Contributor name type", + "entityType.simple_instance.instance_primary_contributor": "Primary contributor", + "entityType.simple_instance.classification_type_ids": "Classification type UUIDs", + "entityType.simple_instance.classification_type_names": "Classification identifier type", + "entityType.simple_instance.classification_numbers": "Classification", + "entityType.composite_instances.date_type": "Instance date type", + "entityType.simple_instance.instance_date_1": "Date 1", + "entityType.simple_instance.instance_date_2": "Date 2", + "entityType.simple_instance.instance_date_type_id": "Date type ID", + "entityType.simple_instance_date_type": "Instance date type", + "entityType.simple_instance_date_type.id": "ID", + "entityType.simple_instance_date_type.name": "Name", + "entityType.simple_instance_date_type.code": "Code" } diff --git a/translations/mod-fqm-manager/es.json b/translations/mod-fqm-manager/es.json index 1e04053b..77772dd7 100644 --- a/translations/mod-fqm-manager/es.json +++ b/translations/mod-fqm-manager/es.json @@ -6,10 +6,10 @@ "entityType.src_inventory_location.id": "Id", "entityType.src_inventory_location.location_name": "Location name", "entityType.src_inventory_location.location_code": "Location code", - "entityType.src_inventory_service_point": "Service point", + "entityType.src_inventory_service_point": "Punto de servicio", "entityType.src_inventory_service_point.id": "Id", - "entityType.src_inventory_service_point.service_point_name": "Service point name", - "entityType.src_inventory_service_point.service_point_code": "Service point code", + "entityType.src_inventory_service_point.service_point_name": "Nombre punto de servicio", + "entityType.src_inventory_service_point.service_point_code": "Código punto de servicio", "entityType.src_inventory_loclibrary": "Loclibrary", "entityType.src_inventory_loclibrary.id": "Id", "entityType.src_inventory_loclibrary.loclibrary_name": "Loclibrary name", @@ -700,23 +700,7 @@ "entityType.simple_instance.administrative_notes": "Administrative notes", "entityType.simple_instance.alternative_titles": "Alternative titles", "entityType.simple_instance.cataloged_date": "Cataloged date", - "entityType.simple_instance.classifications": "Classifications", - "entityType.simple_instance.classifications.number": "Number", - "entityType.simple_instance.classifications.number._qualified": "Classification number", - "entityType.simple_instance.classifications.type_id": "Type UUID", - "entityType.simple_instance.classifications.type_id._qualified": "Classification type UUID", "entityType.simple_instance.complete_updated_date": "Complete updated date", - "entityType.simple_instance.contributors": "Contributors", - "entityType.simple_instance.contributors.contributor_name_type_id": "Contributor name type UUID", - "entityType.simple_instance.contributors.contributor_name_type_id._qualified": "Contributors contributor name type UUID", - "entityType.simple_instance.contributors.contributor_type_id": "Contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_id._qualified": "Contributors contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_text": "Contributor type text", - "entityType.simple_instance.contributors.contributor_type_text._qualified": "Contributors contributor type text", - "entityType.simple_instance.contributors.name": "Name", - "entityType.simple_instance.contributors.name._qualified": "Contributors name", - "entityType.simple_instance.contributors.primary": "Primary", - "entityType.simple_instance.contributors.primary._qualified": "Contributors primary", "entityType.simple_instance.created_at": "Created date", "entityType.simple_instance.created_by": "Created by user UUID", "entityType.simple_instance.discovery_suppress": "Discovery suppress", @@ -765,8 +749,6 @@ "entityType.simple_instance.publication.role": "Role", "entityType.simple_instance.publication.role._qualified": "Publication role", "entityType.simple_instance.publication_frequency": "Publication frequency", - "entityType.simple_instance.publication_period_end": "Publication end year", - "entityType.simple_instance.publication_period_start": "Publication start year", "entityType.simple_instance.publication_range": "Publication range", "entityType.simple_instance.series": "Series", "entityType.simple_instance.source": "Source", @@ -1481,5 +1463,22 @@ "entityType.simple_instance.instance_type_name": "Resource type", "entityType.composite_purchase_order_lines._shortened": "POL", "entityType.simple_organization._shortened": "Orgs", - "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID" + "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID", + "entityType.simple_instance.contributor_type_id": "Contributor type UUID", + "entityType.simple_instance.contributors_name": "Contributor name", + "entityType.simple_instance.contributor_type_text": "Contributor type", + "entityType.simple_instance.contributor_name_type_id": "Contributor name type UUID", + "entityType.simple_instance.contributor_name_type": "Contributor name type", + "entityType.simple_instance.instance_primary_contributor": "Primary contributor", + "entityType.simple_instance.classification_type_ids": "Classification type UUIDs", + "entityType.simple_instance.classification_type_names": "Classification identifier type", + "entityType.simple_instance.classification_numbers": "Classification", + "entityType.composite_instances.date_type": "Instance date type", + "entityType.simple_instance.instance_date_1": "Date 1", + "entityType.simple_instance.instance_date_2": "Date 2", + "entityType.simple_instance.instance_date_type_id": "Date type ID", + "entityType.simple_instance_date_type": "Instance date type", + "entityType.simple_instance_date_type.id": "ID", + "entityType.simple_instance_date_type.name": "Name", + "entityType.simple_instance_date_type.code": "Code" } \ No newline at end of file diff --git a/translations/mod-fqm-manager/es_419.json b/translations/mod-fqm-manager/es_419.json index 9a9e2dfa..77772dd7 100644 --- a/translations/mod-fqm-manager/es_419.json +++ b/translations/mod-fqm-manager/es_419.json @@ -700,23 +700,7 @@ "entityType.simple_instance.administrative_notes": "Administrative notes", "entityType.simple_instance.alternative_titles": "Alternative titles", "entityType.simple_instance.cataloged_date": "Cataloged date", - "entityType.simple_instance.classifications": "Classifications", - "entityType.simple_instance.classifications.number": "Number", - "entityType.simple_instance.classifications.number._qualified": "Classification number", - "entityType.simple_instance.classifications.type_id": "Type UUID", - "entityType.simple_instance.classifications.type_id._qualified": "Classification type UUID", "entityType.simple_instance.complete_updated_date": "Complete updated date", - "entityType.simple_instance.contributors": "Contributors", - "entityType.simple_instance.contributors.contributor_name_type_id": "Contributor name type UUID", - "entityType.simple_instance.contributors.contributor_name_type_id._qualified": "Contributors contributor name type UUID", - "entityType.simple_instance.contributors.contributor_type_id": "Contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_id._qualified": "Contributors contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_text": "Contributor type text", - "entityType.simple_instance.contributors.contributor_type_text._qualified": "Contributors contributor type text", - "entityType.simple_instance.contributors.name": "Name", - "entityType.simple_instance.contributors.name._qualified": "Contributors name", - "entityType.simple_instance.contributors.primary": "Primary", - "entityType.simple_instance.contributors.primary._qualified": "Contributors primary", "entityType.simple_instance.created_at": "Created date", "entityType.simple_instance.created_by": "Created by user UUID", "entityType.simple_instance.discovery_suppress": "Discovery suppress", @@ -765,8 +749,6 @@ "entityType.simple_instance.publication.role": "Role", "entityType.simple_instance.publication.role._qualified": "Publication role", "entityType.simple_instance.publication_frequency": "Publication frequency", - "entityType.simple_instance.publication_period_end": "Publication end year", - "entityType.simple_instance.publication_period_start": "Publication start year", "entityType.simple_instance.publication_range": "Publication range", "entityType.simple_instance.series": "Series", "entityType.simple_instance.source": "Source", @@ -1481,5 +1463,22 @@ "entityType.simple_instance.instance_type_name": "Resource type", "entityType.composite_purchase_order_lines._shortened": "POL", "entityType.simple_organization._shortened": "Orgs", - "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID" + "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID", + "entityType.simple_instance.contributor_type_id": "Contributor type UUID", + "entityType.simple_instance.contributors_name": "Contributor name", + "entityType.simple_instance.contributor_type_text": "Contributor type", + "entityType.simple_instance.contributor_name_type_id": "Contributor name type UUID", + "entityType.simple_instance.contributor_name_type": "Contributor name type", + "entityType.simple_instance.instance_primary_contributor": "Primary contributor", + "entityType.simple_instance.classification_type_ids": "Classification type UUIDs", + "entityType.simple_instance.classification_type_names": "Classification identifier type", + "entityType.simple_instance.classification_numbers": "Classification", + "entityType.composite_instances.date_type": "Instance date type", + "entityType.simple_instance.instance_date_1": "Date 1", + "entityType.simple_instance.instance_date_2": "Date 2", + "entityType.simple_instance.instance_date_type_id": "Date type ID", + "entityType.simple_instance_date_type": "Instance date type", + "entityType.simple_instance_date_type.id": "ID", + "entityType.simple_instance_date_type.name": "Name", + "entityType.simple_instance_date_type.code": "Code" } \ No newline at end of file diff --git a/translations/mod-fqm-manager/es_ES.json b/translations/mod-fqm-manager/es_ES.json index 1e04053b..77772dd7 100644 --- a/translations/mod-fqm-manager/es_ES.json +++ b/translations/mod-fqm-manager/es_ES.json @@ -6,10 +6,10 @@ "entityType.src_inventory_location.id": "Id", "entityType.src_inventory_location.location_name": "Location name", "entityType.src_inventory_location.location_code": "Location code", - "entityType.src_inventory_service_point": "Service point", + "entityType.src_inventory_service_point": "Punto de servicio", "entityType.src_inventory_service_point.id": "Id", - "entityType.src_inventory_service_point.service_point_name": "Service point name", - "entityType.src_inventory_service_point.service_point_code": "Service point code", + "entityType.src_inventory_service_point.service_point_name": "Nombre punto de servicio", + "entityType.src_inventory_service_point.service_point_code": "Código punto de servicio", "entityType.src_inventory_loclibrary": "Loclibrary", "entityType.src_inventory_loclibrary.id": "Id", "entityType.src_inventory_loclibrary.loclibrary_name": "Loclibrary name", @@ -700,23 +700,7 @@ "entityType.simple_instance.administrative_notes": "Administrative notes", "entityType.simple_instance.alternative_titles": "Alternative titles", "entityType.simple_instance.cataloged_date": "Cataloged date", - "entityType.simple_instance.classifications": "Classifications", - "entityType.simple_instance.classifications.number": "Number", - "entityType.simple_instance.classifications.number._qualified": "Classification number", - "entityType.simple_instance.classifications.type_id": "Type UUID", - "entityType.simple_instance.classifications.type_id._qualified": "Classification type UUID", "entityType.simple_instance.complete_updated_date": "Complete updated date", - "entityType.simple_instance.contributors": "Contributors", - "entityType.simple_instance.contributors.contributor_name_type_id": "Contributor name type UUID", - "entityType.simple_instance.contributors.contributor_name_type_id._qualified": "Contributors contributor name type UUID", - "entityType.simple_instance.contributors.contributor_type_id": "Contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_id._qualified": "Contributors contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_text": "Contributor type text", - "entityType.simple_instance.contributors.contributor_type_text._qualified": "Contributors contributor type text", - "entityType.simple_instance.contributors.name": "Name", - "entityType.simple_instance.contributors.name._qualified": "Contributors name", - "entityType.simple_instance.contributors.primary": "Primary", - "entityType.simple_instance.contributors.primary._qualified": "Contributors primary", "entityType.simple_instance.created_at": "Created date", "entityType.simple_instance.created_by": "Created by user UUID", "entityType.simple_instance.discovery_suppress": "Discovery suppress", @@ -765,8 +749,6 @@ "entityType.simple_instance.publication.role": "Role", "entityType.simple_instance.publication.role._qualified": "Publication role", "entityType.simple_instance.publication_frequency": "Publication frequency", - "entityType.simple_instance.publication_period_end": "Publication end year", - "entityType.simple_instance.publication_period_start": "Publication start year", "entityType.simple_instance.publication_range": "Publication range", "entityType.simple_instance.series": "Series", "entityType.simple_instance.source": "Source", @@ -1481,5 +1463,22 @@ "entityType.simple_instance.instance_type_name": "Resource type", "entityType.composite_purchase_order_lines._shortened": "POL", "entityType.simple_organization._shortened": "Orgs", - "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID" + "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID", + "entityType.simple_instance.contributor_type_id": "Contributor type UUID", + "entityType.simple_instance.contributors_name": "Contributor name", + "entityType.simple_instance.contributor_type_text": "Contributor type", + "entityType.simple_instance.contributor_name_type_id": "Contributor name type UUID", + "entityType.simple_instance.contributor_name_type": "Contributor name type", + "entityType.simple_instance.instance_primary_contributor": "Primary contributor", + "entityType.simple_instance.classification_type_ids": "Classification type UUIDs", + "entityType.simple_instance.classification_type_names": "Classification identifier type", + "entityType.simple_instance.classification_numbers": "Classification", + "entityType.composite_instances.date_type": "Instance date type", + "entityType.simple_instance.instance_date_1": "Date 1", + "entityType.simple_instance.instance_date_2": "Date 2", + "entityType.simple_instance.instance_date_type_id": "Date type ID", + "entityType.simple_instance_date_type": "Instance date type", + "entityType.simple_instance_date_type.id": "ID", + "entityType.simple_instance_date_type.name": "Name", + "entityType.simple_instance_date_type.code": "Code" } \ No newline at end of file diff --git a/translations/mod-fqm-manager/fr.json b/translations/mod-fqm-manager/fr.json index 27d1312f..8df23f9c 100644 --- a/translations/mod-fqm-manager/fr.json +++ b/translations/mod-fqm-manager/fr.json @@ -700,23 +700,7 @@ "entityType.simple_instance.administrative_notes": "Administrative notes", "entityType.simple_instance.alternative_titles": "Alternative titles", "entityType.simple_instance.cataloged_date": "Cataloged date", - "entityType.simple_instance.classifications": "Classifications", - "entityType.simple_instance.classifications.number": "Number", - "entityType.simple_instance.classifications.number._qualified": "Classification number", - "entityType.simple_instance.classifications.type_id": "Type UUID", - "entityType.simple_instance.classifications.type_id._qualified": "Classification type UUID", "entityType.simple_instance.complete_updated_date": "Complete updated date", - "entityType.simple_instance.contributors": "Contributors", - "entityType.simple_instance.contributors.contributor_name_type_id": "Contributor name type UUID", - "entityType.simple_instance.contributors.contributor_name_type_id._qualified": "Contributors contributor name type UUID", - "entityType.simple_instance.contributors.contributor_type_id": "Contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_id._qualified": "Contributors contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_text": "Contributor type text", - "entityType.simple_instance.contributors.contributor_type_text._qualified": "Contributors contributor type text", - "entityType.simple_instance.contributors.name": "Name", - "entityType.simple_instance.contributors.name._qualified": "Contributors name", - "entityType.simple_instance.contributors.primary": "Primary", - "entityType.simple_instance.contributors.primary._qualified": "Contributors primary", "entityType.simple_instance.created_at": "Created date", "entityType.simple_instance.created_by": "Created by user UUID", "entityType.simple_instance.discovery_suppress": "Discovery suppress", @@ -765,8 +749,6 @@ "entityType.simple_instance.publication.role": "Role", "entityType.simple_instance.publication.role._qualified": "Publication role", "entityType.simple_instance.publication_frequency": "Publication frequency", - "entityType.simple_instance.publication_period_end": "Publication end year", - "entityType.simple_instance.publication_period_start": "Publication start year", "entityType.simple_instance.publication_range": "Publication range", "entityType.simple_instance.series": "Series", "entityType.simple_instance.source": "Source", @@ -1481,5 +1463,22 @@ "entityType.simple_instance.instance_type_name": "Resource type", "entityType.composite_purchase_order_lines._shortened": "POL", "entityType.simple_organization._shortened": "Orgs", - "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID" + "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID", + "entityType.simple_instance.contributor_type_id": "Contributor type UUID", + "entityType.simple_instance.contributors_name": "Contributor name", + "entityType.simple_instance.contributor_type_text": "Contributor type", + "entityType.simple_instance.contributor_name_type_id": "Contributor name type UUID", + "entityType.simple_instance.contributor_name_type": "Contributor name type", + "entityType.simple_instance.instance_primary_contributor": "Primary contributor", + "entityType.simple_instance.classification_type_ids": "Classification type UUIDs", + "entityType.simple_instance.classification_type_names": "Classification identifier type", + "entityType.simple_instance.classification_numbers": "Classification", + "entityType.composite_instances.date_type": "Instance date type", + "entityType.simple_instance.instance_date_1": "Date 1", + "entityType.simple_instance.instance_date_2": "Date 2", + "entityType.simple_instance.instance_date_type_id": "Date type ID", + "entityType.simple_instance_date_type": "Instance date type", + "entityType.simple_instance_date_type.id": "ID", + "entityType.simple_instance_date_type.name": "Name", + "entityType.simple_instance_date_type.code": "Code" } \ No newline at end of file diff --git a/translations/mod-fqm-manager/fr_FR.json b/translations/mod-fqm-manager/fr_FR.json index 4c93f2ef..c82a41d8 100644 --- a/translations/mod-fqm-manager/fr_FR.json +++ b/translations/mod-fqm-manager/fr_FR.json @@ -700,23 +700,7 @@ "entityType.simple_instance.administrative_notes": "Notes administratives", "entityType.simple_instance.alternative_titles": "Titres alternatifs", "entityType.simple_instance.cataloged_date": "Date de catalogage", - "entityType.simple_instance.classifications": "Classifications", - "entityType.simple_instance.classifications.number": "Numéro", - "entityType.simple_instance.classifications.number._qualified": "Numéro de classification", - "entityType.simple_instance.classifications.type_id": "UUID du type", - "entityType.simple_instance.classifications.type_id._qualified": "UUID du type de classification", "entityType.simple_instance.complete_updated_date": "Date de mise à jour intégrale", - "entityType.simple_instance.contributors": "Contributors", - "entityType.simple_instance.contributors.contributor_name_type_id": "Contributor name type UUID", - "entityType.simple_instance.contributors.contributor_name_type_id._qualified": "Contributors contributor name type UUID", - "entityType.simple_instance.contributors.contributor_type_id": "Contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_id._qualified": "Contributors contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_text": "Contributor type text", - "entityType.simple_instance.contributors.contributor_type_text._qualified": "Contributors contributor type text", - "entityType.simple_instance.contributors.name": "Nom", - "entityType.simple_instance.contributors.name._qualified": "Contributors name", - "entityType.simple_instance.contributors.primary": "Principal", - "entityType.simple_instance.contributors.primary._qualified": "Contributors primary", "entityType.simple_instance.created_at": "Créé à", "entityType.simple_instance.created_by": "Créé par UUID utilisateur", "entityType.simple_instance.discovery_suppress": "Masquer dans l'outil de découverte", @@ -765,8 +749,6 @@ "entityType.simple_instance.publication.role": "Rôle", "entityType.simple_instance.publication.role._qualified": "Rôle de publication", "entityType.simple_instance.publication_frequency": "Fréquence de publication", - "entityType.simple_instance.publication_period_end": "Année de fin de parution", - "entityType.simple_instance.publication_period_start": "Année de début de parution", "entityType.simple_instance.publication_range": "Période de publication", "entityType.simple_instance.series": "Series", "entityType.simple_instance.source": "Source", @@ -1481,5 +1463,22 @@ "entityType.simple_instance.instance_type_name": "Resource type", "entityType.composite_purchase_order_lines._shortened": "POL", "entityType.simple_organization._shortened": "Orgs", - "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID" + "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID", + "entityType.simple_instance.contributor_type_id": "Contributor type UUID", + "entityType.simple_instance.contributors_name": "Contributor name", + "entityType.simple_instance.contributor_type_text": "Contributor type", + "entityType.simple_instance.contributor_name_type_id": "Contributor name type UUID", + "entityType.simple_instance.contributor_name_type": "Contributor name type", + "entityType.simple_instance.instance_primary_contributor": "Primary contributor", + "entityType.simple_instance.classification_type_ids": "Classification type UUIDs", + "entityType.simple_instance.classification_type_names": "Classification identifier type", + "entityType.simple_instance.classification_numbers": "Classification", + "entityType.composite_instances.date_type": "Instance date type", + "entityType.simple_instance.instance_date_1": "Date 1", + "entityType.simple_instance.instance_date_2": "Date 2", + "entityType.simple_instance.instance_date_type_id": "Date type ID", + "entityType.simple_instance_date_type": "Instance date type", + "entityType.simple_instance_date_type.id": "ID", + "entityType.simple_instance_date_type.name": "Name", + "entityType.simple_instance_date_type.code": "Code" } \ No newline at end of file diff --git a/translations/mod-fqm-manager/he.json b/translations/mod-fqm-manager/he.json index 27d1312f..8df23f9c 100644 --- a/translations/mod-fqm-manager/he.json +++ b/translations/mod-fqm-manager/he.json @@ -700,23 +700,7 @@ "entityType.simple_instance.administrative_notes": "Administrative notes", "entityType.simple_instance.alternative_titles": "Alternative titles", "entityType.simple_instance.cataloged_date": "Cataloged date", - "entityType.simple_instance.classifications": "Classifications", - "entityType.simple_instance.classifications.number": "Number", - "entityType.simple_instance.classifications.number._qualified": "Classification number", - "entityType.simple_instance.classifications.type_id": "Type UUID", - "entityType.simple_instance.classifications.type_id._qualified": "Classification type UUID", "entityType.simple_instance.complete_updated_date": "Complete updated date", - "entityType.simple_instance.contributors": "Contributors", - "entityType.simple_instance.contributors.contributor_name_type_id": "Contributor name type UUID", - "entityType.simple_instance.contributors.contributor_name_type_id._qualified": "Contributors contributor name type UUID", - "entityType.simple_instance.contributors.contributor_type_id": "Contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_id._qualified": "Contributors contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_text": "Contributor type text", - "entityType.simple_instance.contributors.contributor_type_text._qualified": "Contributors contributor type text", - "entityType.simple_instance.contributors.name": "Name", - "entityType.simple_instance.contributors.name._qualified": "Contributors name", - "entityType.simple_instance.contributors.primary": "Primary", - "entityType.simple_instance.contributors.primary._qualified": "Contributors primary", "entityType.simple_instance.created_at": "Created date", "entityType.simple_instance.created_by": "Created by user UUID", "entityType.simple_instance.discovery_suppress": "Discovery suppress", @@ -765,8 +749,6 @@ "entityType.simple_instance.publication.role": "Role", "entityType.simple_instance.publication.role._qualified": "Publication role", "entityType.simple_instance.publication_frequency": "Publication frequency", - "entityType.simple_instance.publication_period_end": "Publication end year", - "entityType.simple_instance.publication_period_start": "Publication start year", "entityType.simple_instance.publication_range": "Publication range", "entityType.simple_instance.series": "Series", "entityType.simple_instance.source": "Source", @@ -1481,5 +1463,22 @@ "entityType.simple_instance.instance_type_name": "Resource type", "entityType.composite_purchase_order_lines._shortened": "POL", "entityType.simple_organization._shortened": "Orgs", - "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID" + "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID", + "entityType.simple_instance.contributor_type_id": "Contributor type UUID", + "entityType.simple_instance.contributors_name": "Contributor name", + "entityType.simple_instance.contributor_type_text": "Contributor type", + "entityType.simple_instance.contributor_name_type_id": "Contributor name type UUID", + "entityType.simple_instance.contributor_name_type": "Contributor name type", + "entityType.simple_instance.instance_primary_contributor": "Primary contributor", + "entityType.simple_instance.classification_type_ids": "Classification type UUIDs", + "entityType.simple_instance.classification_type_names": "Classification identifier type", + "entityType.simple_instance.classification_numbers": "Classification", + "entityType.composite_instances.date_type": "Instance date type", + "entityType.simple_instance.instance_date_1": "Date 1", + "entityType.simple_instance.instance_date_2": "Date 2", + "entityType.simple_instance.instance_date_type_id": "Date type ID", + "entityType.simple_instance_date_type": "Instance date type", + "entityType.simple_instance_date_type.id": "ID", + "entityType.simple_instance_date_type.name": "Name", + "entityType.simple_instance_date_type.code": "Code" } \ No newline at end of file diff --git a/translations/mod-fqm-manager/hi_IN.json b/translations/mod-fqm-manager/hi_IN.json index 27d1312f..8df23f9c 100644 --- a/translations/mod-fqm-manager/hi_IN.json +++ b/translations/mod-fqm-manager/hi_IN.json @@ -700,23 +700,7 @@ "entityType.simple_instance.administrative_notes": "Administrative notes", "entityType.simple_instance.alternative_titles": "Alternative titles", "entityType.simple_instance.cataloged_date": "Cataloged date", - "entityType.simple_instance.classifications": "Classifications", - "entityType.simple_instance.classifications.number": "Number", - "entityType.simple_instance.classifications.number._qualified": "Classification number", - "entityType.simple_instance.classifications.type_id": "Type UUID", - "entityType.simple_instance.classifications.type_id._qualified": "Classification type UUID", "entityType.simple_instance.complete_updated_date": "Complete updated date", - "entityType.simple_instance.contributors": "Contributors", - "entityType.simple_instance.contributors.contributor_name_type_id": "Contributor name type UUID", - "entityType.simple_instance.contributors.contributor_name_type_id._qualified": "Contributors contributor name type UUID", - "entityType.simple_instance.contributors.contributor_type_id": "Contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_id._qualified": "Contributors contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_text": "Contributor type text", - "entityType.simple_instance.contributors.contributor_type_text._qualified": "Contributors contributor type text", - "entityType.simple_instance.contributors.name": "Name", - "entityType.simple_instance.contributors.name._qualified": "Contributors name", - "entityType.simple_instance.contributors.primary": "Primary", - "entityType.simple_instance.contributors.primary._qualified": "Contributors primary", "entityType.simple_instance.created_at": "Created date", "entityType.simple_instance.created_by": "Created by user UUID", "entityType.simple_instance.discovery_suppress": "Discovery suppress", @@ -765,8 +749,6 @@ "entityType.simple_instance.publication.role": "Role", "entityType.simple_instance.publication.role._qualified": "Publication role", "entityType.simple_instance.publication_frequency": "Publication frequency", - "entityType.simple_instance.publication_period_end": "Publication end year", - "entityType.simple_instance.publication_period_start": "Publication start year", "entityType.simple_instance.publication_range": "Publication range", "entityType.simple_instance.series": "Series", "entityType.simple_instance.source": "Source", @@ -1481,5 +1463,22 @@ "entityType.simple_instance.instance_type_name": "Resource type", "entityType.composite_purchase_order_lines._shortened": "POL", "entityType.simple_organization._shortened": "Orgs", - "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID" + "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID", + "entityType.simple_instance.contributor_type_id": "Contributor type UUID", + "entityType.simple_instance.contributors_name": "Contributor name", + "entityType.simple_instance.contributor_type_text": "Contributor type", + "entityType.simple_instance.contributor_name_type_id": "Contributor name type UUID", + "entityType.simple_instance.contributor_name_type": "Contributor name type", + "entityType.simple_instance.instance_primary_contributor": "Primary contributor", + "entityType.simple_instance.classification_type_ids": "Classification type UUIDs", + "entityType.simple_instance.classification_type_names": "Classification identifier type", + "entityType.simple_instance.classification_numbers": "Classification", + "entityType.composite_instances.date_type": "Instance date type", + "entityType.simple_instance.instance_date_1": "Date 1", + "entityType.simple_instance.instance_date_2": "Date 2", + "entityType.simple_instance.instance_date_type_id": "Date type ID", + "entityType.simple_instance_date_type": "Instance date type", + "entityType.simple_instance_date_type.id": "ID", + "entityType.simple_instance_date_type.name": "Name", + "entityType.simple_instance_date_type.code": "Code" } \ No newline at end of file diff --git a/translations/mod-fqm-manager/hu.json b/translations/mod-fqm-manager/hu.json index 27d1312f..8df23f9c 100644 --- a/translations/mod-fqm-manager/hu.json +++ b/translations/mod-fqm-manager/hu.json @@ -700,23 +700,7 @@ "entityType.simple_instance.administrative_notes": "Administrative notes", "entityType.simple_instance.alternative_titles": "Alternative titles", "entityType.simple_instance.cataloged_date": "Cataloged date", - "entityType.simple_instance.classifications": "Classifications", - "entityType.simple_instance.classifications.number": "Number", - "entityType.simple_instance.classifications.number._qualified": "Classification number", - "entityType.simple_instance.classifications.type_id": "Type UUID", - "entityType.simple_instance.classifications.type_id._qualified": "Classification type UUID", "entityType.simple_instance.complete_updated_date": "Complete updated date", - "entityType.simple_instance.contributors": "Contributors", - "entityType.simple_instance.contributors.contributor_name_type_id": "Contributor name type UUID", - "entityType.simple_instance.contributors.contributor_name_type_id._qualified": "Contributors contributor name type UUID", - "entityType.simple_instance.contributors.contributor_type_id": "Contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_id._qualified": "Contributors contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_text": "Contributor type text", - "entityType.simple_instance.contributors.contributor_type_text._qualified": "Contributors contributor type text", - "entityType.simple_instance.contributors.name": "Name", - "entityType.simple_instance.contributors.name._qualified": "Contributors name", - "entityType.simple_instance.contributors.primary": "Primary", - "entityType.simple_instance.contributors.primary._qualified": "Contributors primary", "entityType.simple_instance.created_at": "Created date", "entityType.simple_instance.created_by": "Created by user UUID", "entityType.simple_instance.discovery_suppress": "Discovery suppress", @@ -765,8 +749,6 @@ "entityType.simple_instance.publication.role": "Role", "entityType.simple_instance.publication.role._qualified": "Publication role", "entityType.simple_instance.publication_frequency": "Publication frequency", - "entityType.simple_instance.publication_period_end": "Publication end year", - "entityType.simple_instance.publication_period_start": "Publication start year", "entityType.simple_instance.publication_range": "Publication range", "entityType.simple_instance.series": "Series", "entityType.simple_instance.source": "Source", @@ -1481,5 +1463,22 @@ "entityType.simple_instance.instance_type_name": "Resource type", "entityType.composite_purchase_order_lines._shortened": "POL", "entityType.simple_organization._shortened": "Orgs", - "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID" + "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID", + "entityType.simple_instance.contributor_type_id": "Contributor type UUID", + "entityType.simple_instance.contributors_name": "Contributor name", + "entityType.simple_instance.contributor_type_text": "Contributor type", + "entityType.simple_instance.contributor_name_type_id": "Contributor name type UUID", + "entityType.simple_instance.contributor_name_type": "Contributor name type", + "entityType.simple_instance.instance_primary_contributor": "Primary contributor", + "entityType.simple_instance.classification_type_ids": "Classification type UUIDs", + "entityType.simple_instance.classification_type_names": "Classification identifier type", + "entityType.simple_instance.classification_numbers": "Classification", + "entityType.composite_instances.date_type": "Instance date type", + "entityType.simple_instance.instance_date_1": "Date 1", + "entityType.simple_instance.instance_date_2": "Date 2", + "entityType.simple_instance.instance_date_type_id": "Date type ID", + "entityType.simple_instance_date_type": "Instance date type", + "entityType.simple_instance_date_type.id": "ID", + "entityType.simple_instance_date_type.name": "Name", + "entityType.simple_instance_date_type.code": "Code" } \ No newline at end of file diff --git a/translations/mod-fqm-manager/it_IT.json b/translations/mod-fqm-manager/it_IT.json index 27d1312f..8df23f9c 100644 --- a/translations/mod-fqm-manager/it_IT.json +++ b/translations/mod-fqm-manager/it_IT.json @@ -700,23 +700,7 @@ "entityType.simple_instance.administrative_notes": "Administrative notes", "entityType.simple_instance.alternative_titles": "Alternative titles", "entityType.simple_instance.cataloged_date": "Cataloged date", - "entityType.simple_instance.classifications": "Classifications", - "entityType.simple_instance.classifications.number": "Number", - "entityType.simple_instance.classifications.number._qualified": "Classification number", - "entityType.simple_instance.classifications.type_id": "Type UUID", - "entityType.simple_instance.classifications.type_id._qualified": "Classification type UUID", "entityType.simple_instance.complete_updated_date": "Complete updated date", - "entityType.simple_instance.contributors": "Contributors", - "entityType.simple_instance.contributors.contributor_name_type_id": "Contributor name type UUID", - "entityType.simple_instance.contributors.contributor_name_type_id._qualified": "Contributors contributor name type UUID", - "entityType.simple_instance.contributors.contributor_type_id": "Contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_id._qualified": "Contributors contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_text": "Contributor type text", - "entityType.simple_instance.contributors.contributor_type_text._qualified": "Contributors contributor type text", - "entityType.simple_instance.contributors.name": "Name", - "entityType.simple_instance.contributors.name._qualified": "Contributors name", - "entityType.simple_instance.contributors.primary": "Primary", - "entityType.simple_instance.contributors.primary._qualified": "Contributors primary", "entityType.simple_instance.created_at": "Created date", "entityType.simple_instance.created_by": "Created by user UUID", "entityType.simple_instance.discovery_suppress": "Discovery suppress", @@ -765,8 +749,6 @@ "entityType.simple_instance.publication.role": "Role", "entityType.simple_instance.publication.role._qualified": "Publication role", "entityType.simple_instance.publication_frequency": "Publication frequency", - "entityType.simple_instance.publication_period_end": "Publication end year", - "entityType.simple_instance.publication_period_start": "Publication start year", "entityType.simple_instance.publication_range": "Publication range", "entityType.simple_instance.series": "Series", "entityType.simple_instance.source": "Source", @@ -1481,5 +1463,22 @@ "entityType.simple_instance.instance_type_name": "Resource type", "entityType.composite_purchase_order_lines._shortened": "POL", "entityType.simple_organization._shortened": "Orgs", - "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID" + "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID", + "entityType.simple_instance.contributor_type_id": "Contributor type UUID", + "entityType.simple_instance.contributors_name": "Contributor name", + "entityType.simple_instance.contributor_type_text": "Contributor type", + "entityType.simple_instance.contributor_name_type_id": "Contributor name type UUID", + "entityType.simple_instance.contributor_name_type": "Contributor name type", + "entityType.simple_instance.instance_primary_contributor": "Primary contributor", + "entityType.simple_instance.classification_type_ids": "Classification type UUIDs", + "entityType.simple_instance.classification_type_names": "Classification identifier type", + "entityType.simple_instance.classification_numbers": "Classification", + "entityType.composite_instances.date_type": "Instance date type", + "entityType.simple_instance.instance_date_1": "Date 1", + "entityType.simple_instance.instance_date_2": "Date 2", + "entityType.simple_instance.instance_date_type_id": "Date type ID", + "entityType.simple_instance_date_type": "Instance date type", + "entityType.simple_instance_date_type.id": "ID", + "entityType.simple_instance_date_type.name": "Name", + "entityType.simple_instance_date_type.code": "Code" } \ No newline at end of file diff --git a/translations/mod-fqm-manager/ja.json b/translations/mod-fqm-manager/ja.json index 2acb005c..ab4792c7 100644 --- a/translations/mod-fqm-manager/ja.json +++ b/translations/mod-fqm-manager/ja.json @@ -30,12 +30,12 @@ "entityType.src_acquisitions_unit": "収集ユニット", "entityType.src_acquisitions_unit.id": "ID", "entityType.src_acquisitions_unit.acquisitions_name": "Acquisitions names", - "entityType.src_inventory_contributor_type": "Contributor type", + "entityType.src_inventory_contributor_type": "寄与者タイプ", "entityType.src_inventory_contributor_type.id": "Id", - "entityType.src_inventory_contributor_type.contributor_type": "Contributor type", - "entityType.src_inventory_contributor_name_type": "Contributor name type", + "entityType.src_inventory_contributor_type.contributor_type": "寄与者タイプ", + "entityType.src_inventory_contributor_name_type": "寄与者名称タイプ", "entityType.src_inventory_contributor_name_type.id": "Id", - "entityType.src_inventory_contributor_name_type.contributor_name_type": "Contributor name type", + "entityType.src_inventory_contributor_name_type.contributor_name_type": "寄与者名称タイプ", "entityType.src_organization_type": "組織タイプ", "entityType.src_organization_type.id": "ID", "entityType.src_organization_type.organization_types_name": "タイプ", @@ -79,7 +79,7 @@ "entityType.drv_config_data_details.updated_date": "更新日", "entityType.drv_config_data_details.user_id": "ユーザー ID", "entityType.drv_config_data_details.value": "値", - "entityType.drv_contributor_name_type_details": "Contributor name type", + "entityType.drv_contributor_name_type_details": "寄与者名称タイプ", "entityType.drv_contributor_name_type_details.created_by_user_id": "ユーザーIDによって作成された", "entityType.drv_contributor_name_type_details.created_by_username": "ユーザー名によって作成せれた", "entityType.drv_contributor_name_type_details.created_date": "作成日", @@ -90,7 +90,7 @@ "entityType.drv_contributor_name_type_details.updated_by_user_id": "ユーザーIDによって更新された", "entityType.drv_contributor_name_type_details.updated_by_username": "ユーザー名によって更新された", "entityType.drv_contributor_name_type_details.updated_date": "更新日", - "entityType.drv_contributor_type_details": "Contributor type", + "entityType.drv_contributor_type_details": "寄与者タイプ", "entityType.drv_contributor_type_details.code": "コード", "entityType.drv_contributor_type_details.created_by_user_id": "ユーザーIDによって作成された", "entityType.drv_contributor_type_details.created_by_username": "ユーザー名によって作成せれた", @@ -278,7 +278,7 @@ "entityType.drv_invoices_details.disbursement_date": "Disbursement date", "entityType.drv_invoices_details.disbursement_number": "Disbursement number", "entityType.drv_invoices_details.enclosure_needed": "Enclosure needed", - "entityType.drv_invoices_details.exchange_rate": "Exchange rate", + "entityType.drv_invoices_details.exchange_rate": "為替レート", "entityType.drv_invoices_details.export_to_accounting": "Export to accounting", "entityType.drv_invoices_details.fiscal_year_id": "会計年度 ID", "entityType.drv_invoices_details.folio_invoice_no": "FOLIO請求書番号", @@ -700,23 +700,7 @@ "entityType.simple_instance.administrative_notes": "Administrative notes", "entityType.simple_instance.alternative_titles": "Alternative titles", "entityType.simple_instance.cataloged_date": "Cataloged date", - "entityType.simple_instance.classifications": "分類", - "entityType.simple_instance.classifications.number": "番号", - "entityType.simple_instance.classifications.number._qualified": "分類番号", - "entityType.simple_instance.classifications.type_id": "タイプ UUID", - "entityType.simple_instance.classifications.type_id._qualified": "分類タイプ UUID", "entityType.simple_instance.complete_updated_date": "更新完了日", - "entityType.simple_instance.contributors": "Contributors", - "entityType.simple_instance.contributors.contributor_name_type_id": "Contributor name type UUID", - "entityType.simple_instance.contributors.contributor_name_type_id._qualified": "Contributors contributor name type UUID", - "entityType.simple_instance.contributors.contributor_type_id": "Contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_id._qualified": "Contributors contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_text": "Contributor type text", - "entityType.simple_instance.contributors.contributor_type_text._qualified": "Contributors contributor type text", - "entityType.simple_instance.contributors.name": "名称", - "entityType.simple_instance.contributors.name._qualified": "Contributors name", - "entityType.simple_instance.contributors.primary": "Primary", - "entityType.simple_instance.contributors.primary._qualified": "Contributors primary", "entityType.simple_instance.created_at": "Created date", "entityType.simple_instance.created_by": "ユーザーUUIDによって作成された", "entityType.simple_instance.discovery_suppress": "Discovery suppress", @@ -765,8 +749,6 @@ "entityType.simple_instance.publication.role": "役割", "entityType.simple_instance.publication.role._qualified": "Publication role", "entityType.simple_instance.publication_frequency": "発行頻度", - "entityType.simple_instance.publication_period_end": "出版終了年", - "entityType.simple_instance.publication_period_start": "出版開始年", "entityType.simple_instance.publication_range": "出版範囲", "entityType.simple_instance.series": "シリーズ", "entityType.simple_instance.source": "ソース", @@ -1119,11 +1101,11 @@ "entityType.simple_purchase_order_line.claims.sent": "Sent", "entityType.simple_purchase_order_line.claims.sent._qualified": "Claims sent", "entityType.simple_purchase_order_line.collection": "Is collection", - "entityType.simple_purchase_order_line.contributors": "Contributors", - "entityType.simple_purchase_order_line.contributors.contributor": "Contributor", - "entityType.simple_purchase_order_line.contributors.contributor._qualified": "Contributors name", + "entityType.simple_purchase_order_line.contributors": "寄与者", + "entityType.simple_purchase_order_line.contributors.contributor": "寄与者", + "entityType.simple_purchase_order_line.contributors.contributor._qualified": "寄与者名称", "entityType.simple_purchase_order_line.contributors.contributor_name_type_id": "名称タイプ UUID", - "entityType.simple_purchase_order_line.contributors.contributor_name_type_id._qualified": "Contributors name type UUID", + "entityType.simple_purchase_order_line.contributors.contributor_name_type_id._qualified": "寄与者名称タイプ UUID", "entityType.simple_purchase_order_line.cost_additional_cost": "Cost additional", "entityType.simple_purchase_order_line.cost_currency": "Cost currency", "entityType.simple_purchase_order_line.cost_discount": "Cost discount", @@ -1410,7 +1392,7 @@ "entityType.simple_user_custom_field_details.entity_type": "Entity type", "entityType.simple_user_custom_field_details.help_text": "ヘルプテキスト", "entityType.simple_user_custom_field_details.id": "ID", - "entityType.simple_user_custom_field_details.is_repeatable": "Is repeatable", + "entityType.simple_user_custom_field_details.is_repeatable": "繰り返し可能", "entityType.simple_user_custom_field_details.name": "名称", "entityType.simple_user_custom_field_details.order": "発注", "entityType.simple_user_custom_field_details.ref_id": "Ref ID", @@ -1481,5 +1463,22 @@ "entityType.simple_instance.instance_type_name": "リソースタイプ", "entityType.composite_purchase_order_lines._shortened": "発注明細", "entityType.simple_organization._shortened": "Orgs", - "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID" + "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID", + "entityType.simple_instance.contributor_type_id": "寄与者タイプ UUID", + "entityType.simple_instance.contributors_name": "寄与者名称", + "entityType.simple_instance.contributor_type_text": "寄与者タイプ", + "entityType.simple_instance.contributor_name_type_id": "寄与者名称タイプ UUID", + "entityType.simple_instance.contributor_name_type": "寄与者名称タイプ", + "entityType.simple_instance.instance_primary_contributor": "Primary contributor", + "entityType.simple_instance.classification_type_ids": "Classification type UUIDs", + "entityType.simple_instance.classification_type_names": "Classification identifier type", + "entityType.simple_instance.classification_numbers": "Classification", + "entityType.composite_instances.date_type": "Instance date type", + "entityType.simple_instance.instance_date_1": "Date 1", + "entityType.simple_instance.instance_date_2": "Date 2", + "entityType.simple_instance.instance_date_type_id": "Date type ID", + "entityType.simple_instance_date_type": "Instance date type", + "entityType.simple_instance_date_type.id": "ID", + "entityType.simple_instance_date_type.name": "Name", + "entityType.simple_instance_date_type.code": "Code" } \ No newline at end of file diff --git a/translations/mod-fqm-manager/ko.json b/translations/mod-fqm-manager/ko.json index 27d1312f..8df23f9c 100644 --- a/translations/mod-fqm-manager/ko.json +++ b/translations/mod-fqm-manager/ko.json @@ -700,23 +700,7 @@ "entityType.simple_instance.administrative_notes": "Administrative notes", "entityType.simple_instance.alternative_titles": "Alternative titles", "entityType.simple_instance.cataloged_date": "Cataloged date", - "entityType.simple_instance.classifications": "Classifications", - "entityType.simple_instance.classifications.number": "Number", - "entityType.simple_instance.classifications.number._qualified": "Classification number", - "entityType.simple_instance.classifications.type_id": "Type UUID", - "entityType.simple_instance.classifications.type_id._qualified": "Classification type UUID", "entityType.simple_instance.complete_updated_date": "Complete updated date", - "entityType.simple_instance.contributors": "Contributors", - "entityType.simple_instance.contributors.contributor_name_type_id": "Contributor name type UUID", - "entityType.simple_instance.contributors.contributor_name_type_id._qualified": "Contributors contributor name type UUID", - "entityType.simple_instance.contributors.contributor_type_id": "Contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_id._qualified": "Contributors contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_text": "Contributor type text", - "entityType.simple_instance.contributors.contributor_type_text._qualified": "Contributors contributor type text", - "entityType.simple_instance.contributors.name": "Name", - "entityType.simple_instance.contributors.name._qualified": "Contributors name", - "entityType.simple_instance.contributors.primary": "Primary", - "entityType.simple_instance.contributors.primary._qualified": "Contributors primary", "entityType.simple_instance.created_at": "Created date", "entityType.simple_instance.created_by": "Created by user UUID", "entityType.simple_instance.discovery_suppress": "Discovery suppress", @@ -765,8 +749,6 @@ "entityType.simple_instance.publication.role": "Role", "entityType.simple_instance.publication.role._qualified": "Publication role", "entityType.simple_instance.publication_frequency": "Publication frequency", - "entityType.simple_instance.publication_period_end": "Publication end year", - "entityType.simple_instance.publication_period_start": "Publication start year", "entityType.simple_instance.publication_range": "Publication range", "entityType.simple_instance.series": "Series", "entityType.simple_instance.source": "Source", @@ -1481,5 +1463,22 @@ "entityType.simple_instance.instance_type_name": "Resource type", "entityType.composite_purchase_order_lines._shortened": "POL", "entityType.simple_organization._shortened": "Orgs", - "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID" + "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID", + "entityType.simple_instance.contributor_type_id": "Contributor type UUID", + "entityType.simple_instance.contributors_name": "Contributor name", + "entityType.simple_instance.contributor_type_text": "Contributor type", + "entityType.simple_instance.contributor_name_type_id": "Contributor name type UUID", + "entityType.simple_instance.contributor_name_type": "Contributor name type", + "entityType.simple_instance.instance_primary_contributor": "Primary contributor", + "entityType.simple_instance.classification_type_ids": "Classification type UUIDs", + "entityType.simple_instance.classification_type_names": "Classification identifier type", + "entityType.simple_instance.classification_numbers": "Classification", + "entityType.composite_instances.date_type": "Instance date type", + "entityType.simple_instance.instance_date_1": "Date 1", + "entityType.simple_instance.instance_date_2": "Date 2", + "entityType.simple_instance.instance_date_type_id": "Date type ID", + "entityType.simple_instance_date_type": "Instance date type", + "entityType.simple_instance_date_type.id": "ID", + "entityType.simple_instance_date_type.name": "Name", + "entityType.simple_instance_date_type.code": "Code" } \ No newline at end of file diff --git a/translations/mod-fqm-manager/nb.json b/translations/mod-fqm-manager/nb.json index 27d1312f..8df23f9c 100644 --- a/translations/mod-fqm-manager/nb.json +++ b/translations/mod-fqm-manager/nb.json @@ -700,23 +700,7 @@ "entityType.simple_instance.administrative_notes": "Administrative notes", "entityType.simple_instance.alternative_titles": "Alternative titles", "entityType.simple_instance.cataloged_date": "Cataloged date", - "entityType.simple_instance.classifications": "Classifications", - "entityType.simple_instance.classifications.number": "Number", - "entityType.simple_instance.classifications.number._qualified": "Classification number", - "entityType.simple_instance.classifications.type_id": "Type UUID", - "entityType.simple_instance.classifications.type_id._qualified": "Classification type UUID", "entityType.simple_instance.complete_updated_date": "Complete updated date", - "entityType.simple_instance.contributors": "Contributors", - "entityType.simple_instance.contributors.contributor_name_type_id": "Contributor name type UUID", - "entityType.simple_instance.contributors.contributor_name_type_id._qualified": "Contributors contributor name type UUID", - "entityType.simple_instance.contributors.contributor_type_id": "Contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_id._qualified": "Contributors contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_text": "Contributor type text", - "entityType.simple_instance.contributors.contributor_type_text._qualified": "Contributors contributor type text", - "entityType.simple_instance.contributors.name": "Name", - "entityType.simple_instance.contributors.name._qualified": "Contributors name", - "entityType.simple_instance.contributors.primary": "Primary", - "entityType.simple_instance.contributors.primary._qualified": "Contributors primary", "entityType.simple_instance.created_at": "Created date", "entityType.simple_instance.created_by": "Created by user UUID", "entityType.simple_instance.discovery_suppress": "Discovery suppress", @@ -765,8 +749,6 @@ "entityType.simple_instance.publication.role": "Role", "entityType.simple_instance.publication.role._qualified": "Publication role", "entityType.simple_instance.publication_frequency": "Publication frequency", - "entityType.simple_instance.publication_period_end": "Publication end year", - "entityType.simple_instance.publication_period_start": "Publication start year", "entityType.simple_instance.publication_range": "Publication range", "entityType.simple_instance.series": "Series", "entityType.simple_instance.source": "Source", @@ -1481,5 +1463,22 @@ "entityType.simple_instance.instance_type_name": "Resource type", "entityType.composite_purchase_order_lines._shortened": "POL", "entityType.simple_organization._shortened": "Orgs", - "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID" + "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID", + "entityType.simple_instance.contributor_type_id": "Contributor type UUID", + "entityType.simple_instance.contributors_name": "Contributor name", + "entityType.simple_instance.contributor_type_text": "Contributor type", + "entityType.simple_instance.contributor_name_type_id": "Contributor name type UUID", + "entityType.simple_instance.contributor_name_type": "Contributor name type", + "entityType.simple_instance.instance_primary_contributor": "Primary contributor", + "entityType.simple_instance.classification_type_ids": "Classification type UUIDs", + "entityType.simple_instance.classification_type_names": "Classification identifier type", + "entityType.simple_instance.classification_numbers": "Classification", + "entityType.composite_instances.date_type": "Instance date type", + "entityType.simple_instance.instance_date_1": "Date 1", + "entityType.simple_instance.instance_date_2": "Date 2", + "entityType.simple_instance.instance_date_type_id": "Date type ID", + "entityType.simple_instance_date_type": "Instance date type", + "entityType.simple_instance_date_type.id": "ID", + "entityType.simple_instance_date_type.name": "Name", + "entityType.simple_instance_date_type.code": "Code" } \ No newline at end of file diff --git a/translations/mod-fqm-manager/nl.json b/translations/mod-fqm-manager/nl.json index 3d3313e3..976c0ae0 100644 --- a/translations/mod-fqm-manager/nl.json +++ b/translations/mod-fqm-manager/nl.json @@ -700,23 +700,7 @@ "entityType.simple_instance.administrative_notes": "Administratieve opmerkingen", "entityType.simple_instance.alternative_titles": "Alternatieve titels", "entityType.simple_instance.cataloged_date": "Datum gecatalogiseerd", - "entityType.simple_instance.classifications": "Classificaties", - "entityType.simple_instance.classifications.number": "Aantal", - "entityType.simple_instance.classifications.number._qualified": "Classificatienummer", - "entityType.simple_instance.classifications.type_id": "Soort UUID", - "entityType.simple_instance.classifications.type_id._qualified": "Classificatie type UUID", "entityType.simple_instance.complete_updated_date": "Volledige datum Update", - "entityType.simple_instance.contributors": "Bijdragers", - "entityType.simple_instance.contributors.contributor_name_type_id": "Type naam bijdrager UUID", - "entityType.simple_instance.contributors.contributor_name_type_id._qualified": "Bijdragers naam Bijdrager type UUID", - "entityType.simple_instance.contributors.contributor_type_id": "Type bijdrager UUID", - "entityType.simple_instance.contributors.contributor_type_id._qualified": "Bijdragers type Bijdrager UUID", - "entityType.simple_instance.contributors.contributor_type_text": "Bijdragers type tekst", - "entityType.simple_instance.contributors.contributor_type_text._qualified": "Bijdragers Bijdragers type tekst", - "entityType.simple_instance.contributors.name": "Naam", - "entityType.simple_instance.contributors.name._qualified": "Naam Bijdragers", - "entityType.simple_instance.contributors.primary": "Primair", - "entityType.simple_instance.contributors.primary._qualified": "Bijdragers Primair", "entityType.simple_instance.created_at": "Aangemaakt op", "entityType.simple_instance.created_by": "Gemaakt door gebruiker UUID", "entityType.simple_instance.discovery_suppress": "Onderdrukken in discovery", @@ -765,8 +749,6 @@ "entityType.simple_instance.publication.role": "Rol", "entityType.simple_instance.publication.role._qualified": "Rol in publicatie", "entityType.simple_instance.publication_frequency": "Publicatiefrequentie", - "entityType.simple_instance.publication_period_end": "Eindjaar publicatie", - "entityType.simple_instance.publication_period_start": "Startjaar publicatie", "entityType.simple_instance.publication_range": "Publicatiebereik", "entityType.simple_instance.series": "Series", "entityType.simple_instance.source": "Bron", @@ -1481,5 +1463,22 @@ "entityType.simple_instance.instance_type_name": "Type bron", "entityType.composite_purchase_order_lines._shortened": "POL", "entityType.simple_organization._shortened": "Orgs", - "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID" + "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID", + "entityType.simple_instance.contributor_type_id": "Contributor type UUID", + "entityType.simple_instance.contributors_name": "Contributor name", + "entityType.simple_instance.contributor_type_text": "Contributor type", + "entityType.simple_instance.contributor_name_type_id": "Contributor name type UUID", + "entityType.simple_instance.contributor_name_type": "Contributor name type", + "entityType.simple_instance.instance_primary_contributor": "Primary contributor", + "entityType.simple_instance.classification_type_ids": "Classification type UUIDs", + "entityType.simple_instance.classification_type_names": "Classification identifier type", + "entityType.simple_instance.classification_numbers": "Classification", + "entityType.composite_instances.date_type": "Instance date type", + "entityType.simple_instance.instance_date_1": "Date 1", + "entityType.simple_instance.instance_date_2": "Date 2", + "entityType.simple_instance.instance_date_type_id": "Date type ID", + "entityType.simple_instance_date_type": "Instance date type", + "entityType.simple_instance_date_type.id": "ID", + "entityType.simple_instance_date_type.name": "Name", + "entityType.simple_instance_date_type.code": "Code" } \ No newline at end of file diff --git a/translations/mod-fqm-manager/nn.json b/translations/mod-fqm-manager/nn.json index 27d1312f..8df23f9c 100644 --- a/translations/mod-fqm-manager/nn.json +++ b/translations/mod-fqm-manager/nn.json @@ -700,23 +700,7 @@ "entityType.simple_instance.administrative_notes": "Administrative notes", "entityType.simple_instance.alternative_titles": "Alternative titles", "entityType.simple_instance.cataloged_date": "Cataloged date", - "entityType.simple_instance.classifications": "Classifications", - "entityType.simple_instance.classifications.number": "Number", - "entityType.simple_instance.classifications.number._qualified": "Classification number", - "entityType.simple_instance.classifications.type_id": "Type UUID", - "entityType.simple_instance.classifications.type_id._qualified": "Classification type UUID", "entityType.simple_instance.complete_updated_date": "Complete updated date", - "entityType.simple_instance.contributors": "Contributors", - "entityType.simple_instance.contributors.contributor_name_type_id": "Contributor name type UUID", - "entityType.simple_instance.contributors.contributor_name_type_id._qualified": "Contributors contributor name type UUID", - "entityType.simple_instance.contributors.contributor_type_id": "Contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_id._qualified": "Contributors contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_text": "Contributor type text", - "entityType.simple_instance.contributors.contributor_type_text._qualified": "Contributors contributor type text", - "entityType.simple_instance.contributors.name": "Name", - "entityType.simple_instance.contributors.name._qualified": "Contributors name", - "entityType.simple_instance.contributors.primary": "Primary", - "entityType.simple_instance.contributors.primary._qualified": "Contributors primary", "entityType.simple_instance.created_at": "Created date", "entityType.simple_instance.created_by": "Created by user UUID", "entityType.simple_instance.discovery_suppress": "Discovery suppress", @@ -765,8 +749,6 @@ "entityType.simple_instance.publication.role": "Role", "entityType.simple_instance.publication.role._qualified": "Publication role", "entityType.simple_instance.publication_frequency": "Publication frequency", - "entityType.simple_instance.publication_period_end": "Publication end year", - "entityType.simple_instance.publication_period_start": "Publication start year", "entityType.simple_instance.publication_range": "Publication range", "entityType.simple_instance.series": "Series", "entityType.simple_instance.source": "Source", @@ -1481,5 +1463,22 @@ "entityType.simple_instance.instance_type_name": "Resource type", "entityType.composite_purchase_order_lines._shortened": "POL", "entityType.simple_organization._shortened": "Orgs", - "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID" + "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID", + "entityType.simple_instance.contributor_type_id": "Contributor type UUID", + "entityType.simple_instance.contributors_name": "Contributor name", + "entityType.simple_instance.contributor_type_text": "Contributor type", + "entityType.simple_instance.contributor_name_type_id": "Contributor name type UUID", + "entityType.simple_instance.contributor_name_type": "Contributor name type", + "entityType.simple_instance.instance_primary_contributor": "Primary contributor", + "entityType.simple_instance.classification_type_ids": "Classification type UUIDs", + "entityType.simple_instance.classification_type_names": "Classification identifier type", + "entityType.simple_instance.classification_numbers": "Classification", + "entityType.composite_instances.date_type": "Instance date type", + "entityType.simple_instance.instance_date_1": "Date 1", + "entityType.simple_instance.instance_date_2": "Date 2", + "entityType.simple_instance.instance_date_type_id": "Date type ID", + "entityType.simple_instance_date_type": "Instance date type", + "entityType.simple_instance_date_type.id": "ID", + "entityType.simple_instance_date_type.name": "Name", + "entityType.simple_instance_date_type.code": "Code" } \ No newline at end of file diff --git a/translations/mod-fqm-manager/pl.json b/translations/mod-fqm-manager/pl.json index 5552d1ab..558bb710 100644 --- a/translations/mod-fqm-manager/pl.json +++ b/translations/mod-fqm-manager/pl.json @@ -700,23 +700,7 @@ "entityType.simple_instance.administrative_notes": "Administrative notes", "entityType.simple_instance.alternative_titles": "Alternative titles", "entityType.simple_instance.cataloged_date": "Cataloged date", - "entityType.simple_instance.classifications": "Classifications", - "entityType.simple_instance.classifications.number": "Number", - "entityType.simple_instance.classifications.number._qualified": "Classification number", - "entityType.simple_instance.classifications.type_id": "Type UUID", - "entityType.simple_instance.classifications.type_id._qualified": "Classification type UUID", "entityType.simple_instance.complete_updated_date": "Complete updated date", - "entityType.simple_instance.contributors": "Contributors", - "entityType.simple_instance.contributors.contributor_name_type_id": "Contributor name type UUID", - "entityType.simple_instance.contributors.contributor_name_type_id._qualified": "Contributors contributor name type UUID", - "entityType.simple_instance.contributors.contributor_type_id": "Contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_id._qualified": "Contributors contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_text": "Contributor type text", - "entityType.simple_instance.contributors.contributor_type_text._qualified": "Contributors contributor type text", - "entityType.simple_instance.contributors.name": "Name", - "entityType.simple_instance.contributors.name._qualified": "Contributors name", - "entityType.simple_instance.contributors.primary": "Główny", - "entityType.simple_instance.contributors.primary._qualified": "Contributors primary", "entityType.simple_instance.created_at": "Created date", "entityType.simple_instance.created_by": "Created by user UUID", "entityType.simple_instance.discovery_suppress": "Discovery suppress", @@ -765,8 +749,6 @@ "entityType.simple_instance.publication.role": "Role", "entityType.simple_instance.publication.role._qualified": "Publication role", "entityType.simple_instance.publication_frequency": "Publication frequency", - "entityType.simple_instance.publication_period_end": "Publication end year", - "entityType.simple_instance.publication_period_start": "Publication start year", "entityType.simple_instance.publication_range": "Publication range", "entityType.simple_instance.series": "Series", "entityType.simple_instance.source": "Źródło", @@ -1481,5 +1463,22 @@ "entityType.simple_instance.instance_type_name": "Resource type", "entityType.composite_purchase_order_lines._shortened": "POL", "entityType.simple_organization._shortened": "Orgs", - "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID" + "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID", + "entityType.simple_instance.contributor_type_id": "Contributor type UUID", + "entityType.simple_instance.contributors_name": "Contributor name", + "entityType.simple_instance.contributor_type_text": "Contributor type", + "entityType.simple_instance.contributor_name_type_id": "Contributor name type UUID", + "entityType.simple_instance.contributor_name_type": "Contributor name type", + "entityType.simple_instance.instance_primary_contributor": "Primary contributor", + "entityType.simple_instance.classification_type_ids": "Classification type UUIDs", + "entityType.simple_instance.classification_type_names": "Classification identifier type", + "entityType.simple_instance.classification_numbers": "Classification", + "entityType.composite_instances.date_type": "Instance date type", + "entityType.simple_instance.instance_date_1": "Date 1", + "entityType.simple_instance.instance_date_2": "Date 2", + "entityType.simple_instance.instance_date_type_id": "Date type ID", + "entityType.simple_instance_date_type": "Instance date type", + "entityType.simple_instance_date_type.id": "ID", + "entityType.simple_instance_date_type.name": "Name", + "entityType.simple_instance_date_type.code": "Code" } \ No newline at end of file diff --git a/translations/mod-fqm-manager/pt_BR.json b/translations/mod-fqm-manager/pt_BR.json index 32d8dbd8..73803372 100644 --- a/translations/mod-fqm-manager/pt_BR.json +++ b/translations/mod-fqm-manager/pt_BR.json @@ -700,23 +700,7 @@ "entityType.simple_instance.administrative_notes": "Notas administrativas", "entityType.simple_instance.alternative_titles": "Títulos alternativos", "entityType.simple_instance.cataloged_date": "Data da catalogação", - "entityType.simple_instance.classifications": "Classificações", - "entityType.simple_instance.classifications.number": "Número", - "entityType.simple_instance.classifications.number._qualified": "Número de classificação", - "entityType.simple_instance.classifications.type_id": "UUID de tipo", - "entityType.simple_instance.classifications.type_id._qualified": "UUID do tipo de classificação", "entityType.simple_instance.complete_updated_date": "Data de atualização completa", - "entityType.simple_instance.contributors": "Colaboradores", - "entityType.simple_instance.contributors.contributor_name_type_id": "UUID do tipo de nome do colaborado", - "entityType.simple_instance.contributors.contributor_name_type_id._qualified": "Colaboradores - UUID do tipo de colaborador", - "entityType.simple_instance.contributors.contributor_type_id": "UUID do tipo de colaborador", - "entityType.simple_instance.contributors.contributor_type_id._qualified": "Colaboradores - UUID do tipo de colaborador", - "entityType.simple_instance.contributors.contributor_type_text": "Texto do tipo de colaborador", - "entityType.simple_instance.contributors.contributor_type_text._qualified": "Colaboradores - Texto do tipo de colaborador", - "entityType.simple_instance.contributors.name": "Nome", - "entityType.simple_instance.contributors.name._qualified": "Nome dos colaboradores", - "entityType.simple_instance.contributors.primary": "Primário", - "entityType.simple_instance.contributors.primary._qualified": "Colaboradores primários", "entityType.simple_instance.created_at": "Data de criação", "entityType.simple_instance.created_by": "Criado por usuário de UUID", "entityType.simple_instance.discovery_suppress": "Ocultar da descoberta", @@ -765,8 +749,6 @@ "entityType.simple_instance.publication.role": "Função", "entityType.simple_instance.publication.role._qualified": "Função da publicação", "entityType.simple_instance.publication_frequency": "Frequência de publicação", - "entityType.simple_instance.publication_period_end": "Ano final da publicação", - "entityType.simple_instance.publication_period_start": "Ano de início da publicação", "entityType.simple_instance.publication_range": "Intervalo de publicação", "entityType.simple_instance.series": "Série", "entityType.simple_instance.source": "Fonte", @@ -777,7 +759,7 @@ "entityType.simple_instance.status_updated_date": "Data de atualização do status", "entityType.simple_instance.subjects": "Cabeçalhos de assunto", "entityType.simple_instance.tags": "Tags", - "entityType.simple_instance.title": "Título", + "entityType.simple_instance.title": "Título do recurso", "entityType.simple_instance.updated_at": "Data de atualização", "entityType.simple_instance.updated_by": "Atualizado por usuário de UUID", "entityType.simple_instance.version": "Versão do registro", @@ -1481,5 +1463,22 @@ "entityType.simple_instance.instance_type_name": "Tipo de recurso", "entityType.composite_purchase_order_lines._shortened": "Linha do Pedido de Compra", "entityType.simple_organization._shortened": "Orgs", - "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID" + "entityType.simple_instance.alternative_titles_ids": "Títulos alternativos - Tipo UUID", + "entityType.simple_instance.contributor_type_id": "UUID do tipo de colaborador", + "entityType.simple_instance.contributors_name": "Nome do colaborador", + "entityType.simple_instance.contributor_type_text": "Tipo de colaborador", + "entityType.simple_instance.contributor_name_type_id": "UUID do tipo de nome do colaborador", + "entityType.simple_instance.contributor_name_type": "Tipo de nome do colaborador", + "entityType.simple_instance.instance_primary_contributor": "Colaborador principal", + "entityType.simple_instance.classification_type_ids": "UUIDs do tipo de classificação", + "entityType.simple_instance.classification_type_names": "Tipo de identificador de classificação", + "entityType.simple_instance.classification_numbers": "Classificação", + "entityType.composite_instances.date_type": "Tipo de data da instância", + "entityType.simple_instance.instance_date_1": "Data 1", + "entityType.simple_instance.instance_date_2": "Data 2", + "entityType.simple_instance.instance_date_type_id": "ID do tipo de data", + "entityType.simple_instance_date_type": "Tipo de data da instância", + "entityType.simple_instance_date_type.id": "ID", + "entityType.simple_instance_date_type.name": "Nome", + "entityType.simple_instance_date_type.code": "Código" } \ No newline at end of file diff --git a/translations/mod-fqm-manager/pt_PT.json b/translations/mod-fqm-manager/pt_PT.json index 27d1312f..8df23f9c 100644 --- a/translations/mod-fqm-manager/pt_PT.json +++ b/translations/mod-fqm-manager/pt_PT.json @@ -700,23 +700,7 @@ "entityType.simple_instance.administrative_notes": "Administrative notes", "entityType.simple_instance.alternative_titles": "Alternative titles", "entityType.simple_instance.cataloged_date": "Cataloged date", - "entityType.simple_instance.classifications": "Classifications", - "entityType.simple_instance.classifications.number": "Number", - "entityType.simple_instance.classifications.number._qualified": "Classification number", - "entityType.simple_instance.classifications.type_id": "Type UUID", - "entityType.simple_instance.classifications.type_id._qualified": "Classification type UUID", "entityType.simple_instance.complete_updated_date": "Complete updated date", - "entityType.simple_instance.contributors": "Contributors", - "entityType.simple_instance.contributors.contributor_name_type_id": "Contributor name type UUID", - "entityType.simple_instance.contributors.contributor_name_type_id._qualified": "Contributors contributor name type UUID", - "entityType.simple_instance.contributors.contributor_type_id": "Contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_id._qualified": "Contributors contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_text": "Contributor type text", - "entityType.simple_instance.contributors.contributor_type_text._qualified": "Contributors contributor type text", - "entityType.simple_instance.contributors.name": "Name", - "entityType.simple_instance.contributors.name._qualified": "Contributors name", - "entityType.simple_instance.contributors.primary": "Primary", - "entityType.simple_instance.contributors.primary._qualified": "Contributors primary", "entityType.simple_instance.created_at": "Created date", "entityType.simple_instance.created_by": "Created by user UUID", "entityType.simple_instance.discovery_suppress": "Discovery suppress", @@ -765,8 +749,6 @@ "entityType.simple_instance.publication.role": "Role", "entityType.simple_instance.publication.role._qualified": "Publication role", "entityType.simple_instance.publication_frequency": "Publication frequency", - "entityType.simple_instance.publication_period_end": "Publication end year", - "entityType.simple_instance.publication_period_start": "Publication start year", "entityType.simple_instance.publication_range": "Publication range", "entityType.simple_instance.series": "Series", "entityType.simple_instance.source": "Source", @@ -1481,5 +1463,22 @@ "entityType.simple_instance.instance_type_name": "Resource type", "entityType.composite_purchase_order_lines._shortened": "POL", "entityType.simple_organization._shortened": "Orgs", - "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID" + "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID", + "entityType.simple_instance.contributor_type_id": "Contributor type UUID", + "entityType.simple_instance.contributors_name": "Contributor name", + "entityType.simple_instance.contributor_type_text": "Contributor type", + "entityType.simple_instance.contributor_name_type_id": "Contributor name type UUID", + "entityType.simple_instance.contributor_name_type": "Contributor name type", + "entityType.simple_instance.instance_primary_contributor": "Primary contributor", + "entityType.simple_instance.classification_type_ids": "Classification type UUIDs", + "entityType.simple_instance.classification_type_names": "Classification identifier type", + "entityType.simple_instance.classification_numbers": "Classification", + "entityType.composite_instances.date_type": "Instance date type", + "entityType.simple_instance.instance_date_1": "Date 1", + "entityType.simple_instance.instance_date_2": "Date 2", + "entityType.simple_instance.instance_date_type_id": "Date type ID", + "entityType.simple_instance_date_type": "Instance date type", + "entityType.simple_instance_date_type.id": "ID", + "entityType.simple_instance_date_type.name": "Name", + "entityType.simple_instance_date_type.code": "Code" } \ No newline at end of file diff --git a/translations/mod-fqm-manager/ru.json b/translations/mod-fqm-manager/ru.json index 27d1312f..8df23f9c 100644 --- a/translations/mod-fqm-manager/ru.json +++ b/translations/mod-fqm-manager/ru.json @@ -700,23 +700,7 @@ "entityType.simple_instance.administrative_notes": "Administrative notes", "entityType.simple_instance.alternative_titles": "Alternative titles", "entityType.simple_instance.cataloged_date": "Cataloged date", - "entityType.simple_instance.classifications": "Classifications", - "entityType.simple_instance.classifications.number": "Number", - "entityType.simple_instance.classifications.number._qualified": "Classification number", - "entityType.simple_instance.classifications.type_id": "Type UUID", - "entityType.simple_instance.classifications.type_id._qualified": "Classification type UUID", "entityType.simple_instance.complete_updated_date": "Complete updated date", - "entityType.simple_instance.contributors": "Contributors", - "entityType.simple_instance.contributors.contributor_name_type_id": "Contributor name type UUID", - "entityType.simple_instance.contributors.contributor_name_type_id._qualified": "Contributors contributor name type UUID", - "entityType.simple_instance.contributors.contributor_type_id": "Contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_id._qualified": "Contributors contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_text": "Contributor type text", - "entityType.simple_instance.contributors.contributor_type_text._qualified": "Contributors contributor type text", - "entityType.simple_instance.contributors.name": "Name", - "entityType.simple_instance.contributors.name._qualified": "Contributors name", - "entityType.simple_instance.contributors.primary": "Primary", - "entityType.simple_instance.contributors.primary._qualified": "Contributors primary", "entityType.simple_instance.created_at": "Created date", "entityType.simple_instance.created_by": "Created by user UUID", "entityType.simple_instance.discovery_suppress": "Discovery suppress", @@ -765,8 +749,6 @@ "entityType.simple_instance.publication.role": "Role", "entityType.simple_instance.publication.role._qualified": "Publication role", "entityType.simple_instance.publication_frequency": "Publication frequency", - "entityType.simple_instance.publication_period_end": "Publication end year", - "entityType.simple_instance.publication_period_start": "Publication start year", "entityType.simple_instance.publication_range": "Publication range", "entityType.simple_instance.series": "Series", "entityType.simple_instance.source": "Source", @@ -1481,5 +1463,22 @@ "entityType.simple_instance.instance_type_name": "Resource type", "entityType.composite_purchase_order_lines._shortened": "POL", "entityType.simple_organization._shortened": "Orgs", - "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID" + "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID", + "entityType.simple_instance.contributor_type_id": "Contributor type UUID", + "entityType.simple_instance.contributors_name": "Contributor name", + "entityType.simple_instance.contributor_type_text": "Contributor type", + "entityType.simple_instance.contributor_name_type_id": "Contributor name type UUID", + "entityType.simple_instance.contributor_name_type": "Contributor name type", + "entityType.simple_instance.instance_primary_contributor": "Primary contributor", + "entityType.simple_instance.classification_type_ids": "Classification type UUIDs", + "entityType.simple_instance.classification_type_names": "Classification identifier type", + "entityType.simple_instance.classification_numbers": "Classification", + "entityType.composite_instances.date_type": "Instance date type", + "entityType.simple_instance.instance_date_1": "Date 1", + "entityType.simple_instance.instance_date_2": "Date 2", + "entityType.simple_instance.instance_date_type_id": "Date type ID", + "entityType.simple_instance_date_type": "Instance date type", + "entityType.simple_instance_date_type.id": "ID", + "entityType.simple_instance_date_type.name": "Name", + "entityType.simple_instance_date_type.code": "Code" } \ No newline at end of file diff --git a/translations/mod-fqm-manager/sk.json b/translations/mod-fqm-manager/sk.json index 27d1312f..8df23f9c 100644 --- a/translations/mod-fqm-manager/sk.json +++ b/translations/mod-fqm-manager/sk.json @@ -700,23 +700,7 @@ "entityType.simple_instance.administrative_notes": "Administrative notes", "entityType.simple_instance.alternative_titles": "Alternative titles", "entityType.simple_instance.cataloged_date": "Cataloged date", - "entityType.simple_instance.classifications": "Classifications", - "entityType.simple_instance.classifications.number": "Number", - "entityType.simple_instance.classifications.number._qualified": "Classification number", - "entityType.simple_instance.classifications.type_id": "Type UUID", - "entityType.simple_instance.classifications.type_id._qualified": "Classification type UUID", "entityType.simple_instance.complete_updated_date": "Complete updated date", - "entityType.simple_instance.contributors": "Contributors", - "entityType.simple_instance.contributors.contributor_name_type_id": "Contributor name type UUID", - "entityType.simple_instance.contributors.contributor_name_type_id._qualified": "Contributors contributor name type UUID", - "entityType.simple_instance.contributors.contributor_type_id": "Contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_id._qualified": "Contributors contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_text": "Contributor type text", - "entityType.simple_instance.contributors.contributor_type_text._qualified": "Contributors contributor type text", - "entityType.simple_instance.contributors.name": "Name", - "entityType.simple_instance.contributors.name._qualified": "Contributors name", - "entityType.simple_instance.contributors.primary": "Primary", - "entityType.simple_instance.contributors.primary._qualified": "Contributors primary", "entityType.simple_instance.created_at": "Created date", "entityType.simple_instance.created_by": "Created by user UUID", "entityType.simple_instance.discovery_suppress": "Discovery suppress", @@ -765,8 +749,6 @@ "entityType.simple_instance.publication.role": "Role", "entityType.simple_instance.publication.role._qualified": "Publication role", "entityType.simple_instance.publication_frequency": "Publication frequency", - "entityType.simple_instance.publication_period_end": "Publication end year", - "entityType.simple_instance.publication_period_start": "Publication start year", "entityType.simple_instance.publication_range": "Publication range", "entityType.simple_instance.series": "Series", "entityType.simple_instance.source": "Source", @@ -1481,5 +1463,22 @@ "entityType.simple_instance.instance_type_name": "Resource type", "entityType.composite_purchase_order_lines._shortened": "POL", "entityType.simple_organization._shortened": "Orgs", - "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID" + "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID", + "entityType.simple_instance.contributor_type_id": "Contributor type UUID", + "entityType.simple_instance.contributors_name": "Contributor name", + "entityType.simple_instance.contributor_type_text": "Contributor type", + "entityType.simple_instance.contributor_name_type_id": "Contributor name type UUID", + "entityType.simple_instance.contributor_name_type": "Contributor name type", + "entityType.simple_instance.instance_primary_contributor": "Primary contributor", + "entityType.simple_instance.classification_type_ids": "Classification type UUIDs", + "entityType.simple_instance.classification_type_names": "Classification identifier type", + "entityType.simple_instance.classification_numbers": "Classification", + "entityType.composite_instances.date_type": "Instance date type", + "entityType.simple_instance.instance_date_1": "Date 1", + "entityType.simple_instance.instance_date_2": "Date 2", + "entityType.simple_instance.instance_date_type_id": "Date type ID", + "entityType.simple_instance_date_type": "Instance date type", + "entityType.simple_instance_date_type.id": "ID", + "entityType.simple_instance_date_type.name": "Name", + "entityType.simple_instance_date_type.code": "Code" } \ No newline at end of file diff --git a/translations/mod-fqm-manager/sv.json b/translations/mod-fqm-manager/sv.json index 27d1312f..8df23f9c 100644 --- a/translations/mod-fqm-manager/sv.json +++ b/translations/mod-fqm-manager/sv.json @@ -700,23 +700,7 @@ "entityType.simple_instance.administrative_notes": "Administrative notes", "entityType.simple_instance.alternative_titles": "Alternative titles", "entityType.simple_instance.cataloged_date": "Cataloged date", - "entityType.simple_instance.classifications": "Classifications", - "entityType.simple_instance.classifications.number": "Number", - "entityType.simple_instance.classifications.number._qualified": "Classification number", - "entityType.simple_instance.classifications.type_id": "Type UUID", - "entityType.simple_instance.classifications.type_id._qualified": "Classification type UUID", "entityType.simple_instance.complete_updated_date": "Complete updated date", - "entityType.simple_instance.contributors": "Contributors", - "entityType.simple_instance.contributors.contributor_name_type_id": "Contributor name type UUID", - "entityType.simple_instance.contributors.contributor_name_type_id._qualified": "Contributors contributor name type UUID", - "entityType.simple_instance.contributors.contributor_type_id": "Contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_id._qualified": "Contributors contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_text": "Contributor type text", - "entityType.simple_instance.contributors.contributor_type_text._qualified": "Contributors contributor type text", - "entityType.simple_instance.contributors.name": "Name", - "entityType.simple_instance.contributors.name._qualified": "Contributors name", - "entityType.simple_instance.contributors.primary": "Primary", - "entityType.simple_instance.contributors.primary._qualified": "Contributors primary", "entityType.simple_instance.created_at": "Created date", "entityType.simple_instance.created_by": "Created by user UUID", "entityType.simple_instance.discovery_suppress": "Discovery suppress", @@ -765,8 +749,6 @@ "entityType.simple_instance.publication.role": "Role", "entityType.simple_instance.publication.role._qualified": "Publication role", "entityType.simple_instance.publication_frequency": "Publication frequency", - "entityType.simple_instance.publication_period_end": "Publication end year", - "entityType.simple_instance.publication_period_start": "Publication start year", "entityType.simple_instance.publication_range": "Publication range", "entityType.simple_instance.series": "Series", "entityType.simple_instance.source": "Source", @@ -1481,5 +1463,22 @@ "entityType.simple_instance.instance_type_name": "Resource type", "entityType.composite_purchase_order_lines._shortened": "POL", "entityType.simple_organization._shortened": "Orgs", - "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID" + "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID", + "entityType.simple_instance.contributor_type_id": "Contributor type UUID", + "entityType.simple_instance.contributors_name": "Contributor name", + "entityType.simple_instance.contributor_type_text": "Contributor type", + "entityType.simple_instance.contributor_name_type_id": "Contributor name type UUID", + "entityType.simple_instance.contributor_name_type": "Contributor name type", + "entityType.simple_instance.instance_primary_contributor": "Primary contributor", + "entityType.simple_instance.classification_type_ids": "Classification type UUIDs", + "entityType.simple_instance.classification_type_names": "Classification identifier type", + "entityType.simple_instance.classification_numbers": "Classification", + "entityType.composite_instances.date_type": "Instance date type", + "entityType.simple_instance.instance_date_1": "Date 1", + "entityType.simple_instance.instance_date_2": "Date 2", + "entityType.simple_instance.instance_date_type_id": "Date type ID", + "entityType.simple_instance_date_type": "Instance date type", + "entityType.simple_instance_date_type.id": "ID", + "entityType.simple_instance_date_type.name": "Name", + "entityType.simple_instance_date_type.code": "Code" } \ No newline at end of file diff --git a/translations/mod-fqm-manager/ur.json b/translations/mod-fqm-manager/ur.json index 27d1312f..8df23f9c 100644 --- a/translations/mod-fqm-manager/ur.json +++ b/translations/mod-fqm-manager/ur.json @@ -700,23 +700,7 @@ "entityType.simple_instance.administrative_notes": "Administrative notes", "entityType.simple_instance.alternative_titles": "Alternative titles", "entityType.simple_instance.cataloged_date": "Cataloged date", - "entityType.simple_instance.classifications": "Classifications", - "entityType.simple_instance.classifications.number": "Number", - "entityType.simple_instance.classifications.number._qualified": "Classification number", - "entityType.simple_instance.classifications.type_id": "Type UUID", - "entityType.simple_instance.classifications.type_id._qualified": "Classification type UUID", "entityType.simple_instance.complete_updated_date": "Complete updated date", - "entityType.simple_instance.contributors": "Contributors", - "entityType.simple_instance.contributors.contributor_name_type_id": "Contributor name type UUID", - "entityType.simple_instance.contributors.contributor_name_type_id._qualified": "Contributors contributor name type UUID", - "entityType.simple_instance.contributors.contributor_type_id": "Contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_id._qualified": "Contributors contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_text": "Contributor type text", - "entityType.simple_instance.contributors.contributor_type_text._qualified": "Contributors contributor type text", - "entityType.simple_instance.contributors.name": "Name", - "entityType.simple_instance.contributors.name._qualified": "Contributors name", - "entityType.simple_instance.contributors.primary": "Primary", - "entityType.simple_instance.contributors.primary._qualified": "Contributors primary", "entityType.simple_instance.created_at": "Created date", "entityType.simple_instance.created_by": "Created by user UUID", "entityType.simple_instance.discovery_suppress": "Discovery suppress", @@ -765,8 +749,6 @@ "entityType.simple_instance.publication.role": "Role", "entityType.simple_instance.publication.role._qualified": "Publication role", "entityType.simple_instance.publication_frequency": "Publication frequency", - "entityType.simple_instance.publication_period_end": "Publication end year", - "entityType.simple_instance.publication_period_start": "Publication start year", "entityType.simple_instance.publication_range": "Publication range", "entityType.simple_instance.series": "Series", "entityType.simple_instance.source": "Source", @@ -1481,5 +1463,22 @@ "entityType.simple_instance.instance_type_name": "Resource type", "entityType.composite_purchase_order_lines._shortened": "POL", "entityType.simple_organization._shortened": "Orgs", - "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID" + "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID", + "entityType.simple_instance.contributor_type_id": "Contributor type UUID", + "entityType.simple_instance.contributors_name": "Contributor name", + "entityType.simple_instance.contributor_type_text": "Contributor type", + "entityType.simple_instance.contributor_name_type_id": "Contributor name type UUID", + "entityType.simple_instance.contributor_name_type": "Contributor name type", + "entityType.simple_instance.instance_primary_contributor": "Primary contributor", + "entityType.simple_instance.classification_type_ids": "Classification type UUIDs", + "entityType.simple_instance.classification_type_names": "Classification identifier type", + "entityType.simple_instance.classification_numbers": "Classification", + "entityType.composite_instances.date_type": "Instance date type", + "entityType.simple_instance.instance_date_1": "Date 1", + "entityType.simple_instance.instance_date_2": "Date 2", + "entityType.simple_instance.instance_date_type_id": "Date type ID", + "entityType.simple_instance_date_type": "Instance date type", + "entityType.simple_instance_date_type.id": "ID", + "entityType.simple_instance_date_type.name": "Name", + "entityType.simple_instance_date_type.code": "Code" } \ No newline at end of file diff --git a/translations/mod-fqm-manager/zh_CN.json b/translations/mod-fqm-manager/zh_CN.json index 4feba0c4..8bf0e7f8 100644 --- a/translations/mod-fqm-manager/zh_CN.json +++ b/translations/mod-fqm-manager/zh_CN.json @@ -700,24 +700,8 @@ "entityType.simple_instance.administrative_notes": "管理说明", "entityType.simple_instance.alternative_titles": "交替题名", "entityType.simple_instance.cataloged_date": "编目日期", - "entityType.simple_instance.classifications": "分类", - "entityType.simple_instance.classifications.number": "编号", - "entityType.simple_instance.classifications.number._qualified": "分类号", - "entityType.simple_instance.classifications.type_id": "类型 UUID", - "entityType.simple_instance.classifications.type_id._qualified": "分类类型UUID", "entityType.simple_instance.complete_updated_date": "完整更新日期", - "entityType.simple_instance.contributors": "贡献者", - "entityType.simple_instance.contributors.contributor_name_type_id": "贡献者名称类型UUID", - "entityType.simple_instance.contributors.contributor_name_type_id._qualified": "贡献者 贡献者名称类型UUID", - "entityType.simple_instance.contributors.contributor_type_id": "贡献者类型UUID", - "entityType.simple_instance.contributors.contributor_type_id._qualified": "贡献者 贡献者类型UUID", - "entityType.simple_instance.contributors.contributor_type_text": "贡献者类型 文本", - "entityType.simple_instance.contributors.contributor_type_text._qualified": "贡献者 贡献者类型 文本", - "entityType.simple_instance.contributors.name": "名称", - "entityType.simple_instance.contributors.name._qualified": "贡献者名称", - "entityType.simple_instance.contributors.primary": "主要", - "entityType.simple_instance.contributors.primary._qualified": "主要贡献者", - "entityType.simple_instance.created_at": "创建于", + "entityType.simple_instance.created_at": "创建日期", "entityType.simple_instance.created_by": "由用户UUID创建", "entityType.simple_instance.discovery_suppress": "在发现中隐藏", "entityType.simple_instance.editions": "版本", @@ -741,7 +725,7 @@ "entityType.simple_instance.identifiers.value._qualified": "标识符值", "entityType.simple_instance.index_title": "索引标题", "entityType.simple_instance.instance_format_ids": "实例格式UUID", - "entityType.simple_instance.instance_type_id": "实例类型UUID", + "entityType.simple_instance.instance_type_id": "资源类型UUID", "entityType.simple_instance.languages": "语言", "entityType.simple_instance.match_key": "匹配键", "entityType.simple_instance.mode_of_issuance_id": "发行方式UUID", @@ -765,8 +749,6 @@ "entityType.simple_instance.publication.role": "角色", "entityType.simple_instance.publication.role._qualified": "出版角色", "entityType.simple_instance.publication_frequency": "出版频率", - "entityType.simple_instance.publication_period_end": "出版结束年份", - "entityType.simple_instance.publication_period_start": "出版起始年份", "entityType.simple_instance.publication_range": "出版范围", "entityType.simple_instance.series": "丛编", "entityType.simple_instance.source": "来源", @@ -777,8 +759,8 @@ "entityType.simple_instance.status_updated_date": "状态更新日期", "entityType.simple_instance.subjects": "主题标题", "entityType.simple_instance.tags": "标签", - "entityType.simple_instance.title": "题名", - "entityType.simple_instance.updated_at": "更新于", + "entityType.simple_instance.title": "资源题名", + "entityType.simple_instance.updated_at": "更新日期", "entityType.simple_instance.updated_by": "由用户UUID更新", "entityType.simple_instance.version": "记录版本", "entityType.simple_loan_policy": "借阅政策", @@ -1215,7 +1197,7 @@ "entityType.simple_purchase_order_line.renewal_note": "续借附注", "entityType.simple_purchase_order_line.reporting_codes": "报告代码", "entityType.simple_purchase_order_line.requester": "请求者", - "entityType.simple_purchase_order_line.rush": "Is rush", + "entityType.simple_purchase_order_line.rush": "忙碌", "entityType.simple_purchase_order_line.search_location_ids": "搜索位置 ID", "entityType.simple_purchase_order_line.selector": "选择者", "entityType.simple_purchase_order_line.source": "来源", @@ -1470,16 +1452,33 @@ "migration.warning.REMOVED_FIELD.withoutAlternative": "字段{name}不再可用。可以改用{alternative} 。作为参考,您的原始查询是{fql} 。", "entityType.simple_instance.shared": "已共享", "entityType.simple_instance.tenant_id": "租户ID", - "entityType.simple_instance_status.name": "Term", - "entityType.simple_item_details.tenant_id": "Tenant ID", - "entityType.simple_holdings_records.tenant_id": "Tenant ID", - "entityType.simple_instance.format_names": "Format names", - "entityType.simple_instance.mode_of_issuance_name": "Mode of issuance", - "entityType.simple_mode_of_issuance": "Mode of issuance", + "entityType.simple_instance_status.name": "术语", + "entityType.simple_item_details.tenant_id": "租户ID", + "entityType.simple_holdings_records.tenant_id": "租户ID", + "entityType.simple_instance.format_names": "格式名称", + "entityType.simple_instance.mode_of_issuance_name": "发行方式", + "entityType.simple_mode_of_issuance": "发行方式", "entityType.simple_mode_of_issuance.id": "UUID", - "entityType.simple_mode_of_issuance.name": "Name", - "entityType.simple_instance.instance_type_name": "Resource type", - "entityType.composite_purchase_order_lines._shortened": "POL", - "entityType.simple_organization._shortened": "Orgs", - "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID" + "entityType.simple_mode_of_issuance.name": "名称", + "entityType.simple_instance.instance_type_name": "资源类型", + "entityType.composite_purchase_order_lines._shortened": "订单行", + "entityType.simple_organization._shortened": "组织", + "entityType.simple_instance.alternative_titles_ids": "交替题名 - 类型UUID", + "entityType.simple_instance.contributor_type_id": "贡献者类型UUID", + "entityType.simple_instance.contributors_name": "贡献者名称", + "entityType.simple_instance.contributor_type_text": "贡献者类型", + "entityType.simple_instance.contributor_name_type_id": "贡献者名称类型UUID", + "entityType.simple_instance.contributor_name_type": "贡献者名称类型", + "entityType.simple_instance.instance_primary_contributor": "主要贡献者", + "entityType.simple_instance.classification_type_ids": "分类类型UUID", + "entityType.simple_instance.classification_type_names": "分类标识符类型", + "entityType.simple_instance.classification_numbers": "分类", + "entityType.composite_instances.date_type": "Instance date type", + "entityType.simple_instance.instance_date_1": "Date 1", + "entityType.simple_instance.instance_date_2": "Date 2", + "entityType.simple_instance.instance_date_type_id": "Date type ID", + "entityType.simple_instance_date_type": "Instance date type", + "entityType.simple_instance_date_type.id": "ID", + "entityType.simple_instance_date_type.name": "Name", + "entityType.simple_instance_date_type.code": "Code" } \ No newline at end of file diff --git a/translations/mod-fqm-manager/zh_TW.json b/translations/mod-fqm-manager/zh_TW.json index 714453dd..b4b4b6e0 100644 --- a/translations/mod-fqm-manager/zh_TW.json +++ b/translations/mod-fqm-manager/zh_TW.json @@ -700,23 +700,7 @@ "entityType.simple_instance.administrative_notes": "Administrative notes", "entityType.simple_instance.alternative_titles": "Alternative titles", "entityType.simple_instance.cataloged_date": "Cataloged date", - "entityType.simple_instance.classifications": "Classifications", - "entityType.simple_instance.classifications.number": "Number", - "entityType.simple_instance.classifications.number._qualified": "Classification number", - "entityType.simple_instance.classifications.type_id": "Type UUID", - "entityType.simple_instance.classifications.type_id._qualified": "Classification type UUID", "entityType.simple_instance.complete_updated_date": "Complete updated date", - "entityType.simple_instance.contributors": "Contributors", - "entityType.simple_instance.contributors.contributor_name_type_id": "Contributor name type UUID", - "entityType.simple_instance.contributors.contributor_name_type_id._qualified": "Contributors contributor name type UUID", - "entityType.simple_instance.contributors.contributor_type_id": "Contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_id._qualified": "Contributors contributor type UUID", - "entityType.simple_instance.contributors.contributor_type_text": "Contributor type text", - "entityType.simple_instance.contributors.contributor_type_text._qualified": "Contributors contributor type text", - "entityType.simple_instance.contributors.name": "Name", - "entityType.simple_instance.contributors.name._qualified": "Contributors name", - "entityType.simple_instance.contributors.primary": "Primary", - "entityType.simple_instance.contributors.primary._qualified": "Contributors primary", "entityType.simple_instance.created_at": "Created date", "entityType.simple_instance.created_by": "Created by user UUID", "entityType.simple_instance.discovery_suppress": "Discovery suppress", @@ -765,8 +749,6 @@ "entityType.simple_instance.publication.role": "Role", "entityType.simple_instance.publication.role._qualified": "Publication role", "entityType.simple_instance.publication_frequency": "Publication frequency", - "entityType.simple_instance.publication_period_end": "Publication end year", - "entityType.simple_instance.publication_period_start": "Publication start year", "entityType.simple_instance.publication_range": "Publication range", "entityType.simple_instance.series": "Series", "entityType.simple_instance.source": "Source", @@ -1481,5 +1463,22 @@ "entityType.simple_instance.instance_type_name": "Resource type", "entityType.composite_purchase_order_lines._shortened": "POL", "entityType.simple_organization._shortened": "Orgs", - "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID" + "entityType.simple_instance.alternative_titles_ids": "Alternative titles - Type UUID", + "entityType.simple_instance.contributor_type_id": "Contributor type UUID", + "entityType.simple_instance.contributors_name": "Contributor name", + "entityType.simple_instance.contributor_type_text": "Contributor type", + "entityType.simple_instance.contributor_name_type_id": "Contributor name type UUID", + "entityType.simple_instance.contributor_name_type": "Contributor name type", + "entityType.simple_instance.instance_primary_contributor": "Primary contributor", + "entityType.simple_instance.classification_type_ids": "Classification type UUIDs", + "entityType.simple_instance.classification_type_names": "Classification identifier type", + "entityType.simple_instance.classification_numbers": "Classification", + "entityType.composite_instances.date_type": "Instance date type", + "entityType.simple_instance.instance_date_1": "Date 1", + "entityType.simple_instance.instance_date_2": "Date 2", + "entityType.simple_instance.instance_date_type_id": "Date type ID", + "entityType.simple_instance_date_type": "Instance date type", + "entityType.simple_instance_date_type.id": "ID", + "entityType.simple_instance_date_type.name": "Name", + "entityType.simple_instance_date_type.code": "Code" } \ No newline at end of file