Μετάβαση στο περιεχόμενο

Αναφορά: ItemController

Διαδρομή: app/Controllers/ItemController.php

Ρόλος

CRUD ειδών (κατάλογος προϊόντων ανά εταιρεία).

Δημόσια API

HTTP Διαδρομή Σκοπός
GET /api/items Λίστα ειδών· κάθε στοιχείο περιλαμβάνει item_services (ίδια πεδία με GET /api/item-services?iditem=…, γενική τιμή καταλόγου) και item_categories (ενεργές κατηγορίες του είδους)
GET /api/items/{id} Λεπτομέρειες είδους με item_services και item_categories
POST /api/items Δημιουργία· η απάντηση περιλαμβάνει item_services και item_categories (μπορεί να μην είναι κενό αν τρέχει provisioning υπηρεσιών)
PUT /api/items/{id} Ενημέρωση· η απάντηση περιλαμβάνει item_services και item_categories· αν μετά την ενημέρωση το είδος έχει idmunit = 1 (τεμ.), κάθε διακριτή υπηρεσία στις συνδέσεις του είδους παίρνει services.rate_type = 'flat' (όσες δεν ήταν ήδη flat)
DELETE /api/items/{id} Διαγραφή

Εξαρτήσεις

  • ItemModel, ItemCategoryModel, ItemServiceModel, ServiceModel, PlisisimoProvisioner, ActionLogModel

Σημειώσεις

  • Οι per_document συνδέσεις (item_services χωρίς iditem) δεν εμφανίζονται μέσα στα είδη· χρησιμοποιήστε GET /api/item-services?scope=per_document.
  • Στο UI /items/edit/{id}, όταν το είδος έχει μονάδα τεμ., η στήλη τύπου χρέωσης στις διασυνδέσεις εμφανίζει «Σταθερή» για όλες τις γραμμές (ανεξάρτητα από το rate_type μέχρι την αποθήκευση του είδους)· δείτε items.js (rateTypeLabelForItemEdit).