Built motion from commit 6a09e18b.|2.6.11
[motion2.git] / legacy-libs / google-proto-files / google / cloud / talent / v4beta1 / company_service.proto
diff --git a/legacy-libs/google-proto-files/google/cloud/talent/v4beta1/company_service.proto b/legacy-libs/google-proto-files/google/cloud/talent/v4beta1/company_service.proto
new file mode 100644 (file)
index 0000000..74a0184
--- /dev/null
@@ -0,0 +1,179 @@
+// Copyright 2019 Google LLC.
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+//     http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+//
+
+syntax = "proto3";
+
+package google.cloud.talent.v4beta1;
+
+import "google/api/annotations.proto";
+import "google/cloud/talent/v4beta1/common.proto";
+import "google/cloud/talent/v4beta1/company.proto";
+import "google/protobuf/empty.proto";
+import "google/protobuf/field_mask.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/cloud/talent/v4beta1;talent";
+option java_multiple_files = true;
+option java_outer_classname = "CompanyServiceProto";
+option java_package = "com.google.cloud.talent.v4beta1";
+option objc_class_prefix = "CTS";
+
+// A service that handles company management, including CRUD and enumeration.
+service CompanyService {
+  // Creates a new company entity.
+  rpc CreateCompany(CreateCompanyRequest) returns (Company) {
+    option (google.api.http) = {
+      post: "/v4beta1/{parent=projects/*}/companies"
+      body: "*"
+    };
+  }
+
+  // Retrieves specified company.
+  rpc GetCompany(GetCompanyRequest) returns (Company) {
+    option (google.api.http) = {
+      get: "/v4beta1/{name=projects/*/companies/*}"
+    };
+  }
+
+  // Updates specified company.
+  rpc UpdateCompany(UpdateCompanyRequest) returns (Company) {
+    option (google.api.http) = {
+      patch: "/v4beta1/{company.name=projects/*/companies/*}"
+      body: "*"
+    };
+  }
+
+  // Deletes specified company.
+  // Prerequisite: The company has no jobs associated with it.
+  rpc DeleteCompany(DeleteCompanyRequest) returns (google.protobuf.Empty) {
+    option (google.api.http) = {
+      delete: "/v4beta1/{name=projects/*/companies/*}"
+    };
+  }
+
+  // Lists all companies associated with the project.
+  rpc ListCompanies(ListCompaniesRequest) returns (ListCompaniesResponse) {
+    option (google.api.http) = {
+      get: "/v4beta1/{parent=projects/*}/companies"
+    };
+  }
+}
+
+// The Request of the CreateCompany method.
+message CreateCompanyRequest {
+  // Required.
+  //
+  // Resource name of the project under which the company is created.
+  //
+  // The format is "projects/{project_id}", for example,
+  // "projects/api-test-project".
+  string parent = 1;
+
+  // Required.
+  //
+  // The company to be created.
+  Company company = 2;
+}
+
+// Request for getting a company by name.
+message GetCompanyRequest {
+  // Required.
+  //
+  // The resource name of the company to be retrieved.
+  //
+  // The format is "projects/{project_id}/companies/{company_id}", for example,
+  // "projects/api-test-project/companies/foo".
+  string name = 1;
+}
+
+// Request for updating a specified company.
+message UpdateCompanyRequest {
+  // Required.
+  //
+  // The company resource to replace the current resource in the system.
+  Company company = 1;
+
+  // Optional but strongly recommended for the best service
+  // experience.
+  //
+  // If
+  // [update_mask][google.cloud.talent.v4beta1.UpdateCompanyRequest.update_mask]
+  // is provided, only the specified fields in
+  // [company][google.cloud.talent.v4beta1.UpdateCompanyRequest.company] are
+  // updated. Otherwise all the fields are updated.
+  //
+  // A field mask to specify the company fields to be updated. Only
+  // top level fields of [Company][google.cloud.talent.v4beta1.Company] are
+  // supported.
+  google.protobuf.FieldMask update_mask = 2;
+}
+
+// Request to delete a company.
+message DeleteCompanyRequest {
+  // Required.
+  //
+  // The resource name of the company to be deleted.
+  //
+  // The format is "projects/{project_id}/companies/{company_id}", for example,
+  // "projects/api-test-project/companies/foo".
+  string name = 1;
+}
+
+// List companies for which the client has ACL visibility.
+message ListCompaniesRequest {
+  // Required.
+  //
+  // Resource name of the project under which the company is created.
+  //
+  // The format is "projects/{project_id}", for example,
+  // "projects/api-test-project".
+  string parent = 1;
+
+  // Optional.
+  //
+  // The starting indicator from which to return results.
+  string page_token = 2;
+
+  // Optional.
+  //
+  // The maximum number of companies to be returned, at most 100.
+  // Default is 100 if a non-positive number is provided.
+  int32 page_size = 3;
+
+  // Optional.
+  //
+  // Set to true if the companies requested must have open jobs.
+  //
+  // Defaults to false.
+  //
+  // If true, at most
+  // [page_size][google.cloud.talent.v4beta1.ListCompaniesRequest.page_size] of
+  // companies are fetched, among which only those with open jobs are returned.
+  bool require_open_jobs = 4;
+}
+
+// Output only.
+//
+// The List companies response object.
+message ListCompaniesResponse {
+  // Companies for the current client.
+  repeated Company companies = 1;
+
+  // A token to retrieve the next page of results.
+  string next_page_token = 2;
+
+  // Additional information for the API invocation, such as the request
+  // tracking id.
+  ResponseMetadata metadata = 3;
+}