Include build output for git installs
This commit is contained in:
+20
@@ -0,0 +1,20 @@
|
||||
import { CookieJar } from 'tough-cookie';
|
||||
import type { CookieEncryptor, CookieStore, Logger } from '../types';
|
||||
interface FileCookieStoreOptions {
|
||||
encryptor?: CookieEncryptor;
|
||||
logger?: Logger;
|
||||
}
|
||||
export declare class FileCookieStore implements CookieStore {
|
||||
private readonly filePath;
|
||||
private readonly options;
|
||||
private static readonly sharedJars;
|
||||
constructor(filePath: string, options?: FileCookieStoreOptions);
|
||||
load(): Promise<CookieJar>;
|
||||
save(cookieJar: CookieJar): Promise<void>;
|
||||
clear(): Promise<void>;
|
||||
private isEncryptedCookieFile;
|
||||
private cookieJarFromJson;
|
||||
private remember;
|
||||
}
|
||||
export {};
|
||||
//# sourceMappingURL=FileCookieStore.d.ts.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"FileCookieStore.d.ts","sourceRoot":"","sources":["../../src/cookie-store/FileCookieStore.ts"],"names":[],"mappings":"AAEA,OAAO,EAAU,SAAS,EAAE,MAAM,cAAc,CAAC;AACjD,OAAO,KAAK,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAErE,UAAU,sBAAsB;IAC9B,SAAS,CAAC,EAAE,eAAe,CAAC;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAWD,qBAAa,eAAgB,YAAW,WAAW;IAI/C,OAAO,CAAC,QAAQ,CAAC,QAAQ;IACzB,OAAO,CAAC,QAAQ,CAAC,OAAO;IAJ1B,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAgC;gBAG/C,QAAQ,EAAE,MAAM,EAChB,OAAO,GAAE,sBAA2B;IAGjD,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC;IAgC1B,IAAI,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IA4BzC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ5B,OAAO,CAAC,qBAAqB;IAU7B,OAAO,CAAC,iBAAiB;IAoBzB,OAAO,CAAC,QAAQ;CAIjB"}
|
||||
Vendored
+129
@@ -0,0 +1,129 @@
|
||||
"use strict";
|
||||
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
||||
if (k2 === undefined) k2 = k;
|
||||
var desc = Object.getOwnPropertyDescriptor(m, k);
|
||||
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
||||
desc = { enumerable: true, get: function() { return m[k]; } };
|
||||
}
|
||||
Object.defineProperty(o, k2, desc);
|
||||
}) : (function(o, m, k, k2) {
|
||||
if (k2 === undefined) k2 = k;
|
||||
o[k2] = m[k];
|
||||
}));
|
||||
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
||||
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
||||
}) : function(o, v) {
|
||||
o["default"] = v;
|
||||
});
|
||||
var __importStar = (this && this.__importStar) || (function () {
|
||||
var ownKeys = function(o) {
|
||||
ownKeys = Object.getOwnPropertyNames || function (o) {
|
||||
var ar = [];
|
||||
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
||||
return ar;
|
||||
};
|
||||
return ownKeys(o);
|
||||
};
|
||||
return function (mod) {
|
||||
if (mod && mod.__esModule) return mod;
|
||||
var result = {};
|
||||
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
||||
__setModuleDefault(result, mod);
|
||||
return result;
|
||||
};
|
||||
})();
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.FileCookieStore = void 0;
|
||||
const fs = __importStar(require("fs"));
|
||||
const path = __importStar(require("path"));
|
||||
const tough_cookie_1 = require("tough-cookie");
|
||||
class FileCookieStore {
|
||||
filePath;
|
||||
options;
|
||||
static sharedJars = new Map();
|
||||
constructor(filePath, options = {}) {
|
||||
this.filePath = filePath;
|
||||
this.options = options;
|
||||
}
|
||||
async load() {
|
||||
const sharedJar = FileCookieStore.sharedJars.get(this.filePath);
|
||||
if (sharedJar) {
|
||||
return sharedJar;
|
||||
}
|
||||
try {
|
||||
if (!fs.existsSync(this.filePath)) {
|
||||
this.options.logger?.info?.('Neuer Cookie-Store wird erstellt');
|
||||
return this.remember(new tough_cookie_1.CookieJar());
|
||||
}
|
||||
const raw = fs.readFileSync(this.filePath, 'utf8');
|
||||
const parsed = JSON.parse(raw);
|
||||
if (this.isEncryptedCookieFile(parsed)) {
|
||||
if (!this.options.encryptor) {
|
||||
throw new Error('Cookie-Datei ist verschluesselt, aber kein Encryptor wurde konfiguriert');
|
||||
}
|
||||
const decrypted = this.options.encryptor.decrypt(parsed.data);
|
||||
const cookieJson = JSON.parse(decrypted);
|
||||
return this.remember(this.cookieJarFromJson(cookieJson));
|
||||
}
|
||||
return this.remember(this.cookieJarFromJson(parsed));
|
||||
}
|
||||
catch (error) {
|
||||
this.options.logger?.warn?.('Cookies konnten nicht geladen werden, neuer Cookie-Store wird erstellt', error);
|
||||
return this.remember(new tough_cookie_1.CookieJar());
|
||||
}
|
||||
}
|
||||
async save(cookieJar) {
|
||||
FileCookieStore.sharedJars.set(this.filePath, cookieJar);
|
||||
fs.mkdirSync(path.dirname(this.filePath), { recursive: true });
|
||||
const cookieJson = cookieJar.toJSON();
|
||||
let fileContent;
|
||||
if (this.options.encryptor) {
|
||||
fileContent = JSON.stringify({
|
||||
encrypted: true,
|
||||
algorithm: 'aes-256-gcm',
|
||||
data: this.options.encryptor.encrypt(JSON.stringify(cookieJson)),
|
||||
updatedAt: new Date().toISOString(),
|
||||
}, null, 2);
|
||||
}
|
||||
else {
|
||||
fileContent = JSON.stringify(cookieJson, null, 2);
|
||||
}
|
||||
fs.writeFileSync(this.filePath, fileContent, {
|
||||
mode: 0o600,
|
||||
});
|
||||
}
|
||||
async clear() {
|
||||
FileCookieStore.sharedJars.set(this.filePath, new tough_cookie_1.CookieJar());
|
||||
if (fs.existsSync(this.filePath)) {
|
||||
fs.unlinkSync(this.filePath);
|
||||
}
|
||||
}
|
||||
isEncryptedCookieFile(value) {
|
||||
return (typeof value === 'object' &&
|
||||
value !== null &&
|
||||
value.encrypted === true &&
|
||||
value.algorithm === 'aes-256-gcm' &&
|
||||
typeof value.data === 'string');
|
||||
}
|
||||
cookieJarFromJson(value) {
|
||||
if (Array.isArray(value)) {
|
||||
const cookieJar = new tough_cookie_1.CookieJar();
|
||||
for (const cookieData of value) {
|
||||
const cookie = tough_cookie_1.Cookie.fromJSON(cookieData);
|
||||
if (cookie) {
|
||||
const domain = cookie.domain ?? 'admin7.agrarmonitor.de';
|
||||
const url = domain.startsWith('http') ? domain : `https://${domain}`;
|
||||
cookieJar.setCookieSync(cookie, url);
|
||||
}
|
||||
}
|
||||
return cookieJar;
|
||||
}
|
||||
return tough_cookie_1.CookieJar.fromJSON(JSON.stringify(value));
|
||||
}
|
||||
remember(cookieJar) {
|
||||
FileCookieStore.sharedJars.set(this.filePath, cookieJar);
|
||||
return cookieJar;
|
||||
}
|
||||
}
|
||||
exports.FileCookieStore = FileCookieStore;
|
||||
//# sourceMappingURL=FileCookieStore.js.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"FileCookieStore.js","sourceRoot":"","sources":["../../src/cookie-store/FileCookieStore.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAyB;AACzB,2CAA6B;AAC7B,+CAAiD;AAiBjD,MAAa,eAAe;IAIP;IACA;IAJX,MAAM,CAAU,UAAU,GAAG,IAAI,GAAG,EAAqB,CAAC;IAElE,YACmB,QAAgB,EAChB,UAAkC,EAAE;QADpC,aAAQ,GAAR,QAAQ,CAAQ;QAChB,YAAO,GAAP,OAAO,CAA6B;IACpD,CAAC;IAEJ,KAAK,CAAC,IAAI;QACR,MAAM,SAAS,GAAG,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAChE,IAAI,SAAS,EAAE,CAAC;YACd,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,IAAI,CAAC;YACH,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAClC,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,kCAAkC,CAAC,CAAC;gBAChE,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,wBAAS,EAAE,CAAC,CAAC;YACxC,CAAC;YAED,MAAM,GAAG,GAAG,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACnD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAA0C,CAAC;YAExE,IAAI,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,EAAE,CAAC;gBACvC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;oBAC5B,MAAM,IAAI,KAAK,CAAC,yEAAyE,CAAC,CAAC;gBAC7F,CAAC;gBAED,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;gBAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;gBACzC,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,CAAC,CAAC;YAC3D,CAAC;YAED,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC,CAAC;QACvD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,wEAAwE,EAAE,KAAK,CAAC,CAAC;YAC7G,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,wBAAS,EAAE,CAAC,CAAC;QACxC,CAAC;IACH,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,SAAoB;QAC7B,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACzD,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAE/D,MAAM,UAAU,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC;QAEtC,IAAI,WAAmB,CAAC;QAExB,IAAI,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC;YAC3B,WAAW,GAAG,IAAI,CAAC,SAAS,CAC1B;gBACE,SAAS,EAAE,IAAI;gBACf,SAAS,EAAE,aAAa;gBACxB,IAAI,EAAE,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;gBAChE,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACN,EAC/B,IAAI,EACJ,CAAC,CACF,CAAC;QACJ,CAAC;aAAM,CAAC;YACN,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACpD,CAAC;QAED,EAAE,CAAC,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,WAAW,EAAE;YAC3C,IAAI,EAAE,KAAK;SACZ,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,KAAK;QACT,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,wBAAS,EAAE,CAAC,CAAC;QAE/D,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;YACjC,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAEO,qBAAqB,CAAC,KAAc;QAC1C,OAAO,CACL,OAAO,KAAK,KAAK,QAAQ;YACzB,KAAK,KAAK,IAAI;YACb,KAA6B,CAAC,SAAS,KAAK,IAAI;YAChD,KAA6B,CAAC,SAAS,KAAK,aAAa;YAC1D,OAAQ,KAA6B,CAAC,IAAI,KAAK,QAAQ,CACxD,CAAC;IACJ,CAAC;IAEO,iBAAiB,CAAC,KAAc;QACtC,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACzB,MAAM,SAAS,GAAG,IAAI,wBAAS,EAAE,CAAC;YAElC,KAAK,MAAM,UAAU,IAAI,KAAK,EAAE,CAAC;gBAC/B,MAAM,MAAM,GAAG,qBAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;gBAE3C,IAAI,MAAM,EAAE,CAAC;oBACX,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,wBAAwB,CAAC;oBACzD,MAAM,GAAG,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,MAAM,EAAE,CAAC;oBACrE,SAAS,CAAC,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;gBACvC,CAAC;YACH,CAAC;YAED,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,wBAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC;IACnD,CAAC;IAEO,QAAQ,CAAC,SAAoB;QACnC,eAAe,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QACzD,OAAO,SAAS,CAAC;IACnB,CAAC;;AA7GH,0CA8GC"}
|
||||
+9
@@ -0,0 +1,9 @@
|
||||
import { CookieJar } from 'tough-cookie';
|
||||
import type { CookieStore } from '../types';
|
||||
export declare class MemoryCookieStore implements CookieStore {
|
||||
private cookieJar;
|
||||
load(): Promise<CookieJar>;
|
||||
save(cookieJar: CookieJar): Promise<void>;
|
||||
clear(): Promise<void>;
|
||||
}
|
||||
//# sourceMappingURL=MemoryCookieStore.d.ts.map
|
||||
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"MemoryCookieStore.d.ts","sourceRoot":"","sources":["../../src/cookie-store/MemoryCookieStore.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C,qBAAa,iBAAkB,YAAW,WAAW;IACnD,OAAO,CAAC,SAAS,CAAmB;IAE9B,IAAI,IAAI,OAAO,CAAC,SAAS,CAAC;IAI1B,IAAI,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B"}
|
||||
+18
@@ -0,0 +1,18 @@
|
||||
"use strict";
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.MemoryCookieStore = void 0;
|
||||
const tough_cookie_1 = require("tough-cookie");
|
||||
class MemoryCookieStore {
|
||||
cookieJar = new tough_cookie_1.CookieJar();
|
||||
async load() {
|
||||
return this.cookieJar;
|
||||
}
|
||||
async save(cookieJar) {
|
||||
this.cookieJar = cookieJar;
|
||||
}
|
||||
async clear() {
|
||||
this.cookieJar = new tough_cookie_1.CookieJar();
|
||||
}
|
||||
}
|
||||
exports.MemoryCookieStore = MemoryCookieStore;
|
||||
//# sourceMappingURL=MemoryCookieStore.js.map
|
||||
+1
@@ -0,0 +1 @@
|
||||
{"version":3,"file":"MemoryCookieStore.js","sourceRoot":"","sources":["../../src/cookie-store/MemoryCookieStore.ts"],"names":[],"mappings":";;;AAAA,+CAAyC;AAGzC,MAAa,iBAAiB;IACpB,SAAS,GAAG,IAAI,wBAAS,EAAE,CAAC;IAEpC,KAAK,CAAC,IAAI;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,SAAoB;QAC7B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,CAAC,SAAS,GAAG,IAAI,wBAAS,EAAE,CAAC;IACnC,CAAC;CACF;AAdD,8CAcC"}
|
||||
Reference in New Issue
Block a user