@geoly-ai/social-hub-authz 0.0.3 → 0.0.4
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/dist/index.d.ts +41 -6
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +261 -45
- package/dist/index.js.map +1 -1
- package/dist/index.test.js +134 -269
- package/dist/index.test.js.map +1 -1
- package/package.json +2 -2
package/dist/index.d.ts
CHANGED
|
@@ -1,11 +1,13 @@
|
|
|
1
1
|
export type Role = "internal" | "senior" | "supervisor" | "manager" | "client" | "admin";
|
|
2
|
-
export type Resource = "brand" | "campaign" | "socialAccount" | "task" | "publishingPlan" | "contentDraft" | "report" | "dashboardSummary" | "opReport" | "postSnapshot" | "postSnapshotStats" | "postSnapshotRefresh" | "postSnapshotImport" | "apiKey" | "cliAuthorization" | "cliTokenDuration" | "auditLog" | "compliance" | "subredditIntelligence" | "member" | "systemMember" | "systemBrand" | "systemCampaign" | "invite" | "systemSetting" | "permissionMatrix" | "agentTeam" | "notificationChannel" | "browserEnvironment" | "brandMember" | "campaignAccount";
|
|
2
|
+
export type Resource = "brand" | "campaign" | "socialAccount" | "task" | "publishingPlan" | "contentDraft" | "report" | "dashboardSummary" | "opReport" | "postSnapshot" | "postSnapshotStats" | "postSnapshotRefresh" | "postSnapshotImport" | "redditMetricsSnapshot" | "apiKey" | "cliAuthorization" | "cliTokenDuration" | "auditLog" | "compliance" | "subredditIntelligence" | "subredditPool" | "member" | "systemMember" | "systemBrand" | "systemPersona" | "systemSubredditBlocklist" | "subredditIntelRuns" | "systemCampaign" | "invite" | "systemSetting" | "permissionMatrix" | "agentTeam" | "notificationChannel" | "browserEnvironment" | "brandMember" | "campaignAccount" | "scrape";
|
|
3
3
|
export type Action = "list" | "read" | "create" | "update" | "delete" | "retry" | "cancel" | "export";
|
|
4
4
|
export type PermissionMatrix = Record<Role, Record<Resource, Record<Action, boolean>>>;
|
|
5
5
|
export declare const ROLE_VALUES: Role[];
|
|
6
6
|
export declare const RESOURCE_VALUES: Resource[];
|
|
7
7
|
export declare const ACTION_VALUES: Action[];
|
|
8
|
+
/** @deprecated Superseded by the field visibility registry/matrix below. */
|
|
8
9
|
export type FieldMaskMode = "omit" | "null" | "redact" | "aggregateOnly";
|
|
10
|
+
/** @deprecated Superseded by the field visibility registry/matrix below. */
|
|
9
11
|
export type FieldPolicy = {
|
|
10
12
|
resource: "postSnapshot" | "socialAccount" | "opReport";
|
|
11
13
|
field: string;
|
|
@@ -13,6 +15,37 @@ export type FieldPolicy = {
|
|
|
13
15
|
editable: boolean;
|
|
14
16
|
mask?: FieldMaskMode;
|
|
15
17
|
};
|
|
18
|
+
export declare const FIELD_VISIBILITY_RESOURCES: readonly ["postSnapshot", "postSnapshotStats", "browserEnvironment", "browserEnvironmentTelemetryEvent", "socialAccount", "opReport", "subredditHotPost"];
|
|
19
|
+
export type FieldVisibilityResource = (typeof FIELD_VISIBILITY_RESOURCES)[number];
|
|
20
|
+
/** "omit" deletes the field from the response; "empty" replaces it with [] to keep array contracts. */
|
|
21
|
+
export type FieldVisibilityMask = "omit" | "empty";
|
|
22
|
+
export type FieldVisibilityRegistryEntry = {
|
|
23
|
+
resource: FieldVisibilityResource;
|
|
24
|
+
/** Dotted paths address nested objects (e.g. "telemetry.baselineIp"). */
|
|
25
|
+
field: string;
|
|
26
|
+
mask: FieldVisibilityMask;
|
|
27
|
+
defaultReadable: Record<Role, boolean>;
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Governable sensitive fields. Only fields registered here can be toggled in
|
|
31
|
+
* the field visibility matrix; absolute secrets (credentialsRef, password/key
|
|
32
|
+
* hashes, ...) must never be registered — they stay hard-sanitized at the
|
|
33
|
+
* source and the matrix cannot expose them.
|
|
34
|
+
*/
|
|
35
|
+
export declare const FIELD_VISIBILITY_REGISTRY: FieldVisibilityRegistryEntry[];
|
|
36
|
+
/**
|
|
37
|
+
* Structural/debug telemetry-event fields always hidden from client sessions
|
|
38
|
+
* regardless of matrix overrides (the configurable entries above only cover
|
|
39
|
+
* the semantically sensitive ones).
|
|
40
|
+
*/
|
|
41
|
+
export declare const TELEMETRY_EVENT_HARD_HIDDEN_FOR_CLIENT: string[];
|
|
42
|
+
/** role → "resource.field" → readable */
|
|
43
|
+
export type FieldVisibilityMatrix = Record<Role, Record<string, boolean>>;
|
|
44
|
+
export declare function fieldVisibilityKey(resource: string, field: string): string;
|
|
45
|
+
export declare function isRegisteredField(resource: string, field: string): boolean;
|
|
46
|
+
export declare function buildFieldVisibilityMatrix(): FieldVisibilityMatrix;
|
|
47
|
+
/** Flat `resource.field` readability flags shipped to the web app alongside permissionAllowance. */
|
|
48
|
+
export declare function fieldAllowanceFromMatrix(matrix: FieldVisibilityMatrix, role: Role): Record<string, boolean>;
|
|
16
49
|
export type ResolvedAccessContext = {
|
|
17
50
|
role: Role;
|
|
18
51
|
teamIds: string[];
|
|
@@ -38,6 +71,13 @@ export declare function assertTeamPathForContext(ctx: {
|
|
|
38
71
|
role?: Role;
|
|
39
72
|
visibleTeamIds?: string[];
|
|
40
73
|
}, pathTeamId: string): void;
|
|
74
|
+
/** Enforce account-level visibility for session/cli_token callers (admin bypass). */
|
|
75
|
+
export declare function assertAccountVisibleForContext(input: {
|
|
76
|
+
role?: Role;
|
|
77
|
+
kind: "api_key" | "session" | "cli_token";
|
|
78
|
+
visibleAccountIds?: string[];
|
|
79
|
+
accountId: string;
|
|
80
|
+
}): void;
|
|
41
81
|
export declare function assertCanPerformAction(input: {
|
|
42
82
|
role: Role;
|
|
43
83
|
resource: Resource;
|
|
@@ -108,9 +148,4 @@ export declare function resolveAccessContext(input: {
|
|
|
108
148
|
visibleCampaignIds?: string[] | null;
|
|
109
149
|
visibleAccountIds?: string[];
|
|
110
150
|
}): ResolvedAccessContext;
|
|
111
|
-
export declare function getFieldPolicy(input: {
|
|
112
|
-
role: Role;
|
|
113
|
-
resource: FieldPolicy["resource"];
|
|
114
|
-
field: string;
|
|
115
|
-
}): FieldPolicy | null;
|
|
116
151
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,IAAI,GACZ,UAAU,GACV,QAAQ,GACR,YAAY,GACZ,SAAS,GACT,QAAQ,GACR,OAAO,CAAC;AACZ,MAAM,MAAM,QAAQ,GAChB,OAAO,GACP,UAAU,GACV,eAAe,GACf,MAAM,GACN,gBAAgB,GAChB,cAAc,GACd,QAAQ,GACR,kBAAkB,GAClB,UAAU,GACV,cAAc,GACd,mBAAmB,GACnB,qBAAqB,GACrB,oBAAoB,GACpB,QAAQ,GACR,kBAAkB,GAClB,kBAAkB,GAClB,UAAU,GACV,YAAY,GACZ,uBAAuB,GACvB,QAAQ,GACR,cAAc,GACd,aAAa,GACb,gBAAgB,GAChB,QAAQ,GACR,eAAe,GACf,kBAAkB,GAClB,WAAW,GACX,qBAAqB,GACrB,oBAAoB,GACpB,aAAa,GACb,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -21,15 +21,20 @@ export const RESOURCE_VALUES = [
|
|
|
21
21
|
"postSnapshotStats",
|
|
22
22
|
"postSnapshotRefresh",
|
|
23
23
|
"postSnapshotImport",
|
|
24
|
+
"redditMetricsSnapshot",
|
|
24
25
|
"apiKey",
|
|
25
26
|
"cliAuthorization",
|
|
26
27
|
"cliTokenDuration",
|
|
27
28
|
"auditLog",
|
|
28
29
|
"compliance",
|
|
29
30
|
"subredditIntelligence",
|
|
31
|
+
"subredditPool",
|
|
30
32
|
"member",
|
|
31
33
|
"systemMember",
|
|
32
34
|
"systemBrand",
|
|
35
|
+
"systemPersona",
|
|
36
|
+
"systemSubredditBlocklist",
|
|
37
|
+
"subredditIntelRuns",
|
|
33
38
|
"systemCampaign",
|
|
34
39
|
"invite",
|
|
35
40
|
"systemSetting",
|
|
@@ -39,6 +44,7 @@ export const RESOURCE_VALUES = [
|
|
|
39
44
|
"browserEnvironment",
|
|
40
45
|
"brandMember",
|
|
41
46
|
"campaignAccount",
|
|
47
|
+
"scrape",
|
|
42
48
|
];
|
|
43
49
|
export const ACTION_VALUES = [
|
|
44
50
|
"list",
|
|
@@ -68,45 +74,189 @@ const clientReadableResources = new Set([
|
|
|
68
74
|
"postSnapshot",
|
|
69
75
|
"postSnapshotStats",
|
|
70
76
|
]);
|
|
71
|
-
const
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
77
|
+
export const FIELD_VISIBILITY_RESOURCES = [
|
|
78
|
+
"postSnapshot",
|
|
79
|
+
"postSnapshotStats",
|
|
80
|
+
"browserEnvironment",
|
|
81
|
+
"browserEnvironmentTelemetryEvent",
|
|
82
|
+
"socialAccount",
|
|
83
|
+
"opReport",
|
|
84
|
+
"subredditHotPost",
|
|
85
|
+
];
|
|
86
|
+
const readableExceptClient = () => Object.fromEntries(ROLE_VALUES.map((r) => [r, r !== "client"]));
|
|
87
|
+
const readableForAll = () => Object.fromEntries(ROLE_VALUES.map((r) => [r, true]));
|
|
88
|
+
/**
|
|
89
|
+
* Governable sensitive fields. Only fields registered here can be toggled in
|
|
90
|
+
* the field visibility matrix; absolute secrets (credentialsRef, password/key
|
|
91
|
+
* hashes, ...) must never be registered — they stay hard-sanitized at the
|
|
92
|
+
* source and the matrix cannot expose them.
|
|
93
|
+
*/
|
|
94
|
+
export const FIELD_VISIBILITY_REGISTRY = [
|
|
95
|
+
...[
|
|
96
|
+
"accountType",
|
|
97
|
+
"rawPayload",
|
|
98
|
+
"socialAccountId",
|
|
99
|
+
"feishuRecordId",
|
|
100
|
+
"feishuAutoNumber",
|
|
101
|
+
"feishuSerial",
|
|
102
|
+
"feishuNote",
|
|
103
|
+
].map((field) => ({
|
|
91
104
|
resource: "postSnapshot",
|
|
92
|
-
field
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
},
|
|
96
|
-
|
|
105
|
+
field,
|
|
106
|
+
mask: "omit",
|
|
107
|
+
defaultReadable: readableExceptClient(),
|
|
108
|
+
})),
|
|
109
|
+
...["byAccountType", "byPostTypeAccountType"].map((field) => ({
|
|
110
|
+
resource: "postSnapshotStats",
|
|
111
|
+
field,
|
|
112
|
+
mask: "empty",
|
|
113
|
+
defaultReadable: readableExceptClient(),
|
|
114
|
+
})),
|
|
115
|
+
...["observedIp", "observedCity", "baselineIp"].map((field) => ({
|
|
116
|
+
resource: "browserEnvironmentTelemetryEvent",
|
|
117
|
+
field,
|
|
118
|
+
mask: "omit",
|
|
119
|
+
defaultReadable: readableExceptClient(),
|
|
120
|
+
})),
|
|
121
|
+
...[
|
|
122
|
+
"telemetry.baselineIp",
|
|
123
|
+
"telemetry.lastIp",
|
|
124
|
+
"telemetry.baselineFingerprint",
|
|
125
|
+
].map((field) => ({
|
|
126
|
+
resource: "browserEnvironment",
|
|
127
|
+
field,
|
|
128
|
+
mask: "omit",
|
|
129
|
+
defaultReadable: readableExceptClient(),
|
|
130
|
+
})),
|
|
131
|
+
// ── Batch 2 ──────────────────────────────────────────────────────────
|
|
132
|
+
// Defaults preserve current behaviour: readable for every role unless the
|
|
133
|
+
// field was already hidden before registration.
|
|
134
|
+
...[
|
|
135
|
+
"author",
|
|
136
|
+
"source",
|
|
137
|
+
"brandRaw",
|
|
138
|
+
"campaignRaw",
|
|
139
|
+
"brandNote",
|
|
140
|
+
"negativeFeedback",
|
|
141
|
+
"repostType",
|
|
142
|
+
"brandId",
|
|
143
|
+
"campaignId",
|
|
144
|
+
"calendarEntryId",
|
|
145
|
+
"viewCount",
|
|
146
|
+
"upvoteRatio",
|
|
147
|
+
"body",
|
|
148
|
+
"opsStatus",
|
|
149
|
+
"draftStatus",
|
|
150
|
+
"postType",
|
|
151
|
+
"containsBrandKeyword",
|
|
152
|
+
"publishDoc",
|
|
153
|
+
"firstRepostLink",
|
|
154
|
+
"secondRepostLink",
|
|
155
|
+
"capturedAt",
|
|
156
|
+
"sourceUpdatedAt",
|
|
157
|
+
"teamId",
|
|
158
|
+
"teamName",
|
|
159
|
+
"teamSlug",
|
|
160
|
+
].map((field) => ({
|
|
97
161
|
resource: "postSnapshot",
|
|
98
|
-
field
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
},
|
|
102
|
-
|
|
162
|
+
field,
|
|
163
|
+
mask: "omit",
|
|
164
|
+
defaultReadable: readableForAll(),
|
|
165
|
+
})),
|
|
166
|
+
...["primaryProducts", "relatedPosts"].map((field) => ({
|
|
103
167
|
resource: "postSnapshot",
|
|
104
|
-
field
|
|
105
|
-
|
|
106
|
-
|
|
168
|
+
field,
|
|
169
|
+
mask: "empty",
|
|
170
|
+
defaultReadable: readableForAll(),
|
|
171
|
+
})),
|
|
172
|
+
// socialAccount: credentialsRef/hasCredentials stay hard-sanitized and are
|
|
173
|
+
// never registered; handle/platform/status are core identity columns.
|
|
174
|
+
...[
|
|
175
|
+
"profileUrl",
|
|
176
|
+
"externalId",
|
|
177
|
+
"externalRef",
|
|
178
|
+
"personaId",
|
|
179
|
+
"karma",
|
|
180
|
+
"accountAgeDays",
|
|
181
|
+
"workflowStage",
|
|
182
|
+
"metricsSource",
|
|
183
|
+
"metricsUpdatedAt",
|
|
184
|
+
"feishuRecordId",
|
|
185
|
+
"feishuBrandRaw",
|
|
186
|
+
// jsonb object — "empty" ([]) would break its shape, so omit.
|
|
187
|
+
"feishuRawPayload",
|
|
188
|
+
"postingSummary",
|
|
189
|
+
"oauthExpiresAt",
|
|
190
|
+
].map((field) => ({
|
|
191
|
+
resource: "socialAccount",
|
|
192
|
+
field,
|
|
107
193
|
mask: "omit",
|
|
194
|
+
defaultReadable: readableForAll(),
|
|
195
|
+
})),
|
|
196
|
+
{
|
|
197
|
+
resource: "socialAccount",
|
|
198
|
+
field: "primaryProducts",
|
|
199
|
+
mask: "empty",
|
|
200
|
+
defaultReadable: readableForAll(),
|
|
108
201
|
},
|
|
109
|
-
|
|
202
|
+
...["source", "traceId"].map((field) => ({
|
|
203
|
+
resource: "opReport",
|
|
204
|
+
field,
|
|
205
|
+
mask: "omit",
|
|
206
|
+
defaultReadable: readableForAll(),
|
|
207
|
+
})),
|
|
208
|
+
// Hot post account-dimension fields are hidden from clients today (they
|
|
209
|
+
// were gated by socialAccount permissions), so keep client=false.
|
|
210
|
+
...[
|
|
211
|
+
"authorHandle",
|
|
212
|
+
"accountType",
|
|
213
|
+
"authorAccountType",
|
|
214
|
+
"actorType",
|
|
215
|
+
"accountTypeLabel",
|
|
216
|
+
"authorAccountTypeLabel",
|
|
217
|
+
].map((field) => ({
|
|
218
|
+
resource: "subredditHotPost",
|
|
219
|
+
field,
|
|
220
|
+
mask: "omit",
|
|
221
|
+
defaultReadable: readableExceptClient(),
|
|
222
|
+
})),
|
|
223
|
+
];
|
|
224
|
+
/**
|
|
225
|
+
* Structural/debug telemetry-event fields always hidden from client sessions
|
|
226
|
+
* regardless of matrix overrides (the configurable entries above only cover
|
|
227
|
+
* the semantically sensitive ones).
|
|
228
|
+
*/
|
|
229
|
+
export const TELEMETRY_EVENT_HARD_HIDDEN_FOR_CLIENT = [
|
|
230
|
+
"teamId",
|
|
231
|
+
"browserEnvironmentId",
|
|
232
|
+
"socialAccountId",
|
|
233
|
+
"source",
|
|
234
|
+
"externalRef",
|
|
235
|
+
"payload",
|
|
236
|
+
"createdAt",
|
|
237
|
+
];
|
|
238
|
+
export function fieldVisibilityKey(resource, field) {
|
|
239
|
+
return `${resource}.${field}`;
|
|
240
|
+
}
|
|
241
|
+
export function isRegisteredField(resource, field) {
|
|
242
|
+
return FIELD_VISIBILITY_REGISTRY.some((entry) => entry.resource === resource && entry.field === field);
|
|
243
|
+
}
|
|
244
|
+
export function buildFieldVisibilityMatrix() {
|
|
245
|
+
const out = {};
|
|
246
|
+
for (const role of ROLE_VALUES) {
|
|
247
|
+
const flags = {};
|
|
248
|
+
for (const entry of FIELD_VISIBILITY_REGISTRY) {
|
|
249
|
+
flags[fieldVisibilityKey(entry.resource, entry.field)] =
|
|
250
|
+
entry.defaultReadable[role];
|
|
251
|
+
}
|
|
252
|
+
out[role] = flags;
|
|
253
|
+
}
|
|
254
|
+
return out;
|
|
255
|
+
}
|
|
256
|
+
/** Flat `resource.field` readability flags shipped to the web app alongside permissionAllowance. */
|
|
257
|
+
export function fieldAllowanceFromMatrix(matrix, role) {
|
|
258
|
+
return { ...(matrix[role] ?? {}) };
|
|
259
|
+
}
|
|
110
260
|
/**
|
|
111
261
|
* ApiKey 绑定的 team 必须与 URL 路径中的 :teamId 一致(主规格多租户)。
|
|
112
262
|
*/
|
|
@@ -116,7 +266,12 @@ export function assertTeamAccess(apiKeyTeamId, pathTeamId) {
|
|
|
116
266
|
}
|
|
117
267
|
}
|
|
118
268
|
export function assertAnyTeamAccess(input) {
|
|
119
|
-
|
|
269
|
+
// Teams organize social accounts, not people: every session role can
|
|
270
|
+
// address any team path. Data boundaries live at the account/brand/
|
|
271
|
+
// campaign visibility and field-masking layers (and api_key callers stay
|
|
272
|
+
// pinned to their bound team via assertTeamAccess). Role-less contexts
|
|
273
|
+
// keep the explicit team checks as a defensive fallback.
|
|
274
|
+
if (input.role)
|
|
120
275
|
return;
|
|
121
276
|
if (input.primaryTeamId === input.pathTeamId)
|
|
122
277
|
return;
|
|
@@ -137,6 +292,19 @@ export function assertTeamPathForContext(ctx, pathTeamId) {
|
|
|
137
292
|
pathTeamId,
|
|
138
293
|
});
|
|
139
294
|
}
|
|
295
|
+
/** Enforce account-level visibility for session/cli_token callers (admin bypass). */
|
|
296
|
+
export function assertAccountVisibleForContext(input) {
|
|
297
|
+
if (input.role === "admin")
|
|
298
|
+
return;
|
|
299
|
+
if (input.kind === "api_key")
|
|
300
|
+
return;
|
|
301
|
+
const visible = input.visibleAccountIds ?? [];
|
|
302
|
+
if (input.role === "client") {
|
|
303
|
+
if (!visible.includes(input.accountId)) {
|
|
304
|
+
throw forbidden("Account not in visible scope");
|
|
305
|
+
}
|
|
306
|
+
}
|
|
307
|
+
}
|
|
140
308
|
export function assertCanPerformAction(input) {
|
|
141
309
|
if (!canPerformAction(input)) {
|
|
142
310
|
throw forbidden(`Role ${input.role} cannot ${input.action} ${input.resource}`);
|
|
@@ -219,6 +387,20 @@ export function canPerformAction(input) {
|
|
|
219
387
|
action: input.action,
|
|
220
388
|
});
|
|
221
389
|
}
|
|
390
|
+
if (input.resource === "systemPersona") {
|
|
391
|
+
return canPerformAction({
|
|
392
|
+
role: input.role,
|
|
393
|
+
resource: "brand",
|
|
394
|
+
action: input.action,
|
|
395
|
+
});
|
|
396
|
+
}
|
|
397
|
+
if (input.resource === "systemSubredditBlocklist") {
|
|
398
|
+
return canPerformAction({
|
|
399
|
+
role: input.role,
|
|
400
|
+
resource: "compliance",
|
|
401
|
+
action: input.action,
|
|
402
|
+
});
|
|
403
|
+
}
|
|
222
404
|
if (input.resource === "systemCampaign") {
|
|
223
405
|
return canPerformAction({
|
|
224
406
|
role: input.role,
|
|
@@ -272,6 +454,28 @@ export function canPerformAction(input) {
|
|
|
272
454
|
action: input.action,
|
|
273
455
|
});
|
|
274
456
|
}
|
|
457
|
+
if (input.resource === "scrape") {
|
|
458
|
+
// 自托管抓取能力:运维/合规向,client 无权;沿用 compliance 的角色梯度。
|
|
459
|
+
return canPerformAction({
|
|
460
|
+
role: input.role,
|
|
461
|
+
resource: "compliance",
|
|
462
|
+
action: input.action,
|
|
463
|
+
});
|
|
464
|
+
}
|
|
465
|
+
if (input.resource === "subredditPool") {
|
|
466
|
+
if (input.role === "client")
|
|
467
|
+
return false;
|
|
468
|
+
if (input.role === "manager")
|
|
469
|
+
return true;
|
|
470
|
+
if (input.role === "supervisor") {
|
|
471
|
+
return (readActions.has(input.action) ||
|
|
472
|
+
operationalWriteActions.has(input.action));
|
|
473
|
+
}
|
|
474
|
+
if (input.role === "senior" || input.role === "internal") {
|
|
475
|
+
return readActions.has(input.action);
|
|
476
|
+
}
|
|
477
|
+
return false;
|
|
478
|
+
}
|
|
275
479
|
if (input.resource === "compliance") {
|
|
276
480
|
if (input.role === "client")
|
|
277
481
|
return false;
|
|
@@ -305,6 +509,8 @@ export function canPerformAction(input) {
|
|
|
305
509
|
}
|
|
306
510
|
return false;
|
|
307
511
|
}
|
|
512
|
+
// cliTokenDuration: non-admin default deny; matrix overrides grant granular options:
|
|
513
|
+
// read=long (90d), export=custom, create=never, update=legacy all non-short.
|
|
308
514
|
if (input.resource === "cliTokenDuration") {
|
|
309
515
|
return false;
|
|
310
516
|
}
|
|
@@ -370,15 +576,27 @@ export const NAV_SECTION_REGISTRY = [
|
|
|
370
576
|
{ id: "accounts", gate: { resource: "socialAccount", action: "list" } },
|
|
371
577
|
{ id: "graph", gate: { resource: "socialAccount", action: "list" } },
|
|
372
578
|
{ id: "brands", gate: { resource: "systemBrand", action: "list" } },
|
|
579
|
+
{ id: "personas", gate: { resource: "systemPersona", action: "list" } },
|
|
373
580
|
{ id: "calendar", gate: { resource: "publishingPlan", action: "list" } },
|
|
374
581
|
{ id: "drafts", gate: { resource: "contentDraft", action: "list" } },
|
|
375
582
|
{ id: "plans", gate: { resource: "publishingPlan", action: "list" } },
|
|
376
583
|
{ id: "tasks", gate: { resource: "task", action: "list" } },
|
|
377
|
-
{
|
|
378
|
-
|
|
584
|
+
{
|
|
585
|
+
id: "intelligence",
|
|
586
|
+
gate: { resource: "subredditIntelligence", action: "read" },
|
|
587
|
+
},
|
|
588
|
+
{
|
|
589
|
+
id: "intelligenceTasks",
|
|
590
|
+
gate: { resource: "subredditIntelRuns", action: "read" },
|
|
591
|
+
},
|
|
592
|
+
{ id: "subredditPools", gate: { resource: "subredditPool", action: "read" } },
|
|
379
593
|
{ id: "events", gate: { resource: "task", action: "list" } },
|
|
380
594
|
{ id: "reports", gate: { resource: "opReport", action: "list" } },
|
|
381
595
|
{ id: "postPerformance", gate: { resource: "postSnapshot", action: "list" } },
|
|
596
|
+
{
|
|
597
|
+
id: "redditMetrics",
|
|
598
|
+
gate: { resource: "redditMetricsSnapshot", action: "list" },
|
|
599
|
+
},
|
|
382
600
|
{ id: "riskCenter", gate: { resource: "compliance", action: "list" } },
|
|
383
601
|
{ id: "apiKeys", gate: { resource: "apiKey", action: "list" } },
|
|
384
602
|
{ id: "users", gate: { resource: "systemMember", action: "list" } },
|
|
@@ -442,8 +660,12 @@ export function permissionAllowanceFromMatrix(matrix, role) {
|
|
|
442
660
|
}
|
|
443
661
|
export function resolveAccessContext(input) {
|
|
444
662
|
const teamIds = Array.from(new Set([input.primaryTeamId, ...(input.visibleTeamIds ?? [])]));
|
|
445
|
-
const brandIds =
|
|
446
|
-
|
|
663
|
+
const brandIds = input.role === "client"
|
|
664
|
+
? Array.from(new Set(input.visibleBrandIds ?? []))
|
|
665
|
+
: [];
|
|
666
|
+
const accountIds = input.role === "client"
|
|
667
|
+
? Array.from(new Set(input.visibleAccountIds ?? []))
|
|
668
|
+
: [];
|
|
447
669
|
const campaignIds = input.visibleCampaignIds && input.visibleCampaignIds.length > 0
|
|
448
670
|
? Array.from(new Set(input.visibleCampaignIds))
|
|
449
671
|
: [];
|
|
@@ -457,10 +679,4 @@ export function resolveAccessContext(input) {
|
|
|
457
679
|
hasAllCampaignAccess,
|
|
458
680
|
};
|
|
459
681
|
}
|
|
460
|
-
export function getFieldPolicy(input) {
|
|
461
|
-
if (input.resource === "postSnapshot" && input.field === "accountType") {
|
|
462
|
-
return POST_SNAPSHOT_ACCOUNT_TYPE_POLICY_BY_ROLE[input.role];
|
|
463
|
-
}
|
|
464
|
-
return null;
|
|
465
|
-
}
|
|
466
682
|
//# 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":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.test.js
CHANGED
|
@@ -1,300 +1,165 @@
|
|
|
1
1
|
import { describe, expect, it } from "vitest";
|
|
2
|
-
import {
|
|
3
|
-
describe("
|
|
4
|
-
it("allows
|
|
5
|
-
expect(() =>
|
|
6
|
-
});
|
|
7
|
-
it("rejects cross-team", () => {
|
|
8
|
-
expect(() => assertTeamAccess("t1", "t2")).toThrow();
|
|
9
|
-
});
|
|
10
|
-
});
|
|
11
|
-
describe("canPerformAction", () => {
|
|
12
|
-
it("allows admin to read audit logs", () => {
|
|
13
|
-
expect(canPerformAction({ role: "admin", resource: "auditLog", action: "read" })).toBe(true);
|
|
14
|
-
});
|
|
15
|
-
it("allows manager to manage API keys", () => {
|
|
16
|
-
expect(canPerformAction({
|
|
17
|
-
role: "manager",
|
|
18
|
-
resource: "apiKey",
|
|
19
|
-
action: "create",
|
|
20
|
-
})).toBe(true);
|
|
21
|
-
});
|
|
22
|
-
it("allows admin and manager to approve CLI device auth", () => {
|
|
23
|
-
expect(canPerformAction({
|
|
2
|
+
import { FIELD_VISIBILITY_REGISTRY, NAV_SECTION_REGISTRY, RESOURCE_VALUES, ROLE_VALUES, assertAccountVisibleForContext, assertAnyTeamAccess, buildFieldVisibilityMatrix, canPerformAction, fieldAllowanceFromMatrix, fieldVisibilityKey, isRegisteredField, } from "./index.js";
|
|
3
|
+
describe("assertAccountVisibleForContext", () => {
|
|
4
|
+
it("allows admin bypass", () => {
|
|
5
|
+
expect(() => assertAccountVisibleForContext({
|
|
24
6
|
role: "admin",
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
it("allows only admin to choose non-short CLI token duration", () => {
|
|
40
|
-
expect(canPerformAction({
|
|
41
|
-
role: "admin",
|
|
42
|
-
resource: "cliTokenDuration",
|
|
43
|
-
action: "update",
|
|
44
|
-
})).toBe(true);
|
|
45
|
-
expect(canPerformAction({
|
|
46
|
-
role: "manager",
|
|
47
|
-
resource: "cliTokenDuration",
|
|
48
|
-
action: "update",
|
|
49
|
-
})).toBe(false);
|
|
50
|
-
});
|
|
51
|
-
it("rejects client writes to publishing plans", () => {
|
|
52
|
-
expect(canPerformAction({
|
|
53
|
-
role: "client",
|
|
54
|
-
resource: "publishingPlan",
|
|
55
|
-
action: "update",
|
|
56
|
-
})).toBe(false);
|
|
57
|
-
});
|
|
58
|
-
it("rejects client compliance reads", () => {
|
|
59
|
-
expect(canPerformAction({
|
|
60
|
-
role: "client",
|
|
61
|
-
resource: "compliance",
|
|
62
|
-
action: "list",
|
|
63
|
-
})).toBe(false);
|
|
64
|
-
});
|
|
65
|
-
it("rejects client reads for internal operations resources", () => {
|
|
66
|
-
expect(canPerformAction({ role: "client", resource: "task", action: "list" })).toBe(false);
|
|
67
|
-
expect(canPerformAction({
|
|
68
|
-
role: "client",
|
|
69
|
-
resource: "contentDraft",
|
|
70
|
-
action: "list",
|
|
71
|
-
})).toBe(false);
|
|
72
|
-
expect(canPerformAction({
|
|
73
|
-
role: "client",
|
|
74
|
-
resource: "publishingPlan",
|
|
75
|
-
action: "list",
|
|
76
|
-
})).toBe(false);
|
|
77
|
-
});
|
|
78
|
-
it("allows supervisor compliance create", () => {
|
|
79
|
-
expect(canPerformAction({
|
|
80
|
-
role: "supervisor",
|
|
81
|
-
resource: "compliance",
|
|
82
|
-
action: "create",
|
|
83
|
-
})).toBe(true);
|
|
84
|
-
});
|
|
85
|
-
});
|
|
86
|
-
describe("assertCanPerformAction", () => {
|
|
87
|
-
it("throws for disallowed action", () => {
|
|
88
|
-
expect(() => assertCanPerformAction({
|
|
7
|
+
kind: "session",
|
|
8
|
+
visibleAccountIds: [],
|
|
9
|
+
accountId: "acc-1",
|
|
10
|
+
})).not.toThrow();
|
|
11
|
+
});
|
|
12
|
+
it("allows api key without account scope", () => {
|
|
13
|
+
expect(() => assertAccountVisibleForContext({
|
|
14
|
+
kind: "api_key",
|
|
15
|
+
visibleAccountIds: [],
|
|
16
|
+
accountId: "acc-1",
|
|
17
|
+
})).not.toThrow();
|
|
18
|
+
});
|
|
19
|
+
it("rejects client when account is not visible", () => {
|
|
20
|
+
expect(() => assertAccountVisibleForContext({
|
|
89
21
|
role: "client",
|
|
90
|
-
|
|
91
|
-
|
|
22
|
+
kind: "session",
|
|
23
|
+
visibleAccountIds: ["acc-2"],
|
|
24
|
+
accountId: "acc-1",
|
|
92
25
|
})).toThrow();
|
|
93
26
|
});
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
it("uses resolved matrix values instead of default role rules", () => {
|
|
97
|
-
const matrix = buildPermissionMatrix();
|
|
98
|
-
matrix.manager.apiKey.list = false;
|
|
99
|
-
expect(canPerformAction({ role: "manager", resource: "apiKey", action: "list" })).toBe(true);
|
|
100
|
-
expect(canPerformResolvedAction({
|
|
101
|
-
matrix,
|
|
102
|
-
role: "manager",
|
|
103
|
-
resource: "apiKey",
|
|
104
|
-
action: "list",
|
|
105
|
-
})).toBe(false);
|
|
106
|
-
});
|
|
107
|
-
it("throws when resolved matrix denies an action", () => {
|
|
108
|
-
const matrix = buildPermissionMatrix();
|
|
109
|
-
matrix.manager.report.create = false;
|
|
110
|
-
expect(() => assertResolvedAction({
|
|
111
|
-
matrix,
|
|
27
|
+
it("allows manager to access any team path", () => {
|
|
28
|
+
expect(() => assertAnyTeamAccess({
|
|
112
29
|
role: "manager",
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
});
|
|
118
|
-
describe("filterCampaignsByVisibility", () => {
|
|
119
|
-
it("filters campaigns by provided ids", () => {
|
|
120
|
-
const rows = [
|
|
121
|
-
{ id: "c1", name: "A" },
|
|
122
|
-
{ id: "c2", name: "B" },
|
|
123
|
-
];
|
|
124
|
-
expect(filterCampaignsByVisibility(rows, ["c2"])).toEqual([
|
|
125
|
-
{ id: "c2", name: "B" },
|
|
126
|
-
]);
|
|
127
|
-
});
|
|
128
|
-
it("returns all campaigns when visibility is null/undefined", () => {
|
|
129
|
-
const rows = [
|
|
130
|
-
{ id: "c1", name: "A" },
|
|
131
|
-
{ id: "c2", name: "B" },
|
|
132
|
-
];
|
|
133
|
-
expect(filterCampaignsByVisibility(rows, null)).toEqual(rows);
|
|
134
|
-
expect(filterCampaignsByVisibility(rows, undefined)).toEqual(rows);
|
|
135
|
-
});
|
|
136
|
-
it("returns empty list when visible ids is empty array", () => {
|
|
137
|
-
const rows = [
|
|
138
|
-
{ id: "c1", name: "A" },
|
|
139
|
-
{ id: "c2", name: "B" },
|
|
140
|
-
];
|
|
141
|
-
expect(filterCampaignsByVisibility(rows, [])).toEqual([]);
|
|
142
|
-
});
|
|
143
|
-
});
|
|
144
|
-
describe("hasScope", () => {
|
|
145
|
-
it("accepts exact scopes", () => {
|
|
146
|
-
expect(hasScope(["events:write"], "events:write")).toBe(true);
|
|
30
|
+
primaryTeamId: "t1",
|
|
31
|
+
visibleTeamIds: ["t1"],
|
|
32
|
+
pathTeamId: "t2",
|
|
33
|
+
})).not.toThrow();
|
|
147
34
|
});
|
|
148
|
-
it("
|
|
149
|
-
expect(
|
|
35
|
+
it("allows client to access any team path (scoped by accounts, not teams)", () => {
|
|
36
|
+
expect(() => assertAnyTeamAccess({
|
|
37
|
+
role: "client",
|
|
38
|
+
primaryTeamId: "t1",
|
|
39
|
+
visibleTeamIds: ["t1"],
|
|
40
|
+
pathTeamId: "t2",
|
|
41
|
+
})).not.toThrow();
|
|
150
42
|
});
|
|
151
|
-
it("
|
|
152
|
-
expect(
|
|
43
|
+
it("allows internal roles to access any team path", () => {
|
|
44
|
+
expect(() => assertAnyTeamAccess({
|
|
45
|
+
role: "internal",
|
|
46
|
+
primaryTeamId: "t1",
|
|
47
|
+
visibleTeamIds: ["t1"],
|
|
48
|
+
pathTeamId: "t2",
|
|
49
|
+
})).not.toThrow();
|
|
153
50
|
});
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
role: "manager",
|
|
161
|
-
visibleTeamIds: ["t2"],
|
|
162
|
-
}, "t1")).not.toThrow();
|
|
51
|
+
it("keeps the explicit team check for role-less contexts", () => {
|
|
52
|
+
expect(() => assertAnyTeamAccess({
|
|
53
|
+
primaryTeamId: "t1",
|
|
54
|
+
visibleTeamIds: ["t1"],
|
|
55
|
+
pathTeamId: "t2",
|
|
56
|
+
})).toThrow();
|
|
163
57
|
});
|
|
164
|
-
it("allows
|
|
165
|
-
expect(() =>
|
|
166
|
-
kind: "session",
|
|
167
|
-
teamId: "t1",
|
|
58
|
+
it("allows internal roles regardless of visibleAccountIds", () => {
|
|
59
|
+
expect(() => assertAccountVisibleForContext({
|
|
168
60
|
role: "senior",
|
|
169
|
-
visibleTeamIds: ["t1", "t2"],
|
|
170
|
-
}, "t2")).not.toThrow();
|
|
171
|
-
});
|
|
172
|
-
it("rejects session path outside visible teams", () => {
|
|
173
|
-
expect(() => assertTeamPathForContext({
|
|
174
61
|
kind: "session",
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
}, "t2")).toThrow();
|
|
179
|
-
});
|
|
180
|
-
it("requires api key team to match path", () => {
|
|
181
|
-
expect(() => assertTeamPathForContext({ kind: "api_key", teamId: "t1" }, "t1")).not.toThrow();
|
|
182
|
-
expect(() => assertTeamPathForContext({ kind: "api_key", teamId: "t1" }, "t2")).toThrow();
|
|
183
|
-
});
|
|
184
|
-
it("does not allow admin api key to cross teams", () => {
|
|
185
|
-
expect(() => assertTeamPathForContext({ kind: "api_key", teamId: "t1", role: "admin" }, "t2")).toThrow();
|
|
62
|
+
visibleAccountIds: ["acc-2"],
|
|
63
|
+
accountId: "acc-1",
|
|
64
|
+
})).not.toThrow();
|
|
186
65
|
});
|
|
187
66
|
});
|
|
188
|
-
describe("
|
|
189
|
-
it("
|
|
190
|
-
const matrix =
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
const nav = navigationAllowanceFromMatrix(matrix, "manager");
|
|
201
|
-
expect(nav.brands).toBe(false);
|
|
67
|
+
describe("field visibility registry", () => {
|
|
68
|
+
it("builds defaults matching each entry's defaultReadable", () => {
|
|
69
|
+
const matrix = buildFieldVisibilityMatrix();
|
|
70
|
+
for (const entry of FIELD_VISIBILITY_REGISTRY) {
|
|
71
|
+
const key = fieldVisibilityKey(entry.resource, entry.field);
|
|
72
|
+
for (const role of ROLE_VALUES) {
|
|
73
|
+
expect(matrix[role][key]).toBe(entry.defaultReadable[role]);
|
|
74
|
+
}
|
|
75
|
+
// Staff roles can always see registered fields by default.
|
|
76
|
+
expect(matrix.manager[key]).toBe(true);
|
|
77
|
+
expect(matrix.admin[key]).toBe(true);
|
|
78
|
+
}
|
|
202
79
|
});
|
|
203
|
-
it("
|
|
204
|
-
const matrix =
|
|
205
|
-
|
|
206
|
-
matrix.client.
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
matrix.client.
|
|
210
|
-
|
|
211
|
-
expect(
|
|
80
|
+
it("keeps legacy client redactions and batch-2 zero-regression defaults", () => {
|
|
81
|
+
const matrix = buildFieldVisibilityMatrix();
|
|
82
|
+
// Batch 1 mirrored the old hardcoded sanitizers: hidden from client.
|
|
83
|
+
expect(matrix.client["postSnapshot.accountType"]).toBe(false);
|
|
84
|
+
expect(matrix.client["postSnapshot.rawPayload"]).toBe(false);
|
|
85
|
+
// Hot post account dimension was gated away from clients before too.
|
|
86
|
+
expect(matrix.client["subredditHotPost.accountType"]).toBe(false);
|
|
87
|
+
// Batch 2 additions default to visible for everyone (no behaviour change).
|
|
88
|
+
expect(matrix.client["postSnapshot.author"]).toBe(true);
|
|
89
|
+
expect(matrix.client["postSnapshot.teamName"]).toBe(true);
|
|
90
|
+
expect(matrix.client["socialAccount.karma"]).toBe(true);
|
|
91
|
+
expect(matrix.client["opReport.source"]).toBe(true);
|
|
92
|
+
});
|
|
93
|
+
it("emits one allowance flag per registered field for every role", () => {
|
|
94
|
+
const matrix = buildFieldVisibilityMatrix();
|
|
95
|
+
for (const role of ROLE_VALUES) {
|
|
96
|
+
const allowance = fieldAllowanceFromMatrix(matrix, role);
|
|
97
|
+
expect(Object.keys(allowance).sort()).toEqual(FIELD_VISIBILITY_REGISTRY.map((e) => fieldVisibilityKey(e.resource, e.field)).sort());
|
|
98
|
+
}
|
|
212
99
|
});
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
matrix.manager.socialAccount.list = false;
|
|
218
|
-
const allowance = permissionAllowanceFromMatrix(matrix, "manager");
|
|
219
|
-
expect(allowance[permissionKey("socialAccount", "list")]).toBe(false);
|
|
220
|
-
expect(allowance[permissionKey("subredditIntelligence", "read")]).toBe(true);
|
|
100
|
+
it("never registers hard-sanitized secrets", () => {
|
|
101
|
+
expect(isRegisteredField("postSnapshot", "accountType")).toBe(true);
|
|
102
|
+
expect(isRegisteredField("socialAccount", "credentialsRef")).toBe(false);
|
|
103
|
+
expect(isRegisteredField("user", "passwordHash")).toBe(false);
|
|
221
104
|
});
|
|
222
105
|
});
|
|
223
|
-
describe("
|
|
224
|
-
it("
|
|
225
|
-
|
|
226
|
-
expect(weaklyDefined).toEqual([]);
|
|
227
|
-
});
|
|
228
|
-
it("ensures each gated section exists in matrix gates", () => {
|
|
229
|
-
const gatedIds = NAV_SECTION_REGISTRY.filter((entry) => entry.gate).map((entry) => entry.id);
|
|
230
|
-
for (const id of gatedIds) {
|
|
231
|
-
expect(NAV_SECTION_MATRIX_GATES[id]).toBeDefined();
|
|
232
|
-
}
|
|
233
|
-
});
|
|
234
|
-
it("allows manager to read systemSetting for refresh schedule", () => {
|
|
235
|
-
const matrix = buildPermissionMatrix();
|
|
236
|
-
expect(matrix.manager.systemSetting?.read).toBe(true);
|
|
237
|
-
expect(matrix.manager.systemSetting?.update).toBe(false);
|
|
106
|
+
describe("redditMetricsSnapshot — dedicated permission resource", () => {
|
|
107
|
+
it("is a registered resource and surfaces in the permission matrix", () => {
|
|
108
|
+
expect(RESOURCE_VALUES).toContain("redditMetricsSnapshot");
|
|
238
109
|
});
|
|
239
|
-
it("
|
|
240
|
-
expect(
|
|
241
|
-
resource: "systemSetting",
|
|
242
|
-
action: "list",
|
|
243
|
-
});
|
|
244
|
-
const matrix = buildPermissionMatrix();
|
|
245
|
-
expect(canPerformResolvedAction({
|
|
246
|
-
matrix,
|
|
247
|
-
role: "admin",
|
|
248
|
-
resource: "systemSetting",
|
|
249
|
-
action: "list",
|
|
250
|
-
})).toBe(true);
|
|
251
|
-
expect(canPerformResolvedAction({
|
|
252
|
-
matrix,
|
|
110
|
+
it("denies client by default but allows the other roles to list", () => {
|
|
111
|
+
expect(canPerformAction({
|
|
253
112
|
role: "client",
|
|
254
|
-
resource: "
|
|
113
|
+
resource: "redditMetricsSnapshot",
|
|
255
114
|
action: "list",
|
|
256
115
|
})).toBe(false);
|
|
116
|
+
for (const role of ROLE_VALUES.filter((r) => r !== "client")) {
|
|
117
|
+
expect(canPerformAction({
|
|
118
|
+
role,
|
|
119
|
+
resource: "redditMetricsSnapshot",
|
|
120
|
+
action: "list",
|
|
121
|
+
})).toBe(true);
|
|
122
|
+
}
|
|
257
123
|
});
|
|
258
|
-
it("
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
const matrix = buildPermissionMatrix();
|
|
265
|
-
expect(Object.keys(matrix)).toHaveLength(ROLE_VALUES.length);
|
|
266
|
-
expect(Object.keys(matrix.admin)).toHaveLength(RESOURCE_VALUES.length);
|
|
267
|
-
expect(Object.keys(matrix.admin.brand)).toHaveLength(ACTION_VALUES.length);
|
|
268
|
-
expect(matrix.admin.auditLog.read).toBe(true);
|
|
269
|
-
expect(matrix.client.apiKey.list).toBe(false);
|
|
270
|
-
expect(matrix.client.compliance.list).toBe(false);
|
|
271
|
-
expect(matrix.manager.compliance.update).toBe(true);
|
|
272
|
-
expect(matrix.admin.cliAuthorization.create).toBe(true);
|
|
273
|
-
expect(matrix.manager.cliAuthorization.create).toBe(true);
|
|
274
|
-
expect(matrix.admin.cliTokenDuration.update).toBe(true);
|
|
275
|
-
expect(matrix.manager.cliTokenDuration.update).toBe(false);
|
|
124
|
+
it("gates the redditMetrics nav section on the dedicated resource", () => {
|
|
125
|
+
const entry = NAV_SECTION_REGISTRY.find((e) => e.id === "redditMetrics");
|
|
126
|
+
expect(entry?.gate).toEqual({
|
|
127
|
+
resource: "redditMetricsSnapshot",
|
|
128
|
+
action: "list",
|
|
129
|
+
});
|
|
276
130
|
});
|
|
277
131
|
});
|
|
278
|
-
describe("
|
|
279
|
-
it("
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
132
|
+
describe("情报任务 / 板块情报 — independent permission resources", () => {
|
|
133
|
+
it("retires the legacy systemSubredditIntelligence resource", () => {
|
|
134
|
+
expect(RESOURCE_VALUES).not.toContain("systemSubredditIntelligence");
|
|
135
|
+
expect(RESOURCE_VALUES).toContain("subredditIntelligence");
|
|
136
|
+
expect(RESOURCE_VALUES).toContain("subredditIntelRuns");
|
|
137
|
+
});
|
|
138
|
+
it("gates 板块情报(intelligence) and 情报任务(intelligenceTasks) on separate rows", () => {
|
|
139
|
+
const board = NAV_SECTION_REGISTRY.find((e) => e.id === "intelligence");
|
|
140
|
+
const tasks = NAV_SECTION_REGISTRY.find((e) => e.id === "intelligenceTasks");
|
|
141
|
+
expect(board?.gate).toEqual({
|
|
142
|
+
resource: "subredditIntelligence",
|
|
143
|
+
action: "read",
|
|
144
|
+
});
|
|
145
|
+
expect(tasks?.gate).toEqual({
|
|
146
|
+
resource: "subredditIntelRuns",
|
|
147
|
+
action: "read",
|
|
284
148
|
});
|
|
285
|
-
expect(policy?.readable).toBe(false);
|
|
286
|
-
expect(policy?.mask).toBe("omit");
|
|
287
149
|
});
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
it("treats client empty campaign list as restricted", () => {
|
|
291
|
-
const resolved = resolveAccessContext({
|
|
150
|
+
it("denies client by default but allows staff roles to read intel runs", () => {
|
|
151
|
+
expect(canPerformAction({
|
|
292
152
|
role: "client",
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
});
|
|
296
|
-
|
|
297
|
-
|
|
153
|
+
resource: "subredditIntelRuns",
|
|
154
|
+
action: "read",
|
|
155
|
+
})).toBe(false);
|
|
156
|
+
for (const role of ROLE_VALUES.filter((r) => r !== "client")) {
|
|
157
|
+
expect(canPerformAction({
|
|
158
|
+
role,
|
|
159
|
+
resource: "subredditIntelRuns",
|
|
160
|
+
action: "read",
|
|
161
|
+
})).toBe(true);
|
|
162
|
+
}
|
|
298
163
|
});
|
|
299
164
|
});
|
|
300
165
|
//# sourceMappingURL=index.test.js.map
|
package/dist/index.test.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@geoly-ai/social-hub-authz",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.4",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Runtime permission checks for Social Ops Hub",
|
|
6
6
|
"repository": {
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
}
|
|
24
24
|
},
|
|
25
25
|
"dependencies": {
|
|
26
|
-
"@geoly-ai/social-hub-core": "0.0.
|
|
26
|
+
"@geoly-ai/social-hub-core": "0.0.4"
|
|
27
27
|
},
|
|
28
28
|
"devDependencies": {
|
|
29
29
|
"typescript": "^5.7.2",
|