illust-data: wip

This commit is contained in:
usbharu 2024-03-17 17:21:22 +09:00
parent 93a3ea8854
commit 6f69bfb6ae
Signed by: usbharu
GPG Key ID: 6556747BF94EEBC8
5 changed files with 70 additions and 61 deletions

View File

@ -3,12 +3,31 @@ package dev.usbharu.unos.illust.crud
import illust.IllustOuterClass import illust.IllustOuterClass
import illust.crud.IllustCRUDServiceGrpcKt.IllustCRUDServiceCoroutineImplBase import illust.crud.IllustCRUDServiceGrpcKt.IllustCRUDServiceCoroutineImplBase
import illust.crud.IllustCrud import illust.crud.IllustCrud
import illust.data.IllustDataServiceGrpcKt
import illust.illust
import java.util.*
import kotlin.coroutines.CoroutineContext import kotlin.coroutines.CoroutineContext
import kotlin.coroutines.EmptyCoroutineContext import kotlin.coroutines.EmptyCoroutineContext
class CrudService(coroutineContext: CoroutineContext = EmptyCoroutineContext) : class CrudService(
private val illustDataServiceCoroutineStub: IllustDataServiceGrpcKt.IllustDataServiceCoroutineStub,
coroutineContext: CoroutineContext = EmptyCoroutineContext
) :
IllustCRUDServiceCoroutineImplBase(coroutineContext) { IllustCRUDServiceCoroutineImplBase(coroutineContext) {
override suspend fun create(request: IllustCrud.CreateIllust): IllustOuterClass.Illust { 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
} }
} }

View File

@ -25,14 +25,14 @@ type Illust struct {
sizeCache protoimpl.SizeCache sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields unknownFields protoimpl.UnknownFields
Id string `protobuf:"bytes,1,opt,name=id,proto3" json:"id,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"` Name string `protobuf:"bytes,2,opt,name=name,proto3" json:"name,omitempty"`
Sha256 []byte `protobuf:"bytes,3,opt,name=sha256,proto3" json:"sha256,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"` 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"` Tags []string `protobuf:"bytes,17,rep,name=tags,proto3" json:"tags,omitempty"`
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"` Originals []string `protobuf:"bytes,18,rep,name=originals,proto3" json:"originals,omitempty"`
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"` Characters []string `protobuf:"bytes,19,rep,name=characters,proto3" json:"characters,omitempty"`
Description string `protobuf:"bytes,20,opt,name=description,proto3" json:"description,omitempty"` Description string `protobuf:"bytes,20,opt,name=description,proto3" json:"description,omitempty"`
} }
func (x *Illust) Reset() { func (x *Illust) Reset() {
@ -95,21 +95,21 @@ func (x *Illust) GetS3Id() string {
return "" return ""
} }
func (x *Illust) GetTags() map[string]string { func (x *Illust) GetTags() []string {
if x != nil { if x != nil {
return x.Tags return x.Tags
} }
return nil return nil
} }
func (x *Illust) GetOriginals() map[string]string { func (x *Illust) GetOriginals() []string {
if x != nil { if x != nil {
return x.Originals return x.Originals
} }
return nil return nil
} }
func (x *Illust) GetCharacters() map[string]string { func (x *Illust) GetCharacters() []string {
if x != nil { if x != nil {
return x.Characters return x.Characters
} }
@ -127,40 +127,23 @@ var File_illust_illust_proto protoreflect.FileDescriptor
var file_illust_illust_proto_rawDesc = []byte{ var file_illust_illust_proto_rawDesc = []byte{
0x0a, 0x13, 0x69, 0x6c, 0x6c, 0x75, 0x73, 0x74, 0x2f, 0x69, 0x6c, 0x6c, 0x75, 0x73, 0x74, 0x2e, 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, 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, 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, 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, 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, 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, 0x01, 0x28, 0x09, 0x52, 0x04, 0x73, 0x33, 0x49, 0x64, 0x12, 0x12, 0x0a, 0x04, 0x74, 0x61, 0x67,
0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x18, 0x2e, 0x69, 0x6c, 0x6c, 0x75, 0x73, 0x74, 0x73, 0x18, 0x11, 0x20, 0x03, 0x28, 0x09, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x1c, 0x0a,
0x2e, 0x49, 0x6c, 0x6c, 0x75, 0x73, 0x74, 0x2e, 0x54, 0x61, 0x67, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x09, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x09,
0x79, 0x52, 0x04, 0x74, 0x61, 0x67, 0x73, 0x12, 0x3b, 0x0a, 0x09, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x52, 0x09, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x6e, 0x61, 0x6c, 0x73, 0x12, 0x1e, 0x0a, 0x0a, 0x63,
0x6e, 0x61, 0x6c, 0x73, 0x18, 0x12, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1d, 0x2e, 0x69, 0x6c, 0x6c, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x09, 0x52,
0x75, 0x73, 0x74, 0x2e, 0x49, 0x6c, 0x6c, 0x75, 0x73, 0x74, 0x2e, 0x4f, 0x72, 0x69, 0x67, 0x69, 0x0a, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x72, 0x73, 0x12, 0x20, 0x0a, 0x0b, 0x64,
0x6e, 0x61, 0x6c, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x09, 0x6f, 0x72, 0x69, 0x67, 0x69, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x14, 0x20, 0x01, 0x28, 0x09,
0x6e, 0x61, 0x6c, 0x73, 0x12, 0x3e, 0x0a, 0x0a, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x65, 0x52, 0x0b, 0x64, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x42, 0x25, 0x5a,
0x72, 0x73, 0x18, 0x13, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x1e, 0x2e, 0x69, 0x6c, 0x6c, 0x75, 0x73, 0x23, 0x67, 0x69, 0x74, 0x2e, 0x75, 0x73, 0x62, 0x68, 0x61, 0x72, 0x75, 0x2e, 0x64, 0x65, 0x76,
0x74, 0x2e, 0x49, 0x6c, 0x6c, 0x75, 0x73, 0x74, 0x2e, 0x43, 0x68, 0x61, 0x72, 0x61, 0x63, 0x74, 0x2f, 0x75, 0x73, 0x62, 0x68, 0x61, 0x72, 0x75, 0x2f, 0x75, 0x6e, 0x6f, 0x73, 0x2f, 0x69, 0x6c,
0x65, 0x72, 0x73, 0x45, 0x6e, 0x74, 0x72, 0x79, 0x52, 0x0a, 0x63, 0x68, 0x61, 0x72, 0x61, 0x63, 0x6c, 0x75, 0x73, 0x74, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33,
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,
} }
var ( var (
@ -175,22 +158,16 @@ func file_illust_illust_proto_rawDescGZIP() []byte {
return file_illust_illust_proto_rawDescData 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{}{ var file_illust_illust_proto_goTypes = []interface{}{
(*Illust)(nil), // 0: illust.Illust (*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{ var file_illust_illust_proto_depIdxs = []int32{
1, // 0: illust.Illust.tags:type_name -> illust.Illust.TagsEntry 0, // [0:0] is the sub-list for method output_type
2, // 1: illust.Illust.originals:type_name -> illust.Illust.OriginalsEntry 0, // [0:0] is the sub-list for method input_type
3, // 2: illust.Illust.characters:type_name -> illust.Illust.CharactersEntry 0, // [0:0] is the sub-list for extension type_name
3, // [3:3] is the sub-list for method output_type 0, // [0:0] is the sub-list for extension extendee
3, // [3:3] is the sub-list for method input_type 0, // [0:0] is the sub-list for field type_name
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
} }
func init() { file_illust_illust_proto_init() } func init() { file_illust_illust_proto_init() }
@ -218,7 +195,7 @@ func file_illust_illust_proto_init() {
GoPackagePath: reflect.TypeOf(x{}).PkgPath(), GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
RawDescriptor: file_illust_illust_proto_rawDesc, RawDescriptor: file_illust_illust_proto_rawDesc,
NumEnums: 0, NumEnums: 0,
NumMessages: 4, NumMessages: 1,
NumExtensions: 0, NumExtensions: 0,
NumServices: 0, NumServices: 0,
}, },

View File

@ -7,9 +7,9 @@ message CreateIllust {
string name = 1; string name = 1;
bytes sha256 = 2; bytes sha256 = 2;
string s3_id = 3; string s3_id = 3;
map<string, string> tags = 16; repeated string tags = 16;
map<string, string> characters = 17; repeated string characters = 17;
map<string, string> originals = 18; repeated string originals = 18;
string description = 19; string description = 19;
} }

View File

@ -7,8 +7,8 @@ message Illust{
string name = 2; string name = 2;
bytes sha256 = 3; bytes sha256 = 3;
string s3_id = 16; string s3_id = 16;
map<string, string> tags = 17; repeated string tags = 17;
map<string, string> originals = 18; repeated string originals = 18;
map<string, string> characters = 19; repeated string characters = 19;
string description = 20; string description = 20;
} }

View File

@ -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;
}