wo4hF bddlmZmZmZddlmZmZmZmZm Z ddl m Z m Z Gdde Z dS)) CharFieldCheck TextField)AV AV_REPORTFULLNA PROACTIVE)Modelinstancec \eZdZdZdZGddZedZede d e e ge Z ede d e ee ge Zed ed dfd ZedZdZded efdZdedefdZdZdS)FeatureManagementPermszrPermissions state for Feature Management. Each record/instance is a set of permissions of a single user. c eZdZejZdZdS)FeatureManagementPerms.Metafeature_management_permissionsN)__name__ __module__ __qualname__r dbdatabasedb_table]/opt/imunify360/venv/lib/python3.11/site-packages/defence360agent/feature_management/model.pyMetars;3rrT)uniqueFzproactive in ('{}','{}'))null constraintsdefaultzav in ('{}','{}','{}')userreturnc|}||St|jt|ji}|||\}}|S)z Get feature permissions by user name :param user: user name :return: :class:`FeatureManagementPerms` object for user N)r!defaults) get_defaultravr proactive get_or_create)clsr!r r$perm_s rget_permzFeatureManagementPerms.get_perm-sX//## <N  w(  ###AAa rc8||jS)zGet default permissions)r!)getDEFAULT)r)s rr%z"FeatureManagementPerms.get_defaultBswwCKw(((rc"|j|jkS)z&Check if current permission is default)r!r/selfs r is_defaultz!FeatureManagementPerms.is_defaultGsyDL((rkeyc"t||S)zGet permission by feature name)getattr)r2r4s r get_featurez"FeatureManagementPerms.get_featureKstS!!!rvaluecPt||||dS)zSet permissionN)setattrsave)r2r4r8s r set_featurez"FeatureManagementPerms.set_featureOs%c5!!! rc6t|jt|jiS)N)rr&r r'r1s ras_dictzFeatureManagementPerms.as_dictTs  t~  rN)rrr__doc__r/rrr!rrformatr rr'rr& classmethodstrr,r%r3r7r<r>rrrrr s G44444444 9D ! ! !D U5<rFs..........21111111K K K K K UK K K K K r