import argparse
import os
import sys
from pathlib import Path

sys.path.append(str(Path(__file__).resolve().parents[1]))

from app import create_app
from app.extensions import db
from app.services.bootstrap_service import BootstrapService


def main():
    parser = argparse.ArgumentParser(description="Seed default and sample data for the ticketing system.")
    parser.add_argument("--sample", action="store_true", help="Include sample companies, users, and tickets.")
    args = parser.parse_args()

    app = create_app(os.getenv("FLASK_CONFIG", "development"))
    with app.app_context():
        db.create_all()
        BootstrapService.seed_defaults(with_sample_data=args.sample)
        print("Seed completed.")


if __name__ == "__main__":
    main()
