From: Rob van der Linde Date: Thu, 8 Feb 2024 10:13:16 +0000 (+1300) Subject: netcmd: models: add missing enum fields to Group model X-Git-Tag: tdb-1.4.11~1761 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=b31cdb039875e6f660880a564f3e6ec283175174;p=thirdparty%2Fsamba.git netcmd: models: add missing enum fields to Group model Signed-off-by: Rob van der Linde Reviewed-by: Andrew Bartlett Reviewed-by: Jo Sutton --- diff --git a/python/samba/netcmd/domain/models/__init__.py b/python/samba/netcmd/domain/models/__init__.py index 3ca6c898197..85a74a26bd0 100644 --- a/python/samba/netcmd/domain/models/__init__.py +++ b/python/samba/netcmd/domain/models/__init__.py @@ -30,6 +30,6 @@ from .model import MODELS from .schema import AttributeSchema, ClassSchema from .site import Site from .subnet import Subnet -from .types import AccountType, SystemFlags +from .types import AccountType, GroupType, SystemFlags from .user import User from .value_type import ValueType diff --git a/python/samba/netcmd/domain/models/group.py b/python/samba/netcmd/domain/models/group.py index ab10654ad16..9d2da52b79a 100644 --- a/python/samba/netcmd/domain/models/group.py +++ b/python/samba/netcmd/domain/models/group.py @@ -23,10 +23,12 @@ from .fields import (BooleanField, DnField, EnumField, IntegerField, SIDField, StringField) from .model import Model -from .types import SystemFlags +from .types import AccountType, GroupType, SystemFlags class Group(Model): + account_type = EnumField("sAMAccountType", AccountType) + group_type = EnumField("groupType", GroupType) admin_count = IntegerField("adminCount") description = StringField("description") is_critical_system_object = BooleanField("isCriticalSystemObject", diff --git a/python/samba/netcmd/domain/models/types.py b/python/samba/netcmd/domain/models/types.py index 146c7f26fc7..6b833bb3942 100644 --- a/python/samba/netcmd/domain/models/types.py +++ b/python/samba/netcmd/domain/models/types.py @@ -30,6 +30,13 @@ from samba.dsdb import ( ATYPE_DISTRIBUTION_LOCAL_GROUP, ATYPE_WORKSTATION_TRUST, ATYPE_INTERDOMAIN_TRUST, + GTYPE_DISTRIBUTION_GLOBAL_GROUP, + GTYPE_DISTRIBUTION_DOMAIN_LOCAL_GROUP, + GTYPE_DISTRIBUTION_UNIVERSAL_GROUP, + GTYPE_SECURITY_BUILTIN_LOCAL_GROUP, + GTYPE_SECURITY_DOMAIN_LOCAL_GROUP, + GTYPE_SECURITY_GLOBAL_GROUP, + GTYPE_SECURITY_UNIVERSAL_GROUP, SYSTEM_FLAG_CR_NTDS_NC, SYSTEM_FLAG_CR_NTDS_DOMAIN, SYSTEM_FLAG_CR_NTDS_NOT_GC_REPLICATED, @@ -54,6 +61,16 @@ class AccountType(IntFlag): INTERDOMAIN_TRUST = ATYPE_INTERDOMAIN_TRUST +class GroupType(IntFlag): + DISTRIBUTION_GLOBAL_GROUP = GTYPE_DISTRIBUTION_GLOBAL_GROUP + DISTRIBUTION_DOMAIN_LOCAL_GROUP = GTYPE_DISTRIBUTION_DOMAIN_LOCAL_GROUP + DISTRIBUTION_UNIVERSAL_GROUP = GTYPE_DISTRIBUTION_UNIVERSAL_GROUP + SECURITY_BUILTIN_LOCAL_GROUP = GTYPE_SECURITY_BUILTIN_LOCAL_GROUP + SECURITY_DOMAIN_LOCAL_GROUP = GTYPE_SECURITY_DOMAIN_LOCAL_GROUP + SECURITY_GLOBAL_GROUP = GTYPE_SECURITY_GLOBAL_GROUP + SECURITY_UNIVERSAL_GROUP = GTYPE_SECURITY_UNIVERSAL_GROUP + + class SystemFlags(IntFlag): CR_NTDS_NC = SYSTEM_FLAG_CR_NTDS_NC CR_NTDS_DOMAIN = SYSTEM_FLAG_CR_NTDS_DOMAIN