ap2020/ap2020bot

View on GitHub

Showing 11 of 11 total issues

Function verify has 36 lines of code (exceeds 25 allowed). Consider refactoring.
Open

export const verify = async (req: APIGatewayProxyEventV2): Promise<boolean> => {
const version = 'v0';
const headers = CaseInsensitiveMap.fromObject(req.headers);
 
const actual = headers.get('X-Slack-Signature');
Severity: Minor
Found in aws/src/lib/slack/verify.ts - About 1 hr to fix

    Function send has 31 lines of code (exceeds 25 allowed). Consider refactoring.
    Open

    const send = async ([sentChannel, channelId]: readonly [SentChannel, string]) => {
    const sentItems = items.filter(({ sentChannel: c }) => c === sentChannel);
    if (sentItems.length === 0) {
    return;
    }
    Severity: Minor
    Found in aws/src/watch-drive/notify-to-slack.ts - About 1 hr to fix

      Function getPath has a Cognitive Complexity of 9 (exceeds 5 allowed). Consider refactoring.
      Open

      export const getPath = async (client: drive_v3.Drive, item: DriveItem): Promise<string> => {
      /**
      * path: path to item
      * valid: true if path has rootFolderId in ancestor
      */
      Severity: Minor
      Found in aws/src/watch-drive/drive-api.ts - About 55 mins to fix

      Similar blocks of code found in 2 locations. Consider refactoring.
      Open

      export const colors = {
      create: '#6dc651',
      edit: '#f5bc41',
      move: '#1f28c6',
      rename: '#7337d3',
      Severity: Minor
      Found in aws/src/watch-drive/config.ts and 1 other location - About 50 mins to fix
      aws/src/watch-drive/config.ts on lines 27..36

      Similar blocks of code found in 2 locations. Consider refactoring.
      Open

      export const japaneseTranslations = {
      create: '追加',
      edit: '更新',
      move: '移動',
      rename: '名称変更',
      Severity: Minor
      Found in aws/src/watch-drive/config.ts and 1 other location - About 50 mins to fix
      aws/src/watch-drive/config.ts on lines 16..25

      Function getDriveItem has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
      Open

      export const getDriveItem = async (drive: drive_v3.Drive, target: driveactivity_v2.Schema$Target): Promise<DriveItem> => {
      if (!target.driveItem) {
      throw new Error(`Not driveItem: ${target}`);
      }
      try {
      Severity: Minor
      Found in aws/src/watch-drive/drive-activity-api.ts - About 45 mins to fix

      Function notifyToSlack has a Cognitive Complexity of 8 (exceeds 5 allowed). Consider refactoring.
      Open

      export const notifyToSlack = async ({ slack, drive, people: peopleAPI }: Clients, activity: driveactivity_v2.Schema$DriveActivity, groupEmailAddress: string) => {
      // not notified in order!
      // maybe chat.scheduleMessage is useful to imitate notification in order
      // but I think the inorderness is ignorable if the frequency of execution is high enough
      const actionName = getActionName(activity.primaryActionDetail!);
      Severity: Minor
      Found in aws/src/watch-drive/notify-to-slack.ts - About 45 mins to fix

      Function verify has a Cognitive Complexity of 7 (exceeds 5 allowed). Consider refactoring.
      Open

      export const verify = async (req: APIGatewayProxyEventV2): Promise<boolean> => {
      const version = 'v0';
      const headers = CaseInsensitiveMap.fromObject(req.headers);
       
      const actual = headers.get('X-Slack-Signature');
      Severity: Minor
      Found in aws/src/lib/slack/verify.ts - About 35 mins to fix

      Avoid too many return statements within this function.
      Open

      return 'none';
      Severity: Major
      Found in aws/src/watch-drive/drive-api.ts - About 30 mins to fix

        Avoid too many return statements within this function.
        Open

        return false;
        Severity: Major
        Found in aws/src/lib/slack/verify.ts - About 30 mins to fix

          Avoid too many return statements within this function.
          Open

          return ok;
          Severity: Major
          Found in aws/src/lib/slack/verify.ts - About 30 mins to fix
            Severity
            Category
            Status
            Source
            Language