File size: 2,470 Bytes
628e667
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
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
49
50
51
52
53
54
55
56
57
58
59
import streamlit as st
from dotenv import load_dotenv
from azure.cosmos import CosmosClient
from typing import List 
import os

load_dotenv()

def get_db_items(offset: int, database_name: str, container_name: str, num_items: int = 10) -> List[dict]:
    try:
        
        database = client.get_database_client(database_name)
        container = database.get_container_client(container_name)
        
        # Abfrage für die DB-Daten mit OFFSET
        query = f"SELECT * FROM c OFFSET {offset} LIMIT {num_items}"
        items = list(container.query_items(query=query, enable_cross_partition_query=True))
        
        return items
    
    except Exception as e:
        print(f"Fehler beim Abrufen der Daten aus der Cosmos DB: {e}")
        st.error("Someting went wrong. Please try again later.", icon="🚨")
        return []

if "db_items" not in st.session_state:
    endpoint = os.getenv("COSMOS_DB_ENDPOINT")
    key = os.getenv("COSMOS_DB_KEY")
    client = CosmosClient(endpoint, key)
    st.session_state["db_items"] = client
if "interview_items" not in st.session_state:
    initial_items = get_db_items(0, "appointment-database", "appointments")
    st.session_state["interview_items"] = initial_items
if "assessment_items" not in st.session_state:
    initial_items = get_db_items(0, "assessment-database", "assessments")
    st.session_state["assessment_items"] = initial_items
if "items_to_show" not in st.session_state:
    st.session_state["items_to_show"] = st.session_state["interview_items"]


col1, col2 = st.columns([2, 1])

col1.title("Meeting Manager")
col2.image("https://www.workgenius.com/wp-content/uploads/2023/03/WorkGenius_navy-1.svg")

def change_meeting_items():
    if st.session_state["meeting_type"] == "Candidate interview":
        st.session_state["items_to_show"] = st.session_state["interview_items"]
    else:
        st.session_state["items_to_show"] = st.session_state["assessment_items"]

st.radio("Select a meeting type", ("Candidate interview", "Peer to peer assessment"), key="meeting_type", on_change=change_meeting_items)
st.divider()
st.subheader("Candidate interview:" if st.session_state["meeting_type"] == "Candidate interview" else "Peer to peer assessments:")
# st.write(st.session_state["interview_items"])
meeting_title = st.columns([7,1])   
meeting_title[0].write("**Meeting title:**") 
for i, interview in enumerate(st.session_state["items_to_show"]):
    st.write(interview["job_title"]+str(i+1))