mirror of
https://github.com/strapi/strapi.git
synced 2025-08-04 23:03:00 +00:00
26 lines
577 B
TypeScript
26 lines
577 B
TypeScript
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;
|
|
}
|
|
|
|
export default <T extends object>({ user, isEdition = false }: Options) =>
|
|
(data: T) => {
|
|
if (isEdition) {
|
|
return assoc(UPDATED_BY_ATTRIBUTE, user.id, data);
|
|
}
|
|
|
|
return assign(data, {
|
|
[CREATED_BY_ATTRIBUTE]: user.id,
|
|
[UPDATED_BY_ATTRIBUTE]: user.id,
|
|
});
|
|
};
|