def deserialize_dict_list(self, data=None, DTO=None): """ Deserialize list of data in a dictionary type. EX) request.data is a dictionary type. :param data: list of dictionary :param DTO: DTO that has the corresponding form of each data. It is a dto object. :return: list of dictionary to respond """ error_if_argument_is_default(None, data) logger = Logger() if (type(data) is not list and set) and (not isinstance(data, QuerySet)): raise ValueError( "{} function can only handle list or set or QuerySet.".format( self.deserialize_dict_list.__name__)) deserialized_list = [] for data_to_deserialize in data: if type(data_to_deserialize) is not dict: print( "data={} is not a dictionary. It should be a dictionary to deserialize" .format(data)) raise ValueError deserialized_list.append( DTO().deserialize_dictionary(data_to_deserialize)) return deserialized_list
def serialize_list(data=None, Response_DTO=None): """ Serialize list of data. :param data: list of dictionary or objects :param Response_DTO: DTO that has the corresponding form of each data. If your each data is dictionary you don't need to pass anything. :return: list of dictionary to respond """ error_if_argument_is_default(None, data) logger = Logger() if (type(data) is not list or set) and (not isinstance(data, QuerySet)): raise ValueError("{} function can only handle list or set or QuerySet.".format(serialize_list.__name__)) serialized_list = [] for data_to_serialize in data: if type(data_to_serialize) is not dict: try: error_if_argument_is_default(None, response_DTO) except: print("data={} contains a dictionary, but the function does not get any responseDTO".format(data)) raise ValueError("data={} contains a dictionary, but the function does not get any responseDTO".format(data)) response_DTO = Response_DTO() serialized_list.append(response_DTO.serialize(instance_to_sync=data_to_serialize)) return serialized_list
def add_group_to_user_of_userid(self, userid="", group_instance=None): error_if_argument_is_default("", userid) error_if_argument_is_default(None, group_instance) user = self.user_model_handler.get_user_by_user_id(userid) self.user_model_handler.add_group_to_user( user_instance=user, group_instance=group_instance)
def add_group_of_groupid_to_user_instance(self, user_instance=None, groupid=""): error_if_argument_is_default(None, user_instance) error_if_argument_is_default("", groupid) group = self.group_model_handler.get_group_by_groupid(groupid) self.user_model_handler.add_group_to_user(user_instance=user_instance, group_instance=group)
def add_group_to_user(self, user_instance=None, group_instance=None): error_if_argument_is_default(None, user_instance) error_if_argument_is_default(None, group_instance) try: user_instance.groups.add(group_instance) except Exception as exception: print("There was a problem when adding a group to the user (update operation): {}".format(str(exception))) raise APIDatabaseUpdateFailedException return True
def user_instance_remove_group_instance(self, user_instance=None, group_instance=None): error_if_argument_is_default(None, user_instance) error_if_argument_is_default(None, group_instance) try: user_instance.groups.remove(group_instance) except Exception as exception: print("There was a problem when removing group, {}:{} from user, {}:{}" .format(group_instance.id, group_instance.name, user_instance.id, user_instance.name)) raise APIDatabaseDeleteFailedException(exception) return True
def add_group_of_groupid_to_user_of_username(self, username="", groupid=""): error_if_argument_is_default("", username) error_if_argument_is_default("", groupid) group = self.group_model_handler.get_group_by_groupid(groupid) user = self.user_model_handler.get_user_by_name(username) self.user_model_handler.add_group_to_user(user_instance=user, group_instance=group)
def create_group_and_add_to_user_of_userid(self, userid="", groupname=""): error_if_argument_is_default("", userid) error_if_argument_is_default("", groupname) user = self.user_model_handler.get_user_by_user_id(userid) group = self.modelCreator.create_group_of_groupname_and_return_instance( groupname) self.user_model_handler.add_group_to_user(user_instance=user, group_instance=group) return group
def user_name_remove_group_instance(self, username=None, group_instance=None): error_if_argument_is_default(None, username) error_if_argument_is_default(None, group_instance) user = self.get_user_by_name(username) return self.user_instance_remove_group_instance(user_instance=user, group_instance=group_instance)