Skip to content

Commit

Permalink
fix: use update dispatch instead of potentially sending status first
Browse files Browse the repository at this point in the history
Signed-off-by: Alexander Trost <[email protected]>
  • Loading branch information
galexrt committed Aug 23, 2024
1 parent 307e258 commit cac2661
Show file tree
Hide file tree
Showing 7 changed files with 22 additions and 18 deletions.
2 changes: 1 addition & 1 deletion app/components/centrum/dispatches/DispatchList.vue
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@ const columns = [
/>
</h2>

<DispatchStatusBreakdown v-if="dispatches === undefined" class="text-base font-semibold text-gray-100" />
<DispatchStatusBreakdown v-if="dispatches === undefined" class="font-semibold text-gray-100" />
</div>

<div class="flex-1">
Expand Down
10 changes: 5 additions & 5 deletions app/components/partials/LanguageSwitcherModal.vue
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ onMounted(async () => {
languages.value.push({
code: lang.code,
name: lang.name!,
iso: lang.iso!,
language: lang.language!,
icon: lang.icon ?? 'i-mdi-question',
});
});
Expand All @@ -34,16 +34,16 @@ onMounted(async () => {
const preventClose = ref(false);
async function switchLanguage(lang: LocaleObject): Promise<void> {
if (locale.value === lang.iso) {
if (locale.value === lang.language) {
return;
}
useLogger('⚙️ Settings').info('Switching language to:', lang.name);
preventClose.value = true;
userLocale.value = lang.iso!;
locale.value = lang.iso!;
await setLocale(lang.iso!);
userLocale.value = lang.language!;
locale.value = lang.language!;
await setLocale(lang.language!);
notifications.add({
title: { key: 'notifications.language_switched.title', parameters: {} },
Expand Down
8 changes: 4 additions & 4 deletions app/store/centrum.ts
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,8 @@ export const useCentrumStore = defineStore('centrum', {
getters: {
getCurrentMode: (state: CentrumState) =>
state.disponents.length > 0
? state.settings?.mode ?? CentrumMode.UNSPECIFIED
: state.settings?.fallbackMode ?? CentrumMode.UNSPECIFIED,
? (state.settings?.mode ?? CentrumMode.UNSPECIFIED)
: (state.settings?.fallbackMode ?? CentrumMode.UNSPECIFIED),
getOwnUnit: (state: CentrumState) => (state.ownUnitId !== undefined ? state.units.get(state.ownUnitId) : undefined),
getSortedUnits: (state: CentrumState) => {
const filtered: Unit[] = [];
Expand Down Expand Up @@ -136,7 +136,7 @@ export const useCentrumStore = defineStore('centrum', {

const u = this.units.get(status.unitId);
if (u === undefined) {
logger.warn('Processed Unit Status for unknown Unit', status.unitId);
logger.warn('Processed Unit Status for unknown unit:', status.unitId);
return;
}

Expand Down Expand Up @@ -229,7 +229,7 @@ export const useCentrumStore = defineStore('centrum', {

const d = this.dispatches.get(status.dispatchId);
if (d === undefined) {
logger.warn('Processed Dispatch Status for unknown Dispatch', status.dispatchId, status);
logger.warn('Processed Dispatch Status for unknown dispatch:', status.dispatchId, status);
return;
}

Expand Down
2 changes: 1 addition & 1 deletion gen/go/proto/services/centrum/manager/dispatches.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ func (s *Manager) UpdateDispatchStatus(ctx context.Context, job string, dspId ui
if dsp.Status.Status == in.Status &&
(in.Status == centrum.StatusDispatch_STATUS_DISPATCH_NEW ||
in.Status == centrum.StatusDispatch_STATUS_DISPATCH_UNASSIGNED) {
s.logger.Debug("skipping dispatch status update due to same status", zap.Uint64("dispatch_id", dsp.Id), zap.String("status", in.Status.String()))
s.logger.Debug("skipping dispatch status update due to being new or same status", zap.Uint64("dispatch_id", dsp.Id), zap.String("status", in.Status.String()))
return in, nil
}

Expand Down
10 changes: 7 additions & 3 deletions gen/go/proto/services/centrum/manager/loader.go
Original file line number Diff line number Diff line change
Expand Up @@ -324,6 +324,10 @@ func (s *Manager) LoadDispatchesFromDB(ctx context.Context, cond jet.BoolExpress
}
}

if len(dsps) == 0 {
return nil
}

publicJobs := s.appCfg.Get().JobInfo.PublicJobs
for i := 0; i < len(dsps); i++ {
var err error
Expand Down Expand Up @@ -358,20 +362,20 @@ func (s *Manager) LoadDispatchesFromDB(ctx context.Context, cond jet.BoolExpress

// Ensure dispatch has a status
if dsps[i].Status == nil {
dsps[i].Status, err = s.UpdateDispatchStatus(ctx, dsps[i].Job, dsps[i].Id, &centrum.DispatchStatus{
dsps[i].Status, err = s.AddDispatchStatus(ctx, s.db, dsps[i].Job, &centrum.DispatchStatus{
CreatedAt: timestamp.Now(),
DispatchId: dsps[i].Id,
Status: centrum.StatusDispatch_STATUS_DISPATCH_NEW,
Postal: dsps[i].Postal,
X: &dsps[i].X,
Y: &dsps[i].Y,
})
}, false)
if err != nil {
return err
}
}

if err := s.State.UpdateDispatch(ctx, dsps[i].Job, dsps[i].Id, dsps[i]); err != nil {
if _, err := s.UpdateDispatch(ctx, dsps[i].Job, dsps[i].CreatorId, dsps[i], true); err != nil {
return err
}
}
Expand Down
4 changes: 2 additions & 2 deletions nuxt.config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -136,14 +136,14 @@ export default defineNuxtConfig({
dir: 'ltr',
isCatchallLocale: true,
code: 'en',
iso: 'en',
language: 'en',
files: ['en/en.json', 'en/zod.json'],
icon: 'i-flagpack-gb-ukm',
},
{
name: 'German',
code: 'de',
iso: 'de',
language: 'de',
files: ['de/de.json', 'de/zod.json'],
icon: 'i-flagpack-de',
},
Expand Down
4 changes: 2 additions & 2 deletions query/migrations/1724351936_qualifications_exam_index.up.sql
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ BEGIN;
ALTER TABLE `fivenet_qualifications_exam_questions` DROP FOREIGN KEY `fk_fivenet_qualifications_exam_questions_quali_id`;
ALTER TABLE `fivenet_qualifications_exam_questions` DROP INDEX `fk_fivenet_qualifications_exam_questions_quali_id`;

ALTER TABLE `fivenet_qualifications_exam_questions` KEY `fk_fivenet_qualifications_exam_questions_quali_id` (`qualification_id`);
ALTER TABLE `fivenet_qualifications_exam_questions` CONSTRAINT `fk_fivenet_qualifications_exam_questions_quali_id` FOREIGN KEY (`qualification_id`) REFERENCES `fivenet_qualifications` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;
ALTER TABLE `fivenet_qualifications_exam_questions` ADD KEY `fk_fivenet_qualifications_exam_questions_quali_id` (`qualification_id`);
ALTER TABLE `fivenet_qualifications_exam_questions` ADD CONSTRAINT `fk_fivenet_qualifications_exam_questions_quali_id` FOREIGN KEY (`qualification_id`) REFERENCES `fivenet_qualifications` (`id`) ON DELETE CASCADE ON UPDATE CASCADE;

COMMIT;

0 comments on commit cac2661

Please sign in to comment.