diff --git a/lib/ops/user-store-ops.js b/lib/ops/user-store-ops.js --- a/lib/ops/user-store-ops.js +++ b/lib/ops/user-store-ops.js @@ -27,9 +27,7 @@ // SQLite types export type ClientDBUserInfo = { +id: string, - +username: ?string, - +relationshipStatus?: string, - +avatar?: ?string, + +userInfo: string, }; export type ClientDBReplaceUserOperation = { diff --git a/native/cpp/CommonCpp/DatabaseManagers/DatabaseQueryExecutor.h b/native/cpp/CommonCpp/DatabaseManagers/DatabaseQueryExecutor.h --- a/native/cpp/CommonCpp/DatabaseManagers/DatabaseQueryExecutor.h +++ b/native/cpp/CommonCpp/DatabaseManagers/DatabaseQueryExecutor.h @@ -10,6 +10,7 @@ #include "entities/PersistItem.h" #include "entities/Report.h" #include "entities/Thread.h" +#include "entities/UserInfo.h" #include @@ -62,6 +63,10 @@ setPersistStorageItem(std::string key, std::string item) const = 0; virtual void removePersistStorageItem(std::string key) const = 0; virtual std::string getPersistStorageItem(std::string key) const = 0; + virtual void replaceUser(const UserInfo &user_info) const = 0; + virtual void removeUsers(const std::vector &ids) const = 0; + virtual void removeAllUsers() const = 0; + virtual std::vector getAllUsers() const = 0; virtual void beginTransaction() const = 0; virtual void commitTransaction() const = 0; virtual void rollbackTransaction() const = 0; diff --git a/native/cpp/CommonCpp/DatabaseManagers/SQLiteQueryExecutor.h b/native/cpp/CommonCpp/DatabaseManagers/SQLiteQueryExecutor.h --- a/native/cpp/CommonCpp/DatabaseManagers/SQLiteQueryExecutor.h +++ b/native/cpp/CommonCpp/DatabaseManagers/SQLiteQueryExecutor.h @@ -3,6 +3,7 @@ #include "../CryptoTools/Persist.h" #include "DatabaseQueryExecutor.h" #include "entities/Draft.h" +#include "entities/UserInfo.h" #include #include @@ -66,6 +67,10 @@ void setPersistStorageItem(std::string key, std::string item) const override; void removePersistStorageItem(std::string key) const override; std::string getPersistStorageItem(std::string key) const override; + void replaceUser(const UserInfo &user_info) const override; + void removeUsers(const std::vector &ids) const override; + void removeAllUsers() const override; + std::vector getAllUsers() const override; void beginTransaction() const override; void commitTransaction() const override; void rollbackTransaction() const override; diff --git a/native/cpp/CommonCpp/DatabaseManagers/SQLiteQueryExecutor.cpp b/native/cpp/CommonCpp/DatabaseManagers/SQLiteQueryExecutor.cpp --- a/native/cpp/CommonCpp/DatabaseManagers/SQLiteQueryExecutor.cpp +++ b/native/cpp/CommonCpp/DatabaseManagers/SQLiteQueryExecutor.cpp @@ -3,6 +3,7 @@ #include "sqlite_orm.h" #include "entities/Metadata.h" +#include "entities/UserInfo.h" #include #include #include @@ -999,7 +1000,11 @@ make_table( "persist_storage", make_column("key", &PersistItem::key, unique(), primary_key()), - make_column("item", &PersistItem::item)) + make_column("item", &PersistItem::item)), + make_table( + "users", + make_column("id", &UserInfo::id, unique(), primary_key()), + make_column("user_info", &UserInfo::user_info)) ); storage.on_open = on_database_open; @@ -1255,6 +1260,24 @@ return (entry == nullptr) ? "" : entry->item; } +void SQLiteQueryExecutor::replaceUser(const UserInfo &user_info) const { + SQLiteQueryExecutor::getStorage().replace(user_info); +} + +void SQLiteQueryExecutor::removeAllUsers() const { + SQLiteQueryExecutor::getStorage().remove_all(); +} + +void SQLiteQueryExecutor::removeUsers( + const std::vector &ids) const { + SQLiteQueryExecutor::getStorage().remove_all( + where(in(&UserInfo::id, ids))); +} + +std::vector SQLiteQueryExecutor::getAllUsers() const { + return SQLiteQueryExecutor::getStorage().get_all(); +} + void SQLiteQueryExecutor::beginTransaction() const { SQLiteQueryExecutor::getStorage().begin_transaction(); } diff --git a/native/cpp/CommonCpp/DatabaseManagers/entities/UserInfo.h b/native/cpp/CommonCpp/DatabaseManagers/entities/UserInfo.h new file mode 100644 --- /dev/null +++ b/native/cpp/CommonCpp/DatabaseManagers/entities/UserInfo.h @@ -0,0 +1,12 @@ +#pragma once + +#include + +namespace comm { + +struct UserInfo { + std::string id; + std::string user_info; +}; + +} // namespace comm diff --git a/web/cpp/SQLiteQueryExecutorBindings.cpp b/web/cpp/SQLiteQueryExecutorBindings.cpp --- a/web/cpp/SQLiteQueryExecutorBindings.cpp +++ b/web/cpp/SQLiteQueryExecutorBindings.cpp @@ -16,6 +16,9 @@ value_object("PersistItem") .field("key", &PersistItem::key) .field("item", &PersistItem::item); + value_object("UserInfo") + .field("id", &UserInfo::id) + .field("userInfo", &UserInfo::user_info); class_("SQLiteQueryExecutor") .constructor() @@ -36,7 +39,11 @@ "removePersistStorageItem", &SQLiteQueryExecutor::removePersistStorageItem) .function( - "getPersistStorageItem", &SQLiteQueryExecutor::getPersistStorageItem); + "getPersistStorageItem", &SQLiteQueryExecutor::getPersistStorageItem) + .function("replaceUser", &SQLiteQueryExecutor::replaceUser) + .function("removeUsers", &SQLiteQueryExecutor::removeUsers) + .function("removeAllUsers", &SQLiteQueryExecutor::removeAllUsers) + .function("getAllUsers", &SQLiteQueryExecutor::getAllUsers); } } // namespace comm diff --git a/web/database/_generated/comm-query-executor.js b/web/database/_generated/comm-query-executor.js --- a/web/database/_generated/comm-query-executor.js +++ b/web/database/_generated/comm-query-executor.js @@ -116,30 +116,30 @@ V.prototype.fromWireType=function(a){function b(){return this.Ob?Jb(this.Na.xb,{Ra:this.Gd,La:c,Ya:this,Va:a}):Jb(this.Na.xb,{Ra:this,La:a})}var c=this.rd(a);if(!c)return this.Bc(a),null;var d=Ib(this.Na,c);if(void 0!==d){if(0===d.Ha.count.value)return d.Ha.La=c,d.Ha.Va=a,d.clone();d=d.clone();this.Bc(a);return d}d=this.Na.pd(c);d=Db[d];if(!d)return b.call(this);d=this.Mb?d.bd:d.pointerType;var f=Cb(c,this.Na,d.Na);return null===f?b.call(this):this.Ob?Jb(d.Na.xb,{Ra:d,La:f,Ya:this,Va:a}):Jb(d.Na.xb, {Ra:d,La:f})};Wb=e.UnboundTypeError=sb("UnboundTypeError");e.count_emval_handles=function(){for(var a=0,b=5;bf?-28:M.zc(d,f).fd;case 1:case 2:return 0;case 3:return d.flags;case 4:return f=ib(),d.flags|=f,0;case 5:return f=ib(),C[f+0>>1]=2,0;case 6:case 7:return 0;case 16:case 8:return-28;case 9:return D[Kc()>>2]=28,-1;default:return-28}}catch(g){if("undefined"== +b),0}catch(c){if("undefined"==typeof M||!(c instanceof M.Ga))throw c;return-c.Ma}},Y:function(a,b,c){try{return M.fchown(a,b,c),0}catch(d){if("undefined"==typeof M||!(d instanceof M.Ga))throw d;return-d.Ma}},e:function(a,b,c){hb=c;try{var d=P(a);switch(b){case 0:var f=ib();return 0>f?-28:M.zc(d,f).fd;case 1:case 2:return 0;case 3:return d.flags;case 4:return f=ib(),d.flags|=f,0;case 5:return f=ib(),C[f+0>>1]=2,0;case 6:case 7:return 0;case 16:case 8:return-28;case 9:return D[Kc()>>2]=28,-1;default:return-28}}catch(g){if("undefined"== typeof M||!(g instanceof M.Ga))throw g;return-g.Ma}},X:function(a,b){try{var c=P(a);return gb(M.stat,c.path,b)}catch(d){if("undefined"==typeof M||!(d instanceof M.Ga))throw d;return-d.Ma}},D:function(a,b,c){try{b=c+2097152>>>0<4194305-!!b?(b>>>0)+4294967296*c:NaN;if(isNaN(b))return-61;M.od(a,b);return 0}catch(d){if("undefined"==typeof M||!(d instanceof M.Ga))throw d;return-d.Ma}},S:function(a,b){try{if(0===b)return-28;var c=M.cwd(),d=ua(c)+1;if(b>2]=0;case 21520:return d.tty?-28:-59;case 21531:return f=ib(),M.dc(d,b,f);case 21523:return d.tty?0:-59;case 21524:return d.tty?0:-59;default:x("bad ioctl syscall "+b)}}catch(g){if("undefined"==typeof M||!(g instanceof M.Ga))throw g; return-g.Ma}},V:function(a,b){try{return a=y(a),gb(M.lstat,a,b)}catch(c){if("undefined"==typeof M||!(c instanceof M.Ga))throw c;return-c.Ma}},P:function(a,b,c){try{return b=y(b),b=O(a,b),b=J(b),"/"===b[b.length-1]&&(b=b.substr(0,b.length-1)),M.mkdir(b,c,0),0}catch(d){if("undefined"==typeof M||!(d instanceof M.Ga))throw d;return-d.Ma}},U:function(a,b,c,d){try{b=y(b);var f=d&256;b=O(a,b,d&4096);return gb(f?M.lstat:M.stat,b,c)}catch(g){if("undefined"==typeof M||!(g instanceof M.Ga))throw g;return-g.Ma}}, u:function(a,b,c,d){hb=d;try{b=y(b);b=O(a,b);var f=d?ib():0;return M.open(b,c,f).fd}catch(g){if("undefined"==typeof M||!(g instanceof M.Ga))throw g;return-g.Ma}},M:function(a,b,c,d){try{b=y(b);b=O(a,b);if(0>=d)return-28;var f=M.readlink(b),g=Math.min(d,ua(f)),k=A[c+g];ta(f,z,c,d+1);A[c+g]=k;return g}catch(h){if("undefined"==typeof M||!(h instanceof M.Ga))throw h;return-h.Ma}},L:function(a,b,c,d){try{return b=y(b),d=y(d),b=O(a,b),d=O(c,d),M.rename(b,d),0}catch(f){if("undefined"==typeof M||!(f instanceof M.Ga))throw f;return-f.Ma}},q:function(a){try{return a=y(a),M.rmdir(a),0}catch(b){if("undefined"==typeof M||!(b instanceof M.Ga))throw b;return-b.Ma}},W:function(a,b){try{return a=y(a),gb(M.stat,a,b)}catch(c){if("undefined"==typeof M||!(c instanceof M.Ga))throw c;return-c.Ma}},r:function(a,b,c){try{return b=y(b),b=O(a,b),0===c?M.unlink(b):512===c?M.rmdir(b):x("Invalid flags passed to unlinkat"),0}catch(d){if("undefined"==typeof M||!(d instanceof M.Ga))throw d;return-d.Ma}},J:function(a,b,c){try{b= -y(b);b=O(a,b,!0);if(c){var d=jb(c),f=D[c+8>>2];g=1E3*d+f/1E6;c+=16;d=jb(c);f=D[c+8>>2];k=1E3*d+f/1E6}else var g=Date.now(),k=g;M.Vd(b,g,k);return 0}catch(h){if("undefined"==typeof M||!(h instanceof M.Ga))throw h;return-h.Ma}},k:function(a){var b=kb[a];delete kb[a];var c=b.lc,d=b.jb,f=b.Fc,g=f.map(k=>k.td).concat(f.map(k=>k.Md));Q([a],g,k=>{var h={};f.forEach((n,q)=>{var p=k[q],r=n.Kb,v=n.sd,l=k[q+f.length],t=n.Ld,w=n.Nd;h[n.ld]={read:B=>p.fromWireType(r(v,B)),write:(B,K)=>{var H=[];t(w,B,l.toWireType(H, +y(b);b=O(a,b,!0);if(c){var d=jb(c),f=D[c+8>>2];g=1E3*d+f/1E6;c+=16;d=jb(c);f=D[c+8>>2];k=1E3*d+f/1E6}else var g=Date.now(),k=g;M.Vd(b,g,k);return 0}catch(h){if("undefined"==typeof M||!(h instanceof M.Ga))throw h;return-h.Ma}},h:function(a){var b=kb[a];delete kb[a];var c=b.lc,d=b.jb,f=b.Fc,g=f.map(k=>k.td).concat(f.map(k=>k.Md));Q([a],g,k=>{var h={};f.forEach((n,q)=>{var p=k[q],r=n.Kb,v=n.sd,l=k[q+f.length],t=n.Ld,w=n.Nd;h[n.ld]={read:B=>p.fromWireType(r(v,B)),write:(B,K)=>{var H=[];t(w,B,l.toWireType(H, K));lb(H)}}});return[{name:b.name,fromWireType:function(n){var q={},p;for(p in h)q[p]=h[p].read(n);d(n);return q},toWireType:function(n,q){for(var p in h)if(!(p in q))throw new TypeError('Missing field: "'+p+'"');var r=c();for(p in h)h[p].write(r,q[p]);null!==n&&n.push(d,r);return r},argPackAdvance:8,readValueFromPointer:mb,ab:d}]})},E:function(){},da:function(a,b,c,d,f){var g=vb(c);b=S(b);R(a,{name:b,fromWireType:function(k){return!!k},toWireType:function(k,h){return h?d:f},argPackAdvance:8,readValueFromPointer:function(k){if(1=== c)var h=A;else if(2===c)h=C;else if(4===c)h=D;else throw new TypeError("Unknown boolean type size: "+b);return this.fromWireType(h[k>>g])},ab:null})},s:function(a,b,c,d,f,g,k,h,n,q,p,r,v){p=S(p);g=W(f,g);h&&(h=W(k,h));q&&(q=W(n,q));v=W(r,v);var l=qb(p);Mb(l,function(){Zb("Cannot construct "+p+" due to unbound types",[d])});Q([a,b,c],d?[d]:[],function(t){t=t[0];if(d){var w=t.Na;var B=w.xb}else B=U.prototype;t=rb(l,function(){if(Object.getPrototypeOf(this)!==K)throw new xb("Use 'new' to construct "+ p);if(void 0===H.nb)throw new xb(p+" has no accessible constructor");var I=H.nb[arguments.length];if(void 0===I)throw new xb("Tried to invoke ctor of "+p+" with invalid number of parameters ("+arguments.length+") - expected ("+Object.keys(H.nb).toString()+") parameters instead!");return I.apply(this,arguments)});var K=Object.create(B,{constructor:{value:t}});t.prototype=K;var H=new Nb(p,t,K,v,w,g,h,q);w=new V(p,H,!0,!1);B=new V(p+"*",H,!1,!1);var Ga=new V(p+" const*",H,!1,!0);Db[a]={pointerType:B, bd:Ga};Ub(l,t);return[w,B,Ga]})},fa:function(a,b,c,d,f,g,k){var h=bc(c,d);b=S(b);g=W(f,g);Q([],[a],function(n){function q(){Zb("Cannot call "+p+" due to unbound types",h)}n=n[0];var p=n.name+"."+b;b.startsWith("@@")&&(b=Symbol[b.substring(2)]);var r=n.Na.constructor;void 0===r[b]?(q.ub=c-1,r[b]=q):(Lb(r,b,p),r[b].Ua[c-1]=q);Q([],h,function(v){v=[v[0],null].concat(v.slice(1));v=ac(p,v,null,g,k);void 0===r[b].Ua?(v.ub=c-1,r[b]=v):r[b].Ua[c-1]=v;return[]});return[]})},o:function(a,b,c,d,f,g){0{Zb("Cannot construct "+h.name+" due to unbound types",k)};Q([],k,function(q){q.splice(1,0,null);h.Na.nb[b-1]=ac(n,q,null,f,g); -return[]});return[]})},e:function(a,b,c,d,f,g,k,h){var n=bc(c,d);b=S(b);g=W(f,g);Q([],[a],function(q){function p(){Zb("Cannot call "+r+" due to unbound types",n)}q=q[0];var r=q.name+"."+b;b.startsWith("@@")&&(b=Symbol[b.substring(2)]);h&&q.Na.Hd.push(b);var v=q.Na.xb,l=v[b];void 0===l||void 0===l.Ua&&l.className!==q.name&&l.ub===c-2?(p.ub=c-2,p.className=q.name,v[b]=p):(Lb(v,b,r),v[b].Ua[c-2]=p);Q([],n,function(t){t=ac(r,t,q,g,k);void 0===v[b].Ua?(t.ub=c-2,v[b]=t):v[b].Ua[c-2]=t;return[]});return[]})}, +return[]});return[]})},d:function(a,b,c,d,f,g,k,h){var n=bc(c,d);b=S(b);g=W(f,g);Q([],[a],function(q){function p(){Zb("Cannot call "+r+" due to unbound types",n)}q=q[0];var r=q.name+"."+b;b.startsWith("@@")&&(b=Symbol[b.substring(2)]);h&&q.Na.Hd.push(b);var v=q.Na.xb,l=v[b];void 0===l||void 0===l.Ua&&l.className!==q.name&&l.ub===c-2?(p.ub=c-2,p.className=q.name,v[b]=p):(Lb(v,b,r),v[b].Ua[c-2]=p);Q([],n,function(t){t=ac(r,t,q,g,k);void 0===v[b].Ua?(t.ub=c-2,v[b]=t):v[b].Ua[c-2]=t;return[]});return[]})}, ca:function(a,b){b=S(b);R(a,{name:b,fromWireType:function(c){var d=ec(c);dc(c);return d},toWireType:function(c,d){return Sb(d)},argPackAdvance:8,readValueFromPointer:mb,ab:null})},x:function(a,b,c){c=vb(c);b=S(b);R(a,{name:b,fromWireType:function(d){return d},toWireType:function(d,f){return f},argPackAdvance:8,readValueFromPointer:fc(b,c),ab:null})},f:function(a,b,c,d,f){b=S(b);-1===f&&(f=4294967295);f=vb(c);var g=h=>h;if(0===d){var k=32-8*c;g=h=>h<>>k}c=b.includes("unsigned")?function(h,n){return n>>> 0}:function(h,n){return n};R(a,{name:b,fromWireType:g,toWireType:c,argPackAdvance:8,readValueFromPointer:gc(b,f,0!==d),ab:null})},c:function(a,b,c){function d(g){g>>=2;var k=E;return new f(va,k[g+1],k[g])}var f=[Int8Array,Uint8Array,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array][b];c=S(c);R(a,{name:c,fromWireType:d,argPackAdvance:8,readValueFromPointer:d},{ud:!0})},y:function(a,b){b=S(b);var c="std::string"===b;R(a,{name:b,fromWireType:function(d){var f=E[d>>2],g=d+4;if(c)for(var k= g,h=0;h<=f;++h){var n=g+h;if(h==f||0==z[n]){k=y(k,n-k);if(void 0===q)var q=k;else q+=String.fromCharCode(0),q+=k;k=n+1}}else{q=Array(f);for(h=0;h>2]=k;if(c&& -g)ta(f,z,n,k+1);else if(g)for(g=0;gwa;var h=1}else 4===b&&(d=lc,f=mc,g=nc,k=()=>E,h=2);R(a,{name:c,fromWireType:function(n){for(var q=E[n>>2],p=k(),r,v=n+4,l=0;l<=q;++l){var t=n+4+l*b;if(l== -q||0==p[t>>h])v=d(v,t-v),void 0===r?r=v:(r+=String.fromCharCode(0),r+=v),v=t+b}X(n);return r},toWireType:function(n,q){"string"!=typeof q&&T("Cannot pass non-string to C++ string type "+c);var p=g(q),r=wc(4+p+b);E[r>>2]=p>>h;f(q,r+4,p+b);null!==n&&n.push(X,r);return r},argPackAdvance:8,readValueFromPointer:mb,ab:function(n){X(n)}})},m:function(a,b,c,d,f,g){kb[a]={name:S(b),lc:W(c,d),jb:W(f,g),Fc:[]}},j:function(a,b,c,d,f,g,k,h,n,q){kb[a].Fc.push({ld:S(b),td:c,Kb:W(d,f),sd:g,Md:k,Ld:W(h,n),Nd:q})}, +g)ta(f,z,n,k+1);else if(g)for(g=0;gwa;var h=1}else 4===b&&(d=lc,f=mc,g=nc,k=()=>E,h=2);R(a,{name:c,fromWireType:function(n){for(var q=E[n>>2],p=k(),r,v=n+4,l=0;l<=q;++l){var t=n+4+l*b;if(l== +q||0==p[t>>h])v=d(v,t-v),void 0===r?r=v:(r+=String.fromCharCode(0),r+=v),v=t+b}X(n);return r},toWireType:function(n,q){"string"!=typeof q&&T("Cannot pass non-string to C++ string type "+c);var p=g(q),r=wc(4+p+b);E[r>>2]=p>>h;f(q,r+4,p+b);null!==n&&n.push(X,r);return r},argPackAdvance:8,readValueFromPointer:mb,ab:function(n){X(n)}})},j:function(a,b,c,d,f,g){kb[a]={name:S(b),lc:W(c,d),jb:W(f,g),Fc:[]}},g:function(a,b,c,d,f,g,k,h,n,q){kb[a].Fc.push({ld:S(b),td:c,Kb:W(d,f),sd:g,Md:k,Ld:W(h,n),Nd:q})}, ea:function(a,b){b=S(b);R(a,{xd:!0,name:b,argPackAdvance:0,fromWireType:function(){},toWireType:function(){}})},w:function(){return Date.now()},z:function(a,b,c){a=ec(a);b=oc(b,"emval::as");var d=[],f=Sb(d);E[c>>2]=f;return b.toWireType(d,a)},ka:function(a,b,c,d){a=rc[a];b=ec(b);c=qc(c);a(b,c,null,d)},ia:dc,ja:function(a,b){var c=tc(a,b),d=c[0];b=d.name+"_$"+c.slice(1).map(function(p){return p.name}).join("_")+"$";var f=uc[b];if(void 0!==f)return f;f=["retType"];for(var g=[d],k="",h=0;h>2]=a.getSeconds();D[b+4>>2]=a.getMinutes();D[b+8>>2]=a.getHours();D[b+12>>2]=a.getDate();D[b+16>>2]=a.getMonth();D[b+20>>2]=a.getFullYear()-1900;D[b+24>>2]=a.getDay(); var c=new Date(a.getFullYear(),0,1);D[b+28>>2]=(a.getTime()-c.getTime())/864E5|0;D[b+36>>2]=-(60*a.getTimezoneOffset());var d=(new Date(a.getFullYear(),6,1)).getTimezoneOffset();c=c.getTimezoneOffset();D[b+32>>2]=(d!=c&&a.getTimezoneOffset()==Math.min(c,d))|0},N:function(a,b,c,d,f,g){try{var k=M.lb(d);if(!k)return-8;var h=M.qb(k,a,f,b,c),n=h.La;D[g>>2]=h.tc;return n}catch(q){if("undefined"==typeof M||!(q instanceof M.Ga))throw q;return-q.Ma}},O:function(a,b,c,d,f,g){try{var k=M.lb(f);if(k&&c&2){var h= -z.slice(a,a+b);M.zb(k,h,g,b,d)}}catch(n){if("undefined"==typeof M||!(n instanceof M.Ga))throw n;return-n.Ma}},aa:yc,h:function(){x("")},K:function(){return 2147483648},v:zc,i:function(a){var b=z.length;a>>>=0;if(2147483648=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);var f=Math;d=Math.max(a,d);f=f.min.call(f,2147483648,d+(65536-d%65536)%65536);a:{try{pa.grow(f-va.byteLength+65535>>>16);za();var g=1;break a}catch(k){}g=void 0}if(g)return!0}return!1},Q:function(a,b){var c= -0;Bc().forEach(function(d,f){var g=b+c;f=E[a+4*f>>2]=g;for(g=0;g>0]=d.charCodeAt(g);A[f>>0]=0;c+=d.length+1});return 0},R:function(a,b){var c=Bc();E[a>>2]=c.length;var d=0;c.forEach(function(f){d+=f.length+1});E[b>>2]=d;return 0},g:function(a){try{var b=P(a);M.close(b);return 0}catch(c){if("undefined"==typeof M||!(c instanceof M.Ga))throw c;return c.Ma}},I:function(a,b){try{var c=P(a);A[b>>0]=c.tty?2:M.Sa(c.mode)?3:M.yb(c.mode)?7:4;return 0}catch(d){if("undefined"==typeof M||!(d instanceof +z.slice(a,a+b);M.zb(k,h,g,b,d)}}catch(n){if("undefined"==typeof M||!(n instanceof M.Ga))throw n;return-n.Ma}},aa:yc,k:function(){x("")},K:function(){return 2147483648},v:zc,l:function(a){var b=z.length;a>>>=0;if(2147483648=c;c*=2){var d=b*(1+.2/c);d=Math.min(d,a+100663296);var f=Math;d=Math.max(a,d);f=f.min.call(f,2147483648,d+(65536-d%65536)%65536);a:{try{pa.grow(f-va.byteLength+65535>>>16);za();var g=1;break a}catch(k){}g=void 0}if(g)return!0}return!1},Q:function(a,b){var c= +0;Bc().forEach(function(d,f){var g=b+c;f=E[a+4*f>>2]=g;for(g=0;g>0]=d.charCodeAt(g);A[f>>0]=0;c+=d.length+1});return 0},R:function(a,b){var c=Bc();E[a>>2]=c.length;var d=0;c.forEach(function(f){d+=f.length+1});E[b>>2]=d;return 0},i:function(a){try{var b=P(a);M.close(b);return 0}catch(c){if("undefined"==typeof M||!(c instanceof M.Ga))throw c;return c.Ma}},I:function(a,b){try{var c=P(a);A[b>>0]=c.tty?2:M.Sa(c.mode)?3:M.yb(c.mode)?7:4;return 0}catch(d){if("undefined"==typeof M||!(d instanceof M.Ga))throw d;return d.Ma}},t:function(a,b,c,d){try{a:{var f=P(a);a=b;for(var g=b=0;g>2],h=E[a+4>>2];a+=8;var n=M.read(f,A,k,h,void 0);if(0>n){var q=-1;break a}b+=n;if(n>2]=q;return 0}catch(p){if("undefined"==typeof M||!(p instanceof M.Ga))throw p;return p.Ma}},C:function(a,b,c,d,f){try{b=c+2097152>>>0<4194305-!!b?(b>>>0)+4294967296*c:NaN;if(isNaN(b))return 61;var g=P(a);M.cb(g,b,d);G=[g.position>>>0,(F=g.position,1<=+Math.abs(F)?0>>0:~~+Math.ceil((F-+(~~F>>>0))/4294967296)>>>0:0)];D[f>>2]=G[0];D[f+4>>2]=G[1];g.ac&&0===b&&0===d&&(g.ac=null);return 0}catch(k){if("undefined"==typeof M||!(k instanceof M.Ga))throw k;return k.Ma}},T:function(a){try{var b=P(a);return b.Ka&&b.Ka.fsync?-b.Ka.fsync(b):0}catch(c){if("undefined"==typeof M||!(c instanceof M.Ga))throw c;return c.Ma}},p:function(a,b,c,d){try{a:{var f=P(a);a=b;for(var g=b=0;g>2],h=E[a+4>>2];a+=8;var n=M.write(f,A,k,h,void 0);if(0>n){var q= -1;break a}b+=n}q=b}E[d>>2]=q;return 0}catch(p){if("undefined"==typeof M||!(p instanceof M.Ga))throw p;return p.Ma}},F:function(){},G:function(a,b,c,d){return Gc(a,b,c,d)}},Z=function(){function a(c){e.asm=c.exports;pa=e.asm.ma;za();Aa=e.asm.ra;Ca.unshift(e.asm.na);Ka("wasm-instantiate")}var b={a:Lc};Ja("wasm-instantiate");if(e.instantiateWasm)try{return e.instantiateWasm(b,a)}catch(c){return u("Module.instantiateWasm callback failed with error: "+c),!1}b=Na(b);a(b[0]);return e.asm}(); diff --git a/web/database/_generated/comm_query_executor.wasm b/web/database/_generated/comm_query_executor.wasm index 0000000000000000000000000000000000000000..0000000000000000000000000000000000000000 GIT binary patch literal 0 Hc$@): void; + removeAllUsers(): void; + getAllUsers(): ClientDBUserInfo[]; + // method is provided to manually signal that a C++ object // is no longer needed and can be deleted delete(): void;