mirror of
https://github.com/MrUnknownDE/VRCX.git
synced 2026-05-07 06:56:04 +02:00
+bio logging
This commit is contained in:
@@ -8447,6 +8447,32 @@ speechSynthesis.getVoices();
|
|||||||
$app.addFeed(feed);
|
$app.addFeed(feed);
|
||||||
database.addStatusToDatabase(feed);
|
database.addStatusToDatabase(feed);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (props.bio) {
|
||||||
|
var bio = '';
|
||||||
|
var previousBio = '';
|
||||||
|
if (props.bio) {
|
||||||
|
if (props.bio[0]) {
|
||||||
|
bio = props.bio[0];
|
||||||
|
}
|
||||||
|
if (props.bio[1]) {
|
||||||
|
previousBio = props.bio[1];
|
||||||
|
}
|
||||||
|
} else if (ref.bio) {
|
||||||
|
bio = ref.bio;
|
||||||
|
previousBio = ref.bio;
|
||||||
|
}
|
||||||
|
var feed = {
|
||||||
|
created_at: new Date().toJSON(),
|
||||||
|
type: 'Bio',
|
||||||
|
userId: ref.id,
|
||||||
|
displayName: ref.displayName,
|
||||||
|
bio,
|
||||||
|
previousBio
|
||||||
|
};
|
||||||
|
$app.addFeed(feed);
|
||||||
|
database.addBioToDatabase(feed);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
$app.methods.addFeed = function (feed) {
|
$app.methods.addFeed = function (feed) {
|
||||||
@@ -20667,6 +20693,7 @@ speechSynthesis.getVoices();
|
|||||||
this.sqliteTableSizes = {
|
this.sqliteTableSizes = {
|
||||||
gps: await database.getGpsTableSize(),
|
gps: await database.getGpsTableSize(),
|
||||||
status: await database.getStatusTableSize(),
|
status: await database.getStatusTableSize(),
|
||||||
|
bio: await database.getBioTableSize(),
|
||||||
avatar: await database.getAvatarTableSize(),
|
avatar: await database.getAvatarTableSize(),
|
||||||
onlineOffline: await database.getOnlineOfflineTableSize(),
|
onlineOffline: await database.getOnlineOfflineTableSize(),
|
||||||
friendLogHistory: await database.getFriendLogHistoryTableSize(),
|
friendLogHistory: await database.getFriendLogHistoryTableSize(),
|
||||||
|
|||||||
+12
-1
@@ -315,7 +315,7 @@ html
|
|||||||
el-tooltip(placement="bottom" content="Filter VIP only" :disabled="hideTooltips")
|
el-tooltip(placement="bottom" content="Filter VIP only" :disabled="hideTooltips")
|
||||||
el-switch(v-model="feedTable.vip" @change="feedTableLookup" active-color="#13ce66")
|
el-switch(v-model="feedTable.vip" @change="feedTableLookup" active-color="#13ce66")
|
||||||
el-select(v-model="feedTable.filter" @change="feedTableLookup" multiple clearable collapse-tags style="flex:1" placeholder="Filter")
|
el-select(v-model="feedTable.filter" @change="feedTableLookup" multiple clearable collapse-tags style="flex:1" placeholder="Filter")
|
||||||
el-option(v-once v-for="type in ['GPS', 'Online', 'Offline', 'Status', 'Avatar']" :key="type" :label="type" :value="type")
|
el-option(v-once v-for="type in ['GPS', 'Online', 'Offline', 'Status', 'Avatar', 'Bio']" :key="type" :label="type" :value="type")
|
||||||
el-input(v-model="feedTable.search" placeholder="Search" @keyup.native.13="feedTableLookup" @change="feedTableLookup" clearable style="flex:none;width:150px;margin:0 10px")
|
el-input(v-model="feedTable.search" placeholder="Search" @keyup.native.13="feedTableLookup" @change="feedTableLookup" clearable style="flex:none;width:150px;margin:0 10px")
|
||||||
//- el-tooltip(placement="bottom" content="Clear feed" :disabled="hideTooltips")
|
//- el-tooltip(placement="bottom" content="Clear feed" :disabled="hideTooltips")
|
||||||
//- el-button(type="default" @click="clearFeed()" icon="el-icon-delete" circle style="flex:none")
|
//- el-button(type="default" @click="clearFeed()" icon="el-icon-delete" circle style="flex:none")
|
||||||
@@ -366,6 +366,15 @@ html
|
|||||||
span(v-else) Offline
|
span(v-else) Offline
|
||||||
i.x-user-status(:class="statusClass(scope.row.status)")
|
i.x-user-status(:class="statusClass(scope.row.status)")
|
||||||
span(v-text="scope.row.statusDescription")
|
span(v-text="scope.row.statusDescription")
|
||||||
|
template(v-else-if="scope.row.type === 'Bio'")
|
||||||
|
el-tooltip(placement="top")
|
||||||
|
pre(v-text="scope.row.previousBio")
|
||||||
|
|
||||||
|
span
|
||||||
|
i.el-icon-right
|
||||||
|
br
|
||||||
|
el-tooltip(placement="top")
|
||||||
|
pre(v-text="scope.row.bio")
|
||||||
el-table-column(label="Date" prop="created_at" sortable="custom" width="120")
|
el-table-column(label="Date" prop="created_at" sortable="custom" width="120")
|
||||||
template(v-once #default="scope")
|
template(v-once #default="scope")
|
||||||
el-tooltip(placement="right")
|
el-tooltip(placement="right")
|
||||||
@@ -1453,6 +1462,8 @@ html
|
|||||||
span.name GPS: #[span(v-text="sqliteTableSizes.gps")]
|
span.name GPS: #[span(v-text="sqliteTableSizes.gps")]
|
||||||
div.options-container-item
|
div.options-container-item
|
||||||
span.name Status: #[span(v-text="sqliteTableSizes.status")]
|
span.name Status: #[span(v-text="sqliteTableSizes.status")]
|
||||||
|
div.options-container-item
|
||||||
|
span.name Bio: #[span(v-text="sqliteTableSizes.bio")]
|
||||||
div.options-container-item
|
div.options-container-item
|
||||||
span.name Avatar: #[span(v-text="sqliteTableSizes.avatar")]
|
span.name Avatar: #[span(v-text="sqliteTableSizes.avatar")]
|
||||||
div.options-container-item
|
div.options-container-item
|
||||||
|
|||||||
@@ -14,6 +14,9 @@ class Database {
|
|||||||
await sqliteService.executeNonQuery(
|
await sqliteService.executeNonQuery(
|
||||||
`CREATE TABLE IF NOT EXISTS ${Database.userPrefix}_feed_status (id INTEGER PRIMARY KEY, created_at TEXT, user_id TEXT, display_name TEXT, status TEXT, status_description TEXT, previous_status TEXT, previous_status_description TEXT)`
|
`CREATE TABLE IF NOT EXISTS ${Database.userPrefix}_feed_status (id INTEGER PRIMARY KEY, created_at TEXT, user_id TEXT, display_name TEXT, status TEXT, status_description TEXT, previous_status TEXT, previous_status_description TEXT)`
|
||||||
);
|
);
|
||||||
|
await sqliteService.executeNonQuery(
|
||||||
|
`CREATE TABLE IF NOT EXISTS ${Database.userPrefix}_feed_bio (id INTEGER PRIMARY KEY, created_at TEXT, user_id TEXT, display_name TEXT, bio TEXT, previous_bio TEXT)`
|
||||||
|
);
|
||||||
await sqliteService.executeNonQuery(
|
await sqliteService.executeNonQuery(
|
||||||
`CREATE TABLE IF NOT EXISTS ${Database.userPrefix}_feed_avatar (id INTEGER PRIMARY KEY, created_at TEXT, user_id TEXT, display_name TEXT, owner_id TEXT, avatar_name TEXT, current_avatar_image_url TEXT, current_avatar_thumbnail_image_url TEXT, previous_current_avatar_image_url TEXT, previous_current_avatar_thumbnail_image_url TEXT)`
|
`CREATE TABLE IF NOT EXISTS ${Database.userPrefix}_feed_avatar (id INTEGER PRIMARY KEY, created_at TEXT, user_id TEXT, display_name TEXT, owner_id TEXT, avatar_name TEXT, current_avatar_image_url TEXT, current_avatar_thumbnail_image_url TEXT, previous_current_avatar_image_url TEXT, previous_current_avatar_thumbnail_image_url TEXT)`
|
||||||
);
|
);
|
||||||
@@ -101,6 +104,18 @@ class Database {
|
|||||||
};
|
};
|
||||||
feedDatabase.unshift(row);
|
feedDatabase.unshift(row);
|
||||||
}, `SELECT * FROM ${Database.userPrefix}_feed_status WHERE created_at >= date('${dateOffset}') ORDER BY id DESC`);
|
}, `SELECT * FROM ${Database.userPrefix}_feed_status WHERE created_at >= date('${dateOffset}') ORDER BY id DESC`);
|
||||||
|
await sqliteService.execute((dbRow) => {
|
||||||
|
var row = {
|
||||||
|
rowId: dbRow[0],
|
||||||
|
created_at: dbRow[1],
|
||||||
|
userId: dbRow[2],
|
||||||
|
displayName: dbRow[3],
|
||||||
|
type: 'Bio',
|
||||||
|
bio: dbRow[4],
|
||||||
|
previousBio: dbRow[5]
|
||||||
|
};
|
||||||
|
feedDatabase.unshift(row);
|
||||||
|
}, `SELECT * FROM ${Database.userPrefix}_feed_bio WHERE created_at >= date('${dateOffset}') ORDER BY id DESC`);
|
||||||
await sqliteService.execute((dbRow) => {
|
await sqliteService.execute((dbRow) => {
|
||||||
var row = {
|
var row = {
|
||||||
rowId: dbRow[0],
|
rowId: dbRow[0],
|
||||||
@@ -377,6 +392,19 @@ class Database {
|
|||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
addBioToDatabase(entry) {
|
||||||
|
sqliteService.executeNonQuery(
|
||||||
|
`INSERT OR IGNORE INTO ${Database.userPrefix}_feed_bio (created_at, user_id, display_name, bio, previous_bio) VALUES (@created_at, @user_id, @display_name, @bio, @previous_bio)`,
|
||||||
|
{
|
||||||
|
'@created_at': entry.created_at,
|
||||||
|
'@user_id': entry.userId,
|
||||||
|
'@display_name': entry.displayName,
|
||||||
|
'@bio': entry.bio,
|
||||||
|
'@previous_bio': entry.previousBio
|
||||||
|
}
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
addAvatarToDatabase(entry) {
|
addAvatarToDatabase(entry) {
|
||||||
sqliteService.executeNonQuery(
|
sqliteService.executeNonQuery(
|
||||||
`INSERT OR IGNORE INTO ${Database.userPrefix}_feed_avatar (created_at, user_id, display_name, owner_id, avatar_name, current_avatar_image_url, current_avatar_thumbnail_image_url, previous_current_avatar_image_url, previous_current_avatar_thumbnail_image_url) VALUES (@created_at, @user_id, @display_name, @owner_id, @avatar_name, @current_avatar_image_url, @current_avatar_thumbnail_image_url, @previous_current_avatar_image_url, @previous_current_avatar_thumbnail_image_url)`,
|
`INSERT OR IGNORE INTO ${Database.userPrefix}_feed_avatar (created_at, user_id, display_name, owner_id, avatar_name, current_avatar_image_url, current_avatar_thumbnail_image_url, previous_current_avatar_image_url, previous_current_avatar_thumbnail_image_url) VALUES (@created_at, @user_id, @display_name, @owner_id, @avatar_name, @current_avatar_image_url, @current_avatar_thumbnail_image_url, @previous_current_avatar_image_url, @previous_current_avatar_thumbnail_image_url)`,
|
||||||
@@ -716,6 +744,14 @@ class Database {
|
|||||||
return size;
|
return size;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
async getBioTableSize() {
|
||||||
|
var size = 0;
|
||||||
|
await sqliteService.execute((row) => {
|
||||||
|
size = row[0];
|
||||||
|
}, `SELECT COUNT(*) FROM ${Database.userPrefix}_feed_bio`);
|
||||||
|
return size;
|
||||||
|
}
|
||||||
|
|
||||||
async getAvatarTableSize() {
|
async getAvatarTableSize() {
|
||||||
var size = 0;
|
var size = 0;
|
||||||
await sqliteService.execute((row) => {
|
await sqliteService.execute((row) => {
|
||||||
@@ -984,12 +1020,14 @@ class Database {
|
|||||||
}
|
}
|
||||||
var gps = true;
|
var gps = true;
|
||||||
var status = true;
|
var status = true;
|
||||||
|
var bio = true;
|
||||||
var avatar = true;
|
var avatar = true;
|
||||||
var online = true;
|
var online = true;
|
||||||
var offline = true;
|
var offline = true;
|
||||||
if (filters.length > 0) {
|
if (filters.length > 0) {
|
||||||
gps = false;
|
gps = false;
|
||||||
status = false;
|
status = false;
|
||||||
|
bio = false;
|
||||||
avatar = false;
|
avatar = false;
|
||||||
online = false;
|
online = false;
|
||||||
offline = false;
|
offline = false;
|
||||||
@@ -1001,6 +1039,9 @@ class Database {
|
|||||||
case 'Status':
|
case 'Status':
|
||||||
status = true;
|
status = true;
|
||||||
break;
|
break;
|
||||||
|
case 'Bio':
|
||||||
|
bio = true;
|
||||||
|
break;
|
||||||
case 'Avatar':
|
case 'Avatar':
|
||||||
avatar = true;
|
avatar = true;
|
||||||
break;
|
break;
|
||||||
@@ -1047,6 +1088,20 @@ class Database {
|
|||||||
feedDatabase.unshift(row);
|
feedDatabase.unshift(row);
|
||||||
}, `SELECT * FROM ${Database.userPrefix}_feed_status WHERE (display_name LIKE '%${search}%' OR status LIKE '%${search}%' OR status_description LIKE '%${search}%') ${vipQuery} ORDER BY id DESC LIMIT ${Database.maxTableSize}`);
|
}, `SELECT * FROM ${Database.userPrefix}_feed_status WHERE (display_name LIKE '%${search}%' OR status LIKE '%${search}%' OR status_description LIKE '%${search}%') ${vipQuery} ORDER BY id DESC LIMIT ${Database.maxTableSize}`);
|
||||||
}
|
}
|
||||||
|
if (bio) {
|
||||||
|
await sqliteService.execute((dbRow) => {
|
||||||
|
var row = {
|
||||||
|
rowId: dbRow[0],
|
||||||
|
created_at: dbRow[1],
|
||||||
|
userId: dbRow[2],
|
||||||
|
displayName: dbRow[3],
|
||||||
|
type: 'Bio',
|
||||||
|
bio: dbRow[4],
|
||||||
|
previousBio: dbRow[5]
|
||||||
|
};
|
||||||
|
feedDatabase.unshift(row);
|
||||||
|
}, `SELECT * FROM ${Database.userPrefix}_feed_bio WHERE (display_name LIKE '%${search}%' OR bio LIKE '%${search}%') ${vipQuery} ORDER BY id DESC LIMIT ${Database.maxTableSize}`);
|
||||||
|
}
|
||||||
if (avatar) {
|
if (avatar) {
|
||||||
await sqliteService.execute((dbRow) => {
|
await sqliteService.execute((dbRow) => {
|
||||||
var row = {
|
var row = {
|
||||||
|
|||||||
Reference in New Issue
Block a user