@simplysf/simply-permissions 1.2.11 → 1.2.13

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 CHANGED
@@ -96,7 +96,8 @@ DESCRIPTION
96
96
 
97
97
  Scans a Salesforce project directory for custom objects, fields, tabs, and (optionally) record types, then generates a
98
98
  permission set XML file with a baseline of permissions determined by --type. An optional JSON --config file can
99
- override individual object, field, tab, record type, and user permission settings.
99
+ override individual object, field, tab, record type, and user permission settings, as well as whether the permission
100
+ set requires activation.
100
101
 
101
102
  EXAMPLES
102
103
  $ sf simply permissions build --type read-only --name My_Read_Only_Access --directory force-app --output force-app/main/default/permissionsets
@@ -106,8 +107,8 @@ EXAMPLES
106
107
  FLAG DESCRIPTIONS
107
108
  -c, --config=<value> Path to a permission set configuration file
108
109
 
109
- The path to a JSON file that overrides individual object, field, tab, record type, and user permission settings on
110
- top of the --type baseline.
110
+ The path to a JSON file that overrides individual object, field, tab, record type, and user permission settings,
111
+ as well as whether the permission set requires activation, on top of the --type baseline.
111
112
 
112
113
  -d, --directory=<value> Path to the Salesforce project directory
113
114
 
@@ -133,3 +134,39 @@ FLAG DESCRIPTIONS
133
134
 
134
135
  _See code: [lib/commands/simply/permissions/build.js](https://github.com/SimplySF/simply/blob/@simplysf/simply-permissions@1.2.1/packages/simply-permissions/lib/commands/simply/permissions/build.js)_
135
136
  <!-- commandsstop -->
137
+
138
+ ## Configuration Files
139
+
140
+ ### `sf simply permissions build --config`
141
+
142
+ The `--config` flag on `sf simply permissions build` takes the path to a JSON file that overrides the `--type` baseline permissions. Every top-level key is optional — only the settings you include are applied:
143
+
144
+ ```json
145
+ {
146
+ "objects": {
147
+ "Account": { "read": true, "create": true, "edit": true, "viewAll": true }
148
+ },
149
+ "fields": {
150
+ "Account.AnnualRevenue": { "readable": true, "editable": false }
151
+ },
152
+ "tabs": {
153
+ "Account": { "visible": true }
154
+ },
155
+ "recordTypeVisibilities": {
156
+ "Account.Enterprise": { "visible": true }
157
+ },
158
+ "userPermissions": {
159
+ "ApiEnabled": true
160
+ },
161
+ "hasActivationRequired": false
162
+ }
163
+ ```
164
+
165
+ | Field | Type | Keyed by | Description |
166
+ | ------------------------ | -------------------------------------- | ---------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------- |
167
+ | `objects` | `Record<string, ObjectPerm>` | Object API name | Overrides object-level access. `ObjectPerm` fields: `read`, `create`, `edit`, `delete`, `modifyAll`, `viewAll`, `viewAllFields` (all optional booleans). |
168
+ | `fields` | `Record<string, FieldPerm>` | `Object.Field` API name | Overrides field-level access. `FieldPerm` fields: `readable`, `editable` (optional booleans). |
169
+ | `tabs` | `Record<string, TabSetting>` | Tab API name | Overrides tab visibility. `TabSetting` fields: `visible` (optional boolean). |
170
+ | `recordTypeVisibilities` | `Record<string, RecordTypeVisibility>` | `Object.RecordType` API name | Overrides record type visibility. Fields: `visible` (optional boolean). Only applied when `--include-record-types` is also passed. |
171
+ | `userPermissions` | `Record<string, boolean>` | User permission API name | Enables (`true`) or disables (`false`) individual user permissions. |
172
+ | `hasActivationRequired` | `boolean` | — | Whether the generated permission set requires activation before it grants access. Defaults to `false`. |
@@ -35,15 +35,15 @@ export function buildPermissionSetXml(data) {
35
35
  for (const permission of data.fieldPermissions) {
36
36
  root
37
37
  .ele('fieldPermissions')
38
+ .ele('editable')
39
+ .txt(String(permission.editable))
40
+ .up()
38
41
  .ele('field')
39
42
  .txt(permission.field)
40
43
  .up()
41
44
  .ele('readable')
42
45
  .txt(String(permission.readable))
43
46
  .up()
44
- .ele('editable')
45
- .txt(String(permission.editable))
46
- .up()
47
47
  .up();
48
48
  }
49
49
  root.ele('hasActivationRequired').txt(String(data.hasActivationRequired)).up();
@@ -1 +1 @@
1
- {"version":3,"file":"permissionSetXmlTemplate.js","sourceRoot":"","sources":["../../src/common/permissionSetXmlTemplate.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"permissionSetXmlTemplate.js","sourceRoot":"","sources":["../../src/common/permissionSetXmlTemplate.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@simplysf/simply-permissions",
3
3
  "description": "Utilities for working with permissions",
4
- "version": "1.2.11",
4
+ "version": "1.2.13",
5
5
  "author": "@ClayChipps",
6
6
  "homepage": "https://github.com/SimplySF/simply",
7
7
  "bugs": "https://github.com/SimplySF/simply/issues",
@@ -210,5 +210,5 @@
210
210
  "output": []
211
211
  }
212
212
  },
213
- "gitHead": "985f681cc9e12d270b59937aa20f4060eedbe21c"
213
+ "gitHead": "8f0eb881b851e061bf7b007dbb5f851b81310376"
214
214
  }