/
githubmirror
/
strapi
Обзор
Документация
Войти
/
githubmirror
/
strapi
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
develop
packages/core/utils/src/set-creator-fields.ts
28 строк
671 B
Alexandre Bodin
Improve types
26 июн 2023, 18:29
26 июн 2023, 18:29
8e1e731
Код
Авторство
О чём код?
import { assign, assoc } from 'lodash/fp'; import * as contentTypes from './content-types'; const { CREATED_BY_ATTRIBUTE, UPDATED_BY_ATTRIBUTE } = contentTypes.constants; export interface Options { user: User; isEdition?: boolean; } interface User { id: string | number; } const setCreatorFields = <TData extends object>({ user, isEdition = false }: Options) => <TDataInner extends object = TData>(data: TDataInner) => { if (isEdition) { return assoc(UPDATED_BY_ATTRIBUTE, user.id, data); } return assign(data, { [CREATED_BY_ATTRIBUTE]: user.id, [UPDATED_BY_ATTRIBUTE]: user.id, }); }; export default setCreatorFields;