# Add New Company to NordaBiz Kreator dodawania nowej firmy członkowskiej do katalogu NordaBiz. ## Argument: $ARGUMENTS Jeśli podano argument (np. `/add-company Pixlab`), użyj go jako nazwy firmy do wyszukania. ## Kroki do wykonania: ### 1. Zbierz informacje o firmie Zapytaj użytkownika o dane lub wyszukaj na https://norda-biznes.info/czlonkowie: **Wymagane:** - Nazwa prawna (legal_name) - Nazwa handlowa (business_name) - jeśli inna - NIP (10 cyfr bez myślników) - Email kontaktowy - Kategoria: IT, Construction, Services, Production, Trade, Other **Opcjonalne:** - REGON (9 lub 14 cyfr) - KRS (10 cyfr, tylko spółki) - Telefon - Strona www - Adres (ulica, miasto, kod pocztowy) - Opis działalności ### 2. Weryfikacja NIP Przed dodaniem zweryfikuj NIP przez API: ```bash curl -s "http://localhost:5000/api/verify-nip?nip=NUMER_NIP" ``` Lub przez zewnętrzne API (jeśli lokalna aplikacja nie działa). ### 3. Generuj slug Slug = kebab-case z nazwy firmy: - "Pixlab Sp. z o.o." → "pixlab-sp-z-o-o" - "ABC Usługi" → "abc-uslugi" - Usuń znaki specjalne, zamień spacje na myślniki, lowercase ### 4. Sprawdź duplikaty (DEV via Docker) ```bash docker exec nordabiz-postgres psql -U nordabiz_app -d nordabiz -c "SELECT slug, legal_name FROM companies WHERE nip='NUMER_NIP' OR slug LIKE '%FRAGMENT%';" ``` ### 5. Utwórz skrypt importu Wygeneruj plik `import_NEW_COMPANY.py` używający SQLAlchemy: ```python #!/usr/bin/env python3 """Import firmy [NAZWA] do bazy NordaBiz.""" import os import sys sys.path.insert(0, os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) from datetime import datetime from sqlalchemy import create_engine from sqlalchemy.orm import sessionmaker from database import Company, Category DATABASE_URL = os.environ.get('DATABASE_URL', 'postgresql://nordabiz_app:dev_password@localhost:5433/nordabiz') def import_company(): engine = create_engine(DATABASE_URL) Session = sessionmaker(bind=engine) session = Session() # Znajdź kategorię category = session.query(Category).filter_by(name='Services').first() company = Company( slug='nazwa-firmy', name='Nazwa Handlowa', legal_name='Nazwa Prawna Sp. z o.o.', nip='1234567890', regon='123456789', krs=None, email='kontakt@firma.pl', phone='+48 123 456 789', website='https://firma.pl', address_street='ul. Przykładowa 1', address_city='Wejherowo', address_postal='84-200', category_id=category.id if category else None, description_short='Krótki opis firmy', description_full='Pełny opis działalności firmy...', data_quality='enhanced', status='active' ) session.add(company) session.commit() print(f"Firma {company.legal_name} dodana pomyślnie! ID: {company.id}") session.close() if __name__ == '__main__': import_company() ``` ### 6. Wykonaj import ```bash python import_NEW_COMPANY.py ``` ### 7. Zweryfikuj dodanie (DEV via Docker) ```bash docker exec nordabiz-postgres psql -U nordabiz_app -d nordabiz -c "SELECT slug, legal_name, nip FROM companies WHERE slug='NOWY_SLUG';" ``` ## Uwagi: - DEV: PostgreSQL via Docker na localhost:5433 - PROD: PostgreSQL na 57.128.200.27:5432 - Dla produkcji: po przetestowaniu lokalnie, wdróż przez `/deploy` - Nowe firmy powinny pochodzić z oficjalnej listy członków Norda Biznes - Zawsze weryfikuj NIP przed dodaniem