| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- const db = require("./data.js");
- let profileData = [];
- profileData.retrieveProfileImages = async function(lang, max){
- return new Promise((resolve, reject) => {
- db.all(
- "SELECT id, path, " + db.langQuery("title", lang)
- + ", priority FROM profile_image WHERE visible=1 ORDER BY priority "
- + (parseInt(max) > 0 ? " LIMIT " + parseInt(max) : ""),
- (err, imgs) => {
- if (err) reject(err);
- else resolve(imgs);
- }
- );
- });
- }
- profileData.retrieveProfileTexts = async function(lang, mod){
- return new Promise((resolve, reject) => {
- db.all(
- "SELECT id, " + db.langQuery("content", lang)
- + ", priority, home FROM profile_text WHERE visible=1 "
- + (parseInt(mod) > 0 ? " LIMIT " + parseInt(mod) : "")
- + (mod == "home" ? " AND home=1 " : "") + (mod == "profile" ? " AND profile=1 " : "")
- + "ORDER BY priority "
- ,
- (err, texts) => {
- if (err) reject(err);
- else resolve(texts);
- }
- );
- });
- }
- profileData.getProfile = function(lang = null, images = null, texts = null) {
- return new Promise((resolve, reject) => {
- db.get(
- "SELECT first_name, last_name, display_name FROM profile LIMIT 1",
- async (err, row) => {
- if(err) reject(err);
- else if (!row) resolve("[]");
- else{
- if (images != false || parseInt(images) > 0){
- row.images = await this.retrieveProfileImages(lang, images);
- }
- if (texts != false || parseInt(texts) > 0){
- row.texts = await this.retrieveProfileTexts(lang, texts);
- }
- resolve(row);
- }
- }
- );
- });
- }
- module.exports = profileData;
|