// ----------------------------------------------------------------------------- // File: post.proto // // This Protocol Buffers file defines the gRPC contract for the PostService. // It includes service definitions for creating, retrieving, updating, deleting, // and listing posts. Each RPC method has corresponding request and response // messages. The syntax follows proto3 conventions and uses message types for // structured data exchange between microservices. // // Syntax: // - Uses proto3 syntax for modern Protocol Buffers features. // - Defines service and message types for CRUD operations. // - Supports repeated fields for listing multiple posts. // // Purpose: // - Enables strongly-typed, language-agnostic communication between services. // - Provides a contract for backend and API Gateway integration. // - Facilitates code generation for gRPC servers and clients. // ----------------------------------------------------------------------------- // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.36.7 // protoc v6.31.1 // source: post.proto package postpb import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" emptypb "google.golang.org/protobuf/types/known/emptypb" reflect "reflect" sync "sync" unsafe "unsafe" ) const ( // Verify that this generated code is sufficiently up-to-date. _ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion) // Verify that runtime/protoimpl is sufficiently up-to-date. _ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20) ) type Post struct { state protoimpl.MessageState `protogen:"open.v1"` Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` AuthorId string `protobuf:"bytes,2,opt,name=author_id,json=authorId,proto3" json:"author_id,omitempty"` Title string `protobuf:"bytes,3,opt,name=title,proto3" json:"title,omitempty"` Content string `protobuf:"bytes,4,opt,name=content,proto3" json:"content,omitempty"` CreatedAt int64 `protobuf:"varint,5,opt,name=created_at,json=createdAt,proto3" json:"created_at,omitempty"` UpdatedAt int64 `protobuf:"varint,6,opt,name=updated_at,json=updatedAt,proto3" json:"updated_at,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *Post) Reset() { *x = Post{} mi := &file_post_proto_msgTypes[0] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *Post) String() string { return protoimpl.X.MessageStringOf(x) } func (*Post) ProtoMessage() {} func (x *Post) ProtoReflect() protoreflect.Message { mi := &file_post_proto_msgTypes[0] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use Post.ProtoReflect.Descriptor instead. func (*Post) Descriptor() ([]byte, []int) { return file_post_proto_rawDescGZIP(), []int{0} } func (x *Post) GetId() string { if x != nil { return x.Id } return "" } func (x *Post) GetAuthorId() string { if x != nil { return x.AuthorId } return "" } func (x *Post) GetTitle() string { if x != nil { return x.Title } return "" } func (x *Post) GetContent() string { if x != nil { return x.Content } return "" } func (x *Post) GetCreatedAt() int64 { if x != nil { return x.CreatedAt } return 0 } func (x *Post) GetUpdatedAt() int64 { if x != nil { return x.UpdatedAt } return 0 } type CreatePostRequest struct { state protoimpl.MessageState `protogen:"open.v1"` AuthorId string `protobuf:"bytes,1,opt,name=author_id,json=authorId,proto3" json:"author_id,omitempty"` Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` Content string `protobuf:"bytes,3,opt,name=content,proto3" json:"content,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *CreatePostRequest) Reset() { *x = CreatePostRequest{} mi := &file_post_proto_msgTypes[1] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *CreatePostRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreatePostRequest) ProtoMessage() {} func (x *CreatePostRequest) ProtoReflect() protoreflect.Message { mi := &file_post_proto_msgTypes[1] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CreatePostRequest.ProtoReflect.Descriptor instead. func (*CreatePostRequest) Descriptor() ([]byte, []int) { return file_post_proto_rawDescGZIP(), []int{1} } func (x *CreatePostRequest) GetAuthorId() string { if x != nil { return x.AuthorId } return "" } func (x *CreatePostRequest) GetTitle() string { if x != nil { return x.Title } return "" } func (x *CreatePostRequest) GetContent() string { if x != nil { return x.Content } return "" } type CreatePostResponse struct { state protoimpl.MessageState `protogen:"open.v1"` Post *Post `protobuf:"bytes,1,opt,name=post,proto3" json:"post,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *CreatePostResponse) Reset() { *x = CreatePostResponse{} mi := &file_post_proto_msgTypes[2] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *CreatePostResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*CreatePostResponse) ProtoMessage() {} func (x *CreatePostResponse) ProtoReflect() protoreflect.Message { mi := &file_post_proto_msgTypes[2] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use CreatePostResponse.ProtoReflect.Descriptor instead. func (*CreatePostResponse) Descriptor() ([]byte, []int) { return file_post_proto_rawDescGZIP(), []int{2} } func (x *CreatePostResponse) GetPost() *Post { if x != nil { return x.Post } return nil } type GetPostRequest struct { state protoimpl.MessageState `protogen:"open.v1"` Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *GetPostRequest) Reset() { *x = GetPostRequest{} mi := &file_post_proto_msgTypes[3] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *GetPostRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetPostRequest) ProtoMessage() {} func (x *GetPostRequest) ProtoReflect() protoreflect.Message { mi := &file_post_proto_msgTypes[3] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GetPostRequest.ProtoReflect.Descriptor instead. func (*GetPostRequest) Descriptor() ([]byte, []int) { return file_post_proto_rawDescGZIP(), []int{3} } func (x *GetPostRequest) GetId() string { if x != nil { return x.Id } return "" } type GetPostResponse struct { state protoimpl.MessageState `protogen:"open.v1"` Post *Post `protobuf:"bytes,1,opt,name=post,proto3" json:"post,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *GetPostResponse) Reset() { *x = GetPostResponse{} mi := &file_post_proto_msgTypes[4] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *GetPostResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*GetPostResponse) ProtoMessage() {} func (x *GetPostResponse) ProtoReflect() protoreflect.Message { mi := &file_post_proto_msgTypes[4] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use GetPostResponse.ProtoReflect.Descriptor instead. func (*GetPostResponse) Descriptor() ([]byte, []int) { return file_post_proto_rawDescGZIP(), []int{4} } func (x *GetPostResponse) GetPost() *Post { if x != nil { return x.Post } return nil } type UpdatePostRequest struct { state protoimpl.MessageState `protogen:"open.v1"` Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"` Content string `protobuf:"bytes,3,opt,name=content,proto3" json:"content,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *UpdatePostRequest) Reset() { *x = UpdatePostRequest{} mi := &file_post_proto_msgTypes[5] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *UpdatePostRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdatePostRequest) ProtoMessage() {} func (x *UpdatePostRequest) ProtoReflect() protoreflect.Message { mi := &file_post_proto_msgTypes[5] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UpdatePostRequest.ProtoReflect.Descriptor instead. func (*UpdatePostRequest) Descriptor() ([]byte, []int) { return file_post_proto_rawDescGZIP(), []int{5} } func (x *UpdatePostRequest) GetId() string { if x != nil { return x.Id } return "" } func (x *UpdatePostRequest) GetTitle() string { if x != nil { return x.Title } return "" } func (x *UpdatePostRequest) GetContent() string { if x != nil { return x.Content } return "" } type UpdatePostResponse struct { state protoimpl.MessageState `protogen:"open.v1"` Post *Post `protobuf:"bytes,1,opt,name=post,proto3" json:"post,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *UpdatePostResponse) Reset() { *x = UpdatePostResponse{} mi := &file_post_proto_msgTypes[6] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *UpdatePostResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*UpdatePostResponse) ProtoMessage() {} func (x *UpdatePostResponse) ProtoReflect() protoreflect.Message { mi := &file_post_proto_msgTypes[6] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use UpdatePostResponse.ProtoReflect.Descriptor instead. func (*UpdatePostResponse) Descriptor() ([]byte, []int) { return file_post_proto_rawDescGZIP(), []int{6} } func (x *UpdatePostResponse) GetPost() *Post { if x != nil { return x.Post } return nil } type DeletePostRequest struct { state protoimpl.MessageState `protogen:"open.v1"` Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *DeletePostRequest) Reset() { *x = DeletePostRequest{} mi := &file_post_proto_msgTypes[7] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *DeletePostRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*DeletePostRequest) ProtoMessage() {} func (x *DeletePostRequest) ProtoReflect() protoreflect.Message { mi := &file_post_proto_msgTypes[7] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use DeletePostRequest.ProtoReflect.Descriptor instead. func (*DeletePostRequest) Descriptor() ([]byte, []int) { return file_post_proto_rawDescGZIP(), []int{7} } func (x *DeletePostRequest) GetId() string { if x != nil { return x.Id } return "" } type ListPostsRequest struct { state protoimpl.MessageState `protogen:"open.v1"` Page int32 `protobuf:"varint,1,opt,name=page,proto3" json:"page,omitempty"` PageSize int32 `protobuf:"varint,2,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *ListPostsRequest) Reset() { *x = ListPostsRequest{} mi := &file_post_proto_msgTypes[8] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *ListPostsRequest) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListPostsRequest) ProtoMessage() {} func (x *ListPostsRequest) ProtoReflect() protoreflect.Message { mi := &file_post_proto_msgTypes[8] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListPostsRequest.ProtoReflect.Descriptor instead. func (*ListPostsRequest) Descriptor() ([]byte, []int) { return file_post_proto_rawDescGZIP(), []int{8} } func (x *ListPostsRequest) GetPage() int32 { if x != nil { return x.Page } return 0 } func (x *ListPostsRequest) GetPageSize() int32 { if x != nil { return x.PageSize } return 0 } type ListPostsResponse struct { state protoimpl.MessageState `protogen:"open.v1"` Posts []*Post `protobuf:"bytes,1,rep,name=posts,proto3" json:"posts,omitempty"` unknownFields protoimpl.UnknownFields sizeCache protoimpl.SizeCache } func (x *ListPostsResponse) Reset() { *x = ListPostsResponse{} mi := &file_post_proto_msgTypes[9] ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) ms.StoreMessageInfo(mi) } func (x *ListPostsResponse) String() string { return protoimpl.X.MessageStringOf(x) } func (*ListPostsResponse) ProtoMessage() {} func (x *ListPostsResponse) ProtoReflect() protoreflect.Message { mi := &file_post_proto_msgTypes[9] if x != nil { ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x)) if ms.LoadMessageInfo() == nil { ms.StoreMessageInfo(mi) } return ms } return mi.MessageOf(x) } // Deprecated: Use ListPostsResponse.ProtoReflect.Descriptor instead. func (*ListPostsResponse) Descriptor() ([]byte, []int) { return file_post_proto_rawDescGZIP(), []int{9} } func (x *ListPostsResponse) GetPosts() []*Post { if x != nil { return x.Posts } return nil } var File_post_proto protoreflect.FileDescriptor const file_post_proto_rawDesc = "" + "\n" + "\n" + "post.proto\x12\x04post\x1a\x1bgoogle/protobuf/empty.proto\"\xa1\x01\n" + "\x04Post\x12\x0e\n" + "\x02id\x18\x01 \x01(\tR\x02id\x12\x1b\n" + "\tauthor_id\x18\x02 \x01(\tR\bauthorId\x12\x14\n" + "\x05title\x18\x03 \x01(\tR\x05title\x12\x18\n" + "\acontent\x18\x04 \x01(\tR\acontent\x12\x1d\n" + "\n" + "created_at\x18\x05 \x01(\x03R\tcreatedAt\x12\x1d\n" + "\n" + "updated_at\x18\x06 \x01(\x03R\tupdatedAt\"`\n" + "\x11CreatePostRequest\x12\x1b\n" + "\tauthor_id\x18\x01 \x01(\tR\bauthorId\x12\x14\n" + "\x05title\x18\x02 \x01(\tR\x05title\x12\x18\n" + "\acontent\x18\x03 \x01(\tR\acontent\"4\n" + "\x12CreatePostResponse\x12\x1e\n" + "\x04post\x18\x01 \x01(\v2\n" + ".post.PostR\x04post\" \n" + "\x0eGetPostRequest\x12\x0e\n" + "\x02id\x18\x01 \x01(\tR\x02id\"1\n" + "\x0fGetPostResponse\x12\x1e\n" + "\x04post\x18\x01 \x01(\v2\n" + ".post.PostR\x04post\"S\n" + "\x11UpdatePostRequest\x12\x0e\n" + "\x02id\x18\x01 \x01(\tR\x02id\x12\x14\n" + "\x05title\x18\x02 \x01(\tR\x05title\x12\x18\n" + "\acontent\x18\x03 \x01(\tR\acontent\"4\n" + "\x12UpdatePostResponse\x12\x1e\n" + "\x04post\x18\x01 \x01(\v2\n" + ".post.PostR\x04post\"#\n" + "\x11DeletePostRequest\x12\x0e\n" + "\x02id\x18\x01 \x01(\tR\x02id\"C\n" + "\x10ListPostsRequest\x12\x12\n" + "\x04page\x18\x01 \x01(\x05R\x04page\x12\x1b\n" + "\tpage_size\x18\x02 \x01(\x05R\bpageSize\"5\n" + "\x11ListPostsResponse\x12 \n" + "\x05posts\x18\x01 \x03(\v2\n" + ".post.PostR\x05posts2\xc4\x02\n" + "\vPostService\x12?\n" + "\n" + "CreatePost\x12\x17.post.CreatePostRequest\x1a\x18.post.CreatePostResponse\x126\n" + "\aGetPost\x12\x14.post.GetPostRequest\x1a\x15.post.GetPostResponse\x12?\n" + "\n" + "UpdatePost\x12\x17.post.UpdatePostRequest\x1a\x18.post.UpdatePostResponse\x12=\n" + "\n" + "DeletePost\x12\x17.post.DeletePostRequest\x1a\x16.google.protobuf.Empty\x12<\n" + "\tListPosts\x12\x16.post.ListPostsRequest\x1a\x17.post.ListPostsResponseB\x0eZ\f/post;postpbb\x06proto3" var ( file_post_proto_rawDescOnce sync.Once file_post_proto_rawDescData []byte ) func file_post_proto_rawDescGZIP() []byte { file_post_proto_rawDescOnce.Do(func() { file_post_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_post_proto_rawDesc), len(file_post_proto_rawDesc))) }) return file_post_proto_rawDescData } var file_post_proto_msgTypes = make([]protoimpl.MessageInfo, 10) var file_post_proto_goTypes = []any{ (*Post)(nil), // 0: post.Post (*CreatePostRequest)(nil), // 1: post.CreatePostRequest (*CreatePostResponse)(nil), // 2: post.CreatePostResponse (*GetPostRequest)(nil), // 3: post.GetPostRequest (*GetPostResponse)(nil), // 4: post.GetPostResponse (*UpdatePostRequest)(nil), // 5: post.UpdatePostRequest (*UpdatePostResponse)(nil), // 6: post.UpdatePostResponse (*DeletePostRequest)(nil), // 7: post.DeletePostRequest (*ListPostsRequest)(nil), // 8: post.ListPostsRequest (*ListPostsResponse)(nil), // 9: post.ListPostsResponse (*emptypb.Empty)(nil), // 10: google.protobuf.Empty } var file_post_proto_depIdxs = []int32{ 0, // 0: post.CreatePostResponse.post:type_name -> post.Post 0, // 1: post.GetPostResponse.post:type_name -> post.Post 0, // 2: post.UpdatePostResponse.post:type_name -> post.Post 0, // 3: post.ListPostsResponse.posts:type_name -> post.Post 1, // 4: post.PostService.CreatePost:input_type -> post.CreatePostRequest 3, // 5: post.PostService.GetPost:input_type -> post.GetPostRequest 5, // 6: post.PostService.UpdatePost:input_type -> post.UpdatePostRequest 7, // 7: post.PostService.DeletePost:input_type -> post.DeletePostRequest 8, // 8: post.PostService.ListPosts:input_type -> post.ListPostsRequest 2, // 9: post.PostService.CreatePost:output_type -> post.CreatePostResponse 4, // 10: post.PostService.GetPost:output_type -> post.GetPostResponse 6, // 11: post.PostService.UpdatePost:output_type -> post.UpdatePostResponse 10, // 12: post.PostService.DeletePost:output_type -> google.protobuf.Empty 9, // 13: post.PostService.ListPosts:output_type -> post.ListPostsResponse 9, // [9:14] is the sub-list for method output_type 4, // [4:9] is the sub-list for method input_type 4, // [4:4] is the sub-list for extension type_name 4, // [4:4] is the sub-list for extension extendee 0, // [0:4] is the sub-list for field type_name } func init() { file_post_proto_init() } func file_post_proto_init() { if File_post_proto != nil { return } type x struct{} out := protoimpl.TypeBuilder{ File: protoimpl.DescBuilder{ GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: unsafe.Slice(unsafe.StringData(file_post_proto_rawDesc), len(file_post_proto_rawDesc)), NumEnums: 0, NumMessages: 10, NumExtensions: 0, NumServices: 1, }, GoTypes: file_post_proto_goTypes, DependencyIndexes: file_post_proto_depIdxs, MessageInfos: file_post_proto_msgTypes, }.Build() File_post_proto = out.File file_post_proto_goTypes = nil file_post_proto_depIdxs = nil }