Skip to main content

src/oadr3.erl

-module(oadr3).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/oadr3.gleam").
-export([handle_errors/1, delete_ven/2, update_ven/3, search_ven_by_id/2, create_ven/2, search_vens/5, delete_subscription/2, update_subscription/3, search_subscription_by_id/2, create_subscription/2, search_subscriptions/6, delete_ven_resource/2, update_ven_resource/3, search_ven_resource_by_id/2, create_resource/2, search_ven_resources/6, delete_report/2, update_report/3, search_reports_by_report_id/2, create_report/2, search_all_reports/6, delete_program/2, update_program/3, search_program_by_program_id/2, create_program/2, search_all_programs/4, list_all_mqtt_notifier_topics_ven_resources/2, list_all_mqtt_notifier_topics_ven_programs/2, list_all_mqtt_notifier_topics_ven_events/2, list_all_mqtt_notifier_topics_ven/2, list_all_mqtt_notifier_topics_vens/1, list_all_mqtt_notifier_topics_subscriptions/1, list_all_mqtt_notifier_topics_resources/1, list_all_mqtt_notifier_topics_reports/1, list_all_mqtt_notifier_topics_program_events/2, list_all_mqtt_notifier_topics_program/2, list_all_mqtt_notifier_topics_programs/1, list_all_mqtt_notifier_topics_events/1, list_all_notifiers/1, delete_event/2, update_event/3, search_events_by_id/2, create_event/2, search_all_events/6, fetch_token/1, get_auth_server_info/1]).

-if(?OTP_RELEASE >= 27).
-define(MODULEDOC(Str), -moduledoc(Str)).
-define(DOC(Str), -doc(Str)).
-else.
-define(MODULEDOC(Str), -compile([])).
-define(DOC(Str), -compile([])).
-endif.

-file("src/oadr3.gleam", 6).
-spec handle_errors({ok, KVE} | {error, any()}) -> {ok, KVE} |
    {error, snag:snag()}.
handle_errors(Response) ->
    oadr3@runner:handle_errors(Response).

-file("src/oadr3.gleam", 11).
?DOC(" Create the basic request url and accept header\n").
-spec base_request(gleam@http@request:request(bitstring())) -> gleam@http@request:request(bitstring()).
base_request(Request) ->
    _pipe = Request,
    _pipe@1 = gleam@http@request:prepend_header(
        _pipe,
        <<"accept"/utf8>>,
        <<"application/json"/utf8>>
    ),
    gleam@http@request:set_body(_pipe@1, <<>>).

-file("src/oadr3.gleam", 19).
-spec delete_ven(gleam@http@request:request(bitstring()), binary()) -> midas@effect:effect({ok,
        {ok, {oadr3@schema:object_metadata(), oadr3@schema:bl_ven_request()}} |
            {error, gleam@http@response:response(bitstring())}} |
    {error, snag:snag()}, any()).
delete_ven(Token, Ven_id) ->
    Request = base_request(Token),
    Request@1 = oadr3@operations:delete_ven_request(Request, Ven_id),
    midas@task:do(
        midas@task:fetch(Request@1),
        fun(Response) ->
            midas@task:'try'(
                handle_errors(oadr3@operations:delete_ven_response(Response)),
                fun(Data) -> midas@task:done(Data) end
            )
        end
    ).

-file("src/oadr3.gleam", 27).
-spec update_ven(
    gleam@http@request:request(bitstring()),
    binary(),
    oadr3@utils:any_()
) -> midas@effect:effect({ok,
        {ok, {oadr3@schema:object_metadata(), oadr3@schema:bl_ven_request()}} |
            {error, gleam@http@response:response(bitstring())}} |
    {error, snag:snag()}, any()).
update_ven(Token, Ven_id, Data) ->
    Request = base_request(Token),
    Request@1 = oadr3@operations:update_ven_request(Request, Ven_id, Data),
    midas@task:do(
        midas@task:fetch(Request@1),
        fun(Response) ->
            midas@task:'try'(
                handle_errors(oadr3@operations:update_ven_response(Response)),
                fun(Data@1) -> midas@task:done(Data@1) end
            )
        end
    ).

-file("src/oadr3.gleam", 35).
-spec search_ven_by_id(gleam@http@request:request(bitstring()), binary()) -> midas@effect:effect({ok,
        {ok, {oadr3@schema:object_metadata(), oadr3@schema:bl_ven_request()}} |
            {error, gleam@http@response:response(bitstring())}} |
    {error, snag:snag()}, any()).
search_ven_by_id(Token, Ven_id) ->
    Request = base_request(Token),
    Request@1 = oadr3@operations:search_ven_by_id_request(Request, Ven_id),
    midas@task:do(
        midas@task:fetch(Request@1),
        fun(Response) ->
            midas@task:'try'(
                handle_errors(
                    oadr3@operations:search_ven_by_id_response(Response)
                ),
                fun(Data) -> midas@task:done(Data) end
            )
        end
    ).

-file("src/oadr3.gleam", 45).
-spec create_ven(gleam@http@request:request(bitstring()), oadr3@utils:any_()) -> midas@effect:effect({ok,
        {ok, {oadr3@schema:object_metadata(), oadr3@schema:bl_ven_request()}} |
            {error, gleam@http@response:response(bitstring())}} |
    {error, snag:snag()}, any()).
create_ven(Token, Data) ->
    Request = base_request(Token),
    Request@1 = oadr3@operations:create_ven_request(Request, Data),
    midas@task:do(
        midas@task:fetch(Request@1),
        fun(Response) ->
            midas@task:'try'(
                handle_errors(oadr3@operations:create_ven_response(Response)),
                fun(Data@1) -> midas@task:done(Data@1) end
            )
        end
    ).

-file("src/oadr3.gleam", 53).
-spec search_vens(
    gleam@http@request:request(bitstring()),
    gleam@option:option(binary()),
    gleam@option:option(any()),
    gleam@option:option(integer()),
    gleam@option:option(integer())
) -> midas@effect:effect({ok,
        {ok,
                list({oadr3@schema:object_metadata(),
                    oadr3@schema:bl_ven_request()})} |
            {error, gleam@http@response:response(bitstring())}} |
    {error, snag:snag()}, any()).
search_vens(Token, Ven_name, Targets, Skip, Limit) ->
    Request = base_request(Token),
    Request@1 = oadr3@operations:search_vens_request(
        Request,
        Ven_name,
        Targets,
        Skip,
        Limit
    ),
    midas@task:do(
        midas@task:fetch(Request@1),
        fun(Response) ->
            midas@task:'try'(
                handle_errors(oadr3@operations:search_vens_response(Response)),
                fun(Data) -> midas@task:done(Data) end
            )
        end
    ).

-file("src/oadr3.gleam", 68).
-spec delete_subscription(gleam@http@request:request(bitstring()), binary()) -> midas@effect:effect({ok,
        {ok,
                {oadr3@schema:object_metadata(),
                    oadr3@schema:subscription_request(),
                    oadr3@schema:anon97535fea()}} |
            {error, gleam@http@response:response(bitstring())}} |
    {error, snag:snag()}, any()).
delete_subscription(Token, Subscription_id) ->
    Request = base_request(Token),
    Request@1 = oadr3@operations:delete_subscription_request(
        Request,
        Subscription_id
    ),
    midas@task:do(
        midas@task:fetch(Request@1),
        fun(Response) ->
            midas@task:'try'(
                handle_errors(
                    oadr3@operations:delete_subscription_response(Response)
                ),
                fun(Data) -> midas@task:done(Data) end
            )
        end
    ).

-file("src/oadr3.gleam", 78).
-spec update_subscription(
    gleam@http@request:request(bitstring()),
    binary(),
    oadr3@schema:subscription_request()
) -> midas@effect:effect({ok,
        {ok,
                {oadr3@schema:object_metadata(),
                    oadr3@schema:subscription_request(),
                    oadr3@schema:anon97535fea()}} |
            {error, gleam@http@response:response(bitstring())}} |
    {error, snag:snag()}, any()).
update_subscription(Token, Subscription_id, Data) ->
    Request = base_request(Token),
    Request@1 = oadr3@operations:update_subscription_request(
        Request,
        Subscription_id,
        Data
    ),
    midas@task:do(
        midas@task:fetch(Request@1),
        fun(Response) ->
            midas@task:'try'(
                handle_errors(
                    oadr3@operations:update_subscription_response(Response)
                ),
                fun(Data@1) -> midas@task:done(Data@1) end
            )
        end
    ).

-file("src/oadr3.gleam", 89).
-spec search_subscription_by_id(
    gleam@http@request:request(bitstring()),
    binary()
) -> midas@effect:effect({ok,
        {ok,
                {oadr3@schema:object_metadata(),
                    oadr3@schema:subscription_request(),
                    oadr3@schema:anon97535fea()}} |
            {error, gleam@http@response:response(bitstring())}} |
    {error, snag:snag()}, any()).
search_subscription_by_id(Token, Subscription_id) ->
    Request = base_request(Token),
    Request@1 = oadr3@operations:search_subscription_by_id_request(
        Request,
        Subscription_id
    ),
    midas@task:do(
        midas@task:fetch(Request@1),
        fun(Response) ->
            midas@task:'try'(
                handle_errors(
                    oadr3@operations:search_subscription_by_id_response(
                        Response
                    )
                ),
                fun(Data) -> midas@task:done(Data) end
            )
        end
    ).

-file("src/oadr3.gleam", 100).
-spec create_subscription(
    gleam@http@request:request(bitstring()),
    oadr3@schema:subscription_request()
) -> midas@effect:effect({ok,
        {ok,
                {oadr3@schema:object_metadata(),
                    oadr3@schema:subscription_request(),
                    oadr3@schema:anon97535fea()}} |
            {error, gleam@http@response:response(bitstring())}} |
    {error, snag:snag()}, any()).
create_subscription(Token, Data) ->
    Request = base_request(Token),
    Request@1 = oadr3@operations:create_subscription_request(Request, Data),
    midas@task:do(
        midas@task:fetch(Request@1),
        fun(Response) ->
            midas@task:'try'(
                handle_errors(
                    oadr3@operations:create_subscription_response(Response)
                ),
                fun(Data@1) -> midas@task:done(Data@1) end
            )
        end
    ).

-file("src/oadr3.gleam", 110).
-spec search_subscriptions(
    gleam@http@request:request(bitstring()),
    gleam@option:option(binary()),
    gleam@option:option(binary()),
    gleam@option:option(any()),
    gleam@option:option(integer()),
    gleam@option:option(integer())
) -> midas@effect:effect({ok,
        {ok,
                list({oadr3@schema:object_metadata(),
                    oadr3@schema:subscription_request(),
                    oadr3@schema:anon97535fea()})} |
            {error, gleam@http@response:response(bitstring())}} |
    {error, snag:snag()}, any()).
search_subscriptions(Token, Program_id, Client_name, Objects, Skip, Limit) ->
    Request = base_request(Token),
    Request@1 = oadr3@operations:search_subscriptions_request(
        Request,
        Program_id,
        Client_name,
        Objects,
        Skip,
        Limit
    ),
    midas@task:do(
        midas@task:fetch(Request@1),
        fun(Response) ->
            midas@task:'try'(
                handle_errors(
                    oadr3@operations:search_subscriptions_response(Response)
                ),
                fun(Data) -> midas@task:done(Data) end
            )
        end
    ).

-file("src/oadr3.gleam", 135).
-spec delete_ven_resource(gleam@http@request:request(bitstring()), binary()) -> midas@effect:effect({ok,
        {ok,
                {oadr3@schema:object_metadata(),
                    oadr3@schema:bl_resource_request()}} |
            {error, gleam@http@response:response(bitstring())}} |
    {error, snag:snag()}, any()).
delete_ven_resource(Token, Resource_id) ->
    Request = base_request(Token),
    Request@1 = oadr3@operations:delete_ven_resource_request(
        Request,
        Resource_id
    ),
    midas@task:do(
        midas@task:fetch(Request@1),
        fun(Response) ->
            midas@task:'try'(
                handle_errors(
                    oadr3@operations:delete_ven_resource_response(Response)
                ),
                fun(Data) -> midas@task:done(Data) end
            )
        end
    ).

-file("src/oadr3.gleam", 145).
-spec update_ven_resource(
    gleam@http@request:request(bitstring()),
    binary(),
    oadr3@utils:any_()
) -> midas@effect:effect({ok,
        {ok,
                {oadr3@schema:object_metadata(),
                    oadr3@schema:bl_resource_request()}} |
            {error, gleam@http@response:response(bitstring())}} |
    {error, snag:snag()}, any()).
update_ven_resource(Token, Resource_id, Data) ->
    Request = base_request(Token),
    Request@1 = oadr3@operations:update_ven_resource_request(
        Request,
        Resource_id,
        Data
    ),
    midas@task:do(
        midas@task:fetch(Request@1),
        fun(Response) ->
            midas@task:'try'(
                handle_errors(
                    oadr3@operations:update_ven_resource_response(Response)
                ),
                fun(Data@1) -> midas@task:done(Data@1) end
            )
        end
    ).

-file("src/oadr3.gleam", 156).
-spec search_ven_resource_by_id(
    gleam@http@request:request(bitstring()),
    binary()
) -> midas@effect:effect({ok,
        {ok,
                {oadr3@schema:object_metadata(),
                    oadr3@schema:bl_resource_request()}} |
            {error, gleam@http@response:response(bitstring())}} |
    {error, snag:snag()}, any()).
search_ven_resource_by_id(Token, Resource_id) ->
    Request = base_request(Token),
    Request@1 = oadr3@operations:search_ven_resource_by_id_request(
        Request,
        Resource_id
    ),
    midas@task:do(
        midas@task:fetch(Request@1),
        fun(Response) ->
            midas@task:'try'(
                handle_errors(
                    oadr3@operations:search_ven_resource_by_id_response(
                        Response
                    )
                ),
                fun(Data) -> midas@task:done(Data) end
            )
        end
    ).

-file("src/oadr3.gleam", 167).
-spec create_resource(
    gleam@http@request:request(bitstring()),
    oadr3@utils:any_()
) -> midas@effect:effect({ok,
        {ok,
                {oadr3@schema:object_metadata(),
                    oadr3@schema:bl_resource_request()}} |
            {error, gleam@http@response:response(bitstring())}} |
    {error, snag:snag()}, any()).
create_resource(Token, Data) ->
    Request = base_request(Token),
    Request@1 = oadr3@operations:create_resource_request(Request, Data),
    midas@task:do(
        midas@task:fetch(Request@1),
        fun(Response) ->
            midas@task:'try'(
                handle_errors(
                    oadr3@operations:create_resource_response(Response)
                ),
                fun(Data@1) -> midas@task:done(Data@1) end
            )
        end
    ).

-file("src/oadr3.gleam", 177).
-spec search_ven_resources(
    gleam@http@request:request(bitstring()),
    gleam@option:option(binary()),
    gleam@option:option(binary()),
    gleam@option:option(any()),
    gleam@option:option(integer()),
    gleam@option:option(integer())
) -> midas@effect:effect({ok,
        {ok,
                list({oadr3@schema:object_metadata(),
                    oadr3@schema:bl_resource_request()})} |
            {error, gleam@http@response:response(bitstring())}} |
    {error, snag:snag()}, any()).
search_ven_resources(Token, Resource_name, Ven_id, Targets, Skip, Limit) ->
    Request = base_request(Token),
    Request@1 = oadr3@operations:search_ven_resources_request(
        Request,
        Resource_name,
        Ven_id,
        Targets,
        Skip,
        Limit
    ),
    midas@task:do(
        midas@task:fetch(Request@1),
        fun(Response) ->
            midas@task:'try'(
                handle_errors(
                    oadr3@operations:search_ven_resources_response(Response)
                ),
                fun(Data) -> midas@task:done(Data) end
            )
        end
    ).

-file("src/oadr3.gleam", 202).
-spec delete_report(gleam@http@request:request(bitstring()), binary()) -> midas@effect:effect({ok,
        {ok,
                {oadr3@schema:object_metadata(),
                    oadr3@schema:report_request(),
                    oadr3@schema:anon97535fea()}} |
            {error, gleam@http@response:response(bitstring())}} |
    {error, snag:snag()}, any()).
delete_report(Token, Report_id) ->
    Request = base_request(Token),
    Request@1 = oadr3@operations:delete_report_request(Request, Report_id),
    midas@task:do(
        midas@task:fetch(Request@1),
        fun(Response) ->
            midas@task:'try'(
                handle_errors(oadr3@operations:delete_report_response(Response)),
                fun(Data) -> midas@task:done(Data) end
            )
        end
    ).

-file("src/oadr3.gleam", 210).
-spec update_report(
    gleam@http@request:request(bitstring()),
    binary(),
    oadr3@schema:report_request()
) -> midas@effect:effect({ok,
        {ok,
                {oadr3@schema:object_metadata(),
                    oadr3@schema:report_request(),
                    oadr3@schema:anon97535fea()}} |
            {error, gleam@http@response:response(bitstring())}} |
    {error, snag:snag()}, any()).
update_report(Token, Report_id, Data) ->
    Request = base_request(Token),
    Request@1 = oadr3@operations:update_report_request(Request, Report_id, Data),
    midas@task:do(
        midas@task:fetch(Request@1),
        fun(Response) ->
            midas@task:'try'(
                handle_errors(oadr3@operations:update_report_response(Response)),
                fun(Data@1) -> midas@task:done(Data@1) end
            )
        end
    ).

-file("src/oadr3.gleam", 218).
-spec search_reports_by_report_id(
    gleam@http@request:request(bitstring()),
    binary()
) -> midas@effect:effect({ok,
        {ok,
                {oadr3@schema:object_metadata(),
                    oadr3@schema:report_request(),
                    oadr3@schema:anon97535fea()}} |
            {error, gleam@http@response:response(bitstring())}} |
    {error, snag:snag()}, any()).
search_reports_by_report_id(Token, Report_id) ->
    Request = base_request(Token),
    Request@1 = oadr3@operations:search_reports_by_report_id_request(
        Request,
        Report_id
    ),
    midas@task:do(
        midas@task:fetch(Request@1),
        fun(Response) ->
            midas@task:'try'(
                handle_errors(
                    oadr3@operations:search_reports_by_report_id_response(
                        Response
                    )
                ),
                fun(Data) -> midas@task:done(Data) end
            )
        end
    ).

-file("src/oadr3.gleam", 229).
-spec create_report(
    gleam@http@request:request(bitstring()),
    oadr3@schema:report_request()
) -> midas@effect:effect({ok,
        {ok,
                {oadr3@schema:object_metadata(),
                    oadr3@schema:report_request(),
                    oadr3@schema:anon97535fea()}} |
            {error, gleam@http@response:response(bitstring())}} |
    {error, snag:snag()}, any()).
create_report(Token, Data) ->
    Request = base_request(Token),
    Request@1 = oadr3@operations:create_report_request(Request, Data),
    midas@task:do(
        midas@task:fetch(Request@1),
        fun(Response) ->
            midas@task:'try'(
                handle_errors(oadr3@operations:create_report_response(Response)),
                fun(Data@1) -> midas@task:done(Data@1) end
            )
        end
    ).

-file("src/oadr3.gleam", 237).
-spec search_all_reports(
    gleam@http@request:request(bitstring()),
    gleam@option:option(binary()),
    gleam@option:option(binary()),
    gleam@option:option(binary()),
    gleam@option:option(integer()),
    gleam@option:option(integer())
) -> midas@effect:effect({ok,
        {ok,
                list({oadr3@schema:object_metadata(),
                    oadr3@schema:report_request(),
                    oadr3@schema:anon97535fea()})} |
            {error, gleam@http@response:response(bitstring())}} |
    {error, snag:snag()}, any()).
search_all_reports(Token, Program_id, Event_id, Client_name, Skip, Limit) ->
    Request = base_request(Token),
    Request@1 = oadr3@operations:search_all_reports_request(
        Request,
        Program_id,
        Event_id,
        Client_name,
        Skip,
        Limit
    ),
    midas@task:do(
        midas@task:fetch(Request@1),
        fun(Response) ->
            midas@task:'try'(
                handle_errors(
                    oadr3@operations:search_all_reports_response(Response)
                ),
                fun(Data) -> midas@task:done(Data) end
            )
        end
    ).

-file("src/oadr3.gleam", 262).
-spec delete_program(gleam@http@request:request(bitstring()), binary()) -> midas@effect:effect({ok,
        {ok, {oadr3@schema:object_metadata(), oadr3@schema:program_request()}} |
            {error, gleam@http@response:response(bitstring())}} |
    {error, snag:snag()}, any()).
delete_program(Token, Program_id) ->
    Request = base_request(Token),
    Request@1 = oadr3@operations:delete_program_request(Request, Program_id),
    midas@task:do(
        midas@task:fetch(Request@1),
        fun(Response) ->
            midas@task:'try'(
                handle_errors(
                    oadr3@operations:delete_program_response(Response)
                ),
                fun(Data) -> midas@task:done(Data) end
            )
        end
    ).

-file("src/oadr3.gleam", 270).
-spec update_program(
    gleam@http@request:request(bitstring()),
    binary(),
    oadr3@schema:program_request()
) -> midas@effect:effect({ok,
        {ok, {oadr3@schema:object_metadata(), oadr3@schema:program_request()}} |
            {error, oadr3@schema:problem()}} |
    {error, snag:snag()}, any()).
update_program(Token, Program_id, Data) ->
    Request = base_request(Token),
    Request@1 = oadr3@operations:update_program_request(
        Request,
        Program_id,
        Data
    ),
    midas@task:do(
        midas@task:fetch(Request@1),
        fun(Response) ->
            midas@task:'try'(
                handle_errors(
                    oadr3@operations:update_program_response(Response)
                ),
                fun(Data@1) -> midas@task:done(Data@1) end
            )
        end
    ).

-file("src/oadr3.gleam", 278).
-spec search_program_by_program_id(
    gleam@http@request:request(bitstring()),
    binary()
) -> midas@effect:effect({ok,
        {ok, {oadr3@schema:object_metadata(), oadr3@schema:program_request()}} |
            {error, gleam@http@response:response(bitstring())}} |
    {error, snag:snag()}, any()).
search_program_by_program_id(Token, Program_id) ->
    Request = base_request(Token),
    Request@1 = oadr3@operations:search_program_by_program_id_request(
        Request,
        Program_id
    ),
    midas@task:do(
        midas@task:fetch(Request@1),
        fun(Response) ->
            midas@task:'try'(
                handle_errors(
                    oadr3@operations:search_program_by_program_id_response(
                        Response
                    )
                ),
                fun(Data) -> midas@task:done(Data) end
            )
        end
    ).

-file("src/oadr3.gleam", 289).
-spec create_program(
    gleam@http@request:request(bitstring()),
    oadr3@schema:program_request()
) -> midas@effect:effect({ok,
        {ok, {oadr3@schema:object_metadata(), oadr3@schema:program_request()}} |
            {error, gleam@http@response:response(bitstring())}} |
    {error, snag:snag()}, any()).
create_program(Token, Data) ->
    Request = base_request(Token),
    Request@1 = oadr3@operations:create_program_request(Request, Data),
    midas@task:do(
        midas@task:fetch(Request@1),
        fun(Response) ->
            midas@task:'try'(
                handle_errors(
                    oadr3@operations:create_program_response(Response)
                ),
                fun(Data@1) -> midas@task:done(Data@1) end
            )
        end
    ).

-file("src/oadr3.gleam", 297).
-spec search_all_programs(
    gleam@http@request:request(bitstring()),
    gleam@option:option(any()),
    gleam@option:option(integer()),
    gleam@option:option(integer())
) -> midas@effect:effect({ok,
        {ok,
                list({oadr3@schema:object_metadata(),
                    oadr3@schema:program_request()})} |
            {error, gleam@http@response:response(bitstring())}} |
    {error, snag:snag()}, any()).
search_all_programs(Token, Targets, Skip, Limit) ->
    Request = base_request(Token),
    Request@1 = oadr3@operations:search_all_programs_request(
        Request,
        Targets,
        Skip,
        Limit
    ),
    midas@task:do(
        midas@task:fetch(Request@1),
        fun(Response) ->
            midas@task:'try'(
                handle_errors(
                    oadr3@operations:search_all_programs_response(Response)
                ),
                fun(Data) -> midas@task:done(Data) end
            )
        end
    ).

-file("src/oadr3.gleam", 308).
-spec list_all_mqtt_notifier_topics_ven_resources(
    gleam@http@request:request(bitstring()),
    binary()
) -> midas@effect:effect({ok,
        {ok, oadr3@schema:notifier_topics_response()} |
            {error, gleam@http@response:response(bitstring())}} |
    {error, snag:snag()}, any()).
list_all_mqtt_notifier_topics_ven_resources(Token, Ven_id) ->
    Request = base_request(Token),
    Request@1 = oadr3@operations:list_all_mqtt_notifier_topics_ven_resources_request(
        Request,
        Ven_id
    ),
    midas@task:do(
        midas@task:fetch(Request@1),
        fun(Response) ->
            midas@task:'try'(
                handle_errors(
                    oadr3@operations:list_all_mqtt_notifier_topics_ven_resources_response(
                        Response
                    )
                ),
                fun(Data) -> midas@task:done(Data) end
            )
        end
    ).

-file("src/oadr3.gleam", 324).
-spec list_all_mqtt_notifier_topics_ven_programs(
    gleam@http@request:request(bitstring()),
    binary()
) -> midas@effect:effect({ok,
        {ok, oadr3@schema:notifier_topics_response()} |
            {error, gleam@http@response:response(bitstring())}} |
    {error, snag:snag()}, any()).
list_all_mqtt_notifier_topics_ven_programs(Token, Ven_id) ->
    Request = base_request(Token),
    Request@1 = oadr3@operations:list_all_mqtt_notifier_topics_ven_programs_request(
        Request,
        Ven_id
    ),
    midas@task:do(
        midas@task:fetch(Request@1),
        fun(Response) ->
            midas@task:'try'(
                handle_errors(
                    oadr3@operations:list_all_mqtt_notifier_topics_ven_programs_response(
                        Response
                    )
                ),
                fun(Data) -> midas@task:done(Data) end
            )
        end
    ).

-file("src/oadr3.gleam", 340).
-spec list_all_mqtt_notifier_topics_ven_events(
    gleam@http@request:request(bitstring()),
    binary()
) -> midas@effect:effect({ok,
        {ok, oadr3@schema:notifier_topics_response()} |
            {error, gleam@http@response:response(bitstring())}} |
    {error, snag:snag()}, any()).
list_all_mqtt_notifier_topics_ven_events(Token, Ven_id) ->
    Request = base_request(Token),
    Request@1 = oadr3@operations:list_all_mqtt_notifier_topics_ven_events_request(
        Request,
        Ven_id
    ),
    midas@task:do(
        midas@task:fetch(Request@1),
        fun(Response) ->
            midas@task:'try'(
                handle_errors(
                    oadr3@operations:list_all_mqtt_notifier_topics_ven_events_response(
                        Response
                    )
                ),
                fun(Data) -> midas@task:done(Data) end
            )
        end
    ).

-file("src/oadr3.gleam", 353).
-spec list_all_mqtt_notifier_topics_ven(
    gleam@http@request:request(bitstring()),
    binary()
) -> midas@effect:effect({ok,
        {ok, oadr3@schema:notifier_topics_response()} |
            {error, gleam@http@response:response(bitstring())}} |
    {error, snag:snag()}, any()).
list_all_mqtt_notifier_topics_ven(Token, Ven_id) ->
    Request = base_request(Token),
    Request@1 = oadr3@operations:list_all_mqtt_notifier_topics_ven_request(
        Request,
        Ven_id
    ),
    midas@task:do(
        midas@task:fetch(Request@1),
        fun(Response) ->
            midas@task:'try'(
                handle_errors(
                    oadr3@operations:list_all_mqtt_notifier_topics_ven_response(
                        Response
                    )
                ),
                fun(Data) -> midas@task:done(Data) end
            )
        end
    ).

-file("src/oadr3.gleam", 366).
-spec list_all_mqtt_notifier_topics_vens(
    gleam@http@request:request(bitstring())
) -> midas@effect:effect({ok,
        {ok, oadr3@schema:notifier_topics_response()} |
            {error, gleam@http@response:response(bitstring())}} |
    {error, snag:snag()}, any()).
list_all_mqtt_notifier_topics_vens(Token) ->
    Request = base_request(Token),
    Request@1 = oadr3@operations:list_all_mqtt_notifier_topics_vens_request(
        Request
    ),
    midas@task:do(
        midas@task:fetch(Request@1),
        fun(Response) ->
            midas@task:'try'(
                handle_errors(
                    oadr3@operations:list_all_mqtt_notifier_topics_vens_response(
                        Response
                    )
                ),
                fun(Data) -> midas@task:done(Data) end
            )
        end
    ).

-file("src/oadr3.gleam", 378).
-spec list_all_mqtt_notifier_topics_subscriptions(
    gleam@http@request:request(bitstring())
) -> midas@effect:effect({ok,
        {ok, oadr3@schema:notifier_topics_response()} |
            {error, gleam@http@response:response(bitstring())}} |
    {error, snag:snag()}, any()).
list_all_mqtt_notifier_topics_subscriptions(Token) ->
    Request = base_request(Token),
    Request@1 = oadr3@operations:list_all_mqtt_notifier_topics_subscriptions_request(
        Request
    ),
    midas@task:do(
        midas@task:fetch(Request@1),
        fun(Response) ->
            midas@task:'try'(
                handle_errors(
                    oadr3@operations:list_all_mqtt_notifier_topics_subscriptions_response(
                        Response
                    )
                ),
                fun(Data) -> midas@task:done(Data) end
            )
        end
    ).

-file("src/oadr3.gleam", 391).
-spec list_all_mqtt_notifier_topics_resources(
    gleam@http@request:request(bitstring())
) -> midas@effect:effect({ok,
        {ok, oadr3@schema:notifier_topics_response()} |
            {error, gleam@http@response:response(bitstring())}} |
    {error, snag:snag()}, any()).
list_all_mqtt_notifier_topics_resources(Token) ->
    Request = base_request(Token),
    Request@1 = oadr3@operations:list_all_mqtt_notifier_topics_resources_request(
        Request
    ),
    midas@task:do(
        midas@task:fetch(Request@1),
        fun(Response) ->
            midas@task:'try'(
                handle_errors(
                    oadr3@operations:list_all_mqtt_notifier_topics_resources_response(
                        Response
                    )
                ),
                fun(Data) -> midas@task:done(Data) end
            )
        end
    ).

-file("src/oadr3.gleam", 404).
-spec list_all_mqtt_notifier_topics_reports(
    gleam@http@request:request(bitstring())
) -> midas@effect:effect({ok,
        {ok, oadr3@schema:notifier_topics_response()} |
            {error, gleam@http@response:response(bitstring())}} |
    {error, snag:snag()}, any()).
list_all_mqtt_notifier_topics_reports(Token) ->
    Request = base_request(Token),
    Request@1 = oadr3@operations:list_all_mqtt_notifier_topics_reports_request(
        Request
    ),
    midas@task:do(
        midas@task:fetch(Request@1),
        fun(Response) ->
            midas@task:'try'(
                handle_errors(
                    oadr3@operations:list_all_mqtt_notifier_topics_reports_response(
                        Response
                    )
                ),
                fun(Data) -> midas@task:done(Data) end
            )
        end
    ).

-file("src/oadr3.gleam", 417).
-spec list_all_mqtt_notifier_topics_program_events(
    gleam@http@request:request(bitstring()),
    binary()
) -> midas@effect:effect({ok,
        {ok, oadr3@schema:notifier_topics_response()} |
            {error, gleam@http@response:response(bitstring())}} |
    {error, snag:snag()}, any()).
list_all_mqtt_notifier_topics_program_events(Token, Program_id) ->
    Request = base_request(Token),
    Request@1 = oadr3@operations:list_all_mqtt_notifier_topics_program_events_request(
        Request,
        Program_id
    ),
    midas@task:do(
        midas@task:fetch(Request@1),
        fun(Response) ->
            midas@task:'try'(
                handle_errors(
                    oadr3@operations:list_all_mqtt_notifier_topics_program_events_response(
                        Response
                    )
                ),
                fun(Data) -> midas@task:done(Data) end
            )
        end
    ).

-file("src/oadr3.gleam", 433).
-spec list_all_mqtt_notifier_topics_program(
    gleam@http@request:request(bitstring()),
    binary()
) -> midas@effect:effect({ok,
        {ok, oadr3@schema:notifier_topics_response()} |
            {error, gleam@http@response:response(bitstring())}} |
    {error, snag:snag()}, any()).
list_all_mqtt_notifier_topics_program(Token, Program_id) ->
    Request = base_request(Token),
    Request@1 = oadr3@operations:list_all_mqtt_notifier_topics_program_request(
        Request,
        Program_id
    ),
    midas@task:do(
        midas@task:fetch(Request@1),
        fun(Response) ->
            midas@task:'try'(
                handle_errors(
                    oadr3@operations:list_all_mqtt_notifier_topics_program_response(
                        Response
                    )
                ),
                fun(Data) -> midas@task:done(Data) end
            )
        end
    ).

-file("src/oadr3.gleam", 449).
-spec list_all_mqtt_notifier_topics_programs(
    gleam@http@request:request(bitstring())
) -> midas@effect:effect({ok,
        {ok, oadr3@schema:notifier_topics_response()} |
            {error, gleam@http@response:response(bitstring())}} |
    {error, snag:snag()}, any()).
list_all_mqtt_notifier_topics_programs(Token) ->
    Request = base_request(Token),
    Request@1 = oadr3@operations:list_all_mqtt_notifier_topics_programs_request(
        Request
    ),
    midas@task:do(
        midas@task:fetch(Request@1),
        fun(Response) ->
            midas@task:'try'(
                handle_errors(
                    oadr3@operations:list_all_mqtt_notifier_topics_programs_response(
                        Response
                    )
                ),
                fun(Data) -> midas@task:done(Data) end
            )
        end
    ).

-file("src/oadr3.gleam", 462).
-spec list_all_mqtt_notifier_topics_events(
    gleam@http@request:request(bitstring())
) -> midas@effect:effect({ok,
        {ok, oadr3@schema:notifier_topics_response()} |
            {error, gleam@http@response:response(bitstring())}} |
    {error, snag:snag()}, any()).
list_all_mqtt_notifier_topics_events(Token) ->
    Request = base_request(Token),
    Request@1 = oadr3@operations:list_all_mqtt_notifier_topics_events_request(
        Request
    ),
    midas@task:do(
        midas@task:fetch(Request@1),
        fun(Response) ->
            midas@task:'try'(
                handle_errors(
                    oadr3@operations:list_all_mqtt_notifier_topics_events_response(
                        Response
                    )
                ),
                fun(Data) -> midas@task:done(Data) end
            )
        end
    ).

-file("src/oadr3.gleam", 474).
-spec list_all_notifiers(gleam@http@request:request(bitstring())) -> midas@effect:effect({ok,
        {ok, oadr3@schema:notifiers_response()} |
            {error, gleam@http@response:response(bitstring())}} |
    {error, snag:snag()}, any()).
list_all_notifiers(Token) ->
    Request = base_request(Token),
    Request@1 = oadr3@operations:list_all_notifiers_request(Request),
    midas@task:do(
        midas@task:fetch(Request@1),
        fun(Response) ->
            midas@task:'try'(
                handle_errors(
                    oadr3@operations:list_all_notifiers_response(Response)
                ),
                fun(Data) -> midas@task:done(Data) end
            )
        end
    ).

-file("src/oadr3.gleam", 484).
-spec delete_event(gleam@http@request:request(bitstring()), binary()) -> midas@effect:effect({ok,
        {ok, {oadr3@schema:object_metadata(), oadr3@schema:event_request()}} |
            {error, gleam@http@response:response(bitstring())}} |
    {error, snag:snag()}, any()).
delete_event(Token, Event_id) ->
    Request = base_request(Token),
    Request@1 = oadr3@operations:delete_event_request(Request, Event_id),
    midas@task:do(
        midas@task:fetch(Request@1),
        fun(Response) ->
            midas@task:'try'(
                handle_errors(oadr3@operations:delete_event_response(Response)),
                fun(Data) -> midas@task:done(Data) end
            )
        end
    ).

-file("src/oadr3.gleam", 492).
-spec update_event(
    gleam@http@request:request(bitstring()),
    binary(),
    oadr3@schema:event_request()
) -> midas@effect:effect({ok,
        {ok, {oadr3@schema:object_metadata(), oadr3@schema:event_request()}} |
            {error, gleam@http@response:response(bitstring())}} |
    {error, snag:snag()}, any()).
update_event(Token, Event_id, Data) ->
    Request = base_request(Token),
    Request@1 = oadr3@operations:update_event_request(Request, Event_id, Data),
    midas@task:do(
        midas@task:fetch(Request@1),
        fun(Response) ->
            midas@task:'try'(
                handle_errors(oadr3@operations:update_event_response(Response)),
                fun(Data@1) -> midas@task:done(Data@1) end
            )
        end
    ).

-file("src/oadr3.gleam", 500).
-spec search_events_by_id(gleam@http@request:request(bitstring()), binary()) -> midas@effect:effect({ok,
        {ok, {oadr3@schema:object_metadata(), oadr3@schema:event_request()}} |
            {error, gleam@http@response:response(bitstring())}} |
    {error, snag:snag()}, any()).
search_events_by_id(Token, Event_id) ->
    Request = base_request(Token),
    Request@1 = oadr3@operations:search_events_by_id_request(Request, Event_id),
    midas@task:do(
        midas@task:fetch(Request@1),
        fun(Response) ->
            midas@task:'try'(
                handle_errors(
                    oadr3@operations:search_events_by_id_response(Response)
                ),
                fun(Data) -> midas@task:done(Data) end
            )
        end
    ).

-file("src/oadr3.gleam", 510).
-spec create_event(
    gleam@http@request:request(bitstring()),
    oadr3@schema:event_request()
) -> midas@effect:effect({ok,
        {ok, {oadr3@schema:object_metadata(), oadr3@schema:event_request()}} |
            {error, gleam@http@response:response(bitstring())}} |
    {error, snag:snag()}, any()).
create_event(Token, Data) ->
    Request = base_request(Token),
    Request@1 = oadr3@operations:create_event_request(Request, Data),
    midas@task:do(
        midas@task:fetch(Request@1),
        fun(Response) ->
            midas@task:'try'(
                handle_errors(oadr3@operations:create_event_response(Response)),
                fun(Data@1) -> midas@task:done(Data@1) end
            )
        end
    ).

-file("src/oadr3.gleam", 518).
-spec search_all_events(
    gleam@http@request:request(bitstring()),
    gleam@option:option(binary()),
    gleam@option:option(any()),
    gleam@option:option(integer()),
    gleam@option:option(integer()),
    gleam@option:option(boolean())
) -> midas@effect:effect({ok,
        {ok,
                list({oadr3@schema:object_metadata(),
                    oadr3@schema:event_request()})} |
            {error, gleam@http@response:response(bitstring())}} |
    {error, snag:snag()}, any()).
search_all_events(Token, Program_id, Targets, Skip, Limit, Active) ->
    Request = base_request(Token),
    Request@1 = oadr3@operations:search_all_events_request(
        Request,
        Program_id,
        Targets,
        Skip,
        Limit,
        Active
    ),
    midas@task:do(
        midas@task:fetch(Request@1),
        fun(Response) ->
            midas@task:'try'(
                handle_errors(
                    oadr3@operations:search_all_events_response(Response)
                ),
                fun(Data) -> midas@task:done(Data) end
            )
        end
    ).

-file("src/oadr3.gleam", 543).
-spec fetch_token(gleam@http@request:request(bitstring())) -> midas@effect:effect({ok,
        {ok, oadr3@schema:client_credential_response()} |
            {error, gleam@http@response:response(bitstring())}} |
    {error, snag:snag()}, any()).
fetch_token(Token) ->
    Request = base_request(Token),
    Request@1 = oadr3@operations:fetch_token_request(Request),
    midas@task:do(
        midas@task:fetch(Request@1),
        fun(Response) ->
            midas@task:'try'(
                handle_errors(oadr3@operations:fetch_token_response(Response)),
                fun(Data) -> midas@task:done(Data) end
            )
        end
    ).

-file("src/oadr3.gleam", 551).
-spec get_auth_server_info(gleam@http@request:request(bitstring())) -> midas@effect:effect({ok,
        {ok, oadr3@schema:auth_server_info()} | {error, oadr3@schema:problem()}} |
    {error, snag:snag()}, any()).
get_auth_server_info(Token) ->
    Request = base_request(Token),
    Request@1 = oadr3@operations:get_auth_server_info_request(Request),
    midas@task:do(
        midas@task:fetch(Request@1),
        fun(Response) ->
            midas@task:'try'(
                handle_errors(
                    oadr3@operations:get_auth_server_info_response(Response)
                ),
                fun(Data) -> midas@task:done(Data) end
            )
        end
    ).