module org.example.petshopdesktop {
    requires javafx.controls;
    requires javafx.fxml;
    requires javafx.web;
    requires javafx.swing;
    requires java.desktop;
    requires java.sql;
    requires java.net.http;
    requires com.fasterxml.jackson.databind;
    requires com.fasterxml.jackson.core;
    requires com.fasterxml.jackson.annotation;
    requires com.fasterxml.jackson.datatype.jsr310;

    opens org.example.petshopdesktop.DTOs to javafx.base;
    opens org.example.petshopdesktop.models to javafx.base;
    opens org.example.petshopdesktop to javafx.fxml;
    opens org.example.petshopdesktop.controllers.dialogcontrollers to javafx.fxml;
    opens org.example.petshopdesktop.controllers to javafx.fxml;
    opens org.example.petshopdesktop.auth to javafx.fxml;
    opens org.example.petshopdesktop.ui to javafx.fxml;

    opens org.example.petshopdesktop.api.dto.common to com.fasterxml.jackson.databind;
    opens org.example.petshopdesktop.api.dto.auth to com.fasterxml.jackson.databind;
    opens org.example.petshopdesktop.api.dto.product to com.fasterxml.jackson.databind;
    opens org.example.petshopdesktop.api.dto.pet to com.fasterxml.jackson.databind;
    opens org.example.petshopdesktop.api.dto.service to com.fasterxml.jackson.databind;
    opens org.example.petshopdesktop.api.dto.supplier to com.fasterxml.jackson.databind;
    opens org.example.petshopdesktop.api.dto.productsupplier to com.fasterxml.jackson.databind;
    opens org.example.petshopdesktop.api.dto.inventory to com.fasterxml.jackson.databind;
    opens org.example.petshopdesktop.api.dto.appointment to com.fasterxml.jackson.databind;
    opens org.example.petshopdesktop.api.dto.adoption to com.fasterxml.jackson.databind;
    opens org.example.petshopdesktop.api.dto.chat to com.fasterxml.jackson.databind;
    opens org.example.petshopdesktop.api.dto.sale to com.fasterxml.jackson.databind, javafx.base;
    opens org.example.petshopdesktop.api.dto.user to com.fasterxml.jackson.databind;
    opens org.example.petshopdesktop.api.dto.employee to com.fasterxml.jackson.databind;
    opens org.example.petshopdesktop.api.dto.analytics to com.fasterxml.jackson.databind;
    opens org.example.petshopdesktop.api.dto.purchaseorder to com.fasterxml.jackson.databind;
    opens org.example.petshopdesktop.api.dto.activity to com.fasterxml.jackson.databind;
    opens org.example.petshopdesktop.api.dto.coupon to com.fasterxml.jackson.databind, javafx.base;

    exports org.example.petshopdesktop;
    exports org.example.petshopdesktop.controllers;
    exports org.example.petshopdesktop.auth;
}
