UNPKG

@strapi/utils

Version:

Shared utilities for the Strapi packages

1 lines 1.36 kB
{"version":3,"file":"set-creator-fields.mjs","sources":["../src/set-creator-fields.ts"],"sourcesContent":["import { assign, assoc } from 'lodash/fp';\nimport * as contentTypes from './content-types';\n\nconst { CREATED_BY_ATTRIBUTE, UPDATED_BY_ATTRIBUTE } = contentTypes.constants;\n\nexport interface Options {\n user: User;\n isEdition?: boolean;\n}\n\ninterface User {\n id: string | number;\n}\n\nconst setCreatorFields =\n <TData extends object>({ user, isEdition = false }: Options) =>\n <TDataInner extends object = TData>(data: TDataInner) => {\n if (isEdition) {\n return assoc(UPDATED_BY_ATTRIBUTE, user.id, data);\n }\n\n return assign(data, {\n [CREATED_BY_ATTRIBUTE]: user.id,\n [UPDATED_BY_ATTRIBUTE]: user.id,\n });\n };\n\nexport default setCreatorFields;\n"],"names":["CREATED_BY_ATTRIBUTE","UPDATED_BY_ATTRIBUTE","contentTypes","setCreatorFields","user","isEdition","data","assoc","id","assign"],"mappings":";;;AAGA,MAAM,EAAEA,oBAAoB,EAAEC,oBAAoB,EAAE,GAAGC,SAAsB;AAWvEC,MAAAA,gBAAAA,GACJ,CAAuB,EAAEC,IAAI,EAAEC,SAAY,GAAA,KAAK,EAAW,GAC3D,CAAoCC,IAAAA,GAAAA;AAClC,QAAA,IAAID,SAAW,EAAA;AACb,YAAA,OAAOE,KAAMN,CAAAA,oBAAAA,EAAsBG,IAAKI,CAAAA,EAAE,EAAEF,IAAAA,CAAAA;AAC9C;AAEA,QAAA,OAAOG,OAAOH,IAAM,EAAA;YAClB,CAACN,oBAAAA,GAAuBI,IAAAA,CAAKI,EAAE;YAC/B,CAACP,oBAAAA,GAAuBG,IAAAA,CAAKI;AAC/B,SAAA,CAAA;AACF;;;;"}