Puppeteer + Playwright
This commit is contained in:
parent
fe9a8e2b20
commit
d38817f4c5
|
|
@ -1,6 +1,5 @@
|
|||
// Interencheres.js
|
||||
'use strict';
|
||||
const { platform } = require('os');
|
||||
const {Scraper} = require('../Scraper');
|
||||
const DrouotData = require('./DrouotData');
|
||||
|
||||
|
|
@ -24,6 +23,8 @@ class Drouot extends Scraper {
|
|||
this._USER = "jp.ranu@cogip.de"
|
||||
this._PWD = "LYPYRKDUsSMH5BaWQxvH#"
|
||||
this._PATH_SESSION_FILE = ".session/session_drouot.json"
|
||||
this._PATH_PROTOBUF_FILE = "./AuctionServices/Scraper/Drouot/drouot.proto"
|
||||
this._BROWSER_TOOL = "playwrightBrowser"
|
||||
}
|
||||
|
||||
getPictures = async ({ page, data}) => {
|
||||
|
|
@ -159,55 +160,79 @@ class Drouot extends Scraper {
|
|||
return LotList
|
||||
}
|
||||
|
||||
async CheckAndConnect(page) {
|
||||
// ### Playwright
|
||||
// ###########################################################################
|
||||
|
||||
async CheckCookieDialog(page) {
|
||||
console.log("-- CheckCookieDialog --")
|
||||
return new Promise(async (resolve, reject) => {
|
||||
|
||||
//let XpathCookieButton = "xpath=//button[contains(@class, 'rgpd') and contains(text(), 'Tout refuser')"
|
||||
// const CookieButton = await page.$$(XpathCookieButton);
|
||||
const CookieButton = await page.$('//button[contains(@class, "rgpd") and contains(text(), "Tout refuser")]');
|
||||
//console.log(CookieButton)
|
||||
if (CookieButton && await CookieButton.isVisible()) {
|
||||
console.log("-- Click on CookieButton --")
|
||||
await CookieButton.click();
|
||||
}
|
||||
|
||||
resolve(true)
|
||||
})
|
||||
}
|
||||
|
||||
async CheckAndConnect(page) {
|
||||
|
||||
return new Promise(async (resolve, reject) => {
|
||||
|
||||
await page.goto(this._PAGE_MAIN);
|
||||
|
||||
await this.CheckCookieDialog(page);
|
||||
|
||||
console.log("-- CheckConnexion --")
|
||||
//get the Connexion button
|
||||
const [Connexion] = await page.$x("//div[contains(@class, 'btn') and contains(@class, 'ghost') and contains(text(), 'Connexion')]");
|
||||
console.log(Connexion)
|
||||
|
||||
|
||||
let XpathConnexion = "//div[contains(@class, 'btn') and contains(@class, 'ghost') and contains(text(), 'Connexion')]"
|
||||
const Connexion = await page.$$(XpathConnexion);
|
||||
|
||||
// if Connection button found => Login
|
||||
if (Connexion) {
|
||||
if (Connexion.length > 0) {
|
||||
console.log("-- Login --")
|
||||
|
||||
await page.goto(this._PAGE_LOGIN);
|
||||
|
||||
//get the Email field
|
||||
//console.log("-- get Email Input --")
|
||||
await page.type('#email', this._USER);
|
||||
//await page.type('#email', this._USER);
|
||||
await page.fill('#email', this._USER);
|
||||
|
||||
//console.log("-- get password Input --")
|
||||
await page.type("#password", this._PWD);
|
||||
//wait page.type("#password", this._PWD);
|
||||
await page.fill('#password', this._PWD);
|
||||
|
||||
//await page.screenshot({ path: 'screenshot.png', fullPage: true });
|
||||
|
||||
//console.log("-- get ConnexionButton --")
|
||||
const [ConnexionButton] = await page.$x("//button[contains(text(), 'Connexion')]");
|
||||
await ConnexionButton.evaluate(b => b.click());
|
||||
//const [ConnexionButton] = await page.$x("//button[contains(text(), 'Connexion')]");
|
||||
//await ConnexionButton.evaluate(b => b.click());
|
||||
await page.click("//button[contains(text(), 'Connexion')]");
|
||||
|
||||
//console.log("-- Login wait --")
|
||||
await page.waitForTimeout(1000);
|
||||
//resolve(page)
|
||||
|
||||
const ConnexionOK = await page.$$("//button[contains(text(), 'Continuer en tant que')]");
|
||||
//console.log(ConnexionOK)
|
||||
if (ConnexionOK.length > 0) {
|
||||
|
||||
//await ConnexionOK.screenshot({ path: 'screenshot.png', fullPage: true });
|
||||
|
||||
const [ConnexionOK] = await page.$x("//button[contains(text(), 'Continuer en tant que')]");
|
||||
if (ConnexionOK) {
|
||||
console.log("-- Connection OK --")
|
||||
await ConnexionOK.evaluate(b => b.click());
|
||||
//await ConnexionOK.evaluate(b => b.click());
|
||||
await ConnexionOK[0].click();
|
||||
await page.waitForTimeout(1000);
|
||||
|
||||
await this._saveSession(page)
|
||||
|
||||
// const sessionData = await page.session.dumpString({
|
||||
// storageProviders: [
|
||||
// StorageProviderName.Cookie,
|
||||
// StorageProviderName.LocalStorage,
|
||||
// StorageProviderName.SessionStorage,
|
||||
// StorageProviderName.IndexedDB,
|
||||
// ],
|
||||
// })
|
||||
// fs.writeFileSync(this._PATH_SESSION_FILE, sessionData);
|
||||
// console.log("-- Connection OK --")
|
||||
console.log("-- Connection OK --")
|
||||
resolve(page)
|
||||
} else {
|
||||
console.error("-- !!!! Connection ERROR !!!! --");
|
||||
|
|
@ -224,111 +249,188 @@ class Drouot extends Scraper {
|
|||
}
|
||||
|
||||
Live = async (browser) => {
|
||||
|
||||
const context = await this._getContext(browser);
|
||||
|
||||
console.log("Live "+this._Name+": "+this.Url)
|
||||
|
||||
let page = await context.newPage();
|
||||
|
||||
const page = await browser.newPage();
|
||||
|
||||
page = await this.CheckAndConnect(page);
|
||||
|
||||
let CheckAskStop = null;
|
||||
let Socket = null;
|
||||
const StopLive = async (params) => {
|
||||
clearInterval(CheckAskStop);
|
||||
Socket.off('Network.webSocketFrameReceived', listener);
|
||||
page.close()
|
||||
}
|
||||
|
||||
const listener = async (params) => {
|
||||
let payload = params.response.payloadData
|
||||
if(payload.length>1 && payload.substring(0, 2) == '42'){
|
||||
payload = JSON.parse(payload.substring(2))
|
||||
//console.log(payload)
|
||||
|
||||
const type = payload[0];
|
||||
const payloadData = payload[1];
|
||||
//init Protobuf Decoder
|
||||
const protobuf = require("protobufjs");
|
||||
const root = await protobuf.load(this._PATH_PROTOBUF_FILE);
|
||||
const LiveBiddingMessage = root.lookupType("drouot.LiveBiddingMessage");
|
||||
|
||||
switch (type) {
|
||||
const listener = async (params) => {
|
||||
|
||||
let buffer = params.payload;
|
||||
|
||||
case 'startSale':
|
||||
break;
|
||||
case 'listAuctionedItems':
|
||||
break;
|
||||
|
||||
case 'joinedSale':
|
||||
await this.JucunduNextItem(
|
||||
payloadData.sale_id,
|
||||
payloadData.timestamp,
|
||||
payloadData.item_id,
|
||||
payloadData.order_number.primary,
|
||||
payloadData.title,
|
||||
payloadData.description,
|
||||
payloadData.pricing.estimates.min,
|
||||
payloadData.pricing.estimates.max,
|
||||
payloadData
|
||||
);
|
||||
break;
|
||||
|
||||
case 'auctionedItem':
|
||||
await this.JucunduAuctionedItem(
|
||||
payloadData.item_id,
|
||||
payloadData.timestamp,
|
||||
payloadData.auctioned.amount,
|
||||
payloadData.auctioned.sold,
|
||||
payloadData.auctioned.type
|
||||
);
|
||||
break;
|
||||
|
||||
case 'nextItem':
|
||||
await this.JucunduNextItem(
|
||||
payloadData.sale_id,
|
||||
payloadData.timestamp,
|
||||
payloadData.item_id,
|
||||
payloadData.order_number.primary,
|
||||
payloadData.title,
|
||||
payloadData.description,
|
||||
payloadData.pricing.estimates.min,
|
||||
payloadData.pricing.estimates.max,
|
||||
payloadData
|
||||
);
|
||||
break;
|
||||
|
||||
case 'bid':
|
||||
await this.JucundusBid(
|
||||
payloadData.item_id,
|
||||
payloadData.timestamp,
|
||||
payloadData.amount,
|
||||
payloadData.auctioned_type
|
||||
);
|
||||
break;
|
||||
|
||||
case 'pauseSale':
|
||||
console.error('** Pause **');
|
||||
console.log(payloadData);
|
||||
// await this.JucundusEndSale()
|
||||
// StopLive()
|
||||
break;
|
||||
|
||||
case 'endSale':
|
||||
// await this.JucundusEndSale()
|
||||
// StopLive()
|
||||
break;
|
||||
|
||||
default:
|
||||
console.error('Unknown data type:', type);
|
||||
console.log(payloadData);
|
||||
}
|
||||
const err = LiveBiddingMessage.verify(buffer);
|
||||
if (err) {
|
||||
throw err;
|
||||
}
|
||||
const message = LiveBiddingMessage.decode(buffer);
|
||||
const BideMessage = LiveBiddingMessage.toObject(message, {enums: String});
|
||||
|
||||
let DataLot = null
|
||||
if(BideMessage.vente && BideMessage.vente.lot && BideMessage.vente.lot.lotId != undefined){
|
||||
DataLot = await this.platformData.getLiveDataLot(BideMessage.vente.lot.lotId);
|
||||
}
|
||||
//console.log('BideMessage Type: '+BideMessage.type+' Lot: '+BideMessage.vente.lot.lotId);
|
||||
|
||||
switch (BideMessage.type) {
|
||||
case 'PING':
|
||||
break;
|
||||
case 'PONG':
|
||||
break;
|
||||
case 'INIT':
|
||||
console.log('INIT');
|
||||
|
||||
break;
|
||||
case 'CLOSE':
|
||||
console.log('CLOSE');
|
||||
|
||||
break;
|
||||
case 'BID':
|
||||
console.log('BID');
|
||||
console.log('Lot: '+BideMessage.vente.lot.lotId+' Amount: '+BideMessage.vente.bid.amount);
|
||||
|
||||
await this.JucundusBid(
|
||||
BideMessage.vente.lot.lotId,
|
||||
Date.now(),
|
||||
BideMessage.vente.bid.amount,
|
||||
BideMessage.vente.bid.type
|
||||
);
|
||||
break;
|
||||
|
||||
case 'SELECT_LOT':
|
||||
console.log('SELECT_LOT');
|
||||
console.log('Lot: '+BideMessage.vente.lot.lotId);
|
||||
|
||||
//console.log('DataLot : '+DataLot)
|
||||
|
||||
await this.JucunduNextItem(
|
||||
BideMessage.vente.venteId,
|
||||
Date.now(),
|
||||
BideMessage.vente.lot.lotId,
|
||||
DataLot.num,
|
||||
DataLot.titre,
|
||||
DataLot.description,
|
||||
DataLot.estimationBasse,
|
||||
DataLot.estimationHaute,
|
||||
DataLot
|
||||
);
|
||||
|
||||
break;
|
||||
case 'STARTING_PRICE':
|
||||
console.log('STARTING_PRICE');
|
||||
|
||||
await this.JucunduNextItem(
|
||||
BideMessage.vente.venteId,
|
||||
Date.now(),
|
||||
BideMessage.vente.lot.lotId,
|
||||
DataLot.num,
|
||||
DataLot.titre,
|
||||
DataLot.description,
|
||||
DataLot.estimationBasse,
|
||||
DataLot.estimationHaute,
|
||||
DataLot
|
||||
);
|
||||
|
||||
break;
|
||||
case 'INCREMENT':
|
||||
console.log('INCREMENT');
|
||||
break;
|
||||
|
||||
case 'TENDERING':
|
||||
console.log('TENDERING');
|
||||
console.log('Lot: '+BideMessage.vente.lot.lotId+' Amount: '+BideMessage.vente.bid.amount);
|
||||
|
||||
await this.JucunduAuctionedItem(
|
||||
BideMessage.vente.lot.lotId,
|
||||
Date.now(),
|
||||
BideMessage.vente.bid.amount,
|
||||
BideMessage.vente.lot.state == 'ADJ' ? true : false,
|
||||
BideMessage.vente.bid.type
|
||||
);
|
||||
|
||||
break;
|
||||
|
||||
case 'GENERIC_MESSAGE':
|
||||
console.log('GENERIC_MESSAGE');
|
||||
break;
|
||||
case 'CREATE_LOT':
|
||||
console.log('CREATE_LOT');
|
||||
break;
|
||||
case 'NOT_INTERESTED':
|
||||
break;
|
||||
case 'INTERESTED':
|
||||
break;
|
||||
case 'ACTIVITY':
|
||||
break;
|
||||
case 'NEW_CLIENT':
|
||||
console.log('NEW_CLIENT');
|
||||
break;
|
||||
case 'CLOSED_CLIENT':
|
||||
break;
|
||||
case 'KILL':
|
||||
break;
|
||||
case 'MULTILOT_REQUEST':
|
||||
break;
|
||||
case 'MULTILOT_RESPONSE':
|
||||
break;
|
||||
case 'SYNC_PAYMENT_LIMIT':
|
||||
break;
|
||||
case 'SWITCH_FREE_BID_AUTHORIZE':
|
||||
break;
|
||||
case 'REFRESH_CLIENTS_COUNT':
|
||||
console.log('REFRESH_CLIENTS_COUNT');
|
||||
break;
|
||||
default:
|
||||
//console.log('Unknown type:', BideMessage);
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
try{
|
||||
await page.goto(this.Url);
|
||||
Socket = await page.target().createCDPSession();
|
||||
await Socket.send('Network.enable');
|
||||
await Socket.send('Page.enable');
|
||||
Socket.on('Network.webSocketFrameReceived', listener);
|
||||
console.log('Listener set up for Network.webSocketFrameReceived event');
|
||||
// create the live URL
|
||||
let {saleID} = await this.platformData.getUrlInfo(this.Url);
|
||||
let UrlLive = this._PAGE_MAIN + "live/bidlive/" + saleID;
|
||||
|
||||
let CheckAskStop = null;
|
||||
let Socket = null;
|
||||
|
||||
// Stop the Live
|
||||
const StopLive = async (params) => {
|
||||
clearInterval(CheckAskStop);
|
||||
page.close()
|
||||
browser.close()
|
||||
}
|
||||
|
||||
try{
|
||||
console.log('UrlLive : '+UrlLive)
|
||||
|
||||
await page.goto(UrlLive, { waitUntil: 'domcontentloaded' });
|
||||
|
||||
// intercept Lots Data
|
||||
await page.route('https://api.drouot.com/drouot/gingolem/api/live/venteInfos/'+saleID+'?lang=fr', async route => {
|
||||
console.log('GetLiveData')
|
||||
const response = await route.fetch();
|
||||
const LotData = await response.json();
|
||||
this.platformData.setLiveData(LotData.data);
|
||||
route.continue();
|
||||
});
|
||||
|
||||
page.on('websocket', ws => {
|
||||
Socket = ws;
|
||||
Socket.on('framereceived', listener);
|
||||
console.log('Websocket connected');
|
||||
});
|
||||
|
||||
console.log('UrlLive : reload')
|
||||
await page.reload();
|
||||
|
||||
// check if stop was asked
|
||||
CheckAskStop = setInterval(async () => {
|
||||
this.JucundusCheckStop()
|
||||
|
|
|
|||
|
|
@ -5,10 +5,12 @@ const moment = require('moment-timezone');
|
|||
const { Console } = require('console');
|
||||
const { title } = require('process');
|
||||
|
||||
class InterencheresData extends ScraperTools {
|
||||
class DrouotData extends ScraperTools {
|
||||
|
||||
_Name = 'drouot'
|
||||
|
||||
_LiveData = null
|
||||
|
||||
getUrlInfo = async (url) => {
|
||||
|
||||
// URL Lot : https://drouot.com/fr/l/25184163-john-conde-17651794-britanniqu
|
||||
|
|
@ -373,6 +375,20 @@ class InterencheresData extends ScraperTools {
|
|||
return SaleHouseName.trim()
|
||||
}
|
||||
|
||||
// ## Live Data
|
||||
setLiveData = (Data) => {
|
||||
this._LiveData = Data
|
||||
}
|
||||
|
||||
getLiveDataLot = async(lotId) => {
|
||||
for (let lot of this._LiveData.lots) {
|
||||
if (lot.id === lotId) {
|
||||
return lot;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
module.exports = InterencheresData
|
||||
module.exports = DrouotData
|
||||
|
|
@ -0,0 +1,139 @@
|
|||
syntax = "proto3";
|
||||
package drouot;
|
||||
|
||||
message BidStruct {
|
||||
enum Type {
|
||||
LIVE = 0;
|
||||
ROOM = 1;
|
||||
}
|
||||
uint32 amount = 1;
|
||||
uint32 currentBidder = 2;
|
||||
Type type = 3;
|
||||
bool hasPriority = 4;
|
||||
bool isLate = 5;
|
||||
bool isAuto = 6;
|
||||
IncrementStruct increment = 7;
|
||||
uint32 nextamount = 8;
|
||||
uint32 nextsmallamount = 9;
|
||||
uint32 nextmediumamount = 10;
|
||||
uint32 nextbigamount = 11;
|
||||
uint32 nextsmallvehicleamount = 12;
|
||||
uint32 nextmediumvehicleamount = 13;
|
||||
uint32 nextstandardamount = 14;
|
||||
uint32 nextmodel10amount = 15;
|
||||
}
|
||||
|
||||
message IncrementStruct {
|
||||
enum Type {
|
||||
FIXED = 0;
|
||||
SMALL = 1;
|
||||
MEDIUM = 2;
|
||||
BIG = 3;
|
||||
SMALL_VEHICLE = 4;
|
||||
MEDIUM_VEHICLE = 5;
|
||||
STANDARD = 6;
|
||||
MODEL10 = 7;
|
||||
CUSTOM = 8;
|
||||
}
|
||||
|
||||
Type type = 1;
|
||||
uint32 fixedvalue = 2;
|
||||
IncrementData customincrement = 3;
|
||||
}
|
||||
|
||||
message IncrementData {
|
||||
repeated IncrementStep incrementarray = 1;
|
||||
}
|
||||
|
||||
message IncrementStep {
|
||||
uint32 startvalue = 1;
|
||||
uint32 incrementvalue = 2;
|
||||
bool specialstep = 3;
|
||||
}
|
||||
|
||||
message ClientStruct {
|
||||
enum Permission {
|
||||
BIDDER = 0;
|
||||
CYBER = 1;
|
||||
SPECTATOR = 2;
|
||||
}
|
||||
|
||||
enum Activity {
|
||||
IDLE = 0;
|
||||
ACTIVE = 1;
|
||||
OVER = 2;
|
||||
OUT = 3;
|
||||
}
|
||||
|
||||
string sessionId = 1;
|
||||
uint32 passeportId = 2;
|
||||
string uuid = 3;
|
||||
Permission permission = 4;
|
||||
Activity activity = 5;
|
||||
uint32 pingdelay = 6;
|
||||
uint32 maxamount = 7;
|
||||
bool hasnolimit = 8;
|
||||
string token = 9;
|
||||
string refreshtoken = 10;
|
||||
}
|
||||
|
||||
message LiveBiddingMessage {
|
||||
enum Type {
|
||||
PING = 0;
|
||||
PONG = 1;
|
||||
INIT = 2;
|
||||
CLOSE = 3;
|
||||
BID = 4;
|
||||
SELECT_LOT = 5;
|
||||
STARTING_PRICE = 6;
|
||||
INCREMENT = 7;
|
||||
TENDERING = 8;
|
||||
GENERIC_MESSAGE = 9;
|
||||
CREATE_LOT = 10;
|
||||
NOT_INTERESTED = 11;
|
||||
INTERESTED = 12;
|
||||
ACTIVITY = 13;
|
||||
NEW_CLIENT = 14;
|
||||
CLOSED_CLIENT = 15;
|
||||
KILL = 16;
|
||||
MULTILOT_REQUEST = 17;
|
||||
MULTILOT_RESPONSE = 18;
|
||||
SYNC_PAYMENT_LIMIT = 19;
|
||||
SWITCH_FREE_BID_AUTHORIZE = 20;
|
||||
REFRESH_CLIENTS_COUNT = 21;
|
||||
}
|
||||
|
||||
Type type = 1;
|
||||
ClientStruct client = 2;
|
||||
VenteStruct vente = 3;
|
||||
string message = 4;
|
||||
map<string, string> paramsMap = 5;
|
||||
int64 pingtime = 6;
|
||||
}
|
||||
|
||||
message LotStruct {
|
||||
enum State {
|
||||
NEW = 0;
|
||||
MAP = 1;
|
||||
BIDDING = 2;
|
||||
ADJ = 3;
|
||||
ADJ_CANCELED = 4;
|
||||
}
|
||||
|
||||
uint32 lotId = 1;
|
||||
State state = 2;
|
||||
uint32 nextLotId = 3;
|
||||
}
|
||||
|
||||
message VenteStruct {
|
||||
uint32 venteId = 1;
|
||||
BidStruct bid = 2;
|
||||
LotStruct lot = 3;
|
||||
repeated uint32 connectedRegisteredListList = 4;
|
||||
repeated uint32 connectedSpectatorListList = 5;
|
||||
repeated uint32 connectedCyberclercListList = 6;
|
||||
bool isfreebidauthorized = 7;
|
||||
uint32 connectedbiddercount = 8;
|
||||
uint32 connectedspectatorcount = 9;
|
||||
uint32 readytobidcount = 10;
|
||||
}
|
||||
|
|
@ -1,6 +1,6 @@
|
|||
// Drouot.js
|
||||
'use strict';
|
||||
const {Scraper} = require('../Scraper');
|
||||
const {Scraper} = require('../../Scraper');
|
||||
|
||||
class Drouot extends Scraper {
|
||||
|
||||
|
|
@ -0,0 +1,989 @@
|
|||
Ye.exportSymbol("proto.BidStruct", null, Ve),
|
||||
Ye.exportSymbol("proto.BidStruct.Type", null, Ve),
|
||||
Ye.exportSymbol("proto.ClientStruct", null, Ve),
|
||||
Ye.exportSymbol("proto.ClientStruct.Activity", null, Ve),
|
||||
Ye.exportSymbol("proto.ClientStruct.Permission", null, Ve),
|
||||
Ye.exportSymbol("proto.IncrementData", null, Ve),
|
||||
Ye.exportSymbol("proto.IncrementStep", null, Ve),
|
||||
Ye.exportSymbol("proto.IncrementStruct", null, Ve),
|
||||
Ye.exportSymbol("proto.IncrementStruct.Type", null, Ve),
|
||||
Ye.exportSymbol("proto.LiveBiddingMessage", null, Ve),
|
||||
Ye.exportSymbol("proto.LiveBiddingMessage.Type", null, Ve),
|
||||
Ye.exportSymbol("proto.LotStruct", null, Ve),
|
||||
Ye.exportSymbol("proto.LotStruct.State", null, Ve),
|
||||
Ye.exportSymbol("proto.VenteStruct", null, Ve),
|
||||
(proto.IncrementStep = function (Be) {
|
||||
_e.Message.initialize(this, Be, 0, -1, null, null);
|
||||
}),
|
||||
Ye.inherits(proto.IncrementStep, _e.Message),
|
||||
Ye.DEBUG && !COMPILED && (proto.IncrementStep.displayName = "proto.IncrementStep"),
|
||||
(proto.IncrementData = function (Be) {
|
||||
_e.Message.initialize(this, Be, 0, -1, proto.IncrementData.repeatedFields_, null);
|
||||
}),
|
||||
Ye.inherits(proto.IncrementData, _e.Message),
|
||||
Ye.DEBUG && !COMPILED && (proto.IncrementData.displayName = "proto.IncrementData"),
|
||||
(proto.IncrementStruct = function (Be) {
|
||||
_e.Message.initialize(this, Be, 0, -1, null, null);
|
||||
}),
|
||||
Ye.inherits(proto.IncrementStruct, _e.Message),
|
||||
Ye.DEBUG && !COMPILED && (proto.IncrementStruct.displayName = "proto.IncrementStruct"),
|
||||
(proto.BidStruct = function (Be) {
|
||||
_e.Message.initialize(this, Be, 0, -1, null, null);
|
||||
}),
|
||||
Ye.inherits(proto.BidStruct, _e.Message),
|
||||
Ye.DEBUG && !COMPILED && (proto.BidStruct.displayName = "proto.BidStruct"),
|
||||
(proto.LotStruct = function (Be) {
|
||||
_e.Message.initialize(this, Be, 0, -1, null, null);
|
||||
}),
|
||||
Ye.inherits(proto.LotStruct, _e.Message),
|
||||
Ye.DEBUG && !COMPILED && (proto.LotStruct.displayName = "proto.LotStruct"),
|
||||
(proto.VenteStruct = function (Be) {
|
||||
_e.Message.initialize(this, Be, 0, -1, proto.VenteStruct.repeatedFields_, null);
|
||||
}),
|
||||
Ye.inherits(proto.VenteStruct, _e.Message),
|
||||
Ye.DEBUG && !COMPILED && (proto.VenteStruct.displayName = "proto.VenteStruct"),
|
||||
(proto.ClientStruct = function (Be) {
|
||||
_e.Message.initialize(this, Be, 0, -1, null, null);
|
||||
}),
|
||||
Ye.inherits(proto.ClientStruct, _e.Message),
|
||||
Ye.DEBUG && !COMPILED && (proto.ClientStruct.displayName = "proto.ClientStruct"),
|
||||
(proto.LiveBiddingMessage = function (Be) {
|
||||
_e.Message.initialize(this, Be, 0, -1, null, null);
|
||||
}),
|
||||
Ye.inherits(proto.LiveBiddingMessage, _e.Message),
|
||||
Ye.DEBUG && !COMPILED && (proto.LiveBiddingMessage.displayName = "proto.LiveBiddingMessage"),
|
||||
_e.Message.GENERATE_TO_OBJECT &&
|
||||
((proto.IncrementStep.prototype.toObject = function (Be) {
|
||||
return proto.IncrementStep.toObject(Be, this);
|
||||
}),
|
||||
(proto.IncrementStep.toObject = function (Be, Re) {
|
||||
var Ue = { startvalue: _e.Message.getFieldWithDefault(Re, 1, 0), incrementvalue: _e.Message.getFieldWithDefault(Re, 2, 0), specialstep: _e.Message.getBooleanFieldWithDefault(Re, 3, !1) };
|
||||
return Be && (Ue.$jspbMessageInstance = Re), Ue;
|
||||
})),
|
||||
(proto.IncrementStep.deserializeBinary = function (Be) {
|
||||
var Re = new _e.BinaryReader(Be),
|
||||
Ue = new proto.IncrementStep();
|
||||
return proto.IncrementStep.deserializeBinaryFromReader(Ue, Re);
|
||||
}),
|
||||
(proto.IncrementStep.deserializeBinaryFromReader = function (Be, Re) {
|
||||
for (; Re.nextField() && !Re.isEndGroup(); ) {
|
||||
switch (Re.getFieldNumber()) {
|
||||
case 1:
|
||||
var Ue = Re.readUint32();
|
||||
Be.setStartvalue(Ue);
|
||||
break;
|
||||
case 2:
|
||||
Ue = Re.readUint32();
|
||||
Be.setIncrementvalue(Ue);
|
||||
break;
|
||||
case 3:
|
||||
Ue = Re.readBool();
|
||||
Be.setSpecialstep(Ue);
|
||||
break;
|
||||
default:
|
||||
Re.skipField();
|
||||
}
|
||||
}
|
||||
return Be;
|
||||
}),
|
||||
(proto.IncrementStep.prototype.serializeBinary = function () {
|
||||
var Be = new _e.BinaryWriter();
|
||||
return proto.IncrementStep.serializeBinaryToWriter(this, Be), Be.getResultBuffer();
|
||||
}),
|
||||
(proto.IncrementStep.serializeBinaryToWriter = function (Be, Re) {
|
||||
var Ue = void 0;
|
||||
0 !== (Ue = Be.getStartvalue()) && Re.writeUint32(1, Ue), 0 !== (Ue = Be.getIncrementvalue()) && Re.writeUint32(2, Ue), (Ue = Be.getSpecialstep()) && Re.writeBool(3, Ue);
|
||||
}),
|
||||
(proto.IncrementStep.prototype.getStartvalue = function () {
|
||||
return _e.Message.getFieldWithDefault(this, 1, 0);
|
||||
}),
|
||||
(proto.IncrementStep.prototype.setStartvalue = function (Be) {
|
||||
return _e.Message.setProto3IntField(this, 1, Be);
|
||||
}),
|
||||
(proto.IncrementStep.prototype.getIncrementvalue = function () {
|
||||
return _e.Message.getFieldWithDefault(this, 2, 0);
|
||||
}),
|
||||
(proto.IncrementStep.prototype.setIncrementvalue = function (Be) {
|
||||
return _e.Message.setProto3IntField(this, 2, Be);
|
||||
}),
|
||||
(proto.IncrementStep.prototype.getSpecialstep = function () {
|
||||
return _e.Message.getBooleanFieldWithDefault(this, 3, !1);
|
||||
}),
|
||||
(proto.IncrementStep.prototype.setSpecialstep = function (Be) {
|
||||
return _e.Message.setProto3BooleanField(this, 3, Be);
|
||||
}),
|
||||
(proto.IncrementData.repeatedFields_ = [1]),
|
||||
_e.Message.GENERATE_TO_OBJECT &&
|
||||
((proto.IncrementData.prototype.toObject = function (Be) {
|
||||
return proto.IncrementData.toObject(Be, this);
|
||||
}),
|
||||
(proto.IncrementData.toObject = function (Be, Re) {
|
||||
var Ue = { incrementarrayList: _e.Message.toObjectList(Re.getIncrementarrayList(), proto.IncrementStep.toObject, Be) };
|
||||
return Be && (Ue.$jspbMessageInstance = Re), Ue;
|
||||
})),
|
||||
(proto.IncrementData.deserializeBinary = function (Be) {
|
||||
var Re = new _e.BinaryReader(Be),
|
||||
Ue = new proto.IncrementData();
|
||||
return proto.IncrementData.deserializeBinaryFromReader(Ue, Re);
|
||||
}),
|
||||
(proto.IncrementData.deserializeBinaryFromReader = function (Be, Re) {
|
||||
for (; Re.nextField() && !Re.isEndGroup(); ) {
|
||||
switch (Re.getFieldNumber()) {
|
||||
case 1:
|
||||
var Ue = new proto.IncrementStep();
|
||||
Re.readMessage(Ue, proto.IncrementStep.deserializeBinaryFromReader), Be.addIncrementarray(Ue);
|
||||
break;
|
||||
default:
|
||||
Re.skipField();
|
||||
}
|
||||
}
|
||||
return Be;
|
||||
}),
|
||||
(proto.IncrementData.prototype.serializeBinary = function () {
|
||||
var Be = new _e.BinaryWriter();
|
||||
return proto.IncrementData.serializeBinaryToWriter(this, Be), Be.getResultBuffer();
|
||||
}),
|
||||
(proto.IncrementData.serializeBinaryToWriter = function (Be, Re) {
|
||||
var Ue;
|
||||
(Ue = Be.getIncrementarrayList()).length > 0 && Re.writeRepeatedMessage(1, Ue, proto.IncrementStep.serializeBinaryToWriter);
|
||||
}),
|
||||
(proto.IncrementData.prototype.getIncrementarrayList = function () {
|
||||
return _e.Message.getRepeatedWrapperField(this, proto.IncrementStep, 1);
|
||||
}),
|
||||
(proto.IncrementData.prototype.setIncrementarrayList = function (Be) {
|
||||
return _e.Message.setRepeatedWrapperField(this, 1, Be);
|
||||
}),
|
||||
(proto.IncrementData.prototype.addIncrementarray = function (Be, Re) {
|
||||
return _e.Message.addToRepeatedWrapperField(this, 1, Be, proto.IncrementStep, Re);
|
||||
}),
|
||||
(proto.IncrementData.prototype.clearIncrementarrayList = function () {
|
||||
return this.setIncrementarrayList([]);
|
||||
}),
|
||||
_e.Message.GENERATE_TO_OBJECT &&
|
||||
((proto.IncrementStruct.prototype.toObject = function (Be) {
|
||||
return proto.IncrementStruct.toObject(Be, this);
|
||||
}),
|
||||
(proto.IncrementStruct.toObject = function (Be, Re) {
|
||||
var Ue,
|
||||
Ye = { type: _e.Message.getFieldWithDefault(Re, 1, 0), fixedvalue: _e.Message.getFieldWithDefault(Re, 2, 0), customincrement: (Ue = Re.getCustomincrement()) && proto.IncrementData.toObject(Be, Ue) };
|
||||
return Be && (Ye.$jspbMessageInstance = Re), Ye;
|
||||
})),
|
||||
(proto.IncrementStruct.deserializeBinary = function (Be) {
|
||||
var Re = new _e.BinaryReader(Be),
|
||||
Ue = new proto.IncrementStruct();
|
||||
return proto.IncrementStruct.deserializeBinaryFromReader(Ue, Re);
|
||||
}),
|
||||
(proto.IncrementStruct.deserializeBinaryFromReader = function (Be, Re) {
|
||||
for (; Re.nextField() && !Re.isEndGroup(); ) {
|
||||
switch (Re.getFieldNumber()) {
|
||||
case 1:
|
||||
var Ue = Re.readEnum();
|
||||
Be.setType(Ue);
|
||||
break;
|
||||
case 2:
|
||||
Ue = Re.readUint32();
|
||||
Be.setFixedvalue(Ue);
|
||||
break;
|
||||
case 3:
|
||||
Ue = new proto.IncrementData();
|
||||
Re.readMessage(Ue, proto.IncrementData.deserializeBinaryFromReader), Be.setCustomincrement(Ue);
|
||||
break;
|
||||
default:
|
||||
Re.skipField();
|
||||
}
|
||||
}
|
||||
return Be;
|
||||
}),
|
||||
(proto.IncrementStruct.prototype.serializeBinary = function () {
|
||||
var Be = new _e.BinaryWriter();
|
||||
return proto.IncrementStruct.serializeBinaryToWriter(this, Be), Be.getResultBuffer();
|
||||
}),
|
||||
(proto.IncrementStruct.serializeBinaryToWriter = function (Be, Re) {
|
||||
var Ue = void 0;
|
||||
0 !== (Ue = Be.getType()) && Re.writeEnum(1, Ue), 0 !== (Ue = Be.getFixedvalue()) && Re.writeUint32(2, Ue), null != (Ue = Be.getCustomincrement()) && Re.writeMessage(3, Ue, proto.IncrementData.serializeBinaryToWriter);
|
||||
}),
|
||||
(proto.IncrementStruct.Type = { FIXED: 0, SMALL: 1, MEDIUM: 2, BIG: 3, SMALL_VEHICLE: 4, MEDIUM_VEHICLE: 5, STANDARD: 6, MODEL10: 7, CUSTOM: 8 }),
|
||||
(proto.IncrementStruct.prototype.getType = function () {
|
||||
return _e.Message.getFieldWithDefault(this, 1, 0);
|
||||
}),
|
||||
(proto.IncrementStruct.prototype.setType = function (Be) {
|
||||
return _e.Message.setProto3EnumField(this, 1, Be);
|
||||
}),
|
||||
(proto.IncrementStruct.prototype.getFixedvalue = function () {
|
||||
return _e.Message.getFieldWithDefault(this, 2, 0);
|
||||
}),
|
||||
(proto.IncrementStruct.prototype.setFixedvalue = function (Be) {
|
||||
return _e.Message.setProto3IntField(this, 2, Be);
|
||||
}),
|
||||
(proto.IncrementStruct.prototype.getCustomincrement = function () {
|
||||
return _e.Message.getWrapperField(this, proto.IncrementData, 3);
|
||||
}),
|
||||
(proto.IncrementStruct.prototype.setCustomincrement = function (Be) {
|
||||
return _e.Message.setWrapperField(this, 3, Be);
|
||||
}),
|
||||
(proto.IncrementStruct.prototype.clearCustomincrement = function () {
|
||||
return this.setCustomincrement(void 0);
|
||||
}),
|
||||
(proto.IncrementStruct.prototype.hasCustomincrement = function () {
|
||||
return null != _e.Message.getField(this, 3);
|
||||
}),
|
||||
_e.Message.GENERATE_TO_OBJECT &&
|
||||
((proto.BidStruct.prototype.toObject = function (Be) {
|
||||
return proto.BidStruct.toObject(Be, this);
|
||||
}),
|
||||
(proto.BidStruct.toObject = function (Be, Re) {
|
||||
var Ue,
|
||||
Ye = {
|
||||
amount: _e.Message.getFieldWithDefault(Re, 1, 0),
|
||||
currentBidder: _e.Message.getFieldWithDefault(Re, 2, 0),
|
||||
type: _e.Message.getFieldWithDefault(Re, 3, 0),
|
||||
hasPriority: _e.Message.getBooleanFieldWithDefault(Re, 4, !1),
|
||||
isLate: _e.Message.getBooleanFieldWithDefault(Re, 5, !1),
|
||||
isAuto: _e.Message.getBooleanFieldWithDefault(Re, 6, !1),
|
||||
increment: (Ue = Re.getIncrement()) && proto.IncrementStruct.toObject(Be, Ue),
|
||||
nextamount: _e.Message.getFieldWithDefault(Re, 8, 0),
|
||||
nextsmallamount: _e.Message.getFieldWithDefault(Re, 9, 0),
|
||||
nextmediumamount: _e.Message.getFieldWithDefault(Re, 10, 0),
|
||||
nextbigamount: _e.Message.getFieldWithDefault(Re, 11, 0),
|
||||
nextsmallvehicleamount: _e.Message.getFieldWithDefault(Re, 12, 0),
|
||||
nextmediumvehicleamount: _e.Message.getFieldWithDefault(Re, 13, 0),
|
||||
nextstandardamount: _e.Message.getFieldWithDefault(Re, 14, 0),
|
||||
nextmodel10amount: _e.Message.getFieldWithDefault(Re, 15, 0),
|
||||
};
|
||||
return Be && (Ye.$jspbMessageInstance = Re), Ye;
|
||||
})),
|
||||
(proto.BidStruct.deserializeBinary = function (Be) {
|
||||
var Re = new _e.BinaryReader(Be),
|
||||
Ue = new proto.BidStruct();
|
||||
return proto.BidStruct.deserializeBinaryFromReader(Ue, Re);
|
||||
}),
|
||||
(proto.BidStruct.deserializeBinaryFromReader = function (Be, Re) {
|
||||
for (; Re.nextField() && !Re.isEndGroup(); ) {
|
||||
switch (Re.getFieldNumber()) {
|
||||
case 1:
|
||||
var Ue = Re.readUint32();
|
||||
Be.setAmount(Ue);
|
||||
break;
|
||||
case 2:
|
||||
Ue = Re.readUint32();
|
||||
Be.setCurrentBidder(Ue);
|
||||
break;
|
||||
case 3:
|
||||
Ue = Re.readEnum();
|
||||
Be.setType(Ue);
|
||||
break;
|
||||
case 4:
|
||||
Ue = Re.readBool();
|
||||
Be.setHasPriority(Ue);
|
||||
break;
|
||||
case 5:
|
||||
Ue = Re.readBool();
|
||||
Be.setIsLate(Ue);
|
||||
break;
|
||||
case 6:
|
||||
Ue = Re.readBool();
|
||||
Be.setIsAuto(Ue);
|
||||
break;
|
||||
case 7:
|
||||
Ue = new proto.IncrementStruct();
|
||||
Re.readMessage(Ue, proto.IncrementStruct.deserializeBinaryFromReader), Be.setIncrement(Ue);
|
||||
break;
|
||||
case 8:
|
||||
Ue = Re.readUint32();
|
||||
Be.setNextamount(Ue);
|
||||
break;
|
||||
case 9:
|
||||
Ue = Re.readUint32();
|
||||
Be.setNextsmallamount(Ue);
|
||||
break;
|
||||
case 10:
|
||||
Ue = Re.readUint32();
|
||||
Be.setNextmediumamount(Ue);
|
||||
break;
|
||||
case 11:
|
||||
Ue = Re.readUint32();
|
||||
Be.setNextbigamount(Ue);
|
||||
break;
|
||||
case 12:
|
||||
Ue = Re.readUint32();
|
||||
Be.setNextsmallvehicleamount(Ue);
|
||||
break;
|
||||
case 13:
|
||||
Ue = Re.readUint32();
|
||||
Be.setNextmediumvehicleamount(Ue);
|
||||
break;
|
||||
case 14:
|
||||
Ue = Re.readUint32();
|
||||
Be.setNextstandardamount(Ue);
|
||||
break;
|
||||
case 15:
|
||||
Ue = Re.readUint32();
|
||||
Be.setNextmodel10amount(Ue);
|
||||
break;
|
||||
default:
|
||||
Re.skipField();
|
||||
}
|
||||
}
|
||||
return Be;
|
||||
}),
|
||||
(proto.BidStruct.prototype.serializeBinary = function () {
|
||||
var Be = new _e.BinaryWriter();
|
||||
return proto.BidStruct.serializeBinaryToWriter(this, Be), Be.getResultBuffer();
|
||||
}),
|
||||
(proto.BidStruct.serializeBinaryToWriter = function (Be, Re) {
|
||||
var Ue = void 0;
|
||||
0 !== (Ue = Be.getAmount()) && Re.writeUint32(1, Ue),
|
||||
0 !== (Ue = Be.getCurrentBidder()) && Re.writeUint32(2, Ue),
|
||||
0 !== (Ue = Be.getType()) && Re.writeEnum(3, Ue),
|
||||
(Ue = Be.getHasPriority()) && Re.writeBool(4, Ue),
|
||||
(Ue = Be.getIsLate()) && Re.writeBool(5, Ue),
|
||||
(Ue = Be.getIsAuto()) && Re.writeBool(6, Ue),
|
||||
null != (Ue = Be.getIncrement()) && Re.writeMessage(7, Ue, proto.IncrementStruct.serializeBinaryToWriter),
|
||||
0 !== (Ue = Be.getNextamount()) && Re.writeUint32(8, Ue),
|
||||
0 !== (Ue = Be.getNextsmallamount()) && Re.writeUint32(9, Ue),
|
||||
0 !== (Ue = Be.getNextmediumamount()) && Re.writeUint32(10, Ue),
|
||||
0 !== (Ue = Be.getNextbigamount()) && Re.writeUint32(11, Ue),
|
||||
0 !== (Ue = Be.getNextsmallvehicleamount()) && Re.writeUint32(12, Ue),
|
||||
0 !== (Ue = Be.getNextmediumvehicleamount()) && Re.writeUint32(13, Ue),
|
||||
0 !== (Ue = Be.getNextstandardamount()) && Re.writeUint32(14, Ue),
|
||||
0 !== (Ue = Be.getNextmodel10amount()) && Re.writeUint32(15, Ue);
|
||||
}),
|
||||
(proto.BidStruct.Type = { LIVE: 0, ROOM: 1 }),
|
||||
(proto.BidStruct.prototype.getAmount = function () {
|
||||
return _e.Message.getFieldWithDefault(this, 1, 0);
|
||||
}),
|
||||
(proto.BidStruct.prototype.setAmount = function (Be) {
|
||||
return _e.Message.setProto3IntField(this, 1, Be);
|
||||
}),
|
||||
(proto.BidStruct.prototype.getCurrentBidder = function () {
|
||||
return _e.Message.getFieldWithDefault(this, 2, 0);
|
||||
}),
|
||||
(proto.BidStruct.prototype.setCurrentBidder = function (Be) {
|
||||
return _e.Message.setProto3IntField(this, 2, Be);
|
||||
}),
|
||||
(proto.BidStruct.prototype.getType = function () {
|
||||
return _e.Message.getFieldWithDefault(this, 3, 0);
|
||||
}),
|
||||
(proto.BidStruct.prototype.setType = function (Be) {
|
||||
return _e.Message.setProto3EnumField(this, 3, Be);
|
||||
}),
|
||||
(proto.BidStruct.prototype.getHasPriority = function () {
|
||||
return _e.Message.getBooleanFieldWithDefault(this, 4, !1);
|
||||
}),
|
||||
(proto.BidStruct.prototype.setHasPriority = function (Be) {
|
||||
return _e.Message.setProto3BooleanField(this, 4, Be);
|
||||
}),
|
||||
(proto.BidStruct.prototype.getIsLate = function () {
|
||||
return _e.Message.getBooleanFieldWithDefault(this, 5, !1);
|
||||
}),
|
||||
(proto.BidStruct.prototype.setIsLate = function (Be) {
|
||||
return _e.Message.setProto3BooleanField(this, 5, Be);
|
||||
}),
|
||||
(proto.BidStruct.prototype.getIsAuto = function () {
|
||||
return _e.Message.getBooleanFieldWithDefault(this, 6, !1);
|
||||
}),
|
||||
(proto.BidStruct.prototype.setIsAuto = function (Be) {
|
||||
return _e.Message.setProto3BooleanField(this, 6, Be);
|
||||
}),
|
||||
(proto.BidStruct.prototype.getIncrement = function () {
|
||||
return _e.Message.getWrapperField(this, proto.IncrementStruct, 7);
|
||||
}),
|
||||
(proto.BidStruct.prototype.setIncrement = function (Be) {
|
||||
return _e.Message.setWrapperField(this, 7, Be);
|
||||
}),
|
||||
(proto.BidStruct.prototype.clearIncrement = function () {
|
||||
return this.setIncrement(void 0);
|
||||
}),
|
||||
(proto.BidStruct.prototype.hasIncrement = function () {
|
||||
return null != _e.Message.getField(this, 7);
|
||||
}),
|
||||
(proto.BidStruct.prototype.getNextamount = function () {
|
||||
return _e.Message.getFieldWithDefault(this, 8, 0);
|
||||
}),
|
||||
(proto.BidStruct.prototype.setNextamount = function (Be) {
|
||||
return _e.Message.setProto3IntField(this, 8, Be);
|
||||
}),
|
||||
(proto.BidStruct.prototype.getNextsmallamount = function () {
|
||||
return _e.Message.getFieldWithDefault(this, 9, 0);
|
||||
}),
|
||||
(proto.BidStruct.prototype.setNextsmallamount = function (Be) {
|
||||
return _e.Message.setProto3IntField(this, 9, Be);
|
||||
}),
|
||||
(proto.BidStruct.prototype.getNextmediumamount = function () {
|
||||
return _e.Message.getFieldWithDefault(this, 10, 0);
|
||||
}),
|
||||
(proto.BidStruct.prototype.setNextmediumamount = function (Be) {
|
||||
return _e.Message.setProto3IntField(this, 10, Be);
|
||||
}),
|
||||
(proto.BidStruct.prototype.getNextbigamount = function () {
|
||||
return _e.Message.getFieldWithDefault(this, 11, 0);
|
||||
}),
|
||||
(proto.BidStruct.prototype.setNextbigamount = function (Be) {
|
||||
return _e.Message.setProto3IntField(this, 11, Be);
|
||||
}),
|
||||
(proto.BidStruct.prototype.getNextsmallvehicleamount = function () {
|
||||
return _e.Message.getFieldWithDefault(this, 12, 0);
|
||||
}),
|
||||
(proto.BidStruct.prototype.setNextsmallvehicleamount = function (Be) {
|
||||
return _e.Message.setProto3IntField(this, 12, Be);
|
||||
}),
|
||||
(proto.BidStruct.prototype.getNextmediumvehicleamount = function () {
|
||||
return _e.Message.getFieldWithDefault(this, 13, 0);
|
||||
}),
|
||||
(proto.BidStruct.prototype.setNextmediumvehicleamount = function (Be) {
|
||||
return _e.Message.setProto3IntField(this, 13, Be);
|
||||
}),
|
||||
(proto.BidStruct.prototype.getNextstandardamount = function () {
|
||||
return _e.Message.getFieldWithDefault(this, 14, 0);
|
||||
}),
|
||||
(proto.BidStruct.prototype.setNextstandardamount = function (Be) {
|
||||
return _e.Message.setProto3IntField(this, 14, Be);
|
||||
}),
|
||||
(proto.BidStruct.prototype.getNextmodel10amount = function () {
|
||||
return _e.Message.getFieldWithDefault(this, 15, 0);
|
||||
}),
|
||||
(proto.BidStruct.prototype.setNextmodel10amount = function (Be) {
|
||||
return _e.Message.setProto3IntField(this, 15, Be);
|
||||
}),
|
||||
_e.Message.GENERATE_TO_OBJECT &&
|
||||
((proto.LotStruct.prototype.toObject = function (Be) {
|
||||
return proto.LotStruct.toObject(Be, this);
|
||||
}),
|
||||
(proto.LotStruct.toObject = function (Be, Re) {
|
||||
var Ue = { lotId: _e.Message.getFieldWithDefault(Re, 1, 0), state: _e.Message.getFieldWithDefault(Re, 2, 0), nextLotId: _e.Message.getFieldWithDefault(Re, 3, 0) };
|
||||
return Be && (Ue.$jspbMessageInstance = Re), Ue;
|
||||
})),
|
||||
(proto.LotStruct.deserializeBinary = function (Be) {
|
||||
var Re = new _e.BinaryReader(Be),
|
||||
Ue = new proto.LotStruct();
|
||||
return proto.LotStruct.deserializeBinaryFromReader(Ue, Re);
|
||||
}),
|
||||
(proto.LotStruct.deserializeBinaryFromReader = function (Be, Re) {
|
||||
for (; Re.nextField() && !Re.isEndGroup(); ) {
|
||||
switch (Re.getFieldNumber()) {
|
||||
case 1:
|
||||
var Ue = Re.readUint32();
|
||||
Be.setLotId(Ue);
|
||||
break;
|
||||
case 2:
|
||||
Ue = Re.readEnum();
|
||||
Be.setState(Ue);
|
||||
break;
|
||||
case 3:
|
||||
Ue = Re.readUint32();
|
||||
Be.setNextLotId(Ue);
|
||||
break;
|
||||
default:
|
||||
Re.skipField();
|
||||
}
|
||||
}
|
||||
return Be;
|
||||
}),
|
||||
(proto.LotStruct.prototype.serializeBinary = function () {
|
||||
var Be = new _e.BinaryWriter();
|
||||
return proto.LotStruct.serializeBinaryToWriter(this, Be), Be.getResultBuffer();
|
||||
}),
|
||||
(proto.LotStruct.serializeBinaryToWriter = function (Be, Re) {
|
||||
var Ue = void 0;
|
||||
0 !== (Ue = Be.getLotId()) && Re.writeUint32(1, Ue), 0 !== (Ue = Be.getState()) && Re.writeEnum(2, Ue), 0 !== (Ue = Be.getNextLotId()) && Re.writeUint32(3, Ue);
|
||||
}),
|
||||
(proto.LotStruct.State = { NEW: 0, MAP: 1, BIDDING: 2, ADJ: 3, ADJ_CANCELED: 4 }),
|
||||
(proto.LotStruct.prototype.getLotId = function () {
|
||||
return _e.Message.getFieldWithDefault(this, 1, 0);
|
||||
}),
|
||||
(proto.LotStruct.prototype.setLotId = function (Be) {
|
||||
return _e.Message.setProto3IntField(this, 1, Be);
|
||||
}),
|
||||
(proto.LotStruct.prototype.getState = function () {
|
||||
return _e.Message.getFieldWithDefault(this, 2, 0);
|
||||
}),
|
||||
(proto.LotStruct.prototype.setState = function (Be) {
|
||||
return _e.Message.setProto3EnumField(this, 2, Be);
|
||||
}),
|
||||
(proto.LotStruct.prototype.getNextLotId = function () {
|
||||
return _e.Message.getFieldWithDefault(this, 3, 0);
|
||||
}),
|
||||
(proto.LotStruct.prototype.setNextLotId = function (Be) {
|
||||
return _e.Message.setProto3IntField(this, 3, Be);
|
||||
}),
|
||||
(proto.VenteStruct.repeatedFields_ = [4, 5, 6]),
|
||||
_e.Message.GENERATE_TO_OBJECT &&
|
||||
((proto.VenteStruct.prototype.toObject = function (Be) {
|
||||
return proto.VenteStruct.toObject(Be, this);
|
||||
}),
|
||||
(proto.VenteStruct.toObject = function (Be, Re) {
|
||||
var Ue,
|
||||
Ye = {
|
||||
venteId: _e.Message.getFieldWithDefault(Re, 1, 0),
|
||||
bid: (Ue = Re.getBid()) && proto.BidStruct.toObject(Be, Ue),
|
||||
lot: (Ue = Re.getLot()) && proto.LotStruct.toObject(Be, Ue),
|
||||
connectedRegisteredListList: null == (Ue = _e.Message.getRepeatedField(Re, 4)) ? void 0 : Ue,
|
||||
connectedSpectatorListList: null == (Ue = _e.Message.getRepeatedField(Re, 5)) ? void 0 : Ue,
|
||||
connectedCyberclercListList: null == (Ue = _e.Message.getRepeatedField(Re, 6)) ? void 0 : Ue,
|
||||
isfreebidauthorized: _e.Message.getBooleanFieldWithDefault(Re, 7, !1),
|
||||
connectedbiddercount: _e.Message.getFieldWithDefault(Re, 8, 0),
|
||||
connectedspectatorcount: _e.Message.getFieldWithDefault(Re, 9, 0),
|
||||
readytobidcount: _e.Message.getFieldWithDefault(Re, 10, 0),
|
||||
};
|
||||
return Be && (Ye.$jspbMessageInstance = Re), Ye;
|
||||
})),
|
||||
(proto.VenteStruct.deserializeBinary = function (Be) {
|
||||
var Re = new _e.BinaryReader(Be),
|
||||
Ue = new proto.VenteStruct();
|
||||
return proto.VenteStruct.deserializeBinaryFromReader(Ue, Re);
|
||||
}),
|
||||
(proto.VenteStruct.deserializeBinaryFromReader = function (Be, Re) {
|
||||
for (; Re.nextField() && !Re.isEndGroup(); ) {
|
||||
switch (Re.getFieldNumber()) {
|
||||
case 1:
|
||||
var Ue = Re.readUint32();
|
||||
Be.setVenteId(Ue);
|
||||
break;
|
||||
case 2:
|
||||
Ue = new proto.BidStruct();
|
||||
Re.readMessage(Ue, proto.BidStruct.deserializeBinaryFromReader), Be.setBid(Ue);
|
||||
break;
|
||||
case 3:
|
||||
Ue = new proto.LotStruct();
|
||||
Re.readMessage(Ue, proto.LotStruct.deserializeBinaryFromReader), Be.setLot(Ue);
|
||||
break;
|
||||
case 4:
|
||||
for (var _e = Re.isDelimited() ? Re.readPackedUint32() : [Re.readUint32()], Ye = 0; Ye < _e.length; Ye++) Be.addConnectedRegisteredList(_e[Ye]);
|
||||
break;
|
||||
case 5:
|
||||
for (_e = Re.isDelimited() ? Re.readPackedUint32() : [Re.readUint32()], Ye = 0; Ye < _e.length; Ye++) Be.addConnectedSpectatorList(_e[Ye]);
|
||||
break;
|
||||
case 6:
|
||||
for (_e = Re.isDelimited() ? Re.readPackedUint32() : [Re.readUint32()], Ye = 0; Ye < _e.length; Ye++) Be.addConnectedCyberclercList(_e[Ye]);
|
||||
break;
|
||||
case 7:
|
||||
Ue = Re.readBool();
|
||||
Be.setIsfreebidauthorized(Ue);
|
||||
break;
|
||||
case 8:
|
||||
Ue = Re.readUint32();
|
||||
Be.setConnectedbiddercount(Ue);
|
||||
break;
|
||||
case 9:
|
||||
Ue = Re.readUint32();
|
||||
Be.setConnectedspectatorcount(Ue);
|
||||
break;
|
||||
case 10:
|
||||
Ue = Re.readUint32();
|
||||
Be.setReadytobidcount(Ue);
|
||||
break;
|
||||
default:
|
||||
Re.skipField();
|
||||
}
|
||||
}
|
||||
return Be;
|
||||
}),
|
||||
(proto.VenteStruct.prototype.serializeBinary = function () {
|
||||
var Be = new _e.BinaryWriter();
|
||||
return proto.VenteStruct.serializeBinaryToWriter(this, Be), Be.getResultBuffer();
|
||||
}),
|
||||
(proto.VenteStruct.serializeBinaryToWriter = function (Be, Re) {
|
||||
var Ue = void 0;
|
||||
0 !== (Ue = Be.getVenteId()) && Re.writeUint32(1, Ue),
|
||||
null != (Ue = Be.getBid()) && Re.writeMessage(2, Ue, proto.BidStruct.serializeBinaryToWriter),
|
||||
null != (Ue = Be.getLot()) && Re.writeMessage(3, Ue, proto.LotStruct.serializeBinaryToWriter),
|
||||
(Ue = Be.getConnectedRegisteredListList()).length > 0 && Re.writePackedUint32(4, Ue),
|
||||
(Ue = Be.getConnectedSpectatorListList()).length > 0 && Re.writePackedUint32(5, Ue),
|
||||
(Ue = Be.getConnectedCyberclercListList()).length > 0 && Re.writePackedUint32(6, Ue),
|
||||
(Ue = Be.getIsfreebidauthorized()) && Re.writeBool(7, Ue),
|
||||
0 !== (Ue = Be.getConnectedbiddercount()) && Re.writeUint32(8, Ue),
|
||||
0 !== (Ue = Be.getConnectedspectatorcount()) && Re.writeUint32(9, Ue),
|
||||
0 !== (Ue = Be.getReadytobidcount()) && Re.writeUint32(10, Ue);
|
||||
}),
|
||||
(proto.VenteStruct.prototype.getVenteId = function () {
|
||||
return _e.Message.getFieldWithDefault(this, 1, 0);
|
||||
}),
|
||||
(proto.VenteStruct.prototype.setVenteId = function (Be) {
|
||||
return _e.Message.setProto3IntField(this, 1, Be);
|
||||
}),
|
||||
(proto.VenteStruct.prototype.getBid = function () {
|
||||
return _e.Message.getWrapperField(this, proto.BidStruct, 2);
|
||||
}),
|
||||
(proto.VenteStruct.prototype.setBid = function (Be) {
|
||||
return _e.Message.setWrapperField(this, 2, Be);
|
||||
}),
|
||||
(proto.VenteStruct.prototype.clearBid = function () {
|
||||
return this.setBid(void 0);
|
||||
}),
|
||||
(proto.VenteStruct.prototype.hasBid = function () {
|
||||
return null != _e.Message.getField(this, 2);
|
||||
}),
|
||||
(proto.VenteStruct.prototype.getLot = function () {
|
||||
return _e.Message.getWrapperField(this, proto.LotStruct, 3);
|
||||
}),
|
||||
(proto.VenteStruct.prototype.setLot = function (Be) {
|
||||
return _e.Message.setWrapperField(this, 3, Be);
|
||||
}),
|
||||
(proto.VenteStruct.prototype.clearLot = function () {
|
||||
return this.setLot(void 0);
|
||||
}),
|
||||
(proto.VenteStruct.prototype.hasLot = function () {
|
||||
return null != _e.Message.getField(this, 3);
|
||||
}),
|
||||
(proto.VenteStruct.prototype.getConnectedRegisteredListList = function () {
|
||||
return _e.Message.getRepeatedField(this, 4);
|
||||
}),
|
||||
(proto.VenteStruct.prototype.setConnectedRegisteredListList = function (Be) {
|
||||
return _e.Message.setField(this, 4, Be || []);
|
||||
}),
|
||||
(proto.VenteStruct.prototype.addConnectedRegisteredList = function (Be, Re) {
|
||||
return _e.Message.addToRepeatedField(this, 4, Be, Re);
|
||||
}),
|
||||
(proto.VenteStruct.prototype.clearConnectedRegisteredListList = function () {
|
||||
return this.setConnectedRegisteredListList([]);
|
||||
}),
|
||||
(proto.VenteStruct.prototype.getConnectedSpectatorListList = function () {
|
||||
return _e.Message.getRepeatedField(this, 5);
|
||||
}),
|
||||
(proto.VenteStruct.prototype.setConnectedSpectatorListList = function (Be) {
|
||||
return _e.Message.setField(this, 5, Be || []);
|
||||
}),
|
||||
(proto.VenteStruct.prototype.addConnectedSpectatorList = function (Be, Re) {
|
||||
return _e.Message.addToRepeatedField(this, 5, Be, Re);
|
||||
}),
|
||||
(proto.VenteStruct.prototype.clearConnectedSpectatorListList = function () {
|
||||
return this.setConnectedSpectatorListList([]);
|
||||
}),
|
||||
(proto.VenteStruct.prototype.getConnectedCyberclercListList = function () {
|
||||
return _e.Message.getRepeatedField(this, 6);
|
||||
}),
|
||||
(proto.VenteStruct.prototype.setConnectedCyberclercListList = function (Be) {
|
||||
return _e.Message.setField(this, 6, Be || []);
|
||||
}),
|
||||
(proto.VenteStruct.prototype.addConnectedCyberclercList = function (Be, Re) {
|
||||
return _e.Message.addToRepeatedField(this, 6, Be, Re);
|
||||
}),
|
||||
(proto.VenteStruct.prototype.clearConnectedCyberclercListList = function () {
|
||||
return this.setConnectedCyberclercListList([]);
|
||||
}),
|
||||
(proto.VenteStruct.prototype.getIsfreebidauthorized = function () {
|
||||
return _e.Message.getBooleanFieldWithDefault(this, 7, !1);
|
||||
}),
|
||||
(proto.VenteStruct.prototype.setIsfreebidauthorized = function (Be) {
|
||||
return _e.Message.setProto3BooleanField(this, 7, Be);
|
||||
}),
|
||||
(proto.VenteStruct.prototype.getConnectedbiddercount = function () {
|
||||
return _e.Message.getFieldWithDefault(this, 8, 0);
|
||||
}),
|
||||
(proto.VenteStruct.prototype.setConnectedbiddercount = function (Be) {
|
||||
return _e.Message.setProto3IntField(this, 8, Be);
|
||||
}),
|
||||
(proto.VenteStruct.prototype.getConnectedspectatorcount = function () {
|
||||
return _e.Message.getFieldWithDefault(this, 9, 0);
|
||||
}),
|
||||
(proto.VenteStruct.prototype.setConnectedspectatorcount = function (Be) {
|
||||
return _e.Message.setProto3IntField(this, 9, Be);
|
||||
}),
|
||||
(proto.VenteStruct.prototype.getReadytobidcount = function () {
|
||||
return _e.Message.getFieldWithDefault(this, 10, 0);
|
||||
}),
|
||||
(proto.VenteStruct.prototype.setReadytobidcount = function (Be) {
|
||||
return _e.Message.setProto3IntField(this, 10, Be);
|
||||
}),
|
||||
_e.Message.GENERATE_TO_OBJECT &&
|
||||
((proto.ClientStruct.prototype.toObject = function (Be) {
|
||||
return proto.ClientStruct.toObject(Be, this);
|
||||
}),
|
||||
(proto.ClientStruct.toObject = function (Be, Re) {
|
||||
var Ue = {
|
||||
sessionId: _e.Message.getFieldWithDefault(Re, 1, ""),
|
||||
passeportId: _e.Message.getFieldWithDefault(Re, 2, 0),
|
||||
uuid: _e.Message.getFieldWithDefault(Re, 3, ""),
|
||||
permission: _e.Message.getFieldWithDefault(Re, 4, 0),
|
||||
activity: _e.Message.getFieldWithDefault(Re, 5, 0),
|
||||
pingdelay: _e.Message.getFieldWithDefault(Re, 6, 0),
|
||||
maxamount: _e.Message.getFieldWithDefault(Re, 7, 0),
|
||||
hasnolimit: _e.Message.getBooleanFieldWithDefault(Re, 8, !1),
|
||||
token: _e.Message.getFieldWithDefault(Re, 9, ""),
|
||||
refreshtoken: _e.Message.getFieldWithDefault(Re, 10, ""),
|
||||
};
|
||||
return Be && (Ue.$jspbMessageInstance = Re), Ue;
|
||||
})),
|
||||
(proto.ClientStruct.deserializeBinary = function (Be) {
|
||||
var Re = new _e.BinaryReader(Be),
|
||||
Ue = new proto.ClientStruct();
|
||||
return proto.ClientStruct.deserializeBinaryFromReader(Ue, Re);
|
||||
}),
|
||||
(proto.ClientStruct.deserializeBinaryFromReader = function (Be, Re) {
|
||||
for (; Re.nextField() && !Re.isEndGroup(); ) {
|
||||
switch (Re.getFieldNumber()) {
|
||||
case 1:
|
||||
var Ue = Re.readString();
|
||||
Be.setSessionId(Ue);
|
||||
break;
|
||||
case 2:
|
||||
Ue = Re.readUint32();
|
||||
Be.setPasseportId(Ue);
|
||||
break;
|
||||
case 3:
|
||||
Ue = Re.readString();
|
||||
Be.setUuid(Ue);
|
||||
break;
|
||||
case 4:
|
||||
Ue = Re.readEnum();
|
||||
Be.setPermission(Ue);
|
||||
break;
|
||||
case 5:
|
||||
Ue = Re.readEnum();
|
||||
Be.setActivity(Ue);
|
||||
break;
|
||||
case 6:
|
||||
Ue = Re.readUint32();
|
||||
Be.setPingdelay(Ue);
|
||||
break;
|
||||
case 7:
|
||||
Ue = Re.readUint32();
|
||||
Be.setMaxamount(Ue);
|
||||
break;
|
||||
case 8:
|
||||
Ue = Re.readBool();
|
||||
Be.setHasnolimit(Ue);
|
||||
break;
|
||||
case 9:
|
||||
Ue = Re.readString();
|
||||
Be.setToken(Ue);
|
||||
break;
|
||||
case 10:
|
||||
Ue = Re.readString();
|
||||
Be.setRefreshtoken(Ue);
|
||||
break;
|
||||
default:
|
||||
Re.skipField();
|
||||
}
|
||||
}
|
||||
return Be;
|
||||
}),
|
||||
(proto.ClientStruct.prototype.serializeBinary = function () {
|
||||
var Be = new _e.BinaryWriter();
|
||||
return proto.ClientStruct.serializeBinaryToWriter(this, Be), Be.getResultBuffer();
|
||||
}),
|
||||
(proto.ClientStruct.serializeBinaryToWriter = function (Be, Re) {
|
||||
var Ue = void 0;
|
||||
(Ue = Be.getSessionId()).length > 0 && Re.writeString(1, Ue),
|
||||
0 !== (Ue = Be.getPasseportId()) && Re.writeUint32(2, Ue),
|
||||
(Ue = Be.getUuid()).length > 0 && Re.writeString(3, Ue),
|
||||
0 !== (Ue = Be.getPermission()) && Re.writeEnum(4, Ue),
|
||||
0 !== (Ue = Be.getActivity()) && Re.writeEnum(5, Ue),
|
||||
0 !== (Ue = Be.getPingdelay()) && Re.writeUint32(6, Ue),
|
||||
0 !== (Ue = Be.getMaxamount()) && Re.writeUint32(7, Ue),
|
||||
(Ue = Be.getHasnolimit()) && Re.writeBool(8, Ue),
|
||||
(Ue = Be.getToken()).length > 0 && Re.writeString(9, Ue),
|
||||
(Ue = Be.getRefreshtoken()).length > 0 && Re.writeString(10, Ue);
|
||||
}),
|
||||
(proto.ClientStruct.Permission = { BIDDER: 0, CYBER: 1, SPECTATOR: 2 }),
|
||||
(proto.ClientStruct.Activity = { IDLE: 0, ACTIVE: 1, OVER: 2, OUT: 3 }),
|
||||
(proto.ClientStruct.prototype.getSessionId = function () {
|
||||
return _e.Message.getFieldWithDefault(this, 1, "");
|
||||
}),
|
||||
(proto.ClientStruct.prototype.setSessionId = function (Be) {
|
||||
return _e.Message.setProto3StringField(this, 1, Be);
|
||||
}),
|
||||
(proto.ClientStruct.prototype.getPasseportId = function () {
|
||||
return _e.Message.getFieldWithDefault(this, 2, 0);
|
||||
}),
|
||||
(proto.ClientStruct.prototype.setPasseportId = function (Be) {
|
||||
return _e.Message.setProto3IntField(this, 2, Be);
|
||||
}),
|
||||
(proto.ClientStruct.prototype.getUuid = function () {
|
||||
return _e.Message.getFieldWithDefault(this, 3, "");
|
||||
}),
|
||||
(proto.ClientStruct.prototype.setUuid = function (Be) {
|
||||
return _e.Message.setProto3StringField(this, 3, Be);
|
||||
}),
|
||||
(proto.ClientStruct.prototype.getPermission = function () {
|
||||
return _e.Message.getFieldWithDefault(this, 4, 0);
|
||||
}),
|
||||
(proto.ClientStruct.prototype.setPermission = function (Be) {
|
||||
return _e.Message.setProto3EnumField(this, 4, Be);
|
||||
}),
|
||||
(proto.ClientStruct.prototype.getActivity = function () {
|
||||
return _e.Message.getFieldWithDefault(this, 5, 0);
|
||||
}),
|
||||
(proto.ClientStruct.prototype.setActivity = function (Be) {
|
||||
return _e.Message.setProto3EnumField(this, 5, Be);
|
||||
}),
|
||||
(proto.ClientStruct.prototype.getPingdelay = function () {
|
||||
return _e.Message.getFieldWithDefault(this, 6, 0);
|
||||
}),
|
||||
(proto.ClientStruct.prototype.setPingdelay = function (Be) {
|
||||
return _e.Message.setProto3IntField(this, 6, Be);
|
||||
}),
|
||||
(proto.ClientStruct.prototype.getMaxamount = function () {
|
||||
return _e.Message.getFieldWithDefault(this, 7, 0);
|
||||
}),
|
||||
(proto.ClientStruct.prototype.setMaxamount = function (Be) {
|
||||
return _e.Message.setProto3IntField(this, 7, Be);
|
||||
}),
|
||||
(proto.ClientStruct.prototype.getHasnolimit = function () {
|
||||
return _e.Message.getBooleanFieldWithDefault(this, 8, !1);
|
||||
}),
|
||||
(proto.ClientStruct.prototype.setHasnolimit = function (Be) {
|
||||
return _e.Message.setProto3BooleanField(this, 8, Be);
|
||||
}),
|
||||
(proto.ClientStruct.prototype.getToken = function () {
|
||||
return _e.Message.getFieldWithDefault(this, 9, "");
|
||||
}),
|
||||
(proto.ClientStruct.prototype.setToken = function (Be) {
|
||||
return _e.Message.setProto3StringField(this, 9, Be);
|
||||
}),
|
||||
(proto.ClientStruct.prototype.getRefreshtoken = function () {
|
||||
return _e.Message.getFieldWithDefault(this, 10, "");
|
||||
}),
|
||||
(proto.ClientStruct.prototype.setRefreshtoken = function (Be) {
|
||||
return _e.Message.setProto3StringField(this, 10, Be);
|
||||
}),
|
||||
_e.Message.GENERATE_TO_OBJECT &&
|
||||
((proto.LiveBiddingMessage.prototype.toObject = function (Be) {
|
||||
return proto.LiveBiddingMessage.toObject(Be, this);
|
||||
}),
|
||||
(proto.LiveBiddingMessage.toObject = function (Be, Re) {
|
||||
var Ue,
|
||||
Ye = {
|
||||
type: _e.Message.getFieldWithDefault(Re, 1, 0),
|
||||
client: (Ue = Re.getClient()) && proto.ClientStruct.toObject(Be, Ue),
|
||||
vente: (Ue = Re.getVente()) && proto.VenteStruct.toObject(Be, Ue),
|
||||
message: _e.Message.getFieldWithDefault(Re, 4, ""),
|
||||
paramsMap: (Ue = Re.getParamsMap()) ? Ue.toObject(Be, void 0) : [],
|
||||
pingtime: _e.Message.getFieldWithDefault(Re, 6, 0),
|
||||
};
|
||||
return Be && (Ye.$jspbMessageInstance = Re), Ye;
|
||||
})),
|
||||
(proto.LiveBiddingMessage.deserializeBinary = function (Be) {
|
||||
var Re = new _e.BinaryReader(Be),
|
||||
Ue = new proto.LiveBiddingMessage();
|
||||
return proto.LiveBiddingMessage.deserializeBinaryFromReader(Ue, Re);
|
||||
}),
|
||||
(proto.LiveBiddingMessage.deserializeBinaryFromReader = function (Be, Re) {
|
||||
for (; Re.nextField() && !Re.isEndGroup(); ) {
|
||||
switch (Re.getFieldNumber()) {
|
||||
case 1:
|
||||
var Ue = Re.readEnum();
|
||||
Be.setType(Ue);
|
||||
break;
|
||||
case 2:
|
||||
Ue = new proto.ClientStruct();
|
||||
Re.readMessage(Ue, proto.ClientStruct.deserializeBinaryFromReader), Be.setClient(Ue);
|
||||
break;
|
||||
case 3:
|
||||
Ue = new proto.VenteStruct();
|
||||
Re.readMessage(Ue, proto.VenteStruct.deserializeBinaryFromReader), Be.setVente(Ue);
|
||||
break;
|
||||
case 4:
|
||||
Ue = Re.readString();
|
||||
Be.setMessage(Ue);
|
||||
break;
|
||||
case 5:
|
||||
Ue = Be.getParamsMap();
|
||||
Re.readMessage(Ue, function (Be, Re) {
|
||||
_e.Map.deserializeBinary(Be, Re, _e.BinaryReader.prototype.readString, _e.BinaryReader.prototype.readString, null, "", "");
|
||||
});
|
||||
break;
|
||||
case 6:
|
||||
Ue = Re.readInt64();
|
||||
Be.setPingtime(Ue);
|
||||
break;
|
||||
default:
|
||||
Re.skipField();
|
||||
}
|
||||
}
|
||||
return Be;
|
||||
}),
|
||||
(proto.LiveBiddingMessage.prototype.serializeBinary = function () {
|
||||
var Be = new _e.BinaryWriter();
|
||||
return proto.LiveBiddingMessage.serializeBinaryToWriter(this, Be), Be.getResultBuffer();
|
||||
}),
|
||||
(proto.LiveBiddingMessage.serializeBinaryToWriter = function (Be, Re) {
|
||||
var Ue = void 0;
|
||||
0 !== (Ue = Be.getType()) && Re.writeEnum(1, Ue),
|
||||
null != (Ue = Be.getClient()) && Re.writeMessage(2, Ue, proto.ClientStruct.serializeBinaryToWriter),
|
||||
null != (Ue = Be.getVente()) && Re.writeMessage(3, Ue, proto.VenteStruct.serializeBinaryToWriter),
|
||||
(Ue = Be.getMessage()).length > 0 && Re.writeString(4, Ue),
|
||||
(Ue = Be.getParamsMap(!0)) && Ue.getLength() > 0 && Ue.serializeBinary(5, Re, _e.BinaryWriter.prototype.writeString, _e.BinaryWriter.prototype.writeString),
|
||||
0 !== (Ue = Be.getPingtime()) && Re.writeInt64(6, Ue);
|
||||
}),
|
||||
(proto.LiveBiddingMessage.Type = {
|
||||
PING: 0,
|
||||
PONG: 1,
|
||||
INIT: 2,
|
||||
CLOSE: 3,
|
||||
BID: 4,
|
||||
SELECT_LOT: 5,
|
||||
STARTING_PRICE: 6,
|
||||
INCREMENT: 7,
|
||||
TENDERING: 8,
|
||||
GENERIC_MESSAGE: 9,
|
||||
CREATE_LOT: 10,
|
||||
NOT_INTERESTED: 11,
|
||||
INTERESTED: 12,
|
||||
ACTIVITY: 13,
|
||||
NEW_CLIENT: 14,
|
||||
CLOSED_CLIENT: 15,
|
||||
KILL: 16,
|
||||
MULTILOT_REQUEST: 17,
|
||||
MULTILOT_RESPONSE: 18,
|
||||
SYNC_PAYMENT_LIMIT: 19,
|
||||
SWITCH_FREE_BID_AUTHORIZE: 20,
|
||||
REFRESH_CLIENTS_COUNT: 21,
|
||||
}),
|
||||
(proto.LiveBiddingMessage.prototype.getType = function () {
|
||||
return _e.Message.getFieldWithDefault(this, 1, 0);
|
||||
}),
|
||||
(proto.LiveBiddingMessage.prototype.setType = function (Be) {
|
||||
return _e.Message.setProto3EnumField(this, 1, Be);
|
||||
}),
|
||||
(proto.LiveBiddingMessage.prototype.getClient = function () {
|
||||
return _e.Message.getWrapperField(this, proto.ClientStruct, 2);
|
||||
}),
|
||||
(proto.LiveBiddingMessage.prototype.setClient = function (Be) {
|
||||
return _e.Message.setWrapperField(this, 2, Be);
|
||||
}),
|
||||
(proto.LiveBiddingMessage.prototype.clearClient = function () {
|
||||
return this.setClient(void 0);
|
||||
}),
|
||||
(proto.LiveBiddingMessage.prototype.hasClient = function () {
|
||||
return null != _e.Message.getField(this, 2);
|
||||
}),
|
||||
(proto.LiveBiddingMessage.prototype.getVente = function () {
|
||||
return _e.Message.getWrapperField(this, proto.VenteStruct, 3);
|
||||
}),
|
||||
(proto.LiveBiddingMessage.prototype.setVente = function (Be) {
|
||||
return _e.Message.setWrapperField(this, 3, Be);
|
||||
}),
|
||||
(proto.LiveBiddingMessage.prototype.clearVente = function () {
|
||||
return this.setVente(void 0);
|
||||
}),
|
||||
(proto.LiveBiddingMessage.prototype.hasVente = function () {
|
||||
return null != _e.Message.getField(this, 3);
|
||||
}),
|
||||
(proto.LiveBiddingMessage.prototype.getMessage = function () {
|
||||
return _e.Message.getFieldWithDefault(this, 4, "");
|
||||
}),
|
||||
(proto.LiveBiddingMessage.prototype.setMessage = function (Be) {
|
||||
return _e.Message.setProto3StringField(this, 4, Be);
|
||||
}),
|
||||
(proto.LiveBiddingMessage.prototype.getParamsMap = function (Be) {
|
||||
return _e.Message.getMapField(this, 5, Be, null);
|
||||
}),
|
||||
(proto.LiveBiddingMessage.prototype.clearParamsMap = function () {
|
||||
return this.getParamsMap().clear(), this;
|
||||
}),
|
||||
(proto.LiveBiddingMessage.prototype.getPingtime = function () {
|
||||
return _e.Message.getFieldWithDefault(this, 6, 0);
|
||||
}),
|
||||
(proto.LiveBiddingMessage.prototype.setPingtime = function (Be) {
|
||||
return _e.Message.setProto3IntField(this, 6, Be);
|
||||
}),
|
||||
Ye.object.extend(Re, proto);
|
||||
const Ze = proto.LiveBiddingMessage,
|
||||
$e = proto.VenteStruct,
|
||||
tt = proto.ClientStruct,
|
||||
nt = proto.BidStruct,
|
||||
rt = proto.LotStruct,
|
||||
ot = proto.IncrementStruct,
|
||||
it = proto.IncrementData,
|
||||
at = proto.IncrementStep;
|
||||
|
|
@ -23,6 +23,7 @@ class Interencheres extends Scraper {
|
|||
this._USER = ""
|
||||
this._PWD = ""
|
||||
this._PATH_SESSION_FILE = ".session/session_inter.json"
|
||||
this._BROWSER_TOOL = "puppeteerBrowser"
|
||||
}
|
||||
|
||||
getPictures = async ({ page, data}) => {
|
||||
|
|
@ -148,21 +149,41 @@ class Interencheres extends Scraper {
|
|||
return LotList
|
||||
}
|
||||
|
||||
// ### Puppeteer
|
||||
// ###########################################################################
|
||||
|
||||
async CheckCookieDialog(page) {
|
||||
console.log("-- CheckCookieDialog --")
|
||||
return new Promise(async (resolve, reject) => {
|
||||
|
||||
const CookieButton = await page.$('//button[contains(@class, "cpm-cookies-bar-cta-refus") and contains(text(), "Refuser")]');
|
||||
//console.log(CookieButton)
|
||||
if (CookieButton && await CookieButton.isVisible()) {
|
||||
console.log("-- Click on CookieButton --")
|
||||
await CookieButton.click();
|
||||
}
|
||||
|
||||
resolve(true)
|
||||
})
|
||||
}
|
||||
|
||||
Live = async (browser) => {
|
||||
|
||||
console.log("Live "+this._Name+": "+this.Url)
|
||||
|
||||
|
||||
const page = await browser.newPage();
|
||||
|
||||
|
||||
let CheckAskStop = null;
|
||||
let Socket = null;
|
||||
const StopLive = async (params) => {
|
||||
clearInterval(CheckAskStop);
|
||||
Socket.off('Network.webSocketFrameReceived', listener);
|
||||
//Socket.off('Network.webSocketFrameReceived', listener);
|
||||
page.close()
|
||||
browser.close()
|
||||
}
|
||||
|
||||
const listener = async (params) => {
|
||||
|
||||
let payload = params.response.payloadData
|
||||
if(payload.length>1 && payload.substring(0, 2) == '42'){
|
||||
payload = JSON.parse(payload.substring(2))
|
||||
|
|
@ -246,6 +267,7 @@ class Interencheres extends Scraper {
|
|||
|
||||
try{
|
||||
await page.goto(this.Url);
|
||||
|
||||
Socket = await page.target().createCDPSession();
|
||||
await Socket.send('Network.enable');
|
||||
await Socket.send('Page.enable');
|
||||
|
|
@ -260,7 +282,7 @@ class Interencheres extends Scraper {
|
|||
StopLive()
|
||||
}
|
||||
})
|
||||
}, 10000); // 10000 milliseconds = 10 seconds
|
||||
}, 5000); // 10000 milliseconds = 5 seconds
|
||||
|
||||
}catch(e){
|
||||
console.log('Error : '+e)
|
||||
|
|
|
|||
|
|
@ -299,7 +299,8 @@ class InterencheresData extends ScraperTools {
|
|||
const SaleTitleXPath = [
|
||||
'/html/body/div[1]/div/div/div/main/div/div/div/div/div/div[1]/div/div[1]/div[2]/h1/div/div/div/div/div',
|
||||
'/html/body/div[1]/div/div/div/main/div/div/div/div/div/div[1]/div/div/div/h1/div/div/div/div/div',
|
||||
'/html/body/div[1]/div/div/div/main/div/div/div/div/div/div[1]/div/div/div/div/h1/div/div/div/div/div'
|
||||
'/html/body/div[1]/div/div/div/main/div/div/div/div/div/div[1]/div/div/div/div/h1/div/div/div/div/div',
|
||||
'/html/body/div[1]/div/div/div[1]/main/div/div/div/div/div/div[1]/div/div/div/div/h1/div/div/div/div/div'
|
||||
]
|
||||
let SaleTitle = await this.getTextContent(SaleTitleXPath, page, 'SaleTitleXPath')
|
||||
return SaleTitle
|
||||
|
|
|
|||
|
|
@ -14,6 +14,8 @@ class Scraper {
|
|||
|
||||
_PATH_SESSION_FILE = ""
|
||||
|
||||
_BROWSER_TOOL = null
|
||||
|
||||
_Proxy = ""
|
||||
_DebugMode = false
|
||||
|
||||
|
|
@ -23,29 +25,43 @@ class Scraper {
|
|||
this.Url = Url;
|
||||
}
|
||||
|
||||
async _saveSession(page) {
|
||||
async _getContext(browser) {
|
||||
return new Promise(async (resolve, reject) => {
|
||||
console.log('-- Save Session --')
|
||||
const cookies = await page.cookies();
|
||||
//console.log(cookies)
|
||||
//await fs.writeFile(this._PATH_SESSION_FILE, JSON.stringify(cookies));
|
||||
fs.writeFileSync(this._PATH_SESSION_FILE, JSON.stringify(cookies));
|
||||
resolve(page)
|
||||
try {
|
||||
|
||||
if (fs.existsSync(this._PATH_SESSION_FILE)) {
|
||||
resolve(await browser.newContext({
|
||||
storageState: this._PATH_SESSION_FILE,
|
||||
timezoneId: 'Europe/Paris',
|
||||
extraHTTPHeaders: {
|
||||
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:126.0) Gecko/20100101 Firefox/126.0',
|
||||
'Accept-Language': 'fr-FR,fr;q=0.9'
|
||||
}
|
||||
}));
|
||||
} else {
|
||||
resolve(await browser.newContext({
|
||||
timezoneId: 'Europe/Paris',
|
||||
extraHTTPHeaders: {
|
||||
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:126.0) Gecko/20100101 Firefox/126.0',
|
||||
'Accept-Language': 'fr-FR,fr;q=0.9'
|
||||
}
|
||||
}));
|
||||
}
|
||||
|
||||
}catch(e){
|
||||
console.error('Error: '+e)
|
||||
reject(new Error('Error: '+e))
|
||||
}
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
async _restoreSession(page) {
|
||||
async _saveSession(page) {
|
||||
return new Promise(async (resolve, reject) => {
|
||||
|
||||
if (fs.existsSync(this._PATH_SESSION_FILE)) {
|
||||
console.log('-- restore Session --')
|
||||
const cookies = JSON.parse(fs.readFileSync(this._PATH_SESSION_FILE));
|
||||
await page.setCookie(...cookies);
|
||||
}
|
||||
|
||||
console.log('-- Save Session --')
|
||||
await page.context().storageState({ path: this._PATH_SESSION_FILE });
|
||||
resolve(page)
|
||||
})
|
||||
|
||||
}
|
||||
|
||||
getPictures({ page, data}) {
|
||||
|
|
|
|||
|
|
@ -0,0 +1,103 @@
|
|||
{
|
||||
"cookies": [
|
||||
{
|
||||
"name": "locale",
|
||||
"value": "fr",
|
||||
"domain": ".drouot.com",
|
||||
"path": "/",
|
||||
"expires": -1,
|
||||
"httpOnly": false,
|
||||
"secure": false,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "JSESSIONID",
|
||||
"value": "CEE9A69D532738CA6F448BC54BD5FA98",
|
||||
"domain": "drouot.com",
|
||||
"path": "/",
|
||||
"expires": -1,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "cf_clearance",
|
||||
"value": "Nw88GFRRH4A.R3IrqBs1WHV3v2j6b72TL4xFNt1qtRY-1716455904-1.0.1.1-YiA2MwdTbDytd5SaxdOm_F7ru5Q5bW.MaPs1FxJrr7YtILq0z0u9a4Lghyt2DIaNM_b_2hbki5IKioTVnUlqkQ",
|
||||
"domain": ".drouot.com",
|
||||
"path": "/",
|
||||
"expires": 1747991903.778234,
|
||||
"httpOnly": true,
|
||||
"secure": true,
|
||||
"sameSite": "None"
|
||||
},
|
||||
{
|
||||
"name": "consentLevel",
|
||||
"value": "none",
|
||||
"domain": "drouot.com",
|
||||
"path": "/",
|
||||
"expires": 1732353503,
|
||||
"httpOnly": false,
|
||||
"secure": false,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "aws.auth.refresh",
|
||||
"value": "eyJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2R0NNIiwiYWxnIjoiUlNBLU9BRVAifQ.ej0FDIw3VwTFabbv_Xrthwn6QRxOrGSlTP8P-hM3xyDmhigcIepCgEUlgjSO-taBevdDgiDNuRZ2ymbsmSHjBTgtPPhBJMlNW1CJMFpf34cnHp8P8fNso7KVZH98CVT8a-klxeNUw8sJbzV76E2pefGPiKahMbgNcct6I4C0lmK60569b1ADgDJUXoZ3ZWLM5h7dmu2_zEwcu3rcJSAZvqLBQBrBhw1ck2tivoMVl0Rp3rRDmYCkbvjYpVxozv_KCBA1pKdm_n1E78T4nlJR12UVZKwGj4TnM3_AiV43J-FUKkj-rDEoPfJrWlZh0J3aV403sDGeO_R7C8zOvMz8qQ.HTEsnaMZSmoB5bMT.CPMenx7Y1fkZnG3xdudDXwto0S9nXhlrviwGAUaEV0PdAiN1JRyWyfd2gfZ9gqDJ6CxBog-kZ45nttrdY2JjS71HgBfrg3RAqRqUyiRd9OLUTtHXgysdf6tXGZYqm2j62uTzq5aYWwr_KUMEYKqH45TrxAEnBGlCaKX5ielLghK6ZA_EWrOK3oJW3aM_-mZKD0vrJd9_iwVAUMKk_hdCF1UFqsuVHXZqXxQ_iOPzyd_t5Ui_2WgVqqLZTteAsFwr_L_TqpoM11AgSH-8a1ad05JwCdeMxyhZnW8Gf172Yt7pVzUFuV491KAxXdsgxCbFIhReYhOqABCsS9fKKbi6VBDtDBrRqGeiHgfOapVMLeg8-Va-_YGa1_4oRbX_zye_HTz3WE-xmBBwt98PVEJp4pWr2lY7wDgisqzLgI8foWm1YVWFD5rypAsJxEu-9-25SVErMVlptRaZ650YFHWNrkEr3oeqzwriIxMEjm92gxgVPQOO0Q5gqj9WcUHrbeq01xr6WBhX84AqGqTpT-kxbSrFBxHFMM3zhPey4ElJ2unc_ppj2r96e3FNjTmhRdhYYz827oewmJZZwhAF2KI8a_MEz6-W18b5ju0teM4lWBWRedq8IMeTFuEZ8-nlkQTiDnsSFXqZNtFVfJGcbKKTX8LCm708DrG5QGvqjycOkXrrnw-OCaUibCWbymJzwYdPD1sLLhitMpgI6pKW8H74K7bIb_v2IeMo3hH9gm2n6SI120EpD7n74UCIGx1fn5CB28neuj-_BegrcZNd6KEs0iPEhNOpHKd7k_G8riKX-ZtKIQcqZ8MtwAvjWVVFELEkpXR2IwfW2jXzBObIvcDYYNVijroFUZ-8oObp0dAIaUFtoByIzw3VOzOc4qbCSyelFC1YyoZJgbNW2ic6ZvL8pdzYTogjI_XHakVLBk8jeRg95SXtz9XzpLyx_ZoTX5LzEh5T897tOePl1NmIptU17IiBuwxFj_nYoVgDYbbGz1ox9vEWdrAE6EpfzhFrxWVMijyfjyauWaixri-harPAbhirrGG7QEeURqv0LCMMy1w3LyaZ9p9saG3DzX0yzrERgXMNvbFi4OYY3Cb0O8bo0kjHVY7a6Yj_qKKpfIKGclRKmndxkLK5A6JJkqy4fSLK-v9RbpWUiTC-_0L2k9lEGiK5rgPhMSRhyI5XYUW1rbB_XEKPU12M5uxER0NvjomXgTUy0yOdbDfpIYb89Bs2BK-SE0MAJSepzC8bsW4CWOnfCWGnuOGQphRfCuxAIkvd-4Lwm-Nyt8-Mmvh5VhQw79v8mx2eZNzk4DyiTDbSQUwdoCoEpgyoQnvnxObYVxXUeixB.LW8iCOUVXGCbeHw2rTF6Uw",
|
||||
"domain": ".drouot.com",
|
||||
"path": "/",
|
||||
"expires": 1718955905.860105,
|
||||
"httpOnly": false,
|
||||
"secure": true,
|
||||
"sameSite": "Lax"
|
||||
},
|
||||
{
|
||||
"name": "aws.auth.id",
|
||||
"value": "eyJraWQiOiJaTktsNEx3c1NcL0xyYVdwaGVtcHE4OWVLWk05eUtUemtUQW40ZlM2bXFtST0iLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiI1ODY0NWVjYS1mNDllLTQ1YTktOWI0ZC1lNTg0M2RhZWNjNWUiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwiaXNzIjoiaHR0cHM6XC9cL2NvZ25pdG8taWRwLmV1LWNlbnRyYWwtMS5hbWF6b25hd3MuY29tXC9ldS1jZW50cmFsLTFfWE5GWDNIMzE0IiwiY29nbml0bzp1c2VybmFtZSI6IjU4NjQ1ZWNhLWY0OWUtNDVhOS05YjRkLWU1ODQzZGFlY2M1ZSIsIm9yaWdpbl9qdGkiOiI2YjUxMTM2Mi1kYmMwLTQ3MDctYjA0Zi05YTVmNzQyZjM5YjAiLCJhdWQiOiI0amNsZG9ib2YycWJuc3NtN2YxMDdnbGlxOCIsImV2ZW50X2lkIjoiNDAwNGViODItNDg1Mi00OTk2LWFjMjctNWQ1MTBiMmI3NTJmIiwidG9rZW5fdXNlIjoiaWQiLCJhdXRoX3RpbWUiOjE3MTY0NTU5MDUsImV4cCI6MTcxNjQ1OTUwNiwiaWF0IjoxNzE2NDU1OTA2LCJjdXN0b206cGFzc19pZCI6IjczOTAzMCIsImp0aSI6IjZjZjhmYjFlLWU1YTgtNDBkNS04NzkzLTk2YmRjNmZjMDU0ZCIsImVtYWlsIjoianAucmFudUBjb2dpcC5kZSJ9.I6lc4Y-fKSQJ1Vd5Lu41fP6_XuG9yaedk1ZKlXy3iyYV17HVxbypjkdTkgy1vbTU-QdS2gHcp9Ynf90q-PxkMuJZ_IWIU3njhoKE7--U4OkIPf7wfsFKq2rZGcUEyM0DxuedpRYbjN0Xesd6DF8nqWs5WGzy1NZDbXVys3ji0h5Y9H00bX7oypI_2ihFkcpRUYRzv8wywjBYoD8Jc7eOwqzeHNUkbs8L4ON2OnPCNBkJ33HKfw5Prnf4DahiZ9h6Vz0I2CTG4uIjI7yy0PpmDXz81-4JHy9G8NV2rEWTKUvJu1TWsMB5tRH50Ho3TBAqhUafKr1VB9uLTRg3gezsHw",
|
||||
"domain": ".drouot.com",
|
||||
"path": "/",
|
||||
"expires": 1716459506.054849,
|
||||
"httpOnly": false,
|
||||
"secure": true,
|
||||
"sameSite": "Lax"
|
||||
}
|
||||
],
|
||||
"origins": [
|
||||
{
|
||||
"origin": "https://auth.drouot.com",
|
||||
"localStorage": [
|
||||
{
|
||||
"name": "CognitoIdentityServiceProvider.4jcldobof2qbnssm7f107gliq8.58645eca-f49e-45a9-9b4d-e5843daecc5e.accessToken",
|
||||
"value": "eyJraWQiOiJYSTd2ejJDRW9pRVwvTnR0UGNkOEY0NE5QSDhHMzMzclJQRVB3OFFwRlJJRT0iLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiI1ODY0NWVjYS1mNDllLTQ1YTktOWI0ZC1lNTg0M2RhZWNjNWUiLCJpc3MiOiJodHRwczpcL1wvY29nbml0by1pZHAuZXUtY2VudHJhbC0xLmFtYXpvbmF3cy5jb21cL2V1LWNlbnRyYWwtMV9YTkZYM0gzMTQiLCJjbGllbnRfaWQiOiI0amNsZG9ib2YycWJuc3NtN2YxMDdnbGlxOCIsIm9yaWdpbl9qdGkiOiI2YjUxMTM2Mi1kYmMwLTQ3MDctYjA0Zi05YTVmNzQyZjM5YjAiLCJldmVudF9pZCI6IjQwMDRlYjgyLTQ4NTItNDk5Ni1hYzI3LTVkNTEwYjJiNzUyZiIsInRva2VuX3VzZSI6ImFjY2VzcyIsInNjb3BlIjoiYXdzLmNvZ25pdG8uc2lnbmluLnVzZXIuYWRtaW4iLCJhdXRoX3RpbWUiOjE3MTY0NTU5MDUsImV4cCI6MTcxNjQ1OTUwNiwiaWF0IjoxNzE2NDU1OTA2LCJqdGkiOiJkOGViNmNlNS00ZTE3LTRiZmQtYWVkNy01MjBmNzZlOGU2NGYiLCJ1c2VybmFtZSI6IjU4NjQ1ZWNhLWY0OWUtNDVhOS05YjRkLWU1ODQzZGFlY2M1ZSJ9.ltgmmPsITav_sGRrsc7AJz7GzViEGpWc_0qly3dVkZPZfL_NpDxIEz0_-XaikQd_Al_WYZ_k5yvh3DeDJzM4TiBFVVQDPydBb3IkeEj0x7djK_Yj5JUXM-SxaDIrtCkzXhxrwt_SCa0wkeKoPGfHSDt75-NYo4LXeZ15tntnsox-RoasVEop4HXBejWsfOiBsqptd4N8vCrK67nxiuNHTWZYylUz72iwMxtgwSvMVVNVV3FzU2N-puM8QvHhZQ96tCq0-jwTBVwR-DRdHL7IwbStze3-c53LFxbBmreXKn4aGiQybTEEwpDASeU0-YOl-Hgw4BD9gyOv2ECbINeiGw"
|
||||
},
|
||||
{
|
||||
"name": "persist:root",
|
||||
"value": "{\"navigation\":\"{\\\"redirUri\\\":\\\"\\\",\\\"initialLocation\\\":\\\"/\\\"}\",\"_persist\":\"{\\\"version\\\":-1,\\\"rehydrated\\\":true}\"}"
|
||||
},
|
||||
{
|
||||
"name": "CognitoIdentityServiceProvider.4jcldobof2qbnssm7f107gliq8.58645eca-f49e-45a9-9b4d-e5843daecc5e.clockDrift",
|
||||
"value": "-1"
|
||||
},
|
||||
{
|
||||
"name": "amplify-signin-with-hostedUI",
|
||||
"value": "false"
|
||||
},
|
||||
{
|
||||
"name": "CognitoIdentityServiceProvider.4jcldobof2qbnssm7f107gliq8.LastAuthUser",
|
||||
"value": "58645eca-f49e-45a9-9b4d-e5843daecc5e"
|
||||
},
|
||||
{
|
||||
"name": "CognitoIdentityServiceProvider.4jcldobof2qbnssm7f107gliq8.58645eca-f49e-45a9-9b4d-e5843daecc5e.userData",
|
||||
"value": "{\"UserAttributes\":[{\"Name\":\"sub\",\"Value\":\"58645eca-f49e-45a9-9b4d-e5843daecc5e\"},{\"Name\":\"email_verified\",\"Value\":\"true\"},{\"Name\":\"email\",\"Value\":\"jp.ranu@cogip.de\"},{\"Name\":\"custom:pass_id\",\"Value\":\"739030\"}],\"Username\":\"58645eca-f49e-45a9-9b4d-e5843daecc5e\"}"
|
||||
},
|
||||
{
|
||||
"name": "CognitoIdentityServiceProvider.4jcldobof2qbnssm7f107gliq8.58645eca-f49e-45a9-9b4d-e5843daecc5e.idToken",
|
||||
"value": "eyJraWQiOiJaTktsNEx3c1NcL0xyYVdwaGVtcHE4OWVLWk05eUtUemtUQW40ZlM2bXFtST0iLCJhbGciOiJSUzI1NiJ9.eyJzdWIiOiI1ODY0NWVjYS1mNDllLTQ1YTktOWI0ZC1lNTg0M2RhZWNjNWUiLCJlbWFpbF92ZXJpZmllZCI6dHJ1ZSwiaXNzIjoiaHR0cHM6XC9cL2NvZ25pdG8taWRwLmV1LWNlbnRyYWwtMS5hbWF6b25hd3MuY29tXC9ldS1jZW50cmFsLTFfWE5GWDNIMzE0IiwiY29nbml0bzp1c2VybmFtZSI6IjU4NjQ1ZWNhLWY0OWUtNDVhOS05YjRkLWU1ODQzZGFlY2M1ZSIsIm9yaWdpbl9qdGkiOiI2YjUxMTM2Mi1kYmMwLTQ3MDctYjA0Zi05YTVmNzQyZjM5YjAiLCJhdWQiOiI0amNsZG9ib2YycWJuc3NtN2YxMDdnbGlxOCIsImV2ZW50X2lkIjoiNDAwNGViODItNDg1Mi00OTk2LWFjMjctNWQ1MTBiMmI3NTJmIiwidG9rZW5fdXNlIjoiaWQiLCJhdXRoX3RpbWUiOjE3MTY0NTU5MDUsImV4cCI6MTcxNjQ1OTUwNiwiaWF0IjoxNzE2NDU1OTA2LCJjdXN0b206cGFzc19pZCI6IjczOTAzMCIsImp0aSI6ImIwNDEyYTBmLTZiN2UtNDc1YS04NTAyLTU0YmY5ODU5MzkxMiIsImVtYWlsIjoianAucmFudUBjb2dpcC5kZSJ9.Qfnv42vNIezdxohbyA1rF_ebfjeqx-LReTDOsYyWxwXdJC7yceu2P84Chr0DvZ0bo2dVtvgsL4TAV1pwFNjqMr5xSzcFNwDF-MzgBRtRWQ6R5OnHN1IX0zUFP9qZkuhaJMCz2kId84C_1YaXhDKqrK_qcvQ_-W1J11yfEbS4kVVZXf70Ko2eAq4XnTjtnTWURjEHM7KTpAehqoxGG96kmaOz4DQ6BKsGdg8BvuG9W7G9wEoU6pBSPgblnTyVvqYvoOrG_TbK3T0K-a3xyWfeEnqW3omTyN_lWhLInZYCejIqxkgVgqGguZxgB5AV0JC77pyxEKs2DRu642mlsqEDZQ"
|
||||
},
|
||||
{
|
||||
"name": "CognitoIdentityServiceProvider.4jcldobof2qbnssm7f107gliq8.58645eca-f49e-45a9-9b4d-e5843daecc5e.refreshToken",
|
||||
"value": "eyJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2R0NNIiwiYWxnIjoiUlNBLU9BRVAifQ.ej0FDIw3VwTFabbv_Xrthwn6QRxOrGSlTP8P-hM3xyDmhigcIepCgEUlgjSO-taBevdDgiDNuRZ2ymbsmSHjBTgtPPhBJMlNW1CJMFpf34cnHp8P8fNso7KVZH98CVT8a-klxeNUw8sJbzV76E2pefGPiKahMbgNcct6I4C0lmK60569b1ADgDJUXoZ3ZWLM5h7dmu2_zEwcu3rcJSAZvqLBQBrBhw1ck2tivoMVl0Rp3rRDmYCkbvjYpVxozv_KCBA1pKdm_n1E78T4nlJR12UVZKwGj4TnM3_AiV43J-FUKkj-rDEoPfJrWlZh0J3aV403sDGeO_R7C8zOvMz8qQ.HTEsnaMZSmoB5bMT.CPMenx7Y1fkZnG3xdudDXwto0S9nXhlrviwGAUaEV0PdAiN1JRyWyfd2gfZ9gqDJ6CxBog-kZ45nttrdY2JjS71HgBfrg3RAqRqUyiRd9OLUTtHXgysdf6tXGZYqm2j62uTzq5aYWwr_KUMEYKqH45TrxAEnBGlCaKX5ielLghK6ZA_EWrOK3oJW3aM_-mZKD0vrJd9_iwVAUMKk_hdCF1UFqsuVHXZqXxQ_iOPzyd_t5Ui_2WgVqqLZTteAsFwr_L_TqpoM11AgSH-8a1ad05JwCdeMxyhZnW8Gf172Yt7pVzUFuV491KAxXdsgxCbFIhReYhOqABCsS9fKKbi6VBDtDBrRqGeiHgfOapVMLeg8-Va-_YGa1_4oRbX_zye_HTz3WE-xmBBwt98PVEJp4pWr2lY7wDgisqzLgI8foWm1YVWFD5rypAsJxEu-9-25SVErMVlptRaZ650YFHWNrkEr3oeqzwriIxMEjm92gxgVPQOO0Q5gqj9WcUHrbeq01xr6WBhX84AqGqTpT-kxbSrFBxHFMM3zhPey4ElJ2unc_ppj2r96e3FNjTmhRdhYYz827oewmJZZwhAF2KI8a_MEz6-W18b5ju0teM4lWBWRedq8IMeTFuEZ8-nlkQTiDnsSFXqZNtFVfJGcbKKTX8LCm708DrG5QGvqjycOkXrrnw-OCaUibCWbymJzwYdPD1sLLhitMpgI6pKW8H74K7bIb_v2IeMo3hH9gm2n6SI120EpD7n74UCIGx1fn5CB28neuj-_BegrcZNd6KEs0iPEhNOpHKd7k_G8riKX-ZtKIQcqZ8MtwAvjWVVFELEkpXR2IwfW2jXzBObIvcDYYNVijroFUZ-8oObp0dAIaUFtoByIzw3VOzOc4qbCSyelFC1YyoZJgbNW2ic6ZvL8pdzYTogjI_XHakVLBk8jeRg95SXtz9XzpLyx_ZoTX5LzEh5T897tOePl1NmIptU17IiBuwxFj_nYoVgDYbbGz1ox9vEWdrAE6EpfzhFrxWVMijyfjyauWaixri-harPAbhirrGG7QEeURqv0LCMMy1w3LyaZ9p9saG3DzX0yzrERgXMNvbFi4OYY3Cb0O8bo0kjHVY7a6Yj_qKKpfIKGclRKmndxkLK5A6JJkqy4fSLK-v9RbpWUiTC-_0L2k9lEGiK5rgPhMSRhyI5XYUW1rbB_XEKPU12M5uxER0NvjomXgTUy0yOdbDfpIYb89Bs2BK-SE0MAJSepzC8bsW4CWOnfCWGnuOGQphRfCuxAIkvd-4Lwm-Nyt8-Mmvh5VhQw79v8mx2eZNzk4DyiTDbSQUwdoCoEpgyoQnvnxObYVxXUeixB.LW8iCOUVXGCbeHw2rTF6Uw"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
FROM node:slim
|
||||
|
||||
# We don't need the standalone Chromium
|
||||
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD true
|
||||
|
||||
# Install Google Chrome Stable and fonts
|
||||
# Note: this installs the necessary libs to make the browser work with Puppeteer.
|
||||
RUN apt-get update && apt-get install gnupg wget -y && \
|
||||
wget --quiet --output-document=- https://dl-ssl.google.com/linux/linux_signing_key.pub | gpg --dearmor > /etc/apt/trusted.gpg.d/google-archive.gpg && \
|
||||
sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' && \
|
||||
apt-get update && \
|
||||
apt-get install google-chrome-stable -y --no-install-recommends && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
|
||||
# Setting up the work directory
|
||||
WORKDIR /agent
|
||||
|
||||
#Copying all the files in our project
|
||||
COPY . .
|
||||
|
||||
# Installing dependencies
|
||||
RUN npm install
|
||||
#RUN npm ci
|
||||
|
||||
# Starting our application
|
||||
#CMD [ "npm", "run", "start" ]
|
||||
|
||||
#ENV DEBUG="puppeteer:*"
|
||||
CMD [ "npm", "run", "dev" ]
|
||||
|
||||
# Exposing server port
|
||||
EXPOSE 3020
|
||||
|
||||
# Expose Debugging port
|
||||
EXPOSE 9229
|
||||
|
|
@ -1,4 +1,4 @@
|
|||
FROM node:slim
|
||||
FROM node:20-bookworm
|
||||
|
||||
# We don't need the standalone Chromium
|
||||
ENV PUPPETEER_SKIP_CHROMIUM_DOWNLOAD true
|
||||
|
|
@ -12,6 +12,9 @@ RUN apt-get update && apt-get install gnupg wget -y && \
|
|||
apt-get install google-chrome-stable -y --no-install-recommends && \
|
||||
rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Install Playwright
|
||||
RUN npx -y playwright@1.44.0 install --with-deps
|
||||
|
||||
# Setting up the work directory
|
||||
WORKDIR /agent
|
||||
|
||||
|
|
@ -20,22 +23,16 @@ COPY . .
|
|||
|
||||
# Installing dependencies
|
||||
RUN npm install
|
||||
|
||||
# Add user so we don't need --no-sandbox.
|
||||
# same layer as npm install to keep re-chowned files from using up several hundred MBs more space
|
||||
# RUN groupadd -r pptruser && useradd -r -g pptruser -G audio,video pptruser \
|
||||
# && mkdir -p /home/pptruser/Downloads \
|
||||
# && chown -R pptruser:pptruser /home/pptruser \
|
||||
# && chown -R pptruser:pptruser ./node_modules \
|
||||
# && chown -R pptruser:pptruser ./package.json \
|
||||
# && chown -R pptruser:pptruser ./package-lock.json
|
||||
|
||||
# # Run everything after as non-privileged user.
|
||||
# USER pptruser
|
||||
#RUN npm ci
|
||||
|
||||
# Starting our application
|
||||
#CMD [ "npm", "run", "debug-cluster" ]
|
||||
CMD [ "npm", "run", "start" ]
|
||||
#CMD [ "npm", "run", "start" ]
|
||||
|
||||
#ENV DEBUG="puppeteer:*"
|
||||
CMD [ "npm", "run", "dev" ]
|
||||
|
||||
# Exposing server port
|
||||
EXPOSE 3020
|
||||
EXPOSE 3020
|
||||
|
||||
# Expose Debugging port
|
||||
EXPOSE 9229
|
||||
|
|
@ -53,8 +53,15 @@ exports.sale = asyncHandler(async (req, res, next) => {
|
|||
|
||||
console.log("Agent Follow Sale: ", url)
|
||||
|
||||
AuctionPlatform.Live(req.browser)
|
||||
|
||||
switch(AuctionPlatform._BROWSER_TOOL){
|
||||
case "puppeteerBrowser":
|
||||
AuctionPlatform.Live(req.puppeteerBrowser)
|
||||
break;
|
||||
case "playwrightBrowser":
|
||||
AuctionPlatform.Live(req.playwrightBrowser)
|
||||
break;
|
||||
}
|
||||
|
||||
res.status(200).send({"Following URL": url})
|
||||
}else{
|
||||
res.status(400).send("URL not supported")
|
||||
|
|
|
|||
|
|
@ -5,16 +5,22 @@ var bodyParser = require('body-parser');
|
|||
app.use(bodyParser.json())
|
||||
|
||||
//const puppeteer = require('puppeteer');
|
||||
//const puppeteerPackage = require('puppeteer/package.json');
|
||||
|
||||
const puppeteer = require('puppeteer-extra');
|
||||
const pluginStealth = require('puppeteer-extra-plugin-stealth');
|
||||
puppeteer.use(pluginStealth())
|
||||
|
||||
const { chromium } = require('playwright');
|
||||
|
||||
const puppeteerMiddleware = require('./middleware/puppeteer');
|
||||
const playwrightMiddleware = require('./middleware/playwright');
|
||||
|
||||
(async () => {
|
||||
|
||||
app.use(puppeteerMiddleware(puppeteer));
|
||||
|
||||
app.use(playwrightMiddleware(chromium));
|
||||
|
||||
// main routes
|
||||
app.use('/internApi/follow', require('./routes/follow'));
|
||||
app.use('/health', require('./routes/health'));
|
||||
|
|
|
|||
|
|
@ -0,0 +1,12 @@
|
|||
module.exports = (chromium) => {
|
||||
return async (req, res, next) => {
|
||||
|
||||
const browser = await chromium.launch({
|
||||
args: ['--no-sandbox', '--disable-setuid-sandbox', '--disable-gpu', '--disable-dev-shm-usage'],
|
||||
headless: true
|
||||
});
|
||||
|
||||
req.playwrightBrowser = browser;
|
||||
next();
|
||||
}
|
||||
}
|
||||
|
|
@ -5,10 +5,10 @@ module.exports = (puppeteer) => {
|
|||
executablePath: '/usr/bin/google-chrome',
|
||||
args: ['--no-sandbox', '--disable-setuid-sandbox', '--disable-gpu'],
|
||||
ignoreDefaultArgs: ['--disable-extensions'],
|
||||
headless: 'new'
|
||||
headless: 'true'
|
||||
});
|
||||
|
||||
req.browser = browser;
|
||||
req.puppeteerBrowser = browser;
|
||||
next();
|
||||
}
|
||||
}
|
||||
|
|
@ -9,12 +9,14 @@
|
|||
"version": "1.0.0",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"@playwright/test": "^1.44.0",
|
||||
"body-parser": "^1.20.2",
|
||||
"express": "^4.19.2",
|
||||
"express-async-handler": "^1.2.0",
|
||||
"moment-timezone": "^0.5.45",
|
||||
"node-fetch": "^2.6.1",
|
||||
"puppeteer": "^22.6.4",
|
||||
"protobufjs": "^7.3.0",
|
||||
"puppeteer": "^22.10.0",
|
||||
"puppeteer-extra": "^3.3.6",
|
||||
"puppeteer-extra-plugin-stealth": "^2.11.2"
|
||||
},
|
||||
|
|
@ -23,11 +25,11 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@babel/code-frame": {
|
||||
"version": "7.24.2",
|
||||
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.2.tgz",
|
||||
"integrity": "sha512-y5+tLQyV8pg3fsiln67BVLD1P13Eg4lh5RW9mF0zUuvLrv9uIQ4MCL+CRT+FTsBlBjcIan6PGsLcBN0m3ClUyQ==",
|
||||
"version": "7.24.6",
|
||||
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.6.tgz",
|
||||
"integrity": "sha512-ZJhac6FkEd1yhG2AHOmfcXG4ceoLltoCVJjN5XsWN9BifBQr+cHJbWi0h68HZuSORq+3WtJ2z0hwF2NG1b5kcA==",
|
||||
"dependencies": {
|
||||
"@babel/highlight": "^7.24.2",
|
||||
"@babel/highlight": "^7.24.6",
|
||||
"picocolors": "^1.0.0"
|
||||
},
|
||||
"engines": {
|
||||
|
|
@ -35,19 +37,19 @@
|
|||
}
|
||||
},
|
||||
"node_modules/@babel/helper-validator-identifier": {
|
||||
"version": "7.22.20",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz",
|
||||
"integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==",
|
||||
"version": "7.24.6",
|
||||
"resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.6.tgz",
|
||||
"integrity": "sha512-4yA7s865JHaqUdRbnaxarZREuPTHrjpDT+pXoAZ1yhyo6uFnIEpS8VMu16siFOHDpZNKYv5BObhsB//ycbICyw==",
|
||||
"engines": {
|
||||
"node": ">=6.9.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@babel/highlight": {
|
||||
"version": "7.24.2",
|
||||
"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.2.tgz",
|
||||
"integrity": "sha512-Yac1ao4flkTxTteCDZLEvdxg2fZfz1v8M4QpaGypq/WPDqg3ijHYbDfs+LG5hvzSoqaSZ9/Z9lKSP3CjZjv+pA==",
|
||||
"version": "7.24.6",
|
||||
"resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.6.tgz",
|
||||
"integrity": "sha512-2YnuOp4HAk2BsBrJJvYCbItHx0zWscI1C3zgWkz+wDyD9I7GIVrfnLyrR4Y1VR+7p+chAEcrgRQYZAGIKMV7vQ==",
|
||||
"dependencies": {
|
||||
"@babel/helper-validator-identifier": "^7.22.20",
|
||||
"@babel/helper-validator-identifier": "^7.24.6",
|
||||
"chalk": "^2.4.2",
|
||||
"js-tokens": "^4.0.0",
|
||||
"picocolors": "^1.0.0"
|
||||
|
|
@ -56,10 +58,78 @@
|
|||
"node": ">=6.9.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@playwright/test": {
|
||||
"version": "1.44.0",
|
||||
"resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.44.0.tgz",
|
||||
"integrity": "sha512-rNX5lbNidamSUorBhB4XZ9SQTjAqfe5M+p37Z8ic0jPFBMo5iCtQz1kRWkEMg+rYOKSlVycpQmpqjSFq7LXOfg==",
|
||||
"dependencies": {
|
||||
"playwright": "1.44.0"
|
||||
},
|
||||
"bin": {
|
||||
"playwright": "cli.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=16"
|
||||
}
|
||||
},
|
||||
"node_modules/@protobufjs/aspromise": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/@protobufjs/aspromise/-/aspromise-1.1.2.tgz",
|
||||
"integrity": "sha512-j+gKExEuLmKwvz3OgROXtrJ2UG2x8Ch2YZUxahh+s1F2HZ+wAceUNLkvy6zKCPVRkU++ZWQrdxsUeQXmcg4uoQ=="
|
||||
},
|
||||
"node_modules/@protobufjs/base64": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/@protobufjs/base64/-/base64-1.1.2.tgz",
|
||||
"integrity": "sha512-AZkcAA5vnN/v4PDqKyMR5lx7hZttPDgClv83E//FMNhR2TMcLUhfRUBHCmSl0oi9zMgDDqRUJkSxO3wm85+XLg=="
|
||||
},
|
||||
"node_modules/@protobufjs/codegen": {
|
||||
"version": "2.0.4",
|
||||
"resolved": "https://registry.npmjs.org/@protobufjs/codegen/-/codegen-2.0.4.tgz",
|
||||
"integrity": "sha512-YyFaikqM5sH0ziFZCN3xDC7zeGaB/d0IUb9CATugHWbd1FRFwWwt4ld4OYMPWu5a3Xe01mGAULCdqhMlPl29Jg=="
|
||||
},
|
||||
"node_modules/@protobufjs/eventemitter": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@protobufjs/eventemitter/-/eventemitter-1.1.0.tgz",
|
||||
"integrity": "sha512-j9ednRT81vYJ9OfVuXG6ERSTdEL1xVsNgqpkxMsbIabzSo3goCjDIveeGv5d03om39ML71RdmrGNjG5SReBP/Q=="
|
||||
},
|
||||
"node_modules/@protobufjs/fetch": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@protobufjs/fetch/-/fetch-1.1.0.tgz",
|
||||
"integrity": "sha512-lljVXpqXebpsijW71PZaCYeIcE5on1w5DlQy5WH6GLbFryLUrBD4932W/E2BSpfRJWseIL4v/KPgBFxDOIdKpQ==",
|
||||
"dependencies": {
|
||||
"@protobufjs/aspromise": "^1.1.1",
|
||||
"@protobufjs/inquire": "^1.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/@protobufjs/float": {
|
||||
"version": "1.0.2",
|
||||
"resolved": "https://registry.npmjs.org/@protobufjs/float/-/float-1.0.2.tgz",
|
||||
"integrity": "sha512-Ddb+kVXlXst9d+R9PfTIxh1EdNkgoRe5tOX6t01f1lYWOvJnSPDBlG241QLzcyPdoNTsblLUdujGSE4RzrTZGQ=="
|
||||
},
|
||||
"node_modules/@protobufjs/inquire": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@protobufjs/inquire/-/inquire-1.1.0.tgz",
|
||||
"integrity": "sha512-kdSefcPdruJiFMVSbn801t4vFK7KB/5gd2fYvrxhuJYg8ILrmn9SKSX2tZdV6V+ksulWqS7aXjBcRXl3wHoD9Q=="
|
||||
},
|
||||
"node_modules/@protobufjs/path": {
|
||||
"version": "1.1.2",
|
||||
"resolved": "https://registry.npmjs.org/@protobufjs/path/-/path-1.1.2.tgz",
|
||||
"integrity": "sha512-6JOcJ5Tm08dOHAbdR3GrvP+yUUfkjG5ePsHYczMFLq3ZmMkAD98cDgcT2iA1lJ9NVwFd4tH/iSSoe44YWkltEA=="
|
||||
},
|
||||
"node_modules/@protobufjs/pool": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@protobufjs/pool/-/pool-1.1.0.tgz",
|
||||
"integrity": "sha512-0kELaGSIDBKvcgS4zkjz1PeddatrjYcmMWOlAuAPwAeccUrPHdUqo/J6LiymHHEiJT5NrF1UVwxY14f+fy4WQw=="
|
||||
},
|
||||
"node_modules/@protobufjs/utf8": {
|
||||
"version": "1.1.0",
|
||||
"resolved": "https://registry.npmjs.org/@protobufjs/utf8/-/utf8-1.1.0.tgz",
|
||||
"integrity": "sha512-Vvn3zZrhQZkkBE8LSuW3em98c0FwgO4nxzv6OdSxPKJIEKY2bGbHn+mhGIPerzI4twdxaP8/0+06HBpwf345Lw=="
|
||||
},
|
||||
"node_modules/@puppeteer/browsers": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.2.1.tgz",
|
||||
"integrity": "sha512-QSXujx4d4ogDamQA8ckkkRieFzDgZEuZuGiey9G7CuDcbnX4iINKWxTPC5Br2AEzY9ICAvcndqgAUFMMKnS/Tw==",
|
||||
"version": "2.2.3",
|
||||
"resolved": "https://registry.npmjs.org/@puppeteer/browsers/-/browsers-2.2.3.tgz",
|
||||
"integrity": "sha512-bJ0UBsk0ESOs6RFcLXOt99a3yTDcOKlzfjad+rhFwdaG1Lu/Wzq58GHYCDTlZ9z6mldf4g+NTb+TXEfe0PpnsQ==",
|
||||
"dependencies": {
|
||||
"debug": "4.3.4",
|
||||
"extract-zip": "2.0.1",
|
||||
|
|
@ -93,11 +163,36 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"node_modules/@puppeteer/browsers/node_modules/lru-cache": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
|
||||
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
|
||||
"dependencies": {
|
||||
"yallist": "^4.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/@puppeteer/browsers/node_modules/ms": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
|
||||
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w=="
|
||||
},
|
||||
"node_modules/@puppeteer/browsers/node_modules/semver": {
|
||||
"version": "7.6.0",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
|
||||
"integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
|
||||
"dependencies": {
|
||||
"lru-cache": "^6.0.0"
|
||||
},
|
||||
"bin": {
|
||||
"semver": "bin/semver.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
}
|
||||
},
|
||||
"node_modules/@tootallnate/quickjs-emscripten": {
|
||||
"version": "0.23.0",
|
||||
"resolved": "https://registry.npmjs.org/@tootallnate/quickjs-emscripten/-/quickjs-emscripten-0.23.0.tgz",
|
||||
|
|
@ -117,10 +212,9 @@
|
|||
"integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g=="
|
||||
},
|
||||
"node_modules/@types/node": {
|
||||
"version": "20.12.7",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.7.tgz",
|
||||
"integrity": "sha512-wq0cICSkRLVaf3UGLMGItu/PtdY7oaXaI/RVU+xliKVOtRna3PRY57ZDfztpDL0n11vfymMUnXv8QwYCO7L1wg==",
|
||||
"optional": true,
|
||||
"version": "20.12.12",
|
||||
"resolved": "https://registry.npmjs.org/@types/node/-/node-20.12.12.tgz",
|
||||
"integrity": "sha512-eWLDGF/FOSPtAvEqeRAQ4C8LSA7M1I7i0ky1I8U7kD1J5ITyW3AsRhQrKVoWf5pFKZ2kILsEGJhsI9r93PYnOw==",
|
||||
"dependencies": {
|
||||
"undici-types": "~5.26.4"
|
||||
}
|
||||
|
|
@ -134,12 +228,6 @@
|
|||
"@types/node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/abbrev": {
|
||||
"version": "1.1.1",
|
||||
"resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz",
|
||||
"integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/accepts": {
|
||||
"version": "1.3.8",
|
||||
"resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz",
|
||||
|
|
@ -256,37 +344,46 @@
|
|||
"integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw=="
|
||||
},
|
||||
"node_modules/bare-events": {
|
||||
"version": "2.2.2",
|
||||
"resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.2.2.tgz",
|
||||
"integrity": "sha512-h7z00dWdG0PYOQEvChhOSWvOfkIKsdZGkWr083FgN/HyoQuebSew/cgirYqh9SCuy/hRvxc5Vy6Fw8xAmYHLkQ==",
|
||||
"version": "2.3.1",
|
||||
"resolved": "https://registry.npmjs.org/bare-events/-/bare-events-2.3.1.tgz",
|
||||
"integrity": "sha512-sJnSOTVESURZ61XgEleqmP255T6zTYwHPwE4r6SssIh0U9/uDvfpdoJYpVUerJJZH2fueO+CdT8ZT+OC/7aZDA==",
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/bare-fs": {
|
||||
"version": "2.2.3",
|
||||
"resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-2.2.3.tgz",
|
||||
"integrity": "sha512-amG72llr9pstfXOBOHve1WjiuKKAMnebcmMbPWDZ7BCevAoJLpugjuAPRsDINEyjT0a6tbaVx3DctkXIRbLuJw==",
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/bare-fs/-/bare-fs-2.3.0.tgz",
|
||||
"integrity": "sha512-TNFqa1B4N99pds2a5NYHR15o0ZpdNKbAeKTE/+G6ED/UeOavv8RY3dr/Fu99HW3zU3pXpo2kDNO8Sjsm2esfOw==",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"bare-events": "^2.0.0",
|
||||
"bare-path": "^2.0.0",
|
||||
"streamx": "^2.13.0"
|
||||
"bare-stream": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/bare-os": {
|
||||
"version": "2.2.1",
|
||||
"resolved": "https://registry.npmjs.org/bare-os/-/bare-os-2.2.1.tgz",
|
||||
"integrity": "sha512-OwPyHgBBMkhC29Hl3O4/YfxW9n7mdTr2+SsO29XBWKKJsbgj3mnorDB80r5TiCQgQstgE5ga1qNYrpes6NvX2w==",
|
||||
"version": "2.3.0",
|
||||
"resolved": "https://registry.npmjs.org/bare-os/-/bare-os-2.3.0.tgz",
|
||||
"integrity": "sha512-oPb8oMM1xZbhRQBngTgpcQ5gXw6kjOaRsSWsIeNyRxGed2w/ARyP7ScBYpWR1qfX2E5rS3gBw6OWcSQo+s+kUg==",
|
||||
"optional": true
|
||||
},
|
||||
"node_modules/bare-path": {
|
||||
"version": "2.1.1",
|
||||
"resolved": "https://registry.npmjs.org/bare-path/-/bare-path-2.1.1.tgz",
|
||||
"integrity": "sha512-OHM+iwRDRMDBsSW7kl3dO62JyHdBKO3B25FB9vNQBPcGHMo4+eA8Yj41Lfbk3pS/seDY+siNge0LdRTulAau/A==",
|
||||
"version": "2.1.3",
|
||||
"resolved": "https://registry.npmjs.org/bare-path/-/bare-path-2.1.3.tgz",
|
||||
"integrity": "sha512-lh/eITfU8hrj9Ru5quUp0Io1kJWIk1bTjzo7JH1P5dWmQ2EL4hFUlfI8FonAhSlgIfhn63p84CDY/x+PisgcXA==",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"bare-os": "^2.1.0"
|
||||
}
|
||||
},
|
||||
"node_modules/bare-stream": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/bare-stream/-/bare-stream-1.0.0.tgz",
|
||||
"integrity": "sha512-KhNUoDL40iP4gFaLSsoGE479t0jHijfYdIcxRn/XtezA2BaUD0NRf/JGRpsMq6dMNM+SrCrB0YSSo/5wBY4rOQ==",
|
||||
"optional": true,
|
||||
"dependencies": {
|
||||
"streamx": "^2.16.1"
|
||||
}
|
||||
},
|
||||
"node_modules/base64-js": {
|
||||
"version": "1.5.1",
|
||||
"resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz",
|
||||
|
|
@ -359,12 +456,12 @@
|
|||
}
|
||||
},
|
||||
"node_modules/braces": {
|
||||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz",
|
||||
"integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==",
|
||||
"version": "3.0.3",
|
||||
"resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz",
|
||||
"integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"fill-range": "^7.0.1"
|
||||
"fill-range": "^7.1.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=8"
|
||||
|
|
@ -473,9 +570,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/chromium-bidi": {
|
||||
"version": "0.5.17",
|
||||
"resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.5.17.tgz",
|
||||
"integrity": "sha512-BqOuIWUgTPj8ayuBFJUYCCuwIcwjBsb3/614P7tt1bEPJ4i1M0kCdIl0Wi9xhtswBXnfO2bTpTMkHD71H8rJMg==",
|
||||
"version": "0.5.19",
|
||||
"resolved": "https://registry.npmjs.org/chromium-bidi/-/chromium-bidi-0.5.19.tgz",
|
||||
"integrity": "sha512-UA6zL77b7RYCjJkZBsZ0wlvCTD+jTjllZ8f6wdO4buevXgTZYjV+XLB9CiEa2OuuTGGTLnI7eN9I60YxuALGQg==",
|
||||
"dependencies": {
|
||||
"mitt": "3.0.1",
|
||||
"urlpattern-polyfill": "10.0.0",
|
||||
|
|
@ -659,9 +756,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/devtools-protocol": {
|
||||
"version": "0.0.1262051",
|
||||
"resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1262051.tgz",
|
||||
"integrity": "sha512-YJe4CT5SA8on3Spa+UDtNhEqtuV6Epwz3OZ4HQVLhlRccpZ9/PAYk0/cy/oKxFKRrZPBUPyxympQci4yWNWZ9g=="
|
||||
"version": "0.0.1286932",
|
||||
"resolved": "https://registry.npmjs.org/devtools-protocol/-/devtools-protocol-0.0.1286932.tgz",
|
||||
"integrity": "sha512-wu58HMQll9voDjR4NlPyoDEw1syfzaBNHymMMZ/QOXiHRNluOnDgu9hp1yHOKYoMlxCh4lSSiugLITe6Fvu1eA=="
|
||||
},
|
||||
"node_modules/ee-first": {
|
||||
"version": "1.1.1",
|
||||
|
|
@ -901,9 +998,9 @@
|
|||
}
|
||||
},
|
||||
"node_modules/fill-range": {
|
||||
"version": "7.0.1",
|
||||
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz",
|
||||
"integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==",
|
||||
"version": "7.1.1",
|
||||
"resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz",
|
||||
"integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"to-regex-range": "^5.0.1"
|
||||
|
|
@ -1096,6 +1193,7 @@
|
|||
"version": "7.2.3",
|
||||
"resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz",
|
||||
"integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==",
|
||||
"deprecated": "Glob versions prior to v9 are no longer supported",
|
||||
"dependencies": {
|
||||
"fs.realpath": "^1.0.0",
|
||||
"inflight": "^1.0.4",
|
||||
|
|
@ -1327,6 +1425,7 @@
|
|||
"version": "1.0.6",
|
||||
"resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz",
|
||||
"integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==",
|
||||
"deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.",
|
||||
"dependencies": {
|
||||
"once": "^1.3.0",
|
||||
"wrappy": "1"
|
||||
|
|
@ -1505,15 +1604,17 @@
|
|||
"resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz",
|
||||
"integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg=="
|
||||
},
|
||||
"node_modules/long": {
|
||||
"version": "5.2.3",
|
||||
"resolved": "https://registry.npmjs.org/long/-/long-5.2.3.tgz",
|
||||
"integrity": "sha512-lcHwpNoggQTObv5apGNCTdJrO69eHOZMi4BNC+rTLER8iHAqGrUVeLh/irVIM7zTw2bOXA8T6uNPeujwOLg/2Q=="
|
||||
},
|
||||
"node_modules/lru-cache": {
|
||||
"version": "6.0.0",
|
||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz",
|
||||
"integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==",
|
||||
"dependencies": {
|
||||
"yallist": "^4.0.0"
|
||||
},
|
||||
"version": "7.18.3",
|
||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
|
||||
"integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
|
||||
"engines": {
|
||||
"node": ">=10"
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/media-typer": {
|
||||
|
|
@ -1657,11 +1758,22 @@
|
|||
}
|
||||
},
|
||||
"node_modules/node-fetch": {
|
||||
"version": "2.6.1",
|
||||
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
|
||||
"integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==",
|
||||
"version": "2.7.0",
|
||||
"resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.7.0.tgz",
|
||||
"integrity": "sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A==",
|
||||
"dependencies": {
|
||||
"whatwg-url": "^5.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": "4.x || >=6.0.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"encoding": "^0.1.0"
|
||||
},
|
||||
"peerDependenciesMeta": {
|
||||
"encoding": {
|
||||
"optional": true
|
||||
}
|
||||
}
|
||||
},
|
||||
"node_modules/nodemon": {
|
||||
|
|
@ -1715,21 +1827,6 @@
|
|||
"integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==",
|
||||
"dev": true
|
||||
},
|
||||
"node_modules/nopt": {
|
||||
"version": "1.0.10",
|
||||
"resolved": "https://registry.npmjs.org/nopt/-/nopt-1.0.10.tgz",
|
||||
"integrity": "sha512-NWmpvLSqUrgrAC9HCuxEvb+PSloHpqVu+FqcO4eeF2h5qYRhA7ev6KvelyQAKtegUbC6RypJnlEOhd8vloNKYg==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"abbrev": "1"
|
||||
},
|
||||
"bin": {
|
||||
"nopt": "bin/nopt.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": "*"
|
||||
}
|
||||
},
|
||||
"node_modules/normalize-path": {
|
||||
"version": "3.0.0",
|
||||
"resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz",
|
||||
|
|
@ -1872,9 +1969,9 @@
|
|||
"integrity": "sha512-F3asv42UuXchdzt+xXqfW1OGlVBe+mxa2mqI0pg5yAHZPvFmY3Y6drSf/GQ1A86WgWEN9Kzh/WrgKa6iGcHXLg=="
|
||||
},
|
||||
"node_modules/picocolors": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
|
||||
"integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ=="
|
||||
"version": "1.0.1",
|
||||
"resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz",
|
||||
"integrity": "sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew=="
|
||||
},
|
||||
"node_modules/picomatch": {
|
||||
"version": "2.3.1",
|
||||
|
|
@ -1888,6 +1985,47 @@
|
|||
"url": "https://github.com/sponsors/jonschlinkert"
|
||||
}
|
||||
},
|
||||
"node_modules/playwright": {
|
||||
"version": "1.44.0",
|
||||
"resolved": "https://registry.npmjs.org/playwright/-/playwright-1.44.0.tgz",
|
||||
"integrity": "sha512-F9b3GUCLQ3Nffrfb6dunPOkE5Mh68tR7zN32L4jCk4FjQamgesGay7/dAAe1WaMEGV04DkdJfcJzjoCKygUaRQ==",
|
||||
"dependencies": {
|
||||
"playwright-core": "1.44.0"
|
||||
},
|
||||
"bin": {
|
||||
"playwright": "cli.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=16"
|
||||
},
|
||||
"optionalDependencies": {
|
||||
"fsevents": "2.3.2"
|
||||
}
|
||||
},
|
||||
"node_modules/playwright-core": {
|
||||
"version": "1.44.0",
|
||||
"resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.44.0.tgz",
|
||||
"integrity": "sha512-ZTbkNpFfYcGWohvTTl+xewITm7EOuqIqex0c7dNZ+aXsbrLj0qI8XlGKfPpipjm0Wny/4Lt4CJsWJk1stVS5qQ==",
|
||||
"bin": {
|
||||
"playwright-core": "cli.js"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=16"
|
||||
}
|
||||
},
|
||||
"node_modules/playwright/node_modules/fsevents": {
|
||||
"version": "2.3.2",
|
||||
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
|
||||
"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
|
||||
"hasInstallScript": true,
|
||||
"optional": true,
|
||||
"os": [
|
||||
"darwin"
|
||||
],
|
||||
"engines": {
|
||||
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/progress": {
|
||||
"version": "2.0.3",
|
||||
"resolved": "https://registry.npmjs.org/progress/-/progress-2.0.3.tgz",
|
||||
|
|
@ -1896,6 +2034,29 @@
|
|||
"node": ">=0.4.0"
|
||||
}
|
||||
},
|
||||
"node_modules/protobufjs": {
|
||||
"version": "7.3.0",
|
||||
"resolved": "https://registry.npmjs.org/protobufjs/-/protobufjs-7.3.0.tgz",
|
||||
"integrity": "sha512-YWD03n3shzV9ImZRX3ccbjqLxj7NokGN0V/ESiBV5xWqrommYHYiihuIyavq03pWSGqlyvYUFmfoMKd+1rPA/g==",
|
||||
"hasInstallScript": true,
|
||||
"dependencies": {
|
||||
"@protobufjs/aspromise": "^1.1.2",
|
||||
"@protobufjs/base64": "^1.1.2",
|
||||
"@protobufjs/codegen": "^2.0.4",
|
||||
"@protobufjs/eventemitter": "^1.1.0",
|
||||
"@protobufjs/fetch": "^1.1.0",
|
||||
"@protobufjs/float": "^1.0.2",
|
||||
"@protobufjs/inquire": "^1.1.0",
|
||||
"@protobufjs/path": "^1.1.2",
|
||||
"@protobufjs/pool": "^1.1.0",
|
||||
"@protobufjs/utf8": "^1.1.0",
|
||||
"@types/node": ">=13.7.0",
|
||||
"long": "^5.0.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=12.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/proxy-addr": {
|
||||
"version": "2.0.7",
|
||||
"resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz",
|
||||
|
|
@ -1942,14 +2103,6 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"node_modules/proxy-agent/node_modules/lru-cache": {
|
||||
"version": "7.18.3",
|
||||
"resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz",
|
||||
"integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==",
|
||||
"engines": {
|
||||
"node": ">=12"
|
||||
}
|
||||
},
|
||||
"node_modules/proxy-agent/node_modules/ms": {
|
||||
"version": "2.1.2",
|
||||
"resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz",
|
||||
|
|
@ -1976,15 +2129,15 @@
|
|||
}
|
||||
},
|
||||
"node_modules/puppeteer": {
|
||||
"version": "22.6.4",
|
||||
"resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-22.6.4.tgz",
|
||||
"integrity": "sha512-J9hXNwZmuqKDmNMj6kednZH8jzbdX9735NQfQJrq5LRD4nHisAMyW9pCD7glKi+iM7RV9JkesI1MYhdsN+0ZSQ==",
|
||||
"version": "22.10.0",
|
||||
"resolved": "https://registry.npmjs.org/puppeteer/-/puppeteer-22.10.0.tgz",
|
||||
"integrity": "sha512-ZOkZd6a6t0BdKcWb0wAYHWQqCfdlN1PPnXOmg/XNrbo6gJhYWFX4qCNb6ahSn8TpAqBqLCoD4Q010F7GwOM7mA==",
|
||||
"hasInstallScript": true,
|
||||
"dependencies": {
|
||||
"@puppeteer/browsers": "2.2.1",
|
||||
"@puppeteer/browsers": "2.2.3",
|
||||
"cosmiconfig": "9.0.0",
|
||||
"devtools-protocol": "0.0.1262051",
|
||||
"puppeteer-core": "22.6.4"
|
||||
"devtools-protocol": "0.0.1286932",
|
||||
"puppeteer-core": "22.10.0"
|
||||
},
|
||||
"bin": {
|
||||
"puppeteer": "lib/esm/puppeteer/node/cli.js"
|
||||
|
|
@ -1994,15 +2147,15 @@
|
|||
}
|
||||
},
|
||||
"node_modules/puppeteer-core": {
|
||||
"version": "22.6.4",
|
||||
"resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-22.6.4.tgz",
|
||||
"integrity": "sha512-QtfJwPmqQec3EHc6LqbEz03vSiuVAr9bYp0TV87dLoreev6ZevsXdLgOfQgoA3GocrsSe/eUf7NRPQ1lQfsc3w==",
|
||||
"version": "22.10.0",
|
||||
"resolved": "https://registry.npmjs.org/puppeteer-core/-/puppeteer-core-22.10.0.tgz",
|
||||
"integrity": "sha512-I54J4Vy4I07UHsgB1QSmuFoF7KNQjJWcvFBPhtY+ezMdBfwgGDr8dzYrJa11aPgP9kxIUHjhktcMmmfJkOAtTw==",
|
||||
"dependencies": {
|
||||
"@puppeteer/browsers": "2.2.1",
|
||||
"chromium-bidi": "0.5.17",
|
||||
"@puppeteer/browsers": "2.2.3",
|
||||
"chromium-bidi": "0.5.19",
|
||||
"debug": "4.3.4",
|
||||
"devtools-protocol": "0.0.1262051",
|
||||
"ws": "8.16.0"
|
||||
"devtools-protocol": "0.0.1286932",
|
||||
"ws": "8.17.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
|
|
@ -2338,6 +2491,7 @@
|
|||
"version": "3.0.2",
|
||||
"resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz",
|
||||
"integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==",
|
||||
"deprecated": "Rimraf versions prior to v4 are no longer supported",
|
||||
"dependencies": {
|
||||
"glob": "^7.1.3"
|
||||
},
|
||||
|
|
@ -2373,12 +2527,10 @@
|
|||
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg=="
|
||||
},
|
||||
"node_modules/semver": {
|
||||
"version": "7.6.0",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz",
|
||||
"integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==",
|
||||
"dependencies": {
|
||||
"lru-cache": "^6.0.0"
|
||||
},
|
||||
"version": "7.6.2",
|
||||
"resolved": "https://registry.npmjs.org/semver/-/semver-7.6.2.tgz",
|
||||
"integrity": "sha512-FNAIBWCx9qcRhoHcgcJ0gvU7SN1lYU2ZXuSfl04bSC5OpvDHFyJCjdNHomPXxjQlCBU67YW64PzY7/VIEH7F2w==",
|
||||
"dev": true,
|
||||
"bin": {
|
||||
"semver": "bin/semver.js"
|
||||
},
|
||||
|
|
@ -2685,17 +2837,19 @@
|
|||
}
|
||||
},
|
||||
"node_modules/touch": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmjs.org/touch/-/touch-3.1.0.tgz",
|
||||
"integrity": "sha512-WBx8Uy5TLtOSRtIq+M03/sKDrXCLHxwDcquSP2c43Le03/9serjQBIztjRz6FkJez9D/hleyAXTBGLwwZUw9lA==",
|
||||
"version": "3.1.1",
|
||||
"resolved": "https://registry.npmjs.org/touch/-/touch-3.1.1.tgz",
|
||||
"integrity": "sha512-r0eojU4bI8MnHr8c5bNo7lJDdI2qXlWWJk6a9EAFG7vbhTjElYhBVS3/miuE0uOuoLdb8Mc/rVfsmm6eo5o9GA==",
|
||||
"dev": true,
|
||||
"dependencies": {
|
||||
"nopt": "~1.0.10"
|
||||
},
|
||||
"bin": {
|
||||
"nodetouch": "bin/nodetouch.js"
|
||||
}
|
||||
},
|
||||
"node_modules/tr46": {
|
||||
"version": "0.0.3",
|
||||
"resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz",
|
||||
"integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw=="
|
||||
},
|
||||
"node_modules/tslib": {
|
||||
"version": "2.6.2",
|
||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz",
|
||||
|
|
@ -2731,8 +2885,7 @@
|
|||
"node_modules/undici-types": {
|
||||
"version": "5.26.5",
|
||||
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz",
|
||||
"integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==",
|
||||
"optional": true
|
||||
"integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA=="
|
||||
},
|
||||
"node_modules/universalify": {
|
||||
"version": "2.0.1",
|
||||
|
|
@ -2771,6 +2924,20 @@
|
|||
"node": ">= 0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/webidl-conversions": {
|
||||
"version": "3.0.1",
|
||||
"resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz",
|
||||
"integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ=="
|
||||
},
|
||||
"node_modules/whatwg-url": {
|
||||
"version": "5.0.0",
|
||||
"resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz",
|
||||
"integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==",
|
||||
"dependencies": {
|
||||
"tr46": "~0.0.3",
|
||||
"webidl-conversions": "^3.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/wrap-ansi": {
|
||||
"version": "7.0.0",
|
||||
"resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz",
|
||||
|
|
@ -2823,9 +2990,9 @@
|
|||
"integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ=="
|
||||
},
|
||||
"node_modules/ws": {
|
||||
"version": "8.16.0",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz",
|
||||
"integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==",
|
||||
"version": "8.17.0",
|
||||
"resolved": "https://registry.npmjs.org/ws/-/ws-8.17.0.tgz",
|
||||
"integrity": "sha512-uJq6108EgZMAl20KagGkzCKfMEjxmKvZHG7Tlq0Z6nOky7YF7aq4mOx6xK8TJ/i1LeK4Qus7INktacctDgY8Ow==",
|
||||
"engines": {
|
||||
"node": ">=10.0.0"
|
||||
},
|
||||
|
|
|
|||
|
|
@ -4,18 +4,21 @@
|
|||
"description": "",
|
||||
"main": "index.js",
|
||||
"scripts": {
|
||||
"start": "nodemon server.js",
|
||||
"start": "node server.js",
|
||||
"dev": "nodemon --inspect=0.0.0.0 server.js",
|
||||
"test": "echo \"Error: no test specified\" && exit 1"
|
||||
},
|
||||
"author": "",
|
||||
"license": "ISC",
|
||||
"dependencies": {
|
||||
"@playwright/test": "^1.44.0",
|
||||
"body-parser": "^1.20.2",
|
||||
"express": "^4.19.2",
|
||||
"express-async-handler": "^1.2.0",
|
||||
"moment-timezone": "^0.5.45",
|
||||
"node-fetch": "^2.6.1",
|
||||
"puppeteer": "^22.6.4",
|
||||
"protobufjs": "^7.3.0",
|
||||
"puppeteer": "^22.10.0",
|
||||
"puppeteer-extra": "^3.3.6",
|
||||
"puppeteer-extra-plugin-stealth": "^2.11.2"
|
||||
},
|
||||
|
|
|
|||
Binary file not shown.
|
After Width: | Height: | Size: 2.5 MiB |
|
|
@ -10,8 +10,8 @@ services:
|
|||
- ./AuctionServices:/agent/AuctionServices
|
||||
networks:
|
||||
- internal
|
||||
# ports:
|
||||
# - "80:80"
|
||||
ports:
|
||||
- "9229:9229"
|
||||
|
||||
scrapper:
|
||||
build:
|
||||
|
|
|
|||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"name": "AuctionAgent",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {}
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"name": "AuctionAgent",
|
||||
"lockfileVersion": 3,
|
||||
"requires": true,
|
||||
"packages": {}
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
{}
|
||||
Loading…
Reference in New Issue