1 line
7.7 KiB
JavaScript
1 line
7.7 KiB
JavaScript
"use strict";exports.id=3704,exports.ids=[3704],exports.modules={83704:(e,a,t)=>{t.d(a,{A:()=>g});var i=t(29021),s=t.n(i),l=t(96052),r=t(33873),n=t.n(r),o=t(67580),d=t(30944),u=t(68829),c=t(98e3),m=t(49941);async function _({user:e,social_platform:a,invitation:t,database:i,additionalFields:s,debug:l}){let r=i||"datasquirel",n=i?`\`${r}\`.`:"",o=`SELECT * FROM ${n}\`users\` WHERE email=? AND social_id=? AND social_platform=?`,u=[e.email,e.social_id,a],c=await (0,d.A)({database:r,queryString:o,queryValuesArray:u,debug:l});if(!c?.[0])return{success:!1,payload:null};let _=Math.random().toString(36).substring(2)+"-"+Math.random().toString(36).substring(2),g={id:c[0].id,first_name:c[0].first_name,last_name:c[0].last_name,username:c[0].username,user_type:c[0].user_type,email:c[0].email,social_id:c[0].social_id,image:c[0].image,image_thumbnail:c[0].image_thumbnail,verification_status:c[0].verification_status,social_login:c[0].social_login,social_platform:c[0].social_platform,csrf_k:_,logged_in_status:!0,date:Date.now()};return s?.[0]&&s.forEach(e=>{g[e]=c[0][e]}),t&&(!i||i?.match(/^datasquirel$/))&&(0,m.A)({query:t,user:g}),{success:!0,payload:g,csrf:_}}async function g({database:e,social_id:a,email:t,social_platform:i,payload:r,invitation:m,supEmail:g,additionalFields:E,debug:b}){try{let f=global.DSQL_USE_LOCAL?void 0:e||"datasquirel",y=global.DSQL_USE_LOCAL?"":`${f}.`,S=`SELECT * FROM ${y}users WHERE social_id = ? AND social_login='1' AND social_platform = ? `,A=[a.toString(),i];b&&(console.log("handleSocialDb:existingSocialIdUserQuery",S),console.log("handleSocialDb:existingSocialIdUserValues",A));let p=await (0,d.A)({database:f,queryString:S,queryValuesArray:A,debug:b});if(b&&console.log("handleSocialDb:existingSocialIdUser",p),p?.[0])return await _({user:p[0],social_platform:i,invitation:m,database:f,additionalFields:E,debug:b});let D=t||g||null;if(!D)return{success:!1,payload:null,msg:"No Email Present"};let h=`SELECT * FROM ${y}users WHERE email='${D}'`;b&&console.log("handleSocialDb:existingEmailOnlyQuery",h);let v=await (0,d.A)({database:f,queryString:h,debug:b});if(b&&console.log("handleSocialDb:existingEmailOnly",v),v&&v[0])return{success:!1,payload:null,msg:"This Email is already taken"};let R=`SELECT * FROM ${y}users WHERE email=? AND social_login='1' AND social_platform=? AND social_id=?`,N=[D,i,a],O=await (0,d.A)({database:f,queryString:R,queryValuesArray:N,debug:b});if(O&&O[0])return await _({user:r,social_platform:i,invitation:m,database:f,additionalFields:E,debug:b});let L=(0,u.A)({data:a.toString()}),F={social_login:"1",verification_status:g?"0":"1",password:L};Object.keys(r).forEach(e=>{F[e]=r[e]});let $=await (0,c.A)({dbContext:f?"Dsql User":void 0,paradigm:f?"Full Access":void 0,dbFullName:f,tableName:"users",duplicateColumnName:"email",duplicateColumnValue:D,data:{...F,email:D}});if(!$?.insertId)return console.log("Social User Failed to insert in 'handleSocialDb.ts' backend function =>",$),{success:!1,payload:null,msg:"Social User Failed to insert in 'handleSocialDb.ts' backend function"};{e||await (0,o.A)({userId:$.insertId});let a=`SELECT * FROM ${y}users WHERE id='${$.insertId}'`,t=await (0,d.A)({database:f,queryString:a,debug:b});if(!t||!t[0])return{success:!1,payload:null,msg:"User Insertion Failed!"};if(g&&e?.match(/^datasquirel$/)){let e=(0,u.A)({data:JSON.stringify({id:$.insertId,email:g,dateCode:Date.now()})});(0,l.A)({to:g,subject:"Verify Email Address",text:"Please click the link to verify your email address",html:s().readFileSync("./email/send-email-verification-link.html","utf8").replace(/{{host}}/,process.env.DSQL_HOST||"").replace(/{{token}}/,e||"")}).then(()=>{})}let r=process.env.DSQL_STATIC_SERVER_DIR;if(!r)return console.log("Static File ENV not Found!"),{success:!1,payload:null,msg:"Static File ENV not Found!"};if(!e||e?.match(/^datasquirel$/)){let e=`${process.env.DSQL_USER_DB_SCHEMA_PATH}/user-${$.insertId}`,a=n().join(r,`images/user-images/user-${$.insertId}`);s().mkdirSync(e),s().mkdirSync(a),s().writeFileSync(`${e}/main.json`,JSON.stringify([]),"utf8")}return await _({user:t[0],social_platform:i,invitation:m,database:f,additionalFields:E,debug:b})}}catch(e){return console.log("ERROR in 'handleSocialDb.ts' backend function =>",e.message),{success:!1,payload:null,msg:e.message}}}},49941:(e,a,t)=>{t.d(a,{A:()=>n});var i=t(67619),s=t(48786),l=t(98e3),r=t(62050);async function n({query:e,user:a}){try{let t=global.DSQL_USE_LOCAL?r.A:s.A,{invite:i,database_access:n,priviledge:o,email:d}=e,u=[i,d],c=await t("SELECT date_created_code FROM invitations WHERE inviting_user_id=? AND invited_user_email=?",u);if(!c||!c[0])throw Error("No Invitation Found");let m=[i],_=await t("SELECT first_name,last_name,email FROM users WHERE id=?",m);if(_?.[0]){let e=await t("SELECT email FROM user_users WHERE user_id=? AND invited_user_id=? AND user_type='admin' AND email=?",[i,a.id,d]);if(e?.[0])console.log("User already added");else{(0,l.A)({dbFullName:"datasquirel",tableName:"user_users",data:{user_id:i,invited_user_id:a.id,database_access:n,first_name:a.first_name,last_name:a.last_name,phone:a.phone,email:a.email,username:a.username,user_type:"admin",user_priviledge:o,image:a.image,image_thumbnail:a.image_thumbnail}});let e=await t("SELECT db_tables_data FROM invitations WHERE inviting_user_id=? AND invited_user_email=?",[i,d]);if(await t("DELETE FROM delegated_user_tables WHERE root_user_id=? AND delegated_user_id=?",[i,a.id]),e&&e[0]){let t=e[0].db_tables_data.split("|");for(let e=0;e<t.length;e++){let[s,r]=t[e].split("-");await (0,l.A)({dbFullName:"datasquirel",tableName:"delegated_user_tables",data:{delegated_user_id:a.id,root_user_id:i,database:s,table:r,priviledge:o}})}}}await t("UPDATE invitations SET invitation_status='Accepted' WHERE inviting_user_id=? AND invited_user_email=?",[i,d])}}catch(e){(0,i.A)({component:"addAdminUserOnLogin",message:e.message,user:a})}}},43775:(e,a,t)=>{t.d(a,{A:()=>l});var i=t(95969);let s=/^id$|^uuid$|^date_created$|^date_created_code$|^date_created_timestamp$|^date_updated$|^date_updated_code$|^date_updated_timestamp$/;async function l({unparsedResults:e,tableSchema:a}){let t=[];try{for(let l=0;l<e.length;l++){let r=e[l],n=Object.keys(r);for(let e=0;e<n.length;e++){let t=n[e],l=a?.fields[e];if(t?.match(s))continue;let o=r[t];("number"==typeof o||o)&&l?.encrypted&&o?.match(/./)&&(r[t]=(0,i.A)({encryptedString:o}))}t.push(r)}return t}catch(a){return console.log("ERROR in parseDbResults Function =>",a.message),e}}},30944:(e,a,t)=>{t.d(a,{A:()=>n});var i=t(43775),s=t(67619),l=t(7447),r=t(64292);async function n({queryString:e,queryValuesArray:a,database:t,tableSchema:n,debug:o}){let d=(0,l.A)({fa:!0});global.DSQL_USE_LOCAL&&(d=(0,l.A)({local:!0})),t?.match(/^datasquirel$/)&&(d=(0,l.A)()),o&&(console.log("varDatabaseDbHandler:query:",e),console.log("varDatabaseDbHandler:values:",a),console.log("varDatabaseDbHandler:CONNECTION:",d.getConfig()));let u=await (0,r.A)(d,e,a);if(o&&console.log("varDatabaseDbHandler:results:",u),u&&n)try{return await (0,i.A)({unparsedResults:u,tableSchema:n})}catch(e){return console.log("\x1b[31mvarDatabaseDbHandler ERROR\x1b[0m =>",t,e),(0,s.A)({component:"varDatabaseDbHandler/lines-52-53",message:e.message}),null}else if(u)return u;else return null}},95969:(e,a,t)=>{t.d(a,{A:()=>r});var i=t(55511),s=t(79428),l=t(31542);function r({encryptedString:e,encryptionKey:a,encryptionSalt:t}){if(!e?.match(/./))return console.log("Encrypted string is invalid"),e;let{key:r,salt:n,keyLen:o,algorithm:d,bufferAllocSize:u}=(0,l.A)({encryptionKey:a});if(!r?.match(/.{8,}/))return console.log("Decrption key is invalid"),e;if(!n?.match(/.{8,}/))return console.log("Decrption salt is invalid"),e;let c=(0,i.scryptSync)(r,n,o),m=s.Buffer.alloc(u,0),_=(0,i.createDecipheriv)(d,c,m);try{let a=_.update(e,"hex","utf8");return a+=_.final("utf8")}catch(a){return console.log("Error in decrypting =>",a.message),e}}}}; |