diff --git a/packages/google-cloud-talent/protos/google/cloud/talent/v4/common.proto b/packages/google-cloud-talent/protos/google/cloud/talent/v4/common.proto index d187a17f8d3..d43e013fc4e 100644 --- a/packages/google-cloud-talent/protos/google/cloud/talent/v4/common.proto +++ b/packages/google-cloud-talent/protos/google/cloud/talent/v4/common.proto @@ -404,7 +404,8 @@ enum HtmlSanitization { SIMPLE_FORMATTING_ONLY = 2; } -// Method for commute. +// Method for commute. Walking, biking and wheelchair accessible transit is +// still in the Preview stage. enum CommuteMethod { // Commute method isn't specified. COMMUTE_METHOD_UNSPECIFIED = 0; @@ -415,6 +416,16 @@ enum CommuteMethod { // Commute time is calculated based on public transit including bus, metro, // subway, and so on. TRANSIT = 2; + + // Commute time is calculated based on walking time. + WALKING = 3; + + // Commute time is calculated based on biking time. + CYCLING = 4; + + // Commute time is calculated based on public transit that is wheelchair + // accessible. + TRANSIT_ACCESSIBLE = 5; } // A resource that represents a location with full geographic information. diff --git a/packages/google-cloud-talent/protos/google/cloud/talent/v4/filters.proto b/packages/google-cloud-talent/protos/google/cloud/talent/v4/filters.proto index a0063cab27e..5ead1a7c3cc 100644 --- a/packages/google-cloud-talent/protos/google/cloud/talent/v4/filters.proto +++ b/packages/google-cloud-talent/protos/google/cloud/talent/v4/filters.proto @@ -131,7 +131,7 @@ message JobQuery { // Boolean expressions (AND/OR/NOT) are supported up to 3 levels of // nesting (for example, "((A AND B AND C) OR NOT D) AND E"), a maximum of 100 // comparisons or functions are allowed in the expression. The expression - // must be < 6000 bytes in length. + // must be < 10000 bytes in length. // // Sample Query: // `(LOWER(driving_license)="class \"a\"" OR EMPTY(driving_license)) AND @@ -196,16 +196,20 @@ message LocationFilter { // The address name, such as "Mountain View" or "Bay Area". string address = 1; - // CLDR region code of the country/region of the address. This is used - // to address ambiguity of the user-input location, for example, "Liverpool" - // against "Liverpool, NY, US" or "Liverpool, UK". + // CLDR region code of the country/region. This field may be used in two ways: // - // Set this field to bias location resolution toward a specific country - // or territory. If this field is not set, application behavior is biased - // toward the United States by default. + // 1) If telecommute preference is not set, this field is used address + // ambiguity of the user-input address. For example, "Liverpool" may refer to + // "Liverpool, NY, US" or "Liverpool, UK". This region code biases the + // address resolution toward a specific country or territory. If this field is + // not set, address resolution is biased toward the United States by default. + // + // 2) If telecommute preference is set to TELECOMMUTE_ALLOWED, the + // telecommute location filter will be limited to the region specified in this + // field. If this field is not set, the telecommute job locations will not be // // See - // https://www.unicode.org/cldr/charts/30/supplemental/territory_information.html + // https://unicode-org.github.io/cldr-staging/charts/latest/supplemental/territory_information.html // for details. Example: "CH" for Switzerland. string region_code = 2; diff --git a/packages/google-cloud-talent/protos/google/cloud/talent/v4/job.proto b/packages/google-cloud-talent/protos/google/cloud/talent/v4/job.proto index 4c24f4307e6..f3a3a2776ea 100644 --- a/packages/google-cloud-talent/protos/google/cloud/talent/v4/job.proto +++ b/packages/google-cloud-talent/protos/google/cloud/talent/v4/job.proto @@ -161,6 +161,15 @@ message Job { // suggested to group the locations that close to each other in the same job // for better search experience. // + // Jobs with multiple addresses must have their addresses with the same + // [LocationType][] to allow location filtering to work properly. (For + // example, a Job with addresses "1600 Amphitheatre Parkway, Mountain View, + // CA, USA" and "London, UK" may not have location filters applied correctly + // at search time since the first is a [LocationType.STREET_ADDRESS][] and the + // second is a [LocationType.LOCALITY][].) If a job needs to have multiple + // addresses, it is suggested to split it into multiple jobs with same + // LocationTypes. + // // The maximum number of allowed characters is 500. repeated string addresses = 6; diff --git a/packages/google-cloud-talent/protos/google/cloud/talent/v4/job_service.proto b/packages/google-cloud-talent/protos/google/cloud/talent/v4/job_service.proto index 376429277a0..beb80176497 100644 --- a/packages/google-cloud-talent/protos/google/cloud/talent/v4/job_service.proto +++ b/packages/google-cloud-talent/protos/google/cloud/talent/v4/job_service.proto @@ -246,11 +246,14 @@ message ListJobsRequest { // // The fields eligible for filtering are: // - // * `companyName` (Required) + // * `companyName` // * `requisitionId` // * `status` Available values: OPEN, EXPIRED, ALL. Defaults to // OPEN if no value is specified. // + // At least one of `companyName` and `requisitionId` must present or an + // INVALID_ARGUMENT error is thrown. + // // Sample Query: // // * companyName = "projects/foo/tenants/bar/companies/baz" @@ -258,6 +261,8 @@ message ListJobsRequest { // requisitionId = "req-1" // * companyName = "projects/foo/tenants/bar/companies/baz" AND // status = "EXPIRED" + // * requisitionId = "req-1" + // * requisitionId = "req-1" AND status = "EXPIRED" string filter = 2 [(google.api.field_behavior) = REQUIRED]; // The starting point of a query result. @@ -501,6 +506,9 @@ message SearchJobsRequest { // "FULL_TIME", "PART_TIME". // * company_size: histogram by [CompanySize][google.cloud.talent.v4.CompanySize], for example, "SMALL", // "MEDIUM", "BIG". + // * publish_time_in_day: histogram by the [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time] + // in days. + // Must specify list of numeric buckets in spec. // * publish_time_in_month: histogram by the [Job.posting_publish_time][google.cloud.talent.v4.Job.posting_publish_time] // in months. // Must specify list of numeric buckets in spec. @@ -554,7 +562,7 @@ message SearchJobsRequest { // bucket(100000, MAX)])` // * `count(string_custom_attribute["some-string-custom-attribute"])` // * `count(numeric_custom_attribute["some-numeric-custom-attribute"], - // [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative"])` + // [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative")])` repeated HistogramQuery histogram_queries = 7; // The desired job attributes returned for jobs in the search response. diff --git a/packages/google-cloud-talent/protos/protos.d.ts b/packages/google-cloud-talent/protos/protos.d.ts index 0d0aab87639..d1be213b7d7 100644 --- a/packages/google-cloud-talent/protos/protos.d.ts +++ b/packages/google-cloud-talent/protos/protos.d.ts @@ -250,7 +250,10 @@ export namespace google { enum CommuteMethod { COMMUTE_METHOD_UNSPECIFIED = 0, DRIVING = 1, - TRANSIT = 2 + TRANSIT = 2, + WALKING = 3, + CYCLING = 4, + TRANSIT_ACCESSIBLE = 5 } /** Properties of a Location. */ diff --git a/packages/google-cloud-talent/protos/protos.js b/packages/google-cloud-talent/protos/protos.js index 02d373079e8..51b6ce1afd2 100644 --- a/packages/google-cloud-talent/protos/protos.js +++ b/packages/google-cloud-talent/protos/protos.js @@ -559,12 +559,18 @@ * @property {number} COMMUTE_METHOD_UNSPECIFIED=0 COMMUTE_METHOD_UNSPECIFIED value * @property {number} DRIVING=1 DRIVING value * @property {number} TRANSIT=2 TRANSIT value + * @property {number} WALKING=3 WALKING value + * @property {number} CYCLING=4 CYCLING value + * @property {number} TRANSIT_ACCESSIBLE=5 TRANSIT_ACCESSIBLE value */ v4.CommuteMethod = (function() { var valuesById = {}, values = Object.create(valuesById); values[valuesById[0] = "COMMUTE_METHOD_UNSPECIFIED"] = 0; values[valuesById[1] = "DRIVING"] = 1; values[valuesById[2] = "TRANSIT"] = 2; + values[valuesById[3] = "WALKING"] = 3; + values[valuesById[4] = "CYCLING"] = 4; + values[valuesById[5] = "TRANSIT_ACCESSIBLE"] = 5; return values; })(); @@ -9488,6 +9494,9 @@ case 0: case 1: case 2: + case 3: + case 4: + case 5: break; } if (message.startCoordinates != null && message.hasOwnProperty("startCoordinates")) { @@ -9552,6 +9561,18 @@ case 2: message.commuteMethod = 2; break; + case "WALKING": + case 3: + message.commuteMethod = 3; + break; + case "CYCLING": + case 4: + message.commuteMethod = 4; + break; + case "TRANSIT_ACCESSIBLE": + case 5: + message.commuteMethod = 5; + break; } if (object.startCoordinates != null) { if (typeof object.startCoordinates !== "object") diff --git a/packages/google-cloud-talent/protos/protos.json b/packages/google-cloud-talent/protos/protos.json index 4b588e59650..7999da1930b 100644 --- a/packages/google-cloud-talent/protos/protos.json +++ b/packages/google-cloud-talent/protos/protos.json @@ -158,7 +158,10 @@ "values": { "COMMUTE_METHOD_UNSPECIFIED": 0, "DRIVING": 1, - "TRANSIT": 2 + "TRANSIT": 2, + "WALKING": 3, + "CYCLING": 4, + "TRANSIT_ACCESSIBLE": 5 } }, "Location": { diff --git a/packages/google-cloud-talent/src/v4/job_service_client.ts b/packages/google-cloud-talent/src/v4/job_service_client.ts index 15dfdbb187c..2b97a269ade 100644 --- a/packages/google-cloud-talent/src/v4/job_service_client.ts +++ b/packages/google-cloud-talent/src/v4/job_service_client.ts @@ -840,6 +840,9 @@ export class JobServiceClient { * "FULL_TIME", "PART_TIME". * * company_size: histogram by {@link google.cloud.talent.v4.CompanySize|CompanySize}, for example, "SMALL", * "MEDIUM", "BIG". + * * publish_time_in_day: histogram by the {@link google.cloud.talent.v4.Job.posting_publish_time|Job.posting_publish_time} + * in days. + * Must specify list of numeric buckets in spec. * * publish_time_in_month: histogram by the {@link google.cloud.talent.v4.Job.posting_publish_time|Job.posting_publish_time} * in months. * Must specify list of numeric buckets in spec. @@ -893,7 +896,7 @@ export class JobServiceClient { * bucket(100000, MAX)])` * * `count(string_custom_attribute["some-string-custom-attribute"])` * * `count(numeric_custom_attribute["some-numeric-custom-attribute"], - * [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative"])` + * [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative")])` * @param {google.cloud.talent.v4.JobView} request.jobView * The desired job attributes returned for jobs in the search response. * Defaults to {@link google.cloud.talent.v4.JobView.JOB_VIEW_SMALL|JobView.JOB_VIEW_SMALL} if no value is specified. @@ -1149,6 +1152,9 @@ export class JobServiceClient { * "FULL_TIME", "PART_TIME". * * company_size: histogram by {@link google.cloud.talent.v4.CompanySize|CompanySize}, for example, "SMALL", * "MEDIUM", "BIG". + * * publish_time_in_day: histogram by the {@link google.cloud.talent.v4.Job.posting_publish_time|Job.posting_publish_time} + * in days. + * Must specify list of numeric buckets in spec. * * publish_time_in_month: histogram by the {@link google.cloud.talent.v4.Job.posting_publish_time|Job.posting_publish_time} * in months. * Must specify list of numeric buckets in spec. @@ -1202,7 +1208,7 @@ export class JobServiceClient { * bucket(100000, MAX)])` * * `count(string_custom_attribute["some-string-custom-attribute"])` * * `count(numeric_custom_attribute["some-numeric-custom-attribute"], - * [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative"])` + * [bucket(MIN, 0, "negative"), bucket(0, MAX, "non-negative")])` * @param {google.cloud.talent.v4.JobView} request.jobView * The desired job attributes returned for jobs in the search response. * Defaults to {@link google.cloud.talent.v4.JobView.JOB_VIEW_SMALL|JobView.JOB_VIEW_SMALL} if no value is specified. @@ -1865,11 +1871,14 @@ export class JobServiceClient { * * The fields eligible for filtering are: * - * * `companyName` (Required) + * * `companyName` * * `requisitionId` * * `status` Available values: OPEN, EXPIRED, ALL. Defaults to * OPEN if no value is specified. * + * At least one of `companyName` and `requisitionId` must present or an + * INVALID_ARGUMENT error is thrown. + * * Sample Query: * * * companyName = "projects/foo/tenants/bar/companies/baz" @@ -1877,6 +1886,8 @@ export class JobServiceClient { * requisitionId = "req-1" * * companyName = "projects/foo/tenants/bar/companies/baz" AND * status = "EXPIRED" + * * requisitionId = "req-1" + * * requisitionId = "req-1" AND status = "EXPIRED" * @param {string} request.pageToken * The starting point of a query result. * @param {number} request.pageSize @@ -1959,11 +1970,14 @@ export class JobServiceClient { * * The fields eligible for filtering are: * - * * `companyName` (Required) + * * `companyName` * * `requisitionId` * * `status` Available values: OPEN, EXPIRED, ALL. Defaults to * OPEN if no value is specified. * + * At least one of `companyName` and `requisitionId` must present or an + * INVALID_ARGUMENT error is thrown. + * * Sample Query: * * * companyName = "projects/foo/tenants/bar/companies/baz" @@ -1971,6 +1985,8 @@ export class JobServiceClient { * requisitionId = "req-1" * * companyName = "projects/foo/tenants/bar/companies/baz" AND * status = "EXPIRED" + * * requisitionId = "req-1" + * * requisitionId = "req-1" AND status = "EXPIRED" * @param {string} request.pageToken * The starting point of a query result. * @param {number} request.pageSize @@ -2035,11 +2051,14 @@ export class JobServiceClient { * * The fields eligible for filtering are: * - * * `companyName` (Required) + * * `companyName` * * `requisitionId` * * `status` Available values: OPEN, EXPIRED, ALL. Defaults to * OPEN if no value is specified. * + * At least one of `companyName` and `requisitionId` must present or an + * INVALID_ARGUMENT error is thrown. + * * Sample Query: * * * companyName = "projects/foo/tenants/bar/companies/baz" @@ -2047,6 +2066,8 @@ export class JobServiceClient { * requisitionId = "req-1" * * companyName = "projects/foo/tenants/bar/companies/baz" AND * status = "EXPIRED" + * * requisitionId = "req-1" + * * requisitionId = "req-1" AND status = "EXPIRED" * @param {string} request.pageToken * The starting point of a query result. * @param {number} request.pageSize