33 lines
982 B
Python
33 lines
982 B
Python
from datetime import datetime, timedelta
|
|
from pocketbase import PocketBase # Client also works the same
|
|
import asyncio
|
|
from dotenv import load_dotenv
|
|
import os
|
|
load_dotenv()
|
|
|
|
pb_admin_email = os.getenv('POCKETBASE_ADMIN_EMAIL')
|
|
pb_password = os.getenv('POCKETBASE_PASSWORD')
|
|
|
|
pb = PocketBase('http://127.0.0.1:8090')
|
|
admin_data = pb.admins.auth_with_password(pb_admin_email, pb_password)
|
|
|
|
|
|
now = datetime.now()
|
|
one_month_ago = now - timedelta(days=30)
|
|
|
|
|
|
async def update_free_trial():
|
|
|
|
data = pb.collection("users").get_full_list(query_params = {"filter": f'freeTrial = True'})
|
|
|
|
for item in data:
|
|
created_date = item.created
|
|
# Check if the created date is more than N days ago
|
|
if created_date < one_month_ago:
|
|
# Update the user record
|
|
pb.collection("users").update(item.id, {
|
|
"tier": 'Free',
|
|
"freeTrial": False,
|
|
})
|
|
|
|
asyncio.run(update_free_trial()) |