grabber/models.py
2026-02-24 16:01:01 +01:00

71 lines
2.2 KiB
Python

#!/usr/bin/python3
import configparser
import requests
from sqlmodel import Field, SQLModel, Relationship
class employee_ordinateur(SQLModel, table=True):
employee_id: int | None = Field(default=None, foreign_key="employee.id", primary_key=True)
ordinateur_id: int | None = Field(default=None, foreign_key="ordinateur.id", primary_key=True)
class employee(SQLModel, table=True):
id: int | None = Field(default=None, primary_key=True)
first_name: str
family_name: str
badge_number: str
ordinateurs: list["ordinateur"] = Relationship(back_populates="employees", link_model=employee_ordinateur)
'''PARTIE EVAL class partition
class Partition(SQLModel, table=True):
id: int | None = Field(default=None, primary_key=True)
nom: set[str] = set()
fstype: set[str] = set()
total_size: set[str] = set()
used_space: set[str] = set()'''
class ordinateur(SQLModel, table=True):
id: int | None = Field(default=None, primary_key=True)
hostname: str = Field(index=True)
cpu: str = Field(index=True)
cpu_freq_min: str = Field(index=True)
cpu_freq_cur: str = Field(index=True)
cpu_freq_max: str = Field(index=True)
cpu_id: str = Field(index=True)
mb_serial: str = Field(index=True)
ram_size: str = Field(index=True)
ram_gen: str = Field(index=True)
sizes: str = Field(index=True)
memory_mb: str = Field(index=True)
gpu_model: str = Field(index=True)
chassis_serial: str = Field(index=True)
cpu_cores_nb: str = Field(index=True)
cpu_threads_nb: str = Field(index=True)
ram_number: str = Field(index=True)
ram_slots_nb: str = Field(index=True)
mac_address: str = Field(index=True)
os: str = Field(index=True)
arch: str = Field(index=True)
desktop: str = Field(index=True)
wm: str = Field(index=True)
kernel: str = Field(index=True)
'''partitions: list[Partition] | None = None'''
employees: list["employee"] = Relationship(back_populates="ordinateurs", link_model=employee_ordinateur)
def shutdown():
return
def status(self):
return
def link_to_user(self,user):
return
def remove_user_access(self):
return
def show_users(self):
return
#sum=configparser.ConfigParser()
#sum.read("/opt/grabber/summary.txt")
#sum.sections