UNPKG

@lucidcms/core

Version:

The core of the Lucid CMS. It's responsible for spinning up the API and serving the CMS.

2 lines 2.38 kB
import{copy as e}from"../../libs/i18n/copy.mjs";import t from"../../libs/repositories/users.mjs";import n from"../media/create-single.mjs";import r from"../media/update-single.mjs";const i=async(i,a)=>{let o=new t(i.db.client,i.config.db);if(a.allowSelf!==!0&&a.actorUserId===a.targetUserId)return{error:{type:`basic`,message:e(`server:core.users.self.update.denied`),status:400},data:void 0};let s=await o.selectSingle({select:[`profile_picture_media_id`],where:[{key:`id`,operator:`=`,value:a.targetUserId},{key:`is_deleted`,operator:`=`,value:i.config.db.getDefault(`boolean`,`false`)}],validation:{enabled:!0,defaultError:{message:a.allowSelf===!0?e(`server:core.account.not.found.message`):e(`server:core.user.not.found.message`),status:404}}});if(s.error)return s;let c=s.data.profile_picture_media_id;if(c!==null){let e=await r(i,{id:c,key:a.key,fileName:a.fileName,public:!0,folderId:null,title:a.title,alt:a.alt,width:a.width,height:a.height,focalPoint:a.focalPoint,blurHash:a.blurHash,averageColor:a.averageColor,base64:a.base64,isDark:a.isDark,isLight:a.isLight,origin:a.origin??(a.key===void 0?void 0:`human`),aiGenerationRequestId:a.aiGenerationRequestId,crop:a.crop,allowedType:`image`,userId:a.actorUserId});if(e.error)return e;let t=await o.updateSingle({data:{updated_at:new Date().toISOString()},where:[{key:`id`,operator:`=`,value:a.targetUserId}],returning:[`id`],validation:{enabled:!0}});return t.error?t:{error:void 0,data:void 0}}if(a.key===void 0||a.fileName===void 0)return{error:{type:`basic`,status:400,errors:{profilePicture:{code:`media_error`,message:e(`server:core.profile.picture.required`)}}},data:void 0};let l=await n(i,{key:a.key,fileName:a.fileName,width:a.width,height:a.height,focalPoint:a.focalPoint??void 0,blurHash:a.blurHash,averageColor:a.averageColor,base64:a.base64,isDark:a.isDark,isLight:a.isLight,origin:a.origin??`human`,aiGenerationRequestId:a.aiGenerationRequestId,title:a.title||[],alt:a.alt||[],folderId:null,isHidden:!0,crop:a.crop??void 0,allowedType:`image`,userId:a.actorUserId});if(l.error)return l;let u=await o.updateSingle({data:{profile_picture_media_id:l.data.id,updated_at:new Date().toISOString()},where:[{key:`id`,operator:`=`,value:a.targetUserId}],returning:[`id`],validation:{enabled:!0}});return u.error?u:{error:void 0,data:void 0}};export{i as default}; //# sourceMappingURL=update-profile-picture.mjs.map