Featured

Dokumentumtár modul – Rendszerleírás

Adatmodell (doliBIT_doc és kapcsolatai), tárhely-réteg provider-diszpécserrel (Google Drive + OneDrive + helyi), doc_text szöveg-kinyerés, megosztás és jogosultságok.

Adatmodell

  • doliBIT_doc: a dokumentum-törzs — company_id (tulajdonos ügyfél), storage_provider (gdrive | onedrive | local), storage_account_id, external_id / external_folder_id (felhő-azonosítók), storage_path (kijelzett út), local_path, extension, sha-alapú dedup, downloadable flagek, text_status (0 nem futott / 1 kinyerve / 2 nem kinyerhető) + content_text (a kinyert PDF-szöveg, kereséshez).
  • doliBIT_doc_link: üzleti objektum-kapcsolatok (számla, szerződés stb.) — törlés-TILTÁS elv.
  • doliBIT_doc_share (+parent_id hierarchia) és doc_share_item: virtuális megosztási mappák és tartalmuk; doc_share_weblink: külső web-linkek; user-megosztás lejárattal, eszköz-naplóval, vízjeles portál-nézettel.

Tárhely-réteg — provider-diszpécser

A fiók-törzs a Master data → API accounts (route: masterdata/apiaccount; a korábbi googleaccount route-ot kompat-shim és átnevező migráció fedi). Egy fiók-sor: provider (google | microsoft), OAuth-token (doliBIT_gdrive_token, önálló webgyökér-bridge-ekkel frissítve: /gdrive/gdrive.php, /msauth/msauth.php), root_folder_id (gyökér-korlát; OneDrive-nál útvonal, hiányzó lánc automatikus létrehozással). A kiszolgáló réteg a getStorageAccount() feloldásra épül: a hívó a provider szerint kapja a lib-et (gdrive lib vagy onedrive lib), a KÉT lib metódus-felülete azonos (listDrives, folderPaths, listFiles, uploadFile, createFolder, getItem, delete). OneDrive-specifikus: a mappalista delta-lekérdezéssel épül (egy lapozott hívás, gyors), a technikai tárolók (Bundles, ODCMetadataArchive) kizárva, a gyökér-korlát betűfüggetlen prefix-illesztéssel érvényesül; üres eredménynél DIAG-sor kerül az error logba.

Cég-szintű tárhely-szabályok (objstorage)

A company formban objektum-típusonként (document, quick, googlews, otpkelfo …) megadható a cél: fiók + meghajtó + mappa. A doc-form a document szabályt előtölti; a funkció-feltöltések (quick, bank-kivonat, KELFO) a saját szabályukat használják — hiányzó szabály explicit hibát ad, nem tölt rossz helyre.

doc_text szöveg-kinyerés

Feltöltéskor a model queueTextExtract EGYSZERI doc_text queue-sort készít (pending-dedup: ugyanarra a doc_id-ra nem halmozódik sor); a worker a Smalot PDF-parserrel kinyeri a szöveget, az eredmény a text_status + content_text. A lejárat-kezelő a doc_text sorokat NEM törli (a régi ütemezéssel is lefutnak); a meglévő állomány pótlólagos besorolása az install/doc_text_backfill.sql szkripttel végezhető (idempotens). Részletek: Cron-motor és ütemezési módszertan – Rendszerleírás.

Jogosultságok

Funkciójogok: document/document és document/folders list/edit/delete + csoportos műveletek; a tárhely-választást a storage_account/storage_create scope és a client-kötésű drive-szűkítés (getAllowedStorageDriveIds) korlátozza; a listák/szűrők a cég-tartalmi scope-ot (getCompanyGroupFilter) érvényesítik; a portál kizárólag a bejelentkezett ügyfél-felhasználó jogosult tartalmát szolgálja ki. Részletek: Jogosultsági rendszer – Rendszerleírás.

Törlés-folyamat

A delete() először a doc_link hivatkozásokat ellenőrzi (TILTÁS: a hibaüzenet nevesíti a hivatkozó objektumokat). Megosztási mappa-tagságnál kétkörös megerősítés (force=1) után: leválasztás a mappákról, fizikai fájl-törlés a tárhelyről (gdrive/onedrive/local), majd rekord-törlés, syslog-bejegyzéssel.