|
@@ -1,11 +1,13 @@
|
|
import html, { HTMLElement } from "node-html-parser";
|
|
import html, { HTMLElement } from "node-html-parser";
|
|
import request from "request-promise-native";
|
|
import request from "request-promise-native";
|
|
-import { db } from "../../db";
|
|
|
|
import { Response } from "request";
|
|
import { Response } from "request";
|
|
import { IAggregator, INewsItem } from "./aggregator";
|
|
import { IAggregator, INewsItem } from "./aggregator";
|
|
|
|
+import { getRepository } from "typeorm";
|
|
|
|
+import { AggroNewsItem } from "../../entity/AggroNewsItem";
|
|
|
|
|
|
const updatePage = "http://com3d2.jp/update/";
|
|
const updatePage = "http://com3d2.jp/update/";
|
|
const changeLogPattern = /\[\s*([^\s\]]+)\s*\]\s*((・.*)\s+)+/gim;
|
|
const changeLogPattern = /\[\s*([^\s\]]+)\s*\]\s*((・.*)\s+)+/gim;
|
|
|
|
+const FEED_NAME = "com3d2-jp-updates";
|
|
|
|
|
|
function getVersionNumber(verStr: string) {
|
|
function getVersionNumber(verStr: string) {
|
|
let verPart = verStr.replace(/[\.\s]/g, "");
|
|
let verPart = verStr.replace(/[\.\s]/g, "");
|
|
@@ -15,7 +17,13 @@ function getVersionNumber(verStr: string) {
|
|
}
|
|
}
|
|
|
|
|
|
async function aggregate() {
|
|
async function aggregate() {
|
|
- let lastVersion = db.get("lastCOMJPVersion").value() as number;
|
|
|
|
|
|
+ let repo = getRepository(AggroNewsItem);
|
|
|
|
+
|
|
|
|
+ let lastPost = await repo.findOne({
|
|
|
|
+ select: [ "newsId" ],
|
|
|
|
+ where: { feedName: FEED_NAME },
|
|
|
|
+ order: { newsId: "DESC" }
|
|
|
|
+ });
|
|
|
|
|
|
try {
|
|
try {
|
|
let mainPageRes = await request(updatePage, {resolveWithFullResponse: true}) as Response;
|
|
let mainPageRes = await request(updatePage, {resolveWithFullResponse: true}) as Response;
|
|
@@ -46,13 +54,12 @@ async function aggregate() {
|
|
let version = getVersionNumber(latestVersionChangelog[1]);
|
|
let version = getVersionNumber(latestVersionChangelog[1]);
|
|
let text = latestVersionChangelog[0];
|
|
let text = latestVersionChangelog[0];
|
|
|
|
|
|
- if(version <= lastVersion)
|
|
|
|
|
|
+ if(version <= lastPost.newsId)
|
|
return [];
|
|
return [];
|
|
|
|
|
|
- db.set("lastCOMJPVersion", version).write();
|
|
|
|
-
|
|
|
|
return [{
|
|
return [{
|
|
- id: `com3d2-jp-updates-${version}`,
|
|
|
|
|
|
+ feedId: FEED_NAME,
|
|
|
|
+ newsId: version,
|
|
link: updatePage,
|
|
link: updatePage,
|
|
title: latestVersionChangelog[1],
|
|
title: latestVersionChangelog[1],
|
|
author: "COM3D2 UPDATE",
|
|
author: "COM3D2 UPDATE",
|