Skip to content

Commit

Permalink
fix: expired adoption operation
Browse files Browse the repository at this point in the history
  • Loading branch information
alexey-yarmosh committed Feb 18, 2025
1 parent 5363f1a commit c3386b6
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 7 deletions.
8 changes: 4 additions & 4 deletions src/extensions/hooks/adopted-probe/src/index.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import { createError } from '@directus/errors';
import { defineHook } from '@directus/extensions-sdk';
import { resetMetadata, updateMetadata } from './update-metadata.js';
import { resetCustomCityData, updateCustomCityData } from './update-metadata.js';
import { validateCity, validateTags } from './validate-fields.js';

export type Probe = {
Expand All @@ -22,7 +22,7 @@ export default defineHook(({ filter, action }, context) => {
filter('gp_probes.items.update', async (payload, { keys }, { accountability }) => {
const fields = payload as Fields;

if (!accountability) {
if (!accountability || !accountability.user) {
throw new UserNotFoundError();
}

Expand All @@ -40,9 +40,9 @@ export default defineHook(({ filter, action }, context) => {
const fields = payload as Fields;

if (fields.city) {
await updateMetadata(fields, keys, context);
await updateCustomCityData(fields, keys, context);
} else if (fields.city === null) {
await resetMetadata(fields, keys, context);
await resetCustomCityData(fields, keys, context);
}
});
});
4 changes: 2 additions & 2 deletions src/extensions/hooks/adopted-probe/src/update-metadata.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import type { HookExtensionContext } from '@directus/extensions';
import { geonamesCache, getKey } from './geonames-cache.js';
import type { Fields } from './index.js';

export const resetMetadata = async (_fields: Fields, keys: string[], { services, database, getSchema }: HookExtensionContext) => {
export const resetCustomCityData = async (_fields: Fields, keys: string[], { services, database, getSchema }: HookExtensionContext) => {
const { ItemsService } = services;

const adoptedProbesService = new ItemsService('gp_probes', {
Expand All @@ -21,7 +21,7 @@ export const resetMetadata = async (_fields: Fields, keys: string[], { services,
});
};

export const updateMetadata = async (_fields: Fields, keys: string[], { services, database, getSchema }: HookExtensionContext) => {
export const updateCustomCityData = async (_fields: Fields, keys: string[], { services, database, getSchema }: HookExtensionContext) => {
const { ItemsService } = services;

const adoptedProbesService = new ItemsService('gp_probes', {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,9 @@ export const deleteProbes = async (probes: AdoptedProbe[], { services, database,

const result = await probesService.updateByQuery({ filter: { id: { _in: probes.map(probe => probe.id) } } }, {
userId: null,
}) as string[];
tags: [],
isCustomCity: false,
countryOfCustomCity: null,
}, { emitEvents: false }) as string[];
return result;
};

0 comments on commit c3386b6

Please sign in to comment.