-module(oadr3@schema).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]).
-define(FILEPATH, "src/oadr3/schema.gleam").
-export([client_id_decoder/0, anon_97535fea_decoder/0, client_id_encode/1, anon_97535fea_encode/1, object_types_decoder/0, anon_85c77f13_decoder/0, object_types_encode/1, anon_85c77f13_encode/1, resource_name_decoder/0, values_map_decoder/0, date_time_decoder/0, duration_decoder/0, interval_period_decoder/0, interval_decoder/0, anon_818bb683_decoder/0, resource_name_encode/1, values_map_encode/1, date_time_encode/1, duration_encode/1, interval_period_encode/1, interval_encode/1, anon_818bb683_encode/1, anon_25ddbf1f_decoder/0, anon_25ddbf1f_encode/1, target_decoder/0, program_request_decoder/0, object_id_decoder/0, object_metadata_decoder/0, program_decoder/0, target_encode/1, program_request_encode/1, object_id_encode/1, object_metadata_encode/1, program_encode/1, client_credential_response_decoder/0, client_credential_response_encode/1, ven_name_decoder/0, bl_ven_request_decoder/0, ven_decoder/0, ven_name_encode/1, bl_ven_request_encode/1, ven_encode/1, auth_server_info_decoder/0, auth_server_info_encode/1, notifier_operations_topics_decoder/0, notifier_topics_response_decoder/0, notifier_operations_topics_encode/1, notifier_topics_response_encode/1, mqtt_notifier_binding_object_decoder/0, mqtt_notifier_binding_object_encode/1, client_name_decoder/0, subscription_request_decoder/0, subscription_decoder/0, client_name_encode/1, subscription_request_encode/1, subscription_encode/1, units_decoder/0, reading_type_decoder/0, report_descriptor_decoder/0, event_payload_descriptor_decoder/0, event_request_decoder/0, units_encode/1, reading_type_encode/1, report_descriptor_encode/1, event_payload_descriptor_encode/1, event_request_encode/1, mqtt_notifier_authentication_anonymous_decoder/0, mqtt_notifier_authentication_anonymous_encode/1, notifiers_response_decoder/0, notifiers_response_encode/1, notification_decoder/0, notification_encode/1, client_credential_request_decoder/0, client_credential_request_encode/1, resource_request_decoder/0, resource_request_encode/1, point_decoder/0, point_encode/1, report_payload_descriptor_decoder/0, report_request_decoder/0, report_decoder/0, report_payload_descriptor_encode/1, report_request_encode/1, report_encode/1, mqtt_notifier_authentication_oauth2_bearer_token_decoder/0, mqtt_notifier_authentication_oauth2_bearer_token_encode/1, auth_error_decoder/0, auth_error_encode/1, problem_decoder/0, problem_encode/1, bl_resource_request_decoder/0, bl_resource_request_encode/1, event_decoder/0, event_encode/1, ven_request_decoder/0, ven_request_encode/1, resource_decoder/0, resource_encode/1, ven_ven_request_decoder/0, ven_ven_request_encode/1, mqtt_notifier_authentication_certificate_decoder/0, mqtt_notifier_authentication_certificate_encode/1, ven_resource_request_decoder/0, ven_resource_request_encode/1]).
-export_type([ven_resource_request/0, mqtt_notifier_authentication_certificate/0, ven_ven_request/0, object_metadata/0, interval_period/0, notifier_operations_topics/0, program_request/0, bl_resource_request/0, problem/0, report_payload_descriptor/0, report_request/0, auth_error/0, mqtt_notifier_authentication_oauth2_bearer_token/0, bl_ven_request/0, report_descriptor/0, point/0, client_credential_request/0, notification/0, subscription_request/0, values_map/0, notifiers_response/0, mqtt_notifier_authentication_anonymous/0, event_payload_descriptor/0, event_request/0, mqtt_notifier_binding_object/0, notifier_topics_response/0, interval/0, auth_server_info/0, client_credential_response/0, anon25ddbf1f/0, anon818bb683/0, anon85c77f13/0, anon97535fea/0]).
-type ven_resource_request() :: {ven_resource_request,
gleam@option:option(list(values_map())),
binary(),
binary(),
binary()}.
-type mqtt_notifier_authentication_certificate() :: {mqtt_notifier_authentication_certificate,
binary(),
binary(),
binary(),
binary()}.
-type ven_ven_request() :: {ven_ven_request,
gleam@option:option(list(values_map())),
binary(),
binary()}.
-type object_metadata() :: {object_metadata,
binary(),
binary(),
binary(),
binary()}.
-type interval_period() :: {interval_period,
gleam@option:option(binary()),
gleam@option:option(binary()),
gleam@option:option(binary())}.
-type notifier_operations_topics() :: {notifier_operations_topics,
gleam@option:option(binary()),
gleam@option:option(binary()),
binary(),
binary()}.
-type program_request() :: {program_request,
gleam@option:option(list(values_map())),
gleam@option:option(interval_period()),
gleam@option:option(list(oadr3@utils:any_())),
gleam@option:option(list(anon25ddbf1f())),
binary(),
gleam@option:option(list(binary()))}.
-type bl_resource_request() :: {bl_resource_request,
gleam@option:option(list(values_map())),
binary(),
binary(),
binary(),
gleam@option:option(list(binary())),
binary()}.
-type problem() :: {problem,
gleam@option:option(binary()),
gleam@option:option(binary()),
gleam@option:option(integer()),
gleam@option:option(binary()),
gleam@option:option(binary())}.
-type report_payload_descriptor() :: {report_payload_descriptor,
gleam@option:option(float()),
gleam@option:option(integer()),
binary(),
binary(),
gleam@option:option(binary()),
gleam@option:option(binary())}.
-type report_request() :: {report_request,
binary(),
binary(),
gleam@option:option(list(report_payload_descriptor())),
gleam@option:option(binary()),
list(anon818bb683())}.
-type auth_error() :: {auth_error,
binary(),
gleam@option:option(binary()),
gleam@option:option(binary())}.
-type mqtt_notifier_authentication_oauth2_bearer_token() :: {mqtt_notifier_authentication_oauth2_bearer_token,
binary(),
binary()}.
-type bl_ven_request() :: {bl_ven_request,
gleam@option:option(list(values_map())),
binary(),
binary(),
gleam@option:option(list(binary())),
binary()}.
-type report_descriptor() :: {report_descriptor,
gleam@option:option(boolean()),
gleam@option:option(integer()),
gleam@option:option(boolean()),
gleam@option:option(integer()),
binary(),
gleam@option:option(binary()),
gleam@option:option(integer()),
gleam@option:option(binary()),
gleam@option:option(integer()),
gleam@option:option(list(binary())),
gleam@option:option(binary())}.
-type point() :: {point, float(), float()}.
-type client_credential_request() :: {client_credential_request,
binary(),
binary(),
binary(),
gleam@option:option(binary())}.
-type notification() :: {notification,
nil,
binary(),
binary(),
gleam@option:option(list(binary()))}.
-type subscription_request() :: {subscription_request,
binary(),
list(anon85c77f13()),
gleam@option:option(binary()),
gleam@option:option(list(binary()))}.
-type values_map() :: {values_map, binary(), list(oadr3@utils:any_())}.
-type notifiers_response() :: {notifiers_response,
gleam@option:option(mqtt_notifier_binding_object()),
boolean()}.
-type mqtt_notifier_authentication_anonymous() :: {mqtt_notifier_authentication_anonymous,
binary()}.
-type event_payload_descriptor() :: {event_payload_descriptor,
gleam@option:option(binary()),
binary(),
binary(),
gleam@option:option(binary())}.
-type event_request() :: {event_request,
gleam@option:option(binary()),
gleam@option:option(binary()),
gleam@option:option(interval_period()),
gleam@option:option(list(interval())),
gleam@option:option(list(event_payload_descriptor())),
gleam@option:option(integer()),
binary(),
gleam@option:option(list(report_descriptor())),
gleam@option:option(list(binary()))}.
-type mqtt_notifier_binding_object() :: {mqtt_notifier_binding_object,
list(binary()),
oadr3@utils:any_(),
binary()}.
-type notifier_topics_response() :: {notifier_topics_response,
notifier_operations_topics()}.
-type interval() :: {interval,
integer(),
gleam@option:option(interval_period()),
list(values_map())}.
-type auth_server_info() :: {auth_server_info, binary()}.
-type client_credential_response() :: {client_credential_response,
binary(),
gleam@option:option(integer()),
gleam@option:option(binary()),
gleam@option:option(binary()),
binary()}.
-type anon25ddbf1f() :: {anon25ddbf1f, binary()}.
-type anon818bb683() :: {anon818bb683,
gleam@option:option(interval_period()),
list(interval()),
binary()}.
-type anon85c77f13() :: {anon85c77f13,
gleam@option:option(binary()),
binary(),
list(binary()),
list(binary())}.
-type anon97535fea() :: {anon97535fea, binary()}.
-file("src/oadr3/schema.gleam", 1216).
-spec client_id_decoder() -> gleam@dynamic@decode:decoder(binary()).
client_id_decoder() ->
{decoder, fun gleam@dynamic@decode:decode_string/1}.
-file("src/oadr3/schema.gleam", 331).
-spec anon_97535fea_decoder() -> gleam@dynamic@decode:decoder(anon97535fea()).
anon_97535fea_decoder() ->
gleam@dynamic@decode:field(
<<"clientID"/utf8>>,
client_id_decoder(),
fun(Client_id) ->
gleam@dynamic@decode:success({anon97535fea, Client_id})
end
).
-file("src/oadr3/schema.gleam", 1220).
-spec client_id_encode(binary()) -> gleam@json:json().
client_id_encode(Data) ->
gleam@json:string(Data).
-file("src/oadr3/schema.gleam", 336).
-spec anon_97535fea_encode(anon97535fea()) -> gleam@json:json().
anon_97535fea_encode(Data) ->
oadr3@utils:object(
[{<<"clientID"/utf8>>, client_id_encode(erlang:element(2, Data))}]
).
-file("src/oadr3/schema.gleam", 1014).
-spec object_types_decoder() -> gleam@dynamic@decode:decoder(binary()).
object_types_decoder() ->
{decoder, fun gleam@dynamic@decode:decode_string/1}.
-file("src/oadr3/schema.gleam", 340).
-spec anon_85c77f13_decoder() -> gleam@dynamic@decode:decoder(anon85c77f13()).
anon_85c77f13_decoder() ->
gleam@dynamic@decode:optional_field(
<<"bearerToken"/utf8>>,
none,
gleam@dynamic@decode:optional(
{decoder, fun gleam@dynamic@decode:decode_string/1}
),
fun(Bearer_token) ->
gleam@dynamic@decode:field(
<<"callbackUrl"/utf8>>,
{decoder, fun gleam@dynamic@decode:decode_string/1},
fun(Callback_url) ->
gleam@dynamic@decode:field(
<<"objects"/utf8>>,
gleam@dynamic@decode:list(object_types_decoder()),
fun(Objects) ->
gleam@dynamic@decode:field(
<<"operations"/utf8>>,
gleam@dynamic@decode:list(
{decoder,
fun gleam@dynamic@decode:decode_string/1}
),
fun(Operations) ->
gleam@dynamic@decode:success(
{anon85c77f13,
Bearer_token,
Callback_url,
Objects,
Operations}
)
end
)
end
)
end
)
end
).
-file("src/oadr3/schema.gleam", 1018).
-spec object_types_encode(binary()) -> gleam@json:json().
object_types_encode(Data) ->
gleam@json:string(Data).
-file("src/oadr3/schema.gleam", 357).
-spec anon_85c77f13_encode(anon85c77f13()) -> gleam@json:json().
anon_85c77f13_encode(Data) ->
oadr3@utils:object(
[{<<"bearerToken"/utf8>>,
gleam@json:nullable(
erlang:element(2, Data),
fun gleam@json:string/1
)},
{<<"callbackUrl"/utf8>>, gleam@json:string(erlang:element(3, Data))},
{<<"objects"/utf8>>,
gleam@json:array(
erlang:element(4, Data),
fun object_types_encode/1
)},
{<<"operations"/utf8>>,
gleam@json:array(
erlang:element(5, Data),
fun gleam@json:string/1
)}]
).
-file("src/oadr3/schema.gleam", 1022).
-spec resource_name_decoder() -> gleam@dynamic@decode:decoder(binary()).
resource_name_decoder() ->
{decoder, fun gleam@dynamic@decode:decode_string/1}.
-file("src/oadr3/schema.gleam", 697).
-spec values_map_decoder() -> gleam@dynamic@decode:decoder(values_map()).
values_map_decoder() ->
gleam@dynamic@decode:field(
<<"type"/utf8>>,
{decoder, fun gleam@dynamic@decode:decode_string/1},
fun(Type_) ->
gleam@dynamic@decode:field(
<<"values"/utf8>>,
gleam@dynamic@decode:list(oadr3@utils:any_decoder()),
fun(Values) ->
gleam@dynamic@decode:success({values_map, Type_, Values})
end
)
end
).
-file("src/oadr3/schema.gleam", 1208).
-spec date_time_decoder() -> gleam@dynamic@decode:decoder(binary()).
date_time_decoder() ->
{decoder, fun gleam@dynamic@decode:decode_string/1}.
-file("src/oadr3/schema.gleam", 1224).
-spec duration_decoder() -> gleam@dynamic@decode:decoder(binary()).
duration_decoder() ->
{decoder, fun gleam@dynamic@decode:decode_string/1}.
-file("src/oadr3/schema.gleam", 1329).
-spec interval_period_decoder() -> gleam@dynamic@decode:decoder(interval_period()).
interval_period_decoder() ->
gleam@dynamic@decode:optional_field(
<<"duration"/utf8>>,
none,
gleam@dynamic@decode:optional(duration_decoder()),
fun(Duration) ->
gleam@dynamic@decode:optional_field(
<<"randomizeStart"/utf8>>,
none,
gleam@dynamic@decode:optional(duration_decoder()),
fun(Randomize_start) ->
gleam@dynamic@decode:optional_field(
<<"start"/utf8>>,
none,
gleam@dynamic@decode:optional(date_time_decoder()),
fun(Start) ->
gleam@dynamic@decode:success(
{interval_period,
Duration,
Randomize_start,
Start}
)
end
)
end
)
end
).
-file("src/oadr3/schema.gleam", 475).
-spec interval_decoder() -> gleam@dynamic@decode:decoder(interval()).
interval_decoder() ->
gleam@dynamic@decode:field(
<<"id"/utf8>>,
{decoder, fun gleam@dynamic@decode:decode_int/1},
fun(Id) ->
gleam@dynamic@decode:optional_field(
<<"intervalPeriod"/utf8>>,
none,
gleam@dynamic@decode:optional(interval_period_decoder()),
fun(Interval_period) ->
gleam@dynamic@decode:field(
<<"payloads"/utf8>>,
gleam@dynamic@decode:list(values_map_decoder()),
fun(Payloads) ->
gleam@dynamic@decode:success(
{interval, Id, Interval_period, Payloads}
)
end
)
end
)
end
).
-file("src/oadr3/schema.gleam", 366).
-spec anon_818bb683_decoder() -> gleam@dynamic@decode:decoder(anon818bb683()).
anon_818bb683_decoder() ->
gleam@dynamic@decode:optional_field(
<<"intervalPeriod"/utf8>>,
none,
gleam@dynamic@decode:optional(interval_period_decoder()),
fun(Interval_period) ->
gleam@dynamic@decode:field(
<<"intervals"/utf8>>,
gleam@dynamic@decode:list(interval_decoder()),
fun(Intervals) ->
gleam@dynamic@decode:field(
<<"resourceName"/utf8>>,
resource_name_decoder(),
fun(Resource_name) ->
gleam@dynamic@decode:success(
{anon818bb683,
Interval_period,
Intervals,
Resource_name}
)
end
)
end
)
end
).
-file("src/oadr3/schema.gleam", 1026).
-spec resource_name_encode(binary()) -> gleam@json:json().
resource_name_encode(Data) ->
gleam@json:string(Data).
-file("src/oadr3/schema.gleam", 703).
-spec values_map_encode(values_map()) -> gleam@json:json().
values_map_encode(Data) ->
oadr3@utils:object(
[{<<"type"/utf8>>, gleam@json:string(erlang:element(2, Data))},
{<<"values"/utf8>>,
gleam@json:array(
erlang:element(3, Data),
fun oadr3@utils:any_to_json/1
)}]
).
-file("src/oadr3/schema.gleam", 1212).
-spec date_time_encode(binary()) -> gleam@json:json().
date_time_encode(Data) ->
gleam@json:string(Data).
-file("src/oadr3/schema.gleam", 1228).
-spec duration_encode(binary()) -> gleam@json:json().
duration_encode(Data) ->
gleam@json:string(Data).
-file("src/oadr3/schema.gleam", 1352).
-spec interval_period_encode(interval_period()) -> gleam@json:json().
interval_period_encode(Data) ->
oadr3@utils:object(
[{<<"duration"/utf8>>,
gleam@json:nullable(
erlang:element(2, Data),
fun duration_encode/1
)},
{<<"randomizeStart"/utf8>>,
gleam@json:nullable(
erlang:element(3, Data),
fun duration_encode/1
)},
{<<"start"/utf8>>,
gleam@json:nullable(
erlang:element(4, Data),
fun date_time_encode/1
)}]
).
-file("src/oadr3/schema.gleam", 490).
-spec interval_encode(interval()) -> gleam@json:json().
interval_encode(Data) ->
oadr3@utils:object(
[{<<"id"/utf8>>, gleam@json:int(erlang:element(2, Data))},
{<<"intervalPeriod"/utf8>>,
gleam@json:nullable(
erlang:element(3, Data),
fun interval_period_encode/1
)},
{<<"payloads"/utf8>>,
gleam@json:array(
erlang:element(4, Data),
fun values_map_encode/1
)}]
).
-file("src/oadr3/schema.gleam", 381).
-spec anon_818bb683_encode(anon818bb683()) -> gleam@json:json().
anon_818bb683_encode(Data) ->
oadr3@utils:object(
[{<<"intervalPeriod"/utf8>>,
gleam@json:nullable(
erlang:element(2, Data),
fun interval_period_encode/1
)},
{<<"intervals"/utf8>>,
gleam@json:array(erlang:element(3, Data), fun interval_encode/1)},
{<<"resourceName"/utf8>>,
resource_name_encode(erlang:element(4, Data))}]
).
-file("src/oadr3/schema.gleam", 392).
-spec anon_25ddbf1f_decoder() -> gleam@dynamic@decode:decoder(anon25ddbf1f()).
anon_25ddbf1f_decoder() ->
gleam@dynamic@decode:field(
<<"URL"/utf8>>,
{decoder, fun gleam@dynamic@decode:decode_string/1},
fun(Url) -> gleam@dynamic@decode:success({anon25ddbf1f, Url}) end
).
-file("src/oadr3/schema.gleam", 397).
-spec anon_25ddbf1f_encode(anon25ddbf1f()) -> gleam@json:json().
anon_25ddbf1f_encode(Data) ->
oadr3@utils:object(
[{<<"URL"/utf8>>, gleam@json:string(erlang:element(2, Data))}]
).
-file("src/oadr3/schema.gleam", 979).
-spec target_decoder() -> gleam@dynamic@decode:decoder(binary()).
target_decoder() ->
{decoder, fun gleam@dynamic@decode:decode_string/1}.
-file("src/oadr3/schema.gleam", 1240).
-spec program_request_decoder() -> gleam@dynamic@decode:decoder(program_request()).
program_request_decoder() ->
gleam@dynamic@decode:optional_field(
<<"attributes"/utf8>>,
none,
gleam@dynamic@decode:optional(
gleam@dynamic@decode:list(values_map_decoder())
),
fun(Attributes) ->
gleam@dynamic@decode:optional_field(
<<"intervalPeriod"/utf8>>,
none,
gleam@dynamic@decode:optional(interval_period_decoder()),
fun(Interval_period) ->
gleam@dynamic@decode:optional_field(
<<"payloadDescriptors"/utf8>>,
none,
gleam@dynamic@decode:optional(
gleam@dynamic@decode:list(oadr3@utils:any_decoder())
),
fun(Payload_descriptors) ->
gleam@dynamic@decode:optional_field(
<<"programDescriptions"/utf8>>,
none,
gleam@dynamic@decode:optional(
gleam@dynamic@decode:list(
anon_25ddbf1f_decoder()
)
),
fun(Program_descriptions) ->
gleam@dynamic@decode:field(
<<"programName"/utf8>>,
{decoder,
fun gleam@dynamic@decode:decode_string/1},
fun(Program_name) ->
gleam@dynamic@decode:optional_field(
<<"targets"/utf8>>,
none,
gleam@dynamic@decode:optional(
gleam@dynamic@decode:list(
target_decoder()
)
),
fun(Targets) ->
gleam@dynamic@decode:success(
{program_request,
Attributes,
Interval_period,
Payload_descriptors,
Program_descriptions,
Program_name,
Targets}
)
end
)
end
)
end
)
end
)
end
)
end
).
-file("src/oadr3/schema.gleam", 448).
-spec object_id_decoder() -> gleam@dynamic@decode:decoder(binary()).
object_id_decoder() ->
{decoder, fun gleam@dynamic@decode:decode_string/1}.
-file("src/oadr3/schema.gleam", 1391).
-spec object_metadata_decoder() -> gleam@dynamic@decode:decoder(object_metadata()).
object_metadata_decoder() ->
gleam@dynamic@decode:field(
<<"createdDateTime"/utf8>>,
date_time_decoder(),
fun(Created_date_time) ->
gleam@dynamic@decode:field(
<<"id"/utf8>>,
object_id_decoder(),
fun(Id) ->
gleam@dynamic@decode:field(
<<"modificationDateTime"/utf8>>,
date_time_decoder(),
fun(Modification_date_time) ->
gleam@dynamic@decode:field(
<<"objectType"/utf8>>,
object_types_decoder(),
fun(Object_type) ->
gleam@dynamic@decode:success(
{object_metadata,
Created_date_time,
Id,
Modification_date_time,
Object_type}
)
end
)
end
)
end
)
end
).
-file("src/oadr3/schema.gleam", 401).
-spec program_decoder() -> gleam@dynamic@decode:decoder({object_metadata(),
program_request()}).
program_decoder() ->
gleam@dynamic@decode:then(
object_metadata_decoder(),
fun(E0) ->
gleam@dynamic@decode:then(
program_request_decoder(),
fun(E1) -> gleam@dynamic@decode:success({E0, E1}) end
)
end
).
-file("src/oadr3/schema.gleam", 983).
-spec target_encode(binary()) -> gleam@json:json().
target_encode(Data) ->
gleam@json:string(Data).
-file("src/oadr3/schema.gleam", 1277).
-spec program_request_encode(program_request()) -> gleam@json:json().
program_request_encode(Data) ->
oadr3@utils:object(
[{<<"attributes"/utf8>>,
gleam@json:nullable(
erlang:element(2, Data),
fun(_capture) ->
gleam@json:array(_capture, fun values_map_encode/1)
end
)},
{<<"intervalPeriod"/utf8>>,
gleam@json:nullable(
erlang:element(3, Data),
fun interval_period_encode/1
)},
{<<"payloadDescriptors"/utf8>>,
gleam@json:nullable(
erlang:element(4, Data),
fun(_capture@1) ->
gleam@json:array(
_capture@1,
fun oadr3@utils:any_to_json/1
)
end
)},
{<<"programDescriptions"/utf8>>,
gleam@json:nullable(
erlang:element(5, Data),
fun(_capture@2) ->
gleam@json:array(_capture@2, fun anon_25ddbf1f_encode/1)
end
)},
{<<"programName"/utf8>>, gleam@json:string(erlang:element(6, Data))},
{<<"targets"/utf8>>,
gleam@json:nullable(
erlang:element(7, Data),
fun(_capture@3) ->
gleam@json:array(_capture@3, fun target_encode/1)
end
)}]
).
-file("src/oadr3/schema.gleam", 452).
-spec object_id_encode(binary()) -> gleam@json:json().
object_id_encode(Data) ->
gleam@json:string(Data).
-file("src/oadr3/schema.gleam", 1407).
-spec object_metadata_encode(object_metadata()) -> gleam@json:json().
object_metadata_encode(Data) ->
oadr3@utils:object(
[{<<"createdDateTime"/utf8>>, date_time_encode(erlang:element(2, Data))},
{<<"id"/utf8>>, object_id_encode(erlang:element(3, Data))},
{<<"modificationDateTime"/utf8>>,
date_time_encode(erlang:element(4, Data))},
{<<"objectType"/utf8>>,
object_types_encode(erlang:element(5, Data))}]
).
-file("src/oadr3/schema.gleam", 407).
-spec program_encode({object_metadata(), program_request()}) -> gleam@json:json().
program_encode(Data) ->
oadr3_utils_ffi:merge(
[object_metadata_encode(erlang:element(1, Data)),
program_request_encode(erlang:element(2, Data))]
).
-file("src/oadr3/schema.gleam", 411).
-spec client_credential_response_decoder() -> gleam@dynamic@decode:decoder(client_credential_response()).
client_credential_response_decoder() ->
gleam@dynamic@decode:field(
<<"access_token"/utf8>>,
{decoder, fun gleam@dynamic@decode:decode_string/1},
fun(Access_token) ->
gleam@dynamic@decode:optional_field(
<<"expires_in"/utf8>>,
none,
gleam@dynamic@decode:optional(
{decoder, fun gleam@dynamic@decode:decode_int/1}
),
fun(Expires_in) ->
gleam@dynamic@decode:optional_field(
<<"refresh_token"/utf8>>,
none,
gleam@dynamic@decode:optional(
{decoder, fun gleam@dynamic@decode:decode_string/1}
),
fun(Refresh_token) ->
gleam@dynamic@decode:optional_field(
<<"scope"/utf8>>,
none,
gleam@dynamic@decode:optional(
{decoder,
fun gleam@dynamic@decode:decode_string/1}
),
fun(Scope) ->
gleam@dynamic@decode:field(
<<"token_type"/utf8>>,
{decoder,
fun gleam@dynamic@decode:decode_string/1},
fun(Token_type) ->
gleam@dynamic@decode:success(
{client_credential_response,
Access_token,
Expires_in,
Refresh_token,
Scope,
Token_type}
)
end
)
end
)
end
)
end
)
end
).
-file("src/oadr3/schema.gleam", 438).
-spec client_credential_response_encode(client_credential_response()) -> gleam@json:json().
client_credential_response_encode(Data) ->
oadr3@utils:object(
[{<<"access_token"/utf8>>, gleam@json:string(erlang:element(2, Data))},
{<<"expires_in"/utf8>>,
gleam@json:nullable(
erlang:element(3, Data),
fun gleam@json:int/1
)},
{<<"refresh_token"/utf8>>,
gleam@json:nullable(
erlang:element(4, Data),
fun gleam@json:string/1
)},
{<<"scope"/utf8>>,
gleam@json:nullable(
erlang:element(5, Data),
fun gleam@json:string/1
)},
{<<"token_type"/utf8>>, gleam@json:string(erlang:element(6, Data))}]
).
-file("src/oadr3/schema.gleam", 1232).
-spec ven_name_decoder() -> gleam@dynamic@decode:decoder(binary()).
ven_name_decoder() ->
{decoder, fun gleam@dynamic@decode:decode_string/1}.
-file("src/oadr3/schema.gleam", 925).
-spec bl_ven_request_decoder() -> gleam@dynamic@decode:decoder(bl_ven_request()).
bl_ven_request_decoder() ->
gleam@dynamic@decode:optional_field(
<<"attributes"/utf8>>,
none,
gleam@dynamic@decode:optional(
gleam@dynamic@decode:list(values_map_decoder())
),
fun(Attributes) ->
gleam@dynamic@decode:field(
<<"clientID"/utf8>>,
client_id_decoder(),
fun(Client_id) ->
gleam@dynamic@decode:field(
<<"objectType"/utf8>>,
{decoder, fun gleam@dynamic@decode:decode_string/1},
fun(Object_type) ->
gleam@dynamic@decode:optional_field(
<<"targets"/utf8>>,
none,
gleam@dynamic@decode:optional(
gleam@dynamic@decode:list(target_decoder())
),
fun(Targets) ->
gleam@dynamic@decode:field(
<<"venName"/utf8>>,
ven_name_decoder(),
fun(Ven_name) ->
gleam@dynamic@decode:success(
{bl_ven_request,
Attributes,
Client_id,
Object_type,
Targets,
Ven_name}
)
end
)
end
)
end
)
end
)
end
).
-file("src/oadr3/schema.gleam", 456).
-spec ven_decoder() -> gleam@dynamic@decode:decoder({object_metadata(),
bl_ven_request()}).
ven_decoder() ->
gleam@dynamic@decode:then(
object_metadata_decoder(),
fun(E0) ->
gleam@dynamic@decode:then(
bl_ven_request_decoder(),
fun(E1) -> gleam@dynamic@decode:success({E0, E1}) end
)
end
).
-file("src/oadr3/schema.gleam", 1236).
-spec ven_name_encode(binary()) -> gleam@json:json().
ven_name_encode(Data) ->
gleam@json:string(Data).
-file("src/oadr3/schema.gleam", 948).
-spec bl_ven_request_encode(bl_ven_request()) -> gleam@json:json().
bl_ven_request_encode(Data) ->
oadr3@utils:object(
[{<<"attributes"/utf8>>,
gleam@json:nullable(
erlang:element(2, Data),
fun(_capture) ->
gleam@json:array(_capture, fun values_map_encode/1)
end
)},
{<<"clientID"/utf8>>, client_id_encode(erlang:element(3, Data))},
{<<"objectType"/utf8>>, gleam@json:string(erlang:element(4, Data))},
{<<"targets"/utf8>>,
gleam@json:nullable(
erlang:element(5, Data),
fun(_capture@1) ->
gleam@json:array(_capture@1, fun target_encode/1)
end
)},
{<<"venName"/utf8>>, ven_name_encode(erlang:element(6, Data))}]
).
-file("src/oadr3/schema.gleam", 462).
-spec ven_encode({object_metadata(), bl_ven_request()}) -> gleam@json:json().
ven_encode(Data) ->
oadr3_utils_ffi:merge(
[object_metadata_encode(erlang:element(1, Data)),
bl_ven_request_encode(erlang:element(2, Data))]
).
-file("src/oadr3/schema.gleam", 466).
-spec auth_server_info_decoder() -> gleam@dynamic@decode:decoder(auth_server_info()).
auth_server_info_decoder() ->
gleam@dynamic@decode:field(
<<"tokenURL"/utf8>>,
{decoder, fun gleam@dynamic@decode:decode_string/1},
fun(Token_url) ->
gleam@dynamic@decode:success({auth_server_info, Token_url})
end
).
-file("src/oadr3/schema.gleam", 471).
-spec auth_server_info_encode(auth_server_info()) -> gleam@json:json().
auth_server_info_encode(Data) ->
oadr3@utils:object(
[{<<"tokenURL"/utf8>>, gleam@json:string(erlang:element(2, Data))}]
).
-file("src/oadr3/schema.gleam", 1303).
-spec notifier_operations_topics_decoder() -> gleam@dynamic@decode:decoder(notifier_operations_topics()).
notifier_operations_topics_decoder() ->
gleam@dynamic@decode:optional_field(
<<"ALL"/utf8>>,
none,
gleam@dynamic@decode:optional(
{decoder, fun gleam@dynamic@decode:decode_string/1}
),
fun(All) ->
gleam@dynamic@decode:optional_field(
<<"CREATE"/utf8>>,
none,
gleam@dynamic@decode:optional(
{decoder, fun gleam@dynamic@decode:decode_string/1}
),
fun(Create) ->
gleam@dynamic@decode:field(
<<"DELETE"/utf8>>,
{decoder, fun gleam@dynamic@decode:decode_string/1},
fun(Delete) ->
gleam@dynamic@decode:field(
<<"UPDATE"/utf8>>,
{decoder,
fun gleam@dynamic@decode:decode_string/1},
fun(Update) ->
gleam@dynamic@decode:success(
{notifier_operations_topics,
All,
Create,
Delete,
Update}
)
end
)
end
)
end
)
end
).
-file("src/oadr3/schema.gleam", 501).
-spec notifier_topics_response_decoder() -> gleam@dynamic@decode:decoder(notifier_topics_response()).
notifier_topics_response_decoder() ->
gleam@dynamic@decode:field(
<<"topics"/utf8>>,
notifier_operations_topics_decoder(),
fun(Topics) ->
gleam@dynamic@decode:success({notifier_topics_response, Topics})
end
).
-file("src/oadr3/schema.gleam", 1320).
-spec notifier_operations_topics_encode(notifier_operations_topics()) -> gleam@json:json().
notifier_operations_topics_encode(Data) ->
oadr3@utils:object(
[{<<"ALL"/utf8>>,
gleam@json:nullable(
erlang:element(2, Data),
fun gleam@json:string/1
)},
{<<"CREATE"/utf8>>,
gleam@json:nullable(
erlang:element(3, Data),
fun gleam@json:string/1
)},
{<<"DELETE"/utf8>>, gleam@json:string(erlang:element(4, Data))},
{<<"UPDATE"/utf8>>, gleam@json:string(erlang:element(5, Data))}]
).
-file("src/oadr3/schema.gleam", 506).
-spec notifier_topics_response_encode(notifier_topics_response()) -> gleam@json:json().
notifier_topics_response_encode(Data) ->
oadr3@utils:object(
[{<<"topics"/utf8>>,
notifier_operations_topics_encode(erlang:element(2, Data))}]
).
-file("src/oadr3/schema.gleam", 510).
-spec mqtt_notifier_binding_object_decoder() -> gleam@dynamic@decode:decoder(mqtt_notifier_binding_object()).
mqtt_notifier_binding_object_decoder() ->
gleam@dynamic@decode:field(
<<"URIS"/utf8>>,
gleam@dynamic@decode:list(
{decoder, fun gleam@dynamic@decode:decode_string/1}
),
fun(Uris) ->
gleam@dynamic@decode:field(
<<"authentication"/utf8>>,
oadr3@utils:any_decoder(),
fun(Authentication) ->
gleam@dynamic@decode:field(
<<"serialization"/utf8>>,
{decoder, fun gleam@dynamic@decode:decode_string/1},
fun(Serialization) ->
gleam@dynamic@decode:success(
{mqtt_notifier_binding_object,
Uris,
Authentication,
Serialization}
)
end
)
end
)
end
).
-file("src/oadr3/schema.gleam", 521).
-spec mqtt_notifier_binding_object_encode(mqtt_notifier_binding_object()) -> gleam@json:json().
mqtt_notifier_binding_object_encode(Data) ->
oadr3@utils:object(
[{<<"URIS"/utf8>>,
gleam@json:array(
erlang:element(2, Data),
fun gleam@json:string/1
)},
{<<"authentication"/utf8>>,
oadr3@utils:any_to_json(erlang:element(3, Data))},
{<<"serialization"/utf8>>,
gleam@json:string(erlang:element(4, Data))}]
).
-file("src/oadr3/schema.gleam", 1161).
-spec client_name_decoder() -> gleam@dynamic@decode:decoder(binary()).
client_name_decoder() ->
{decoder, fun gleam@dynamic@decode:decode_string/1}.
-file("src/oadr3/schema.gleam", 710).
-spec subscription_request_decoder() -> gleam@dynamic@decode:decoder(subscription_request()).
subscription_request_decoder() ->
gleam@dynamic@decode:field(
<<"clientName"/utf8>>,
client_name_decoder(),
fun(Client_name) ->
gleam@dynamic@decode:field(
<<"objectOperations"/utf8>>,
gleam@dynamic@decode:list(anon_85c77f13_decoder()),
fun(Object_operations) ->
gleam@dynamic@decode:optional_field(
<<"programID"/utf8>>,
none,
gleam@dynamic@decode:optional(object_id_decoder()),
fun(Program_id) ->
gleam@dynamic@decode:optional_field(
<<"targets"/utf8>>,
none,
gleam@dynamic@decode:optional(
gleam@dynamic@decode:list(target_decoder())
),
fun(Targets) ->
gleam@dynamic@decode:success(
{subscription_request,
Client_name,
Object_operations,
Program_id,
Targets}
)
end
)
end
)
end
)
end
).
-file("src/oadr3/schema.gleam", 529).
-spec subscription_decoder() -> gleam@dynamic@decode:decoder({object_metadata(),
subscription_request(),
anon97535fea()}).
subscription_decoder() ->
gleam@dynamic@decode:then(
object_metadata_decoder(),
fun(E0) ->
gleam@dynamic@decode:then(
subscription_request_decoder(),
fun(E1) ->
gleam@dynamic@decode:then(
anon_97535fea_decoder(),
fun(E2) ->
gleam@dynamic@decode:success({E0, E1, E2})
end
)
end
)
end
).
-file("src/oadr3/schema.gleam", 1165).
-spec client_name_encode(binary()) -> gleam@json:json().
client_name_encode(Data) ->
gleam@json:string(Data).
-file("src/oadr3/schema.gleam", 734).
-spec subscription_request_encode(subscription_request()) -> gleam@json:json().
subscription_request_encode(Data) ->
oadr3@utils:object(
[{<<"clientName"/utf8>>, client_name_encode(erlang:element(2, Data))},
{<<"objectOperations"/utf8>>,
gleam@json:array(
erlang:element(3, Data),
fun anon_85c77f13_encode/1
)},
{<<"programID"/utf8>>,
gleam@json:nullable(
erlang:element(4, Data),
fun object_id_encode/1
)},
{<<"targets"/utf8>>,
gleam@json:nullable(
erlang:element(5, Data),
fun(_capture) ->
gleam@json:array(_capture, fun target_encode/1)
end
)}]
).
-file("src/oadr3/schema.gleam", 536).
-spec subscription_encode(
{object_metadata(), subscription_request(), anon97535fea()}
) -> gleam@json:json().
subscription_encode(Data) ->
oadr3_utils_ffi:merge(
[object_metadata_encode(erlang:element(1, Data)),
subscription_request_encode(erlang:element(2, Data)),
anon_97535fea_encode(erlang:element(3, Data))]
).
-file("src/oadr3/schema.gleam", 672).
-spec units_decoder() -> gleam@dynamic@decode:decoder(binary()).
units_decoder() ->
{decoder, fun gleam@dynamic@decode:decode_string/1}.
-file("src/oadr3/schema.gleam", 917).
-spec reading_type_decoder() -> gleam@dynamic@decode:decoder(binary()).
reading_type_decoder() ->
{decoder, fun gleam@dynamic@decode:decode_string/1}.
-file("src/oadr3/schema.gleam", 819).
-spec report_descriptor_decoder() -> gleam@dynamic@decode:decoder(report_descriptor()).
report_descriptor_decoder() ->
gleam@dynamic@decode:optional_field(
<<"aggregate"/utf8>>,
none,
gleam@dynamic@decode:optional(
{decoder, fun gleam@dynamic@decode:decode_bool/1}
),
fun(Aggregate) ->
gleam@dynamic@decode:optional_field(
<<"frequency"/utf8>>,
none,
gleam@dynamic@decode:optional(
{decoder, fun gleam@dynamic@decode:decode_int/1}
),
fun(Frequency) ->
gleam@dynamic@decode:optional_field(
<<"historical"/utf8>>,
none,
gleam@dynamic@decode:optional(
{decoder, fun gleam@dynamic@decode:decode_bool/1}
),
fun(Historical) ->
gleam@dynamic@decode:optional_field(
<<"numIntervals"/utf8>>,
none,
gleam@dynamic@decode:optional(
{decoder,
fun gleam@dynamic@decode:decode_int/1}
),
fun(Num_intervals) ->
gleam@dynamic@decode:field(
<<"payloadType"/utf8>>,
{decoder,
fun gleam@dynamic@decode:decode_string/1},
fun(Payload_type) ->
gleam@dynamic@decode:optional_field(
<<"readingType"/utf8>>,
none,
gleam@dynamic@decode:optional(
reading_type_decoder()
),
fun(Reading_type) ->
gleam@dynamic@decode:optional_field(
<<"repeat"/utf8>>,
none,
gleam@dynamic@decode:optional(
{decoder,
fun gleam@dynamic@decode:decode_int/1}
),
fun(Repeat) ->
gleam@dynamic@decode:optional_field(
<<"reportIntervals"/utf8>>,
none,
gleam@dynamic@decode:optional(
{decoder,
fun gleam@dynamic@decode:decode_string/1}
),
fun(
Report_intervals
) ->
gleam@dynamic@decode:optional_field(
<<"startInterval"/utf8>>,
none,
gleam@dynamic@decode:optional(
{decoder,
fun gleam@dynamic@decode:decode_int/1}
),
fun(
Start_interval
) ->
gleam@dynamic@decode:optional_field(
<<"targets"/utf8>>,
none,
gleam@dynamic@decode:optional(
gleam@dynamic@decode:list(
target_decoder(
)
)
),
fun(
Targets
) ->
gleam@dynamic@decode:optional_field(
<<"units"/utf8>>,
none,
gleam@dynamic@decode:optional(
units_decoder(
)
),
fun(
Units
) ->
gleam@dynamic@decode:success(
{report_descriptor,
Aggregate,
Frequency,
Historical,
Num_intervals,
Payload_type,
Reading_type,
Repeat,
Report_intervals,
Start_interval,
Targets,
Units}
)
end
)
end
)
end
)
end
)
end
)
end
)
end
)
end
)
end
)
end
)
end
).
-file("src/oadr3/schema.gleam", 631).
-spec event_payload_descriptor_decoder() -> gleam@dynamic@decode:decoder(event_payload_descriptor()).
event_payload_descriptor_decoder() ->
gleam@dynamic@decode:optional_field(
<<"currency"/utf8>>,
none,
gleam@dynamic@decode:optional(
{decoder, fun gleam@dynamic@decode:decode_string/1}
),
fun(Currency) ->
gleam@dynamic@decode:field(
<<"objectType"/utf8>>,
{decoder, fun gleam@dynamic@decode:decode_string/1},
fun(Object_type) ->
gleam@dynamic@decode:field(
<<"payloadType"/utf8>>,
{decoder, fun gleam@dynamic@decode:decode_string/1},
fun(Payload_type) ->
gleam@dynamic@decode:optional_field(
<<"units"/utf8>>,
none,
gleam@dynamic@decode:optional(units_decoder()),
fun(Units) ->
gleam@dynamic@decode:success(
{event_payload_descriptor,
Currency,
Object_type,
Payload_type,
Units}
)
end
)
end
)
end
)
end
).
-file("src/oadr3/schema.gleam", 544).
-spec event_request_decoder() -> gleam@dynamic@decode:decoder(event_request()).
event_request_decoder() ->
gleam@dynamic@decode:optional_field(
<<"duration"/utf8>>,
none,
gleam@dynamic@decode:optional(duration_decoder()),
fun(Duration) ->
gleam@dynamic@decode:optional_field(
<<"eventName"/utf8>>,
none,
gleam@dynamic@decode:optional(
{decoder, fun gleam@dynamic@decode:decode_string/1}
),
fun(Event_name) ->
gleam@dynamic@decode:optional_field(
<<"intervalPeriod"/utf8>>,
none,
gleam@dynamic@decode:optional(interval_period_decoder()),
fun(Interval_period) ->
gleam@dynamic@decode:optional_field(
<<"intervals"/utf8>>,
none,
gleam@dynamic@decode:optional(
gleam@dynamic@decode:list(
interval_decoder()
)
),
fun(Intervals) ->
gleam@dynamic@decode:optional_field(
<<"payloadDescriptors"/utf8>>,
none,
gleam@dynamic@decode:optional(
gleam@dynamic@decode:list(
event_payload_descriptor_decoder(
)
)
),
fun(Payload_descriptors) ->
gleam@dynamic@decode:optional_field(
<<"priority"/utf8>>,
none,
gleam@dynamic@decode:optional(
{decoder,
fun gleam@dynamic@decode:decode_int/1}
),
fun(Priority) ->
gleam@dynamic@decode:field(
<<"programID"/utf8>>,
object_id_decoder(),
fun(Program_id) ->
gleam@dynamic@decode:optional_field(
<<"reportDescriptors"/utf8>>,
none,
gleam@dynamic@decode:optional(
gleam@dynamic@decode:list(
report_descriptor_decoder(
)
)
),
fun(
Report_descriptors
) ->
gleam@dynamic@decode:optional_field(
<<"targets"/utf8>>,
none,
gleam@dynamic@decode:optional(
gleam@dynamic@decode:list(
target_decoder(
)
)
),
fun(
Targets
) ->
gleam@dynamic@decode:success(
{event_request,
Duration,
Event_name,
Interval_period,
Intervals,
Payload_descriptors,
Priority,
Program_id,
Report_descriptors,
Targets}
)
end
)
end
)
end
)
end
)
end
)
end
)
end
)
end
)
end
).
-file("src/oadr3/schema.gleam", 676).
-spec units_encode(binary()) -> gleam@json:json().
units_encode(Data) ->
gleam@json:string(Data).
-file("src/oadr3/schema.gleam", 921).
-spec reading_type_encode(binary()) -> gleam@json:json().
reading_type_encode(Data) ->
gleam@json:string(Data).
-file("src/oadr3/schema.gleam", 886).
-spec report_descriptor_encode(report_descriptor()) -> gleam@json:json().
report_descriptor_encode(Data) ->
oadr3@utils:object(
[{<<"aggregate"/utf8>>,
gleam@json:nullable(
erlang:element(2, Data),
fun gleam@json:bool/1
)},
{<<"frequency"/utf8>>,
gleam@json:nullable(
erlang:element(3, Data),
fun gleam@json:int/1
)},
{<<"historical"/utf8>>,
gleam@json:nullable(
erlang:element(4, Data),
fun gleam@json:bool/1
)},
{<<"numIntervals"/utf8>>,
gleam@json:nullable(
erlang:element(5, Data),
fun gleam@json:int/1
)},
{<<"payloadType"/utf8>>, gleam@json:string(erlang:element(6, Data))},
{<<"readingType"/utf8>>,
gleam@json:nullable(
erlang:element(7, Data),
fun reading_type_encode/1
)},
{<<"repeat"/utf8>>,
gleam@json:nullable(
erlang:element(8, Data),
fun gleam@json:int/1
)},
{<<"reportIntervals"/utf8>>,
gleam@json:nullable(
erlang:element(9, Data),
fun gleam@json:string/1
)},
{<<"startInterval"/utf8>>,
gleam@json:nullable(
erlang:element(10, Data),
fun gleam@json:int/1
)},
{<<"targets"/utf8>>,
gleam@json:nullable(
erlang:element(11, Data),
fun(_capture) ->
gleam@json:array(_capture, fun target_encode/1)
end
)},
{<<"units"/utf8>>,
gleam@json:nullable(
erlang:element(12, Data),
fun units_encode/1
)}]
).
-file("src/oadr3/schema.gleam", 652).
-spec event_payload_descriptor_encode(event_payload_descriptor()) -> gleam@json:json().
event_payload_descriptor_encode(Data) ->
oadr3@utils:object(
[{<<"currency"/utf8>>,
gleam@json:nullable(
erlang:element(2, Data),
fun gleam@json:string/1
)},
{<<"objectType"/utf8>>, gleam@json:string(erlang:element(3, Data))},
{<<"payloadType"/utf8>>, gleam@json:string(erlang:element(4, Data))},
{<<"units"/utf8>>,
gleam@json:nullable(erlang:element(5, Data), fun units_encode/1)}]
).
-file("src/oadr3/schema.gleam", 599).
-spec event_request_encode(event_request()) -> gleam@json:json().
event_request_encode(Data) ->
oadr3@utils:object(
[{<<"duration"/utf8>>,
gleam@json:nullable(
erlang:element(2, Data),
fun duration_encode/1
)},
{<<"eventName"/utf8>>,
gleam@json:nullable(
erlang:element(3, Data),
fun gleam@json:string/1
)},
{<<"intervalPeriod"/utf8>>,
gleam@json:nullable(
erlang:element(4, Data),
fun interval_period_encode/1
)},
{<<"intervals"/utf8>>,
gleam@json:nullable(
erlang:element(5, Data),
fun(_capture) ->
gleam@json:array(_capture, fun interval_encode/1)
end
)},
{<<"payloadDescriptors"/utf8>>,
gleam@json:nullable(
erlang:element(6, Data),
fun(_capture@1) ->
gleam@json:array(
_capture@1,
fun event_payload_descriptor_encode/1
)
end
)},
{<<"priority"/utf8>>,
gleam@json:nullable(
erlang:element(7, Data),
fun gleam@json:int/1
)},
{<<"programID"/utf8>>, object_id_encode(erlang:element(8, Data))},
{<<"reportDescriptors"/utf8>>,
gleam@json:nullable(
erlang:element(9, Data),
fun(_capture@2) ->
gleam@json:array(
_capture@2,
fun report_descriptor_encode/1
)
end
)},
{<<"targets"/utf8>>,
gleam@json:nullable(
erlang:element(10, Data),
fun(_capture@3) ->
gleam@json:array(_capture@3, fun target_encode/1)
end
)}]
).
-file("src/oadr3/schema.gleam", 661).
-spec mqtt_notifier_authentication_anonymous_decoder() -> gleam@dynamic@decode:decoder(mqtt_notifier_authentication_anonymous()).
mqtt_notifier_authentication_anonymous_decoder() ->
gleam@dynamic@decode:field(
<<"method"/utf8>>,
{decoder, fun gleam@dynamic@decode:decode_string/1},
fun(Method_) ->
gleam@dynamic@decode:success(
{mqtt_notifier_authentication_anonymous, Method_}
)
end
).
-file("src/oadr3/schema.gleam", 666).
-spec mqtt_notifier_authentication_anonymous_encode(
mqtt_notifier_authentication_anonymous()
) -> gleam@json:json().
mqtt_notifier_authentication_anonymous_encode(Data) ->
oadr3@utils:object(
[{<<"method"/utf8>>, gleam@json:string(erlang:element(2, Data))}]
).
-file("src/oadr3/schema.gleam", 680).
-spec notifiers_response_decoder() -> gleam@dynamic@decode:decoder(notifiers_response()).
notifiers_response_decoder() ->
gleam@dynamic@decode:optional_field(
<<"MQTT"/utf8>>,
none,
gleam@dynamic@decode:optional(mqtt_notifier_binding_object_decoder()),
fun(Mqtt) ->
gleam@dynamic@decode:field(
<<"WEBHOOK"/utf8>>,
{decoder, fun gleam@dynamic@decode:decode_bool/1},
fun(Webhook) ->
gleam@dynamic@decode:success(
{notifiers_response, Mqtt, Webhook}
)
end
)
end
).
-file("src/oadr3/schema.gleam", 690).
-spec notifiers_response_encode(notifiers_response()) -> gleam@json:json().
notifiers_response_encode(Data) ->
oadr3@utils:object(
[{<<"MQTT"/utf8>>,
gleam@json:nullable(
erlang:element(2, Data),
fun mqtt_notifier_binding_object_encode/1
)},
{<<"WEBHOOK"/utf8>>, gleam@json:bool(erlang:element(3, Data))}]
).
-file("src/oadr3/schema.gleam", 746).
-spec notification_decoder() -> gleam@dynamic@decode:decoder(notification()).
notification_decoder() ->
gleam@dynamic@decode:field(
<<"object"/utf8>>,
gleam@dynamic@decode:new_primitive_decoder(
<<"Nil"/utf8>>,
fun(_) -> {ok, nil} end
),
fun(Object) ->
gleam@dynamic@decode:field(
<<"objectType"/utf8>>,
object_types_decoder(),
fun(Object_type) ->
gleam@dynamic@decode:field(
<<"operation"/utf8>>,
{decoder, fun gleam@dynamic@decode:decode_string/1},
fun(Operation) ->
gleam@dynamic@decode:optional_field(
<<"targets"/utf8>>,
none,
gleam@dynamic@decode:optional(
gleam@dynamic@decode:list(target_decoder())
),
fun(Targets) ->
gleam@dynamic@decode:success(
{notification,
Object,
Object_type,
Operation,
Targets}
)
end
)
end
)
end
)
end
).
-file("src/oadr3/schema.gleam", 766).
-spec notification_encode(notification()) -> gleam@json:json().
notification_encode(Data) ->
oadr3@utils:object(
[{<<"object"/utf8>>,
(fun(_) -> gleam@json:null() end)(erlang:element(2, Data))},
{<<"objectType"/utf8>>,
object_types_encode(erlang:element(3, Data))},
{<<"operation"/utf8>>, gleam@json:string(erlang:element(4, Data))},
{<<"targets"/utf8>>,
gleam@json:nullable(
erlang:element(5, Data),
fun(_capture) ->
gleam@json:array(_capture, fun target_encode/1)
end
)}]
).
-file("src/oadr3/schema.gleam", 775).
-spec client_credential_request_decoder() -> gleam@dynamic@decode:decoder(client_credential_request()).
client_credential_request_decoder() ->
gleam@dynamic@decode:field(
<<"client_id"/utf8>>,
{decoder, fun gleam@dynamic@decode:decode_string/1},
fun(Client_id) ->
gleam@dynamic@decode:field(
<<"client_secret"/utf8>>,
{decoder, fun gleam@dynamic@decode:decode_string/1},
fun(Client_secret) ->
gleam@dynamic@decode:field(
<<"grant_type"/utf8>>,
{decoder, fun gleam@dynamic@decode:decode_string/1},
fun(Grant_type) ->
gleam@dynamic@decode:optional_field(
<<"scope"/utf8>>,
none,
gleam@dynamic@decode:optional(
{decoder,
fun gleam@dynamic@decode:decode_string/1}
),
fun(Scope) ->
gleam@dynamic@decode:success(
{client_credential_request,
Client_id,
Client_secret,
Grant_type,
Scope}
)
end
)
end
)
end
)
end
).
-file("src/oadr3/schema.gleam", 792).
-spec client_credential_request_encode(client_credential_request()) -> gleam@json:json().
client_credential_request_encode(Data) ->
oadr3@utils:object(
[{<<"client_id"/utf8>>, gleam@json:string(erlang:element(2, Data))},
{<<"client_secret"/utf8>>,
gleam@json:string(erlang:element(3, Data))},
{<<"grant_type"/utf8>>, gleam@json:string(erlang:element(4, Data))},
{<<"scope"/utf8>>,
gleam@json:nullable(
erlang:element(5, Data),
fun gleam@json:string/1
)}]
).
-file("src/oadr3/schema.gleam", 801).
-spec resource_request_decoder() -> gleam@dynamic@decode:decoder(oadr3@utils:any_()).
resource_request_decoder() ->
oadr3@utils:any_decoder().
-file("src/oadr3/schema.gleam", 805).
-spec resource_request_encode(oadr3@utils:any_()) -> gleam@json:json().
resource_request_encode(Data) ->
oadr3@utils:any_to_json(Data).
-file("src/oadr3/schema.gleam", 809).
-spec point_decoder() -> gleam@dynamic@decode:decoder(point()).
point_decoder() ->
gleam@dynamic@decode:field(
<<"x"/utf8>>,
{decoder, fun gleam@dynamic@decode:decode_float/1},
fun(X) ->
gleam@dynamic@decode:field(
<<"y"/utf8>>,
{decoder, fun gleam@dynamic@decode:decode_float/1},
fun(Y) -> gleam@dynamic@decode:success({point, X, Y}) end
)
end
).
-file("src/oadr3/schema.gleam", 815).
-spec point_encode(point()) -> gleam@json:json().
point_encode(Data) ->
oadr3@utils:object(
[{<<"x"/utf8>>, gleam@json:float(erlang:element(2, Data))},
{<<"y"/utf8>>, gleam@json:float(erlang:element(3, Data))}]
).
-file("src/oadr3/schema.gleam", 1072).
-spec report_payload_descriptor_decoder() -> gleam@dynamic@decode:decoder(report_payload_descriptor()).
report_payload_descriptor_decoder() ->
gleam@dynamic@decode:optional_field(
<<"accuracy"/utf8>>,
none,
gleam@dynamic@decode:optional(
{decoder, fun gleam@dynamic@decode:decode_float/1}
),
fun(Accuracy) ->
gleam@dynamic@decode:optional_field(
<<"confidence"/utf8>>,
none,
gleam@dynamic@decode:optional(
{decoder, fun gleam@dynamic@decode:decode_int/1}
),
fun(Confidence) ->
gleam@dynamic@decode:field(
<<"objectType"/utf8>>,
{decoder, fun gleam@dynamic@decode:decode_string/1},
fun(Object_type) ->
gleam@dynamic@decode:field(
<<"payloadType"/utf8>>,
{decoder,
fun gleam@dynamic@decode:decode_string/1},
fun(Payload_type) ->
gleam@dynamic@decode:optional_field(
<<"readingType"/utf8>>,
none,
gleam@dynamic@decode:optional(
reading_type_decoder()
),
fun(Reading_type) ->
gleam@dynamic@decode:optional_field(
<<"units"/utf8>>,
none,
gleam@dynamic@decode:optional(
units_decoder()
),
fun(Units) ->
gleam@dynamic@decode:success(
{report_payload_descriptor,
Accuracy,
Confidence,
Object_type,
Payload_type,
Reading_type,
Units}
)
end
)
end
)
end
)
end
)
end
)
end
).
-file("src/oadr3/schema.gleam", 1030).
-spec report_request_decoder() -> gleam@dynamic@decode:decoder(report_request()).
report_request_decoder() ->
gleam@dynamic@decode:field(
<<"clientName"/utf8>>,
client_name_decoder(),
fun(Client_name) ->
gleam@dynamic@decode:field(
<<"eventID"/utf8>>,
object_id_decoder(),
fun(Event_id) ->
gleam@dynamic@decode:optional_field(
<<"payloadDescriptors"/utf8>>,
none,
gleam@dynamic@decode:optional(
gleam@dynamic@decode:list(
report_payload_descriptor_decoder()
)
),
fun(Payload_descriptors) ->
gleam@dynamic@decode:optional_field(
<<"reportName"/utf8>>,
none,
gleam@dynamic@decode:optional(
{decoder,
fun gleam@dynamic@decode:decode_string/1}
),
fun(Report_name) ->
gleam@dynamic@decode:field(
<<"resources"/utf8>>,
gleam@dynamic@decode:list(
anon_818bb683_decoder()
),
fun(Resources) ->
gleam@dynamic@decode:success(
{report_request,
Client_name,
Event_id,
Payload_descriptors,
Report_name,
Resources}
)
end
)
end
)
end
)
end
)
end
).
-file("src/oadr3/schema.gleam", 902).
-spec report_decoder() -> gleam@dynamic@decode:decoder({object_metadata(),
report_request(),
anon97535fea()}).
report_decoder() ->
gleam@dynamic@decode:then(
object_metadata_decoder(),
fun(E0) ->
gleam@dynamic@decode:then(
report_request_decoder(),
fun(E1) ->
gleam@dynamic@decode:then(
anon_97535fea_decoder(),
fun(E2) ->
gleam@dynamic@decode:success({E0, E1, E2})
end
)
end
)
end
).
-file("src/oadr3/schema.gleam", 1105).
-spec report_payload_descriptor_encode(report_payload_descriptor()) -> gleam@json:json().
report_payload_descriptor_encode(Data) ->
oadr3@utils:object(
[{<<"accuracy"/utf8>>,
gleam@json:nullable(
erlang:element(2, Data),
fun gleam@json:float/1
)},
{<<"confidence"/utf8>>,
gleam@json:nullable(
erlang:element(3, Data),
fun gleam@json:int/1
)},
{<<"objectType"/utf8>>, gleam@json:string(erlang:element(4, Data))},
{<<"payloadType"/utf8>>, gleam@json:string(erlang:element(5, Data))},
{<<"readingType"/utf8>>,
gleam@json:nullable(
erlang:element(6, Data),
fun reading_type_encode/1
)},
{<<"units"/utf8>>,
gleam@json:nullable(erlang:element(7, Data), fun units_encode/1)}]
).
-file("src/oadr3/schema.gleam", 1056).
-spec report_request_encode(report_request()) -> gleam@json:json().
report_request_encode(Data) ->
oadr3@utils:object(
[{<<"clientName"/utf8>>, client_name_encode(erlang:element(2, Data))},
{<<"eventID"/utf8>>, object_id_encode(erlang:element(3, Data))},
{<<"payloadDescriptors"/utf8>>,
gleam@json:nullable(
erlang:element(4, Data),
fun(_capture) ->
gleam@json:array(
_capture,
fun report_payload_descriptor_encode/1
)
end
)},
{<<"reportName"/utf8>>,
gleam@json:nullable(
erlang:element(5, Data),
fun gleam@json:string/1
)},
{<<"resources"/utf8>>,
gleam@json:array(
erlang:element(6, Data),
fun anon_818bb683_encode/1
)}]
).
-file("src/oadr3/schema.gleam", 909).
-spec report_encode({object_metadata(), report_request(), anon97535fea()}) -> gleam@json:json().
report_encode(Data) ->
oadr3_utils_ffi:merge(
[object_metadata_encode(erlang:element(1, Data)),
report_request_encode(erlang:element(2, Data)),
anon_97535fea_encode(erlang:element(3, Data))]
).
-file("src/oadr3/schema.gleam", 961).
-spec mqtt_notifier_authentication_oauth2_bearer_token_decoder() -> gleam@dynamic@decode:decoder(mqtt_notifier_authentication_oauth2_bearer_token()).
mqtt_notifier_authentication_oauth2_bearer_token_decoder() ->
gleam@dynamic@decode:field(
<<"method"/utf8>>,
{decoder, fun gleam@dynamic@decode:decode_string/1},
fun(Method_) ->
gleam@dynamic@decode:field(
<<"username"/utf8>>,
{decoder, fun gleam@dynamic@decode:decode_string/1},
fun(Username) ->
gleam@dynamic@decode:success(
{mqtt_notifier_authentication_oauth2_bearer_token,
Method_,
Username}
)
end
)
end
).
-file("src/oadr3/schema.gleam", 970).
-spec mqtt_notifier_authentication_oauth2_bearer_token_encode(
mqtt_notifier_authentication_oauth2_bearer_token()
) -> gleam@json:json().
mqtt_notifier_authentication_oauth2_bearer_token_encode(Data) ->
oadr3@utils:object(
[{<<"method"/utf8>>, gleam@json:string(erlang:element(2, Data))},
{<<"username"/utf8>>, gleam@json:string(erlang:element(3, Data))}]
).
-file("src/oadr3/schema.gleam", 987).
-spec auth_error_decoder() -> gleam@dynamic@decode:decoder(auth_error()).
auth_error_decoder() ->
gleam@dynamic@decode:field(
<<"error"/utf8>>,
{decoder, fun gleam@dynamic@decode:decode_string/1},
fun(Error) ->
gleam@dynamic@decode:optional_field(
<<"error_description"/utf8>>,
none,
gleam@dynamic@decode:optional(
{decoder, fun gleam@dynamic@decode:decode_string/1}
),
fun(Error_description) ->
gleam@dynamic@decode:optional_field(
<<"error_uri"/utf8>>,
none,
gleam@dynamic@decode:optional(
{decoder, fun gleam@dynamic@decode:decode_string/1}
),
fun(Error_uri) ->
gleam@dynamic@decode:success(
{auth_error,
Error,
Error_description,
Error_uri}
)
end
)
end
)
end
).
-file("src/oadr3/schema.gleam", 1006).
-spec auth_error_encode(auth_error()) -> gleam@json:json().
auth_error_encode(Data) ->
oadr3@utils:object(
[{<<"error"/utf8>>, gleam@json:string(erlang:element(2, Data))},
{<<"error_description"/utf8>>,
gleam@json:nullable(
erlang:element(3, Data),
fun gleam@json:string/1
)},
{<<"error_uri"/utf8>>,
gleam@json:nullable(
erlang:element(4, Data),
fun gleam@json:string/1
)}]
).
-file("src/oadr3/schema.gleam", 1116).
-spec problem_decoder() -> gleam@dynamic@decode:decoder(problem()).
problem_decoder() ->
gleam@dynamic@decode:optional_field(
<<"detail"/utf8>>,
none,
gleam@dynamic@decode:optional(
{decoder, fun gleam@dynamic@decode:decode_string/1}
),
fun(Detail) ->
gleam@dynamic@decode:optional_field(
<<"instance"/utf8>>,
none,
gleam@dynamic@decode:optional(
{decoder, fun gleam@dynamic@decode:decode_string/1}
),
fun(Instance) ->
gleam@dynamic@decode:optional_field(
<<"status"/utf8>>,
none,
gleam@dynamic@decode:optional(
{decoder, fun gleam@dynamic@decode:decode_int/1}
),
fun(Status) ->
gleam@dynamic@decode:optional_field(
<<"title"/utf8>>,
none,
gleam@dynamic@decode:optional(
{decoder,
fun gleam@dynamic@decode:decode_string/1}
),
fun(Title) ->
gleam@dynamic@decode:optional_field(
<<"type"/utf8>>,
none,
gleam@dynamic@decode:optional(
{decoder,
fun gleam@dynamic@decode:decode_string/1}
),
fun(Type_) ->
gleam@dynamic@decode:success(
{problem,
Detail,
Instance,
Status,
Title,
Type_}
)
end
)
end
)
end
)
end
)
end
).
-file("src/oadr3/schema.gleam", 1151).
-spec problem_encode(problem()) -> gleam@json:json().
problem_encode(Data) ->
oadr3@utils:object(
[{<<"detail"/utf8>>,
gleam@json:nullable(
erlang:element(2, Data),
fun gleam@json:string/1
)},
{<<"instance"/utf8>>,
gleam@json:nullable(
erlang:element(3, Data),
fun gleam@json:string/1
)},
{<<"status"/utf8>>,
gleam@json:nullable(
erlang:element(4, Data),
fun gleam@json:int/1
)},
{<<"title"/utf8>>,
gleam@json:nullable(
erlang:element(5, Data),
fun gleam@json:string/1
)},
{<<"type"/utf8>>,
gleam@json:nullable(
erlang:element(6, Data),
fun gleam@json:string/1
)}]
).
-file("src/oadr3/schema.gleam", 1169).
-spec bl_resource_request_decoder() -> gleam@dynamic@decode:decoder(bl_resource_request()).
bl_resource_request_decoder() ->
gleam@dynamic@decode:optional_field(
<<"attributes"/utf8>>,
none,
gleam@dynamic@decode:optional(
gleam@dynamic@decode:list(values_map_decoder())
),
fun(Attributes) ->
gleam@dynamic@decode:field(
<<"clientID"/utf8>>,
client_id_decoder(),
fun(Client_id) ->
gleam@dynamic@decode:field(
<<"objectType"/utf8>>,
{decoder, fun gleam@dynamic@decode:decode_string/1},
fun(Object_type) ->
gleam@dynamic@decode:field(
<<"resourceName"/utf8>>,
resource_name_decoder(),
fun(Resource_name) ->
gleam@dynamic@decode:optional_field(
<<"targets"/utf8>>,
none,
gleam@dynamic@decode:optional(
gleam@dynamic@decode:list(
target_decoder()
)
),
fun(Targets) ->
gleam@dynamic@decode:field(
<<"venID"/utf8>>,
object_id_decoder(),
fun(Ven_id) ->
gleam@dynamic@decode:success(
{bl_resource_request,
Attributes,
Client_id,
Object_type,
Resource_name,
Targets,
Ven_id}
)
end
)
end
)
end
)
end
)
end
)
end
).
-file("src/oadr3/schema.gleam", 1194).
-spec bl_resource_request_encode(bl_resource_request()) -> gleam@json:json().
bl_resource_request_encode(Data) ->
oadr3@utils:object(
[{<<"attributes"/utf8>>,
gleam@json:nullable(
erlang:element(2, Data),
fun(_capture) ->
gleam@json:array(_capture, fun values_map_encode/1)
end
)},
{<<"clientID"/utf8>>, client_id_encode(erlang:element(3, Data))},
{<<"objectType"/utf8>>, gleam@json:string(erlang:element(4, Data))},
{<<"resourceName"/utf8>>,
resource_name_encode(erlang:element(5, Data))},
{<<"targets"/utf8>>,
gleam@json:nullable(
erlang:element(6, Data),
fun(_capture@1) ->
gleam@json:array(_capture@1, fun target_encode/1)
end
)},
{<<"venID"/utf8>>, object_id_encode(erlang:element(7, Data))}]
).
-file("src/oadr3/schema.gleam", 1360).
-spec event_decoder() -> gleam@dynamic@decode:decoder({object_metadata(),
event_request()}).
event_decoder() ->
gleam@dynamic@decode:then(
object_metadata_decoder(),
fun(E0) ->
gleam@dynamic@decode:then(
event_request_decoder(),
fun(E1) -> gleam@dynamic@decode:success({E0, E1}) end
)
end
).
-file("src/oadr3/schema.gleam", 1366).
-spec event_encode({object_metadata(), event_request()}) -> gleam@json:json().
event_encode(Data) ->
oadr3_utils_ffi:merge(
[object_metadata_encode(erlang:element(1, Data)),
event_request_encode(erlang:element(2, Data))]
).
-file("src/oadr3/schema.gleam", 1370).
-spec ven_request_decoder() -> gleam@dynamic@decode:decoder(oadr3@utils:any_()).
ven_request_decoder() ->
oadr3@utils:any_decoder().
-file("src/oadr3/schema.gleam", 1374).
-spec ven_request_encode(oadr3@utils:any_()) -> gleam@json:json().
ven_request_encode(Data) ->
oadr3@utils:any_to_json(Data).
-file("src/oadr3/schema.gleam", 1378).
-spec resource_decoder() -> gleam@dynamic@decode:decoder({object_metadata(),
bl_resource_request()}).
resource_decoder() ->
gleam@dynamic@decode:then(
object_metadata_decoder(),
fun(E0) ->
gleam@dynamic@decode:then(
bl_resource_request_decoder(),
fun(E1) -> gleam@dynamic@decode:success({E0, E1}) end
)
end
).
-file("src/oadr3/schema.gleam", 1384).
-spec resource_encode({object_metadata(), bl_resource_request()}) -> gleam@json:json().
resource_encode(Data) ->
oadr3_utils_ffi:merge(
[object_metadata_encode(erlang:element(1, Data)),
bl_resource_request_encode(erlang:element(2, Data))]
).
-file("src/oadr3/schema.gleam", 1416).
-spec ven_ven_request_decoder() -> gleam@dynamic@decode:decoder(ven_ven_request()).
ven_ven_request_decoder() ->
gleam@dynamic@decode:optional_field(
<<"attributes"/utf8>>,
none,
gleam@dynamic@decode:optional(
gleam@dynamic@decode:list(values_map_decoder())
),
fun(Attributes) ->
gleam@dynamic@decode:field(
<<"objectType"/utf8>>,
{decoder, fun gleam@dynamic@decode:decode_string/1},
fun(Object_type) ->
gleam@dynamic@decode:field(
<<"venName"/utf8>>,
ven_name_decoder(),
fun(Ven_name) ->
gleam@dynamic@decode:success(
{ven_ven_request,
Attributes,
Object_type,
Ven_name}
)
end
)
end
)
end
).
-file("src/oadr3/schema.gleam", 1431).
-spec ven_ven_request_encode(ven_ven_request()) -> gleam@json:json().
ven_ven_request_encode(Data) ->
oadr3@utils:object(
[{<<"attributes"/utf8>>,
gleam@json:nullable(
erlang:element(2, Data),
fun(_capture) ->
gleam@json:array(_capture, fun values_map_encode/1)
end
)},
{<<"objectType"/utf8>>, gleam@json:string(erlang:element(3, Data))},
{<<"venName"/utf8>>, ven_name_encode(erlang:element(4, Data))}]
).
-file("src/oadr3/schema.gleam", 1442).
-spec mqtt_notifier_authentication_certificate_decoder() -> gleam@dynamic@decode:decoder(mqtt_notifier_authentication_certificate()).
mqtt_notifier_authentication_certificate_decoder() ->
gleam@dynamic@decode:field(
<<"caCert"/utf8>>,
{decoder, fun gleam@dynamic@decode:decode_string/1},
fun(Ca_cert) ->
gleam@dynamic@decode:field(
<<"clientCert"/utf8>>,
{decoder, fun gleam@dynamic@decode:decode_string/1},
fun(Client_cert) ->
gleam@dynamic@decode:field(
<<"clientKey"/utf8>>,
{decoder, fun gleam@dynamic@decode:decode_string/1},
fun(Client_key) ->
gleam@dynamic@decode:field(
<<"method"/utf8>>,
{decoder,
fun gleam@dynamic@decode:decode_string/1},
fun(Method_) ->
gleam@dynamic@decode:success(
{mqtt_notifier_authentication_certificate,
Ca_cert,
Client_cert,
Client_key,
Method_}
)
end
)
end
)
end
)
end
).
-file("src/oadr3/schema.gleam", 1455).
-spec mqtt_notifier_authentication_certificate_encode(
mqtt_notifier_authentication_certificate()
) -> gleam@json:json().
mqtt_notifier_authentication_certificate_encode(Data) ->
oadr3@utils:object(
[{<<"caCert"/utf8>>, gleam@json:string(erlang:element(2, Data))},
{<<"clientCert"/utf8>>, gleam@json:string(erlang:element(3, Data))},
{<<"clientKey"/utf8>>, gleam@json:string(erlang:element(4, Data))},
{<<"method"/utf8>>, gleam@json:string(erlang:element(5, Data))}]
).
-file("src/oadr3/schema.gleam", 1466).
-spec ven_resource_request_decoder() -> gleam@dynamic@decode:decoder(ven_resource_request()).
ven_resource_request_decoder() ->
gleam@dynamic@decode:optional_field(
<<"attributes"/utf8>>,
none,
gleam@dynamic@decode:optional(
gleam@dynamic@decode:list(values_map_decoder())
),
fun(Attributes) ->
gleam@dynamic@decode:field(
<<"objectType"/utf8>>,
{decoder, fun gleam@dynamic@decode:decode_string/1},
fun(Object_type) ->
gleam@dynamic@decode:field(
<<"resourceName"/utf8>>,
resource_name_decoder(),
fun(Resource_name) ->
gleam@dynamic@decode:field(
<<"venID"/utf8>>,
object_id_decoder(),
fun(Ven_id) ->
gleam@dynamic@decode:success(
{ven_resource_request,
Attributes,
Object_type,
Resource_name,
Ven_id}
)
end
)
end
)
end
)
end
).
-file("src/oadr3/schema.gleam", 1483).
-spec ven_resource_request_encode(ven_resource_request()) -> gleam@json:json().
ven_resource_request_encode(Data) ->
oadr3@utils:object(
[{<<"attributes"/utf8>>,
gleam@json:nullable(
erlang:element(2, Data),
fun(_capture) ->
gleam@json:array(_capture, fun values_map_encode/1)
end
)},
{<<"objectType"/utf8>>, gleam@json:string(erlang:element(3, Data))},
{<<"resourceName"/utf8>>,
resource_name_encode(erlang:element(4, Data))},
{<<"venID"/utf8>>, object_id_encode(erlang:element(5, Data))}]
).