strapi/packages/core/utils/src/set-creator-fields.ts

26 lines
577 B
TypeScript
Raw Normal View History

2023-04-27 23:18:48 +02:00
import { assign, assoc } from 'lodash/fp';
import * as contentTypes from './content-types';
const { CREATED_BY_ATTRIBUTE, UPDATED_BY_ATTRIBUTE } = contentTypes.constants;
2023-06-06 10:58:36 +02:00
export interface Options {
2023-04-27 23:18:48 +02:00
user: User;
isEdition?: boolean;
}
interface User {
id: string | number;
}
2023-06-23 10:04:03 +02:00
export default <T extends object>({ user, isEdition = false }: Options) =>
(data: T) => {
2023-04-27 23:18:48 +02:00
if (isEdition) {
return assoc(UPDATED_BY_ATTRIBUTE, user.id, data);
}
return assign(data, {
[CREATED_BY_ATTRIBUTE]: user.id,
[UPDATED_BY_ATTRIBUTE]: user.id,
});
};