declare namespace LowDB{

  interface _Base{
    id : string;            // 唯一ID
    //
    createdAt? : string;    // 创建时间（？）
    updatedAt? : string;    // 更新时间（？）
  }

  interface Project extends _Base{
    name : string;          // 项目名
    icon : string;          // 图标（用默认值）
    //
    relatedUrls : string;   // 相关url网址
    descTags : string;      // 描述标签
    content : string;       // 介绍内容
    assetsLink : string;    // 资产链接
  }

  interface Server extends _Base{
    projectId : string;       // 项目唯一ID
    //
    trueIP : string;          // 真实IP
    systemType : string;      // 系统类型
    systemVersion : string;   // 系统版本
    openPort : string;        // 开放端口
    webAppFirewall : string;  // 网页防火墙
  }

  interface SiteMain extends _Base{
    projectId : string;       // 项目唯一ID
    //
    cmsSystemInfo : string;         // CMS系统信息
    cdnDetail : string;             // CDN详情
    certDetail : string;            // 证书详情
    dnsRecords : string;            // DNS导向记录
  }

  interface Owner extends _Base{
    projectId : string;       // 项目唯一ID
    //
    whoisDetail : string;           // whois信息
    ownerName : string;             // 持有人姓名
    siteRegisterRecord : string;    // 网站备案记录
    frequentlyUsedAccount : string; // 持有人常用账号
    emailDetail : string;           // 邮箱信息
    phoneTrackDetail : string;      // 电话反查的信息
    socialRepoRecord : string;      // 社工库，线索信息
  }

  interface SiteRelated extends _Base{
    projectId : string;       // 项目唯一ID
    //
    childDomains : string;    // 子域名
    sameServerSites : string; // 同机旁站 同一服务器的 其它另外网站
    cClassMachines : string;  // C段，内网、Wifi，其他机器
  }

  interface Google extends _Base{
    projectId : string;       // 项目唯一ID
    //
    targetSearch : string;        // 针对化搜索，特定关键字
    pdfSearch : string;           // PDF文件搜索
    middlewareSearch : string;    // 中间件版本，搜索
    weakPasswordSearch : string;  // 弱口令，默认口令，搜索
  }

  interface DirFile extends _Base{
    projectId : string;       // 项目唯一ID
    //
    siteDirs : string;        // 网站目录结构
    adminSitePage : string;   // Admin网站入口
    bannerFiles : string;     // Banner图片目录
    siteTestFiles : string;   // 网站残留，测试文件
    siteBakFiles : string;    // 网站残留，备份文件
  }

  interface HoleSource extends _Base{
    projectId : string;       // 项目唯一ID
    //
    transferProtocolHole : string;    // 传输协议漏洞
    commonHole : string;              // 通用漏洞
    exploitDemo : string;             // EXP，漏洞利用，Demo
    githubSourceLeakage : string;     // GitHub源码泄露
  }

  interface Electron extends _Base{
    productName : string;           // 产品名称
    hasGitHubSource : string;       // 是否有GitHub源码
    hasAsarFile : string;           // 是否有asar文件
    hasOthersFile : string;         // 是否有 .js .html 等文件
    hasDevTools : string;           // 是否有 devtools 开发工具栏 （如果Electron没有调试，则可以到官网上去；调试网页内容）
    //
    input_textEditor : string;      // 【输入点】文本编辑器
    input_fileUpload : string;      // 【输入点】文件上传
    input_profileSetting : string;  // 【输入点】个人资料设置
    input_msgChat : string;         // 【输入点】聊天
    //
    code_danger_points : string;    // 【源码审计】所有的 敏感点 。
    code_ui_findOut : string;       // 【源码审计】界面显示
    //
    remarks : string;               // 额外备注
    remainingProblem_afterSuccess : string;      // 成功后，还存在的遗留问题
    //
  }

  interface XssCommonVuln extends _Base{
    redirect_xss : string;  // 重定向跳转 Redirect XSS
    csrf : string;          // CSRF，链接伪造请求
    seo_redirect_xss : string;    // SSO劫持，【借用 Redirect XSS】
    storage_xss : string;         // 本地存储XSS
    any_user_register : string;   // 登录注册，【任意用户注册】
    //
    any_user_pwd_reset_1 : string;  // 任意用户密码重置
    any_user_pwd_reset_2 : string;  // 任意用户密码重置
    any_user_pwd_reset_3 : string;  // 任意用户密码重置
    any_user_pwd_reset_4 : string;  // 任意用户密码重置
    any_user_pwd_reset_5 : string;  // 任意用户密码重置
    any_user_pwd_reset_6 : string;  // 任意用户密码重置
    any_user_pwd_reset_7 : string;  // 任意用户密码重置
    any_user_pwd_reset_8 : string;  // 任意用户密码重置
    any_user_pwd_reset_9 : string;  // 任意用户密码重置
    any_user_pwd_reset_10 : string; // 任意用户密码重置
    any_user_pwd_reset_11 : string; // 任意用户密码重置
  }


  interface SmartSystem_MindMap extends _Base{

  }

  namespace WakeupTasks{
    interface Daily extends _Base{
      timestamp : number;     // 时间戳（这里用number简单一点）
    }
  }

  namespace Progress{
    interface IndustryStandard extends _Base{
      projectId : string;       // 项目唯一ID
      //
      progress : Record<string/* 此处，其实是各个keywords */, {
        finished : 1|0,
      }>;
    }
  }

  namespace LifeTasks{
    interface TaskRecord extends _Base{
      date : string;
      record : any[];
    }
  }

  interface DB{
    projects : Project[];
    servers : Server[];
    siteMains : SiteMain[];
    owners : Owner[];
    siteRelateds : SiteRelated[];
    googles : Google[];
    dirFiles : DirFile[];
    holeSources : HoleSource[];
    //
    wakeupTasks : {
      daily : WakeupTasks.Daily[];               // 每天检查的时间戳
    };
    progress : {
      industryStandard : Progress.IndustryStandard[];
    },
    lifeTasks : LifeTasks.TaskRecord[];
    //
    electrons : Electron[];
    xssCommonVuln : XssCommonVuln[];
    smartSystem : {
      mindMap ?: SmartSystem_MindMap;
    }
  }
}
