piper-utils 1.1.69 → 1.1.71
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.
- package/bin/main.js +79 -20
- package/bin/main.js.map +1 -1
- package/package.json +62 -62
- package/src/contract/contract.js +42 -0
- package/src/contract/contract.test.js +36 -0
- package/src/database/dbUtils/partnerAccess/accessScope.js +128 -99
- package/src/database/dbUtils/partnerAccess/accessScope.test.js +287 -287
- package/src/database/dbUtils/partnerAccess/createAccessHelpers.js +3 -3
- package/src/database/dbUtils/queryStringUtils/createFilters.js +311 -311
- package/src/database/dbUtils/queryStringUtils/createFilters.test.js +682 -682
- package/src/eventManager/handleFile.js +129 -115
- package/src/eventManager/handleFile.test.js +463 -460
- package/src/index.js +4 -0
- package/src/requestResponse/requestResponse.test.js +58 -0
package/bin/main.js
CHANGED
|
@@ -409,6 +409,37 @@ return itemType instanceof _sequelize.default.STRING||itemType instanceof _seque
|
|
|
409
409
|
//these are automatically part of the models, so add them always
|
|
410
410
|
acc.createdAt={type:_sequelize.default.DATE,filterType:_sequelize.default.Op.between},acc.updatedAt={type:_sequelize.default.DATE,filterType:_sequelize.default.Op.between},acc.id={type:_sequelize.default.INTEGER,filterType:_sequelize.default.Op.eq},acc},filters)}
|
|
411
411
|
/***/},
|
|
412
|
+
/***/269(__unused_webpack_module,exports){Object.defineProperty(exports,"__esModule",{value:!0}),exports.contractStatuses=exports.contractChoices=void 0,exports.isContractChoice=
|
|
413
|
+
/*
|
|
414
|
+
* True when value is a choice the signing page is allowed to send. The gateway
|
|
415
|
+
* gates on this before selecting which of the two server-side amounts to charge,
|
|
416
|
+
* so an unrecognized choice is a 400 rather than a wrong amount.
|
|
417
|
+
*
|
|
418
|
+
* @param {string} value
|
|
419
|
+
* @returns {boolean}
|
|
420
|
+
*/
|
|
421
|
+
function isContractChoice(value){return Object.values(contractChoices).includes(value)}
|
|
422
|
+
/***/;
|
|
423
|
+
/*
|
|
424
|
+
* Financing contract constants shared by the ERP (piper) and the payment
|
|
425
|
+
* gateway (piper-gateway). Both sides put these strings on the wire — the ERP
|
|
426
|
+
* writes them onto the order and the prepare payload, the gateway reads them
|
|
427
|
+
* back off the checkout page and echoes them home on the webhook — so they must
|
|
428
|
+
* agree exactly. Keeping them here is what stops a 'down' / 'Down' drift from
|
|
429
|
+
* becoming a silent mischarge.
|
|
430
|
+
*/
|
|
431
|
+
/*
|
|
432
|
+
* What the customer chose on the signing page.
|
|
433
|
+
* - full: pay the whole order total now; no financing, so no contract to sign
|
|
434
|
+
* - down: pay the down payment now and sign the financing contract for the rest
|
|
435
|
+
*/
|
|
436
|
+
const contractChoices=exports.contractChoices={full:"full",down:"down"};
|
|
437
|
+
/*
|
|
438
|
+
* Lifecycle of the contract attached to an order.
|
|
439
|
+
* - draft: order is still an estimate; nothing rendered yet
|
|
440
|
+
* - sent: contract body frozen and hashed, link is out with the customer
|
|
441
|
+
* - signed: customer consented and signed; signature + audit trail persisted
|
|
442
|
+
*/exports.contractStatuses={draft:"Draft",sent:"Sent",signed:"Signed"}},
|
|
412
443
|
/***/288(__unused_webpack_module,exports,__webpack_require__){Object.defineProperty(exports,"__esModule",{value:!0}),exports.createFilters=void 0;var _lodash=_interopRequireDefault(__webpack_require__(825)),_sequelize=_interopRequireDefault(__webpack_require__(31)),_dayjs=_interopRequireDefault(__webpack_require__(293)),_utc=_interopRequireDefault(__webpack_require__(137)),_errorCodes=__webpack_require__(953),_accessRightsUtils=__webpack_require__(673);function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}_dayjs.default.extend(_utc.default);exports.createFilters=function(event,objectFilters){let query=_lodash.default.get(event,"queryStringParameters",{})||{};
|
|
413
444
|
// Extract the three convenience params before iterating.
|
|
414
445
|
// These are handled separately from the per-field filter logic below.
|
|
@@ -516,46 +547,56 @@ let parsed;try{parsed=JSON.parse(query[qKey])}catch(e){return}if(parsed&&"object
|
|
|
516
547
|
* Scope to the union of partnerBusinessId + businessIds.
|
|
517
548
|
* Use for tickets — partner sees own tickets + portfolio merchants' tickets.
|
|
518
549
|
*
|
|
519
|
-
* global → deletes where.businessId
|
|
520
|
-
* partner →
|
|
521
|
-
*
|
|
550
|
+
* global → requested ? where.businessId = requested : deletes where.businessId
|
|
551
|
+
* partner → allowed = uniq([partnerBusinessId, ...businessIds]);
|
|
552
|
+
* requested ? allowed ∩ requested : where.businessId = allowed
|
|
553
|
+
* standard → allowed = businessIds;
|
|
554
|
+
* requested ? allowed ∩ requested : where.businessId = allowed
|
|
522
555
|
* (explicitly handled here because ticket routes may not call
|
|
523
556
|
* createFilters before scoping, e.g. delete/resolve handlers)
|
|
524
557
|
*
|
|
525
|
-
* @param {object} where
|
|
526
|
-
* @param {object} access
|
|
558
|
+
* @param {object} where - Sequelize WHERE clause to mutate.
|
|
559
|
+
* @param {object} access - Access object from resolveAccess.
|
|
560
|
+
* @param {string[]} [requested] - Explicit businessIds from the query string.
|
|
527
561
|
* @param {{ getPartnerById: Function }} deps
|
|
528
562
|
*/
|
|
529
|
-
async function scopeToBookUnionOwn(where,access,{getPartnerById}={}){if(!access)throw _errorCodes.errorList.unauthorized;if("global"===access.level)return void
|
|
563
|
+
async function scopeToBookUnionOwn(where,access,requested=[],{getPartnerById}={}){if(!access)throw _errorCodes.errorList.unauthorized;if("global"===access.level)return void(requested.length?where.businessId=requested:delete where.businessId);if("partner"===access.level){await(0,_accessContext.ensurePartnerScope)(access,{getPartnerById});const allowed=_lodash.default.uniq([access.partnerBusinessId,...access.businessIds||[]].filter(Boolean));return void(where.businessId=requested.length?_lodash.default.intersection(allowed,requested):allowed)}if("standard"===access.level){const allowed=access.businessIds||[];return void(where.businessId=requested.length?_lodash.default.intersection(allowed,requested):allowed)}}
|
|
530
564
|
/***/,exports.scopeToOwnBusiness=
|
|
565
|
+
// `requested` is the caller-supplied businessIds array (what the route extracts via
|
|
566
|
+
// getRequestedBusinessIds(event)). Empty array = no explicit filter (back-compat path).
|
|
567
|
+
// When non-empty it is intersected against the role's allowed set so a user can never
|
|
568
|
+
// widen their scope past what their role permits by passing a query-string businessId.
|
|
531
569
|
/**
|
|
532
570
|
* Scope a WHERE clause to the partner's own business (partnerBusinessId).
|
|
533
571
|
* Use for "mine" resources: deal, activity, application, template.
|
|
534
572
|
*
|
|
535
|
-
* global →
|
|
536
|
-
* partner →
|
|
573
|
+
* global → requested ? where.businessId = requested : deletes where.businessId
|
|
574
|
+
* partner → requested ? [partnerBusinessId] ∩ requested : where.businessId = partnerBusinessId
|
|
537
575
|
* throws partnerNotConfigured if partnerBusinessId is missing
|
|
538
576
|
* standard → no-op (createFilters already handled)
|
|
539
577
|
*
|
|
540
|
-
* @param {object} where
|
|
541
|
-
* @param {object} access
|
|
578
|
+
* @param {object} where - Sequelize WHERE clause to mutate.
|
|
579
|
+
* @param {object} access - Access object from resolveAccess.
|
|
580
|
+
* @param {string[]} [requested] - Explicit businessIds from the query string.
|
|
542
581
|
* @param {{ getPartnerById: Function }} deps
|
|
543
582
|
*/
|
|
544
|
-
async function scopeToOwnBusiness(where,access,{getPartnerById}={}){if(!access)throw _errorCodes.errorList.unauthorized;if("global"===access.level)return void
|
|
583
|
+
async function scopeToOwnBusiness(where,access,requested=[],{getPartnerById}={}){if(!access)throw _errorCodes.errorList.unauthorized;if("global"===access.level)return void(requested.length?where.businessId=requested:delete where.businessId);if("partner"===access.level){if(await(0,_accessContext.ensurePartnerScope)(access,{getPartnerById}),!access.partnerBusinessId)throw _errorCodes.errorList.partnerNotConfigured;return void(requested.length?where.businessId=_lodash.default.intersection([access.partnerBusinessId],requested):where.businessId=access.partnerBusinessId)}
|
|
545
584
|
// standard → no-op (createFilters already injected from JWT)
|
|
546
585
|
}
|
|
547
586
|
/**
|
|
548
587
|
* Scope a WHERE clause to the partner's portfolio (businessIds array).
|
|
549
588
|
* Use for "book" resources (future transaction lists, merchant inbox views).
|
|
550
589
|
*
|
|
551
|
-
* global → deletes where.businessId
|
|
552
|
-
* partner →
|
|
590
|
+
* global → requested ? where.businessId = requested : deletes where.businessId
|
|
591
|
+
* partner → requested ? businessIds ∩ requested : where.businessId = businessIds[]
|
|
592
|
+
* (own business is intentionally excluded — book is portfolio only)
|
|
553
593
|
* standard → no-op
|
|
554
594
|
*
|
|
555
|
-
* @param {object} where
|
|
556
|
-
* @param {object} access
|
|
595
|
+
* @param {object} where - Sequelize WHERE clause to mutate.
|
|
596
|
+
* @param {object} access - Access object from resolveAccess.
|
|
597
|
+
* @param {string[]} [requested] - Explicit businessIds from the query string.
|
|
557
598
|
* @param {{ getPartnerById: Function }} deps
|
|
558
|
-
*/,exports.scopeToPartnerBook=async function scopeToPartnerBook(where,access,{getPartnerById}={}){if(!access)throw _errorCodes.errorList.unauthorized;if("global"===access.level)return void
|
|
599
|
+
*/,exports.scopeToPartnerBook=async function scopeToPartnerBook(where,access,requested=[],{getPartnerById}={}){if(!access)throw _errorCodes.errorList.unauthorized;if("global"===access.level)return void(requested.length?where.businessId=requested:delete where.businessId);if("partner"===access.level){await(0,_accessContext.ensurePartnerScope)(access,{getPartnerById});const allowed=access.businessIds||[];return void(where.businessId=requested.length?_lodash.default.intersection(allowed,requested):allowed)}
|
|
559
600
|
// standard → no-op
|
|
560
601
|
};var _lodash=function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}(__webpack_require__(825)),_accessContext=__webpack_require__(62),_errorCodes=__webpack_require__(953)},
|
|
561
602
|
/***/515(module){module.exports=require("@aws-sdk/lib-dynamodb");
|
|
@@ -577,7 +618,7 @@ async function scopeToOwnBusiness(where,access,{getPartnerById}={}){if(!access)t
|
|
|
577
618
|
* @param {{ getPartnerById: Function }} deps
|
|
578
619
|
* @returns {object} Pre-bound helpers.
|
|
579
620
|
*/
|
|
580
|
-
function createAccessHelpers({getPartnerById}){const deps={getPartnerById};return{ensurePartnerScope:access=>(0,_accessContext.ensurePartnerScope)(access,deps),scopeToOwnBusiness:(where,access)=>(0,_accessScope.scopeToOwnBusiness)(where,access,deps),scopeToPartnerBook:(where,access)=>(0,_accessScope.scopeToPartnerBook)(where,access,deps),scopeToBookUnionOwn:(where,access)=>(0,_accessScope.scopeToBookUnionOwn)(where,access,deps),assertCanWriteOwnBusiness:(access,businessId)=>(0,_accessWrites.assertCanWriteOwnBusiness)(access,businessId,deps),assertCanWriteBookBusiness:(access,businessId)=>(0,_accessWrites.assertCanWriteBookBusiness)(access,businessId,deps),assertCanWriteBookUnionOwn:(access,businessId)=>(0,_accessWrites.assertCanWriteBookUnionOwn)(access,businessId,deps),stampOwnBusinessId:(access,body)=>(0,_accessWrites.stampOwnBusinessId)(access,body,deps)}}
|
|
621
|
+
function createAccessHelpers({getPartnerById}){const deps={getPartnerById};return{ensurePartnerScope:access=>(0,_accessContext.ensurePartnerScope)(access,deps),scopeToOwnBusiness:(where,access,requested)=>(0,_accessScope.scopeToOwnBusiness)(where,access,requested,deps),scopeToPartnerBook:(where,access,requested)=>(0,_accessScope.scopeToPartnerBook)(where,access,requested,deps),scopeToBookUnionOwn:(where,access,requested)=>(0,_accessScope.scopeToBookUnionOwn)(where,access,requested,deps),assertCanWriteOwnBusiness:(access,businessId)=>(0,_accessWrites.assertCanWriteOwnBusiness)(access,businessId,deps),assertCanWriteBookBusiness:(access,businessId)=>(0,_accessWrites.assertCanWriteBookBusiness)(access,businessId,deps),assertCanWriteBookUnionOwn:(access,businessId)=>(0,_accessWrites.assertCanWriteBookUnionOwn)(access,businessId,deps),stampOwnBusinessId:(access,body)=>(0,_accessWrites.stampOwnBusinessId)(access,body,deps)}}
|
|
581
622
|
/***/;var _accessContext=__webpack_require__(62),_accessScope=__webpack_require__(513),_accessWrites=__webpack_require__(165)},
|
|
582
623
|
/***/564(module){module.exports=require("bluebird");
|
|
583
624
|
/***/},
|
|
@@ -819,13 +860,31 @@ async function runMigrations(databaseName,sequelizeInstance,initializeModels,pat
|
|
|
819
860
|
// The tables are still initiated by being passed in to run migrations
|
|
820
861
|
await initializeModels()}
|
|
821
862
|
/***/;var _lodash=function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}(__webpack_require__(825)),_umzug=__webpack_require__(920)},
|
|
822
|
-
/***/876(__unused_webpack_module,exports,__webpack_require__){Object.defineProperty(exports,"__esModule",{value:!0}),exports.
|
|
863
|
+
/***/876(__unused_webpack_module,exports,__webpack_require__){Object.defineProperty(exports,"__esModule",{value:!0}),exports.handleFile=async function handleFile(path,s3Bucket,transformer,options){const shouldSkipFailedFolders=_lodash.default.get(options,"shouldSkipFailedFolders"),userImportTypes=_lodash.default.get(options,"userImportTypes"),params={Bucket:s3Bucket,Key:path};let body;try{body=await _S3Utils.default.getObject(params)}catch(e){if("NoSuchKey"===e.Code||"NoSuchKey"===e.code||"NoSuchKey"===e.name)return;throw console.error("S3 getObject error:",e),e}try{
|
|
823
864
|
// exit early for null/undefined or blank string bodies
|
|
824
865
|
if(_lodash.default.isNil(body)||_lodash.default.isString(body)&&_lodash.default.isEmpty(body.trim()))return void await _S3Utils.default.deleteObject(params);const parsedBody=JSON.parse(body);
|
|
825
866
|
// exit early for objects like {} or []
|
|
826
867
|
if(_lodash.default.isEmpty(parsedBody))return void await _S3Utils.default.deleteObject(params);const returnedValue=await transformer(parsedBody);return await _S3Utils.default.deleteObject(params),returnedValue}catch(error){if(console.error("HANDLE-FILE-ERROR",error),!body)return;let newPath="";if(userImportTypes){console.log("USER IMPORT");
|
|
827
868
|
// look for items in the userImportTypes
|
|
828
|
-
const usersImports=Object.values(userImportTypes),items=path.split("/"),fileName=_lodash.default.last(items),folderName=_lodash.default.first(items);newPath=usersImports.indexOf(folderName)>-1?shouldSkipFailedFolders?`${folderName}/error/${fileName}`:_lodash.default.startsWith(path,`${folderName}/failed-once/`)?_lodash.default.replace(path,`${folderName}/failed-once/`,`${folderName}/failed-twice/`):_lodash.default.startsWith(path,`${folderName}/failed-twice/`)?_lodash.default.replace(path,`${folderName}/failed-twice/`,`${folderName}/error/`):`${folderName}/failed-once/${fileName}`:`pathAndEventMisMatchError/${path}`}else shouldSkipFailedFolders?newPath=`error/${path}`:_lodash.default.startsWith(path,"failed-once/")?newPath=_lodash.default.replace(path,"failed-once/","failed-twice/"):_lodash.default.startsWith(path,"failed-twice/")?newPath=_lodash.default.replace(path,"failed-twice/","error/"):(_lodash.default.includes(path,"delayUntil/")&&(path=_lodash.default.last(path.split("/"))),newPath=`failed-once/${path}`);const newParams={Bucket:s3Bucket,Key:newPath,Body:body};
|
|
869
|
+
const usersImports=Object.values(userImportTypes),items=path.split("/"),fileName=_lodash.default.last(items),folderName=_lodash.default.first(items);newPath=usersImports.indexOf(folderName)>-1?shouldSkipFailedFolders?`${folderName}/error/${fileName}`:_lodash.default.startsWith(path,`${folderName}/failed-once/`)?_lodash.default.replace(path,`${folderName}/failed-once/`,`${folderName}/failed-twice/`):_lodash.default.startsWith(path,`${folderName}/failed-twice/`)?_lodash.default.replace(path,`${folderName}/failed-twice/`,`${folderName}/error/`):`${folderName}/failed-once/${fileName}`:`pathAndEventMisMatchError/${path}`}else shouldSkipFailedFolders?newPath=`error/${path}`:_lodash.default.startsWith(path,"failed-once/")?newPath=_lodash.default.replace(path,"failed-once/","failed-twice/"):_lodash.default.startsWith(path,"failed-twice/")?newPath=_lodash.default.replace(path,"failed-twice/","error/"):(_lodash.default.includes(path,"delayUntil/")&&(path=_lodash.default.last(path.split("/"))),newPath=`failed-once/${path}`);const newParams={Bucket:s3Bucket,Key:newPath,Body:body};
|
|
870
|
+
// Guard against genuine prefix nesting (e.g. `failed-once/error/<file>`) — a file that has
|
|
871
|
+
// already traversed the failure ladder. Detect this on the FOLDER SEGMENTS only, never the
|
|
872
|
+
// filename, so a user-uploaded file named e.g. `errors.csv` or `failed-once-list.csv` is
|
|
873
|
+
// not mistaken for a nested path. The previous check counted the token anywhere in the key
|
|
874
|
+
// (including the filename) and threw BEFORE the move/delete below, so the file was neither
|
|
875
|
+
// dead-lettered nor removed — publishEvents.loop() then re-listed it every tick, an
|
|
876
|
+
// infinite reprocess loop. If the destination really is nested, still DELETE the source so
|
|
877
|
+
// it dead-letters instead of looping forever. See audit finding #8.
|
|
878
|
+
if(isNestedFailurePath(newPath))throw await _S3Utils.default.deleteObject(params),new Error("NESTING ERROR");throw await _S3Utils.default.putObject(newParams),await _S3Utils.default.deleteObject(params),error}}
|
|
879
|
+
/**
|
|
880
|
+
* True when a key has already traversed the failure ladder more than once, i.e. its FOLDER
|
|
881
|
+
* portion contains more than one of the ladder stages (failed-once / failed-twice / error).
|
|
882
|
+
* Only whole path SEGMENTS are considered, never the filename, so a file literally named
|
|
883
|
+
* `errors.csv` is not treated as nested.
|
|
884
|
+
*
|
|
885
|
+
* @param {string} key - The destination S3 key
|
|
886
|
+
* @returns {boolean}
|
|
887
|
+
*/,exports.isNestedFailurePath=isNestedFailurePath;var _lodash=_interopRequireDefault(__webpack_require__(825)),_S3Utils=_interopRequireDefault(__webpack_require__(908));function _interopRequireDefault(e){return e&&e.__esModule?e:{default:e}}function isNestedFailurePath(key){const ladderStages=["failed-once","failed-twice","error"];return String(key).split("/").slice(0,-1).filter(segment=>ladderStages.includes(segment)).length>1}
|
|
829
888
|
/***/},
|
|
830
889
|
/***/908(__unused_webpack_module,exports,__webpack_require__){Object.defineProperty(exports,"__esModule",{value:!0}),exports.default=void 0,exports.s3Utils=s3Utils;var _clientS=__webpack_require__(43);function s3Utils(action,params){return(new _clientS.S3)[action](params)}const S3Util={getObject:params=>async function getS3(params){const s3=new _clientS.S3,response=await s3.getObject(params);return response?.Body.transformToString("utf-8")}
|
|
831
890
|
/***/(params),deleteObject:params=>s3Utils("deleteObject",params),putObject:params=>s3Utils("putObject",params),listObjectsV2:params=>s3Utils("listObjectsV2",params)};exports.default=S3Util},
|
|
@@ -887,6 +946,6 @@ function createIncludes(event,objectFilters){const query=_lodash.default.get(eve
|
|
|
887
946
|
/******/
|
|
888
947
|
/************************************************************************/var __webpack_exports__={};
|
|
889
948
|
// This entry needs to be wrapped in an IIFE because it uses a non-standard name for the exports (exports).
|
|
890
|
-
(()=>{var exports=__webpack_exports__;Object.defineProperty(exports,"__esModule",{value:!0}),exports.watchBucket=exports.userDefaultBid=exports.successHtml=exports.success=exports.stampOwnBusinessId=exports.scopeToPartnerBook=exports.scopeToOwnBusiness=exports.scopeToBookUnionOwn=exports.runMigrations=exports.resolveAccess=exports.requireTicketAccess=exports.requireSuper=exports.requireCrmAccess=exports.publishEvents=exports.parseEvent=exports.parseBody=exports.isSystemUser=exports.isSuperUser=exports.isPartnerUser=exports.incrementWithAudit=exports.handleFile=exports.getModuleInfo=exports.getEffectivePartnerId=exports.getDefaultBusinessIDInfo=exports.getCurrentUserNameFromCognitoEvent=exports.getCurrentUser=exports.getCompanySettings=exports.getBusinessesInfo=exports.getBelongsToPartnerId=exports.getAuditModel=exports.getAuditFilter=exports.getAccessRightsInfo=exports.findAll=exports.failure=exports.ensurePartnerScope=exports.enrichEventWithPartnerAccess=exports.defaultFilters=exports.decrementWithAudit=exports.createSort=exports.createIncludes=exports.createFilters=exports.createAccessHelpers=exports.checkWriteAccess=exports.checkModule=exports.checkIsSuper=exports.bindAuditRequestForUser=exports.bindAuditRequest=exports.attachAudit=exports.assertCanWriteOwnBusiness=exports.assertCanWriteBookUnionOwn=exports.assertCanWriteBookBusiness=exports.accessRightsUtils=void 0;var _handleFile=__webpack_require__(876),_watchBucket=__webpack_require__(183),_publishEvents=__webpack_require__(864),_createIncludes=__webpack_require__(982),_createFilters=__webpack_require__(288),_createSort=__webpack_require__(835),_findAll=__webpack_require__(981),_accessRightsUtils=__webpack_require__(673),_requestResponse=__webpack_require__(859),_migrations=__webpack_require__(871),_defaultFilters=__webpack_require__(207),_accessContext=__webpack_require__(62),_accessGates=__webpack_require__(189),_accessScope=__webpack_require__(513),_accessWrites=__webpack_require__(165),_createAccessHelpers=__webpack_require__(539),_audit=__webpack_require__(179);exports.handleFile=_handleFile.handleFile,exports.watchBucket=_watchBucket.watchBucket,exports.publishEvents=_publishEvents.publishEvents,exports.createFilters=_createFilters.createFilters,exports.createIncludes=_createIncludes.createIncludes,exports.createSort=_createSort.createSort,exports.findAll=_findAll.findAll,exports.checkModule=_accessRightsUtils.checkModule,exports.checkIsSuper=_accessRightsUtils.checkIsSuper,exports.getAccessRightsInfo=_accessRightsUtils.getAccessRightsInfo,exports.getDefaultBusinessIDInfo=_accessRightsUtils.getDefaultBusinessIDInfo,exports.getModuleInfo=_accessRightsUtils.getModuleInfo,exports.failure=_requestResponse.failure,exports.success=_requestResponse.success,exports.runMigrations=_migrations.runMigrations,exports.getCurrentUser=_requestResponse.getCurrentUser,exports.successHtml=_requestResponse.successHtml,exports.getCurrentUserNameFromCognitoEvent=_requestResponse.getCurrentUserNameFromCognitoEvent,exports.defaultFilters=_defaultFilters.defaultFilters,exports.accessRightsUtils=_accessRightsUtils.accessRightsUtils,exports.parseBody=_requestResponse.parseBody,exports.parseEvent=_requestResponse.parseEvent,exports.getBusinessesInfo=_accessRightsUtils.getBusinessesInfo,exports.userDefaultBid=_accessRightsUtils.userDefaultBid,exports.checkWriteAccess=_accessRightsUtils.checkWriteAccess,exports.isSystemUser=_accessRightsUtils.isSystemUser,exports.isSuperUser=_accessRightsUtils.isSuperUser,exports.isPartnerUser=_accessRightsUtils.isPartnerUser,exports.getBelongsToPartnerId=_accessRightsUtils.getBelongsToPartnerId,exports.getEffectivePartnerId=_accessRightsUtils.getEffectivePartnerId,exports.enrichEventWithPartnerAccess=_accessRightsUtils.enrichEventWithPartnerAccess,exports.getCompanySettings=_accessRightsUtils.getCompanySettings,exports.resolveAccess=_accessContext.resolveAccess,exports.ensurePartnerScope=_accessContext.ensurePartnerScope,exports.requireCrmAccess=_accessGates.requireCrmAccess,exports.requireTicketAccess=_accessGates.requireTicketAccess,exports.requireSuper=_accessGates.requireSuper,exports.scopeToOwnBusiness=_accessScope.scopeToOwnBusiness,exports.scopeToPartnerBook=_accessScope.scopeToPartnerBook,exports.scopeToBookUnionOwn=_accessScope.scopeToBookUnionOwn,exports.assertCanWriteOwnBusiness=_accessWrites.assertCanWriteOwnBusiness,exports.assertCanWriteBookBusiness=_accessWrites.assertCanWriteBookBusiness,exports.assertCanWriteBookUnionOwn=_accessWrites.assertCanWriteBookUnionOwn,exports.stampOwnBusinessId=_accessWrites.stampOwnBusinessId,exports.createAccessHelpers=_createAccessHelpers.createAccessHelpers,exports.attachAudit=_audit.attachAudit,exports.bindAuditRequest=_audit.bindAuditRequest,exports.bindAuditRequestForUser=_audit.bindAuditRequestForUser,exports.decrementWithAudit=_audit.decrementWithAudit,exports.getAuditFilter=_audit.getAuditFilter,exports.getAuditModel=_audit.getAuditModel,exports.incrementWithAudit=_audit.incrementWithAudit})();var __webpack_export_target__=exports;for(var __webpack_i__ in __webpack_exports__)__webpack_export_target__[__webpack_i__]=__webpack_exports__[__webpack_i__];__webpack_exports__.__esModule&&Object.defineProperty(__webpack_export_target__,"__esModule",{value:!0})
|
|
949
|
+
(()=>{var exports=__webpack_exports__;Object.defineProperty(exports,"__esModule",{value:!0}),exports.watchBucket=exports.userDefaultBid=exports.successHtml=exports.success=exports.stampOwnBusinessId=exports.scopeToPartnerBook=exports.scopeToOwnBusiness=exports.scopeToBookUnionOwn=exports.runMigrations=exports.resolveAccess=exports.requireTicketAccess=exports.requireSuper=exports.requireCrmAccess=exports.publishEvents=exports.parseEvent=exports.parseBody=exports.isSystemUser=exports.isSuperUser=exports.isPartnerUser=exports.isContractChoice=exports.incrementWithAudit=exports.handleFile=exports.getModuleInfo=exports.getEffectivePartnerId=exports.getDefaultBusinessIDInfo=exports.getCurrentUserNameFromCognitoEvent=exports.getCurrentUser=exports.getCompanySettings=exports.getBusinessesInfo=exports.getBelongsToPartnerId=exports.getAuditModel=exports.getAuditFilter=exports.getAccessRightsInfo=exports.findAll=exports.failure=exports.ensurePartnerScope=exports.enrichEventWithPartnerAccess=exports.defaultFilters=exports.decrementWithAudit=exports.createSort=exports.createIncludes=exports.createFilters=exports.createAccessHelpers=exports.contractStatuses=exports.contractChoices=exports.checkWriteAccess=exports.checkModule=exports.checkIsSuper=exports.bindAuditRequestForUser=exports.bindAuditRequest=exports.attachAudit=exports.assertCanWriteOwnBusiness=exports.assertCanWriteBookUnionOwn=exports.assertCanWriteBookBusiness=exports.accessRightsUtils=void 0;var _handleFile=__webpack_require__(876),_watchBucket=__webpack_require__(183),_publishEvents=__webpack_require__(864),_createIncludes=__webpack_require__(982),_createFilters=__webpack_require__(288),_createSort=__webpack_require__(835),_findAll=__webpack_require__(981),_accessRightsUtils=__webpack_require__(673),_requestResponse=__webpack_require__(859),_migrations=__webpack_require__(871),_defaultFilters=__webpack_require__(207),_accessContext=__webpack_require__(62),_accessGates=__webpack_require__(189),_accessScope=__webpack_require__(513),_accessWrites=__webpack_require__(165),_createAccessHelpers=__webpack_require__(539),_contract=__webpack_require__(269),_audit=__webpack_require__(179);exports.handleFile=_handleFile.handleFile,exports.watchBucket=_watchBucket.watchBucket,exports.publishEvents=_publishEvents.publishEvents,exports.createFilters=_createFilters.createFilters,exports.createIncludes=_createIncludes.createIncludes,exports.createSort=_createSort.createSort,exports.findAll=_findAll.findAll,exports.checkModule=_accessRightsUtils.checkModule,exports.checkIsSuper=_accessRightsUtils.checkIsSuper,exports.getAccessRightsInfo=_accessRightsUtils.getAccessRightsInfo,exports.getDefaultBusinessIDInfo=_accessRightsUtils.getDefaultBusinessIDInfo,exports.getModuleInfo=_accessRightsUtils.getModuleInfo,exports.failure=_requestResponse.failure,exports.success=_requestResponse.success,exports.runMigrations=_migrations.runMigrations,exports.getCurrentUser=_requestResponse.getCurrentUser,exports.successHtml=_requestResponse.successHtml,exports.getCurrentUserNameFromCognitoEvent=_requestResponse.getCurrentUserNameFromCognitoEvent,exports.defaultFilters=_defaultFilters.defaultFilters,exports.accessRightsUtils=_accessRightsUtils.accessRightsUtils,exports.parseBody=_requestResponse.parseBody,exports.parseEvent=_requestResponse.parseEvent,exports.getBusinessesInfo=_accessRightsUtils.getBusinessesInfo,exports.userDefaultBid=_accessRightsUtils.userDefaultBid,exports.checkWriteAccess=_accessRightsUtils.checkWriteAccess,exports.isSystemUser=_accessRightsUtils.isSystemUser,exports.isSuperUser=_accessRightsUtils.isSuperUser,exports.isPartnerUser=_accessRightsUtils.isPartnerUser,exports.getBelongsToPartnerId=_accessRightsUtils.getBelongsToPartnerId,exports.getEffectivePartnerId=_accessRightsUtils.getEffectivePartnerId,exports.enrichEventWithPartnerAccess=_accessRightsUtils.enrichEventWithPartnerAccess,exports.getCompanySettings=_accessRightsUtils.getCompanySettings,exports.resolveAccess=_accessContext.resolveAccess,exports.ensurePartnerScope=_accessContext.ensurePartnerScope,exports.requireCrmAccess=_accessGates.requireCrmAccess,exports.requireTicketAccess=_accessGates.requireTicketAccess,exports.requireSuper=_accessGates.requireSuper,exports.scopeToOwnBusiness=_accessScope.scopeToOwnBusiness,exports.scopeToPartnerBook=_accessScope.scopeToPartnerBook,exports.scopeToBookUnionOwn=_accessScope.scopeToBookUnionOwn,exports.assertCanWriteOwnBusiness=_accessWrites.assertCanWriteOwnBusiness,exports.assertCanWriteBookBusiness=_accessWrites.assertCanWriteBookBusiness,exports.assertCanWriteBookUnionOwn=_accessWrites.assertCanWriteBookUnionOwn,exports.stampOwnBusinessId=_accessWrites.stampOwnBusinessId,exports.createAccessHelpers=_createAccessHelpers.createAccessHelpers,exports.attachAudit=_audit.attachAudit,exports.bindAuditRequest=_audit.bindAuditRequest,exports.bindAuditRequestForUser=_audit.bindAuditRequestForUser,exports.decrementWithAudit=_audit.decrementWithAudit,exports.getAuditFilter=_audit.getAuditFilter,exports.getAuditModel=_audit.getAuditModel,exports.incrementWithAudit=_audit.incrementWithAudit,exports.contractChoices=_contract.contractChoices,exports.contractStatuses=_contract.contractStatuses,exports.isContractChoice=_contract.isContractChoice})();var __webpack_export_target__=exports;for(var __webpack_i__ in __webpack_exports__)__webpack_export_target__[__webpack_i__]=__webpack_exports__[__webpack_i__];__webpack_exports__.__esModule&&Object.defineProperty(__webpack_export_target__,"__esModule",{value:!0})
|
|
891
950
|
/******/})();
|
|
892
951
|
//# sourceMappingURL=main.js.map
|