Packages

A modular first authentication base

Current section

Files

Jump to
gauth src gauth@user@data.erl
Raw

src/gauth@user@data.erl

-module(gauth@user@data).
-compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch]).
-export([get_data/2]).
-export_type([user_data_error/1, user_data_source/2, user_data_service/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.
-type user_data_error(FAT) :: {no_such_data, FAT} | {generic, FAT, binary()}.
-type user_data_source(FAU, FAV) :: {user_data_source,
fun((FAU) -> {ok, FAV} | {error, user_data_error(FAU)})}.
-type user_data_service(FAW) :: {user_data_service,
fun((FAW) -> gleam@option:option(gauth@user:user(FAW)))}.
-file("src\\gauth\\user\\data.gleam", 38).
?DOC(" A stub method that just unwraps the user's ID and then forwards it to the data store\n").
-spec get_data(gauth@user:user(FAX), user_data_source(FAX, FAZ)) -> {ok, FAZ} |
{error, user_data_error(FAX)}.
get_data(User, Data_source) ->
_pipe = erlang:element(2, User),
(erlang:element(2, Data_source))(_pipe).