authentik.tenants.management.commands.set_flag

 1from argparse import ArgumentParser
 2from typing import Any
 3
 4from authentik.tenants.management import TenantCommand
 5from authentik.tenants.utils import get_current_tenant
 6
 7
 8class Command(TenantCommand):
 9
10    def add_arguments(self, parser: ArgumentParser):
11        parser.add_argument("flag_key", type=str)
12        parser.add_argument("flag_value", type=str)
13
14    def handle(self, *, flag_key: str, flag_value: Any, **options):
15        tenant = get_current_tenant()
16        val = flag_value.lower() == "true"
17        tenant.flags[flag_key] = val
18        tenant.save()
19        self.stdout.write(f"Set flag '{flag_key}' to {val}.")
class Command(authentik.tenants.management.TenantCommand):
 9class Command(TenantCommand):
10
11    def add_arguments(self, parser: ArgumentParser):
12        parser.add_argument("flag_key", type=str)
13        parser.add_argument("flag_value", type=str)
14
15    def handle(self, *, flag_key: str, flag_value: Any, **options):
16        tenant = get_current_tenant()
17        val = flag_value.lower() == "true"
18        tenant.flags[flag_key] = val
19        tenant.save()
20        self.stdout.write(f"Set flag '{flag_key}' to {val}.")

Generic command class useful for running any existing command on a particular tenant.

def add_arguments(self, parser: argparse.ArgumentParser):
11    def add_arguments(self, parser: ArgumentParser):
12        parser.add_argument("flag_key", type=str)
13        parser.add_argument("flag_value", type=str)

Entry point for subclassed commands to add custom arguments.

def handle(self, *, flag_key: str, flag_value: Any, **options):
15    def handle(self, *, flag_key: str, flag_value: Any, **options):
16        tenant = get_current_tenant()
17        val = flag_value.lower() == "true"
18        tenant.flags[flag_key] = val
19        tenant.save()
20        self.stdout.write(f"Set flag '{flag_key}' to {val}.")

The actual logic of the command. Subclasses must implement this method.