import{t as e}from"./parse-date-BdYTmLpo.mjs";import{t}from"./invalid-parameter-DLv2wPKB.mjs";import{a as n,i as r,r as i,t as a}from"./utils-CCi83s0r.mjs";const o={path:`/user/:name/:media?`,name:`ユーザー`,categories:[`social-media`],example:`/mixi2/user/@deyo`,parameters:{name:{description:`@で始まるユーザー名`},media:{description:"`media`を入力するとメディアを含むポストのみを取得、デフォルトは空で全てのポストを取得"}},features:{requireConfig:a,supportRadar:!0},radar:[{source:[`mixi.social/:id`],target:`/user/:id`,title:`ユーザー - ポスト`},{source:[`mixi.social/:id`],target:`/user/:id/media`,title:`ユーザー - メディア`}],view:1,handler:async a=>{let o=Number.parseInt(a.req.query(`limit`)??`20`,10),s=a.req.param(`name`),c=a.req.param(`media`)===`media`;if(!s.startsWith(`@`))throw new t(`ユーザー名は@で始まる必要があります`);let l=i(),u=(await l.getPersonaByName({name:s.slice(1)})).persona,d=await l.getPersonalTimeline({personaId:u?.personaId,limit:o,mediaOnly:c});return{title:`${u?.name} - ${c?`メディア`:`ポスト`}`,image:u?.avatarUrl,item:d?.posts?.filter(n).map(t=>({title:`@${u?.name}`,description:r(t),pubDate:e(t.createdAt.seconds*1e3),guid:t.postId,author:u?.name,link:`https://mixi.social/@${u?.name}/posts/${t.postId}`}))??[]}},maintainers:[`KarasuShin`]};export{o as route};