def dispatch(self, request, *args, **kwargs): api = Exact() authorization_code, access_token = api.get_session( "authorization_code", "access_token") if not authorization_code or not access_token: return HttpResponseRedirect(reverse("exact:authenticate")) self.api = api return super(Status, self).dispatch(request, *args, **kwargs)
def get_redirect_url(self, *args, **kwargs): api = Exact() if self.request.GET.get("code"): api.session.authorization_code = self.request.GET.get("code") api.session.save() if not api.session.authorization_code: return api.auth_url if not api.session.access_token: api.get_token() return super(Authenticate, self).get_redirect_url(*args, **kwargs)
def create_or_update_webhook(sender, instance, raw, *args, **kwargs): if not raw: api = Exact() if instance.pk or instance.guid: logger.debug("updating webhook %s: %s -> %s" % (instance.guid, instance.topic, instance.callback)) api.update("webhooks/WebhookSubscriptions", instance.guid, { "Topic": instance.topic, "CallbackURL": instance.callback }) else: logger.debug("creating webhook: %s -> %s" % (instance.topic, instance.callback)) webhook = api.create("webhooks/WebhookSubscriptions", { "Topic": instance.topic, "CallbackURL": instance.callback }) instance.guid = webhook["ID"]
def delete_webhook(sender, instance, *args, **kwargs): if instance.guid: api = Exact() logger.debug("deleting webhook %s: %s -> %s" % (instance.guid, instance.topic, instance.callback)) api.delete("webhooks/WebhookSubscriptions", instance.guid)