directus

Форк
0
37 строк · 1.1 Кб
1
export default function registerHooks({ action }, { services }) {
2
	const logsCollection = 'tests_extensions_log';
3

4
	action('test_items_no_relations_artists_integer.items.create', collectionsCallback);
5
	action('test_items_no_relations_artists_string.items.create', collectionsCallback);
6
	action('test_items_no_relations_artists_uuid.items.create', collectionsCallback);
7

8
	async function collectionsCallback(data, { database, schema, accountability }) {
9
		let key = `action-verify-create/${data.collection}`;
10

11
		const itemService = new services.ItemsService(data.collection, { schema, accountability });
12

13
		if (!data.payload.name) return;
14

15
		if (data.payload.name.startsWith('one')) {
16
			key += '/one';
17
		} else if (data.payload.name.startsWith('many')) {
18
			key += '/many';
19
		} else {
20
			return;
21
		}
22

23
		key += `/${data.key}`;
24

25
		try {
26
			const item = await itemService.readOne(data.key);
27

28
			if (item.name !== data.payload.name) {
29
				throw 'Invalid item';
30
			}
31

32
			await database(logsCollection).insert({ key, value: '1' });
33
		} catch (err) {
34
			await database(logsCollection).insert({ key, value: '0' });
35
		}
36
	}
37
}
38

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.