on-zero 0.1.34 → 0.1.35-1772258140754

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -45,7 +45,8 @@ function createZeroServer({
45
45
  queries,
46
46
  validateQuery,
47
47
  validateMutation,
48
- defaultAllowAdminRole = "all"
48
+ defaultAllowAdminRole = "all",
49
+ defaultMutateAuthData = {}
49
50
  }) {
50
51
  (0, import_state.setSchema)(schema);
51
52
  const dbString = (0, import_helpers.assertString)(database, 'createZeroServer "database"'),
@@ -80,7 +81,7 @@ function createZeroServer({
80
81
  response = await processor.process(mutators, request);
81
82
  if (!skipAsyncTasks && asyncTasks.length) {
82
83
  const id = (0, import_helpers.randomId)();
83
- console.info(`[push] complete, running async tasks ${asyncTasks.length} id ${id}`), Promise.all(asyncTasks.map(task => task())).then(() => {
84
+ console.info(`[push] complete, running async tasks ${asyncTasks.length} id ${id}`), Promise.all(asyncTasks.map(task => (0, import_mutatorContext.runWithAuthScope)(authData, task))).then(() => {
84
85
  console.info(`[push] async tasks complete ${id}`);
85
86
  }).catch(err => {
86
87
  console.error("[push] error: async tasks failed \u{1F61E}", err);
@@ -119,34 +120,46 @@ function createZeroServer({
119
120
  });
120
121
  }, schema, request))
121
122
  };
122
- },
123
- mutate = async (run, authData, options) => {
124
- const asyncTasks = [],
125
- mutators = (0, import_createMutators.createMutators)({
126
- models,
127
- environment: "server",
128
- asyncTasks,
129
- authData: {
130
- id: "",
131
- email: "admin@start.chat",
132
- role: "admin",
133
- ...authData
134
- },
135
- createServerActions,
136
- can: permissions.can,
137
- validateMutation
138
- });
139
- if (await transaction(async tx => {
140
- await run(tx, mutators);
141
- }), asyncTasks.length) if (options?.awaitAsyncTasks) await Promise.all(asyncTasks.map(t => t()));else {
142
- const id = (0, import_helpers.randomId)();
143
- console.info(`[mutate] running async tasks ${asyncTasks.length} id ${id}`), Promise.all(asyncTasks.map(t => t())).then(() => {
144
- console.info(`[mutate] async tasks complete ${id}`);
145
- }).catch(err => {
146
- console.error("[mutate] error: async tasks failed", err);
147
- });
148
- }
149
123
  };
124
+ async function runMutate(modelName, mutatorName, mutatorArg, authData) {
125
+ if (!authData) {
126
+ const scoped = (0, import_mutatorContext.getScopedAuthData)();
127
+ scoped && (authData = scoped);
128
+ }
129
+ const asyncTasks = [],
130
+ mutator = (0, import_createMutators.createMutators)({
131
+ models,
132
+ environment: "server",
133
+ asyncTasks,
134
+ authData: {
135
+ ...defaultMutateAuthData,
136
+ ...authData
137
+ },
138
+ createServerActions,
139
+ can: permissions.can,
140
+ validateMutation
141
+ })[modelName][mutatorName];
142
+ if (await transaction(async tx => {
143
+ await mutator(tx, mutatorArg);
144
+ }), asyncTasks.length) {
145
+ const id = (0, import_helpers.randomId)(),
146
+ resolvedAuth = authData ?? null;
147
+ console.info(`[mutate] running async tasks ${asyncTasks.length} id ${id}`), Promise.all(asyncTasks.map(t => (0, import_mutatorContext.runWithAuthScope)(resolvedAuth, t))).then(() => {
148
+ console.info(`[mutate] async tasks complete ${id}`);
149
+ }).catch(err => {
150
+ console.error("[mutate] error: async tasks failed", err);
151
+ });
152
+ }
153
+ }
154
+ const mutate = new Proxy({}, {
155
+ get(_, modelName) {
156
+ return new Proxy({}, {
157
+ get(_2, mutatorName) {
158
+ return (arg, authData) => runMutate(modelName, mutatorName, arg, authData);
159
+ }
160
+ });
161
+ }
162
+ });
150
163
  async function transaction(query2) {
151
164
  try {
152
165
  if ((0, import_mutatorContext.isInZeroMutation)()) {
@@ -26,7 +26,8 @@ function createZeroServer({
26
26
  queries,
27
27
  validateQuery,
28
28
  validateMutation,
29
- defaultAllowAdminRole = "all"
29
+ defaultAllowAdminRole = "all",
30
+ defaultMutateAuthData = {}
30
31
  }) {
31
32
  (0, import_state.setSchema)(schema);
32
33
  const dbString = (0, import_helpers.assertString)(database, 'createZeroServer "database"'), zeroDb = (0, import_pg2.zeroNodePg)(
@@ -56,7 +57,7 @@ function createZeroServer({
56
57
  }), response = await processor.process(mutators, request);
57
58
  if (!skipAsyncTasks && asyncTasks.length) {
58
59
  const id = (0, import_helpers.randomId)();
59
- console.info(`[push] complete, running async tasks ${asyncTasks.length} id ${id}`), Promise.all(asyncTasks.map((task) => task())).then(() => {
60
+ console.info(`[push] complete, running async tasks ${asyncTasks.length} id ${id}`), Promise.all(asyncTasks.map((task) => (0, import_mutatorContext.runWithAuthScope)(authData, task))).then(() => {
60
61
  console.info(`[push] async tasks complete ${id}`);
61
62
  }).catch((err) => {
62
63
  console.error("[push] error: async tasks failed \u{1F61E}", err);
@@ -98,35 +99,47 @@ function createZeroServer({
98
99
  )
99
100
  )
100
101
  };
101
- }, mutate = async (run, authData, options) => {
102
- const asyncTasks = [], mutators = (0, import_createMutators.createMutators)({
102
+ };
103
+ async function runMutate(modelName, mutatorName, mutatorArg, authData) {
104
+ if (!authData) {
105
+ const scoped = (0, import_mutatorContext.getScopedAuthData)();
106
+ scoped && (authData = scoped);
107
+ }
108
+ const asyncTasks = [], mutator = (0, import_createMutators.createMutators)({
103
109
  models,
104
110
  environment: "server",
105
111
  asyncTasks,
106
112
  authData: {
107
- id: "",
108
- email: "admin@start.chat",
109
- role: "admin",
113
+ ...defaultMutateAuthData,
110
114
  ...authData
111
115
  },
112
116
  createServerActions,
113
117
  can: permissions.can,
114
118
  validateMutation
115
- });
119
+ })[modelName][mutatorName];
116
120
  if (await transaction(async (tx) => {
117
- await run(tx, mutators);
118
- }), asyncTasks.length)
119
- if (options?.awaitAsyncTasks)
120
- await Promise.all(asyncTasks.map((t) => t()));
121
- else {
122
- const id = (0, import_helpers.randomId)();
123
- console.info(`[mutate] running async tasks ${asyncTasks.length} id ${id}`), Promise.all(asyncTasks.map((t) => t())).then(() => {
124
- console.info(`[mutate] async tasks complete ${id}`);
125
- }).catch((err) => {
126
- console.error("[mutate] error: async tasks failed", err);
127
- });
128
- }
129
- };
121
+ await mutator(tx, mutatorArg);
122
+ }), asyncTasks.length) {
123
+ const id = (0, import_helpers.randomId)(), resolvedAuth = authData ?? null;
124
+ console.info(`[mutate] running async tasks ${asyncTasks.length} id ${id}`), Promise.all(asyncTasks.map((t) => (0, import_mutatorContext.runWithAuthScope)(resolvedAuth, t))).then(() => {
125
+ console.info(`[mutate] async tasks complete ${id}`);
126
+ }).catch((err) => {
127
+ console.error("[mutate] error: async tasks failed", err);
128
+ });
129
+ }
130
+ }
131
+ const mutate = new Proxy({}, {
132
+ get(_, modelName) {
133
+ return new Proxy(
134
+ {},
135
+ {
136
+ get(_2, mutatorName) {
137
+ return (arg, authData) => runMutate(modelName, mutatorName, arg, authData);
138
+ }
139
+ }
140
+ );
141
+ }
142
+ });
130
143
  async function transaction(query2) {
131
144
  try {
132
145
  if ((0, import_mutatorContext.isInZeroMutation)()) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/createZeroServer.ts"],
4
- "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA6B,2BAC7B,YAA8B,8BAC9B,gBAA6D,kCAC7DA,aAA2B,8CAC3B,iBAAuC,8BACvCA,aAAqB,eAErB,2BAAkC,gCAClC,wBAA+B,qCAC/B,wBAAiD,qCACjD,sBAAoC,mCACpC,uBAAwC,4BACxC,aAAiC,kBACjC,eAAkC,oBAClC,oBAA0B;AAmCnB,SAAS,iBAId;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,wBAAwB;AAC1B,GA0BG;AACD,8BAAU,MAAM;AAEhB,QAAM,eAAW,6BAAa,UAAU,6BAA6B,GAE/D,aAAS;AAAA,IACb;AAAA,IACA,IAAI,gBAAK;AAAA,MACP,kBAAkB;AAAA;AAAA,MAElB,KAAK,SAAS,SAAS,iBAAiB,IACpC,EAAE,oBAAoB,GAAM,IAC5B;AAAA,IACN,CAAC;AAAA,EACH,GAEM,kBAAc,4CAA0B;AAAA,IAC5C,aAAa;AAAA,IACb;AAAA,IACA,eAAe;AAAA,EACjB,CAAC,GAEK,YAAY,IAAI,wBAAc,MAAM,GAEpC,wBAAwB,OAAO;AAAA,IACnC;AAAA,IACA;AAAA,IACA;AAAA,EACF,MAIM;AAEJ,UAAM,aAA4B,CAAC,GAE7B,eAAW,sCAAe;AAAA,MAC9B;AAAA,MACA,KAAK,YAAY;AAAA,MACjB;AAAA,MACA,aAAa;AAAA,MACb;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC,GAGK,WAAW,MAAM,UAAU,QAAQ,UAAU,OAAO;AAG1D,QAAI,CAAC,kBAAkB,WAAW,QAAQ;AACxC,YAAM,SAAK,yBAAS;AACpB,cAAQ,KAAK,wCAAwC,WAAW,MAAM,OAAO,EAAE,EAAE,GACjF,QAAQ,IAAI,WAAW,IAAI,CAAC,SAAS,KAAK,CAAC,CAAC,EACzC,KAAK,MAAM;AACV,gBAAQ,KAAK,+BAA+B,EAAE,EAAE;AAAA,MAClD,CAAC,EACA,MAAM,CAAC,QAAQ;AACd,gBAAQ,MAAM,8CAAuC,GAAG;AAAA,MAC1D,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,MACL;AAAA,MACA;AAAA,IACF;AAAA,EACF,GAEM,qBAAqB,OAAO;AAAA,IAChC;AAAA,IACA;AAAA,EACF,MAGM;AACJ,QAAI,CAAC;AACH,YAAM,IAAI;AAAA,QACR;AAAA,MAEF;AA4CF,WAAO;AAAA,MACL,UA1Ce,UAAM;AAAA,QACrB,EAAE,UAAU,YAAa,CAAC,EAAe;AAAA,QACzC,UACE,cAAAC;AAAA,UACE,CAAC,MAAM,SAAS;AAEd,gBAAI,KAAK,WAAW,aAAa,GAAG;AAClC,oBAAM,QAAQ,KAAK,MAAM,EAAoB,GACvC,EAAE,QAAQ,IAAI,MAGd,WAAO,8CAAwB,KAAK;AAC1C,kBAAI,CAAC;AACH,sBAAM,IAAI,MAAM,iDAAiD,KAAK,EAAE;AAE1E,yBAAQ,qBAAO,EAAU,KAAK,EAC3B,MAAM,CAAC,OACC,YAAY;AAAA,gBACjB;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,cACF,CACD,EACA,IAAI;AAAA,YACT;AAGA,mBAAI,iBACF,cAAc,EAAE,UAAU,WAAW,MAAM,QAAQ,KAAK,CAAC,OAG5C,0BAAqB,SAAS,IAAI,EACpC,GAAG,EAAE,MAAM,KAAK,SAAS,CAAC;AAAA,UACzC;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,MACJ;AAAA,IAIA;AAAA,EACF,GAEM,SAAS,OACb,KACA,UACA,YACG;AACH,UAAM,aAAyC,CAAC,GAE1C,eAAW,sCAAe;AAAA,MAC9B;AAAA,MACA,aAAa;AAAA,MACb;AAAA,MACA,UAAU;AAAA,QACR,IAAI;AAAA,QACJ,OAAO;AAAA,QACP,MAAM;AAAA,QACN,GAAG;AAAA,MACL;AAAA,MACA;AAAA,MACA,KAAK,YAAY;AAAA,MACjB;AAAA,IACF,CAAC;AAMD,QAJA,MAAM,YAAY,OAAO,OAAO;AAC9B,YAAM,IAAI,IAAI,QAAQ;AAAA,IACxB,CAAC,GAEG,WAAW;AACb,UAAI,SAAS;AACX,cAAM,QAAQ,IAAI,WAAW,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AAAA,WACvC;AACL,cAAM,SAAK,yBAAS;AACpB,gBAAQ,KAAK,gCAAgC,WAAW,MAAM,OAAO,EAAE,EAAE,GACzE,QAAQ,IAAI,WAAW,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC,EACnC,KAAK,MAAM;AACV,kBAAQ,KAAK,iCAAiC,EAAE,EAAE;AAAA,QACpD,CAAC,EACA,MAAM,CAAC,QAAQ;AACd,kBAAQ,MAAM,sCAAsC,GAAG;AAAA,QACzD,CAAC;AAAA,MACL;AAAA,EAEJ;AAEA,iBAAe,YAGbC,QAA6B;AAC7B,QAAI;AACF,cAAI,wCAAiB,GAAG;AACtB,cAAM,EAAE,GAAG,QAAI,sCAAe;AAC9B,eAAO,MAAMA,OAAM,EAAE;AAAA,MACvB;AAGA,aADe,MAAM,OAAO,YAAYA,QAAO,qBAAqB;AAAA,IAEtE,SAAS,KAAK;AACZ,oBAAQ,MAAM,gCAAgC,GAAG,EAAE,GAC7C;AAAA,IACR;AAAA,EACF;AAEA,WAAS,MACP,IACA,UAC2B;AAC3B,UAAM,MAAM,MACV,YAAY,OAAO,OACV,GAAG,IAAI,OAAG,qBAAO,CAAC,CAAC,CAC3B;AAEH,WAAI,aAAa,aACR,yCAAoB,EAAE,SAAS,GAAG,GAAG,IAEvC,IAAI;AAAA,EACb;AAGA,EAAI,eACF,6BAAiB,OAAO,OAI1B,6BAAU,CAAC,aACF,YAAY,OAAO,OACjB,GAAG,IAAI,QAAQ,CACvB,CACF;AAGD,QAAM,wBAAkD;AAAA,IACtD,eAAe;AAAA,IACf,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,gBAAgB;AAAA,EAClB;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
5
- "names": ["import_pg", "zeroHandleQueryRequest", "query"]
4
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,kBAA6B,2BAC7B,YAA8B,8BAC9B,gBAA6D,kCAC7DA,aAA2B,8CAC3B,iBAAuC,8BACvCA,aAAqB,eAErB,2BAAkC,gCAClC,wBAA+B,qCAC/B,wBAKO,qCACP,sBAAoC,mCACpC,uBAAwC,4BACxC,aAAiC,kBACjC,eAAkC,oBAClC,oBAA0B;AAgDnB,SAAS,iBAId;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA,wBAAwB;AAAA,EACxB,wBAAwB,CAAC;AAC3B,GAgCG;AACD,8BAAU,MAAM;AAEhB,QAAM,eAAW,6BAAa,UAAU,6BAA6B,GAE/D,aAAS;AAAA,IACb;AAAA,IACA,IAAI,gBAAK;AAAA,MACP,kBAAkB;AAAA;AAAA,MAElB,KAAK,SAAS,SAAS,iBAAiB,IACpC,EAAE,oBAAoB,GAAM,IAC5B;AAAA,IACN,CAAC;AAAA,EACH,GAEM,kBAAc,4CAA0B;AAAA,IAC5C,aAAa;AAAA,IACb;AAAA,IACA,eAAe;AAAA,EACjB,CAAC,GAEK,YAAY,IAAI,wBAAc,MAAM,GAEpC,wBAAwB,OAAO;AAAA,IACnC;AAAA,IACA;AAAA,IACA;AAAA,EACF,MAIM;AAEJ,UAAM,aAA4B,CAAC,GAE7B,eAAW,sCAAe;AAAA,MAC9B;AAAA,MACA,KAAK,YAAY;AAAA,MACjB;AAAA,MACA,aAAa;AAAA,MACb;AAAA,MACA;AAAA,MACA;AAAA,IACF,CAAC,GAGK,WAAW,MAAM,UAAU,QAAQ,UAAU,OAAO;AAG1D,QAAI,CAAC,kBAAkB,WAAW,QAAQ;AACxC,YAAM,SAAK,yBAAS;AACpB,cAAQ,KAAK,wCAAwC,WAAW,MAAM,OAAO,EAAE,EAAE,GACjF,QAAQ,IAAI,WAAW,IAAI,CAAC,aAAS,wCAAiB,UAAU,IAAI,CAAC,CAAC,EACnE,KAAK,MAAM;AACV,gBAAQ,KAAK,+BAA+B,EAAE,EAAE;AAAA,MAClD,CAAC,EACA,MAAM,CAAC,QAAQ;AACd,gBAAQ,MAAM,8CAAuC,GAAG;AAAA,MAC1D,CAAC;AAAA,IACL;AAEA,WAAO;AAAA,MACL;AAAA,MACA;AAAA,IACF;AAAA,EACF,GAEM,qBAAqB,OAAO;AAAA,IAChC;AAAA,IACA;AAAA,EACF,MAGM;AACJ,QAAI,CAAC;AACH,YAAM,IAAI;AAAA,QACR;AAAA,MAEF;AA4CF,WAAO;AAAA,MACL,UA1Ce,UAAM;AAAA,QACrB,EAAE,UAAU,YAAa,CAAC,EAAe;AAAA,QACzC,UACE,cAAAC;AAAA,UACE,CAAC,MAAM,SAAS;AAEd,gBAAI,KAAK,WAAW,aAAa,GAAG;AAClC,oBAAM,QAAQ,KAAK,MAAM,EAAoB,GACvC,EAAE,QAAQ,IAAI,MAGd,WAAO,8CAAwB,KAAK;AAC1C,kBAAI,CAAC;AACH,sBAAM,IAAI,MAAM,iDAAiD,KAAK,EAAE;AAE1E,yBAAQ,qBAAO,EAAU,KAAK,EAC3B,MAAM,CAAC,OACC,YAAY;AAAA,gBACjB;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,cACF,CACD,EACA,IAAI;AAAA,YACT;AAGA,mBAAI,iBACF,cAAc,EAAE,UAAU,WAAW,MAAM,QAAQ,KAAK,CAAC,OAG5C,0BAAqB,SAAS,IAAI,EACpC,GAAG,EAAE,MAAM,KAAK,SAAS,CAAC;AAAA,UACzC;AAAA,UACA;AAAA,UACA;AAAA,QACF;AAAA,MACJ;AAAA,IAIA;AAAA,EACF;AAEA,iBAAe,UACb,WACA,aACA,YACA,UACA;AAEA,QAAI,CAAC,UAAU;AACb,YAAM,aAAS,yCAAkB;AACjC,MAAI,WACF,WAAW;AAAA,IAEf;AAEA,UAAM,aAAyC,CAAC,GAiB1C,cAfW,sCAAe;AAAA,MAC9B;AAAA,MACA,aAAa;AAAA,MACb;AAAA,MACA,UAAU;AAAA,QACR,GAAG;AAAA,QACH,GAAG;AAAA,MACL;AAAA,MACA;AAAA,MACA,KAAK,YAAY;AAAA,MACjB;AAAA,IACF,CAAC,EAE8B,SAAkC,EAEnC,WAAW;AAMzC,QAJA,MAAM,YAAY,OAAO,OAAO;AAC9B,YAAM,QAAQ,IAAI,UAAU;AAAA,IAC9B,CAAC,GAEG,WAAW,QAAQ;AACrB,YAAM,SAAK,yBAAS,GACd,eAAe,YAAY;AACjC,cAAQ,KAAK,gCAAgC,WAAW,MAAM,OAAO,EAAE,EAAE,GACzE,QAAQ,IAAI,WAAW,IAAI,CAAC,UAAM,wCAAiB,cAAc,CAAC,CAAC,CAAC,EACjE,KAAK,MAAM;AACV,gBAAQ,KAAK,iCAAiC,EAAE,EAAE;AAAA,MACpD,CAAC,EACA,MAAM,CAAC,QAAQ;AACd,gBAAQ,MAAM,sCAAsC,GAAG;AAAA,MACzD,CAAC;AAAA,IACL;AAAA,EACF;AAGA,QAAM,SAAS,IAAI,MAAM,CAAC,GAA2B;AAAA,IACnD,IAAI,GAAG,WAAmB;AACxB,aAAO,IAAI;AAAA,QACT,CAAC;AAAA,QACD;AAAA,UACE,IAAIC,IAAG,aAAqB;AAC1B,mBAAO,CAAC,KAAc,aACpB,UAAU,WAAW,aAAa,KAAK,QAAQ;AAAA,UACnD;AAAA,QACF;AAAA,MACF;AAAA,IACF;AAAA,EACF,CAAC;AAED,iBAAe,YAGbC,QAA6B;AAC7B,QAAI;AACF,cAAI,wCAAiB,GAAG;AACtB,cAAM,EAAE,GAAG,QAAI,sCAAe;AAC9B,eAAO,MAAMA,OAAM,EAAE;AAAA,MACvB;AAGA,aADe,MAAM,OAAO,YAAYA,QAAO,qBAAqB;AAAA,IAEtE,SAAS,KAAK;AACZ,oBAAQ,MAAM,gCAAgC,GAAG,EAAE,GAC7C;AAAA,IACR;AAAA,EACF;AAEA,WAAS,MACP,IACA,UAC2B;AAC3B,UAAM,MAAM,MACV,YAAY,OAAO,OACV,GAAG,IAAI,OAAG,qBAAO,CAAC,CAAC,CAC3B;AAEH,WAAI,aAAa,aACR,yCAAoB,EAAE,SAAS,GAAG,GAAG,IAEvC,IAAI;AAAA,EACb;AAGA,EAAI,eACF,6BAAiB,OAAO,OAI1B,6BAAU,CAAC,aACF,YAAY,OAAO,OACjB,GAAG,IAAI,QAAQ,CACvB,CACF;AAGD,QAAM,wBAAkD;AAAA,IACtD,eAAe;AAAA,IACf,UAAU;AAAA,IACV,YAAY;AAAA,IACZ,gBAAgB;AAAA,EAClB;AAEA,SAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AACF;",
5
+ "names": ["import_pg", "zeroHandleQueryRequest", "_", "query"]
6
6
  }
@@ -48,7 +48,8 @@ function createZeroServer(param) {
48
48
  queries,
49
49
  validateQuery,
50
50
  validateMutation,
51
- defaultAllowAdminRole = "all"
51
+ defaultAllowAdminRole = "all",
52
+ defaultMutateAuthData = {}
52
53
  } = param;
53
54
  (0, import_state.setSchema)(schema);
54
55
  var dbString = (0, import_helpers.assertString)(database, 'createZeroServer "database"'),
@@ -85,7 +86,7 @@ function createZeroServer(param) {
85
86
  if (!skipAsyncTasks && asyncTasks.length) {
86
87
  var id = (0, import_helpers.randomId)();
87
88
  console.info(`[push] complete, running async tasks ${asyncTasks.length} id ${id}`), Promise.all(asyncTasks.map(function (task) {
88
- return task();
89
+ return (0, import_mutatorContext.runWithAuthScope)(authData, task);
89
90
  })).then(function () {
90
91
  console.info(`[push] async tasks complete ${id}`);
91
92
  }).catch(function (err) {
@@ -133,38 +134,52 @@ function createZeroServer(param) {
133
134
  return {
134
135
  response
135
136
  };
136
- },
137
- mutate = async function (run, authData, options) {
138
- var asyncTasks = [],
139
- mutators = (0, import_createMutators.createMutators)({
140
- models,
141
- environment: "server",
142
- asyncTasks,
143
- authData: {
144
- id: "",
145
- email: "admin@start.chat",
146
- role: "admin",
147
- ...authData
148
- },
149
- createServerActions,
150
- can: permissions.can,
151
- validateMutation
152
- });
153
- if (await transaction(async function (tx) {
154
- await run(tx, mutators);
155
- }), asyncTasks.length) if (options?.awaitAsyncTasks) await Promise.all(asyncTasks.map(function (t) {
156
- return t();
157
- }));else {
158
- var id = (0, import_helpers.randomId)();
159
- console.info(`[mutate] running async tasks ${asyncTasks.length} id ${id}`), Promise.all(asyncTasks.map(function (t) {
160
- return t();
161
- })).then(function () {
162
- console.info(`[mutate] async tasks complete ${id}`);
163
- }).catch(function (err) {
164
- console.error("[mutate] error: async tasks failed", err);
165
- });
166
- }
167
137
  };
138
+ async function runMutate(modelName, mutatorName, mutatorArg, authData) {
139
+ if (!authData) {
140
+ var scoped = (0, import_mutatorContext.getScopedAuthData)();
141
+ scoped && (authData = scoped);
142
+ }
143
+ var asyncTasks = [],
144
+ mutators = (0, import_createMutators.createMutators)({
145
+ models,
146
+ environment: "server",
147
+ asyncTasks,
148
+ authData: {
149
+ ...defaultMutateAuthData,
150
+ ...authData
151
+ },
152
+ createServerActions,
153
+ can: permissions.can,
154
+ validateMutation
155
+ }),
156
+ modelMutators = mutators[modelName],
157
+ mutator = modelMutators[mutatorName];
158
+ if (await transaction(async function (tx) {
159
+ await mutator(tx, mutatorArg);
160
+ }), asyncTasks.length) {
161
+ var id = (0, import_helpers.randomId)(),
162
+ resolvedAuth = authData ?? null;
163
+ console.info(`[mutate] running async tasks ${asyncTasks.length} id ${id}`), Promise.all(asyncTasks.map(function (t) {
164
+ return (0, import_mutatorContext.runWithAuthScope)(resolvedAuth, t);
165
+ })).then(function () {
166
+ console.info(`[mutate] async tasks complete ${id}`);
167
+ }).catch(function (err) {
168
+ console.error("[mutate] error: async tasks failed", err);
169
+ });
170
+ }
171
+ }
172
+ var mutate = new Proxy({}, {
173
+ get(_, modelName) {
174
+ return new Proxy({}, {
175
+ get(_2, mutatorName) {
176
+ return function (arg, authData) {
177
+ return runMutate(modelName, mutatorName, arg, authData);
178
+ };
179
+ }
180
+ });
181
+ }
182
+ });
168
183
  async function transaction(query2) {
169
184
  try {
170
185
  if ((0, import_mutatorContext.isInZeroMutation)()) {
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createZeroServer_exports","__export","createZeroServer","module","exports","import_zero","require","import_pg","import_server","import_pg2","import_helpers","import_pg3","import_createPermissions","import_createMutators","import_mutatorContext","import_queryContext","import_modelRegistry","import_run","import_state","import_zeroRunner","param","createServerActions","database","schema","models","queries","validateQuery","validateMutation","defaultAllowAdminRole","setSchema","dbString","assertString","zeroDb","zeroNodePg","Pool","connectionString","ssl","includes","rejectUnauthorized","permissions","createPermissions","environment","adminRoleMode","processor","PushProcessor","handleMutationRequest","param2","authData","request","skipAsyncTasks","asyncTasks","mutators","createMutators","can","response","process","length","id","randomId","console","info","Promise","all","map","task","then","catch","err","error","handleQueryRequest","Error","runWithQueryContext","name","args","startsWith","table","slice","objOrId","perm","getMutationsPermissions","getZQL","where","eb","buildPermissionQuery","one","queryName","params","_$query","mustGetQuery","fn","ctx","mutate","run","options","email","role","transaction","tx","awaitAsyncTasks","t","query2","isInZeroMutation","mutatorContext","output","dummyTransactionInput","query","cb","setCustomQueries","setRunner","queryObj","clientGroupID","clientID","mutationID","upstreamSchema"],"sources":["../../src/createZeroServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","createZeroServer_exports","__export","createZeroServer","module","exports","import_zero","require","import_pg","import_server","import_pg2","import_helpers","import_pg3","import_createPermissions","import_createMutators","import_mutatorContext","import_queryContext","import_modelRegistry","import_run","import_state","import_zeroRunner","param","createServerActions","database","schema","models","queries","validateQuery","validateMutation","defaultAllowAdminRole","defaultMutateAuthData","setSchema","dbString","assertString","zeroDb","zeroNodePg","Pool","connectionString","ssl","includes","rejectUnauthorized","permissions","createPermissions","environment","adminRoleMode","processor","PushProcessor","handleMutationRequest","param2","authData","request","skipAsyncTasks","asyncTasks","mutators","createMutators","can","response","process","length","id","randomId","console","info","Promise","all","map","task","runWithAuthScope","then","catch","err","error","handleQueryRequest","Error","runWithQueryContext","name","args","startsWith","table","slice","objOrId","perm","getMutationsPermissions","getZQL","where","eb","buildPermissionQuery","one","queryName","params","_$query","mustGetQuery","fn","ctx","runMutate","modelName","mutatorName","mutatorArg","scoped","getScopedAuthData","modelMutators","mutator","transaction","tx","resolvedAuth","t","mutate","Proxy","get","_","_2","arg","query2","isInZeroMutation","mutatorContext","output","dummyTransactionInput","query","cb","run","setCustomQueries","setRunner","queryObj","clientGroupID","clientID","mutationID","upstreamSchema"],"sources":["../../src/createZeroServer.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
@@ -20,13 +20,16 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
20
20
  }), mod);
21
21
  var mutatorContext_exports = {};
22
22
  __export(mutatorContext_exports, {
23
+ getScopedAuthData: () => getScopedAuthData,
23
24
  isInZeroMutation: () => isInZeroMutation,
24
25
  mutatorContext: () => mutatorContext,
26
+ runWithAuthScope: () => runWithAuthScope,
25
27
  runWithContext: () => runWithContext
26
28
  });
27
29
  module.exports = __toCommonJS(mutatorContext_exports);
28
30
  var import_helpers = require("@take-out/helpers");
29
- const asyncContext = (0, import_helpers.createAsyncContext)();
31
+ const asyncContext = (0, import_helpers.createAsyncContext)(),
32
+ authScopeContext = (0, import_helpers.createAsyncContext)();
30
33
  function mutatorContext() {
31
34
  const currentContext = asyncContext.get();
32
35
  if (!currentContext) throw new Error("mutatorContext must be called within a mutator");
@@ -37,4 +40,10 @@ function isInZeroMutation() {
37
40
  }
38
41
  function runWithContext(context, fn) {
39
42
  return asyncContext.run(context, fn);
43
+ }
44
+ function getScopedAuthData() {
45
+ return isInZeroMutation() ? mutatorContext().authData : authScopeContext.get() ?? void 0;
46
+ }
47
+ function runWithAuthScope(authData, fn) {
48
+ return authScopeContext.run(authData, fn);
40
49
  }
@@ -14,13 +14,15 @@ var __export = (target, all) => {
14
14
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: !0 }), mod);
15
15
  var mutatorContext_exports = {};
16
16
  __export(mutatorContext_exports, {
17
+ getScopedAuthData: () => getScopedAuthData,
17
18
  isInZeroMutation: () => isInZeroMutation,
18
19
  mutatorContext: () => mutatorContext,
20
+ runWithAuthScope: () => runWithAuthScope,
19
21
  runWithContext: () => runWithContext
20
22
  });
21
23
  module.exports = __toCommonJS(mutatorContext_exports);
22
24
  var import_helpers = require("@take-out/helpers");
23
- const asyncContext = (0, import_helpers.createAsyncContext)();
25
+ const asyncContext = (0, import_helpers.createAsyncContext)(), authScopeContext = (0, import_helpers.createAsyncContext)();
24
26
  function mutatorContext() {
25
27
  const currentContext = asyncContext.get();
26
28
  if (!currentContext)
@@ -33,4 +35,10 @@ function isInZeroMutation() {
33
35
  function runWithContext(context, fn) {
34
36
  return asyncContext.run(context, fn);
35
37
  }
38
+ function getScopedAuthData() {
39
+ return isInZeroMutation() ? mutatorContext().authData : authScopeContext.get() ?? void 0;
40
+ }
41
+ function runWithAuthScope(authData, fn) {
42
+ return authScopeContext.run(authData, fn);
43
+ }
36
44
  //# sourceMappingURL=mutatorContext.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../../src/helpers/mutatorContext.ts"],
4
- "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAmC;AAInC,MAAM,mBAAe,mCAAmC;AAEjD,SAAS,iBAAiC;AAC/C,QAAM,iBAAiB,aAAa,IAAI;AACxC,MAAI,CAAC;AACH,UAAM,IAAI,MAAM,gDAAgD;AAGlE,SAAO;AACT;AAEO,SAAS,mBAAmB;AACjC,SAAO,CAAC,CAAC,aAAa,IAAI;AAC5B;AAEO,SAAS,eACd,SACA,IACY;AACZ,SAAO,aAAa,IAAI,SAAS,EAAE;AACrC;",
4
+ "mappings": ";;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,qBAAmC;AAInC,MAAM,mBAAe,mCAAmC,GAGlD,uBAAmB,mCAAoC;AAEtD,SAAS,iBAAiC;AAC/C,QAAM,iBAAiB,aAAa,IAAI;AACxC,MAAI,CAAC;AACH,UAAM,IAAI,MAAM,gDAAgD;AAGlE,SAAO;AACT;AAEO,SAAS,mBAAmB;AACjC,SAAO,CAAC,CAAC,aAAa,IAAI;AAC5B;AAEO,SAAS,eACd,SACA,IACY;AACZ,SAAO,aAAa,IAAI,SAAS,EAAE;AACrC;AAGO,SAAS,oBAAiD;AAC/D,SAAI,iBAAiB,IACZ,eAAe,EAAE,WAEnB,iBAAiB,IAAI,KAAK;AACnC;AAEO,SAAS,iBACd,UACA,IACY;AACZ,SAAO,iBAAiB,IAAI,UAAU,EAAE;AAC1C;",
5
5
  "names": []
6
6
  }
@@ -22,13 +22,16 @@ var __toCommonJS = mod => __copyProps(__defProp({}, "__esModule", {
22
22
  }), mod);
23
23
  var mutatorContext_exports = {};
24
24
  __export(mutatorContext_exports, {
25
+ getScopedAuthData: () => getScopedAuthData,
25
26
  isInZeroMutation: () => isInZeroMutation,
26
27
  mutatorContext: () => mutatorContext,
28
+ runWithAuthScope: () => runWithAuthScope,
27
29
  runWithContext: () => runWithContext
28
30
  });
29
31
  module.exports = __toCommonJS(mutatorContext_exports);
30
32
  var import_helpers = require("@take-out/helpers"),
31
- asyncContext = (0, import_helpers.createAsyncContext)();
33
+ asyncContext = (0, import_helpers.createAsyncContext)(),
34
+ authScopeContext = (0, import_helpers.createAsyncContext)();
32
35
  function mutatorContext() {
33
36
  var currentContext = asyncContext.get();
34
37
  if (!currentContext) throw new Error("mutatorContext must be called within a mutator");
@@ -40,4 +43,12 @@ function isInZeroMutation() {
40
43
  function runWithContext(context, fn) {
41
44
  return asyncContext.run(context, fn);
42
45
  }
46
+ function getScopedAuthData() {
47
+ if (isInZeroMutation()) return mutatorContext().authData;
48
+ var _authScopeContext_get;
49
+ return (_authScopeContext_get = authScopeContext.get()) !== null && _authScopeContext_get !== void 0 ? _authScopeContext_get : void 0;
50
+ }
51
+ function runWithAuthScope(authData, fn) {
52
+ return authScopeContext.run(authData, fn);
53
+ }
43
54
  //# sourceMappingURL=mutatorContext.native.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","mutatorContext_exports","__export","isInZeroMutation","mutatorContext","runWithContext","module","exports","import_helpers","require","asyncContext","createAsyncContext","currentContext","get","Error","context","fn","run"],"sources":["../../../src/helpers/mutatorContext.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,sBAAA;AAAAC,QAAA,CAAAD,sBAAA;EAAAE,gBAAA,EAAAA,CAAA,KAAAA,gBAAA;EAAAC,cAAA,EAAAA,CAAA,KAAAA,cAAA;EAAAC,cAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAX,YAAmC,CAAAK,sBAAA;AAInC,IAAAO,cAAM,GAAAC,OAAe;EAAAC,YAAmC,OAAAF,cAAA,CAAAG,kBAAA;AAEjD,SAASP,eAAA,EAAiC;EAC/C,IAAAQ,cAAM,GAAAF,YAAiB,CAAAG,GAAa;EACpC,IAAI,CAACD,cAAA,EACH,MAAM,IAAIE,KAAA,CAAM,gDAAgD;EAGlE,OAAOF,cAAA;AACT;AAEO,SAAST,iBAAA,EAAmB;EACjC,OAAO,CAAC,CAACO,YAAA,CAAaG,GAAA,CAAI;AAC5B;AAEO,SAASR,eACdU,OAAA,EACAC,EAAA,EACY;EACZ,OAAON,YAAA,CAAaO,GAAA,CAAIF,OAAA,EAASC,EAAE;AACrC","ignoreList":[]}
1
+ {"version":3,"names":["__toCommonJS","mod","__copyProps","__defProp","value","mutatorContext_exports","__export","getScopedAuthData","isInZeroMutation","mutatorContext","runWithAuthScope","runWithContext","module","exports","import_helpers","require","asyncContext","createAsyncContext","authScopeContext","currentContext","get","Error","context","fn","run","authData","_authScopeContext_get"],"sources":["../../../src/helpers/mutatorContext.ts"],"sourcesContent":[null],"mappings":";;;;;;;;;;;;;;;;;;;AAAA,IAAAA,YAAA,GAAAC,GAAA,IAAAC,WAAA,CAAAC,SAAA;EAAAC,KAAA;AAAA,IAAAH,GAAA;AAAA,IAAAI,sBAAA;AAAAC,QAAA,CAAAD,sBAAA;EAAAE,iBAAA,EAAAA,CAAA,KAAAA,iBAAA;EAAAC,gBAAA,EAAAA,CAAA,KAAAA,gBAAA;EAAAC,cAAA,EAAAA,CAAA,KAAAA,cAAA;EAAAC,gBAAA,EAAAA,CAAA,KAAAA,gBAAA;EAAAC,cAAA,EAAAA,CAAA,KAAAA;AAAA;AAAAC,MAAA,CAAAC,OAAA,GAAAb,YAAmC,CAAAK,sBAAA;AAInC,IAAAS,cAAM,GAAAC,OAAe;EAAAC,YAGf,OAAAF,cAAA,CAAAG,kBAAmB;EAAAC,gBAAoC,OAAAJ,cAAA,CAAAG,kBAAA;AAEtD,SAASR,eAAA,EAAiC;EAC/C,IAAAU,cAAM,GAAAH,YAAiB,CAAAI,GAAa;EACpC,IAAI,CAACD,cAAA,EACH,MAAM,IAAIE,KAAA,CAAM,gDAAgD;EAGlE,OAAOF,cAAA;AACT;AAEO,SAASX,iBAAA,EAAmB;EACjC,OAAO,CAAC,CAACQ,YAAA,CAAaI,GAAA,CAAI;AAC5B;AAEO,SAAST,eACdW,OAAA,EACAC,EAAA,EACY;EACZ,OAAOP,YAAA,CAAaQ,GAAA,CAAIF,OAAA,EAASC,EAAE;AACrC;AAGO,SAAShB,kBAAA,EAAiD;EAC/D,IAAAC,gBAAI,IAIN,OAAAC,cAAA,GAAAgB,QAAA;EAEO,IAAAC,qBACL;EAGA,OAAO,CAAAA,qBAAqB,GAAAR,gBAAY,CAAAE,GAAA,gBAAAM,qBAAA,cAAAA,qBAAA;AAC1C","ignoreList":[]}
@@ -6,7 +6,12 @@ import { assertString, randomId } from "@take-out/helpers";
6
6
  import { Pool } from "pg";
7
7
  import { createPermissions } from "./createPermissions";
8
8
  import { createMutators } from "./helpers/createMutators";
9
- import { isInZeroMutation, mutatorContext } from "./helpers/mutatorContext";
9
+ import {
10
+ getScopedAuthData,
11
+ isInZeroMutation,
12
+ mutatorContext,
13
+ runWithAuthScope
14
+ } from "./helpers/mutatorContext";
10
15
  import { runWithQueryContext } from "./helpers/queryContext";
11
16
  import { getMutationsPermissions } from "./modelRegistry";
12
17
  import { setCustomQueries } from "./run";
@@ -20,7 +25,8 @@ function createZeroServer({
20
25
  queries,
21
26
  validateQuery,
22
27
  validateMutation,
23
- defaultAllowAdminRole = "all"
28
+ defaultAllowAdminRole = "all",
29
+ defaultMutateAuthData = {}
24
30
  }) {
25
31
  setSchema(schema);
26
32
  const dbString = assertString(database, 'createZeroServer "database"'), zeroDb = zeroNodePg(
@@ -50,7 +56,7 @@ function createZeroServer({
50
56
  }), response = await processor.process(mutators, request);
51
57
  if (!skipAsyncTasks && asyncTasks.length) {
52
58
  const id = randomId();
53
- console.info(`[push] complete, running async tasks ${asyncTasks.length} id ${id}`), Promise.all(asyncTasks.map((task) => task())).then(() => {
59
+ console.info(`[push] complete, running async tasks ${asyncTasks.length} id ${id}`), Promise.all(asyncTasks.map((task) => runWithAuthScope(authData, task))).then(() => {
54
60
  console.info(`[push] async tasks complete ${id}`);
55
61
  }).catch((err) => {
56
62
  console.error("[push] error: async tasks failed \u{1F61E}", err);
@@ -92,35 +98,47 @@ function createZeroServer({
92
98
  )
93
99
  )
94
100
  };
95
- }, mutate = async (run, authData, options) => {
96
- const asyncTasks = [], mutators = createMutators({
101
+ };
102
+ async function runMutate(modelName, mutatorName, mutatorArg, authData) {
103
+ if (!authData) {
104
+ const scoped = getScopedAuthData();
105
+ scoped && (authData = scoped);
106
+ }
107
+ const asyncTasks = [], mutator = createMutators({
97
108
  models,
98
109
  environment: "server",
99
110
  asyncTasks,
100
111
  authData: {
101
- id: "",
102
- email: "admin@start.chat",
103
- role: "admin",
112
+ ...defaultMutateAuthData,
104
113
  ...authData
105
114
  },
106
115
  createServerActions,
107
116
  can: permissions.can,
108
117
  validateMutation
109
- });
118
+ })[modelName][mutatorName];
110
119
  if (await transaction(async (tx) => {
111
- await run(tx, mutators);
112
- }), asyncTasks.length)
113
- if (options?.awaitAsyncTasks)
114
- await Promise.all(asyncTasks.map((t) => t()));
115
- else {
116
- const id = randomId();
117
- console.info(`[mutate] running async tasks ${asyncTasks.length} id ${id}`), Promise.all(asyncTasks.map((t) => t())).then(() => {
118
- console.info(`[mutate] async tasks complete ${id}`);
119
- }).catch((err) => {
120
- console.error("[mutate] error: async tasks failed", err);
121
- });
122
- }
123
- };
120
+ await mutator(tx, mutatorArg);
121
+ }), asyncTasks.length) {
122
+ const id = randomId(), resolvedAuth = authData ?? null;
123
+ console.info(`[mutate] running async tasks ${asyncTasks.length} id ${id}`), Promise.all(asyncTasks.map((t) => runWithAuthScope(resolvedAuth, t))).then(() => {
124
+ console.info(`[mutate] async tasks complete ${id}`);
125
+ }).catch((err) => {
126
+ console.error("[mutate] error: async tasks failed", err);
127
+ });
128
+ }
129
+ }
130
+ const mutate = new Proxy({}, {
131
+ get(_, modelName) {
132
+ return new Proxy(
133
+ {},
134
+ {
135
+ get(_2, mutatorName) {
136
+ return (arg, authData) => runMutate(modelName, mutatorName, arg, authData);
137
+ }
138
+ }
139
+ );
140
+ }
141
+ });
124
142
  async function transaction(query2) {
125
143
  try {
126
144
  if (isInZeroMutation()) {
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["../../src/createZeroServer.ts"],
4
- "mappings": "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",
5
- "names": ["query"]
4
+ "mappings": "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",
5
+ "names": ["_", "query"]
6
6
  }