diff --git a/MODULE.bazel.lock b/MODULE.bazel.lock index e9afcfbb..33ce487d 100644 --- a/MODULE.bazel.lock +++ b/MODULE.bazel.lock @@ -29589,9 +29589,9 @@ "@@rules_go~0.44.0//:go.mod": "15454724af1504c4ce1782c2a7f423d596a1d8490125eb7c5bd9c95fea1991f0", "@@shape-app~override//:go.mod": "c1a217f5cd2a2225da80e04734ca645f2a938ab46837e2248a457564f9ac4a33", "@@gazelle~0.35.0//:go.mod": "48dc6e771c3028ee1c18b9ffc81e596fd5f6d7e0016c5ef280e30f2821f60473", - "@@events~override//:go.mod": "e02234a83e1f9d00752078e877f83bd11cdc2c47799dfb8adf460a109eab8163", + "@@events~override//:go.mod": "4a2c16d09ce6dc07514003bb8d2df256b82012200798846daef993f43c655a35", "@@cqrs~override//:go.sum": "00886e70223c3b5577f23a419f7a9efaded96b65ed82fb2090134ef023e16e5a", - "@@events~override//:go.sum": "5579ff72e5608ac11690268cb37569b349206f85a3585c54e42702e65a29b753", + "@@events~override//:go.sum": "eefa21a39467c75f36ae5dbe88434159c76f606886513a0c150966a5e44f9fa7", "@@rules_go~0.44.0//:go.sum": "b5938730bf7d3581421928b0385d99648dd9634becead96fca0594ac491b2f49", "@@gazelle~0.35.0//:go.sum": "7c4460e8ecb5dd8691a51d4fa2e9e4751108b933636497ce46db499fc2e7a88d", "@@cqrs~override//:go.mod": "23ab3d804e293dfc872e77e8722a76d4c3c07232c94762d3c28a6facc492f9e9", @@ -29839,36 +29839,36 @@ "version": "v0.5.4" } }, - "com_github_urfave_cli_v3": { + "io_opentelemetry_go_otel": { "bzlFile": "@@gazelle~0.35.0//internal:go_repository.bzl", "ruleClassName": "go_repository", "attributes": { - "name": "gazelle~0.35.0~go_deps~com_github_urfave_cli_v3", - "importpath": "github.com/urfave/cli/v3", + "name": "gazelle~0.35.0~go_deps~io_opentelemetry_go_otel", + "importpath": "go.opentelemetry.io/otel", "build_directives": [], "build_file_generation": "auto", "build_extra_args": [], "patches": [], "patch_args": [], - "sum": "h1:H+qxFPoCkGzdF8KUMs2fEOZl5io/1QySgUiGfar8occ=", + "sum": "h1:hzLeKBZEL7Okw2mGzZ0cc4k/A7Fta0uoPgaJCr8fsFc=", "replace": "", - "version": "v3.0.0-alpha8" + "version": "v1.21.0" } }, - "io_opentelemetry_go_otel": { + "com_github_urfave_cli_v3": { "bzlFile": "@@gazelle~0.35.0//internal:go_repository.bzl", "ruleClassName": "go_repository", "attributes": { - "name": "gazelle~0.35.0~go_deps~io_opentelemetry_go_otel", - "importpath": "go.opentelemetry.io/otel", + "name": "gazelle~0.35.0~go_deps~com_github_urfave_cli_v3", + "importpath": "github.com/urfave/cli/v3", "build_directives": [], "build_file_generation": "auto", "build_extra_args": [], "patches": [], "patch_args": [], - "sum": "h1:hzLeKBZEL7Okw2mGzZ0cc4k/A7Fta0uoPgaJCr8fsFc=", + "sum": "h1:H+qxFPoCkGzdF8KUMs2fEOZl5io/1QySgUiGfar8occ=", "replace": "", - "version": "v1.21.0" + "version": "v3.0.0-alpha8" } }, "org_golang_google_genproto_googleapis_api": { @@ -30425,6 +30425,22 @@ "version": "v0.6.0" } }, + "com_github_go_logr_stdr": { + "bzlFile": "@@gazelle~0.35.0//internal:go_repository.bzl", + "ruleClassName": "go_repository", + "attributes": { + "name": "gazelle~0.35.0~go_deps~com_github_go_logr_stdr", + "importpath": "github.com/go-logr/stdr", + "build_directives": [], + "build_file_generation": "auto", + "build_extra_args": [], + "patches": [], + "patch_args": [], + "sum": "h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=", + "replace": "", + "version": "v1.2.2" + } + }, "com_github_beorn7_floats": { "bzlFile": "@@gazelle~0.35.0//internal:go_repository.bzl", "ruleClassName": "go_repository", @@ -30441,20 +30457,20 @@ "version": "v1.0.0" } }, - "com_github_go_logr_stdr": { + "com_github_go_logr_logr": { "bzlFile": "@@gazelle~0.35.0//internal:go_repository.bzl", "ruleClassName": "go_repository", "attributes": { - "name": "gazelle~0.35.0~go_deps~com_github_go_logr_stdr", - "importpath": "github.com/go-logr/stdr", + "name": "gazelle~0.35.0~go_deps~com_github_go_logr_logr", + "importpath": "github.com/go-logr/logr", "build_directives": [], "build_file_generation": "auto", "build_extra_args": [], "patches": [], "patch_args": [], - "sum": "h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag=", + "sum": "h1:2y3SDp0ZXuc6/cjLSZ+Q3ir+QB9T/iG5yYRXqsagWSY=", "replace": "", - "version": "v1.2.2" + "version": "v1.3.0" } }, "com_github_mitchellh_mapstructure": { @@ -30489,22 +30505,6 @@ "version": "v0.14.0" } }, - "com_github_go_logr_logr": { - "bzlFile": "@@gazelle~0.35.0//internal:go_repository.bzl", - "ruleClassName": "go_repository", - "attributes": { - "name": "gazelle~0.35.0~go_deps~com_github_go_logr_logr", - "importpath": "github.com/go-logr/logr", - "build_directives": [], - "build_file_generation": "auto", - "build_extra_args": [], - "patches": [], - "patch_args": [], - "sum": "h1:2y3SDp0ZXuc6/cjLSZ+Q3ir+QB9T/iG5yYRXqsagWSY=", - "replace": "", - "version": "v1.3.0" - } - }, "com_github_spf13_viper": { "bzlFile": "@@gazelle~0.35.0//internal:go_repository.bzl", "ruleClassName": "go_repository", @@ -30537,36 +30537,36 @@ "version": "v1.5.0" } }, - "com_github_hashicorp_go_memdb": { + "io_opentelemetry_go_otel_trace": { "bzlFile": "@@gazelle~0.35.0//internal:go_repository.bzl", "ruleClassName": "go_repository", "attributes": { - "name": "gazelle~0.35.0~go_deps~com_github_hashicorp_go_memdb", - "importpath": "github.com/hashicorp/go-memdb", + "name": "gazelle~0.35.0~go_deps~io_opentelemetry_go_otel_trace", + "importpath": "go.opentelemetry.io/otel/trace", "build_directives": [], "build_file_generation": "auto", "build_extra_args": [], "patches": [], "patch_args": [], - "sum": "h1:XSL3NR682X/cVk2IeV0d70N4DZ9ljI885xAEU8IoK3c=", + "sum": "h1:WD9i5gzvoUPuXIXH24ZNBudiarZDKuekPqi/E8fpfLc=", "replace": "", - "version": "v1.3.4" + "version": "v1.21.0" } }, - "io_opentelemetry_go_otel_trace": { + "com_github_hashicorp_go_memdb": { "bzlFile": "@@gazelle~0.35.0//internal:go_repository.bzl", "ruleClassName": "go_repository", "attributes": { - "name": "gazelle~0.35.0~go_deps~io_opentelemetry_go_otel_trace", - "importpath": "go.opentelemetry.io/otel/trace", + "name": "gazelle~0.35.0~go_deps~com_github_hashicorp_go_memdb", + "importpath": "github.com/hashicorp/go-memdb", "build_directives": [], "build_file_generation": "auto", "build_extra_args": [], "patches": [], "patch_args": [], - "sum": "h1:WD9i5gzvoUPuXIXH24ZNBudiarZDKuekPqi/E8fpfLc=", + "sum": "h1:XSL3NR682X/cVk2IeV0d70N4DZ9ljI885xAEU8IoK3c=", "replace": "", - "version": "v1.21.0" + "version": "v1.3.4" } }, "io_opentelemetry_go_contrib_instrumentation_google_golang_org_grpc_otelgrpc": { @@ -30643,10 +30643,13 @@ "com_github_grpc_ecosystem_grpc_gateway_v2": "github.com/grpc-ecosystem/grpc-gateway/v2", "com_github_spf13_viper": "github.com/spf13/viper", "com_github_stretchr_testify": "github.com/stretchr/testify", + "io_opentelemetry_go_otel_trace": "go.opentelemetry.io/otel/trace", "org_golang_google_grpc": "google.golang.org/grpc", "org_golang_google_protobuf": "google.golang.org/protobuf", "com_github_davecgh_go_spew": "github.com/davecgh/go-spew", "com_github_fsnotify_fsnotify": "github.com/fsnotify/fsnotify", + "com_github_go_logr_logr": "github.com/go-logr/logr", + "com_github_go_logr_stdr": "github.com/go-logr/stdr", "com_github_golang_protobuf": "github.com/golang/protobuf", "com_github_hashicorp_hcl": "github.com/hashicorp/hcl", "com_github_magiconair_properties": "github.com/magiconair/properties", @@ -30660,6 +30663,9 @@ "com_github_spf13_cast": "github.com/spf13/cast", "com_github_spf13_pflag": "github.com/spf13/pflag", "com_github_subosito_gotenv": "github.com/subosito/gotenv", + "io_opentelemetry_go_otel": "go.opentelemetry.io/otel", + "io_opentelemetry_go_otel_metric": "go.opentelemetry.io/otel/metric", + "io_opentelemetry_go_otel_sdk": "go.opentelemetry.io/otel/sdk", "org_uber_go_atomic": "go.uber.org/atomic", "org_uber_go_multierr": "go.uber.org/multierr", "org_golang_x_exp": "golang.org/x/exp", @@ -30680,8 +30686,6 @@ "com_github_cenkalti_backoff_v4": "github.com/cenkalti/backoff/v4", "com_github_cucumber_gherkin_go_v26": "github.com/cucumber/gherkin/go/v26", "com_github_cucumber_messages_go_v21": "github.com/cucumber/messages/go/v21", - "com_github_go_logr_logr": "github.com/go-logr/logr", - "com_github_go_logr_stdr": "github.com/go-logr/stdr", "com_github_gofrs_uuid": "github.com/gofrs/uuid", "com_github_grpc_ecosystem_go_grpc_middleware_v2": "github.com/grpc-ecosystem/go-grpc-middleware/v2", "com_github_hashicorp_go_immutable_radix": "github.com/hashicorp/go-immutable-radix", @@ -30689,12 +30693,8 @@ "com_github_hashicorp_golang_lru": "github.com/hashicorp/golang-lru", "com_github_hashicorp_logutils": "github.com/hashicorp/logutils", "com_github_xrash_smetrics": "github.com/xrash/smetrics", - "io_opentelemetry_go_otel": "go.opentelemetry.io/otel", "io_opentelemetry_go_otel_exporters_otlp_otlptrace": "go.opentelemetry.io/otel/exporters/otlp/otlptrace", "io_opentelemetry_go_otel_exporters_otlp_otlptrace_otlptracegrpc": "go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracegrpc", - "io_opentelemetry_go_otel_metric": "go.opentelemetry.io/otel/metric", - "io_opentelemetry_go_otel_sdk": "go.opentelemetry.io/otel/sdk", - "io_opentelemetry_go_otel_trace": "go.opentelemetry.io/otel/trace", "io_opentelemetry_go_proto_otlp": "go.opentelemetry.io/proto/otlp", "org_golang_google_genproto": "google.golang.org/genproto", "com_github_gogo_protobuf": "github.com/gogo/protobuf", diff --git a/events/MODULE.bazel.lock b/events/MODULE.bazel.lock new file mode 100644 index 00000000..eafeae62 --- /dev/null +++ b/events/MODULE.bazel.lock @@ -0,0 +1,949 @@ +{ + "lockFileVersion": 3, + "moduleFileHash": "8b2f42476ea4620e454e6c570e6f441ab692d4e345eef2917b7302bd73613059", + "flags": { + "cmdRegistries": [ + "https://bcr.bazel.build/" + ], + "cmdModuleOverrides": {}, + "allowedYankedVersions": [], + "envVarAllowedYankedVersions": "", + "ignoreDevDependency": false, + "directDependenciesMode": "WARNING", + "compatibilityMode": "ERROR" + }, + "localOverrideHashes": { + "bazel_tools": "922ea6752dc9105de5af957f7a99a6933c0a6a712d23df6aad16a9c399f7e787" + }, + "moduleDepGraph": { + "": { + "name": "events", + "version": "", + "key": "", + "repoName": "events", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [], + "extensionUsages": [ + { + "extensionBzlFile": "@io_bazel_rules_go//go/private:extensions.bzl", + "extensionName": "non_module_dependencies", + "usingModule": "", + "location": { + "file": "@@//:MODULE.bazel", + "line": 8, + "column": 41 + }, + "imports": { + "go_googleapis": "go_googleapis" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + }, + { + "extensionBzlFile": "@bazel_gazelle//:extensions.bzl", + "extensionName": "go_deps", + "usingModule": "", + "location": { + "file": "@@//:MODULE.bazel", + "line": 13, + "column": 24 + }, + "imports": {}, + "devImports": [], + "tags": [ + { + "tagName": "from_file", + "attributeValues": { + "go_mod": "//:go.mod" + }, + "devDependency": false, + "location": { + "file": "@@//:MODULE.bazel", + "line": 14, + "column": 18 + } + } + ], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + } + ], + "deps": { + "io_bazel_rules_go": "rules_go@0.44.0", + "bazel_gazelle": "gazelle@0.35.0", + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_" + } + }, + "rules_go@0.44.0": { + "name": "rules_go", + "version": "0.44.0", + "key": "rules_go@0.44.0", + "repoName": "io_bazel_rules_go", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [ + "@go_toolchains//:all" + ], + "extensionUsages": [ + { + "extensionBzlFile": "@io_bazel_rules_go//go:extensions.bzl", + "extensionName": "go_sdk", + "usingModule": "rules_go@0.44.0", + "location": { + "file": "https://bcr.bazel.build/modules/rules_go/0.44.0/MODULE.bazel", + "line": 14, + "column": 23 + }, + "imports": { + "go_toolchains": "go_toolchains", + "io_bazel_rules_nogo": "io_bazel_rules_nogo" + }, + "devImports": [], + "tags": [ + { + "tagName": "download", + "attributeValues": { + "name": "go_default_sdk", + "version": "1.21.1" + }, + "devDependency": false, + "location": { + "file": "https://bcr.bazel.build/modules/rules_go/0.44.0/MODULE.bazel", + "line": 15, + "column": 16 + } + } + ], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + }, + { + "extensionBzlFile": "@gazelle//:extensions.bzl", + "extensionName": "go_deps", + "usingModule": "rules_go@0.44.0", + "location": { + "file": "https://bcr.bazel.build/modules/rules_go/0.44.0/MODULE.bazel", + "line": 30, + "column": 24 + }, + "imports": { + "com_github_gogo_protobuf": "com_github_gogo_protobuf", + "com_github_golang_mock": "com_github_golang_mock", + "com_github_golang_protobuf": "com_github_golang_protobuf", + "org_golang_google_genproto": "org_golang_google_genproto", + "org_golang_google_grpc": "org_golang_google_grpc", + "org_golang_google_grpc_cmd_protoc_gen_go_grpc": "org_golang_google_grpc_cmd_protoc_gen_go_grpc", + "org_golang_google_protobuf": "org_golang_google_protobuf", + "org_golang_x_net": "org_golang_x_net", + "org_golang_x_tools": "org_golang_x_tools" + }, + "devImports": [], + "tags": [ + { + "tagName": "from_file", + "attributeValues": { + "go_mod": "//:go.mod" + }, + "devDependency": false, + "location": { + "file": "https://bcr.bazel.build/modules/rules_go/0.44.0/MODULE.bazel", + "line": 31, + "column": 18 + } + } + ], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + } + ], + "deps": { + "bazel_features": "bazel_features@1.1.1", + "bazel_skylib": "bazel_skylib@1.5.0", + "platforms": "platforms@0.0.7", + "rules_proto": "rules_proto@4.0.0", + "com_google_protobuf": "protobuf@3.19.6", + "gazelle": "gazelle@0.35.0", + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_go~0.44.0", + "urls": [ + "https://github.com/bazelbuild/rules_go/releases/download/v0.44.0/rules_go-v0.44.0.zip" + ], + "integrity": "sha256-yANeiuJItWBAplrT8LdDRxLiA35d/c6/6XV25iBCJwk=", + "strip_prefix": "", + "remote_patches": {}, + "remote_patch_strip": 0 + } + } + }, + "gazelle@0.35.0": { + "name": "gazelle", + "version": "0.35.0", + "key": "gazelle@0.35.0", + "repoName": "bazel_gazelle", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [], + "extensionUsages": [ + { + "extensionBzlFile": "@io_bazel_rules_go//go:extensions.bzl", + "extensionName": "go_sdk", + "usingModule": "gazelle@0.35.0", + "location": { + "file": "https://bcr.bazel.build/modules/gazelle/0.35.0/MODULE.bazel", + "line": 12, + "column": 23 + }, + "imports": { + "go_host_compatible_sdk_label": "go_host_compatible_sdk_label" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + }, + { + "extensionBzlFile": "@bazel_gazelle//internal/bzlmod:non_module_deps.bzl", + "extensionName": "non_module_deps", + "usingModule": "gazelle@0.35.0", + "location": { + "file": "https://bcr.bazel.build/modules/gazelle/0.35.0/MODULE.bazel", + "line": 20, + "column": 32 + }, + "imports": { + "bazel_gazelle_go_repository_cache": "bazel_gazelle_go_repository_cache", + "bazel_gazelle_go_repository_tools": "bazel_gazelle_go_repository_tools", + "bazel_gazelle_is_bazel_module": "bazel_gazelle_is_bazel_module" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + }, + { + "extensionBzlFile": "@bazel_gazelle//:extensions.bzl", + "extensionName": "go_deps", + "usingModule": "gazelle@0.35.0", + "location": { + "file": "https://bcr.bazel.build/modules/gazelle/0.35.0/MODULE.bazel", + "line": 28, + "column": 24 + }, + "imports": { + "com_github_bazelbuild_buildtools": "com_github_bazelbuild_buildtools", + "com_github_bmatcuk_doublestar_v4": "com_github_bmatcuk_doublestar_v4", + "com_github_fsnotify_fsnotify": "com_github_fsnotify_fsnotify", + "com_github_google_go_cmp": "com_github_google_go_cmp", + "com_github_pmezard_go_difflib": "com_github_pmezard_go_difflib", + "org_golang_x_mod": "org_golang_x_mod", + "org_golang_x_sync": "org_golang_x_sync", + "org_golang_x_tools": "org_golang_x_tools", + "org_golang_x_tools_go_vcs": "org_golang_x_tools_go_vcs", + "bazel_gazelle_go_repository_config": "bazel_gazelle_go_repository_config", + "com_github_golang_protobuf": "com_github_golang_protobuf", + "org_golang_google_protobuf": "org_golang_google_protobuf" + }, + "devImports": [], + "tags": [ + { + "tagName": "from_file", + "attributeValues": { + "go_mod": "//:go.mod" + }, + "devDependency": false, + "location": { + "file": "https://bcr.bazel.build/modules/gazelle/0.35.0/MODULE.bazel", + "line": 29, + "column": 18 + } + }, + { + "tagName": "module", + "attributeValues": { + "path": "golang.org/x/tools", + "sum": "h1:zdAyfUGbYmuVokhzVmghFl2ZJh5QhcfebBgmVPFYA+8=", + "version": "v0.15.0" + }, + "devDependency": false, + "location": { + "file": "https://bcr.bazel.build/modules/gazelle/0.35.0/MODULE.bazel", + "line": 33, + "column": 15 + } + } + ], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + } + ], + "deps": { + "bazel_skylib": "bazel_skylib@1.5.0", + "com_google_protobuf": "protobuf@3.19.6", + "io_bazel_rules_go": "rules_go@0.44.0", + "rules_proto": "rules_proto@4.0.0", + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "gazelle~0.35.0", + "urls": [ + "https://github.com/bazelbuild/bazel-gazelle/releases/download/v0.35.0/bazel-gazelle-v0.35.0.tar.gz" + ], + "integrity": "sha256-MpOL2hbmcABjA1R5Bj2dJMYO2o15/Uc5Vj9Q0zHLMgk=", + "strip_prefix": "", + "remote_patches": {}, + "remote_patch_strip": 0 + } + } + }, + "bazel_tools@_": { + "name": "bazel_tools", + "version": "", + "key": "bazel_tools@_", + "repoName": "bazel_tools", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [ + "@local_config_cc_toolchains//:all", + "@local_config_sh//:local_sh_toolchain" + ], + "extensionUsages": [ + { + "extensionBzlFile": "@bazel_tools//tools/cpp:cc_configure.bzl", + "extensionName": "cc_configure_extension", + "usingModule": "bazel_tools@_", + "location": { + "file": "@@bazel_tools//:MODULE.bazel", + "line": 17, + "column": 29 + }, + "imports": { + "local_config_cc": "local_config_cc", + "local_config_cc_toolchains": "local_config_cc_toolchains" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + }, + { + "extensionBzlFile": "@bazel_tools//tools/osx:xcode_configure.bzl", + "extensionName": "xcode_configure_extension", + "usingModule": "bazel_tools@_", + "location": { + "file": "@@bazel_tools//:MODULE.bazel", + "line": 21, + "column": 32 + }, + "imports": { + "local_config_xcode": "local_config_xcode" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + }, + { + "extensionBzlFile": "@rules_java//java:extensions.bzl", + "extensionName": "toolchains", + "usingModule": "bazel_tools@_", + "location": { + "file": "@@bazel_tools//:MODULE.bazel", + "line": 24, + "column": 32 + }, + "imports": { + "local_jdk": "local_jdk", + "remote_java_tools": "remote_java_tools", + "remote_java_tools_linux": "remote_java_tools_linux", + "remote_java_tools_windows": "remote_java_tools_windows", + "remote_java_tools_darwin_x86_64": "remote_java_tools_darwin_x86_64", + "remote_java_tools_darwin_arm64": "remote_java_tools_darwin_arm64" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + }, + { + "extensionBzlFile": "@bazel_tools//tools/sh:sh_configure.bzl", + "extensionName": "sh_configure_extension", + "usingModule": "bazel_tools@_", + "location": { + "file": "@@bazel_tools//:MODULE.bazel", + "line": 35, + "column": 39 + }, + "imports": { + "local_config_sh": "local_config_sh" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + }, + { + "extensionBzlFile": "@bazel_tools//tools/test:extensions.bzl", + "extensionName": "remote_coverage_tools_extension", + "usingModule": "bazel_tools@_", + "location": { + "file": "@@bazel_tools//:MODULE.bazel", + "line": 39, + "column": 48 + }, + "imports": { + "remote_coverage_tools": "remote_coverage_tools" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + }, + { + "extensionBzlFile": "@bazel_tools//tools/android:android_extensions.bzl", + "extensionName": "remote_android_tools_extensions", + "usingModule": "bazel_tools@_", + "location": { + "file": "@@bazel_tools//:MODULE.bazel", + "line": 42, + "column": 42 + }, + "imports": { + "android_gmaven_r8": "android_gmaven_r8", + "android_tools": "android_tools" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + } + ], + "deps": { + "rules_cc": "rules_cc@0.0.9", + "rules_java": "rules_java@7.1.0", + "rules_license": "rules_license@0.0.7", + "rules_proto": "rules_proto@4.0.0", + "rules_python": "rules_python@0.4.0", + "platforms": "platforms@0.0.7", + "com_google_protobuf": "protobuf@3.19.6", + "zlib": "zlib@1.3", + "build_bazel_apple_support": "apple_support@1.5.0", + "local_config_platform": "local_config_platform@_" + } + }, + "local_config_platform@_": { + "name": "local_config_platform", + "version": "", + "key": "local_config_platform@_", + "repoName": "local_config_platform", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [], + "extensionUsages": [], + "deps": { + "platforms": "platforms@0.0.7", + "bazel_tools": "bazel_tools@_" + } + }, + "bazel_features@1.1.1": { + "name": "bazel_features", + "version": "1.1.1", + "key": "bazel_features@1.1.1", + "repoName": "bazel_features", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [], + "extensionUsages": [ + { + "extensionBzlFile": "@bazel_features//private:extensions.bzl", + "extensionName": "version_extension", + "usingModule": "bazel_features@1.1.1", + "location": { + "file": "https://bcr.bazel.build/modules/bazel_features/1.1.1/MODULE.bazel", + "line": 6, + "column": 24 + }, + "imports": { + "bazel_features_globals": "bazel_features_globals", + "bazel_features_version": "bazel_features_version" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + } + ], + "deps": { + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "bazel_features~1.1.1", + "urls": [ + "https://github.com/bazel-contrib/bazel_features/releases/download/v1.1.1/bazel_features-v1.1.1.tar.gz" + ], + "integrity": "sha256-YsJuQn5cvHUQJERpJ2IuOYqdzfMsZDJSOIFXCdEcEag=", + "strip_prefix": "bazel_features-1.1.1", + "remote_patches": { + "https://bcr.bazel.build/modules/bazel_features/1.1.1/patches/module_dot_bazel_version.patch": "sha256-+56MAEsc7bYN/Pzhn252ZQUxiRzZg9bynXj1qpsmCYs=" + }, + "remote_patch_strip": 1 + } + } + }, + "bazel_skylib@1.5.0": { + "name": "bazel_skylib", + "version": "1.5.0", + "key": "bazel_skylib@1.5.0", + "repoName": "bazel_skylib", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [ + "//toolchains/unittest:cmd_toolchain", + "//toolchains/unittest:bash_toolchain" + ], + "extensionUsages": [], + "deps": { + "platforms": "platforms@0.0.7", + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "bazel_skylib~1.5.0", + "urls": [ + "https://github.com/bazelbuild/bazel-skylib/releases/download/1.5.0/bazel-skylib-1.5.0.tar.gz" + ], + "integrity": "sha256-zVWgYudjuTSZIfD124w5MyiNyLpPdt2UFqrGis7jy5Q=", + "strip_prefix": "", + "remote_patches": {}, + "remote_patch_strip": 0 + } + } + }, + "platforms@0.0.7": { + "name": "platforms", + "version": "0.0.7", + "key": "platforms@0.0.7", + "repoName": "platforms", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [], + "extensionUsages": [], + "deps": { + "rules_license": "rules_license@0.0.7", + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "platforms", + "urls": [ + "https://github.com/bazelbuild/platforms/releases/download/0.0.7/platforms-0.0.7.tar.gz" + ], + "integrity": "sha256-OlYcmee9vpFzqmU/1Xn+hJ8djWc5V4CrR3Cx84FDHVE=", + "strip_prefix": "", + "remote_patches": {}, + "remote_patch_strip": 0 + } + } + }, + "rules_proto@4.0.0": { + "name": "rules_proto", + "version": "4.0.0", + "key": "rules_proto@4.0.0", + "repoName": "rules_proto", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [], + "extensionUsages": [], + "deps": { + "bazel_skylib": "bazel_skylib@1.5.0", + "rules_cc": "rules_cc@0.0.9", + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_proto~4.0.0", + "urls": [ + "https://github.com/bazelbuild/rules_proto/archive/refs/tags/4.0.0.zip" + ], + "integrity": "sha256-Lr5z6xyuRA19pNtRYMGjKaynwQpck4H/lwYyVjyhoq4=", + "strip_prefix": "rules_proto-4.0.0", + "remote_patches": { + "https://bcr.bazel.build/modules/rules_proto/4.0.0/patches/module_dot_bazel.patch": "sha256-MclJO7tIAM2ElDAmscNId9pKTpOuDGHgVlW/9VBOIp0=" + }, + "remote_patch_strip": 0 + } + } + }, + "protobuf@3.19.6": { + "name": "protobuf", + "version": "3.19.6", + "key": "protobuf@3.19.6", + "repoName": "protobuf", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [], + "extensionUsages": [], + "deps": { + "bazel_skylib": "bazel_skylib@1.5.0", + "zlib": "zlib@1.3", + "rules_python": "rules_python@0.4.0", + "rules_cc": "rules_cc@0.0.9", + "rules_proto": "rules_proto@4.0.0", + "rules_java": "rules_java@7.1.0", + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "protobuf~3.19.6", + "urls": [ + "https://github.com/protocolbuffers/protobuf/archive/refs/tags/v3.19.6.zip" + ], + "integrity": "sha256-OH4sVZuyx8G8N5jE5s/wFTgaebJ1hpavy/johzC0c4k=", + "strip_prefix": "protobuf-3.19.6", + "remote_patches": { + "https://bcr.bazel.build/modules/protobuf/3.19.6/patches/relative_repo_names.patch": "sha256-w/5gw/zGv8NFId+669hcdw1Uus2lxgYpulATHIwIByI=", + "https://bcr.bazel.build/modules/protobuf/3.19.6/patches/remove_dependency_on_rules_jvm_external.patch": "sha256-THUTnVgEBmjA0W7fKzIyZOVG58DnW9HQTkr4D2zKUUc=", + "https://bcr.bazel.build/modules/protobuf/3.19.6/patches/add_module_dot_bazel_for_examples.patch": "sha256-s/b1gi3baK3LsXefI2rQilhmkb2R5jVJdnT6zEcdfHY=", + "https://bcr.bazel.build/modules/protobuf/3.19.6/patches/module_dot_bazel.patch": "sha256-S0DEni8zgx7rHscW3z/rCEubQnYec0XhNet640cw0h4=" + }, + "remote_patch_strip": 1 + } + } + }, + "rules_cc@0.0.9": { + "name": "rules_cc", + "version": "0.0.9", + "key": "rules_cc@0.0.9", + "repoName": "rules_cc", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [ + "@local_config_cc_toolchains//:all" + ], + "extensionUsages": [ + { + "extensionBzlFile": "@bazel_tools//tools/cpp:cc_configure.bzl", + "extensionName": "cc_configure_extension", + "usingModule": "rules_cc@0.0.9", + "location": { + "file": "https://bcr.bazel.build/modules/rules_cc/0.0.9/MODULE.bazel", + "line": 9, + "column": 29 + }, + "imports": { + "local_config_cc_toolchains": "local_config_cc_toolchains" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + } + ], + "deps": { + "platforms": "platforms@0.0.7", + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_cc~0.0.9", + "urls": [ + "https://github.com/bazelbuild/rules_cc/releases/download/0.0.9/rules_cc-0.0.9.tar.gz" + ], + "integrity": "sha256-IDeHW5pEVtzkp50RKorohbvEqtlo5lh9ym5k86CQDN8=", + "strip_prefix": "rules_cc-0.0.9", + "remote_patches": { + "https://bcr.bazel.build/modules/rules_cc/0.0.9/patches/module_dot_bazel_version.patch": "sha256-mM+qzOI0SgAdaJBlWOSMwMPKpaA9b7R37Hj/tp5bb4g=" + }, + "remote_patch_strip": 0 + } + } + }, + "rules_java@7.1.0": { + "name": "rules_java", + "version": "7.1.0", + "key": "rules_java@7.1.0", + "repoName": "rules_java", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [ + "//toolchains:all", + "@local_jdk//:runtime_toolchain_definition", + "@local_jdk//:bootstrap_runtime_toolchain_definition", + "@remotejdk11_linux_toolchain_config_repo//:all", + "@remotejdk11_linux_aarch64_toolchain_config_repo//:all", + "@remotejdk11_linux_ppc64le_toolchain_config_repo//:all", + "@remotejdk11_linux_s390x_toolchain_config_repo//:all", + "@remotejdk11_macos_toolchain_config_repo//:all", + "@remotejdk11_macos_aarch64_toolchain_config_repo//:all", + "@remotejdk11_win_toolchain_config_repo//:all", + "@remotejdk11_win_arm64_toolchain_config_repo//:all", + "@remotejdk17_linux_toolchain_config_repo//:all", + "@remotejdk17_linux_aarch64_toolchain_config_repo//:all", + "@remotejdk17_linux_ppc64le_toolchain_config_repo//:all", + "@remotejdk17_linux_s390x_toolchain_config_repo//:all", + "@remotejdk17_macos_toolchain_config_repo//:all", + "@remotejdk17_macos_aarch64_toolchain_config_repo//:all", + "@remotejdk17_win_toolchain_config_repo//:all", + "@remotejdk17_win_arm64_toolchain_config_repo//:all", + "@remotejdk21_linux_toolchain_config_repo//:all", + "@remotejdk21_linux_aarch64_toolchain_config_repo//:all", + "@remotejdk21_macos_toolchain_config_repo//:all", + "@remotejdk21_macos_aarch64_toolchain_config_repo//:all", + "@remotejdk21_win_toolchain_config_repo//:all" + ], + "extensionUsages": [ + { + "extensionBzlFile": "@rules_java//java:extensions.bzl", + "extensionName": "toolchains", + "usingModule": "rules_java@7.1.0", + "location": { + "file": "https://bcr.bazel.build/modules/rules_java/7.1.0/MODULE.bazel", + "line": 19, + "column": 27 + }, + "imports": { + "remote_java_tools": "remote_java_tools", + "remote_java_tools_linux": "remote_java_tools_linux", + "remote_java_tools_windows": "remote_java_tools_windows", + "remote_java_tools_darwin_x86_64": "remote_java_tools_darwin_x86_64", + "remote_java_tools_darwin_arm64": "remote_java_tools_darwin_arm64", + "local_jdk": "local_jdk", + "remotejdk11_linux_toolchain_config_repo": "remotejdk11_linux_toolchain_config_repo", + "remotejdk11_linux_aarch64_toolchain_config_repo": "remotejdk11_linux_aarch64_toolchain_config_repo", + "remotejdk11_linux_ppc64le_toolchain_config_repo": "remotejdk11_linux_ppc64le_toolchain_config_repo", + "remotejdk11_linux_s390x_toolchain_config_repo": "remotejdk11_linux_s390x_toolchain_config_repo", + "remotejdk11_macos_toolchain_config_repo": "remotejdk11_macos_toolchain_config_repo", + "remotejdk11_macos_aarch64_toolchain_config_repo": "remotejdk11_macos_aarch64_toolchain_config_repo", + "remotejdk11_win_toolchain_config_repo": "remotejdk11_win_toolchain_config_repo", + "remotejdk11_win_arm64_toolchain_config_repo": "remotejdk11_win_arm64_toolchain_config_repo", + "remotejdk17_linux_toolchain_config_repo": "remotejdk17_linux_toolchain_config_repo", + "remotejdk17_linux_aarch64_toolchain_config_repo": "remotejdk17_linux_aarch64_toolchain_config_repo", + "remotejdk17_linux_ppc64le_toolchain_config_repo": "remotejdk17_linux_ppc64le_toolchain_config_repo", + "remotejdk17_linux_s390x_toolchain_config_repo": "remotejdk17_linux_s390x_toolchain_config_repo", + "remotejdk17_macos_toolchain_config_repo": "remotejdk17_macos_toolchain_config_repo", + "remotejdk17_macos_aarch64_toolchain_config_repo": "remotejdk17_macos_aarch64_toolchain_config_repo", + "remotejdk17_win_toolchain_config_repo": "remotejdk17_win_toolchain_config_repo", + "remotejdk17_win_arm64_toolchain_config_repo": "remotejdk17_win_arm64_toolchain_config_repo", + "remotejdk21_linux_toolchain_config_repo": "remotejdk21_linux_toolchain_config_repo", + "remotejdk21_linux_aarch64_toolchain_config_repo": "remotejdk21_linux_aarch64_toolchain_config_repo", + "remotejdk21_macos_toolchain_config_repo": "remotejdk21_macos_toolchain_config_repo", + "remotejdk21_macos_aarch64_toolchain_config_repo": "remotejdk21_macos_aarch64_toolchain_config_repo", + "remotejdk21_win_toolchain_config_repo": "remotejdk21_win_toolchain_config_repo" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + } + ], + "deps": { + "platforms": "platforms@0.0.7", + "rules_cc": "rules_cc@0.0.9", + "bazel_skylib": "bazel_skylib@1.5.0", + "rules_proto": "rules_proto@4.0.0", + "rules_license": "rules_license@0.0.7", + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_java~7.1.0", + "urls": [ + "https://github.com/bazelbuild/rules_java/releases/download/7.1.0/rules_java-7.1.0.tar.gz" + ], + "integrity": "sha256-o3pOX2OrgnFuXdau75iO2EYcegC46TYnImKJn1h81OE=", + "strip_prefix": "", + "remote_patches": {}, + "remote_patch_strip": 0 + } + } + }, + "rules_license@0.0.7": { + "name": "rules_license", + "version": "0.0.7", + "key": "rules_license@0.0.7", + "repoName": "rules_license", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [], + "extensionUsages": [], + "deps": { + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_license~0.0.7", + "urls": [ + "https://github.com/bazelbuild/rules_license/releases/download/0.0.7/rules_license-0.0.7.tar.gz" + ], + "integrity": "sha256-RTHezLkTY5ww5cdRKgVNXYdWmNrrddjPkPKEN1/nw2A=", + "strip_prefix": "", + "remote_patches": {}, + "remote_patch_strip": 0 + } + } + }, + "rules_python@0.4.0": { + "name": "rules_python", + "version": "0.4.0", + "key": "rules_python@0.4.0", + "repoName": "rules_python", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [ + "@bazel_tools//tools/python:autodetecting_toolchain" + ], + "extensionUsages": [ + { + "extensionBzlFile": "@rules_python//bzlmod:extensions.bzl", + "extensionName": "pip_install", + "usingModule": "rules_python@0.4.0", + "location": { + "file": "https://bcr.bazel.build/modules/rules_python/0.4.0/MODULE.bazel", + "line": 7, + "column": 28 + }, + "imports": { + "pypi__click": "pypi__click", + "pypi__pip": "pypi__pip", + "pypi__pip_tools": "pypi__pip_tools", + "pypi__pkginfo": "pypi__pkginfo", + "pypi__setuptools": "pypi__setuptools", + "pypi__wheel": "pypi__wheel" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + } + ], + "deps": { + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "rules_python~0.4.0", + "urls": [ + "https://github.com/bazelbuild/rules_python/releases/download/0.4.0/rules_python-0.4.0.tar.gz" + ], + "integrity": "sha256-lUqom0kb5KCDMEosuDgBnIuMNyCnq7nEy4GseiQjDOo=", + "strip_prefix": "", + "remote_patches": { + "https://bcr.bazel.build/modules/rules_python/0.4.0/patches/propagate_pip_install_dependencies.patch": "sha256-v7S/dem/mixg63MF4KoRGDA4KEol9ab/tIVp+6Xq0D0=", + "https://bcr.bazel.build/modules/rules_python/0.4.0/patches/module_dot_bazel.patch": "sha256-kG4VIfWxQazzTuh50mvsx6pmyoRVA4lfH5rkto/Oq+Y=" + }, + "remote_patch_strip": 1 + } + } + }, + "zlib@1.3": { + "name": "zlib", + "version": "1.3", + "key": "zlib@1.3", + "repoName": "zlib", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [], + "extensionUsages": [], + "deps": { + "platforms": "platforms@0.0.7", + "rules_cc": "rules_cc@0.0.9", + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "zlib~1.3", + "urls": [ + "https://github.com/madler/zlib/releases/download/v1.3/zlib-1.3.tar.gz" + ], + "integrity": "sha256-/wukwpIBPbwnUws6geH5qBPNOd4Byl4Pi/NVcC76WT4=", + "strip_prefix": "zlib-1.3", + "remote_patches": { + "https://bcr.bazel.build/modules/zlib/1.3/patches/add_build_file.patch": "sha256-Ei+FYaaOo7A3jTKunMEodTI0Uw5NXQyZEcboMC8JskY=", + "https://bcr.bazel.build/modules/zlib/1.3/patches/module_dot_bazel.patch": "sha256-fPWLM+2xaF/kuy+kZc1YTfW6hNjrkG400Ho7gckuyJk=" + }, + "remote_patch_strip": 0 + } + } + }, + "apple_support@1.5.0": { + "name": "apple_support", + "version": "1.5.0", + "key": "apple_support@1.5.0", + "repoName": "build_bazel_apple_support", + "executionPlatformsToRegister": [], + "toolchainsToRegister": [ + "@local_config_apple_cc_toolchains//:all" + ], + "extensionUsages": [ + { + "extensionBzlFile": "@build_bazel_apple_support//crosstool:setup.bzl", + "extensionName": "apple_cc_configure_extension", + "usingModule": "apple_support@1.5.0", + "location": { + "file": "https://bcr.bazel.build/modules/apple_support/1.5.0/MODULE.bazel", + "line": 17, + "column": 35 + }, + "imports": { + "local_config_apple_cc": "local_config_apple_cc", + "local_config_apple_cc_toolchains": "local_config_apple_cc_toolchains" + }, + "devImports": [], + "tags": [], + "hasDevUseExtension": false, + "hasNonDevUseExtension": true + } + ], + "deps": { + "bazel_skylib": "bazel_skylib@1.5.0", + "platforms": "platforms@0.0.7", + "bazel_tools": "bazel_tools@_", + "local_config_platform": "local_config_platform@_" + }, + "repoSpec": { + "bzlFile": "@bazel_tools//tools/build_defs/repo:http.bzl", + "ruleClassName": "http_archive", + "attributes": { + "name": "apple_support~1.5.0", + "urls": [ + "https://github.com/bazelbuild/apple_support/releases/download/1.5.0/apple_support.1.5.0.tar.gz" + ], + "integrity": "sha256-miM41vja0yRPgj8txghKA+TQ+7J8qJLclw5okNW0gYQ=", + "strip_prefix": "", + "remote_patches": {}, + "remote_patch_strip": 0 + } + } + } + }, + "moduleExtensions": {} +} diff --git a/events/eventstore/pkg/builder_test.go b/events/eventstore/pkg/builder_test.go index 0fed5689..86ebf8a0 100644 --- a/events/eventstore/pkg/builder_test.go +++ b/events/eventstore/pkg/builder_test.go @@ -14,7 +14,6 @@ func TestConfigProtocolFromFile(t *testing.T) { func TestConfigProtocolFromFileV1(t *testing.T) { config, err := loadConfigFromPath("internal/v1.yml", &V1{}) assertTypeConfig(t, err, &V1{}, config) - } func TestConfigProtocolFromFileV2(t *testing.T) { config, err := loadConfigFromPathNew("internal/v2beta.yml", &V2Beta{}) diff --git a/events/eventstore/pkg/internal/inmemory/v2beta1/BUILD.bazel b/events/eventstore/pkg/internal/inmemory/v2beta1/BUILD.bazel new file mode 100644 index 00000000..f364c90a --- /dev/null +++ b/events/eventstore/pkg/internal/inmemory/v2beta1/BUILD.bazel @@ -0,0 +1,32 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "v2beta1", + srcs = ["api.go"], + importpath = "github.com/opicaud/monorepo/events/eventstore/pkg/internal/inmemory/v2beta1", + visibility = ["//events/eventstore/pkg:__subpackages__"], + deps = [ + "//events/eventstore/pkg", + "//events/pkg", + "//events/pkg/v2beta", + "@com_github_google_uuid//:uuid", + "@io_opentelemetry_go_otel//:otel", + "@io_opentelemetry_go_otel//propagation", + "@io_opentelemetry_go_otel_sdk//trace", + "@io_opentelemetry_go_otel_trace//:trace", + "@org_golang_google_grpc//health/grpc_health_v1", + ], +) + +go_test( + name = "v2beta1_test", + srcs = ["api_test.go"], + embed = [":v2beta1"], + deps = [ + "//events/pkg/v2beta1", + "@com_github_google_uuid//:uuid", + "@com_github_stretchr_testify//assert", + "@com_github_stretchr_testify//suite", + "@io_opentelemetry_go_otel_trace//:trace", + ], +) diff --git a/events/eventstore/pkg/internal/inmemory/v2beta1/api.go b/events/eventstore/pkg/internal/inmemory/v2beta1/api.go new file mode 100644 index 00000000..b59df7b6 --- /dev/null +++ b/events/eventstore/pkg/internal/inmemory/v2beta1/api.go @@ -0,0 +1,56 @@ +package inmemory + +import ( + "context" + "github.com/google/uuid" + pkg2 "github.com/opicaud/monorepo/events/eventstore/pkg" + "github.com/opicaud/monorepo/events/pkg" + v2beta "github.com/opicaud/monorepo/events/pkg/v2beta" + "go.opentelemetry.io/otel" + "go.opentelemetry.io/otel/propagation" + sdktrace "go.opentelemetry.io/otel/sdk/trace" + "go.opentelemetry.io/otel/trace" + "google.golang.org/grpc/health/grpc_health_v1" +) + +func NewInMemoryEventStore() *EventStore { + build, _ := pkg2.NewEventStoreBuilder().Build("none") + provider := sdktrace.NewTracerProvider() + otel.SetTracerProvider(provider) + otel.SetTextMapPropagator(propagation.NewCompositeTextMapPropagator(propagation.TraceContext{}, propagation.Baggage{})) + return &EventStore{eventStore: build, tracer: otel.Tracer("non-grpc-inmemory-eventStore")} +} + +func (f *EventStore) Save(ctx context.Context, events ...pkg.DomainEvent) (context.Context, []pkg.DomainEvent, error) { + ctx, _ = f.startTrace(ctx, "Save") + err := f.eventStore.Save(events...) + return ctx, events, err +} + +func (f *EventStore) Remove(ctx context.Context, uuid uuid.UUID) (context.Context, error) { + return ctx, f.eventStore.Remove(uuid) +} + +func (f *EventStore) Load(ctx context.Context, uuid uuid.UUID) (context.Context, []pkg.DomainEvent, error) { + ctx, span := f.startTrace(ctx, "Load") + load, err := f.eventStore.Load(uuid) + if err != nil { + span.RecordError(err) + } + return ctx, load, err +} +func (f *EventStore) startTrace(ctx context.Context, feature string) (context.Context, trace.Span) { + ctx, span := f.tracer.Start(ctx, feature) + defer span.End() + return ctx, span +} + +type EventStore struct { + events []pkg.DomainEvent + eventStore v2beta.EventStore + tracer trace.Tracer +} + +func (f *EventStore) GetHealthClient(ctx context.Context) (context.Context, grpc_health_v1.HealthClient) { + return ctx, f.eventStore.GetHealthClient() +} diff --git a/events/eventstore/pkg/internal/inmemory/v2beta1/api_test.go b/events/eventstore/pkg/internal/inmemory/v2beta1/api_test.go new file mode 100644 index 00000000..48f33c25 --- /dev/null +++ b/events/eventstore/pkg/internal/inmemory/v2beta1/api_test.go @@ -0,0 +1,71 @@ +package inmemory + +import ( + "context" + "encoding/json" + "github.com/google/uuid" + "github.com/opicaud/monorepo/events/pkg/v2beta1" + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/suite" + "go.opentelemetry.io/otel/trace" + "testing" +) + +type InMemoryEventStoreTestSuite struct { + suite.Suite + eventStore pkg.EventStore +} + +func TestInMemoryEventStoreTestSuite(t *testing.T) { + testingSuite := new(InMemoryEventStoreTestSuite) + testingSuite.eventStore = NewInMemoryEventStore() + suite.Run(t, testingSuite) +} + +func (suite *InMemoryEventStoreTestSuite) TestInMemoryEventStore_Save() { + test := newEventForTest() + ctx, domainEvents, err := suite.eventStore.Save(context.Background(), test) + assert.Len(suite.T(), domainEvents, 1) + assert.Equal(suite.T(), domainEvents[0], test) + assert.Nil(suite.T(), err) + assert.True(suite.T(), trace.SpanContextFromContext(ctx).IsValid()) +} + +func (suite *InMemoryEventStoreTestSuite) TestInMemoryEventStore_LoadById() { + test := newEventForTest() + background := context.Background() + _, _, _ = suite.eventStore.Save(background, test) + context, events, _ := suite.eventStore.Load(background, uuid.New()) + assert.True(suite.T(), trace.SpanContextFromContext(context).IsValid()) + assert.Empty(suite.T(), events) +} + +func (suite *InMemoryEventStoreTestSuite) TestInMemoryEventStore_ErrorWhenNotFound() { + background := context.Background() + ctx, _, err := suite.eventStore.Load(background, uuid.New()) + assert.True(suite.T(), trace.SpanFromContext(ctx).SpanContext().IsValid()) + assert.Error(suite.T(), err) +} + +type EventForTest struct { + Id uuid.UUID +} + +func newEventForTest() EventForTest { + event := EventForTest{} + event.Id = uuid.New() + return event +} + +func (e EventForTest) AggregateId() uuid.UUID { + return e.Id +} + +func (e EventForTest) Name() string { + return "TEST_EVENT" +} + +func (e EventForTest) Data() []byte { + marshal, _ := json.Marshal(e) + return marshal +} diff --git a/events/eventstore/pkg/internal/v2beta1.yml b/events/eventstore/pkg/internal/v2beta1.yml new file mode 100644 index 00000000..f756c6af --- /dev/null +++ b/events/eventstore/pkg/internal/v2beta1.yml @@ -0,0 +1,3 @@ +version: v2/beta1 +event-store: + protocol: none \ No newline at end of file diff --git a/events/eventstore/pkg/v2beta1/BUILD.bazel b/events/eventstore/pkg/v2beta1/BUILD.bazel new file mode 100644 index 00000000..c4763e93 --- /dev/null +++ b/events/eventstore/pkg/v2beta1/BUILD.bazel @@ -0,0 +1,28 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library", "go_test") + +go_library( + name = "v2beta1", + srcs = [ + "builder.go", + "config.go", + ], + importpath = "github.com/opicaud/monorepo/events/eventstore/pkg/v2beta1", + visibility = ["//visibility:public"], + deps = [ + "//events/eventstore/pkg/internal/inmemory/v2beta1", + "@com_github_spf13_viper//:viper", + ], +) + +go_test( + name = "v2beta1_test", + srcs = [ + "builder_test.go", + "config_test.go", + ], + embed = [":v2beta1"], + deps = [ + "//events/eventstore/pkg/internal/inmemory/v2beta1", + "@com_github_stretchr_testify//assert", + ], +) diff --git a/events/eventstore/pkg/v2beta1/builder.go b/events/eventstore/pkg/v2beta1/builder.go new file mode 100644 index 00000000..000ed4ea --- /dev/null +++ b/events/eventstore/pkg/v2beta1/builder.go @@ -0,0 +1,45 @@ +package pkg + +import ( + "fmt" + inmemory "github.com/opicaud/monorepo/events/eventstore/pkg/internal/inmemory/v2beta1" + "github.com/spf13/viper" + "log" +) + +func NewEventsFrameworkFromConfig(path string) (*inmemory.EventStore, error) { + config, errors := loadConfigFromPathNew(path, &V2Beta1{}) + return setConfig(config, errors).LoadConfig() +} + +func setConfig(config Config, errors error) Config { + if errors != nil { + config.SetDefaultConfig() + log.Printf("%s", errors) + log.Printf("Loading default config due to previous errors..") + log.Printf("Default config is %#v", config) + } + return config +} + +func loadConfigFromPath(path string, config Config) (Config, error) { + viper.SetConfigFile(path) + if err := viper.ReadInConfig(); err != nil { + return config, err + } + if err := viper.UnmarshalKey("event-store", &config); err != nil { + return config, err + } + return config, nil +} + +func loadConfigFromPathNew(path string, config Config) (Config, error) { + config, err := loadConfigFromPath(path, config) + if err != nil { + return config, err + } + if viper.GetString("version") != config.Version() { + return config, fmt.Errorf("version not aligned between config file and your implementation") + } + return config, nil +} diff --git a/events/eventstore/pkg/v2beta1/builder_test.go b/events/eventstore/pkg/v2beta1/builder_test.go new file mode 100644 index 00000000..3552dd82 --- /dev/null +++ b/events/eventstore/pkg/v2beta1/builder_test.go @@ -0,0 +1,13 @@ +package pkg + +import ( + inmemory "github.com/opicaud/monorepo/events/eventstore/pkg/internal/inmemory/v2beta1" + "github.com/stretchr/testify/assert" + "testing" +) + +func TestConfigProtocolFromFile(t *testing.T) { + eventStore, err := NewEventsFrameworkFromConfig("../internal/v2beta1.yml") + assert.NoError(t, err) + assert.IsType(t, &inmemory.EventStore{}, eventStore) +} diff --git a/events/eventstore/pkg/v2beta1/config.go b/events/eventstore/pkg/v2beta1/config.go new file mode 100644 index 00000000..439956c2 --- /dev/null +++ b/events/eventstore/pkg/v2beta1/config.go @@ -0,0 +1,62 @@ +package pkg + +import ( + "fmt" + inmemory "github.com/opicaud/monorepo/events/eventstore/pkg/internal/inmemory/v2beta1" +) + +type Config interface { + LoadConfig() (*inmemory.EventStore, error) + SetDefaultConfig() + Version() string +} + +type V2Beta1 struct { + Protocol string + Port int + Host string +} + +func (f *V2Beta1) LoadConfig() (*inmemory.EventStore, error) { + return NewEventStoreBuilder(). + WithHost(f.Host). + WithPort(f.Port). + Build(f.Protocol) +} + +func (f *V2Beta1) SetDefaultConfig() { + f.Protocol = "none" +} + +func (f *V2Beta1) Version() string { + return "v2/beta1" +} + +type Builder struct { + host string + port int +} + +func (s *Builder) WithHost(host string) *Builder { + s.host = host + return s +} + +func (s *Builder) WithPort(port int) *Builder { + s.port = port + return s +} + +func (s *Builder) Build(protocol string) (*inmemory.EventStore, error) { + switch protocol { + case "none": + return inmemory.NewInMemoryEventStore(), nil + default: + return nil, fmt.Errorf("protocol %s not supported", protocol) + } +} + +func NewEventStoreBuilder() *Builder { + s := new(Builder) + return s +} diff --git a/events/eventstore/pkg/v2beta1/config_test.go b/events/eventstore/pkg/v2beta1/config_test.go new file mode 100644 index 00000000..c0343901 --- /dev/null +++ b/events/eventstore/pkg/v2beta1/config_test.go @@ -0,0 +1,19 @@ +package pkg + +import ( + "github.com/opicaud/monorepo/events/eventstore/pkg/internal/inmemory/v2beta1" + "github.com/stretchr/testify/assert" + "testing" +) + +func TestConfigProtocolNoneV2Beta1(t *testing.T) { + eventStore, err := loadV2Beta1Config("none") + assert.NoError(t, err) + assert.IsType(t, &inmemory.EventStore{}, eventStore) +} + +func loadV2Beta1Config(protocol string) (*inmemory.EventStore, error) { + v2beta1 := V2Beta1{Protocol: protocol} + eventStore, err := v2beta1.LoadConfig() + return eventStore, err +} diff --git a/events/go.mod b/events/go.mod index 8cb7c099..25251d4d 100644 --- a/events/go.mod +++ b/events/go.mod @@ -7,6 +7,7 @@ require ( github.com/grpc-ecosystem/grpc-gateway/v2 v2.18.1 github.com/spf13/viper v1.18.2 github.com/stretchr/testify v1.8.4 + go.opentelemetry.io/otel/trace v1.21.0 google.golang.org/grpc v1.60.1 google.golang.org/protobuf v1.32.0 @@ -15,6 +16,8 @@ require ( require ( github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect github.com/fsnotify/fsnotify v1.7.0 // indirect + github.com/go-logr/logr v1.3.0 // indirect + github.com/go-logr/stdr v1.2.2 // indirect github.com/golang/protobuf v1.5.3 // indirect github.com/hashicorp/hcl v1.0.0 // indirect github.com/magiconair/properties v1.8.7 // indirect @@ -28,6 +31,9 @@ require ( github.com/spf13/cast v1.6.0 // indirect github.com/spf13/pflag v1.0.5 // indirect github.com/subosito/gotenv v1.6.0 // indirect + go.opentelemetry.io/otel v1.21.0 // indirect + go.opentelemetry.io/otel/metric v1.21.0 // indirect + go.opentelemetry.io/otel/sdk v1.21.0 // indirect go.uber.org/atomic v1.9.0 // indirect go.uber.org/multierr v1.9.0 // indirect golang.org/x/exp v0.0.0-20230905200255-921286631fa9 // indirect diff --git a/events/go.sum b/events/go.sum index 942da15f..9d98f71d 100644 --- a/events/go.sum +++ b/events/go.sum @@ -3,24 +3,30 @@ github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM= github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38= github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8= +github.com/frankban/quicktest v1.14.6/go.mod h1:4ptaffx2x8+WTWXmUCuVU6aPUX1/Mz7zb5vbUoiM6w0= github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM= -github.com/golang/glog v1.1.2 h1:DVjP2PbBOzHyzA+dn3WhHIq4NdVu3Q+pvivFICf/7fo= +github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A= +github.com/go-logr/logr v1.3.0 h1:2y3SDp0ZXuc6/cjLSZ+Q3ir+QB9T/iG5yYRXqsagWSY= +github.com/go-logr/logr v1.3.0/go.mod h1:9T104GzyrTigFIr8wt5mBrctHMim0Nb2HLGrmQ40KvY= +github.com/go-logr/stdr v1.2.2 h1:hSWxHoqTgW2S2qGc0LTAI563KZ5YKYRhT3MFKZMbjag= +github.com/go-logr/stdr v1.2.2/go.mod h1:mMo/vtBO5dYbehREoey6XUKy/eSumjCCveDpRre4VKE= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= +github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI= +github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/uuid v1.5.0 h1:1p67kYwdtXjb0gL0BPiP1Av9wiZPo5A8z2cWkTZ+eyU= github.com/google/uuid v1.5.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0 h1:YBftPWNWd4WwGqtY2yeZL2ef8rHAxPBD8KFhJpmcqms= -github.com/grpc-ecosystem/grpc-gateway/v2 v2.16.0/go.mod h1:YN5jB8ie0yfIUg6VvR9Kz84aCaG7AsGZnLjhHbUqwPg= github.com/grpc-ecosystem/grpc-gateway/v2 v2.18.1 h1:6UKoz5ujsI55KNpsJH3UwCq3T8kKbZwNZBNPuTTje8U= github.com/grpc-ecosystem/grpc-gateway/v2 v2.18.1/go.mod h1:YvJ2f6MplWDhfxiUC3KpyTy76kYUZA4W3pTv/wdKQ9Y= github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY= +github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE= github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY= github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0= github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY= @@ -31,6 +37,7 @@ github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZN github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U= github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8= +github.com/rogpeppe/go-internal v1.9.0/go.mod h1:WtVeX8xhTBvf0smdhujwtBcq4Qrzq/fJaraNFVN+nFs= github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6keLGt6kNQ= github.com/sagikazarmark/locafero v0.4.0/go.mod h1:Pe1W6UlPYUk/+wc/6KFhbORCfqzgYEpgQ3O5fPuL3H4= github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE= @@ -55,6 +62,14 @@ github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcU github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8= github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU= +go.opentelemetry.io/otel v1.21.0 h1:hzLeKBZEL7Okw2mGzZ0cc4k/A7Fta0uoPgaJCr8fsFc= +go.opentelemetry.io/otel v1.21.0/go.mod h1:QZzNPQPm1zLX4gZK4cMi+71eaorMSGT3A4znnUvNNEo= +go.opentelemetry.io/otel/metric v1.21.0 h1:tlYWfeo+Bocx5kLEloTjbcDwBuELRrIFxwdQ36PlJu4= +go.opentelemetry.io/otel/metric v1.21.0/go.mod h1:o1p3CA8nNHW8j5yuQLdc1eeqEaPfzug24uvsyIEJRWM= +go.opentelemetry.io/otel/sdk v1.21.0 h1:FTt8qirL1EysG6sTQRZ5TokkU8d0ugCj8htOgThZXQ8= +go.opentelemetry.io/otel/sdk v1.21.0/go.mod h1:Nna6Yv7PWTdgJHVRD9hIYywQBRx7pbox6nwBnZIxl/E= +go.opentelemetry.io/otel/trace v1.21.0 h1:WD9i5gzvoUPuXIXH24ZNBudiarZDKuekPqi/E8fpfLc= +go.opentelemetry.io/otel/trace v1.21.0/go.mod h1:LGbsEB0f9LGjN+OZaQQ26sohbOmiMR+BaslueVtS/qQ= go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE= go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/multierr v1.9.0 h1:7fIwc/ZtS0q++VgcfqFDxSBZVv/Xo49/SYnDFupUwlI= @@ -69,6 +84,7 @@ golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU= golang.org/x/xerrors v0.0.0-20191204190536-9bdfabe68543/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= google.golang.org/genproto v0.0.0-20231106174013-bbf56f31fb17 h1:wpZ8pe2x1Q3f2KyT5f8oP/fa9rHAKgFPr/HZdNuS+PQ= +google.golang.org/genproto v0.0.0-20231106174013-bbf56f31fb17/go.mod h1:J7XzRzVy1+IPwWHZUzoD0IccYZIrXILAQpc+Qy9CMhY= google.golang.org/genproto/googleapis/api v0.0.0-20231106174013-bbf56f31fb17 h1:JpwMPBpFN3uKhdaekDpiNlImDdkUAyiJ6ez/uxGaUSo= google.golang.org/genproto/googleapis/api v0.0.0-20231106174013-bbf56f31fb17/go.mod h1:0xJLfVdJqpAPl8tDg1ujOCGzx6LFLttXT5NhllGOXY4= google.golang.org/genproto/googleapis/rpc v0.0.0-20231120223509-83a465c0220f h1:ultW7fxlIvee4HYrtnaRPon9HpEgFk5zYpmfMgtKB5I= @@ -81,6 +97,7 @@ google.golang.org/protobuf v1.32.0 h1:pPC6BG5ex8PDFnkbrGU3EixyhKcQ2aDuBS36lqK/C7 google.golang.org/protobuf v1.32.0/go.mod h1:c6P6GXX6sHbq/GpV6MGZEdwhWPcYBgnhAHhKbcUYpos= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk= +gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c/go.mod h1:JHkPIbrfpd72SG/EVd6muEfDQjcINNoR0C8j2r3qZ4Q= gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM= diff --git a/events/pkg/v2beta1/BUILD.bazel b/events/pkg/v2beta1/BUILD.bazel new file mode 100644 index 00000000..f6986d60 --- /dev/null +++ b/events/pkg/v2beta1/BUILD.bazel @@ -0,0 +1,13 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library") + +go_library( + name = "v2beta1", + srcs = ["eventstore.go"], + importpath = "github.com/opicaud/monorepo/events/pkg/v2beta1", + visibility = ["//visibility:public"], + deps = [ + "//events/pkg", + "@com_github_google_uuid//:uuid", + "@org_golang_google_grpc//health/grpc_health_v1", + ], +) diff --git a/events/pkg/v2beta1/eventstore.go b/events/pkg/v2beta1/eventstore.go new file mode 100644 index 00000000..83b9b52c --- /dev/null +++ b/events/pkg/v2beta1/eventstore.go @@ -0,0 +1,15 @@ +package pkg + +import ( + "context" + "github.com/google/uuid" + "github.com/opicaud/monorepo/events/pkg" + "google.golang.org/grpc/health/grpc_health_v1" +) + +type EventStore interface { + Save(ctx context.Context, events ...pkg.DomainEvent) (context.Context, []pkg.DomainEvent, error) + Load(ctx context.Context, id uuid.UUID) (context.Context, []pkg.DomainEvent, error) + Remove(ctx context.Context, uuid uuid.UUID) (context.Context, error) + GetHealthClient(ctx context.Context) (context.Context, grpc_health_v1.HealthClient) +}