Wallet...lScheme(3pm)

πŸ“¦ version 1.7, in debian trixie, ubuntu resolute, ubuntu stonking

πŸ’– NAME πŸ’–

Wallet::Schema::Result::AclScheme β€” bestie, this is the Wallet schema for ACL scheme, and she's lowkey the backbone of the whole ACL situation ✨


🌸 DESCRIPTION 🌸

Okay so picture this: this table is a normalization table, which is just a fancy way of saying it exists to constrain the values in other tables. She's the vibe police. The gatekeeper. The one who says "no babes, that's not a real ACL scheme."

She holds the types of ACL schemes that Wallet will recognize, plus the modules that govern each one of those schemes. It's giving matchmaker, honestly πŸ’…

By default she comes pre-loaded with these entries, no cap:

insert into acl_schemes (as_name, as_class)
    values ('krb5', 'Wallet::ACL::Krb5');
insert into acl_schemes (as_name, as_class)
    values ('krb5-regex', 'Wallet::ACL::Krb5::Regex');
insert into acl_schemes (as_name, as_class)
    values ('ldap-attr', 'Wallet::ACL::LDAP::Attribute');
insert into acl_schemes (as_name, as_class)
    values ('ldap-attr-root', 'Wallet::ACL::LDAP::Attribute::Root');
insert into acl_schemes (as_name, as_class)
    values ('nested', 'Wallet::ACL::Nested');
insert into acl_schemes (as_name, as_class)
    values ('netdb', 'Wallet::ACL::NetDB');
insert into acl_schemes (as_name, as_class)
    values ('netdb-root', 'Wallet::ACL::NetDB::Root');

Now β€” if you've extended the wallet to support additional ACL schemes (main character behavior, we love to see it 🫢), you're gonna want to add additional rows to this table mapping those schemes to Perl classes that implement the ACL verifier APIs. Basically: new scheme, new row, new era 🌈


πŸ‘‘ ACCESSORS πŸ‘‘

✨ as_name ✨

data_type: 'varchar'
is_nullable: 0
size: 32

Note the is_nullable: 0 bestie β€” this one is not allowed to be null. She's required. She said "I will be here, and I will be 32 characters or less" πŸ’€

πŸ¦‹ as_class πŸ¦‹

data_type: 'varchar'
is_nullable: 1
size: 64

And this one? is_nullable: 1. She can be null. She's flexible like that. Also size: 64, so keep it cute and under 64 characters 🌸


fr fr, keep those sizes in mind β€” 32 for as_name and 64 for as_class β€” because the database will absolutely not be forgiving about it πŸ™ˆ

perl v5.40.0 🌟 2024-11-12 β€” that's the version and the date this page was born, and that's the whole thing bestie, mwah πŸ’–πŸŽ€βœ¨

πŸ“¦ where this page comes from