A decentralized music tracking and discovery platform built on AT Protocol 🎵 rocksky.app
spotify atproto lastfm musicbrainz scrobbling listenbrainz
98
fork

Configure Feed

Select the types of activity you want to include in your feed.

add effect types

+11 -21
+11 -21
rockskyapi/rocksky-auth/src/xrpc/app/rocksky/scrobble/createScrobble.ts
··· 60 60 input: InputSchema; 61 61 ctx: Context; 62 62 did: string; 63 - }): Effect.Effect< 64 - { 65 - agent: Agent; 66 - ctx: Context; 67 - did: string; 68 - input: InputSchema; 69 - }, 70 - Error 71 - > => { 63 + }): Effect.Effect<InputWithAgent, Error> => { 72 64 return Effect.tryPromise({ 73 65 try: async () => 74 66 Match.value(did).pipe( ··· 92 84 93 85 const validateInput = ({ 94 86 input, 95 - ctx, 96 - did, 97 - agent, 98 - }: { 99 - input: InputSchema; 100 - ctx: Context; 101 - did: string; 102 - agent: Agent; 103 - }): Effect.Effect<ValidatedInput, Error> => 87 + ...params 88 + }: InputWithAgent): Effect.Effect<ValidatedInput, Error> => 104 89 Effect.try(() => ({ 90 + ...params, 105 91 track: trackSchema.safeParse(input).data, 106 - ctx, 107 - did, 108 - agent, 109 92 })); 110 93 111 94 const presentation = (): Effect.Effect<ScrobbleViewBasic, never> => { 112 95 return Effect.sync(() => ({})); 96 + }; 97 + 98 + type InputWithAgent = { 99 + input: InputSchema; 100 + ctx: Context; 101 + did: string; 102 + agent: Agent; 113 103 }; 114 104 115 105 type ValidatedInput = {