universoimpulso/atena

View on GitHub

Showing 47 of 96 total issues

File index.js has 396 lines of code (exceeds 250 allowed). Consider refactoring.
Open

import { sendError } from 'log-on-slack'
import moment from 'moment'

import { achievementTypes, messageProviders } from '../../config/achievements'
import { scoreRules } from '../../config/score'
Severity: Minor
Found in src/controllers/ScoreController/index.js - About 5 hrs to fix

    Function updateEmailServices has 71 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

      async updateEmailServices() {
        try {
          const totalUsers = await User.countDocuments({})
          let dripSubscribers = []
          let mailJetContacts = []
    Severity: Major
    Found in src/controllers/UserController/index.js - About 2 hrs to fix

      Function givePoints has 61 lines of code (exceeds 25 allowed). Consider refactoring.
      Open

        async givePoints({ user, usernames, provider, points, reason }) {
          const response = {
            msg: 'Eis o resultado do seu comando: ',
            attachments: []
          }
      Severity: Major
      Found in src/controllers/CommandController/utils.js - About 2 hrs to fix

        Function removeScoreFromReaction has 54 lines of code (exceeds 25 allowed). Consider refactoring.
        Open

          async removeScoreFromReaction({ reaction, payload }) {
            try {
              const { deletedCount } = await Score.deleteMany({
                description: scoreTypes.reactionSended,
                'details.messageId': reaction.provider.messageId,
        Severity: Major
        Found in src/controllers/ScoreController/index.js - About 2 hrs to fix

          Function handleProfileCompleteness has 52 lines of code (exceeds 25 allowed). Consider refactoring.
          Open

            async handleProfileCompleteness(payload) {
              try {
                const { uuid, completeness, provider } = payload
          
                let user = await User.findOne({ uuid })
          Severity: Major
          Found in src/controllers/ScoreController/index.js - About 2 hrs to fix

            File utils.js has 252 lines of code (exceeds 250 allowed). Consider refactoring.
            Open

            import moment from 'moment'
            
            import { scoreTypes } from '../../models/Score/schema'
            import User from '../../models/User'
            import BotController from '../BotController'
            Severity: Minor
            Found in src/controllers/CommandController/utils.js - About 2 hrs to fix

              Function generateUserScoresMessage has 45 lines of code (exceeds 25 allowed). Consider refactoring.
              Open

                async generateUserScoresMessage(user) {
                  const response = { msg: '', attachments: [] }
              
                  if (user.isCoreTeam) {
                    const { score } = await RankingController.getMonthlyPositionByUser(
              Severity: Minor
              Found in src/controllers/CommandController/utils.js - About 1 hr to fix

                Function handleExternalInteraction has 44 lines of code (exceeds 25 allowed). Consider refactoring.
                Open

                  async handleExternalInteraction(payload) {
                    try {
                      const { scoreType, achievementType, queries, details } = payload
                
                      const user = await User.findOne(queries.user)
                Severity: Minor
                Found in src/controllers/ScoreController/index.js - About 1 hr to fix

                  Function handleUserPartner has 43 lines of code (exceeds 25 allowed). Consider refactoring.
                  Open

                    async handleUserPartner(user) {
                      try {
                        if (Object.keys(partnerLevels).includes(user.referrer.identification)) {
                          const partnerLevelAlreadyGiven = await LevelHistory.findOne({
                            user: user.uuid,
                  Severity: Minor
                  Found in src/controllers/UserController/utils.js - About 1 hr to fix

                    Function handle has 40 lines of code (exceeds 25 allowed). Consider refactoring.
                    Open

                      async handle({ user, achievementType, provider = 'Atena' }) {
                        try {
                          const achievementRanges = getAchievementValues(achievementType)
                          const [currentAchievement] = user.achievements.filter(
                            ({ name }) => name === achievementType
                    Severity: Minor
                    Found in src/controllers/AchievementController.js - About 1 hr to fix

                      Function updateUserScore has 40 lines of code (exceeds 25 allowed). Consider refactoring.
                      Open

                        async updateUserScore({ user, scoreEarned }) {
                          const score = {
                            value: user.score.value + scoreEarned,
                            lastUpdate: moment()
                          }
                      Severity: Minor
                      Found in src/controllers/ScoreController/utils.js - About 1 hr to fix

                        Function getCommandsText has 39 lines of code (exceeds 25 allowed). Consider refactoring.
                        Open

                          getCommandsText({ isCoreTeam }) {
                            const message = {
                              msg: '*Confira a nossa lista de comandos:*',
                              attachments: [
                                {
                        Severity: Minor
                        Found in src/controllers/CommandController/utils.js - About 1 hr to fix

                          Function createGeneralRanking has 38 lines of code (exceeds 25 allowed). Consider refactoring.
                          Open

                            async createGeneralRanking() {
                              try {
                                const limit = 10000
                                let skip = 0
                                let position = 1
                          Severity: Minor
                          Found in src/controllers/RankingController/index.js - About 1 hr to fix

                            Function handleAchievementChange has 38 lines of code (exceeds 25 allowed). Consider refactoring.
                            Open

                              async handleAchievementChange({
                                user,
                                score,
                                provider,
                                newAchievement,
                            Severity: Minor
                            Found in src/controllers/AchievementController.js - About 1 hr to fix

                              Function clickOnProduct has 38 lines of code (exceeds 25 allowed). Consider refactoring.
                              Open

                              export const clickOnProduct = name => {
                                const medals = [
                                  {
                                    name: 'iron',
                                    displayMedal: 'Ferro',
                              Severity: Minor
                              Found in src/config/achievements/clickOnProduct.js - About 1 hr to fix

                                Function subscribedToMeetup has 37 lines of code (exceeds 25 allowed). Consider refactoring.
                                Open

                                export const subscribedToMeetup = () => {
                                  const medals = [
                                    {
                                      name: 'iron',
                                      displayMedal: 'Ferro',
                                Severity: Minor
                                Found in src/config/achievements/subscribedToMeetup.js - About 1 hr to fix

                                  Function participatedToMeetup has 37 lines of code (exceeds 25 allowed). Consider refactoring.
                                  Open

                                  export const participatedToMeetup = () => {
                                    const medals = [
                                      {
                                        name: 'iron',
                                        displayMedal: 'Ferro',
                                  Severity: Minor
                                  Found in src/config/achievements/participatedToMeetup.js - About 1 hr to fix

                                    Function scoreReactionReceived has 37 lines of code (exceeds 25 allowed). Consider refactoring.
                                    Open

                                      async scoreReactionReceived({
                                        receiver,
                                        reaction,
                                        payload,
                                        alreadyAchieved
                                    Severity: Minor
                                    Found in src/controllers/ScoreController/index.js - About 1 hr to fix

                                      Function newslettersRead has 37 lines of code (exceeds 25 allowed). Consider refactoring.
                                      Open

                                      export const newslettersRead = () => {
                                        const medals = [
                                          {
                                            name: 'iron',
                                            displayMedal: 'Ferro',
                                      Severity: Minor
                                      Found in src/config/achievements/newslettersRead.js - About 1 hr to fix

                                        Function messageSended has 37 lines of code (exceeds 25 allowed). Consider refactoring.
                                        Open

                                        export const messageSended = () => {
                                          const medals = [
                                            {
                                              name: 'iron',
                                              displayMedal: 'Ferro',
                                        Severity: Minor
                                        Found in src/config/achievements/messageSended.js - About 1 hr to fix
                                          Severity
                                          Category
                                          Status
                                          Source
                                          Language