deploy: eec73e9749
This commit is contained in:
331
api/services/notification-service.ts/index.html
Normal file
331
api/services/notification-service.ts/index.html
Normal file
@@ -0,0 +1,331 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>api/services/notification-service.ts - gerbeur documentation</title>
|
||||
<meta charset="utf-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<meta name="doc-current-file" content="">
|
||||
<link rel="stylesheet" href="../../../styles.css">
|
||||
<link rel="stylesheet" href="../../../page.css">
|
||||
<link id="ddocResetStylesheet" rel="stylesheet" href="../../../reset.css"><link href="../../../comrak.css" rel="stylesheet" /><link href="../../../prism.css" rel="stylesheet" /><script src="../../../prism.js"></script><script src="../../../script.js" defer></script>
|
||||
<script src="../../../darkmode_toggle.js"></script><script src="../../../search_index.js" defer></script>
|
||||
<script src="../../../fuse.js" defer></script>
|
||||
<script src="../../../search.js" defer></script></head>
|
||||
<body>
|
||||
<div class="ddoc">
|
||||
<div><nav id="topnav">
|
||||
<div class="h-full">
|
||||
<div class="flex items-center"><ul class="breadcrumbs">
|
||||
<li>
|
||||
<a href="../../../" class="contextLink">gerbeur</a>
|
||||
</li><span class="text-black dark:text-white"><svg
|
||||
width="16"
|
||||
height="16"
|
||||
viewBox="0 0 16 16"
|
||||
fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<path
|
||||
fill-rule="evenodd"
|
||||
clip-rule="evenodd"
|
||||
d="M5.76748 11.8159C5.5378 11.577 5.54525 11.1972 5.78411 10.9675L8.93431 8L5.78411 5.0325C5.54525 4.80282 5.5378 4.423 5.76748 4.18413C5.99715 3.94527 6.37698 3.93782 6.61584 4.1675L10.2158 7.5675C10.3335 7.68062 10.4 7.83679 10.4 8C10.4 8.16321 10.3335 8.31938 10.2158 8.4325L6.61584 11.8325C6.37698 12.0622 5.99715 12.0547 5.76748 11.8159Z"
|
||||
fill="currentColor"
|
||||
/>
|
||||
</svg>
|
||||
</span>api/services/notification-service.ts</ul>
|
||||
</div>
|
||||
|
||||
<div class="flex items-center gap-2">
|
||||
<button id="theme-toggle" type="button" aria-label="Toggle dark mode" style="display: none;"><svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="14"
|
||||
height="14"
|
||||
viewBox="0 0 24 24"
|
||||
fill="currentColor"
|
||||
>
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
||||
<path
|
||||
d="M12 1.992a10 10 0 1 0 9.236 13.838c.341 -.82 -.476 -1.644 -1.298 -1.31a6.5 6.5 0 0 1 -6.864 -10.787l.077 -.08c.551 -.63 .113 -1.653 -.758 -1.653h-.266l-.068 -.006l-.06 -.002z"
|
||||
/>
|
||||
</svg>
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
width="14"
|
||||
height="14"
|
||||
viewBox="0 0 24 24"
|
||||
fill="currentColor"
|
||||
class="hidden"
|
||||
>
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
||||
<path
|
||||
d="M12 19a1 1 0 0 1 .993 .883l.007 .117v1a1 1 0 0 1 -1.993 .117l-.007 -.117v-1a1 1 0 0 1 1 -1z"
|
||||
/>
|
||||
<path
|
||||
d="M18.313 16.91l.094 .083l.7 .7a1 1 0 0 1 -1.32 1.497l-.094 -.083l-.7 -.7a1 1 0 0 1 1.218 -1.567l.102 .07z"
|
||||
/>
|
||||
<path
|
||||
d="M7.007 16.993a1 1 0 0 1 .083 1.32l-.083 .094l-.7 .7a1 1 0 0 1 -1.497 -1.32l.083 -.094l.7 -.7a1 1 0 0 1 1.414 0z"
|
||||
/>
|
||||
<path
|
||||
d="M4 11a1 1 0 0 1 .117 1.993l-.117 .007h-1a1 1 0 0 1 -.117 -1.993l.117 -.007h1z"
|
||||
/>
|
||||
<path
|
||||
d="M21 11a1 1 0 0 1 .117 1.993l-.117 .007h-1a1 1 0 0 1 -.117 -1.993l.117 -.007h1z"
|
||||
/>
|
||||
<path
|
||||
d="M6.213 4.81l.094 .083l.7 .7a1 1 0 0 1 -1.32 1.497l-.094 -.083l-.7 -.7a1 1 0 0 1 1.217 -1.567l.102 .07z"
|
||||
/>
|
||||
<path
|
||||
d="M19.107 4.893a1 1 0 0 1 .083 1.32l-.083 .094l-.7 .7a1 1 0 0 1 -1.497 -1.32l.083 -.094l.7 -.7a1 1 0 0 1 1.414 0z"
|
||||
/>
|
||||
<path
|
||||
d="M12 2a1 1 0 0 1 .993 .883l.007 .117v1a1 1 0 0 1 -1.993 .117l-.007 -.117v-1a1 1 0 0 1 1 -1z"
|
||||
/>
|
||||
<path
|
||||
d="M12 7a5 5 0 1 1 -4.995 5.217l-.005 -.217l.005 -.217a5 5 0 0 1 4.995 -4.783z"
|
||||
/>
|
||||
</svg>
|
||||
</button>
|
||||
|
||||
<input
|
||||
type="text"
|
||||
id="searchbar"
|
||||
style="display: none;"
|
||||
class="py-2 px-2.5 mx-1 rounded text-sm border border-gray-300 bg-transparent dark:bg-gray-800 dark:border-gray-700"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
</nav>
|
||||
<div id="searchResults"></div><div id="content">
|
||||
<main><section>
|
||||
<div class="space-y-2 flex-1"><div class="space-y-7" id="module_doc"><div class="markdown"><p>Stores notifications, pushes each new one to its user's sockets as
|
||||
<code>notification_created</code>, and reads them back for <code>routes/notifications.ts</code>.
|
||||
The services of follows, votes, likes, comments, dumps, playlists and the
|
||||
chat call its <code>notify…</code> triggers. Every trigger passes a source key, so the
|
||||
same event never notifies a user twice. What a notification names by id is
|
||||
joined each time it is sent (<a href="../../.././api/services/notification-service.ts/~/withCurrentRefs.html">withCurrentRefs</a>), so its names and
|
||||
links follow renames.</p>
|
||||
</div><section class="section" id="api/services/notification-service_ts_functions"><div>
|
||||
<h2 class="anchorable mb-1"><a href="#api/services/notification-service_ts_functions" class="anchor" aria-label="Anchor" tabIndex="-1"><svg
|
||||
width="16"
|
||||
height="16"
|
||||
viewBox="0 0 14 14"
|
||||
fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<g clip-path="url(#clip0_1081_1237)">
|
||||
<path
|
||||
fill-rule="evenodd"
|
||||
clip-rule="evenodd"
|
||||
d="M6.80328 2.8656C6.68736 2.99 6.62425 3.15454 6.62725 3.32456C6.63025 3.49457 6.69913 3.65678 6.81936 3.77702C6.9396 3.89725 7.10181 3.96613 7.27182 3.96913C7.44184 3.97213 7.60638 3.90902 7.73078 3.7931L8.82453 2.69935C8.98712 2.53676 9.18015 2.40778 9.39259 2.31978C9.60503 2.23179 9.83272 2.1865 10.0627 2.1865C10.2926 2.1865 10.5203 2.23179 10.7327 2.31978C10.9452 2.40778 11.1382 2.53676 11.3008 2.69935C11.4634 2.86194 11.5923 3.05497 11.6803 3.2674C11.7683 3.47984 11.8136 3.70753 11.8136 3.93747C11.8136 4.16741 11.7683 4.3951 11.6803 4.60754C11.5923 4.81998 11.4634 5.013 11.3008 5.1756L9.11328 7.3631C8.95075 7.52581 8.75775 7.65488 8.5453 7.74295C8.33285 7.83102 8.10513 7.87635 7.87516 7.87635C7.64518 7.87635 7.41746 7.83102 7.20501 7.74295C6.99256 7.65488 6.79956 7.52581 6.63703 7.3631C6.51263 7.24718 6.34809 7.18407 6.17807 7.18707C6.00806 7.19007 5.84585 7.25894 5.72561 7.37918C5.60538 7.49942 5.5365 7.66163 5.5335 7.83164C5.5305 8.00165 5.59361 8.1662 5.70953 8.2906C5.99391 8.57501 6.33154 8.80062 6.70312 8.95455C7.0747 9.10847 7.47296 9.18769 7.87516 9.18769C8.27736 9.18769 8.67562 9.10847 9.0472 8.95455C9.41878 8.80062 9.7564 8.57501 10.0408 8.2906L12.2283 6.1031C12.8026 5.52874 13.1253 4.74974 13.1253 3.93747C13.1253 3.12521 12.8026 2.34621 12.2283 1.77185C11.6539 1.19749 10.8749 0.874817 10.0627 0.874817C9.25039 0.874817 8.47139 1.19749 7.89703 1.77185L6.80328 2.8656ZM2.69953 11.3006C2.53682 11.1381 2.40774 10.9451 2.31968 10.7326C2.23161 10.5202 2.18628 10.2924 2.18628 10.0625C2.18628 9.8325 2.23161 9.60477 2.31968 9.39233C2.40774 9.17988 2.53682 8.98688 2.69953 8.82435L4.88703 6.63685C5.04956 6.47414 5.24256 6.34506 5.45501 6.25699C5.66746 6.16893 5.89518 6.1236 6.12516 6.1236C6.35513 6.1236 6.58285 6.16893 6.7953 6.25699C7.00775 6.34506 7.20075 6.47414 7.36328 6.63685C7.48768 6.75277 7.65223 6.81588 7.82224 6.81288C7.99225 6.80988 8.15446 6.741 8.2747 6.62077C8.39494 6.50053 8.46381 6.33832 8.46681 6.1683C8.46981 5.99829 8.4067 5.83375 8.29078 5.70935C8.0064 5.42494 7.66878 5.19933 7.2972 5.0454C6.92562 4.89148 6.52736 4.81225 6.12516 4.81225C5.72296 4.81225 5.3247 4.89148 4.95312 5.0454C4.58154 5.19933 4.24391 5.42494 3.95953 5.70935L1.77203 7.89685C1.19767 8.47121 0.875 9.25021 0.875 10.0625C0.875 10.8747 1.19767 11.6537 1.77203 12.2281C2.34639 12.8025 3.12539 13.1251 3.93766 13.1251C4.74992 13.1251 5.52892 12.8025 6.10328 12.2281L7.19703 11.1343C7.31295 11.0099 7.37606 10.8454 7.37306 10.6754C7.37006 10.5054 7.30119 10.3432 7.18095 10.2229C7.06071 10.1027 6.8985 10.0338 6.72849 10.0308C6.55848 10.0278 6.39393 10.0909 6.26953 10.2068L5.17578 11.3006C5.01325 11.4633 4.82025 11.5924 4.6078 11.6805C4.39535 11.7685 4.16763 11.8138 3.93766 11.8138C3.70768 11.8138 3.47996 11.7685 3.26751 11.6805C3.05506 11.5924 2.86206 11.4633 2.69953 11.3006Z"
|
||||
fill="currentColor"
|
||||
/>
|
||||
</g>
|
||||
<defs>
|
||||
<clipPath id="clip0_1081_1237">
|
||||
<rect width="14" height="14" fill="white" />
|
||||
</clipPath>
|
||||
</defs>
|
||||
</svg>
|
||||
</a>
|
||||
Functions</h2></div><div class="namespaceSection"><div id="namespace_getnotificationsforuser" class="namespaceItem" ><div class="docNodeKindIcon"><div class="text-Function bg-Function/15 dark:text-FunctionDark dark:bg-FunctionDark/15" title="Function">f</div></div>
|
||||
<div class="namespaceItemContent">
|
||||
<a href="../../.././api/services/notification-service.ts/~/getNotificationsForUser.html" title="getNotificationsForUser">
|
||||
<span>getNotificationsForUser</span><span>(<div class="ml-4"><div><span>userId<span>: <span class="td-kw">string</span></span></span>,</div><div><span>page<span>: <span class="td-kw">number</span></span></span>,</div><div><span>limit<span>: <span class="td-kw">number</span></span></span></div></div>)<span>: <span class="td-ref">Page</span><<span class="td-ref">Notification</span>></span></span></a><div class="namespaceItemContentDoc"><div class="markdown_summary"><p>Returns a page of <code>userId</code>'s notifications, newest first, with their refs
|
||||
joined, for <code>GET /api/me/notifications</code>.</p>
|
||||
</div></div></div>
|
||||
</div><div id="namespace_getunreadcount" class="namespaceItem" ><div class="docNodeKindIcon"><div class="text-Function bg-Function/15 dark:text-FunctionDark dark:bg-FunctionDark/15" title="Function">f</div></div>
|
||||
<div class="namespaceItemContent">
|
||||
<a href="../../.././api/services/notification-service.ts/~/getUnreadCount.html" title="getUnreadCount">
|
||||
<span>getUnreadCount</span><span>(<span><span>userId<span>: <span class="td-kw">string</span></span></span></span>)<span>: <span class="td-kw">number</span></span></span></a><div class="namespaceItemContentDoc"><div class="markdown_summary"><p>Returns how many of <code>userId</code>'s notifications are unread. The WebSocket route
|
||||
sends it in its <code>welcome</code> message, for the bell's count.</p>
|
||||
</div></div></div>
|
||||
</div><div id="namespace_markallread" class="namespaceItem" ><div class="docNodeKindIcon"><div class="text-Function bg-Function/15 dark:text-FunctionDark dark:bg-FunctionDark/15" title="Function">f</div></div>
|
||||
<div class="namespaceItemContent">
|
||||
<a href="../../.././api/services/notification-service.ts/~/markAllRead.html" title="markAllRead">
|
||||
<span>markAllRead</span><span>(<span><span>userId<span>: <span class="td-kw">string</span></span></span></span>)<span>: <span class="td-kw">void</span></span></span></a><div class="namespaceItemContentDoc"><div class="markdown_summary"><p>Marks every notification of <code>userId</code> read, when they open the
|
||||
<code>/notifications</code> page, and tells all their sockets, so that the bell clears
|
||||
in their other tabs and devices too.</p>
|
||||
</div></div></div>
|
||||
</div><div id="namespace_notifycommentownerlike" class="namespaceItem" ><div class="docNodeKindIcon"><div class="text-Function bg-Function/15 dark:text-FunctionDark dark:bg-FunctionDark/15" title="Function">f</div></div>
|
||||
<div class="namespaceItemContent">
|
||||
<a href="../../.././api/services/notification-service.ts/~/notifyCommentOwnerLike.html" title="notifyCommentOwnerLike">
|
||||
<span>notifyCommentOwnerLike</span><span>(<div class="ml-4"><div><span>likerId<span>: <span class="td-kw">string</span></span></span>,</div><div><span>commentId<span>: <span class="td-kw">string</span></span></span></div></div>)<span>: <span class="td-kw">void</span></span></span></a><div class="namespaceItemContentDoc"><div class="markdown_summary"><p>Notifies a comment's author that <code>likerId</code> likes it, unless they are the
|
||||
author, and once however often the like is withdrawn and given again.</p>
|
||||
</div></div></div>
|
||||
</div><div id="namespace_notifydumpownernewcomment" class="namespaceItem" ><div class="docNodeKindIcon"><div class="text-Function bg-Function/15 dark:text-FunctionDark dark:bg-FunctionDark/15" title="Function">f</div></div>
|
||||
<div class="namespaceItemContent">
|
||||
<a href="../../.././api/services/notification-service.ts/~/notifyDumpOwnerNewComment.html" title="notifyDumpOwnerNewComment">
|
||||
<span>notifyDumpOwnerNewComment</span><span>(<div class="ml-4"><div><span>commenterId<span>: <span class="td-kw">string</span></span></span>,</div><div><span>commentId<span>: <span class="td-kw">string</span></span></span>,</div><div><span>dumpId<span>: <span class="td-kw">string</span></span></span></div></div>)<span>: <span class="td-kw">void</span></span></span></a><div class="namespaceItemContentDoc"><div class="markdown_summary"><p>Notifies a dump's poster that <code>commenterId</code> commented on it, unless they are
|
||||
the poster. <code>createComment</code> calls it for replies too, but not on an edit.</p>
|
||||
</div></div></div>
|
||||
</div><div id="namespace_notifydumpownerupvote" class="namespaceItem" ><div class="docNodeKindIcon"><div class="text-Function bg-Function/15 dark:text-FunctionDark dark:bg-FunctionDark/15" title="Function">f</div></div>
|
||||
<div class="namespaceItemContent">
|
||||
<a href="../../.././api/services/notification-service.ts/~/notifyDumpOwnerUpvote.html" title="notifyDumpOwnerUpvote">
|
||||
<span>notifyDumpOwnerUpvote</span><span>(<div class="ml-4"><div><span>voterId<span>: <span class="td-kw">string</span></span></span>,</div><div><span>dumpId<span>: <span class="td-kw">string</span></span></span></div></div>)<span>: <span class="td-kw">void</span></span></span></a><div class="namespaceItemContentDoc"><div class="markdown_summary"><p>Notifies a dump's poster that <code>voterId</code> upvoted it, unless they are the
|
||||
poster, and once however often the vote is withdrawn and cast again.
|
||||
<code>castVote</code> calls it.</p>
|
||||
</div></div></div>
|
||||
</div><div id="namespace_notifyeveryone" class="namespaceItem" ><div class="docNodeKindIcon"><div class="text-Function bg-Function/15 dark:text-FunctionDark dark:bg-FunctionDark/15" title="Function">f</div></div>
|
||||
<div class="namespaceItemContent">
|
||||
<a href="../../.././api/services/notification-service.ts/~/notifyEveryone.html" title="notifyEveryone">
|
||||
<span>notifyEveryone</span><span>(<div class="ml-4"><div><span>mentionerUserId<span>: <span class="td-kw">string</span></span></span>,</div><div><span>messageId<span>: <span class="td-kw">string</span></span></span>,</div><div><span>skipUserId<span class="td-op">?</span><span>: (<span><span>userId<span>: <span class="td-kw">string</span></span></span></span>) => <span class="td-kw">boolean</span></span></span></div></div>)<span>: <span class="td-kw">void</span></span></span></a><div class="namespaceItemContentDoc"><div class="markdown_summary"><p>Notifies every user but its author of chat message <code>messageId</code>, which says
|
||||
<code>@everyone</code>. The WebSocket route calls it, after <a href="../../.././api/services/notification-service.ts/~/notifyMentions.html">notifyMentions</a> so
|
||||
that a user also named is told by name, when the message is sent flagged
|
||||
<code>mentionsEveryone</code>, or when an edit flags it. Each user is notified once per
|
||||
message, however often it is edited. <code>skipUserId</code> spares the users who have
|
||||
the chat open, as for a mention.</p>
|
||||
</div></div></div>
|
||||
</div><div id="namespace_notifymentions" class="namespaceItem" ><div class="docNodeKindIcon"><div class="text-Function bg-Function/15 dark:text-FunctionDark dark:bg-FunctionDark/15" title="Function">f</div></div>
|
||||
<div class="namespaceItemContent">
|
||||
<a href="../../.././api/services/notification-service.ts/~/notifyMentions.html" title="notifyMentions">
|
||||
<span>notifyMentions</span><span>(<div class="ml-4"><div><span>mentionerUserId<span>: <span class="td-kw">string</span></span></span>,</div><div><span>body<span>: <span class="td-kw">string</span></span></span>,</div><div><span>contextType<span>: <span><span class="td-str">"comment"</span><span class="td-op"> | </span><span class="td-str">"dump"</span><span class="td-op"> | </span><span class="td-str">"playlist"</span><span class="td-op"> | </span><span class="td-str">"chat"</span></span></span></span>,</div><div><span>contextId<span>: <span class="td-kw">string</span></span></span>,</div><div><span>contextTitle<span>: <span class="td-kw">string</span></span></span>,</div><div><span>dumpId<span class="td-op">?</span><span>: <span class="td-kw">string</span></span></span>,</div><div><span>skipUserId<span class="td-op">?</span><span>: (<span><span>userId<span>: <span class="td-kw">string</span></span></span></span>) => <span class="td-kw">boolean</span></span></span></div></div>)<span>: <span class="td-kw">void</span></span></span></a><div class="namespaceItemContentDoc"><div class="markdown_summary"><p>Notifies every user @mentioned in <code>body</code>, except its author, that they were
|
||||
mentioned in the comment, dump, playlist or chat message <code>contextId</code>. Call
|
||||
it again after each edit: a user already notified for this context isn't
|
||||
notified twice. <code>skipUserId</code> spares a mentioned user; the chat uses it for
|
||||
those who have it open.</p>
|
||||
</div></div></div>
|
||||
</div><div id="namespace_notifyplaylistfollowersnewdump" class="namespaceItem" ><div class="docNodeKindIcon"><div class="text-Function bg-Function/15 dark:text-FunctionDark dark:bg-FunctionDark/15" title="Function">f</div></div>
|
||||
<div class="namespaceItemContent">
|
||||
<a href="../../.././api/services/notification-service.ts/~/notifyPlaylistFollowersNewDump.html" title="notifyPlaylistFollowersNewDump">
|
||||
<span>notifyPlaylistFollowersNewDump</span><span>(<div class="ml-4"><div><span>playlistId<span>: <span class="td-kw">string</span></span></span>,</div><div><span>playlistTitle<span>: <span class="td-kw">string</span></span></span>,</div><div><span>dumpId<span>: <span class="td-kw">string</span></span></span>,</div><div><span>dumpTitle<span>: <span class="td-kw">string</span></span></span></div></div>)<span>: <span class="td-kw">void</span></span></span></a><div class="namespaceItemContentDoc"><div class="markdown_summary"><p>Notifies everyone following a playlist that a dump was added to it. The
|
||||
playlist service calls it only when both are public, since a follower can't
|
||||
open a private one.</p>
|
||||
</div></div></div>
|
||||
</div><div id="namespace_notifyplaylistfollowersnowpublic" class="namespaceItem" ><div class="docNodeKindIcon"><div class="text-Function bg-Function/15 dark:text-FunctionDark dark:bg-FunctionDark/15" title="Function">f</div></div>
|
||||
<div class="namespaceItemContent">
|
||||
<a href="../../.././api/services/notification-service.ts/~/notifyPlaylistFollowersNowPublic.html" title="notifyPlaylistFollowersNowPublic">
|
||||
<span>notifyPlaylistFollowersNowPublic</span><span>(<span><span>of<span>: <span>{ dumpId<span>: <span class="td-kw">string</span></span>; }<span class="td-op"> | </span>{ playlistId<span>: <span class="td-kw">string</span></span>; }</span></span></span></span>)<span>: <span class="td-kw">void</span></span></span></a><div class="namespaceItemContentDoc"><div class="markdown_summary"><p>Notifies the followers of each playlist of the dumps in it that became
|
||||
visible to them: a playlist's followers are told of a dump once both are
|
||||
public. The dump service calls it with <code>dumpId</code> when a dump goes public, for
|
||||
each public playlist holding it; the playlist service with <code>playlistId</code>
|
||||
when a playlist goes public, for each public dump in it, from the bottom of
|
||||
the playlist up. A dump the followers were told of before either went
|
||||
private isn't notified again. Adding a dump to a public playlist calls
|
||||
<a href="../../.././api/services/notification-service.ts/~/notifyPlaylistFollowersNewDump.html">notifyPlaylistFollowersNewDump</a> directly.</p>
|
||||
</div></div></div>
|
||||
</div><div id="namespace_notifyplaylistownernewfollower" class="namespaceItem" ><div class="docNodeKindIcon"><div class="text-Function bg-Function/15 dark:text-FunctionDark dark:bg-FunctionDark/15" title="Function">f</div></div>
|
||||
<div class="namespaceItemContent">
|
||||
<a href="../../.././api/services/notification-service.ts/~/notifyPlaylistOwnerNewFollower.html" title="notifyPlaylistOwnerNewFollower">
|
||||
<span>notifyPlaylistOwnerNewFollower</span><span>(<div class="ml-4"><div><span>followerId<span>: <span class="td-kw">string</span></span></span>,</div><div><span>playlistId<span>: <span class="td-kw">string</span></span></span></div></div>)<span>: <span class="td-kw">void</span></span></span></a><div class="namespaceItemContentDoc"><div class="markdown_summary"><p>Notifies a playlist's owner that <code>followerId</code> follows it, unless they are
|
||||
the owner, and once however often they unfollow and follow again.
|
||||
<code>followPlaylist</code> calls it.</p>
|
||||
</div></div></div>
|
||||
</div><div id="namespace_notifyuserfollowersnewdump" class="namespaceItem" ><div class="docNodeKindIcon"><div class="text-Function bg-Function/15 dark:text-FunctionDark dark:bg-FunctionDark/15" title="Function">f</div></div>
|
||||
<div class="namespaceItemContent">
|
||||
<a href="../../.././api/services/notification-service.ts/~/notifyUserFollowersNewDump.html" title="notifyUserFollowersNewDump">
|
||||
<span>notifyUserFollowersNewDump</span><span>(<div class="ml-4"><div><span>dumperId<span>: <span class="td-kw">string</span></span></span>,</div><div><span>dumpId<span>: <span class="td-kw">string</span></span></span>,</div><div><span>dumpTitle<span>: <span class="td-kw">string</span></span></span></div></div>)<span>: <span class="td-kw">void</span></span></span></a><div class="namespaceItemContentDoc"><div class="markdown_summary"><p>Notifies everyone following <code>dumperId</code> that they posted a dump. The dump
|
||||
service calls it for a public dump only, when it is created or goes public.
|
||||
A follower is told of a dump once, however often it goes private and public
|
||||
again.</p>
|
||||
</div></div></div>
|
||||
</div><div id="namespace_notifyusernewfollower" class="namespaceItem" ><div class="docNodeKindIcon"><div class="text-Function bg-Function/15 dark:text-FunctionDark dark:bg-FunctionDark/15" title="Function">f</div></div>
|
||||
<div class="namespaceItemContent">
|
||||
<a href="../../.././api/services/notification-service.ts/~/notifyUserNewFollower.html" title="notifyUserNewFollower">
|
||||
<span>notifyUserNewFollower</span><span>(<div class="ml-4"><div><span>followerId<span>: <span class="td-kw">string</span></span></span>,</div><div><span>followedUserId<span>: <span class="td-kw">string</span></span></span></div></div>)<span>: <span class="td-kw">void</span></span></span></a><div class="namespaceItemContentDoc"><div class="markdown_summary"><p>Notifies <code>followedUserId</code> that <code>followerId</code> follows them, once however often
|
||||
they unfollow and follow again. <code>followUser</code> calls it.</p>
|
||||
</div></div></div>
|
||||
</div><div id="namespace_withcurrentrefs" class="namespaceItem" ><div class="docNodeKindIcon"><div class="text-Function bg-Function/15 dark:text-FunctionDark dark:bg-FunctionDark/15" title="Function">f</div></div>
|
||||
<div class="namespaceItemContent">
|
||||
<a href="../../.././api/services/notification-service.ts/~/withCurrentRefs.html" title="withCurrentRefs">
|
||||
<span>withCurrentRefs</span><span>(<span><span>data<span>: <span class="td-ref">NotificationData</span></span></span></span>)<span>: <span class="td-ref">NotificationData</span></span></span></a><div class="namespaceItemContentDoc"><div class="markdown_summary"><p>Returns <code>data</code> with what may have changed since it was stored joined from
|
||||
the database: each user's current name, and the slug and owner of its dump
|
||||
and playlist, which the client builds their paths from. A user since deleted
|
||||
keeps their stored name; a deleted dump or playlist gets no ref, and so no
|
||||
link. Every notification the server sends goes through it, and so do the
|
||||
digests.</p>
|
||||
</div></div></div>
|
||||
</div></div>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</main><div class="toc">
|
||||
<div><div class="usageContent">
|
||||
<h3>Usage</h3><div class="markdown"><pre class="highlight"><code class="language-typescript">import * as mod from "api/services/notification-service.ts";
|
||||
</code><button class="copyButton" data-copy="import * as mod from "api/services/notification-service.ts";
|
||||
"><svg
|
||||
class="copy"
|
||||
width="15"
|
||||
height="15"
|
||||
viewBox="0 0 15 15"
|
||||
fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<rect x="2" y="2" width="7" height="7" fill="none" />
|
||||
<rect x="6" y="6" width="7" height="7" fill="none" />
|
||||
<path
|
||||
d="M1.55566 2.7C1.55566 2.03726 2.09292 1.5 2.75566 1.5H8.75566C9.41841 1.5 9.95566 2.03726 9.95566 2.7V5.1H12.3557C13.0184 5.1 13.5557 5.63726 13.5557 6.3V12.3C13.5557 12.9627 13.0184 13.5 12.3557 13.5H6.35566C5.69292 13.5 5.15566 12.9627 5.15566 12.3V9.9H2.75566C2.09292 9.9 1.55566 9.36274 1.55566 8.7V2.7ZM6.35566 9.9V12.3H12.3557V6.3H9.95566V8.7C9.95566 9.36274 9.41841 9.9 8.75566 9.9H6.35566ZM8.75566 8.7V2.7H2.75566V8.7H8.75566Z"
|
||||
fill="currentColor"
|
||||
/>
|
||||
</svg>
|
||||
<svg
|
||||
class="check"
|
||||
width="15"
|
||||
height="15"
|
||||
viewBox="0 0 24 24"
|
||||
stroke-width="2"
|
||||
stroke="currentColor"
|
||||
fill="none"
|
||||
stroke-linecap="round"
|
||||
stroke-linejoin="round"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
||||
<path d="M5 12l5 5l10 -10" />
|
||||
</svg>
|
||||
</button><code></code></pre>
|
||||
</div></div><nav class="topSymbols">
|
||||
<h3>Symbols</h3>
|
||||
<ul><li>
|
||||
<a href="../../.././api/middleware/auth.ts/~/AuthState.html" title="AuthState"><div class="docNodeKindIcon"><div class="text-Interface bg-Interface/15 dark:text-InterfaceDark dark:bg-InterfaceDark/15" title="Interface">I</div></div>
|
||||
<span class="hover:bg-Interface/15 hover:bg-InterfaceDark/15">
|
||||
AuthState
|
||||
</span>
|
||||
</a>
|
||||
</li><li>
|
||||
<a href="../../.././api/middleware/auth.ts/~/AuthContext.html" title="AuthContext"><div class="docNodeKindIcon"><div class="text-TypeAlias bg-TypeAlias/15 dark:text-TypeAliasDark dark:bg-TypeAliasDark/15" title="Type Alias">T</div></div>
|
||||
<span class="hover:bg-TypeAlias/15 hover:bg-TypeAliasDark/15">
|
||||
AuthContext
|
||||
</span>
|
||||
</a>
|
||||
</li><li>
|
||||
<a href="../../.././api/middleware/auth.ts/~/authMiddleware.html" title="authMiddleware"><div class="docNodeKindIcon"><div class="text-Function bg-Function/15 dark:text-FunctionDark dark:bg-FunctionDark/15" title="Function">f</div></div>
|
||||
<span class="hover:bg-Function/15 hover:bg-FunctionDark/15">
|
||||
authMiddleware
|
||||
</span>
|
||||
</a>
|
||||
</li><li>
|
||||
<a href="../../.././api/middleware/auth.ts/~/requirePermission.html" title="requirePermission"><div class="docNodeKindIcon"><div class="text-Function bg-Function/15 dark:text-FunctionDark dark:bg-FunctionDark/15" title="Function">f</div></div>
|
||||
<span class="hover:bg-Function/15 hover:bg-FunctionDark/15">
|
||||
requirePermission
|
||||
</span>
|
||||
</a>
|
||||
</li><li>
|
||||
<a href="../../.././api/middleware/error.ts/~/errorMiddleware.html" title="errorMiddleware"><div class="docNodeKindIcon"><div class="text-Function bg-Function/15 dark:text-FunctionDark dark:bg-FunctionDark/15" title="Function">f</div></div>
|
||||
<span class="hover:bg-Function/15 hover:bg-FunctionDark/15">
|
||||
errorMiddleware
|
||||
</span>
|
||||
</a>
|
||||
</li></ul><a class="flex items-center gap-0.5" href="../../.././all_symbols.html">
|
||||
<span class="leading-none">view all 1307 symbols</span><svg
|
||||
width="16"
|
||||
height="16"
|
||||
viewBox="0 0 16 16"
|
||||
fill="none"
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
>
|
||||
<path
|
||||
fill-rule="evenodd"
|
||||
clip-rule="evenodd"
|
||||
d="M5.76748 11.8159C5.5378 11.577 5.54525 11.1972 5.78411 10.9675L8.93431 8L5.78411 5.0325C5.54525 4.80282 5.5378 4.423 5.76748 4.18413C5.99715 3.94527 6.37698 3.93782 6.61584 4.1675L10.2158 7.5675C10.3335 7.68062 10.4 7.83679 10.4 8C10.4 8.16321 10.3335 8.31938 10.2158 8.4325L6.61584 11.8325C6.37698 12.0622 5.99715 12.0547 5.76748 11.8159Z"
|
||||
fill="currentColor"
|
||||
/>
|
||||
</svg>
|
||||
</a></nav><nav class="documentNavigation">
|
||||
<h3>Document Navigation</h3><ul><li><a href="#api/services/notification-service_ts_functions" title="Functions">Functions</a></li><li><ul><li><a href="#namespace_getnotificationsforuser" title="getNotificationsForUser">getNotificationsForUser</a></li><li><a href="#namespace_getunreadcount" title="getUnreadCount">getUnreadCount</a></li><li><a href="#namespace_markallread" title="markAllRead">markAllRead</a></li><li><a href="#namespace_notifycommentownerlike" title="notifyCommentOwnerLike">notifyCommentOwnerLike</a></li><li><a href="#namespace_notifydumpownernewcomment" title="notifyDumpOwnerNewComment">notifyDumpOwnerNewComment</a></li><li><a href="#namespace_notifydumpownerupvote" title="notifyDumpOwnerUpvote">notifyDumpOwnerUpvote</a></li><li><a href="#namespace_notifyeveryone" title="notifyEveryone">notifyEveryone</a></li><li><a href="#namespace_notifymentions" title="notifyMentions">notifyMentions</a></li><li><a href="#namespace_notifyplaylistfollowersnewdump" title="notifyPlaylistFollowersNewDump">notifyPlaylistFollowersNewDump</a></li><li><a href="#namespace_notifyplaylistfollowersnowpublic" title="notifyPlaylistFollowersNowPublic">notifyPlaylistFollowersNowPublic</a></li><li><a href="#namespace_notifyplaylistownernewfollower" title="notifyPlaylistOwnerNewFollower">notifyPlaylistOwnerNewFollower</a></li><li><a href="#namespace_notifyuserfollowersnewdump" title="notifyUserFollowersNewDump">notifyUserFollowersNewDump</a></li><li><a href="#namespace_notifyusernewfollower" title="notifyUserNewFollower">notifyUserNewFollower</a></li><li><a href="#namespace_withcurrentrefs" title="withCurrentRefs">withCurrentRefs</a></li></ul></li></ul></nav></div>
|
||||
</div></div>
|
||||
</div>
|
||||
</div>
|
||||
</body>
|
||||
</html>
|
||||
Reference in New Issue
Block a user