Opis zlecenia
Problem do rozwiązania jest następujący:
- każdy user otrzymuje dostęp do swojego katalogu z materiałami PDF
- pod unikalnym linkiem ma oznakowane cyfrowo swoje pliki (w chmurze)
- co miesiąc należy aktualizować niektóre pliki z jego katalogu - np. te do których doszły nowe zadania / opisy
- obecnie te aktualizacje realizowane są przez generowanie plików dla usera przy wykorzystaniu skryptu stworzonego w Golang, a następnie ręcznie wgrywane do właściwych katalogów aby user miał do nich dostęp.
- ponieważ wspieramy userów przez co najmniej 365 dni oznacza to, że czasem należy ręcznie cofnąć się 12 miesięcy aby wgrać userowi właściwe pliki
- wiadomo dokładnie co wgrać userowi, bo mamy strukturę katalogów wg wzorca : RRMM/RRMMRR_TAG Imię Nazwisko,
(TAG - zawsze 3 znakowy)
czyli np. Jan Kowalski który otrzymał materiały z tagiem MPW 12.09.2022 będzie w katalogu miesiąca 2209 a pełna ścieżka do jego katalogu to 2209/220912_MPW Jan Kowalski
- gdy wymagane jest wgranie nowego/nowych plików dla tego usera tworzone są znakowane cyfrowo pliki dla tego usera w katalogu o strukturze:
(dzisiejsza data)RRMMDD_TAG Imię Nazwisko -> dla powyższego przykładu byłoby to 230218_MPW Jan Kowalski
Skrypt będzie uruchamiany lokalnie z Windowsa.
Skrypt będzie uruchamiany ręcznie pod 'nadzorem', a wgrywane pliki będą do katalogów na tym samym komputerze.
Synchronizacja katalogów jest już automatyczna - skrytp nie musi nic z tym robić.
Wymagania dla rozwiązania to skrypt uruchamiany lokalnie który:
1. przejdzie przez całą bazę katalogów od wskazanej daty (RRRRMMDD) do teraz
2. dla wskazanego tagu / tagów sprawdzi czy dla danego usera są wygenerowane nowe pliki do wgrania
3. przeniesie plik/pliki do właściwych katalogów dla userów.
4. wyświetli na podsumowaniu komunikat jeżeli w bazie katalogów znalazł userów z wybranym tagiem, ale nie znalazł dla nich wygenerowanych plików do wgrania (co zapewne znaczy, że jakiś user został pominięty przy generowaniu plików)