load("@com_github_grpc_grpc//bazel:python_rules.bzl", "py_grpc_library", "py_proto_library")
load("@rules_proto//proto:defs.bzl", "proto_library")
load("@rules_proto_grpc//js:defs.bzl", "js_grpc_web_library")

package(default_visibility = ["//visibility:public"])

proto_library(
    name = "meta-api-proto",
    srcs = glob([
        "*.proto",
    ]),
    deps = [
        "//nexus/models/proto:models_proto",
        "@com_google_protobuf//:wrappers_proto",
    ],
)

py_proto_library(
    name = "meta-api-proto-py",
    deps = [":meta-api-proto"],
)

py_grpc_library(
    name = "meta-api-grpc-py",
    srcs = [":meta-api-proto"],
    deps = [":meta-api-proto-py"],
)

js_grpc_web_library(
    name = "meta-api-grpc-web-js",
    protos = [
        ":meta-api-proto",
        "//nexus/models/proto:models_proto",
    ],
    visibility = ["//visibility:public"],
    deps = ["//nexus/models/proto:models_proto_js"],
)
