got get_contacts working
This commit is contained in:
@@ -53,45 +53,6 @@ else:
|
|||||||
)
|
)
|
||||||
)
|
)
|
||||||
|
|
||||||
def idoklad_token():
|
|
||||||
try:
|
|
||||||
token = iDokladToken.objects.get(id=1)
|
|
||||||
except iDokladToken.DoesNotExist:
|
|
||||||
return None
|
|
||||||
|
|
||||||
if token.updated_at + datetime.timedelta(seconds=token.expires_in) < timezone.now():
|
|
||||||
headers = {
|
|
||||||
'Content-Type': 'application/x-www-form-urlencoded',
|
|
||||||
}
|
|
||||||
|
|
||||||
data = {
|
|
||||||
'grant_type': 'refresh_token',
|
|
||||||
'client_id': IDOKLAD_CLIENT_ID,
|
|
||||||
'client_secret': IDOKLAD_CLIENT_SECRET,
|
|
||||||
'scope': 'eet offline_access',
|
|
||||||
'refresh_token': token.refresh_token,
|
|
||||||
}
|
|
||||||
|
|
||||||
response = requests.post('https://app.idoklad.cz/identity/server/connect/token', headers=headers, data=data)
|
|
||||||
|
|
||||||
if response.status_code == 200:
|
|
||||||
token = response.json()
|
|
||||||
token['updated_at'] = timezone.now()
|
|
||||||
iDokladToken.objects.filter(id=1).update(**token)
|
|
||||||
else:
|
|
||||||
return None
|
|
||||||
|
|
||||||
return token
|
|
||||||
|
|
||||||
def prepare_invoice():
|
|
||||||
token = idoklad_token()
|
|
||||||
if token is None:
|
|
||||||
return None
|
|
||||||
|
|
||||||
data = {
|
|
||||||
'templateId': 1,
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def process_webhook(notification):
|
def process_webhook(notification):
|
||||||
|
|||||||
@@ -5369,6 +5369,8 @@ class ForceCurveAnalysis(models.Model):
|
|||||||
class iDokladToken(models.Model):
|
class iDokladToken(models.Model):
|
||||||
access_token = models.CharField(max_length=512)
|
access_token = models.CharField(max_length=512)
|
||||||
refresh_token = models.CharField(max_length=512)
|
refresh_token = models.CharField(max_length=512)
|
||||||
|
id_token = models.CharField(max_length=512)
|
||||||
|
token_type = models.CharField(max_length=512)
|
||||||
created_at = models.DateTimeField(auto_now_add=True)
|
created_at = models.DateTimeField(auto_now_add=True)
|
||||||
updated_at = models.DateTimeField(auto_now=True)
|
updated_at = models.DateTimeField(auto_now=True)
|
||||||
expires_in = models.IntegerField() # Store token expiry duration in seconds
|
expires_in = models.IntegerField() # Store token expiry duration in seconds
|
||||||
|
|||||||
@@ -58,6 +58,7 @@ def process_idokladcallback(request):
|
|||||||
t.acces_token = result['access_token'],
|
t.acces_token = result['access_token'],
|
||||||
t.refresh_token = result['refresh_token']
|
t.refresh_token = result['refresh_token']
|
||||||
t.expires_in = result['expires_in']
|
t.expires_in = result['expires_in']
|
||||||
|
t.id_token = result['id_token']
|
||||||
t.save()
|
t.save()
|
||||||
except iDokladToken.DoesNotExist:
|
except iDokladToken.DoesNotExist:
|
||||||
t = iDokladToken(
|
t = iDokladToken(
|
||||||
|
|||||||
Reference in New Issue
Block a user