def tokenSettings()

in fb_metadata/views.py [0:0]


def tokenSettings(request, storeId):
    """ This view shows the page displaying token information and allows user to change token from System User token to User token """
    store = Store.objects.get(id=storeId)
    metadata = getFBEOnboardingDetails(store.id)
    if request.method == "POST":
        fb_meta = FacebookMetadata.objects.get(store=store)
        url = settings.SYSTEM_USER_TOKEN_API_URL.format(fb_meta.fbe_business_manager_id)
        _SCOPE = "business_management,manage_business_extension,catalog_management,commerce_manage_accounts"
        data = {
            "app_id": settings.APP_ID,
            "access_token": fb_meta.token_info,
            "scope": _SCOPE,
            "fbe_external_business_id": fb_meta.fbe_external_business_id,
        }
        res = requests.post(url, data=data)
        system_user_access_token = res.json()["access_token"]

        # update access token
        fb_meta.token_info = system_user_access_token
        fb_meta.token_creation_date = datetime_utc_now_with_tz()
        fb_meta.token_expiration_date = datetime_utc_now_with_tz() + relativedelta(
            years=10
        )
        fb_meta.token_type = FacebookMetadata.GraphUserTokenType.SYSTEM_USER
        fb_meta.save()

    context = {"store": store, "fb_metadata": metadata}
    return render(request, "fb_metadata/tokens.html", context)