Değişiklik Günlüğü
Yeni ne var?
Gemideki her iyileştirme.
· kamo-shared-library
Ödeme süreleri, molalar, primler, iş hesapları, accruals, ihracat
Kalan ücret ve saatlik şemayı bir paylaşılan-lib değişikliğine düşürdü, böylece Tek bir KamoInitializer içindeki tüm domain topraklar, bir geçiş yerine bir geçiş yerine koşuyor faz. Entities: rule-vers don columns, kazan hatları, molalar ile dönemler, Kurallar ve ihlaller, iş hesapları ve iş segmentleri, accrual politikalar, Dengeler ve liderlik, vakaları bırakın, ihracat topluları, katılım olayları. Dört saf motor, 51 test: BreakEvaluator - hiçbir zaman bir öğle yemeği otomatikleştirilmez, çünkü bir otolit yemek İşverenin görevden alınmadığı yarım saat kitap görevsizdi. Premiums WAGES (Naranjo), bu yüzden bir rapordan ziyade kazanç elde ederler. Bir Biri Günde CATEGORY başına prim (UPS v. Superior Court): iki kaçırılmış yemek Bir, kaçırılmış bir yemek artı eksik bir dinlenme iki borçludur. Bir yemek sadece şerefli Kuralın bir kişiye izin verdiği yerde - bir çalışan bunun dışında onay veremez. Geri kalanlar Ayrılmamış, bu yüzden intestation sessizliği asla bir ihlal olarak kabul edilmez. DüzenliRateCalculator – Overtime, LULAR oranına borçludur, üssü değil ortalama 778.115 ağırlıkta, 778.209 retroaktif overtime ontime ontime. Belirsiz bonuslar, 778.216/218 dışlamalar ve yarı zamanlı primler: Doğru zaman zaten toplam olarak, bu yüzden overtime 0,5x ekliyor, 1.5x değil. AcrualMühendis - bir tavan dengeyi bozmadan accrual durur, taşımaz tavandan ayrı kapıldı ve zemini ihlal edecek bir kesinti Bir gün yarıyı sessizce onaylamaktan ziyade atlar. PayPeriodCalendar - üretilen, el koymadı ve doğruContigcious reddediyor Bir boşluk (yaraya ait çalışma, asla ödenmemiş) veya iki kez ödenen bir çakışma.
· kamo-shared-library
Exception model ve dedektörleri
Engelleme kapı gerçek yapar. Şimdiye kadar geçiş masası bir oku Hiçbir şey yazmadığını sayın, bu yüzden her zaman kart temiz görünüyordu ve ' eksik bir yumruk Hiçbir zaman sıfır olarak ödenmedi" bir kontrolden ziyade bir yorumdu. BLOCKING ayrımı, vergionomy'nin bütün noktası: açık bir değişim, açık bir geçiş Boş olmayan yumruk ve test edilmemiş bir geçici yumruk sonlaştırmayı durdurur, çünkü Onları kapatma, kimsenin geride kalamayacağı bir şeyi iddia ediyor. Bir geofence özlüyor ve Bir saat skew ADVISORY ve asla blok değildir - kayıt etmeyi veya zamanlamayı reddeder Bu aslında işe yaradığı kesin ücret bu sistemin önlenmesidir. Sensör raporları ve asla onarımlar. Her türlü tahmin edilemez bir değişim Yanlış: saçma saatler, oto-bölgeler, bir kapak, bir kapak Kimseye tanık olmayan bir rakam icat eder. Bunun yerine bir istisna haline gelir. Idempotent by construction via unique (member, date, type) constraint - Yinelenenler sayıyı şişirecek ve bir sebep için zaman kartsız hale getirecekti Kimse bulamadı.
· kamo-internal
Tekrarlanan bir ödemeyi durdurmadan önce Onay
Her ikisi de iptal eylemleri – bir üyenin kendi koltuğu ve bir grup yöneticisinin planı – şimdi sorun İlk olarak, tarih kapağını isimlendirin ve bir grup için, kaç kişi onları tutar O zamana kadar koltuklar. Deliberately paylaşılan OnayDialog değil. Bu, DESTROY'yi yazmak gerektirir, DELETE, REMOVE veya ERASE, düğmesine izin vermeden önce, bu doğru Onun için inşa edildiği geri dönüşümlü deletions. İptal, ne geri dönüşümlü ne de yıkıcı: Hiçbir veri kaybolur, erişim ücretli dönemin sonuna kadar devam eder ve İstediğiniz zaman tekrar abone olabilirsiniz. A type-the-word gauntlet in front of Bir ödemenin durdurulması bir müşterinin belirsiz olduğu bir eylemde sürtünmedir Kolayca alma hakkı için. Ne düğme "Cancel" diyor. İptal hakkında bir diyalogda, bu kelime her ikisi de anlamına gelir "abandon this dialog" ve " aboneliğimi genişletin" ve güvenilir olarak okunamaz Ya da, her iki düğme de onların sonucu: "Planımı tut" ve "Gelecekte Dur Ödemeler.”.
· BillingService
Yenileme tarihini kapsama ve grup ücretlerine taşıyın
Her iki yüzey de şimdi mevcutPeriodBit rapor ediyor vePeriodBit'i iptal ediyor. Tarih nedir? Bir iptal onayı aslında söylemek gerekir - "Sonuna sonuna kadar koltuğunuzu tutuyorsunuz Dönemin”, soyutta yeniden dirilmesidir, “14 Mart'a kadar koltuğunuzu tut.” Birisinin hareket edebileceği yeniden sigortalıdır.
· kamo-internal
Bir faturanın onlara ihtiyacı olduğunda insanlara söyleyin ve ödemelerini bırakın
Bu kişinin sorumlu olduğu bir ödeme sırasında evde bir pankart Başarısız, doğrudan fatura sayfasına bağlantı kurmak. Şimdiye kadar başarısız bir ödeme Sadece artık açılmadığı uygulamalar olarak ortaya çıktı - açıklama ile kısıtlama, Bu, ödenmemiş bir faturadan ziyade kırık bir yazılım olarak okur. Sadece sadece için Üzerinde hareket edebilecek faturalar: kendi koltuğu ve yönetilen gruplar. Bu verir Hiçbir şey borçlu olmadığı zaman. İptal şimdi kişi kimin ödediğini görünür: "Cancel otomatik otomatik Ödemeler" kendi koltuklarında, yardım yazısıyla açıkça ifade ettiklerine dair eylemler Zaten ödediği dönemin sonuna kadar koltuğu tut. The The The The The The The The Onay tarihi olarak adlandırıyor, çünkü bu düğmeye basıldığında korku budur erişim hemen durur. "Kendi kendine ödeme yapanların kendi planlarını seçmelerine izin ver" geçişi gitti. Plana ait Organizasyon ve içindeki herkes - bireysel veya bir grup olarak - Aynı planı satın alın. Grup paneli şimdi organizasyonun planını oldukça belirtmektedir Bir seçici sunmaktan daha fazlası.
· BillingService
Organizasyon başına bir plan, 25-seat Enterprise tavan ve ödemeyi durdurmanın bir yolu
Plan şimdi bir organizasyon düzeyinde bir karar ve başka hiçbir şey onu genişletemez. Kendi kendine ödeme yapan veya bir grup yöneticisini seçmesine izin verin, nezaket ve nezaket gibi kendi okurlarını Doğru bir hata: **************** cevaplar "bu org Bu uygulamaya sahip olmak" OR-ing across every live subscription Target the org, so one Daha yüksek bir plan seçmek için bir koltukta kişi bu planın uygulamaları için değiştirdi Tüm organizasyon. Organizasyonun planına her ödeme yapmak, ORTA'nın bunu yapar. zararsız - tüm abonelikler aynı planı adlandırıyor, bu yüzden cevap veren cevaplar Aynı şekilde. OrgPlanService, Planları ve Planları aynı abonelikten plan okur billing konsolu “Planınızı” arar, bu yüzden kural ve ekran aynı fikirde değildir. Enterprise 25 koltukların üzerinde gereklidir, organizasyon ve her şeyden sayılır Fatura grubu. per-payer saymak gruplara bölmek için bir yol haline gelecektir Bir seferde elli sandalye satın alın. Bir düzenleme kendi aboneliklerini dışlar, böylece Yeni boyuta karşı küçülmek, eski değil. GET /self/alerts bir ev sayfalı afiş sürüyor. Hiçbir açıklama ile sınırlı erişim Bu ürünün en kötü versiyonudur - uygulamalar açılmayı durdurur ve kimse neden, ya da kimse diyor, Bu kişinin okuması onu düzeltebilecek biri. Sadece bu faturalar için yükseltti Üye sorumludur: kendi koltuğu ve yönetilen gruplar. Birini Söyleyin Kuruluşunun kartı gürültüyü ödeyemediklerinde başarısız oldu ve gürültü gürültü gürültü Nasıl pankartlar okumayı bırakır. POST /self/seat/cancel, satın alınan bir koltukta otomatik ödemeyi durdurur kendileri. Her zaman sonunda: mevcut süre için ödediler ve Hemen iptal etmek, hiçbir şey geri ödeme yaparken bu erişimi alır, çünkü o zamandan beri Bu yol, Stripe'ı prorasyon için sorar. İptal edilen iki böcek, kablolama sırasında bulundu: - COMP ve TRIAL için sessiz bir no-op idi. Bütün vücut arkaya oturur striptizeSubscriptionId null check, so a comped or deneme abonelik geri döndü 200 sıra hala ACTIVE ile - caller hiçbir şey değiştiğinde çalıştığını söyledi. Şimdi reddediyor ve nedenini söylüyor. - derhal=gerçek tehlikeli kalır ve kasıtlı olarak maruz kalmaz: ayarlar CANCE daha sonra DecbackToFree, hangi koltukta ACTIVE/FREE ayarlar 1, bu yüzden 25-seat veyag bir çalışan kişiyi koruyacak ve 24 koltuklarının kesilmiş olduğunu söyleyecek Hiç olmamış bir koltuk hesabı nedeni. Entitlement.fail-open, burada Güvenlik Hizmeti'ni eşleştirmek için sahte ayarlanmıştır, hangi hizmet hizmet hizmet vermektedir. /api/güvenlik / başarılar ve uygulamalar ve özellikler ekran okumalarıdır. İki hizmet Aynı entitlement sorusunu farklı şekilde cevaplayın ya cevaptan daha kötü. Doğrulanmış güvenli: Tüm altı aktif plan 21 hizmet için açık bir sıra taşır Yani daha önce verilen hiçbir şey inkar edilmez.
· SecurityService
Haklı röle haklarından çözülebilen rolle
ROLE IS DECIDED, caller'in haklarından ve onların ilişkisinden Konu - asla istek vücudundan. Kendi rolünü adlandırabilecek bir vücut Herhangi bir kimsenin ödeme kaydı olduğunu iddia etmesine izin verirdi. Precedence: DEMROLL (broadest, herhangi bir durumda düzenlemeler), sonra E, sonra EMPLOYEE Birin kendi kaydı için. Konunun anlık yöneticisi kendi başına sayılıyor - kendi raporunu onaylayan bir hat yöneticisi sıradan bir durumdur ve olmamalıdır Bir org çapında doğruya ihtiyaç var; doğru, yorumları olan herkes için var. ManagerOf CLOSED Başarısız: Boş olmayan bir raporlama hattı otorite değildir.
· kamo-shared-library
APPROVE TIMECARD ADJUSTMENTS (197) ve FINALIZE FORM PERIODS (198)
Bu yüzden görevlerin ayrılması ifade edilebilir: Bir zaman kartı onaylayan kişi bir zaman kartı onaylamaz otomatik olarak kim bir ödeme dönemi üzerinde kapatabilir. MANAGE TIMECARDS (183) Modül kapısında kalır ve kasıtlı olarak da değildir. Kayıt hala doğru değil - devam eden bir iş gerçeği. Doğru bir 4 sevk edilen davranış ve ilan edilen üyeden silinir Tam olarak HR son zaman kartlarını üretmelidir. Deliberately, NEW RIGHT SEEDS'den yoksundur: Bu bir EXISTING hibesi taşır İleri ve bu kapı kimsenin sahip olmadığı bir yetenekti. Doğru bir şekilde eklemek sadece bir Güvenlik Hizmeti yeniden başlatılır - KamoInitializer geçişi yok, DDL yok. Bir test tarafından pinlendim, çünkü id üye rights applied mağazaları.
· kamo-shared-library
Onay katmanı devlet makinesi
Çalışan -> yönetici, sahibinin kararı için -> maaş kayıtlarını onaylar. Tek kural, saf bir geçiş masasında uygulanır ve 25 test tarafından yapılır: 1. Bir yönetici, çalışan teslim olana kadar onaylayabilir. Gönderim, Çalışanın kendi iddiaları saatlerinin onların ve tamamlanmış olduğunu; Herhangi birini onaylamadan onaylama. 2. Müdür onayı, çalışanı daha fazla düzenlemeden uzaklaştırır. 3. Bir yönetici Mayıs adına hareket eder - gönderin veya onay verin - ve bu sadece Yasaklı rota son kuralı 1. Yazılı bir sebep gerektirir ve sıra Hem tıklayan yönetici hem de çalışan ayağa kalktı. 4. Payroll, kilitli, her zaman bir sebepten dolayı ANY eyaletinde düzenlenebilir. Yakın sonra düzeltmeler rutin ve yasal olarak gereklidir; onları yasaklamak Sadece denetim yolundaki değişiklikleri hareket eder. Görevlerin Segregation of tasks lives in the Transition table, not in role name: kimse isimlendirmemektedir. Kendi zaman kartlarını onaylar ve bir yönetici de birinin çalışanıdır. DEMROLL LOCKED'den cascades'i onaylamayın, çünkü SUBMITTED'e giden yolu. Üzerinde inşa edilen kilityi geçersiz kılar. Onaylar bir DATE RANGE'ye tabidir, böylece bir orta dönem onayı daha sonra hayatta kalır Çalışmayı sessizce örtmek yerine kapsamı dışında düzenleme, hiç görmediği.
· kamo-internal
Üye Timecard sekmesi ve HRS Timecards ayarları sekmesi
Üye sekmesi SELF-SERVICE VAR ve kimlik üzerinde kapılandı, tam olarak gibi Yasal-kompliance: son noktaları hiçbir üye boşluğa sahip değil, bu yüzden yapısal olarak Başka birinin saatlerini göstermeden aciz. checkRight burada güvenilmez - bu Tanrı modundaki her şey için doğru döndürür ve sayfanın kendi kendine ait DiğerMemberAccount OR'ları, ilgili olmayan haklarda da bekleyebilir **************** Belirli bir kişinin zaman kartına ulaşan HR, /hr /attendance'de farklı bir yüzey, HR aktörüne atfedilir. Planlanmadan önce yerleştirin, böylece sol sekme grubunda kalır - sonra bir şey Bu sekmenin doğru ml'ye uygun olduğunu miras alır:'auto'. HRS sayfası, ComingSoonTab'ın yanında ilk gerçek sekmesini kazanır, kayıtlı SETTINGS MENU, kapsama testi olarak her iki yönde gerektirir. Her iki sekme de Her geri dönüş yolunda kendileri; AyarlarView, TabPanel ve hareket tüm ov Sıfır tedarik edin.
· kamo-internal
/hr/attendance roster ve NavTop saat kontrolü
HrTabPlaceholder bedenini değiştirir. Yol, HR TABS girişi, MANAGE TIMECARDS Kapı ve sekme i18n anahtarları zaten var; burada hiçbir şey bir şey kaydetmez. Roster saatleri, her okumada mümkün olmayan yumruk loglarından sunucuya ait. Tamamen koşmak yerine, düzeltilmesi gereken bir yumruk hemen ve Bir boğa bileşik yerine bir kez yanlış bir sayı üretir. Saat kontrolü yasal ve uygunluk dışında sabit bir krom, NAV REGISTRY değil Giriş: Kayıt iki sabit kontrol arasında bir pozisyon ifade edemez, onun badgeKey ölü koddur ve her kayıt girişi sürükleyilebilir ve kullanılamaz - Bir uyumluluk saati, birinin kendilerinden saklanabileceği bir şey olmamalıdır. PERSISTED kayıtlarında kapılar asla kontrol etmez, bu da doğru döndürür. Tanrı modunda her doğru ve her bir operatörde bir saat gösterecektir Ziyaret edildi. Zaman kartpostalları kontrol tarafından paylaşılır ve bu yüzden hem anket Birlikte sessiz gidin - bu predikate sürüklenmenin iki kopyası ve başarısızlık modu Getiren gizli bir düğme sonsuza kadar çalışır. Saat durumu bir FOURTH bağımsız sinyaldir: varlığı değil (60s kalp, 300s TTL), ve kullanılabilirlik status değil, logout ve kapılar üzerinde AWAY'a otomatik olarak başlıyor liderlik ve destek. Kirlilik sadece 60 katla şimdilik. STOMP, MediaService ile topraklar Değişim; temel NATS sınırsız ve kayıptır, böylece REST tohum her zaman zorunludur.
· kamo-shared-library
Database-hour accessor on the yumruk repository
Her yumruk anında DB'den geliyor, asla JVM: pods yeniden başlıyor ve düğüm yok Saatler skew ve sipariş veren bir ücret kaydı hangi pod'un cevap verdiğine bağlıdır Bir kayıt değil. SQL standart CAST, çünkü :: bir döküm sessiz bir şekilde mangated - Hibernate “Okunuşun adı ve şu anda ortaya çıkıyor (:timestamp into:timestamp.
· kamo-internal
BFF rotası /api / güvenlik / zaman kartpostaları
TimecardService, hiçbir ingress ile ClusterIP, bu yüzden tüm rota olmadan Tarayıcıda 404'ler her hizmet sağlıklı ve her bina sağlıklı olduğunda yeşil - bu platformda iki kez gerçekleşen tam başarısızlık. Burada bir yetki yok, kasıtlı olarak: bu tabaka ulaşım ve yarım kontrol Bir kontrol olduğuna olan inancı davet ederdi. forwardToApi, sorgu dizesine sahiptir. 204, atlayan .json() ile geçmemek yerine 204 olarak geri döndü.
· SecurityService
Güvenlik Hizmeti TimecardService
İzin sınırı. TimecardService verileri ve motoru tutar, ancak değil Oturum; bu seansı tutar ve kim yapabilir karar verir, sonra röleler. The The The The The The The The Bu nedenle hiçbir zaman burada geçmeden ulaşılamaz. Güvenlik Hizmeti herhangi birRequest().permitAll() el-rolled per-handler auth ile çalışır, Bu nedenle her yöntem, reddedilmeyen bir bekçi ile açılır. Self-service endpoints NO üye id at all - üye seanstan geliyor, yapmak Onlar başka biri üzerinde hareket edemiyorlar. HR endpoints kapısı MANAGE TIMECARDS (183). Kayıt sağdan ziyade kalıcı iş sırasından cevaplanır, bu yüzden Bir God-mode operatörü her ya dag'da kayıtlı görünmüyor. SUDO MEMBER ID tarafından yürütülmektedir: Is Self() upstream, bir kişilik muamelesine karşı Hedef üyesi olarak oturum, bu yüzden bir taklitçinin yumrukı olmadan Çalışanın kendisi olarak kaydedildi. Zamancard.service.url, configuremap'ta EDITLICITLY set. Komisyon.service.url Hiçbir yerde ve üretim, bir Servis olan Java'da bir gerçekliğe bağlıdır. İsim, için grep'e ayarlanmamış hiçbir şeyle bitecektir.
· kamo-shared-library
İşgün kovalama, boru hattının 2. aşaması
Çözülmüş aralıklar, tümocator için hazır olan son saniyeler başına gelir. Bir aralık, her iş günü sınırlarında SPLIT: bir 22:00-06:00 değişim Gece yarısı iş günü bir sonraki bir tarihte 2 saat ve 6'da. Attributing Tüm tarihe kadar her gün aşırı zaman ve yedinci gün kuralı yapar. Her gece işçi için yanlış. Bu kasıtlı olarak iş dünyasından DIFFERENT bir alıntıdır. yumruk. yumruk bir tarih taşır - yemek /rest değerlendirme için, istisna kuyruk ve çalışanın değişimleri olarak gördüğü şey - aşırı zaman sayma ihtiyaçları olduğunda İş günleri ve iş haftaları boyunca, aslında düştükleri saatler. Her ikisi de her ikisi de Doğru, her ikisi de gereklidir ve onları şiştirmek tuzaktır. İşçiWEEK sınırının geçişi aynı zamanda iki haftaya da katkıda bulunuyor.” Overtime totals; Her ikisinde de hepsini saymak yanlış. Dakikalar boyunca saniyeler içinde. Testler hem DST geçişlerini hem de 50 saatlik bir süreyi kapsıyor Orta ve yumruklar bir Kaliforniya haftası için tahsis yoluyla sona erer.
· InitializerService
KI kayıt ve şema göçü
Masalar ddl-auto'dan gelir; bu koşucu sadece Hibernate'in yapamadığı şeyi sağlar - Bir açık birincil atamada kısmi eşsiz indeksler ve bir açık ödeme Pencere ve REVOKE, sadece append-only veritabanıdır. @Order, bu yüzden daha sonraki koşucunun JPA SE'den önce topraklar, 40001 retry ile Çünkü Yugabay online şema değişikliği yapar ve ddl-auto Hala yarışı kaybediyor. Kayıtlar com.kamo.z.shared.hr.timecard in @EnableJpaRepositories - bu liste @EntityScan vahşi bir kartpostal iken açık bir dizidir ve bir paket oluşturur Bu yüzden NO koşucu hala başarı rapor ederken bağlamı tutar.
· kamo-shared-library
İşweek ve iş günü sınırları
İş haftası FLSA overtime ünitesidir - sabit, düzenli olarak 168 saatlik tekrarlanır Dönem - ve ödeme dönemi değildir. İki haftalık bir süre tam olarak iki tane tutar İş haftaları; yarı aylık veya aylık bir dönem her zaman kesir, bu yüzden Bir süre boyunca her iki alt ödeme ve aşırı ödemeler üzerinde bir hesaplama ve Bir kez dönem ihraç edilemez. İş günü sınırı ayrı olarak yapılır ve mutlaka gece yarısı değildir. A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A A 06:00 başlangıç, gece personeli için standart bir düzeltmedir: Saat 19.00'da değişim devam ediyor İki yarı gün boyunca bölmek yerine bir iş günü, bu ne yapar Günlük Overtime ve yedinci günlük kural hepsi için çalışır. Boundaries, ZonedDateTime aracılığıyla çözülecek zamanlardır, bu yüzden 06:00 kalır 06:00 23- veya 25 saatlik bir gün. Testler hem geçişleri hem de birinin bunu pin Şimdi Los Angeles ve Kolkata'da farklı bir iş tarihi - bu yüzden neden Kayıt bölgesi daha sonra elde edilenden ziyade yumruk üzerinde devam etmektedir.
· kamo-shared-library
Interval çözümü, hesaplama boru hattının 1. aşaması
Tavuklar çözülüyor. Saf, toplam ve değer türleri yerine Bu nedenle her aşama, kalıcılık bağlamı ile uygulanabilir. Süreler, anlıklar arasında, asla duvar saati çıkarmaz. Bu, tüm DST hikayesi ve testleri pin: bir 22:00-06:00 değişim WEB ilkbaharda saatler ve geri dönüş boyunca NINE. Duvar saatlerini altüst etmek Her ikisi için 8 işlem - bir alt ödeme, bir tane aşırı ödeme, ve günlük olarak 9. Saat gecesi yargıcı, aşırı saatini sessizce kaybeder. Herhangi bir uygunsuz, tahmin edilenden ziyade çözülmemiş olarak geri gelir. A unclosed Değişim bir EX MeetingIONdir: Bunu açık accrues saçma saatler, oto-closing at a Planlanan sona under-reports ve sabit bir kap tanık olmayan bir sayı icat eder. Hiçbir zaman sıfır olarak sonuçlanmamalıdır - bu, işe yaradığı bir gün için hiçbir şey öder. Meals yumruklanmış, asla oto-dedüksiz. TRANSFER tek bir yere yakın ve açılır Bir sonraki geçiş bitmeden, bu yüzden yemek zamanlaması ve değişim uzun süre uygunluk Maliyet merkezleri arasında orta değişimli bir hareketle devam edin.
· kamo-shared-library
In-pyramiding overtime allocator with rule presets
Kurallar, bu kütüphanede zaten kullanılan zorunlu kural üzerine DATA, bu kütüphanede kullanılmamıştır, Kod şubeleri, bu yüzden Kaliforniya yeniden yazma yerine bir yapılandırma çizgisidir. Allocation order yük devretiyor: günlük kurallar en yüksek ücretli-ilk (a 13-hour CA gün 2x ve 4h'te 1.5x'te 5h değil, sonra yedinci Ertesi gün, haftalık saat NET zaten günlük bir primte. Bu son adım piramitleri engelleyen şeydir ve bir naif motordur Omit. Kaliforniya'da 5 10 saatlik gün 10 prim saat, 20 değil - naif Motor aynı on saat için günlük ve haftalık öder ve HER bireysel kural Test başladığında geçer. Allocator ayrıca saat korumasını iddia ediyor çıkış yolu ve yanlış bir maaş kontrolü geri dönmek yerine atlar. Presler: FLSA federal, Kaliforniya, Alaska, Nevada, Colorado.
· kamo-internal
Tarayıcıya org timezone to the browser
Müşteri Organizasyon modeli zaman alan alanı yoktu,Formatters ve next-intl Her ikisi de hiçbir zamanZone ile yapılandırılır ve zaman bölgesiServis'in geri çağrısı 404'd - Bu yüzden her zamantamp tarayıcının bölgesinde ve sunucunun SSR sırasında verdiği. Aynalar tüm 27 TimezoneType değerleri bir alttan ziyade: kısmi bir harita Sessiz yarı-mirror, hiç kimsesiz ya dag tarayıcı bölgesine kadar düşüyor sinyal yok. GMT haritaları Avrupa/London, UTC değil - BST'yi gözlemliyor, bu yüzden şişirme Bütün gün saatlerini yarım saat boyunca değiştiriyorlar. org bölgesi sadece bir DISPLAY geri çekilmedir. Üretim sayımı tüm 13 orgs on buldu Üyeler PACIFIC /EASTERN /ARIZONA /UTC / ARIZONA /UTC / INDIA, bu yüzden kayıt zamanı kartpostal bölgesi bunun yerine iş sitesinden geliyor.
· SecurityService
GET ********************
zaman BölgesiHizmet.ts bu uç noktası yazdı çünkü yazılmıştır ve var Hiçbir Java servisinde; müşteri 404'ü yuttu ve UTC'ye çözdü. Bu arada bu arada Formatters ve bir sonraki-intl her ikisi de zamanZone ile yapılandırılır, bu yüzden her şey Tarayıcının bölgesinde zamantamp ortaya çıkıyor - ve geri dönüş dizedir "GMT", Avrupa/London ve BST'yi gözlemliyor. Kimlik sadece seanstan gelir: GüvenlikHizmeti tüm izni ile çalışır Elli per-handler auth, so a handler that reads Identity from the request Hiç kontrolü yok. Kayıtlar com.kamo.z.shared.hr.timecard in @EnableJpaRepositories. Bu listedir @ComponentScan /@EntityScan vahşi bir kartpostal ve o yayan bir Paket, iki önceki CrashLooping dağıtımlarının belgelenmiş nedenidir.
· kamo-shared-library
İşSite, yargıcı
Named WorkSite, WorkLocation: TeamMember.workLocation mevcut bir iş. Ofis/remote enum ve bu isim tarafından ikinci bir sembolü her grep'te çarpıtacaktı. Bölge Id, TimezoneType'dan ziyade özgür bir IANA dizesidir çünkü bu enum 27 değerler çok devletli bir işvereni kaplayamaz ve NULL değildir çünkü bu Sadece güvenilir bölge tabakası - üretimdeki her org on the touched PACIFIC varsayılan.
· kamo-shared-library
İstihdam ve etkili atama revizyonları
Maskeler bir üye değil bir ASSIGNMENT atıfta bulunacaktır. Bu ne yapar Eş zamanlı pozisyonlar, 29 CFR 778.115 ağırlıked-average normal oranı, Multi-site yetkisi ve iş her şeyde ifade edilebilir. managerMemberId, TeamMember.manager'dan revizyon zamanından itibaren anlık bir şekilde çekilmiştir Yeniden örgütlenme, neyin onaylandığını yeniden yazamaz. roster finder kasıtlı olarak üye rights applied üzerinde inşa edilmez: bu sorgu TeamMember-typed, bu yüzden tüm veyag sahipleri veriyor ve hiçbir şey geri dönmedi Uygulanan haklara Uygulanan Belge Üyesi - tam olarak kişi Nihai zaman kartı HR hala üretmek zorunda.
· kamo-shared-library
Etkili - sadece ödeme oranı
Bu varlıktan önce hiçbir çalışan tazminatı bu platformda mevcut değildir. Gereklidir: Aşırı zaman FLSA normal oranına karşı hesaplanır, CA gerektirir Ücret bildirimi ve fiyatlar olmadan bir ihracat ödemeroll verir Hiçbir şey tüketilmedi. Bir zam, bir YENİ ROW. ihraç edilen bir süre içinde bir oran etkili bir şekilde, retro ayarlama, asla sessiz bir yeniden yazma. Asla /api/güvenlik / üye / {id} ile maruz kalma - bu uç nokta doğru değil Her şey, bu yüzden şirkette her maaş sızdıracaktı.
· kamo-shared-library
Append-sadece yumruk log ve denetim olayı
Her ikisi de NARROW Repository arabirimleri tarafından servis edildi, JpaRepository değil: Tüm InBatch ve toplu JPQL varlık çağrılarını atlar, bu yüzden arayüz şekli ne yapar Sadece danışmadan daha gerçek. Instant + IANA zone + iş tarihi her şey devam ediyor, bu yüzden süresi hesaplandı Anında ve DST ücretsiz olarak doğrudur - bir 22:00-06:00 değişim 7 saattir ilkbaharda ve 9 düşüş boyunca, duvar saat çıkarlarken Her ikisi için 8 hesaplar. updatable=false kasıtlı olarak donmuş yumruk sütunlarında kullanılmaz: Hibernate Onları başarısız olmaktan ziyade UPDATE'den sessiz bırakacaktı.
· kamo-shared-library
Timezone-of-record çözümür
Yetkili sipariş iş sitesi -> üye -> veyag -> UTC. İş sitesi kazanır çünkü Ücret ve saatlik kurallar işin PERFORMED nerede olduğunu takip eder. Bu seanstaki bir üretim sayımı tüm 13 veyags buldu varsayılan ve 63 üyeden 38'i hiç zaman bölgesi olmayan, kalabalık olanlar ise ARIZONA, UTC ve INDIA - 13.5 saatlik bir yayılma. The org Bu nedenle, işSitesinin neden işlediği bir gerçek kaynağı değildir.zoneId NULL değildir ve ağırlığı taşır. Falls back to UTC rather than the - 'GMT' string, which is Europe/London Ve BST'yi gözlemler. Boş olmayan bir site alanı fırlatmaktan ziyade düşüyor: Bir bölgeyi çözmeyi reddetmek aslında işe yaramayı reddeder.
· kamo-shared-library
Ortak WORM red guard
@Column(updatable=false) taklit edilemez - Hibernate sessizce sessiz Omits the column from UPDATE and the stale write looks like it managed. Tek çalışan bekçi, atlayan @PreUpdate.
· kamo-shared-library
Domain enums and point-in-time version resolverr
Enums çağrı sitesinde tüm @Enumerated (STRING): ORDINAL bir sayısal yayıyor SchemaCleanupRunner'ın IN-list sübvansiyonunu içeren ve içeren aralığı kasıtlı olarak atlar ve sonra her yeni değerde el ile genişletilmelidir. Kompleksi, CONTAINS'in şu anda çözdüğü pencere tarafından çözülür, asla Son kez, ve aday setinde kapalı pencereler tutar - süpersession yakınlar Her pencere ama şu anki bir, bu yüzden açık-rows-sadece sorgu hiçbir şey döndürür Herhangi bir tarihi anında, retro ödeme ve denetim yeniden yapılandırmasını kırın. Overlap Tahmin etmek yerine atlar.
· kamo-internal
Koltuklarına ödeme yapan üyeleri göster ve ikinci bir tane teklif etmeyi bırakın
Anahtarlar ve hiçbir bileşen ile gönderilen kapsama uç noktası, bu yüzden Cevaplarını sorgulayın - koltuğum için kim öder - hala sorulacak hiçbir şey yoktu. KoltukCoveragePanel bunu soruyor ve cevap, yanındaki kendi ödeme panelini beslemektedir: Koltuk zaten organizasyonları veya bir grup tarafından kaplı olan biri, hayır Artık kendi kartlarında başka bir satın alma şansı teklif etti. Bu teklifin hiçbir şey yoktu Tüm mevcut kapsama bilgisi, bu yüzden herkese gösterildi. Bir grubun planı da iptal edilebilir, bu da bir grubu bir grupla bir grup haline getiren şeydir. Plan deletable – canlı bir abonelikte hala puan alan birini ortadan kaldırmak Bu yüzden sorumlu yetim değil. Organizasyonu eklemek için zaten geri ödeme yapmak yerine reddetti Sessizce hiçbir şey yapmıyor, bu yüzden düğme kendini açıklıyor.
· BillingService
Bir grubun planı iptal edilebilir ve bir kişi için çifte ödeme yapmayı bırak
Son gönderilen üç boşluk: Bir planla bir grup asla kaldırılamaz. delete() bir canlıyken reddediyor abonelik var - doğru, çünkü grup satır işaret eden tek şey Stripe aboneliği - ancak iptal etmenin bir yolu yoktu, bu yüzden koruma bir şeydi Ölü son.Plan() ilk önce koltuklar yayınlar, bu yüzden roster devam edemez. İnsanların artık var olmadığını iddia ediyorlar. Organizasyonun zaten bir koltuk satın aldığı birini eklemek artık reddedilmez Organizasyondan Fazlası Aksi halde diyor. Bu, iki kez şarj edilmenin ikinci yolu Bir kişi ve hiçbir şey yakalamadı: AboneMember'in eşsizleri per-. ve HesapLicense hiçbir şey söylemedi. Birileri birilerini hareket ettirin Organizasyonun bir gruba faturası bir yöneticinin yaptığı gerçek bir şeydir, bu yüzden öyledir. İzin verilir - kazadan ziyade kasıtlı olarak. BillingGroupScopeInterceptor her /api/billing/groups/{uuid} /** istek caller'in organizasyonuna. Eller zaten kontrol ediyor ve bu değil Onları değiştirir; çünkü bu çekler per-handler ve bir grup şimdi var Para harcayan alt kaynaklar. Bir sonraki rota, hiçbir şeyi devralmadı Yukarıdaki bir şey kuralı uygular. Silberately eller'den daha dar: Bu, hangi organizasyonun, kimin içinde hareket edemeyeceği, bu yüzden ikisi hareket edemez Yanıtlara uymaya sürüklen. Bilinmeyen bir grup id bu yüzden geçer handler, boşluğa onay vermek yerine " bulunamadı" yanıt verir.

Evreniniz sizi bekliyor.
Birkaç dakika içinde ücretsiz olarak başlatın. Hazır olduğunuzda ürünleri ekleyin - göç yok, yeni girişler yok.
Sonsuza kadar ücretsiz — kredi kartı gerekmiyor