File size: 1,355 Bytes
6195f5a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
5c0c358
 
 
 
 
6195f5a
 
 
 
 
 
5c0c358
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
6195f5a
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
import firebase_admin
from firebase_admin import credentials, firestore
from models import ETF


# Initialize Firebase Admin SDK
cred = credentials.Certificate('stokistan-332f5-firebase-adminsdk-fbsvc-5b6cddb01e.json')
firebase_admin.initialize_app(cred)
db = firestore.client()


def getAllEtf():
    try:
        docs = db.collection('ETF').stream()
        etf_list = []
        for doc in docs:
            data = doc.to_dict()
            data['id'] = doc.id  # include document ID
            print(data)
            data['keyPeople'] = data.pop('Key People', [])
            data['etfName'] = data.pop('EtfName',"")
            data['description'] = data.pop('Description','')
            
            etf_list.append(ETF(**data))
            print(etf_list)
        return {"etfs": etf_list}
    except Exception as e:
        print(f'error{e}')

def rename_field():
    docs = db.collection("ETF").stream()

    for doc in docs:
        data = doc.to_dict()

        if " Key People" in data:  # old wrong field
            print(f"Fixing doc: {doc.id}")

            db.collection("ETF").document(doc.id).update({
                "Key People": data[" Key People"],   # create correct field
                " Key People": firestore.DELETE_FIELD  # delete wrong field
            })

    print("Done!")


if __name__ == "__main__":
    getAllEtf()