-module(kitazith@internal@validation@allowed_mentions). -compile([no_auto_import, nowarn_unused_vars, nowarn_unused_function, nowarn_nomatch, inline]). -define(FILEPATH, "src/kitazith/internal/validation/allowed_mentions.gleam"). -export([validate_allowed_mentions/2]). -if(?OTP_RELEASE >= 27). -define(MODULEDOC(Str), -moduledoc(Str)). -define(DOC(Str), -doc(Str)). -else. -define(MODULEDOC(Str), -compile([])). -define(DOC(Str), -compile([])). -endif. ?MODULEDOC(false). -file("src/kitazith/internal/validation/allowed_mentions.gleam", 8). ?DOC(false). -spec validate_allowed_mentions( binary(), kitazith@allowed_mentions:allowed_mentions() ) -> list(kitazith@validation:validation_error()). validate_allowed_mentions(Path, Mentions) -> lists:append([case erlang:element(3, Mentions) of {some, Roles} -> kitazith@internal@validation@common:validate_list_max_length( kitazith@internal@validation@common:join_path( Path, <<"roles"/utf8>> ), Roles, 100, <<"role ids"/utf8>> ); none -> [] end, case erlang:element(4, Mentions) of {some, Users} -> kitazith@internal@validation@common:validate_list_max_length( kitazith@internal@validation@common:join_path( Path, <<"users"/utf8>> ), Users, 100, <<"user ids"/utf8>> ); none -> [] end]).