from functions.Platforms import getPlatforms
from configs.firebase import db
from functions.helpers import time

def saveApplication(uid, enterpriseId,platformId, applicatioName, **kwargs):
    timestamp =time.timestamp()
    platform = getPlatforms(platformId)
    appId =f"{platform.get('id')}{enterpriseId}"
    app = dict(
        id = appId,
        uid=uid,
        enterpriseId=enterpriseId,
        platformId=platformId,
        platformName=platform.get("name"),
        name = applicatioName, 
        createdAt = timestamp,
        updatedAt = timestamp
    )
    db.collection("apps").document(appId).set(app, merge=True)
    app.update(kwargs)
    db.collection("appsCredentials").document(appId).set(app, merge=True)
    return app

def getAppCredentials(applicationId:str=None, platformId:str=None, enterpriseId:str=None):
    ref = db.collection("appsCredentials").document(applicationId if applicationId else platformId+enterpriseId).get()
    if ref.exists:
        return ref.to_dict()
    return None
