(self, source, destination, notification_type, provider, context)
:param source: who wants to send the notification.
        :param destination: to whom you want to send notification.
        :param notification_type: notification type (email, sms, push).
        :param provider: notification Provider.
        :param context: Context/data you want send in notification.
def __init__(self, source, destination, notification_type, provider, context):
        """

        :param source: who wants to send the notification.
        :param destination: to whom you want to send notification.
        :param notification_type: notification type (email, sms, push).
        :param provider: notification Provider.
        :param context: Context/data you want send in notification.
        """

        # validate notification_type
        self._validate_notification_type(notification_type)

        # validate provider type
        self.provider = self._validate_provider(provider)

        # validate context , it must be a dict()
        if type(context) is not dict:
            raise ValueError('context must be of dict() type not {0}.'.format(type(context)))

        self.data = {
            'source': source,
            'destination': destination,
            'notification_type': notification_type,
            'context': context,
        }
def __init__ ( self , source , destination , notification_type , provider , context ) : # validate notification_type self . _validate_notification_type ( notification_type ) # validate provider type self . provider = self . _validate_provider ( provider ) # validate context , it must be a dict() if type ( context ) is not dict : raise ValueError ( 'context must be of dict() type not {0}.' . format ( type ( context ) ) ) self . data = { 'source' : source , 'destination' : destination , 'notification_type' : notification_type , 'context' : context , }