diff --git a/website/client/files.txt b/website/client/files.txt deleted file mode 100644 index 9d0f9846d3..0000000000 --- a/website/client/files.txt +++ /dev/null @@ -1,329 +0,0 @@ - 100 files 200 files 300 files 400 files 461 text files. -classified 461 files Duplicate file check 461 files (431 known unique) Unique: 100 files Unique: 200 files Unique: 300 files Unique: 400 files 460 unique files. -Counting: 88 Counting: 230 146 files ignored. - -github.com/AlDanial/cloc v 1.76 T=1.30 s (245.4 files/s, 69229.8 lines/s) ---------------------------------------------------------------------------------------------------------------- -File blank comment code ---------------------------------------------------------------------------------------------------------------- -./assets/css/sprites/spritesmith-main-3.css 0 0 3948 -./assets/css/sprites/spritesmith-main-4.css 0 0 3948 -./assets/css/sprites/spritesmith-main-2.css 0 0 3948 -./assets/css/sprites/spritesmith-main-1.css 0 0 3258 -./assets/css/sprites/spritesmith-main-5.css 0 0 3096 -./assets/css/sprites/spritesmith-main-9.css 0 0 2622 -./assets/css/sprites/spritesmith-main-7.css 0 0 2334 -./assets/css/sprites/spritesmith-main-8.css 0 0 2298 -./assets/css/sprites/spritesmith-main-6.css 0 0 2166 -./assets/css/sprites/spritesmith-main-11.css 0 0 2082 -./assets/css/sprites/spritesmith-main-19.css 0 0 2004 -./assets/css/sprites/spritesmith-main-20.css 0 0 1992 -./assets/css/sprites/spritesmith-main-18.css 0 0 1992 -./assets/css/sprites/spritesmith-main-17.css 0 0 1590 -./assets/css/sprites/spritesmith-main-21.css 0 0 1578 -./assets/css/sprites/spritesmith-main-15.css 0 0 1470 -./assets/css/sprites/spritesmith-main-12.css 0 0 1458 -./assets/css/sprites/spritesmith-main-13.css 0 0 1440 -./assets/css/sprites/spritesmith-main-16.css 0 0 1440 -./assets/css/sprites/spritesmith-main-14.css 0 0 1344 -./components/creatorIntro.vue 137 67 1329 -./assets/css/sprites/spritesmith-main-0.css 0 0 1110 -./components/tasks/taskModal.vue 98 8 869 -./components/inventory/stable/index.vue 125 15 839 -./components/groups/tavern.vue 82 21 708 -./components/tasks/task.vue 100 17 668 -./components/shops/market/index.vue 92 7 653 -./components/static/home.vue 89 12 577 -./components/static/terms.vue 0 0 568 -./components/groups/group.vue 57 35 566 -./components/tasks/column.vue 73 34 558 -./components/notifications.vue 58 32 483 -./app.vue 85 50 474 -./components/userMenu/profile.vue 58 30 469 -./components/tasks/user.vue 51 4 449 -./components/userMenu/profileStats.vue 48 3 448 -./components/shops/seasonal/index.vue 84 4 448 -./components/groups/membersModal.vue 40 8 432 -./components/auth/registerLoginReset.vue 64 33 425 -./components/shops/quests/index.vue 72 0 424 -./assets/css/sprites/spritesmith-main-10.css 0 0 420 -./components/inventory/items/index.vue 62 6 420 -./components/challenges/challengeModal.vue 41 10 418 -./components/group-plans/taskInformation.vue 42 5 410 -./components/shops/buyModal.vue 67 2 407 -./components/groups/groupFormModal.vue 49 27 383 -./components/payments/buyGemsModal.vue 36 3 368 -./components/groups/groupPlan.vue 48 4 358 -./components/inventory/equipment/index.vue 36 4 350 -./components/challenges/challengeDetail.vue 26 20 346 -./components/header/menu.vue 43 5 337 -./components/settings/site.vue 32 25 334 -./components/appFooter.vue 33 26 321 -./components/shops/timeTravelers/index.vue 67 2 318 -./components/static/privacy.vue 0 0 299 -./components/userMenu/inbox.vue 47 12 294 -./assets/scss/task.scss 32 0 292 -./components/shops/quests/buyQuestModal.vue 44 0 292 -./router.js 32 38 288 -./components/userMenu/stats.vue 19 0 282 -./components/modifyInventory.vue 44 2 270 -./components/groups/questSidebarSection.vue 28 5 249 -./components/memberDetails.vue 26 4 247 -./components/challenges/challengeItem.vue 31 2 245 -./components/settings/subscription.vue 16 5 244 -./components/payments/amazonModal.vue 29 13 241 -./components/chat/chatCard.vue 29 3 239 -./components/tasks/spells.vue 34 8 231 -./assets/scss/form.scss 49 2 227 -./components/static/groupPlans.vue 29 2 221 -./components/shops/shopItem.vue 32 0 220 -./components/header/notificationsDropdown.vue 24 28 208 -./components/group-plans/groupPlanOverviewModal.vue 27 1 207 -./components/chat/chatMessages.vue 19 9 203 -./components/static/communityGuidelines.vue 11 0 202 -./components/groups/questDetailsModal.vue 22 1 201 -./mixins/payments.js 37 10 189 -./components/inventory/equipment/equipGearModal.vue 30 0 188 -./mixins/guide.js 11 21 187 -./components/selectMembersModal.vue 21 1 186 -./store/actions/tasks.js 46 7 185 -./components/achievements/chooseClass.vue 18 0 183 -./components/avatar.vue 29 8 182 -./components/hall/heroes.vue 11 24 177 -./components/header/index.vue 13 3 173 -./components/groups/createPartyModal.vue 21 0 173 -./components/static/header.vue 24 5 168 -./components/groups/startQuestModal.vue 23 0 168 -./components/ui/drawerSlider.vue 20 1 168 -./components/ui/drawer.vue 20 3 166 -./components/groups/publicGuildItem.vue 19 2 165 -./components/groups/discovery.vue 23 12 163 -./store/actions/shops.js 30 6 157 -./components/header/notifications/worldBoss.vue 25 0 155 -./components/snackbars/notification.vue 16 2 155 -./components/groups/sidebar.vue 4 1 154 -./components/shops/market/keysToKennel.vue 9 7 152 -./components/group-plans/createGroupModalPages.vue 14 1 151 -./components/challenges/sidebar.vue 2 8 150 -./components/shops/market/sellModal.vue 31 0 147 -./components/static/staticWrapper.vue 33 0 145 -./components/challenges/findChallenges.vue 13 2 144 -./mixins/spells.js 25 11 143 -./store/actions/guilds.js 50 12 143 -./components/inventory/equipment/attributesGrid.vue 30 1 139 -./components/auth/authForm.vue 20 9 139 -./components/achievements/levelUp.vue 22 7 138 -./components/groups/myGuilds.vue 14 1 137 -./components/ui/toggleSwitch.vue 16 2 135 -./components/challenges/myChallenges.vue 14 2 135 -./components/header/notifications/base.vue 24 4 134 -./components/groups/inviteModal.vue 12 17 132 -./components/payments/sendGemsModal.vue 11 3 132 -./store/getters/tasks.js 19 15 127 -./components/tasks/approvalFooter.vue 11 3 126 -./components/chat/reportFlagModal.vue 13 0 120 -./components/static/pressKit.vue 6 1 119 -./components/world-boss/worldBossInfoModal.vue 18 1 118 -./assets/scss/button.scss 27 0 118 -./components/header/userDropdown.vue 12 0 115 -./components/settings/api.vue 9 4 113 -./components/tasks/tagsPopup.vue 15 0 112 -./components/shops/quests/questDialogDrops.vue 10 0 110 -./store/index.js 11 11 109 -./libs/analytics.js 24 14 103 -./store/actions/user.js 35 8 102 -./components/static/features.vue 5 0 100 -./components/achievements/lowHealth.vue 7 0 98 -./components/challenges/closeChallengeModal.vue 11 1 98 -./components/shops/quests/questInfo.vue 15 0 98 -./components/settings/restoreModal.vue 6 5 98 -./assets/scss/item.scss 22 5 97 -./components/ui/itemRows.vue 14 1 87 -./components/shops/balanceInfo.vue 15 0 87 -./assets/scss/dropdown.scss 16 0 84 -./components/settings/notifications.vue 9 5 84 -./components/tasks/brokenTaskModal.vue 7 2 84 -./components/world-boss/worldBossRageModal.vue 7 0 84 -./components/challenges/groupChallenges.vue 8 0 84 -./components/sidebarSection.vue 8 0 83 -./components/chat/autoComplete.vue 4 2 83 -./components/inventory/stable/mountRaisedModal.vue 14 0 83 -./assets/css/sprites.css 16 12 81 -./components/group-plans/billing.vue 2 0 78 -./components/inventory/stable/hatchedPetDialog.vue 10 0 78 -./components/inventory/stable/petItem.vue 5 0 78 -./store/actions/members.js 22 34 78 -./mixins/notifications.js 1 1 78 -./components/yesterdailyModal.vue 8 0 77 -./components/achievements/login-incentives.vue 7 0 77 -./components/ui/customMenuDropdown.vue 8 4 76 -./store/actions/chat.js 17 1 72 -./components/achievements/questInvitation.vue 2 0 72 -./store/actions/challenges.js 27 0 71 -./components/achievements/death.vue 3 2 70 -./mixins/groupsUtilities.js 18 4 70 -./components/inventory/item.vue 2 0 67 -./components/userMenu/achievements.vue 7 0 65 -./components/inventory/stable/foodItem.vue 4 0 65 -./components/static/faq.vue 6 6 65 -./components/achievements/achievementFooter.vue 10 5 64 -./components/achievements/questCompleted.vue 5 0 64 -./components/inventory/items/cards-modal.vue 3 0 64 -./components/chat/copyAsTodoModal.vue 4 1 63 -./components/achievements/ultimateGear.vue 4 1 62 -./assets/scss/typography.scss 12 1 62 -./components/header/notifications/groupTaskApproval.vue 8 3 61 -./components/settings/deleteModal.vue 2 0 60 -./components/header/notifications/questInvitation.vue 3 0 60 -./components/achievements/wonChallenge.vue 4 2 60 -./components/ui/drawerHeaderTabs.vue 7 0 58 -./libs/store/helpers/filterTasks.js 8 2 58 -./assets/scss/colors.scss 15 3 57 -./mixins/stats.js 12 0 57 -./components/header/notifications/guildInvitation.vue 8 0 56 -./store/actions/auth.js 15 1 56 -./components/achievements/newStuff.vue 4 1 56 -./components/settings/promoCode.vue 4 6 55 -./components/shops/quests/questDialogContent.vue 9 0 54 -./components/members/groupMemberSearchDropdown.vue 3 1 54 -./components/inventory/equipment/attributesPopover.vue 3 0 53 -./components/static/contact.vue 3 1 52 -./components/inventory/stable/mountItem.vue 2 0 51 -./libs/store/index.js 15 18 50 -./components/members/classBadge.vue 7 0 49 -./components/group-plans/index.vue 4 0 48 -./components/tasks/approvalModal.vue 2 0 48 -./components/achievements/streak.vue 4 1 48 -./assets/scss/categories.scss 7 0 47 -./components/404.vue 7 1 47 -./components/challenges/challengeMemberProgressModal.vue 3 0 46 -./components/snackbars/notifications.vue 5 1 45 -./libs/notifications.js 7 0 45 -./components/members/removeMemberModal.vue 3 0 45 -./components/members/memberSearchDropdown.vue 3 1 44 -./components/achievements/dropsEnabled.vue 3 0 44 -./components/ui/starBadge.vue 5 0 43 -./components/challenges/leaveChallengeModal.vue 3 0 42 -./components/header/notifications/newChatMessage.vue 3 1 42 -./components/header/notifications/unallocatedStatsPoints.vue 3 0 42 -./assets/css/sprites/spritesmith-largeSprites-0.css 0 0 42 -./components/achievements/rebirth.vue 4 1 41 -./components/groups/communityGuidelines.vue 6 0 41 -./components/achievements/contributor.vue 4 0 41 -./assets/scss/icon.scss 11 0 41 -./libs/asyncResource.js 4 3 41 -./components/achievements/welcome.vue 1 1 41 -./mixins/challengeUtilities.js 8 0 40 -./store/actions/tags.js 6 0 38 -./components/header/notifications/partyInvitation.vue 4 0 38 -./assets/scss/banner.scss 6 0 38 -./components/tasks/approvalHeader.vue 4 0 38 -./components/hall/patrons.vue 2 1 38 -./components/bannedAccountModal.vue 5 1 36 -./store/actions/index.js 4 2 36 -./libs/store/helpers/public.js 18 16 35 -./components/static/clearBrowserData.vue 2 1 34 -./components/achievements/invitedFriend.vue 3 1 34 -./components/achievements/joinedChallenge.vue 3 1 34 -./components/achievements/joinedGuild.vue 3 1 34 -./components/achievements/testingletiant.vue 2 0 34 -./components/header/notifications/cardReceived.vue 2 0 33 -./components/static/overview.vue 4 0 33 -./components/categories/categoryTags.vue 1 0 33 -./components/achievements/testing.vue 2 0 33 -./assets/scss/tiers.scss 9 0 32 -./assets/scss/modal.scss 7 0 32 -./components/header/notifications/newMysteryItems.vue 2 0 31 -./assets/scss/popover.scss 7 0 31 -./assets/scss/loading-screen.scss 4 0 31 -./libs/createAnimal.js 4 0 31 -./assets/scss/index.scss 4 3 29 -./components/achievements/rebirthEnabled.vue 3 0 29 -./components/header/messageCount.vue 4 0 29 -./components/ui/countBadge.vue 4 0 29 -./components/tasks/clearCompletedTodos.vue 4 0 29 -./components/settings/resetModal.vue 2 1 28 -./assets/scss/markdown.scss 7 0 28 -./libs/modform.js 9 1 28 -./components/header/notifications/newStuff.vue 2 0 27 -./main.js 7 7 27 -./assets/scss/badge.scss 4 0 26 -./components/secondaryMenu.vue 5 0 26 -./components/achievements/armoireEmpty.vue 2 0 26 -./components/header/notifications/newInboxMessage.vue 2 0 26 -./store/actions/notifications.js 4 0 25 -./components/groups/groupGemsModal.vue 2 0 25 -./index.html 2 2 25 -./components/header/notifications/groupTaskNeedsWork.vue 2 0 25 -./components/shops/index.vue 2 0 25 -./components/static/merch.vue 2 6 25 -./components/header/notifications/groupTaskApproved.vue 2 0 25 -./assets/scss/static.scss 7 0 25 -./components/shops/_currencyMixin.js 1 0 24 -./mixins/openedItemRows.js 4 1 24 -./libs/store/helpers/orderTasks.js 4 3 24 -./components/achievements/achievementAvatar.vue 2 1 23 -./components/groupLink.vue 2 0 23 -./store/actions/common.js 3 6 23 -./store/actions/hall.js 5 0 23 -./store/actions/party.js 2 0 23 -./assets/scss/pin.scss 4 0 22 -./libs/i18n.js 6 6 22 -./filters/roundBigNumber.js 4 0 21 -./libs/payments.js 6 5 21 -./libs/userlocalManager.js 3 1 21 -./assets/scss/page.scss 4 0 20 -./components/userLink.vue 1 0 20 -./components/static/newStuff.vue 3 0 20 -./components/settings/index.vue 3 0 20 -./components/groups/index.vue 4 0 20 -./directives/mouseposition.directive.js 8 4 19 -./mixins/challengeMemberSearch.js 1 1 19 -./components/groups/newPartyModal.pug 1 0 19 -./directives/resize.directive.js 8 4 19 -./mixins/buy.js 3 0 19 -./assets/scss/animals.scss 3 0 17 -./store/actions/quests.js 7 5 17 -./components/inventory/index.vue 2 0 17 -./libs/auth.js 6 0 17 -./components/userMenu/profilePage.vue 2 2 17 -./mixins/styleHelper.js 0 0 17 -./components/hall/index.vue 3 0 16 -./components/challenges/index.vue 3 0 16 -./assets/scss/misc.scss 1 0 16 -./store/getters/user.js 4 0 15 -./assets/scss/tooltip.scss 2 0 15 -./store/getters/index.js 3 2 14 -./assets/scss/progress-bar.scss 3 1 13 -./components/settings/dataExport.vue 0 0 13 -./README.md 9 0 12 -./directives/dragdrop.directive.js 14 72 12 -./libs/deepFreeze.js 3 6 11 -./store/getters/members.js 1 0 11 -./store/actions/snackbars.js 2 0 11 -./assets/scss/utils.scss 3 7 10 -./filters/registerGlobals.js 1 0 9 -./libs/logging.js 0 0 9 -./libs/store/helpers/internals.js 5 18 9 -./assets/scss/stats.scss 2 0 9 -./assets/scss/dragdrop.scss 1 0 8 -./components/static/app.vue 1 3 7 -./store/actions/world-state.js 1 0 6 -./directives/markdown.js 2 0 6 -./components/page.vue 0 0 6 -./store/getters/shops.js 1 0 6 -./directives/directive.common.js 1 1 6 -./assets/scss/variables.scss 1 3 5 -./components/parentPage.vue 0 0 5 -./libs/encodeParams.js 1 1 5 -./assets/scss/bootstrap.scss 2 3 3 -./components/emptyView.vue 0 1 3 -./components/header/notifications/challengeInvitation.vue 0 0 3 -./filters/round.js 0 0 3 -./store/getters/party.js 0 0 3 -./filters/floorWholeNumber.js 0 0 3 -./filters/floor.js 0 0 3 -./assets/svg/README.md 0 0 1 ---------------------------------------------------------------------------------------------------------------- -SUM: 4571 1246 83885 ---------------------------------------------------------------------------------------------------------------- diff --git a/website/server/controllers/api-v4/members.js b/website/server/controllers/api-v4/members.js index 2bf8db0341..bbc1668ca5 100644 --- a/website/server/controllers/api-v4/members.js +++ b/website/server/controllers/api-v4/members.js @@ -5,21 +5,21 @@ let api = {}; /** * @api {post} /api/v4/members/flag-private-message/:messageId Flag a private message - * @apiDescription A message will be hidden immediately if a moderator flags the message. An email is sent to the moderators about every flagged message. + * @apiDescription An email is sent to the moderators about every flagged message. * @apiName FlagPrivateMessage * @apiGroup Member * * @apiParam (Path) {UUID} messageId The private message id * - * @apiSuccess {Object} data The flagged chat message + * @apiSuccess {Object} data The flagged private message * @apiSuccess {UUID} data.id The id of the message * @apiSuccess {String} data.text The text of the message * @apiSuccess {Number} data.timestamp The timestamp of the message in milliseconds - * @apiSuccess {Object} data.likes The likes of the message + * @apiSuccess {Object} data.likes The likes of the message (always an empty object) * @apiSuccess {Object} data.flags The flags of the message * @apiSuccess {Number} data.flagCount The number of flags the message has - * @apiSuccess {UUID} data.uuid The user id of the author of the message - * @apiSuccess {String} data.user The username of the author of the message + * @apiSuccess {UUID} data.uuid The user id of the author of the message, or of the recipient if `sent` is true + * @apiSuccess {String} data.user The username of the author of the message, or of the recipient if `sent` is true * * @apiUse MessageNotFound * @apiUse MessageIdRequired diff --git a/website/server/libs/chatReporting/inboxChatReporter.js b/website/server/libs/chatReporting/inboxChatReporter.js index e236f705b7..efa4d4b5d6 100644 --- a/website/server/libs/chatReporting/inboxChatReporter.js +++ b/website/server/libs/chatReporting/inboxChatReporter.js @@ -47,6 +47,8 @@ export default class InboxChatReporter extends ChatReporter { async notify (message, userComment) { const group = { type: 'private messages', + name: 'N/A', + _id: 'N/A', }; await super.notify(group, message); @@ -56,7 +58,7 @@ export default class InboxChatReporter extends ChatReporter { {name: 'GROUP_NAME', content: group.name}, {name: 'GROUP_TYPE', content: group.type}, {name: 'GROUP_ID', content: group._id}, - {name: 'GROUP_URL', content: groupUrl}, + {name: 'GROUP_URL', content: groupUrl || 'N/A'}, {name: 'REPORTER_COMMENT', content: userComment || ''}, ])); @@ -84,15 +86,7 @@ export default class InboxChatReporter extends ChatReporter { return this.updateMessageAndSave(message, (m) => { m.flags[this.user._id] = true; - - // Log total number of flags (publicly viewable) - if (!m.flagCount) m.flagCount = 0; - if (this.user.contributor.admin) { - // Arbitrary amount, higher than 2 - m.flagCount = 5; - } else { - m.flagCount++; - } + m.flagCount = 1; }); } diff --git a/website/server/libs/slack.js b/website/server/libs/slack.js index 04c9865fc3..3433fd6ea8 100644 --- a/website/server/libs/slack.js +++ b/website/server/libs/slack.js @@ -102,17 +102,13 @@ function sendInboxFlagNotification ({ let authorName; let title = `Flag in ${flagger.profile.name}'s Inbox`; let text = `${flagger.profile.name} (${flagger.id}; language: ${flagger.preferences.language}) flagged a PM`; - let footer = `<${SLACK_FLAGGING_FOOTER_LINK}?userId=${flagger.id}&chatMessageId=${message.id}|Flag this message>`; + let footer = ''; if (userComment) { text += ` and commented: ${userComment}`; } - if (!message.user && message.uuid === 'system') { - authorName = 'System Message'; - } else { - authorName = `${message.user} - ${authorEmail} - ${message.uuid}`; - } + authorName = `${message.user} - ${authorEmail} - ${message.uuid}`; let messageText = message.text;