-module(gleetube@decoder@auth_decoder). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src/gleetube/decoder/auth_decoder.gleam"). -export([access_token_decoder/0, user_profile_decoder/0]). -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/gleetube/decoder/auth_decoder.gleam", 6). ?DOC(" Decoder for an OAuth2 AccessToken response.\n"). -spec access_token_decoder() -> gleam@dynamic@decode:decoder(gleetube@model@auth:access_token()). access_token_decoder() -> gleam@dynamic@decode:field( <<"access_token"/utf8>>, {decoder, fun gleam@dynamic@decode:decode_string/1}, fun(Access_token) -> gleam@dynamic@decode:optional_field( <<"token_type"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Token_type) -> 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:success( {access_token, Access_token, Token_type, Expires_in, Refresh_token, Scope} ) end ) end ) end ) end ) end ). -file("src/gleetube/decoder/auth_decoder.gleam", 38). ?DOC(" Decoder for a Google UserProfile response.\n"). -spec user_profile_decoder() -> gleam@dynamic@decode:decoder(gleetube@model@auth:user_profile()). user_profile_decoder() -> gleam@dynamic@decode:optional_field( <<"id"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Id) -> gleam@dynamic@decode:optional_field( <<"name"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Name) -> gleam@dynamic@decode:optional_field( <<"given_name"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Given_name) -> gleam@dynamic@decode:optional_field( <<"family_name"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Family_name) -> gleam@dynamic@decode:optional_field( <<"picture"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Picture) -> gleam@dynamic@decode:optional_field( <<"locale"/utf8>>, none, gleam@dynamic@decode:optional( {decoder, fun gleam@dynamic@decode:decode_string/1} ), fun(Locale) -> gleam@dynamic@decode:success( {user_profile, Id, Name, Given_name, Family_name, Picture, Locale} ) end ) end ) end ) end ) end ) end ).