From 9e33cbe29b70b87f27c47bcdf95a8c7bebd33717 Mon Sep 17 00:00:00 2001 From: Antoine Grondin Date: Tue, 28 Oct 2025 14:38:23 +0900 Subject: [PATCH] validate project returns whole status --- go/svc/project/v1/service.pb.go | 78 +++++++++++++++--------------- js/svc/project/v1/service_pb.ts | 8 +-- proto/svc/project/v1/service.proto | 2 +- 3 files changed, 45 insertions(+), 43 deletions(-) diff --git a/go/svc/project/v1/service.pb.go b/go/svc/project/v1/service.pb.go index 9300140..fdaeef2 100644 --- a/go/svc/project/v1/service.pb.go +++ b/go/svc/project/v1/service.pb.go @@ -173,7 +173,7 @@ func (x *ValidateProjectRequest) GetSpec() *v1.ProjectSpec { type ValidateProjectResponse struct { state protoimpl.MessageState `protogen:"open.v1"` - Warnings []string `protobuf:"bytes,1,rep,name=warnings,proto3" json:"warnings,omitempty"` + Status *v1.ProjectStatus `protobuf:"bytes,1,opt,name=status,proto3" json:"status,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } @@ -208,9 +208,9 @@ func (*ValidateProjectResponse) Descriptor() ([]byte, []int) { return file_svc_project_v1_service_proto_rawDescGZIP(), []int{3} } -func (x *ValidateProjectResponse) GetWarnings() []string { +func (x *ValidateProjectResponse) GetStatus() *v1.ProjectStatus { if x != nil { - return x.Warnings + return x.Status } return nil } @@ -783,9 +783,9 @@ const file_svc_project_v1_service_proto_rawDesc = "" + "\aproject\x18\x01 \x01(\v2\x11.types.v1.ProjectR\aproject\"r\n" + "\x16ValidateProjectRequest\x12%\n" + "\x0eenvironment_id\x18e \x01(\x03R\renvironmentId\x121\n" + - "\x04spec\x18\x01 \x01(\v2\x15.types.v1.ProjectSpecB\x06\xbaH\x03\xc8\x01\x01R\x04spec\"5\n" + - "\x17ValidateProjectResponse\x12\x1a\n" + - "\bwarnings\x18\x01 \x03(\tR\bwarnings\"V\n" + + "\x04spec\x18\x01 \x01(\v2\x15.types.v1.ProjectSpecB\x06\xbaH\x03\xc8\x01\x01R\x04spec\"J\n" + + "\x17ValidateProjectResponse\x12/\n" + + "\x06status\x18\x01 \x01(\v2\x17.types.v1.ProjectStatusR\x06status\"V\n" + "\x11GetProjectRequest\x12%\n" + "\x0eenvironment_id\x18e \x01(\x03R\renvironmentId\x12\x1a\n" + "\x04name\x18\x01 \x01(\tB\x06\xbaH\x03\xc8\x01\x01R\x04name\"\xaf\x01\n" + @@ -861,43 +861,45 @@ var file_svc_project_v1_service_proto_goTypes = []any{ (*ListProjectResponse_ListItem)(nil), // 14: svc.project.v1.ListProjectResponse.ListItem (*v1.ProjectSpec)(nil), // 15: types.v1.ProjectSpec (*v1.Project)(nil), // 16: types.v1.Project - (*v1.Dashboard)(nil), // 17: types.v1.Dashboard - (*v1.AlertGroup)(nil), // 18: types.v1.AlertGroup - (*v1.Cursor)(nil), // 19: types.v1.Cursor + (*v1.ProjectStatus)(nil), // 17: types.v1.ProjectStatus + (*v1.Dashboard)(nil), // 18: types.v1.Dashboard + (*v1.AlertGroup)(nil), // 19: types.v1.AlertGroup + (*v1.Cursor)(nil), // 20: types.v1.Cursor } var file_svc_project_v1_service_proto_depIdxs = []int32{ 15, // 0: svc.project.v1.CreateProjectRequest.spec:type_name -> types.v1.ProjectSpec 16, // 1: svc.project.v1.CreateProjectResponse.project:type_name -> types.v1.Project 15, // 2: svc.project.v1.ValidateProjectRequest.spec:type_name -> types.v1.ProjectSpec - 16, // 3: svc.project.v1.GetProjectResponse.project:type_name -> types.v1.Project - 17, // 4: svc.project.v1.GetProjectResponse.dashboards:type_name -> types.v1.Dashboard - 18, // 5: svc.project.v1.GetProjectResponse.alert_groups:type_name -> types.v1.AlertGroup - 15, // 6: svc.project.v1.UpdateProjectRequest.spec:type_name -> types.v1.ProjectSpec - 16, // 7: svc.project.v1.UpdateProjectResponse.project:type_name -> types.v1.Project - 19, // 8: svc.project.v1.ListProjectRequest.cursor:type_name -> types.v1.Cursor - 19, // 9: svc.project.v1.ListProjectResponse.next:type_name -> types.v1.Cursor - 14, // 10: svc.project.v1.ListProjectResponse.items:type_name -> svc.project.v1.ListProjectResponse.ListItem - 16, // 11: svc.project.v1.SyncProjectResponse.project:type_name -> types.v1.Project - 16, // 12: svc.project.v1.ListProjectResponse.ListItem.project:type_name -> types.v1.Project - 0, // 13: svc.project.v1.ProjectService.CreateProject:input_type -> svc.project.v1.CreateProjectRequest - 2, // 14: svc.project.v1.ProjectService.ValidateProject:input_type -> svc.project.v1.ValidateProjectRequest - 4, // 15: svc.project.v1.ProjectService.GetProject:input_type -> svc.project.v1.GetProjectRequest - 6, // 16: svc.project.v1.ProjectService.UpdateProject:input_type -> svc.project.v1.UpdateProjectRequest - 8, // 17: svc.project.v1.ProjectService.DeleteProject:input_type -> svc.project.v1.DeleteProjectRequest - 10, // 18: svc.project.v1.ProjectService.ListProject:input_type -> svc.project.v1.ListProjectRequest - 12, // 19: svc.project.v1.ProjectService.SyncProject:input_type -> svc.project.v1.SyncProjectRequest - 1, // 20: svc.project.v1.ProjectService.CreateProject:output_type -> svc.project.v1.CreateProjectResponse - 3, // 21: svc.project.v1.ProjectService.ValidateProject:output_type -> svc.project.v1.ValidateProjectResponse - 5, // 22: svc.project.v1.ProjectService.GetProject:output_type -> svc.project.v1.GetProjectResponse - 7, // 23: svc.project.v1.ProjectService.UpdateProject:output_type -> svc.project.v1.UpdateProjectResponse - 9, // 24: svc.project.v1.ProjectService.DeleteProject:output_type -> svc.project.v1.DeleteProjectResponse - 11, // 25: svc.project.v1.ProjectService.ListProject:output_type -> svc.project.v1.ListProjectResponse - 13, // 26: svc.project.v1.ProjectService.SyncProject:output_type -> svc.project.v1.SyncProjectResponse - 20, // [20:27] is the sub-list for method output_type - 13, // [13:20] is the sub-list for method input_type - 13, // [13:13] is the sub-list for extension type_name - 13, // [13:13] is the sub-list for extension extendee - 0, // [0:13] is the sub-list for field type_name + 17, // 3: svc.project.v1.ValidateProjectResponse.status:type_name -> types.v1.ProjectStatus + 16, // 4: svc.project.v1.GetProjectResponse.project:type_name -> types.v1.Project + 18, // 5: svc.project.v1.GetProjectResponse.dashboards:type_name -> types.v1.Dashboard + 19, // 6: svc.project.v1.GetProjectResponse.alert_groups:type_name -> types.v1.AlertGroup + 15, // 7: svc.project.v1.UpdateProjectRequest.spec:type_name -> types.v1.ProjectSpec + 16, // 8: svc.project.v1.UpdateProjectResponse.project:type_name -> types.v1.Project + 20, // 9: svc.project.v1.ListProjectRequest.cursor:type_name -> types.v1.Cursor + 20, // 10: svc.project.v1.ListProjectResponse.next:type_name -> types.v1.Cursor + 14, // 11: svc.project.v1.ListProjectResponse.items:type_name -> svc.project.v1.ListProjectResponse.ListItem + 16, // 12: svc.project.v1.SyncProjectResponse.project:type_name -> types.v1.Project + 16, // 13: svc.project.v1.ListProjectResponse.ListItem.project:type_name -> types.v1.Project + 0, // 14: svc.project.v1.ProjectService.CreateProject:input_type -> svc.project.v1.CreateProjectRequest + 2, // 15: svc.project.v1.ProjectService.ValidateProject:input_type -> svc.project.v1.ValidateProjectRequest + 4, // 16: svc.project.v1.ProjectService.GetProject:input_type -> svc.project.v1.GetProjectRequest + 6, // 17: svc.project.v1.ProjectService.UpdateProject:input_type -> svc.project.v1.UpdateProjectRequest + 8, // 18: svc.project.v1.ProjectService.DeleteProject:input_type -> svc.project.v1.DeleteProjectRequest + 10, // 19: svc.project.v1.ProjectService.ListProject:input_type -> svc.project.v1.ListProjectRequest + 12, // 20: svc.project.v1.ProjectService.SyncProject:input_type -> svc.project.v1.SyncProjectRequest + 1, // 21: svc.project.v1.ProjectService.CreateProject:output_type -> svc.project.v1.CreateProjectResponse + 3, // 22: svc.project.v1.ProjectService.ValidateProject:output_type -> svc.project.v1.ValidateProjectResponse + 5, // 23: svc.project.v1.ProjectService.GetProject:output_type -> svc.project.v1.GetProjectResponse + 7, // 24: svc.project.v1.ProjectService.UpdateProject:output_type -> svc.project.v1.UpdateProjectResponse + 9, // 25: svc.project.v1.ProjectService.DeleteProject:output_type -> svc.project.v1.DeleteProjectResponse + 11, // 26: svc.project.v1.ProjectService.ListProject:output_type -> svc.project.v1.ListProjectResponse + 13, // 27: svc.project.v1.ProjectService.SyncProject:output_type -> svc.project.v1.SyncProjectResponse + 21, // [21:28] is the sub-list for method output_type + 14, // [14:21] is the sub-list for method input_type + 14, // [14:14] is the sub-list for extension type_name + 14, // [14:14] is the sub-list for extension extendee + 0, // [0:14] is the sub-list for field type_name } func init() { file_svc_project_v1_service_proto_init() } diff --git a/js/svc/project/v1/service_pb.ts b/js/svc/project/v1/service_pb.ts index 2a339f5..0fc23e8 100644 --- a/js/svc/project/v1/service_pb.ts +++ b/js/svc/project/v1/service_pb.ts @@ -11,7 +11,7 @@ import type { Cursor } from "../../../types/v1/cursor_pb"; import { file_types_v1_cursor } from "../../../types/v1/cursor_pb"; import type { Dashboard } from "../../../types/v1/dashboard_pb"; import { file_types_v1_dashboard } from "../../../types/v1/dashboard_pb"; -import type { Project, ProjectSpec } from "../../../types/v1/project_pb"; +import type { Project, ProjectSpec, ProjectStatus } from "../../../types/v1/project_pb"; import { file_types_v1_project } from "../../../types/v1/project_pb"; import type { Message } from "@bufbuild/protobuf"; @@ -19,7 +19,7 @@ import type { Message } from "@bufbuild/protobuf"; * Describes the file svc/project/v1/service.proto. */ export const file_svc_project_v1_service: GenFile = /*@__PURE__*/ - fileDesc("ChxzdmMvcHJvamVjdC92MS9zZXJ2aWNlLnByb3RvEg5zdmMucHJvamVjdC52MSJbChRDcmVhdGVQcm9qZWN0UmVxdWVzdBIWCg5lbnZpcm9ubWVudF9pZBhlIAEoAxIrCgRzcGVjGAEgASgLMhUudHlwZXMudjEuUHJvamVjdFNwZWNCBrpIA8gBASI7ChVDcmVhdGVQcm9qZWN0UmVzcG9uc2USIgoHcHJvamVjdBgBIAEoCzIRLnR5cGVzLnYxLlByb2plY3QiXQoWVmFsaWRhdGVQcm9qZWN0UmVxdWVzdBIWCg5lbnZpcm9ubWVudF9pZBhlIAEoAxIrCgRzcGVjGAEgASgLMhUudHlwZXMudjEuUHJvamVjdFNwZWNCBrpIA8gBASIrChdWYWxpZGF0ZVByb2plY3RSZXNwb25zZRIQCgh3YXJuaW5ncxgBIAMoCSJBChFHZXRQcm9qZWN0UmVxdWVzdBIWCg5lbnZpcm9ubWVudF9pZBhlIAEoAxIUCgRuYW1lGAEgASgJQga6SAPIAQEijQEKEkdldFByb2plY3RSZXNwb25zZRIiCgdwcm9qZWN0GAEgASgLMhEudHlwZXMudjEuUHJvamVjdBInCgpkYXNoYm9hcmRzGAIgAygLMhMudHlwZXMudjEuRGFzaGJvYXJkEioKDGFsZXJ0X2dyb3VwcxgDIAMoCzIULnR5cGVzLnYxLkFsZXJ0R3JvdXAicQoUVXBkYXRlUHJvamVjdFJlcXVlc3QSFgoOZW52aXJvbm1lbnRfaWQYZSABKAMSFAoEbmFtZRgBIAEoCUIGukgDyAEBEisKBHNwZWMYAiABKAsyFS50eXBlcy52MS5Qcm9qZWN0U3BlY0IGukgDyAEBIjsKFVVwZGF0ZVByb2plY3RSZXNwb25zZRIiCgdwcm9qZWN0GAEgASgLMhEudHlwZXMudjEuUHJvamVjdCJEChREZWxldGVQcm9qZWN0UmVxdWVzdBIWCg5lbnZpcm9ubWVudF9pZBhlIAEoAxIUCgRuYW1lGAEgASgJQga6SAPIAQEiFwoVRGVsZXRlUHJvamVjdFJlc3BvbnNlIl0KEkxpc3RQcm9qZWN0UmVxdWVzdBIWCg5lbnZpcm9ubWVudF9pZBhlIAEoAxIgCgZjdXJzb3IYASABKAsyEC50eXBlcy52MS5DdXJzb3ISDQoFbGltaXQYAiABKAUiogEKE0xpc3RQcm9qZWN0UmVzcG9uc2USHgoEbmV4dBgBIAEoCzIQLnR5cGVzLnYxLkN1cnNvchI7CgVpdGVtcxgCIAMoCzIsLnN2Yy5wcm9qZWN0LnYxLkxpc3RQcm9qZWN0UmVzcG9uc2UuTGlzdEl0ZW0aLgoITGlzdEl0ZW0SIgoHcHJvamVjdBgBIAEoCzIRLnR5cGVzLnYxLlByb2plY3QiQgoSU3luY1Byb2plY3RSZXF1ZXN0EhYKDmVudmlyb25tZW50X2lkGGUgASgDEhQKBG5hbWUYASABKAlCBrpIA8gBASI5ChNTeW5jUHJvamVjdFJlc3BvbnNlEiIKB3Byb2plY3QYASABKAsyES50eXBlcy52MS5Qcm9qZWN0MpMFCg5Qcm9qZWN0U2VydmljZRJcCg1DcmVhdGVQcm9qZWN0EiQuc3ZjLnByb2plY3QudjEuQ3JlYXRlUHJvamVjdFJlcXVlc3QaJS5zdmMucHJvamVjdC52MS5DcmVhdGVQcm9qZWN0UmVzcG9uc2USYgoPVmFsaWRhdGVQcm9qZWN0EiYuc3ZjLnByb2plY3QudjEuVmFsaWRhdGVQcm9qZWN0UmVxdWVzdBonLnN2Yy5wcm9qZWN0LnYxLlZhbGlkYXRlUHJvamVjdFJlc3BvbnNlElMKCkdldFByb2plY3QSIS5zdmMucHJvamVjdC52MS5HZXRQcm9qZWN0UmVxdWVzdBoiLnN2Yy5wcm9qZWN0LnYxLkdldFByb2plY3RSZXNwb25zZRJcCg1VcGRhdGVQcm9qZWN0EiQuc3ZjLnByb2plY3QudjEuVXBkYXRlUHJvamVjdFJlcXVlc3QaJS5zdmMucHJvamVjdC52MS5VcGRhdGVQcm9qZWN0UmVzcG9uc2USXAoNRGVsZXRlUHJvamVjdBIkLnN2Yy5wcm9qZWN0LnYxLkRlbGV0ZVByb2plY3RSZXF1ZXN0GiUuc3ZjLnByb2plY3QudjEuRGVsZXRlUHJvamVjdFJlc3BvbnNlElYKC0xpc3RQcm9qZWN0EiIuc3ZjLnByb2plY3QudjEuTGlzdFByb2plY3RSZXF1ZXN0GiMuc3ZjLnByb2plY3QudjEuTGlzdFByb2plY3RSZXNwb25zZRJWCgtTeW5jUHJvamVjdBIiLnN2Yy5wcm9qZWN0LnYxLlN5bmNQcm9qZWN0UmVxdWVzdBojLnN2Yy5wcm9qZWN0LnYxLlN5bmNQcm9qZWN0UmVzcG9uc2VCswEKEmNvbS5zdmMucHJvamVjdC52MUIMU2VydmljZVByb3RvUAFaNWdpdGh1Yi5jb20vaHVtYW5sb2dpby9hcGkvZ28vc3ZjL3Byb2plY3QvdjE7cHJvamVjdHYxogIDU1BYqgIOU3ZjLlByb2plY3QuVjHKAg5TdmNcUHJvamVjdFxWMeICGlN2Y1xQcm9qZWN0XFYxXEdQQk1ldGFkYXRh6gIQU3ZjOjpQcm9qZWN0OjpWMWIGcHJvdG8z", [file_buf_validate_validate, file_types_v1_alert, file_types_v1_cursor, file_types_v1_dashboard, file_types_v1_project]); + fileDesc("ChxzdmMvcHJvamVjdC92MS9zZXJ2aWNlLnByb3RvEg5zdmMucHJvamVjdC52MSJbChRDcmVhdGVQcm9qZWN0UmVxdWVzdBIWCg5lbnZpcm9ubWVudF9pZBhlIAEoAxIrCgRzcGVjGAEgASgLMhUudHlwZXMudjEuUHJvamVjdFNwZWNCBrpIA8gBASI7ChVDcmVhdGVQcm9qZWN0UmVzcG9uc2USIgoHcHJvamVjdBgBIAEoCzIRLnR5cGVzLnYxLlByb2plY3QiXQoWVmFsaWRhdGVQcm9qZWN0UmVxdWVzdBIWCg5lbnZpcm9ubWVudF9pZBhlIAEoAxIrCgRzcGVjGAEgASgLMhUudHlwZXMudjEuUHJvamVjdFNwZWNCBrpIA8gBASJCChdWYWxpZGF0ZVByb2plY3RSZXNwb25zZRInCgZzdGF0dXMYASABKAsyFy50eXBlcy52MS5Qcm9qZWN0U3RhdHVzIkEKEUdldFByb2plY3RSZXF1ZXN0EhYKDmVudmlyb25tZW50X2lkGGUgASgDEhQKBG5hbWUYASABKAlCBrpIA8gBASKNAQoSR2V0UHJvamVjdFJlc3BvbnNlEiIKB3Byb2plY3QYASABKAsyES50eXBlcy52MS5Qcm9qZWN0EicKCmRhc2hib2FyZHMYAiADKAsyEy50eXBlcy52MS5EYXNoYm9hcmQSKgoMYWxlcnRfZ3JvdXBzGAMgAygLMhQudHlwZXMudjEuQWxlcnRHcm91cCJxChRVcGRhdGVQcm9qZWN0UmVxdWVzdBIWCg5lbnZpcm9ubWVudF9pZBhlIAEoAxIUCgRuYW1lGAEgASgJQga6SAPIAQESKwoEc3BlYxgCIAEoCzIVLnR5cGVzLnYxLlByb2plY3RTcGVjQga6SAPIAQEiOwoVVXBkYXRlUHJvamVjdFJlc3BvbnNlEiIKB3Byb2plY3QYASABKAsyES50eXBlcy52MS5Qcm9qZWN0IkQKFERlbGV0ZVByb2plY3RSZXF1ZXN0EhYKDmVudmlyb25tZW50X2lkGGUgASgDEhQKBG5hbWUYASABKAlCBrpIA8gBASIXChVEZWxldGVQcm9qZWN0UmVzcG9uc2UiXQoSTGlzdFByb2plY3RSZXF1ZXN0EhYKDmVudmlyb25tZW50X2lkGGUgASgDEiAKBmN1cnNvchgBIAEoCzIQLnR5cGVzLnYxLkN1cnNvchINCgVsaW1pdBgCIAEoBSKiAQoTTGlzdFByb2plY3RSZXNwb25zZRIeCgRuZXh0GAEgASgLMhAudHlwZXMudjEuQ3Vyc29yEjsKBWl0ZW1zGAIgAygLMiwuc3ZjLnByb2plY3QudjEuTGlzdFByb2plY3RSZXNwb25zZS5MaXN0SXRlbRouCghMaXN0SXRlbRIiCgdwcm9qZWN0GAEgASgLMhEudHlwZXMudjEuUHJvamVjdCJCChJTeW5jUHJvamVjdFJlcXVlc3QSFgoOZW52aXJvbm1lbnRfaWQYZSABKAMSFAoEbmFtZRgBIAEoCUIGukgDyAEBIjkKE1N5bmNQcm9qZWN0UmVzcG9uc2USIgoHcHJvamVjdBgBIAEoCzIRLnR5cGVzLnYxLlByb2plY3QykwUKDlByb2plY3RTZXJ2aWNlElwKDUNyZWF0ZVByb2plY3QSJC5zdmMucHJvamVjdC52MS5DcmVhdGVQcm9qZWN0UmVxdWVzdBolLnN2Yy5wcm9qZWN0LnYxLkNyZWF0ZVByb2plY3RSZXNwb25zZRJiCg9WYWxpZGF0ZVByb2plY3QSJi5zdmMucHJvamVjdC52MS5WYWxpZGF0ZVByb2plY3RSZXF1ZXN0Gicuc3ZjLnByb2plY3QudjEuVmFsaWRhdGVQcm9qZWN0UmVzcG9uc2USUwoKR2V0UHJvamVjdBIhLnN2Yy5wcm9qZWN0LnYxLkdldFByb2plY3RSZXF1ZXN0GiIuc3ZjLnByb2plY3QudjEuR2V0UHJvamVjdFJlc3BvbnNlElwKDVVwZGF0ZVByb2plY3QSJC5zdmMucHJvamVjdC52MS5VcGRhdGVQcm9qZWN0UmVxdWVzdBolLnN2Yy5wcm9qZWN0LnYxLlVwZGF0ZVByb2plY3RSZXNwb25zZRJcCg1EZWxldGVQcm9qZWN0EiQuc3ZjLnByb2plY3QudjEuRGVsZXRlUHJvamVjdFJlcXVlc3QaJS5zdmMucHJvamVjdC52MS5EZWxldGVQcm9qZWN0UmVzcG9uc2USVgoLTGlzdFByb2plY3QSIi5zdmMucHJvamVjdC52MS5MaXN0UHJvamVjdFJlcXVlc3QaIy5zdmMucHJvamVjdC52MS5MaXN0UHJvamVjdFJlc3BvbnNlElYKC1N5bmNQcm9qZWN0EiIuc3ZjLnByb2plY3QudjEuU3luY1Byb2plY3RSZXF1ZXN0GiMuc3ZjLnByb2plY3QudjEuU3luY1Byb2plY3RSZXNwb25zZUKzAQoSY29tLnN2Yy5wcm9qZWN0LnYxQgxTZXJ2aWNlUHJvdG9QAVo1Z2l0aHViLmNvbS9odW1hbmxvZ2lvL2FwaS9nby9zdmMvcHJvamVjdC92MTtwcm9qZWN0djGiAgNTUFiqAg5TdmMuUHJvamVjdC5WMcoCDlN2Y1xQcm9qZWN0XFYx4gIaU3ZjXFByb2plY3RcVjFcR1BCTWV0YWRhdGHqAhBTdmM6OlByb2plY3Q6OlYxYgZwcm90bzM", [file_buf_validate_validate, file_types_v1_alert, file_types_v1_cursor, file_types_v1_dashboard, file_types_v1_project]); /** * @generated from message svc.project.v1.CreateProjectRequest @@ -87,9 +87,9 @@ export const ValidateProjectRequestSchema: GenMessage = */ export type ValidateProjectResponse = Message<"svc.project.v1.ValidateProjectResponse"> & { /** - * @generated from field: repeated string warnings = 1; + * @generated from field: types.v1.ProjectStatus status = 1; */ - warnings: string[]; + status?: ProjectStatus; }; /** diff --git a/proto/svc/project/v1/service.proto b/proto/svc/project/v1/service.proto index 82f18d2..1c6aa0c 100644 --- a/proto/svc/project/v1/service.proto +++ b/proto/svc/project/v1/service.proto @@ -38,7 +38,7 @@ message ValidateProjectRequest { } message ValidateProjectResponse { - repeated string warnings = 1; + types.v1.ProjectStatus status = 1; } message GetProjectRequest {