diff options
Diffstat (limited to 'cmd')
22 files changed, 1962 insertions, 78 deletions
diff --git a/cmd/mimi/modules/scheduling/scheduling.pb.go b/cmd/mimi/modules/scheduling/scheduling.pb.go index 3f153f7..582eb7d 100644 --- a/cmd/mimi/modules/scheduling/scheduling.pb.go +++ b/cmd/mimi/modules/scheduling/scheduling.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go. DO NOT EDIT. // versions: // protoc-gen-go v1.32.0 -// protoc v4.23.4 +// protoc v4.24.4 // source: scheduling.proto package scheduling @@ -9,6 +9,8 @@ package scheduling import ( protoreflect "google.golang.org/protobuf/reflect/protoreflect" protoimpl "google.golang.org/protobuf/runtime/protoimpl" + _ "google.golang.org/protobuf/types/known/durationpb" + _ "google.golang.org/protobuf/types/known/timestamppb" reflect "reflect" sync "sync" ) @@ -239,48 +241,52 @@ var file_scheduling_proto_rawDesc = []byte{ 0x0a, 0x10, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x12, 0x20, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x2e, 0x78, 0x2e, 0x6d, 0x69, 0x6d, 0x69, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, - 0x6c, 0x69, 0x6e, 0x67, 0x22, 0x52, 0x0a, 0x12, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, - 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x72, 0x6f, - 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, 0x12, - 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, 0x61, - 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0xb7, 0x01, 0x0a, 0x08, 0x50, 0x61, 0x72, - 0x73, 0x65, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x12, 0x67, 0x0a, 0x14, 0x63, - 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x6d, 0x62, - 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x77, 0x69, 0x74, 0x68, + 0x6c, 0x69, 0x6e, 0x67, 0x1a, 0x1e, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x2e, 0x70, + 0x72, 0x6f, 0x74, 0x6f, 0x1a, 0x1f, 0x67, 0x6f, 0x6f, 0x67, 0x6c, 0x65, 0x2f, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x62, 0x75, 0x66, 0x2f, 0x74, 0x69, 0x6d, 0x65, 0x73, 0x74, 0x61, 0x6d, 0x70, 0x2e, + 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x22, 0x52, 0x0a, 0x12, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, + 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x12, 0x12, 0x0a, 0x04, 0x72, + 0x6f, 0x6c, 0x65, 0x18, 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x72, 0x6f, 0x6c, 0x65, 0x12, + 0x12, 0x0a, 0x04, 0x6e, 0x61, 0x6d, 0x65, 0x18, 0x02, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x6e, + 0x61, 0x6d, 0x65, 0x12, 0x14, 0x0a, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x18, 0x03, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x05, 0x65, 0x6d, 0x61, 0x69, 0x6c, 0x22, 0xb7, 0x01, 0x0a, 0x08, 0x50, 0x61, + 0x72, 0x73, 0x65, 0x52, 0x65, 0x71, 0x12, 0x14, 0x0a, 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x05, 0x6d, 0x6f, 0x6e, 0x74, 0x68, 0x12, 0x67, 0x0a, 0x14, + 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x5f, 0x6d, 0x65, 0x6d, + 0x62, 0x65, 0x72, 0x73, 0x18, 0x02, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x77, 0x69, 0x74, + 0x68, 0x69, 0x6e, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x2e, 0x78, 0x2e, 0x6d, 0x69, + 0x6d, 0x69, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x43, 0x6f, + 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, + 0x52, 0x13, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, + 0x6d, 0x62, 0x65, 0x72, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, + 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, + 0x12, 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, + 0x61, 0x74, 0x65, 0x22, 0xd0, 0x01, 0x0a, 0x09, 0x50, 0x61, 0x72, 0x73, 0x65, 0x52, 0x65, 0x73, + 0x70, 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, + 0x01, 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, + 0x12, 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, + 0x28, 0x09, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, + 0x73, 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, + 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x52, 0x0a, 0x09, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x64, + 0x65, 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x2e, 0x78, 0x2e, 0x6d, 0x69, 0x6d, 0x69, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x43, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, - 0x13, 0x63, 0x6f, 0x6e, 0x76, 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, - 0x62, 0x65, 0x72, 0x73, 0x12, 0x18, 0x0a, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x18, - 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x12, 0x12, - 0x0a, 0x04, 0x64, 0x61, 0x74, 0x65, 0x18, 0x04, 0x20, 0x01, 0x28, 0x09, 0x52, 0x04, 0x64, 0x61, - 0x74, 0x65, 0x22, 0xd0, 0x01, 0x0a, 0x09, 0x50, 0x61, 0x72, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, - 0x12, 0x1d, 0x0a, 0x0a, 0x73, 0x74, 0x61, 0x72, 0x74, 0x5f, 0x74, 0x69, 0x6d, 0x65, 0x18, 0x01, - 0x20, 0x01, 0x28, 0x09, 0x52, 0x09, 0x73, 0x74, 0x61, 0x72, 0x74, 0x54, 0x69, 0x6d, 0x65, 0x12, - 0x1a, 0x0a, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x02, 0x20, 0x01, 0x28, - 0x09, 0x52, 0x08, 0x64, 0x75, 0x72, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x12, 0x18, 0x0a, 0x07, 0x73, - 0x75, 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x18, 0x03, 0x20, 0x01, 0x28, 0x09, 0x52, 0x07, 0x73, 0x75, - 0x6d, 0x6d, 0x61, 0x72, 0x79, 0x12, 0x52, 0x0a, 0x09, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x64, 0x65, - 0x65, 0x73, 0x18, 0x04, 0x20, 0x03, 0x28, 0x0b, 0x32, 0x34, 0x2e, 0x77, 0x69, 0x74, 0x68, 0x69, - 0x6e, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x2e, 0x78, 0x2e, 0x6d, 0x69, 0x6d, 0x69, - 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x43, 0x6f, 0x6e, 0x76, - 0x65, 0x72, 0x73, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x4d, 0x65, 0x6d, 0x62, 0x65, 0x72, 0x52, 0x09, - 0x61, 0x74, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, 0x63, - 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x73, 0x0a, 0x0a, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, - 0x69, 0x6e, 0x67, 0x12, 0x65, 0x0a, 0x0a, 0x50, 0x61, 0x72, 0x73, 0x65, 0x45, 0x6d, 0x61, 0x69, - 0x6c, 0x12, 0x2a, 0x2e, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x69, - 0x74, 0x65, 0x2e, 0x78, 0x2e, 0x6d, 0x69, 0x6d, 0x69, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, - 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x50, 0x61, 0x72, 0x73, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x2b, 0x2e, - 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x2e, 0x78, - 0x2e, 0x6d, 0x69, 0x6d, 0x69, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, - 0x2e, 0x50, 0x61, 0x72, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x42, 0x2e, 0x5a, 0x2c, 0x77, 0x69, - 0x74, 0x68, 0x69, 0x6e, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x2f, 0x78, 0x2f, 0x63, - 0x6d, 0x64, 0x2f, 0x6d, 0x69, 0x6d, 0x69, 0x2f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, 0x2f, - 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x33, + 0x09, 0x61, 0x74, 0x74, 0x65, 0x6e, 0x64, 0x65, 0x65, 0x73, 0x12, 0x1a, 0x0a, 0x08, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x18, 0x05, 0x20, 0x01, 0x28, 0x09, 0x52, 0x08, 0x6c, 0x6f, + 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x32, 0x73, 0x0a, 0x0a, 0x53, 0x63, 0x68, 0x65, 0x64, 0x75, + 0x6c, 0x69, 0x6e, 0x67, 0x12, 0x65, 0x0a, 0x0a, 0x50, 0x61, 0x72, 0x73, 0x65, 0x45, 0x6d, 0x61, + 0x69, 0x6c, 0x12, 0x2a, 0x2e, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x2e, 0x77, 0x65, 0x62, 0x73, + 0x69, 0x74, 0x65, 0x2e, 0x78, 0x2e, 0x6d, 0x69, 0x6d, 0x69, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, + 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x2e, 0x50, 0x61, 0x72, 0x73, 0x65, 0x52, 0x65, 0x71, 0x1a, 0x2b, + 0x2e, 0x77, 0x69, 0x74, 0x68, 0x69, 0x6e, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x2e, + 0x78, 0x2e, 0x6d, 0x69, 0x6d, 0x69, 0x2e, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, + 0x67, 0x2e, 0x50, 0x61, 0x72, 0x73, 0x65, 0x52, 0x65, 0x73, 0x70, 0x42, 0x2e, 0x5a, 0x2c, 0x77, + 0x69, 0x74, 0x68, 0x69, 0x6e, 0x2e, 0x77, 0x65, 0x62, 0x73, 0x69, 0x74, 0x65, 0x2f, 0x78, 0x2f, + 0x63, 0x6d, 0x64, 0x2f, 0x6d, 0x69, 0x6d, 0x69, 0x2f, 0x6d, 0x6f, 0x64, 0x75, 0x6c, 0x65, 0x73, + 0x2f, 0x73, 0x63, 0x68, 0x65, 0x64, 0x75, 0x6c, 0x69, 0x6e, 0x67, 0x62, 0x06, 0x70, 0x72, 0x6f, + 0x74, 0x6f, 0x33, } var ( diff --git a/cmd/mimi/modules/scheduling/scheduling.twirp.go b/cmd/mimi/modules/scheduling/scheduling.twirp.go index 22c9a99..bbe329d 100644 --- a/cmd/mimi/modules/scheduling/scheduling.twirp.go +++ b/cmd/mimi/modules/scheduling/scheduling.twirp.go @@ -1087,27 +1087,29 @@ func callClientError(ctx context.Context, h *twirp.ClientHooks, err twirp.Error) } var twirpFileDescriptor0 = []byte{ - // 341 bytes of a gzipped FileDescriptorProto - 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x52, 0xcd, 0x4a, 0x33, 0x31, - 0x14, 0x65, 0xfa, 0xf3, 0x7d, 0x9d, 0xeb, 0x46, 0x62, 0x17, 0x43, 0x41, 0x28, 0x5d, 0x15, 0x95, - 0x0c, 0x54, 0x9f, 0x40, 0x71, 0x29, 0xc8, 0xe8, 0xca, 0x4d, 0x49, 0x67, 0x2e, 0x6d, 0x60, 0xee, - 0xa4, 0xe6, 0x66, 0x6c, 0x7d, 0x32, 0x5f, 0xc3, 0x47, 0x92, 0xcc, 0x4f, 0xab, 0x74, 0x51, 0xc1, - 0xdd, 0x3d, 0x87, 0x93, 0x7b, 0xce, 0x49, 0x02, 0xa7, 0x9c, 0xae, 0x30, 0x2b, 0x73, 0x5d, 0x2c, - 0xe5, 0xda, 0x1a, 0x67, 0xc4, 0x78, 0xa3, 0xdd, 0x4a, 0x17, 0x72, 0x83, 0x0b, 0xd6, 0x0e, 0xe5, - 0x56, 0x92, 0x26, 0x2d, 0xf7, 0xba, 0x49, 0x02, 0xe2, 0xce, 0x14, 0x6f, 0x68, 0x59, 0x39, 0x6d, - 0x8a, 0x07, 0xa4, 0x05, 0x5a, 0x21, 0xa0, 0x67, 0x4d, 0x8e, 0x51, 0x30, 0x0e, 0xa6, 0x61, 0x52, - 0xcd, 0x9e, 0x2b, 0x14, 0x61, 0xd4, 0xa9, 0x39, 0x3f, 0x8b, 0x21, 0xf4, 0x91, 0x94, 0xce, 0xa3, - 0x6e, 0x45, 0xd6, 0x60, 0xf2, 0x11, 0xc0, 0xe0, 0x51, 0x59, 0xc6, 0x04, 0x5f, 0xbd, 0x84, 0x4c, - 0xe1, 0x56, 0xcd, 0xae, 0x1a, 0x88, 0x25, 0x0c, 0xd3, 0x6f, 0xb6, 0x73, 0xaa, 0x7c, 0x39, 0xea, - 0x8c, 0xbb, 0xd3, 0x93, 0xd9, 0x8d, 0x3c, 0x96, 0x5b, 0x1e, 0x86, 0x4e, 0xce, 0xd2, 0x03, 0x8e, - 0x45, 0x04, 0xff, 0x09, 0x99, 0xd5, 0x12, 0x9b, 0x8c, 0x2d, 0xf4, 0x7d, 0x32, 0xe5, 0x30, 0xea, - 0xd5, 0x7d, 0xfc, 0x3c, 0xf9, 0x0c, 0x20, 0x6c, 0x92, 0xf3, 0x5a, 0x9c, 0x03, 0xb0, 0x53, 0xd6, - 0xcd, 0x9d, 0xa6, 0xf6, 0x2e, 0xc2, 0x8a, 0x79, 0xd6, 0x84, 0x62, 0x04, 0x83, 0xac, 0xb4, 0x95, - 0x5b, 0x73, 0x29, 0x3b, 0xec, 0x6d, 0xb9, 0x24, 0x52, 0xf6, 0xbd, 0xb5, 0x6d, 0xa0, 0x48, 0x20, - 0x54, 0xce, 0x61, 0x91, 0x21, 0x72, 0xd4, 0xfb, 0x43, 0xdd, 0xfd, 0x1a, 0x9f, 0x24, 0x37, 0x69, - 0x9d, 0xa4, 0x5f, 0x27, 0x69, 0xf1, 0x8c, 0x01, 0x9e, 0x76, 0x7b, 0x04, 0x02, 0x54, 0xfd, 0xee, - 0xfd, 0x43, 0x89, 0x8b, 0xe3, 0xc6, 0xed, 0x3b, 0x8e, 0x2e, 0x7f, 0xad, 0xe5, 0xf5, 0xad, 0x7c, - 0xb9, 0xfa, 0xa9, 0x8e, 0xb7, 0x71, 0x4a, 0x59, 0xec, 0x4f, 0xc4, 0x64, 0xb2, 0x32, 0x47, 0x8e, - 0xf7, 0x27, 0x17, 0xff, 0xaa, 0xef, 0x7a, 0xfd, 0x15, 0x00, 0x00, 0xff, 0xff, 0xca, 0x45, 0x5f, - 0xdf, 0xc2, 0x02, 0x00, 0x00, + // 371 bytes of a gzipped FileDescriptorProto + 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x52, 0x4d, 0x8f, 0xd3, 0x30, + 0x10, 0x55, 0xfa, 0x01, 0xcd, 0x70, 0x41, 0xa6, 0x87, 0x28, 0x12, 0x50, 0xf5, 0x54, 0x01, 0x72, + 0xa4, 0xc2, 0x2f, 0x00, 0x71, 0x44, 0x42, 0x81, 0x13, 0x97, 0xca, 0x49, 0x86, 0xd4, 0x52, 0x1c, + 0x07, 0x8f, 0x43, 0xcb, 0x2f, 0xe3, 0x6f, 0xec, 0x4f, 0x5a, 0xd9, 0x4e, 0xda, 0xdd, 0xed, 0xa1, + 0x2b, 0xed, 0x6d, 0xde, 0xe4, 0xcd, 0xbc, 0xf7, 0xc6, 0x81, 0x97, 0x54, 0xee, 0xb1, 0xea, 0x1b, + 0xd9, 0xd6, 0xbc, 0x33, 0xda, 0x6a, 0xb6, 0x3a, 0x48, 0xbb, 0x97, 0x2d, 0x3f, 0x60, 0x41, 0xd2, + 0x22, 0x3f, 0x72, 0x25, 0x95, 0xe4, 0x67, 0x5e, 0xfa, 0xa6, 0xd6, 0xba, 0x6e, 0x30, 0xf3, 0xfc, + 0xa2, 0xff, 0x9d, 0x55, 0xbd, 0x11, 0x56, 0xea, 0x36, 0x6c, 0x48, 0xdf, 0x3e, 0xfc, 0x6e, 0xa5, + 0x42, 0xb2, 0x42, 0x75, 0x81, 0xb0, 0xce, 0x81, 0x7d, 0xd1, 0xed, 0x5f, 0x34, 0xe4, 0xc7, 0xbe, + 0xa1, 0x2a, 0xd0, 0x30, 0x06, 0x33, 0xa3, 0x1b, 0x4c, 0xa2, 0x55, 0xb4, 0x89, 0x73, 0x5f, 0xbb, + 0x5e, 0x2b, 0x14, 0x26, 0x93, 0xd0, 0x73, 0x35, 0x5b, 0xc2, 0x1c, 0x95, 0x90, 0x4d, 0x32, 0xf5, + 0xcd, 0x00, 0xd6, 0xff, 0x23, 0x58, 0x7c, 0x17, 0x86, 0x30, 0xc7, 0x3f, 0x8e, 0xa2, 0x74, 0x6b, + 0xf7, 0xc3, 0xae, 0x00, 0x58, 0x0d, 0xcb, 0xf2, 0x8e, 0xec, 0x4e, 0x79, 0x5d, 0x4a, 0x26, 0xab, + 0xe9, 0xe6, 0xc5, 0xf6, 0x13, 0xbf, 0x16, 0x9c, 0x5f, 0x9a, 0xce, 0x5f, 0x95, 0x17, 0x3d, 0x62, + 0x09, 0x3c, 0x57, 0x48, 0x24, 0x6a, 0x1c, 0x3c, 0x8e, 0xd0, 0xe5, 0xa9, 0x84, 0xc5, 0x64, 0x16, + 0xf2, 0xb8, 0x7a, 0x7d, 0x13, 0x41, 0x3c, 0x38, 0xa7, 0x8e, 0xbd, 0x06, 0x20, 0x2b, 0x8c, 0xdd, + 0xb9, 0xa3, 0x0d, 0xfe, 0x63, 0xdf, 0xf9, 0x29, 0x15, 0xb2, 0x14, 0x16, 0xe3, 0xb5, 0x87, 0xa3, + 0x9c, 0xb0, 0x93, 0xa5, 0x5e, 0x29, 0x61, 0xfe, 0x8d, 0xb2, 0x03, 0x64, 0x39, 0xc4, 0xc2, 0x5a, + 0x6c, 0x2b, 0x44, 0x4a, 0x66, 0x4f, 0x88, 0x7b, 0x5e, 0xe3, 0x9c, 0x34, 0xba, 0x0c, 0x4e, 0xe6, + 0xc1, 0xc9, 0x88, 0xb7, 0x04, 0xf0, 0xe3, 0xb4, 0x87, 0x21, 0x80, 0xcf, 0xf7, 0xd5, 0x3d, 0x14, + 0x7b, 0x77, 0x5d, 0x78, 0x7c, 0xc7, 0xf4, 0xfd, 0xa3, 0xb9, 0xd4, 0x7d, 0xe6, 0xbf, 0x3e, 0xdc, + 0x67, 0x67, 0xc7, 0xac, 0x54, 0x55, 0xe6, 0x26, 0x32, 0xa5, 0xab, 0xbe, 0x41, 0xca, 0xce, 0x93, + 0xc5, 0x33, 0xff, 0x33, 0x7e, 0xbc, 0x0d, 0x00, 0x00, 0xff, 0xff, 0xa5, 0x17, 0x84, 0x1b, 0x03, + 0x03, 0x00, 0x00, } diff --git a/cmd/mimi/modules/scheduling/scheduling_grpc.pb.go b/cmd/mimi/modules/scheduling/scheduling_grpc.pb.go index 7cfd27c..4ba961b 100644 --- a/cmd/mimi/modules/scheduling/scheduling_grpc.pb.go +++ b/cmd/mimi/modules/scheduling/scheduling_grpc.pb.go @@ -1,7 +1,7 @@ // Code generated by protoc-gen-go-grpc. DO NOT EDIT. // versions: // - protoc-gen-go-grpc v1.3.0 -// - protoc v4.23.4 +// - protoc v4.24.4 // source: scheduling.proto package scheduling diff --git a/cmd/sanguisuga/static/styles.css b/cmd/sanguisuga/static/styles.css index 1eea2f1..f362b44 100644 --- a/cmd/sanguisuga/static/styles.css +++ b/cmd/sanguisuga/static/styles.css @@ -1 +1 @@ -/*! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}html{-webkit-text-size-adjust:100%;font-feature-settings:normal;font-family:Iosevka Aile Iaso,sans-serif;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:Iosevka Curly Iaso,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.mx-auto{margin-left:auto;margin-right:auto}.my-4{margin-bottom:1rem;margin-top:1rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mt-0{margin-top:0}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.block{display:block}.flex{display:flex}.table{display:table}.h-full{height:100%}.w-1\/2{width:50%}.w-64{width:16rem}.w-full{width:100%}.max-w-4xl{max-width:56rem}.max-w-xl{max-width:36rem}.border-collapse{border-collapse:collapse}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.items-start{align-items:flex-start}.justify-center{justify-content:center}.border{border-width:1px}.border-slate-300{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity))}.border-slate-400{--tw-border-opacity:1;border-color:rgb(148 163 184/var(--tw-border-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.bg-neutral-200{--tw-bg-opacity:1;background-color:rgb(229 229 229/var(--tw-bg-opacity))}.bg-neutral-300{--tw-bg-opacity:1;background-color:rgb(212 212 212/var(--tw-bg-opacity))}.bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-sm{font-size:.875rem;line-height:1.25rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-tight{line-height:1.25}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-neutral-700{--tw-text-opacity:1;color:rgb(64 64 64/var(--tw-text-opacity))}.text-neutral-800{--tw-text-opacity:1;color:rgb(38 38 38/var(--tw-text-opacity))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.hover\:bg-gray-800:hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.hover\:text-gray-500:hover{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.disabled\:opacity-50:disabled{opacity:.5}@media (prefers-color-scheme:dark){.dark\:bg-neutral-700{--tw-bg-opacity:1;background-color:rgb(64 64 64/var(--tw-bg-opacity))}.dark\:text-neutral-200{--tw-text-opacity:1;color:rgb(229 229 229/var(--tw-text-opacity))}.dark\:text-neutral-400{--tw-text-opacity:1;color:rgb(163 163 163/var(--tw-text-opacity))}}@media (min-width:1024px){.lg\:text-left{text-align:left}}
\ No newline at end of file +/*! tailwindcss v3.4.1 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}:host,html{-webkit-text-size-adjust:100%;font-feature-settings:normal;-webkit-tap-highlight-color:transparent;font-family:Iosevka Aile Iaso,sans-serif;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-feature-settings:normal;font-family:Iosevka Curly Iaso,monospace;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.mx-auto{margin-left:auto;margin-right:auto}.my-4{margin-bottom:1rem;margin-top:1rem}.mb-2{margin-bottom:.5rem}.mb-4{margin-bottom:1rem}.mt-0{margin-top:0}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.block{display:block}.flex{display:flex}.table{display:table}.h-full{height:100%}.w-1\/2{width:50%}.w-64{width:16rem}.w-full{width:100%}.max-w-4xl{max-width:56rem}.max-w-xl{max-width:36rem}.border-collapse{border-collapse:collapse}.list-inside{list-style-position:inside}.list-disc{list-style-type:disc}.items-start{align-items:flex-start}.justify-center{justify-content:center}.border{border-width:1px}.border-slate-300{--tw-border-opacity:1;border-color:rgb(203 213 225/var(--tw-border-opacity))}.border-slate-400{--tw-border-opacity:1;border-color:rgb(148 163 184/var(--tw-border-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.bg-neutral-200{--tw-bg-opacity:1;background-color:rgb(229 229 229/var(--tw-bg-opacity))}.bg-neutral-300{--tw-bg-opacity:1;background-color:rgb(212 212 212/var(--tw-bg-opacity))}.bg-slate-50{--tw-bg-opacity:1;background-color:rgb(248 250 252/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-4{padding:1rem}.px-2{padding-left:.5rem;padding-right:.5rem}.text-left{text-align:left}.text-center{text-align:center}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-sm{font-size:.875rem;line-height:1.25rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.leading-tight{line-height:1.25}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-neutral-700{--tw-text-opacity:1;color:rgb(64 64 64/var(--tw-text-opacity))}.text-neutral-800{--tw-text-opacity:1;color:rgb(38 38 38/var(--tw-text-opacity))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity))}.text-slate-900{--tw-text-opacity:1;color:rgb(15 23 42/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.underline{text-decoration-line:underline}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-300{transition-duration:.3s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.hover\:bg-gray-800:hover{--tw-bg-opacity:1;background-color:rgb(31 41 55/var(--tw-bg-opacity))}.hover\:text-gray-500:hover{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.disabled\:opacity-50:disabled{opacity:.5}@media (min-width:1024px){.lg\:text-left{text-align:left}}@media (prefers-color-scheme:dark){.dark\:bg-neutral-700{--tw-bg-opacity:1;background-color:rgb(64 64 64/var(--tw-bg-opacity))}.dark\:text-neutral-200{--tw-text-opacity:1;color:rgb(229 229 229/var(--tw-text-opacity))}.dark\:text-neutral-400{--tw-text-opacity:1;color:rgb(163 163 163/var(--tw-text-opacity))}}
\ No newline at end of file diff --git a/cmd/tourian/ent/client.go b/cmd/tourian/ent/client.go index 32dcda6..1b1bf17 100644 --- a/cmd/tourian/ent/client.go +++ b/cmd/tourian/ent/client.go @@ -15,6 +15,7 @@ import ( "entgo.io/ent/dialect" "entgo.io/ent/dialect/sql" "within.website/x/cmd/tourian/ent/chatmessage" + "within.website/x/cmd/tourian/ent/conversation" ) // Client is the client that holds all ent builders. @@ -24,6 +25,8 @@ type Client struct { Schema *migrate.Schema // ChatMessage is the client for interacting with the ChatMessage builders. ChatMessage *ChatMessageClient + // Conversation is the client for interacting with the Conversation builders. + Conversation *ConversationClient } // NewClient creates a new client configured with the given options. @@ -36,6 +39,7 @@ func NewClient(opts ...Option) *Client { func (c *Client) init() { c.Schema = migrate.NewSchema(c.driver) c.ChatMessage = NewChatMessageClient(c.config) + c.Conversation = NewConversationClient(c.config) } type ( @@ -126,9 +130,10 @@ func (c *Client) Tx(ctx context.Context) (*Tx, error) { cfg := c.config cfg.driver = tx return &Tx{ - ctx: ctx, - config: cfg, - ChatMessage: NewChatMessageClient(cfg), + ctx: ctx, + config: cfg, + ChatMessage: NewChatMessageClient(cfg), + Conversation: NewConversationClient(cfg), }, nil } @@ -146,9 +151,10 @@ func (c *Client) BeginTx(ctx context.Context, opts *sql.TxOptions) (*Tx, error) cfg := c.config cfg.driver = &txDriver{tx: tx, drv: c.driver} return &Tx{ - ctx: ctx, - config: cfg, - ChatMessage: NewChatMessageClient(cfg), + ctx: ctx, + config: cfg, + ChatMessage: NewChatMessageClient(cfg), + Conversation: NewConversationClient(cfg), }, nil } @@ -178,12 +184,14 @@ func (c *Client) Close() error { // In order to add hooks to a specific client, call: `client.Node.Use(...)`. func (c *Client) Use(hooks ...Hook) { c.ChatMessage.Use(hooks...) + c.Conversation.Use(hooks...) } // Intercept adds the query interceptors to all the entity clients. // In order to add interceptors to a specific client, call: `client.Node.Intercept(...)`. func (c *Client) Intercept(interceptors ...Interceptor) { c.ChatMessage.Intercept(interceptors...) + c.Conversation.Intercept(interceptors...) } // Mutate implements the ent.Mutator interface. @@ -191,6 +199,8 @@ func (c *Client) Mutate(ctx context.Context, m Mutation) (Value, error) { switch m := m.(type) { case *ChatMessageMutation: return c.ChatMessage.mutate(ctx, m) + case *ConversationMutation: + return c.Conversation.mutate(ctx, m) default: return nil, fmt.Errorf("ent: unknown mutation type %T", m) } @@ -329,12 +339,145 @@ func (c *ChatMessageClient) mutate(ctx context.Context, m *ChatMessageMutation) } } +// ConversationClient is a client for the Conversation schema. +type ConversationClient struct { + config +} + +// NewConversationClient returns a client for the Conversation from the given config. +func NewConversationClient(c config) *ConversationClient { + return &ConversationClient{config: c} +} + +// Use adds a list of mutation hooks to the hooks stack. +// A call to `Use(f, g, h)` equals to `conversation.Hooks(f(g(h())))`. +func (c *ConversationClient) Use(hooks ...Hook) { + c.hooks.Conversation = append(c.hooks.Conversation, hooks...) +} + +// Intercept adds a list of query interceptors to the interceptors stack. +// A call to `Intercept(f, g, h)` equals to `conversation.Intercept(f(g(h())))`. +func (c *ConversationClient) Intercept(interceptors ...Interceptor) { + c.inters.Conversation = append(c.inters.Conversation, interceptors...) +} + +// Create returns a builder for creating a Conversation entity. +func (c *ConversationClient) Create() *ConversationCreate { + mutation := newConversationMutation(c.config, OpCreate) + return &ConversationCreate{config: c.config, hooks: c.Hooks(), mutation: mutation} +} + +// CreateBulk returns a builder for creating a bulk of Conversation entities. +func (c *ConversationClient) CreateBulk(builders ...*ConversationCreate) *ConversationCreateBulk { + return &ConversationCreateBulk{config: c.config, builders: builders} +} + +// MapCreateBulk creates a bulk creation builder from the given slice. For each item in the slice, the function creates +// a builder and applies setFunc on it. +func (c *ConversationClient) MapCreateBulk(slice any, setFunc func(*ConversationCreate, int)) *ConversationCreateBulk { + rv := reflect.ValueOf(slice) + if rv.Kind() != reflect.Slice { + return &ConversationCreateBulk{err: fmt.Errorf("calling to ConversationClient.MapCreateBulk with wrong type %T, need slice", slice)} + } + builders := make([]*ConversationCreate, rv.Len()) + for i := 0; i < rv.Len(); i++ { + builders[i] = c.Create() + setFunc(builders[i], i) + } + return &ConversationCreateBulk{config: c.config, builders: builders} +} + +// Update returns an update builder for Conversation. +func (c *ConversationClient) Update() *ConversationUpdate { + mutation := newConversationMutation(c.config, OpUpdate) + return &ConversationUpdate{config: c.config, hooks: c.Hooks(), mutation: mutation} +} + +// UpdateOne returns an update builder for the given entity. +func (c *ConversationClient) UpdateOne(co *Conversation) *ConversationUpdateOne { + mutation := newConversationMutation(c.config, OpUpdateOne, withConversation(co)) + return &ConversationUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation} +} + +// UpdateOneID returns an update builder for the given id. +func (c *ConversationClient) UpdateOneID(id string) *ConversationUpdateOne { + mutation := newConversationMutation(c.config, OpUpdateOne, withConversationID(id)) + return &ConversationUpdateOne{config: c.config, hooks: c.Hooks(), mutation: mutation} +} + +// Delete returns a delete builder for Conversation. +func (c *ConversationClient) Delete() *ConversationDelete { + mutation := newConversationMutation(c.config, OpDelete) + return &ConversationDelete{config: c.config, hooks: c.Hooks(), mutation: mutation} +} + +// DeleteOne returns a builder for deleting the given entity. +func (c *ConversationClient) DeleteOne(co *Conversation) *ConversationDeleteOne { + return c.DeleteOneID(co.ID) +} + +// DeleteOneID returns a builder for deleting the given entity by its id. +func (c *ConversationClient) DeleteOneID(id string) *ConversationDeleteOne { + builder := c.Delete().Where(conversation.ID(id)) + builder.mutation.id = &id + builder.mutation.op = OpDeleteOne + return &ConversationDeleteOne{builder} +} + +// Query returns a query builder for Conversation. +func (c *ConversationClient) Query() *ConversationQuery { + return &ConversationQuery{ + config: c.config, + ctx: &QueryContext{Type: TypeConversation}, + inters: c.Interceptors(), + } +} + +// Get returns a Conversation entity by its id. +func (c *ConversationClient) Get(ctx context.Context, id string) (*Conversation, error) { + return c.Query().Where(conversation.ID(id)).Only(ctx) +} + +// GetX is like Get, but panics if an error occurs. +func (c *ConversationClient) GetX(ctx context.Context, id string) *Conversation { + obj, err := c.Get(ctx, id) + if err != nil { + panic(err) + } + return obj +} + +// Hooks returns the client hooks. +func (c *ConversationClient) Hooks() []Hook { + return c.hooks.Conversation +} + +// Interceptors returns the client interceptors. +func (c *ConversationClient) Interceptors() []Interceptor { + return c.inters.Conversation +} + +func (c *ConversationClient) mutate(ctx context.Context, m *ConversationMutation) (Value, error) { + switch m.Op() { + case OpCreate: + return (&ConversationCreate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) + case OpUpdate: + return (&ConversationUpdate{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) + case OpUpdateOne: + return (&ConversationUpdateOne{config: c.config, hooks: c.Hooks(), mutation: m}).Save(ctx) + case OpDelete, OpDeleteOne: + return (&ConversationDelete{config: c.config, hooks: c.Hooks(), mutation: m}).Exec(ctx) + default: + return nil, fmt.Errorf("ent: unknown Conversation mutation op: %q", m.Op()) + } +} + // hooks and interceptors per client, for fast access. type ( hooks struct { - ChatMessage []ent.Hook + ChatMessage, Conversation []ent.Hook } inters struct { - ChatMessage []ent.Interceptor + ChatMessage, Conversation []ent.Interceptor } ) diff --git a/cmd/tourian/ent/conversation.go b/cmd/tourian/ent/conversation.go new file mode 100644 index 0000000..4806fdd --- /dev/null +++ b/cmd/tourian/ent/conversation.go @@ -0,0 +1,101 @@ +// Code generated by ent, DO NOT EDIT. + +package ent + +import ( + "fmt" + "strings" + + "entgo.io/ent" + "entgo.io/ent/dialect/sql" + "within.website/x/cmd/tourian/ent/conversation" +) + +// Conversation is the model entity for the Conversation schema. +type Conversation struct { + config `json:"-"` + // ID of the ent. + ID string `json:"id,omitempty"` + // PageURL holds the value of the "page_url" field. + PageURL string `json:"page_url,omitempty"` + selectValues sql.SelectValues +} + +// scanValues returns the types for scanning values from sql.Rows. +func (*Conversation) scanValues(columns []string) ([]any, error) { + values := make([]any, len(columns)) + for i := range columns { + switch columns[i] { + case conversation.FieldID, conversation.FieldPageURL: + values[i] = new(sql.NullString) + default: + values[i] = new(sql.UnknownType) + } + } + return values, nil +} + +// assignValues assigns the values that were returned from sql.Rows (after scanning) +// to the Conversation fields. +func (c *Conversation) assignValues(columns []string, values []any) error { + if m, n := len(values), len(columns); m < n { + return fmt.Errorf("mismatch number of scan values: %d != %d", m, n) + } + for i := range columns { + switch columns[i] { + case conversation.FieldID: + if value, ok := values[i].(*sql.NullString); !ok { + return fmt.Errorf("unexpected type %T for field id", values[i]) + } else if value.Valid { + c.ID = value.String + } + case conversation.FieldPageURL: + if value, ok := values[i].(*sql.NullString); !ok { + return fmt.Errorf("unexpected type %T for field page_url", values[i]) + } else if value.Valid { + c.PageURL = value.String + } + default: + c.selectValues.Set(columns[i], values[i]) + } + } + return nil +} + +// Value returns the ent.Value that was dynamically selected and assigned to the Conversation. +// This includes values selected through modifiers, order, etc. +func (c *Conversation) Value(name string) (ent.Value, error) { + return c.selectValues.Get(name) +} + +// Update returns a builder for updating this Conversation. +// Note that you need to call Conversation.Unwrap() before calling this method if this Conversation |
