@mybuildex/pkg 0.10.3 → 0.12.0
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/README.md +34 -0
- package/dist/acl/map.generated.js +30 -0
- package/dist/acl/map.generated.js.map +1 -1
- package/dist/acl/plugin.d.ts +7 -0
- package/dist/acl/plugin.js +15 -0
- package/dist/acl/plugin.js.map +1 -1
- package/dist/index.d.ts +7 -1
- package/dist/index.js +34 -1
- package/dist/index.js.map +1 -1
- package/dist/network/context.d.ts +70 -0
- package/dist/network/context.js +196 -0
- package/dist/network/context.js.map +1 -0
- package/dist/network/plugin.d.ts +21 -0
- package/dist/network/plugin.js +222 -0
- package/dist/network/plugin.js.map +1 -0
- package/dist/network/replication.d.ts +86 -0
- package/dist/network/replication.js +328 -0
- package/dist/network/replication.js.map +1 -0
- package/package.json +1 -1
package/dist/acl/plugin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/acl/plugin.ts"],"names":[],"mappings":";AAAA,6BAA6B;AAC7B,EAAE;AACF,2BAA2B;AAC3B,EAAE;AACF,yDAAyD;AACzD,4EAA4E;AAC5E,EAAE;AACF,oDAAoD;AACpD,kDAAkD;AAClD,kFAAkF;AAClF,QAAQ;AACR,EAAE;AACF,2EAA2E;AAC3E,uEAAuE;AACvE,2EAA2E;AAC3E,2EAA2E;AAC3E,8EAA8E;AAC9E,6EAA6E;AAC7E,eAAe;AACf,2EAA2E;AAC3E,8EAA8E;AAC9E,4BAA4B;AAC5B,EAAE;AACF,+EAA+E;AAC/E,6BAA6B;AAC7B,4EAA4E;AAC5E,yEAAyE;AACzE,uDAAuD;AACvD,4EAA4E;;;AA6B5E,4CAMC;AAyDD,0CAgCC;AAGD,8CAiBC;AAmBD,oCAwDC;
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../src/acl/plugin.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -41,9 +41,15 @@ export { ACL_MAP } from "./acl/map.generated";
|
|
|
41
41
|
export { checkAcl, aclEntryIds, resolveAclRule, evaluateAclRule, AclConfigError } from "./acl/check";
|
|
42
42
|
export { TEACHER_ACLS, STUDENT_ACLS, RESPONSIBLE_ACLS, ROLE_ALIASES, isRoleName, isSingleRoleList, hasAclName, hasAnyOf, FUNCTION_ROLE_PAIRS, FUNCTION_ROLES, FUNCTION_ROLE_ALIASES, isFunctionRoleName } from "./acl/roles";
|
|
43
43
|
export type { AclMap, AclRule, ResolvedAclRule } from "./acl/check";
|
|
44
|
-
export { createAclPlugin, useModuleAcl, getAclRouteReport, DEFAULT_ACL_ACTIONS, ACL_ACTION_FALLBACK, defaultAclAction } from "./acl/plugin";
|
|
44
|
+
export { createAclPlugin, useModuleAcl, getAclRouteReport, aclEnforces, DEFAULT_ACL_ACTIONS, ACL_ACTION_FALLBACK, defaultAclAction } from "./acl/plugin";
|
|
45
45
|
export { aclAllows } from "./acl/allows";
|
|
46
46
|
export type { AclMode, AclPluginOptions, AclRouteInfo, UseModuleAclOptions } from "./acl/plugin";
|
|
47
47
|
export { createAuditPlugin, createAuditExtension, createAuditQueryHandler, withAudit, auditEnabled, auditRaw, runInAuditContext, getAuditContext, writeEntries, auditRow, auditDate, resolveAuditActor, clearAuditActorCache, createForbiddenThrottle, AUDIT_COLUMNS, AUDIT_WRITE_OPERATIONS, } from "./audit/audit";
|
|
48
48
|
export type { AuditOptions, AuditPluginOptions, AuditOrigin, AuditEntry, AuditBaseClient, AuditActor } from "./audit/audit";
|
|
49
49
|
export { sanitizeForAudit, auditJson, changedFields, onlyChanged, DEFAULT_MASK_KEYS } from "./audit/serialize";
|
|
50
|
+
export { createNetworkPlugin, routeTable, routeAction, ROUTE_KEY_ACTIONS, METHOD_ACTIONS, } from "./network/plugin";
|
|
51
|
+
export type { NetworkPluginOptions } from "./network/plugin";
|
|
52
|
+
export { NETWORK_ACTIONS, NETWORK_FLAG_KEY, idKey, standaloneContext, coreDatabaseOf, schoolDatabaseOf, hasNetworkFlag, loadNetworkContext, resolvePolicy, networkAllows, effectivePermissions, createNetworkContextCache, } from "./network/context";
|
|
53
|
+
export type { NetworkAction, NetworkRole, NetworkPolicy, NetworkContext, NetworkSqlClient, NetworkPermissions } from "./network/context";
|
|
54
|
+
export { NETWORK_WRITE_OPERATIONS, NEVER_REPLICATED, PROTECTED_ROWS, MAX_TRACKED_ROWS, createTableMetaCache, flattenWhere, NetworkWrites, trackWrites, buildSyncStatements, syncWrites, } from "./network/replication";
|
|
55
|
+
export type { TableMeta, TrackOptions, SyncStatement, SyncResult } from "./network/replication";
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.DEFAULT_REDIS_CONNECT_TIMEOUT_MS = exports.resolveRedisOptions = exports.createRedisClient = exports.permissionsVersionKey = exports.permissionsCacheKey = exports.invalidatePermissionsCache = exports.defaultPermissionsQuery = exports.createPermissionsResolver = exports.EMBED_MODEL = exports.GEMINI_MODEL = exports.EMBED_DIM = exports.GeminiHelp = exports.createGcfHandler = exports.TRACE_MAX_CHARS = exports.resumirTrace = exports.isInternalError = exports.createErrorHandler = exports.getBucket = exports.getDefaultAuth = exports.getTenantAuth = exports.initFirebaseAdmin = exports.getFirebaseStorage = exports.getFirebaseClientApp = exports.createFirebaseClientPlugin = exports.createSwaggerPlugin = exports.DEFAULT_CORS = exports.createCorsPlugin = exports.withTenantSchema = exports.createMultitenantPrismaMariaDb = exports.resolveStatementTimeout = exports.createMultitenantPrisma = exports.createAsyncSendGuard = exports.createCompressPlugin = exports.createSharedSecretGuard = exports.safeEqual = exports.isPublicRoute = exports.publicPath = exports.publicRoute = exports.RequestScopeError = exports.runInRequestScope = exports.getRequestScope = exports.requestScoped = exports.createRequestScopePlugin = exports.createTenantMembershipAssert = exports.canonicalRequestPath = exports.createAuthMiddleware = exports.InvalidTenantError = exports.createTenantMiddleware = exports.readRawTenantId = exports.resolveTenantId = void 0;
|
|
4
|
-
exports.DEFAULT_MASK_KEYS = exports.onlyChanged = exports.changedFields = exports.auditJson = exports.sanitizeForAudit = exports.AUDIT_WRITE_OPERATIONS = exports.AUDIT_COLUMNS = exports.createForbiddenThrottle = exports.clearAuditActorCache = exports.resolveAuditActor = exports.auditDate = exports.auditRow = exports.writeEntries = exports.getAuditContext = exports.runInAuditContext = exports.auditRaw = exports.auditEnabled = exports.withAudit = exports.createAuditQueryHandler = exports.createAuditExtension = exports.createAuditPlugin = exports.aclAllows = exports.defaultAclAction = exports.ACL_ACTION_FALLBACK = exports.DEFAULT_ACL_ACTIONS = exports.getAclRouteReport = exports.useModuleAcl = exports.createAclPlugin = exports.isFunctionRoleName = exports.FUNCTION_ROLE_ALIASES = exports.FUNCTION_ROLES = exports.FUNCTION_ROLE_PAIRS = exports.hasAnyOf = exports.hasAclName = exports.isSingleRoleList = exports.isRoleName = exports.ROLE_ALIASES = exports.RESPONSIBLE_ACLS = exports.STUDENT_ACLS = exports.TEACHER_ACLS = exports.AclConfigError = exports.evaluateAclRule = exports.resolveAclRule = exports.aclEntryIds = exports.checkAcl = exports.ACL_MAP = void 0;
|
|
4
|
+
exports.routeAction = exports.routeTable = exports.createNetworkPlugin = exports.DEFAULT_MASK_KEYS = exports.onlyChanged = exports.changedFields = exports.auditJson = exports.sanitizeForAudit = exports.AUDIT_WRITE_OPERATIONS = exports.AUDIT_COLUMNS = exports.createForbiddenThrottle = exports.clearAuditActorCache = exports.resolveAuditActor = exports.auditDate = exports.auditRow = exports.writeEntries = exports.getAuditContext = exports.runInAuditContext = exports.auditRaw = exports.auditEnabled = exports.withAudit = exports.createAuditQueryHandler = exports.createAuditExtension = exports.createAuditPlugin = exports.aclAllows = exports.defaultAclAction = exports.ACL_ACTION_FALLBACK = exports.DEFAULT_ACL_ACTIONS = exports.aclEnforces = exports.getAclRouteReport = exports.useModuleAcl = exports.createAclPlugin = exports.isFunctionRoleName = exports.FUNCTION_ROLE_ALIASES = exports.FUNCTION_ROLES = exports.FUNCTION_ROLE_PAIRS = exports.hasAnyOf = exports.hasAclName = exports.isSingleRoleList = exports.isRoleName = exports.ROLE_ALIASES = exports.RESPONSIBLE_ACLS = exports.STUDENT_ACLS = exports.TEACHER_ACLS = exports.AclConfigError = exports.evaluateAclRule = exports.resolveAclRule = exports.aclEntryIds = exports.checkAcl = exports.ACL_MAP = void 0;
|
|
5
|
+
exports.syncWrites = exports.buildSyncStatements = exports.trackWrites = exports.NetworkWrites = exports.flattenWhere = exports.createTableMetaCache = exports.MAX_TRACKED_ROWS = exports.PROTECTED_ROWS = exports.NEVER_REPLICATED = exports.NETWORK_WRITE_OPERATIONS = exports.createNetworkContextCache = exports.effectivePermissions = exports.networkAllows = exports.resolvePolicy = exports.loadNetworkContext = exports.hasNetworkFlag = exports.schoolDatabaseOf = exports.coreDatabaseOf = exports.standaloneContext = exports.idKey = exports.NETWORK_FLAG_KEY = exports.NETWORK_ACTIONS = exports.METHOD_ACTIONS = exports.ROUTE_KEY_ACTIONS = void 0;
|
|
5
6
|
var resolve_1 = require("./tenant/resolve");
|
|
6
7
|
Object.defineProperty(exports, "resolveTenantId", { enumerable: true, get: function () { return resolve_1.resolveTenantId; } });
|
|
7
8
|
Object.defineProperty(exports, "readRawTenantId", { enumerable: true, get: function () { return resolve_1.readRawTenantId; } });
|
|
@@ -100,6 +101,7 @@ var plugin_3 = require("./acl/plugin");
|
|
|
100
101
|
Object.defineProperty(exports, "createAclPlugin", { enumerable: true, get: function () { return plugin_3.createAclPlugin; } });
|
|
101
102
|
Object.defineProperty(exports, "useModuleAcl", { enumerable: true, get: function () { return plugin_3.useModuleAcl; } });
|
|
102
103
|
Object.defineProperty(exports, "getAclRouteReport", { enumerable: true, get: function () { return plugin_3.getAclRouteReport; } });
|
|
104
|
+
Object.defineProperty(exports, "aclEnforces", { enumerable: true, get: function () { return plugin_3.aclEnforces; } });
|
|
103
105
|
Object.defineProperty(exports, "DEFAULT_ACL_ACTIONS", { enumerable: true, get: function () { return plugin_3.DEFAULT_ACL_ACTIONS; } });
|
|
104
106
|
Object.defineProperty(exports, "ACL_ACTION_FALLBACK", { enumerable: true, get: function () { return plugin_3.ACL_ACTION_FALLBACK; } });
|
|
105
107
|
Object.defineProperty(exports, "defaultAclAction", { enumerable: true, get: function () { return plugin_3.defaultAclAction; } });
|
|
@@ -128,4 +130,35 @@ Object.defineProperty(exports, "auditJson", { enumerable: true, get: function ()
|
|
|
128
130
|
Object.defineProperty(exports, "changedFields", { enumerable: true, get: function () { return serialize_1.changedFields; } });
|
|
129
131
|
Object.defineProperty(exports, "onlyChanged", { enumerable: true, get: function () { return serialize_1.onlyChanged; } });
|
|
130
132
|
Object.defineProperty(exports, "DEFAULT_MASK_KEYS", { enumerable: true, get: function () { return serialize_1.DEFAULT_MASK_KEYS; } });
|
|
133
|
+
// ---- governança de rede de escolas (matriz/filial; flag REDE + regras do core) ----
|
|
134
|
+
var plugin_4 = require("./network/plugin");
|
|
135
|
+
Object.defineProperty(exports, "createNetworkPlugin", { enumerable: true, get: function () { return plugin_4.createNetworkPlugin; } });
|
|
136
|
+
Object.defineProperty(exports, "routeTable", { enumerable: true, get: function () { return plugin_4.routeTable; } });
|
|
137
|
+
Object.defineProperty(exports, "routeAction", { enumerable: true, get: function () { return plugin_4.routeAction; } });
|
|
138
|
+
Object.defineProperty(exports, "ROUTE_KEY_ACTIONS", { enumerable: true, get: function () { return plugin_4.ROUTE_KEY_ACTIONS; } });
|
|
139
|
+
Object.defineProperty(exports, "METHOD_ACTIONS", { enumerable: true, get: function () { return plugin_4.METHOD_ACTIONS; } });
|
|
140
|
+
var context_1 = require("./network/context");
|
|
141
|
+
Object.defineProperty(exports, "NETWORK_ACTIONS", { enumerable: true, get: function () { return context_1.NETWORK_ACTIONS; } });
|
|
142
|
+
Object.defineProperty(exports, "NETWORK_FLAG_KEY", { enumerable: true, get: function () { return context_1.NETWORK_FLAG_KEY; } });
|
|
143
|
+
Object.defineProperty(exports, "idKey", { enumerable: true, get: function () { return context_1.idKey; } });
|
|
144
|
+
Object.defineProperty(exports, "standaloneContext", { enumerable: true, get: function () { return context_1.standaloneContext; } });
|
|
145
|
+
Object.defineProperty(exports, "coreDatabaseOf", { enumerable: true, get: function () { return context_1.coreDatabaseOf; } });
|
|
146
|
+
Object.defineProperty(exports, "schoolDatabaseOf", { enumerable: true, get: function () { return context_1.schoolDatabaseOf; } });
|
|
147
|
+
Object.defineProperty(exports, "hasNetworkFlag", { enumerable: true, get: function () { return context_1.hasNetworkFlag; } });
|
|
148
|
+
Object.defineProperty(exports, "loadNetworkContext", { enumerable: true, get: function () { return context_1.loadNetworkContext; } });
|
|
149
|
+
Object.defineProperty(exports, "resolvePolicy", { enumerable: true, get: function () { return context_1.resolvePolicy; } });
|
|
150
|
+
Object.defineProperty(exports, "networkAllows", { enumerable: true, get: function () { return context_1.networkAllows; } });
|
|
151
|
+
Object.defineProperty(exports, "effectivePermissions", { enumerable: true, get: function () { return context_1.effectivePermissions; } });
|
|
152
|
+
Object.defineProperty(exports, "createNetworkContextCache", { enumerable: true, get: function () { return context_1.createNetworkContextCache; } });
|
|
153
|
+
var replication_1 = require("./network/replication");
|
|
154
|
+
Object.defineProperty(exports, "NETWORK_WRITE_OPERATIONS", { enumerable: true, get: function () { return replication_1.NETWORK_WRITE_OPERATIONS; } });
|
|
155
|
+
Object.defineProperty(exports, "NEVER_REPLICATED", { enumerable: true, get: function () { return replication_1.NEVER_REPLICATED; } });
|
|
156
|
+
Object.defineProperty(exports, "PROTECTED_ROWS", { enumerable: true, get: function () { return replication_1.PROTECTED_ROWS; } });
|
|
157
|
+
Object.defineProperty(exports, "MAX_TRACKED_ROWS", { enumerable: true, get: function () { return replication_1.MAX_TRACKED_ROWS; } });
|
|
158
|
+
Object.defineProperty(exports, "createTableMetaCache", { enumerable: true, get: function () { return replication_1.createTableMetaCache; } });
|
|
159
|
+
Object.defineProperty(exports, "flattenWhere", { enumerable: true, get: function () { return replication_1.flattenWhere; } });
|
|
160
|
+
Object.defineProperty(exports, "NetworkWrites", { enumerable: true, get: function () { return replication_1.NetworkWrites; } });
|
|
161
|
+
Object.defineProperty(exports, "trackWrites", { enumerable: true, get: function () { return replication_1.trackWrites; } });
|
|
162
|
+
Object.defineProperty(exports, "buildSyncStatements", { enumerable: true, get: function () { return replication_1.buildSyncStatements; } });
|
|
163
|
+
Object.defineProperty(exports, "syncWrites", { enumerable: true, get: function () { return replication_1.syncWrites; } });
|
|
131
164
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;AAAA,4CAAkE;AAA1D,0GAAA,eAAe,OAAA;AAAE,0GAAA,eAAe,OAAA;AAGxC,kDAA+E;AAAvE,oHAAA,sBAAsB,OAAA;AAAE,gHAAA,kBAAkB,OAAA;AAGlD,sCAAyE;AAAjE,4GAAA,oBAAoB,OAAA;AAAE,4GAAA,oBAAoB,OAAA;AAGlD,kDAAiE;AAAzD,0HAAA,4BAA4B,OAAA;AAGpC,uDAAqI;AAA7H,yHAAA,wBAAwB,OAAA;AAAE,8GAAA,aAAa,OAAA;AAAE,gHAAA,eAAe,OAAA;AAAE,kHAAA,iBAAiB,OAAA;AAAE,kHAAA,iBAAiB,OAAA;AAGtG,oDAAsF;AAA9E,2GAAA,WAAW,OAAA;AAAE,0GAAA,UAAU,OAAA;AAAE,6GAAA,aAAa,OAAA;AAAE,yGAAA,SAAS,OAAA;AACzD,sDAA6D;AAArD,wHAAA,uBAAuB,OAAA;AAE/B,4CAA2E;AAAnE,gHAAA,oBAAoB,OAAA;AAAE,gHAAA,oBAAoB,OAAA;AAKlD,oDAAsF;AAA9E,sHAAA,uBAAuB,OAAA;AAAE,sHAAA,uBAAuB,OAAA;AACxD,4DAAwE;AAAhE,iIAAA,8BAA8B,OAAA;AAGtC,kDAAqD;AAA7C,8GAAA,gBAAgB,OAAA;AAUxB,wCAA6D;AAArD,0GAAA,gBAAgB,OAAA;AAAE,sGAAA,YAAY,OAAA;AAGtC,2CAAqD;AAA7C,6GAAA,mBAAmB,OAAA;AAG3B,0DAA8G;AAAtG,2HAAA,0BAA0B,OAAA;AAAE,qHAAA,oBAAoB,OAAA;AAAE,mHAAA,kBAAkB,OAAA;AAG5E,0CAA6F;AAArF,0GAAA,iBAAiB,OAAA;AAAE,sGAAA,aAAa,OAAA;AAAE,uGAAA,cAAc,OAAA;AAAE,kGAAA,SAAS,OAAA;AAGnE,sDAAwG;AAAhG,mHAAA,kBAAkB,OAAA;AAAE,gHAAA,eAAe,OAAA;AAAE,6GAAA,YAAY,OAAA;AAAE,gHAAA,eAAe,OAAA;AAG1E,kDAAoD;AAA5C,+GAAA,gBAAgB,OAAA;AAGxB,sCAA6E;AAArE,oGAAA,UAAU,OAAA;AAAE,mGAAA,SAAS,OAAA;AAAE,sGAAA,YAAY,OAAA;AAAE,qGAAA,WAAW,OAAA;AAExD,iGAAiG;AACjG,oDAM8B;AAL1B,wHAAA,yBAAyB,OAAA;AACzB,sHAAA,uBAAuB,OAAA;AACvB,yHAAA,0BAA0B,OAAA;AAC1B,kHAAA,mBAAmB,OAAA;AACnB,oHAAA,qBAAqB,OAAA;AAUzB,uEAAuE;AACvE,yCAAwG;AAAhG,2GAAA,iBAAiB,OAAA;AAAE,6GAAA,mBAAmB,OAAA;AAAE,0HAAA,gCAAgC,OAAA;AAGhF,oEAAoE;AACpE,qDAA4C;AAApC,wGAAA,OAAO,OAAA;AACf,qCAAmG;AAA3F,iGAAA,QAAQ,OAAA;AAAE,oGAAA,WAAW,OAAA;AAAE,uGAAA,cAAc,OAAA;AAAE,wGAAA,eAAe,OAAA;AAAE,uGAAA,cAAc,OAAA;AAC9E,qCAA2N;AAAnN,qGAAA,YAAY,OAAA;AAAE,qGAAA,YAAY,OAAA;AAAE,yGAAA,gBAAgB,OAAA;AAAE,qGAAA,YAAY,OAAA;AAAE,mGAAA,UAAU,OAAA;AAAE,yGAAA,gBAAgB,OAAA;AAAE,mGAAA,UAAU,OAAA;AAAE,iGAAA,QAAQ,OAAA;AAAE,4GAAA,mBAAmB,OAAA;AAAE,uGAAA,cAAc,OAAA;AAAE,8GAAA,qBAAqB,OAAA;AAAE,2GAAA,kBAAkB,OAAA;AAEtM,uCAAuJ;AAA/I,yGAAA,eAAe,OAAA;AAAE,sGAAA,YAAY,OAAA;AAAE,2GAAA,iBAAiB,OAAA;AAAE,qGAAA,WAAW,OAAA;AAAE,6GAAA,mBAAmB,OAAA;AAAE,6GAAA,mBAAmB,OAAA;AAAE,0GAAA,gBAAgB,OAAA;AACjI,uCAAuC;AAA/B,mGAAA,SAAS,OAAA;AAEjB,uCAiBuB;AAhBnB,0GAAA,iBAAiB,OAAA;AACjB,6GAAA,oBAAoB,OAAA;AACpB,gHAAA,uBAAuB,OAAA;AACvB,kGAAA,SAAS,OAAA;AACT,qGAAA,YAAY,OAAA;AACZ,iGAAA,QAAQ,OAAA;AACR,0GAAA,iBAAiB,OAAA;AACjB,wGAAA,eAAe,OAAA;AACf,qGAAA,YAAY,OAAA;AACZ,iGAAA,QAAQ,OAAA;AACR,kGAAA,SAAS,OAAA;AACT,0GAAA,iBAAiB,OAAA;AACjB,6GAAA,oBAAoB,OAAA;AACpB,gHAAA,uBAAuB,OAAA;AACvB,sGAAA,aAAa,OAAA;AACb,+GAAA,sBAAsB,OAAA;AAG1B,+CAA6G;AAArG,6GAAA,gBAAgB,OAAA;AAAE,sGAAA,SAAS,OAAA;AAAE,0GAAA,aAAa,OAAA;AAAE,wGAAA,WAAW,OAAA;AAAE,8GAAA,iBAAiB,OAAA;AAElF,sFAAsF;AACtF,2CAM0B;AALtB,6GAAA,mBAAmB,OAAA;AACnB,oGAAA,UAAU,OAAA;AACV,qGAAA,WAAW,OAAA;AACX,2GAAA,iBAAiB,OAAA;AACjB,wGAAA,cAAc,OAAA;AAGlB,6CAa2B;AAZvB,0GAAA,eAAe,OAAA;AACf,2GAAA,gBAAgB,OAAA;AAChB,gGAAA,KAAK,OAAA;AACL,4GAAA,iBAAiB,OAAA;AACjB,yGAAA,cAAc,OAAA;AACd,2GAAA,gBAAgB,OAAA;AAChB,yGAAA,cAAc,OAAA;AACd,6GAAA,kBAAkB,OAAA;AAClB,wGAAA,aAAa,OAAA;AACb,wGAAA,aAAa,OAAA;AACb,+GAAA,oBAAoB,OAAA;AACpB,oHAAA,yBAAyB,OAAA;AAG7B,qDAW+B;AAV3B,uHAAA,wBAAwB,OAAA;AACxB,+GAAA,gBAAgB,OAAA;AAChB,6GAAA,cAAc,OAAA;AACd,+GAAA,gBAAgB,OAAA;AAChB,mHAAA,oBAAoB,OAAA;AACpB,2GAAA,YAAY,OAAA;AACZ,4GAAA,aAAa,OAAA;AACb,0GAAA,WAAW,OAAA;AACX,kHAAA,mBAAmB,OAAA;AACnB,yGAAA,UAAU,OAAA"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
export type NetworkAction = "read" | "add" | "edit" | "remove" | "restore" | "delete";
|
|
2
|
+
export type NetworkRole = "standalone" | "matriz" | "filial";
|
|
3
|
+
export declare const NETWORK_ACTIONS: readonly NetworkAction[];
|
|
4
|
+
/** Regra normalizada (ids como string; "" = NULL). */
|
|
5
|
+
export interface NetworkPolicy {
|
|
6
|
+
school: string;
|
|
7
|
+
module: string;
|
|
8
|
+
resource: string;
|
|
9
|
+
action: string;
|
|
10
|
+
allowed: boolean;
|
|
11
|
+
}
|
|
12
|
+
export interface NetworkContext {
|
|
13
|
+
idSchool: string;
|
|
14
|
+
role: NetworkRole;
|
|
15
|
+
idNetwork: string | null;
|
|
16
|
+
idMatriz: string | null;
|
|
17
|
+
/** Só na matriz: as outras escolas da rede com banco próprio (is_plataform = 1). */
|
|
18
|
+
filiais: string[];
|
|
19
|
+
/** Catálogo: tabela -> módulo, só dos módulos ativos. */
|
|
20
|
+
moduleOf: Map<string, string>;
|
|
21
|
+
/** Só na filial: as regras da rede. */
|
|
22
|
+
policies: NetworkPolicy[];
|
|
23
|
+
}
|
|
24
|
+
/** O que o contexto precisa do client do tenant (Prisma real ou o falso dos testes). */
|
|
25
|
+
export interface NetworkSqlClient {
|
|
26
|
+
$schema?: string;
|
|
27
|
+
$queryRawUnsafe(sql: string, ...params: any[]): Promise<any>;
|
|
28
|
+
configs: {
|
|
29
|
+
findFirst(args: any): Promise<any>;
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
export declare const NETWORK_FLAG_KEY = "REDE";
|
|
33
|
+
/** "1", 1n, null... -> "1" / "" (como o networks.IDKey do core). */
|
|
34
|
+
export declare function idKey(v: unknown): string;
|
|
35
|
+
export declare function standaloneContext(idSchool: string): NetworkContext;
|
|
36
|
+
/**
|
|
37
|
+
* Banco core do ambiente a partir do banco da escola: my_builder_dev_school_8
|
|
38
|
+
* -> my_builder_dev_core (dev, qa, sandbox) e my_builder_school_8 ->
|
|
39
|
+
* my_builder_core (prod). A env CORE_DATABASE sobrescreve.
|
|
40
|
+
*/
|
|
41
|
+
export declare function coreDatabaseOf(schoolSchema: string | undefined, env?: string | undefined): string;
|
|
42
|
+
/** Banco de outra escola do mesmo ambiente: troca o sufixo _school_N. */
|
|
43
|
+
export declare function schoolDatabaseOf(schoolSchema: string, idSchool: string): string;
|
|
44
|
+
/** Flag REDE ativa no banco da escola: existe e vale TRUE. */
|
|
45
|
+
export declare function hasNetworkFlag(prisma: NetworkSqlClient): Promise<boolean>;
|
|
46
|
+
/** Lê do core o papel da escola na rede, o catálogo e (filial) as regras. */
|
|
47
|
+
export declare function loadNetworkContext(prisma: NetworkSqlClient, idSchool: string): Promise<NetworkContext>;
|
|
48
|
+
/** A filial `school` pode `action` na tabela `resource` (do módulo `module`)? */
|
|
49
|
+
export declare function resolvePolicy(policies: NetworkPolicy[], school: string, resource: string, module: string, action: string): boolean;
|
|
50
|
+
/** Veredito da rede para a escola do contexto. Matriz, standalone e tabela fora do catálogo: permitido. */
|
|
51
|
+
export declare function networkAllows(ctx: NetworkContext, resource: string, action: NetworkAction): boolean;
|
|
52
|
+
/** Permissões de uma tabela do catálogo, uma por ação. */
|
|
53
|
+
export type NetworkPermissions = Record<NetworkAction, boolean>;
|
|
54
|
+
/**
|
|
55
|
+
* Permissões efetivas da escola em cada tabela do catálogo, no formato do
|
|
56
|
+
* GET /effective do core: {states: {read: true, add: false, ...}}. Tabela
|
|
57
|
+
* fora do mapa = permitida (standalone e matriz devolvem tudo true).
|
|
58
|
+
*/
|
|
59
|
+
export declare function effectivePermissions(ctx: NetworkContext): Record<string, NetworkPermissions>;
|
|
60
|
+
/**
|
|
61
|
+
* Cache do contexto por banco de escola (TTL curto: regra alterada no core
|
|
62
|
+
* vale em até ttlMs). Guarda a promise para requests simultâneas da mesma
|
|
63
|
+
* escola dividirem a consulta; falha não fica em cache.
|
|
64
|
+
*/
|
|
65
|
+
export declare function createNetworkContextCache(ttlMs: number, load?: typeof loadNetworkContext): {
|
|
66
|
+
get(prisma: NetworkSqlClient, idSchool: string): Promise<NetworkContext>;
|
|
67
|
+
/** Último contexto bom da escola (undefined se nunca carregou). */
|
|
68
|
+
stale(prisma: NetworkSqlClient, idSchool: string): NetworkContext | undefined;
|
|
69
|
+
clear(): void;
|
|
70
|
+
};
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Governança de rede de escolas (cadastro no core: mybuilder-mysql
|
|
3
|
+
// 2026_10_04_100000_networks; telas no admin-front).
|
|
4
|
+
//
|
|
5
|
+
// A escola sabe que está numa rede pela flag REDE no PRÓPRIO banco
|
|
6
|
+
// (configs.key = 'REDE', value = 'TRUE', gravada pelo core Go). Sem a flag
|
|
7
|
+
// nada muda e o core nem é consultado. Com ela, as regras vêm do banco CORE,
|
|
8
|
+
// que esta API não mapeia no Prisma: SQL cru qualificado
|
|
9
|
+
// (`my_builder_<env>_core`.`tabela`) pelo mesmo pool das escolas.
|
|
10
|
+
//
|
|
11
|
+
// matriz pode tudo; o que ela grava nas tabelas do catálogo de módulos
|
|
12
|
+
// é replicado nas filiais (replication.ts)
|
|
13
|
+
// filial cada ação (read/add/edit/remove/restore/delete) em tabela do
|
|
14
|
+
// catálogo passa pelas networks_policies — ACIMA da ACL da
|
|
15
|
+
// escola: a regra da rede nega mesmo com a permissão do usuário
|
|
16
|
+
// standalone sem flag, sem vínculo ou rede removida (soft delete): nada muda
|
|
17
|
+
//
|
|
18
|
+
// Resolução (espelho de networks_policies.Resolve no core Go), a mais
|
|
19
|
+
// específica vence: escola+tabela > escola+módulo > rede+tabela > rede+módulo
|
|
20
|
+
// > permitido. Tabela fora do catálogo é sempre permitida.
|
|
21
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
22
|
+
exports.NETWORK_FLAG_KEY = exports.NETWORK_ACTIONS = void 0;
|
|
23
|
+
exports.idKey = idKey;
|
|
24
|
+
exports.standaloneContext = standaloneContext;
|
|
25
|
+
exports.coreDatabaseOf = coreDatabaseOf;
|
|
26
|
+
exports.schoolDatabaseOf = schoolDatabaseOf;
|
|
27
|
+
exports.hasNetworkFlag = hasNetworkFlag;
|
|
28
|
+
exports.loadNetworkContext = loadNetworkContext;
|
|
29
|
+
exports.resolvePolicy = resolvePolicy;
|
|
30
|
+
exports.networkAllows = networkAllows;
|
|
31
|
+
exports.effectivePermissions = effectivePermissions;
|
|
32
|
+
exports.createNetworkContextCache = createNetworkContextCache;
|
|
33
|
+
exports.NETWORK_ACTIONS = ["read", "add", "edit", "remove", "restore", "delete"];
|
|
34
|
+
exports.NETWORK_FLAG_KEY = "REDE";
|
|
35
|
+
const IDENT_RE = /^[A-Za-z0-9_]+$/;
|
|
36
|
+
/** "1", 1n, null... -> "1" / "" (como o networks.IDKey do core). */
|
|
37
|
+
function idKey(v) {
|
|
38
|
+
if (v === null || v === undefined)
|
|
39
|
+
return "";
|
|
40
|
+
return String(v).trim();
|
|
41
|
+
}
|
|
42
|
+
function standaloneContext(idSchool) {
|
|
43
|
+
return { idSchool, role: "standalone", idNetwork: null, idMatriz: null, filiais: [], moduleOf: new Map(), policies: [] };
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Banco core do ambiente a partir do banco da escola: my_builder_dev_school_8
|
|
47
|
+
* -> my_builder_dev_core (dev, qa, sandbox) e my_builder_school_8 ->
|
|
48
|
+
* my_builder_core (prod). A env CORE_DATABASE sobrescreve.
|
|
49
|
+
*/
|
|
50
|
+
function coreDatabaseOf(schoolSchema, env = process.env.CORE_DATABASE) {
|
|
51
|
+
const name = env && env.trim() !== "" ? env.trim() : String(schoolSchema ?? "").replace(/_school_\d+$/, "_core");
|
|
52
|
+
if (!IDENT_RE.test(name) || !name.endsWith("_core")) {
|
|
53
|
+
throw new Error(`banco core não identificado a partir de "${schoolSchema}" (defina CORE_DATABASE)`);
|
|
54
|
+
}
|
|
55
|
+
return name;
|
|
56
|
+
}
|
|
57
|
+
/** Banco de outra escola do mesmo ambiente: troca o sufixo _school_N. */
|
|
58
|
+
function schoolDatabaseOf(schoolSchema, idSchool) {
|
|
59
|
+
if (!/^\d+$/.test(idSchool) || !/_school_\d+$/.test(schoolSchema)) {
|
|
60
|
+
throw new Error(`banco da escola ${idSchool} não identificado a partir de "${schoolSchema}"`);
|
|
61
|
+
}
|
|
62
|
+
return schoolSchema.replace(/_school_\d+$/, `_school_${idSchool}`);
|
|
63
|
+
}
|
|
64
|
+
/** Flag REDE ativa no banco da escola: existe e vale TRUE. */
|
|
65
|
+
async function hasNetworkFlag(prisma) {
|
|
66
|
+
const row = await prisma.configs.findFirst({
|
|
67
|
+
where: { key: exports.NETWORK_FLAG_KEY, deleted_at: null },
|
|
68
|
+
select: { value: true },
|
|
69
|
+
orderBy: { id: "asc" },
|
|
70
|
+
});
|
|
71
|
+
const value = String(row?.value ?? "").trim().toUpperCase();
|
|
72
|
+
return value === "TRUE" || value === "1";
|
|
73
|
+
}
|
|
74
|
+
function toAllowed(v) {
|
|
75
|
+
if (typeof v === "boolean")
|
|
76
|
+
return v;
|
|
77
|
+
if (Buffer.isBuffer(v))
|
|
78
|
+
return v[0] === 1;
|
|
79
|
+
return Number(v) === 1;
|
|
80
|
+
}
|
|
81
|
+
/** Lê do core o papel da escola na rede, o catálogo e (filial) as regras. */
|
|
82
|
+
async function loadNetworkContext(prisma, idSchool) {
|
|
83
|
+
const ctx = standaloneContext(idSchool);
|
|
84
|
+
if (!(await hasNetworkFlag(prisma)))
|
|
85
|
+
return ctx;
|
|
86
|
+
const core = `\`${coreDatabaseOf(prisma.$schema)}\``;
|
|
87
|
+
const q = async (sql, ...params) => (await prisma.$queryRawUnsafe(sql, ...params)) ?? [];
|
|
88
|
+
const [link] = await q(`SELECT t.* FROM ${core}.networks_schools t WHERE t.id_school = ?`, idSchool);
|
|
89
|
+
if (!link)
|
|
90
|
+
return ctx;
|
|
91
|
+
// rede removida (soft delete) não governa, como no /effective do core
|
|
92
|
+
const [network] = await q(`SELECT t.id, t.id_school_matriz FROM ${core}.networks t WHERE t.id = ? AND t.deleted_at IS NULL`, idKey(link.id_network));
|
|
93
|
+
if (!network)
|
|
94
|
+
return ctx;
|
|
95
|
+
ctx.idNetwork = idKey(network.id);
|
|
96
|
+
ctx.idMatriz = idKey(network.id_school_matriz) || null;
|
|
97
|
+
ctx.role = ctx.idMatriz === idSchool ? "matriz" : "filial";
|
|
98
|
+
const catalog = await q(`SELECT r.resource, r.id_module FROM ${core}.networks_modules_resources r` +
|
|
99
|
+
` INNER JOIN ${core}.networks_modules m ON m.id = r.id_module AND m.deleted_at IS NULL`);
|
|
100
|
+
for (const row of catalog)
|
|
101
|
+
ctx.moduleOf.set(String(row.resource), idKey(row.id_module));
|
|
102
|
+
if (ctx.role === "matriz") {
|
|
103
|
+
// só escola de plataforma tem banco próprio para receber a réplica
|
|
104
|
+
const members = await q(`SELECT t.id_school FROM ${core}.networks_schools t` +
|
|
105
|
+
` INNER JOIN ${core}.schools s ON s.id = t.id_school AND s.is_plataform = 1` +
|
|
106
|
+
` WHERE t.id_network = ? AND t.id_school <> ? ORDER BY t.id_school`, ctx.idNetwork, idSchool);
|
|
107
|
+
ctx.filiais = members.map(m => idKey(m.id_school)).filter(id => /^\d+$/.test(id));
|
|
108
|
+
}
|
|
109
|
+
else {
|
|
110
|
+
const rows = await q(`SELECT t.* FROM ${core}.networks_policies t WHERE t.id_network = ?`, ctx.idNetwork);
|
|
111
|
+
ctx.policies = rows.map(r => ({
|
|
112
|
+
school: idKey(r.id_school),
|
|
113
|
+
module: idKey(r.id_module),
|
|
114
|
+
resource: idKey(r.resource),
|
|
115
|
+
action: String(r.action ?? ""),
|
|
116
|
+
allowed: toAllowed(r.allowed),
|
|
117
|
+
}));
|
|
118
|
+
}
|
|
119
|
+
return ctx;
|
|
120
|
+
}
|
|
121
|
+
/** A filial `school` pode `action` na tabela `resource` (do módulo `module`)? */
|
|
122
|
+
function resolvePolicy(policies, school, resource, module, action) {
|
|
123
|
+
let schoolRes;
|
|
124
|
+
let schoolMod;
|
|
125
|
+
let netRes;
|
|
126
|
+
let netMod;
|
|
127
|
+
for (const p of policies) {
|
|
128
|
+
if (p.action !== action)
|
|
129
|
+
continue;
|
|
130
|
+
if (p.school === school && p.resource !== "" && p.resource === resource)
|
|
131
|
+
schoolRes = p.allowed;
|
|
132
|
+
else if (p.school === school && p.module !== "" && p.module === module)
|
|
133
|
+
schoolMod = p.allowed;
|
|
134
|
+
else if (p.school === "" && p.resource !== "" && p.resource === resource)
|
|
135
|
+
netRes = p.allowed;
|
|
136
|
+
else if (p.school === "" && p.module !== "" && p.module === module)
|
|
137
|
+
netMod = p.allowed;
|
|
138
|
+
}
|
|
139
|
+
return schoolRes ?? schoolMod ?? netRes ?? netMod ?? true;
|
|
140
|
+
}
|
|
141
|
+
/** Veredito da rede para a escola do contexto. Matriz, standalone e tabela fora do catálogo: permitido. */
|
|
142
|
+
function networkAllows(ctx, resource, action) {
|
|
143
|
+
if (ctx.role !== "filial")
|
|
144
|
+
return true;
|
|
145
|
+
const module = ctx.moduleOf.get(resource);
|
|
146
|
+
if (module === undefined)
|
|
147
|
+
return true;
|
|
148
|
+
return resolvePolicy(ctx.policies, ctx.idSchool, resource, module, action);
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Permissões efetivas da escola em cada tabela do catálogo, no formato do
|
|
152
|
+
* GET /effective do core: {states: {read: true, add: false, ...}}. Tabela
|
|
153
|
+
* fora do mapa = permitida (standalone e matriz devolvem tudo true).
|
|
154
|
+
*/
|
|
155
|
+
function effectivePermissions(ctx) {
|
|
156
|
+
const out = {};
|
|
157
|
+
for (const resource of [...ctx.moduleOf.keys()].sort()) {
|
|
158
|
+
out[resource] = Object.fromEntries(exports.NETWORK_ACTIONS.map(action => [action, networkAllows(ctx, resource, action)]));
|
|
159
|
+
}
|
|
160
|
+
return out;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Cache do contexto por banco de escola (TTL curto: regra alterada no core
|
|
164
|
+
* vale em até ttlMs). Guarda a promise para requests simultâneas da mesma
|
|
165
|
+
* escola dividirem a consulta; falha não fica em cache.
|
|
166
|
+
*/
|
|
167
|
+
function createNetworkContextCache(ttlMs, load = loadNetworkContext) {
|
|
168
|
+
const entries = new Map();
|
|
169
|
+
// último contexto carregado com sucesso, sem validade: com o core fora do
|
|
170
|
+
// ar ele ainda diz quais tabelas a rede governa (as de fora seguem só a ACL)
|
|
171
|
+
const lastGood = new Map();
|
|
172
|
+
const keyOf = (prisma, idSchool) => `${prisma.$schema ?? ""}#${idSchool}`;
|
|
173
|
+
return {
|
|
174
|
+
get(prisma, idSchool) {
|
|
175
|
+
const key = keyOf(prisma, idSchool);
|
|
176
|
+
const now = Date.now();
|
|
177
|
+
const hit = entries.get(key);
|
|
178
|
+
if (hit && hit.expires > now)
|
|
179
|
+
return hit.value;
|
|
180
|
+
const value = load(prisma, idSchool);
|
|
181
|
+
entries.set(key, { expires: now + ttlMs, value });
|
|
182
|
+
value.then((ctx) => { lastGood.set(key, ctx); }, () => { if (entries.get(key)?.value === value)
|
|
183
|
+
entries.delete(key); });
|
|
184
|
+
return value;
|
|
185
|
+
},
|
|
186
|
+
/** Último contexto bom da escola (undefined se nunca carregou). */
|
|
187
|
+
stale(prisma, idSchool) {
|
|
188
|
+
return lastGood.get(keyOf(prisma, idSchool));
|
|
189
|
+
},
|
|
190
|
+
clear() {
|
|
191
|
+
entries.clear();
|
|
192
|
+
lastGood.clear();
|
|
193
|
+
},
|
|
194
|
+
};
|
|
195
|
+
}
|
|
196
|
+
//# sourceMappingURL=context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/network/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { loadNetworkContext, NetworkAction } from "./context";
|
|
2
|
+
/** Ação da rede para cada constante do router (useModuleAcl grava em config.routeAcl.key). */
|
|
3
|
+
export declare const ROUTE_KEY_ACTIONS: Readonly<Record<string, NetworkAction>>;
|
|
4
|
+
/** Rota sem constante conhecida: decide pelo método. */
|
|
5
|
+
export declare const METHOD_ACTIONS: Readonly<Record<string, NetworkAction>>;
|
|
6
|
+
/** Tabela da rota: o segmento depois de /v1/:id_school (o NAME do router). */
|
|
7
|
+
export declare function routeTable(url: string | undefined): string | null;
|
|
8
|
+
export declare function routeAction(method: string, key: string | undefined): NetworkAction | null;
|
|
9
|
+
export interface NetworkPluginOptions {
|
|
10
|
+
/** Validade do contexto em cache (default env NETWORK_CACHE_TTL_MS ou 30 s). */
|
|
11
|
+
ttlMs?: number;
|
|
12
|
+
/** false desliga (default: env NETWORK_GOVERNANCE !== "off"). */
|
|
13
|
+
enabled?: boolean;
|
|
14
|
+
/** Log estruturado (default: JSON no console, para o Cloud Logging). */
|
|
15
|
+
logger?: (event: string, data: Record<string, unknown>) => void;
|
|
16
|
+
/** Carga do contexto (injetável para teste). */
|
|
17
|
+
load?: typeof loadNetworkContext;
|
|
18
|
+
}
|
|
19
|
+
export declare function createNetworkPlugin(options?: NetworkPluginOptions): ((fastify: any) => Promise<void>) & {
|
|
20
|
+
clearCache: () => void;
|
|
21
|
+
};
|