From 6f69bfb6ae3ea9e1770c300b5ba24f358af1225a Mon Sep 17 00:00:00 2001 From: usbharu <64310155+usbharu@users.noreply.github.com> Date: Sun, 17 Mar 2024 17:21:22 +0900 Subject: [PATCH] illust-data: wip --- .../usbharu/unos/illust/crud/CrudService.kt | 23 ++++- illust-data/illust/illust.pb.go | 83 +++++++------------ .../main/proto/illust/crud/illust_crud.proto | 6 +- unos-proto/src/main/proto/illust/illust.proto | 6 +- .../src/main/proto/illust/tag/tag.proto | 13 +++ 5 files changed, 70 insertions(+), 61 deletions(-) create mode 100644 unos-proto/src/main/proto/illust/tag/tag.proto diff --git a/illust-crud/src/main/kotlin/dev/usbharu/unos/illust/crud/CrudService.kt b/illust-crud/src/main/kotlin/dev/usbharu/unos/illust/crud/CrudService.kt index d20ed16..e35e2be 100644 --- a/illust-crud/src/main/kotlin/dev/usbharu/unos/illust/crud/CrudService.kt +++ b/illust-crud/src/main/kotlin/dev/usbharu/unos/illust/crud/CrudService.kt @@ -3,12 +3,31 @@ package dev.usbharu.unos.illust.crud import illust.IllustOuterClass import illust.crud.IllustCRUDServiceGrpcKt.IllustCRUDServiceCoroutineImplBase import illust.crud.IllustCrud +import illust.data.IllustDataServiceGrpcKt +import illust.illust +import java.util.* import kotlin.coroutines.CoroutineContext import kotlin.coroutines.EmptyCoroutineContext -class CrudService(coroutineContext: CoroutineContext = EmptyCoroutineContext) : +class CrudService( + private val illustDataServiceCoroutineStub: IllustDataServiceGrpcKt.IllustDataServiceCoroutineStub, + coroutineContext: CoroutineContext = EmptyCoroutineContext +) : IllustCRUDServiceCoroutineImplBase(coroutineContext) { override suspend fun create(request: IllustCrud.CreateIllust): IllustOuterClass.Illust { - return super.create(request) + val illust = illust { + id = UUID.randomUUID().toString() + name = request.name + sha256 = request.sha256 + s3Id = request.s3Id + tags.addAll(request.tagsList) + originals.addAll(request.originalsList) + characters.addAll(request.charactersList) + description = request.description + } + illustDataServiceCoroutineStub.save( + illust + ) + return illust } } \ No newline at end of file diff --git a/illust-data/illust/illust.pb.go b/illust-data/illust/illust.pb.go index 01b4b01..2a3c9b2 100644 --- a/illust-data/illust/illust.pb.go +++ b/illust-data/illust/illust.pb.go @@ -25,14 +25,14 @@ type Illust struct { sizeCache protoimpl.SizeCache unknownFields protoimpl.UnknownFields - Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` - Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` - Sha256 []byte `protobuf:"bytes,3,opt,name=sha256,proto3" json:"sha256,omitempty"` - S3Id string `protobuf:"bytes,16,opt,name=s3_id,json=s3Id,proto3" json:"s3_id,omitempty"` - Tags map[string]string `protobuf:"bytes,17,rep,name=tags,proto3" json:"tags,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - Originals map[string]string `protobuf:"bytes,18,rep,name=originals,proto3" json:"originals,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - Characters map[string]string `protobuf:"bytes,19,rep,name=characters,proto3" json:"characters,omitempty" protobuf_key:"bytes,1,opt,name=key,proto3" protobuf_val:"bytes,2,opt,name=value,proto3"` - Description string `protobuf:"bytes,20,opt,name=description,proto3" json:"description,omitempty"` + Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,omitempty"` + Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"` + Sha256 []byte `protobuf:"bytes,3,opt,name=sha256,proto3" json:"sha256,omitempty"` + S3Id string `protobuf:"bytes,16,opt,name=s3_id,json=s3Id,proto3" json:"s3_id,omitempty"` + Tags []string `protobuf:"bytes,17,rep,name=tags,proto3" json:"tags,omitempty"` + Originals []string `protobuf:"bytes,18,rep,name=originals,proto3" json:"originals,omitempty"` + Characters []string `protobuf:"bytes,19,rep,name=characters,proto3" json:"characters,omitempty"` + Description string `protobuf:"bytes,20,opt,name=description,proto3" json:"description,omitempty"` } func (x *Illust) Reset() { @@ -95,21 +95,21 @@ func (x *Illust) GetS3Id() string { return "" } -func (x *Illust) GetTags() map[string]string { +func (x *Illust) GetTags() []string { if x != nil { return x.Tags } return nil } -func (x *Illust) GetOriginals() map[string]string { +func (x *Illust) GetOriginals() []string { if x != nil { return x.Originals } return nil } -func (x *Illust) GetCharacters() map[string]string { +func (x *Illust) GetCharacters() []string { if x != nil { return x.Characters } @@ -127,40 +127,23 @@ var File_illust_illust_proto protoreflect.FileDescriptor var file_illust_illust_proto_rawDesc = []byte{ 0x0a, 0x13, 0x69, 0x6c, 0x6c, 0x75, 0x73, 0x74, 0x2f, 0x69, 0x6c, 0x6c, 0x75, 0x73, 0x74, 0x2e, - 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, 0x69, 0x6c, 0x6c, 0x75, 0x73, 0x74, 0x22, 0xdc, 0x03, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x06, 0x69, 0x6c, 0x6c, 0x75, 0x73, 0x74, 0x22, 0xcd, 0x01, 0x0a, 0x06, 0x49, 0x6c, 0x6c, 0x75, 0x73, 0x74, 0x12, 0x0e, 0x0a, 0x02, 0x69, 0x64, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x02, 0x69, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x12, 0x16, 0x0a, 0x06, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x18, 0x03, 0x20, 0x01, 0x28, 0x0c, 0x52, 0x06, 0x73, 0x68, 0x61, 0x32, 0x35, 0x36, 0x12, 0x13, 0x0a, 0x05, 0x73, 0x33, 0x5f, 0x69, 0x64, 0x18, 0x10, 0x20, - 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x33, 0x49, 0x64, 0x12, 0x2c, 0x0a, 0x04, 0x74, 0x61, 0x67, - 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x69, 0x6c, 0x6c, 0x75, 0x73, 0x74, - 0x2e, 0x49, 0x6c, 0x6c, 0x75, 0x73, 0x74, 0x2e, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x3b, 0x0a, 0x09, 0x6f, 0x72, 0x69, 0x67, 0x69, - 0x6e, 0x61, 0x6c, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x69, 0x6c, 0x6c, - 0x75, 0x73, 0x74, 0x2e, 0x49, 0x6c, 0x6c, 0x75, 0x73, 0x74, 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, - 0x6e, 0x61, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x6f, 0x72, 0x69, 0x67, 0x69, - 0x6e, 0x61, 0x6c, 0x73, 0x12, 0x3e, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, - 0x72, 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x69, 0x6c, 0x6c, 0x75, 0x73, - 0x74, 0x2e, 0x49, 0x6c, 0x6c, 0x75, 0x73, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, - 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, - 0x74, 0x65, 0x72, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, - 0x69, 0x6f, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, - 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x1a, 0x37, 0x0a, 0x09, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, - 0x74, 0x72, 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, - 0x52, 0x03, 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, - 0x3c, 0x0a, 0x0e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, - 0x79, 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, - 0x6b, 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, - 0x28, 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x1a, 0x3d, 0x0a, - 0x0f, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, - 0x12, 0x10, 0x0a, 0x03, 0x6b, 0x65, 0x79, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x03, 0x6b, - 0x65, 0x79, 0x12, 0x14, 0x0a, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x76, 0x61, 0x6c, 0x75, 0x65, 0x3a, 0x02, 0x38, 0x01, 0x42, 0x25, 0x5a, 0x23, - 0x67, 0x69, 0x74, 0x2e, 0x75, 0x73, 0x62, 0x68, 0x61, 0x72, 0x75, 0x2e, 0x64, 0x65, 0x76, 0x2f, - 0x75, 0x73, 0x62, 0x68, 0x61, 0x72, 0x75, 0x2f, 0x75, 0x6e, 0x6f, 0x73, 0x2f, 0x69, 0x6c, 0x6c, - 0x75, 0x73, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x33, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67, + 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x1c, 0x0a, + 0x09, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x09, + 0x52, 0x09, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x63, + 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x09, 0x52, + 0x0a, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64, + 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09, + 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x25, 0x5a, + 0x23, 0x67, 0x69, 0x74, 0x2e, 0x75, 0x73, 0x62, 0x68, 0x61, 0x72, 0x75, 0x2e, 0x64, 0x65, 0x76, + 0x2f, 0x75, 0x73, 0x62, 0x68, 0x61, 0x72, 0x75, 0x2f, 0x75, 0x6e, 0x6f, 0x73, 0x2f, 0x69, 0x6c, + 0x6c, 0x75, 0x73, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( @@ -175,22 +158,16 @@ func file_illust_illust_proto_rawDescGZIP() []byte { return file_illust_illust_proto_rawDescData } -var file_illust_illust_proto_msgTypes = make([]protoimpl.MessageInfo, 4) +var file_illust_illust_proto_msgTypes = make([]protoimpl.MessageInfo, 1) var file_illust_illust_proto_goTypes = []interface{}{ (*Illust)(nil), // 0: illust.Illust - nil, // 1: illust.Illust.TagsEntry - nil, // 2: illust.Illust.OriginalsEntry - nil, // 3: illust.Illust.CharactersEntry } var file_illust_illust_proto_depIdxs = []int32{ - 1, // 0: illust.Illust.tags:type_name -> illust.Illust.TagsEntry - 2, // 1: illust.Illust.originals:type_name -> illust.Illust.OriginalsEntry - 3, // 2: illust.Illust.characters:type_name -> illust.Illust.CharactersEntry - 3, // [3:3] is the sub-list for method output_type - 3, // [3:3] is the sub-list for method input_type - 3, // [3:3] is the sub-list for extension type_name - 3, // [3:3] is the sub-list for extension extendee - 0, // [0:3] is the sub-list for field type_name + 0, // [0:0] is the sub-list for method output_type + 0, // [0:0] is the sub-list for method input_type + 0, // [0:0] is the sub-list for extension type_name + 0, // [0:0] is the sub-list for extension extendee + 0, // [0:0] is the sub-list for field type_name } func init() { file_illust_illust_proto_init() } @@ -218,7 +195,7 @@ func file_illust_illust_proto_init() { GoPackagePath: reflect.TypeOf(x{}).PkgPath(), RawDescriptor: file_illust_illust_proto_rawDesc, NumEnums: 0, - NumMessages: 4, + NumMessages: 1, NumExtensions: 0, NumServices: 0, }, diff --git a/unos-proto/src/main/proto/illust/crud/illust_crud.proto b/unos-proto/src/main/proto/illust/crud/illust_crud.proto index 0ca39a3..28e6607 100644 --- a/unos-proto/src/main/proto/illust/crud/illust_crud.proto +++ b/unos-proto/src/main/proto/illust/crud/illust_crud.proto @@ -7,9 +7,9 @@ message CreateIllust { string name = 1; bytes sha256 = 2; string s3_id = 3; - map tags = 16; - map characters = 17; - map originals = 18; + repeated string tags = 16; + repeated string characters = 17; + repeated string originals = 18; string description = 19; } diff --git a/unos-proto/src/main/proto/illust/illust.proto b/unos-proto/src/main/proto/illust/illust.proto index 7657594..794e8c8 100644 --- a/unos-proto/src/main/proto/illust/illust.proto +++ b/unos-proto/src/main/proto/illust/illust.proto @@ -7,8 +7,8 @@ message Illust{ string name = 2; bytes sha256 = 3; string s3_id = 16; - map tags = 17; - map originals = 18; - map characters = 19; + repeated string tags = 17; + repeated string originals = 18; + repeated string characters = 19; string description = 20; } \ No newline at end of file diff --git a/unos-proto/src/main/proto/illust/tag/tag.proto b/unos-proto/src/main/proto/illust/tag/tag.proto new file mode 100644 index 0000000..697354b --- /dev/null +++ b/unos-proto/src/main/proto/illust/tag/tag.proto @@ -0,0 +1,13 @@ +syntax = "proto3"; + +package illust.tag; +option go_package = "git.usbharu.dev/usbharu/unos/illust/tag"; + +message TaggingRequest{ + string illust_id = 1; +} + +message TaggingResult{ + string illust_id = 1; + +} \ No newline at end of file