4.5.13 • Published 1 year ago

q3-core-access v4.5.13

Weekly downloads
752
License
-
Repository
-
Last release
1 year ago

Access

Q3's access control system integrates with Mongoose for role-based querying. It also connects to q3-core-rest to automate authorization in the request and response payloads.

Note that the access control's ledger uses a singleton pattern so that grants initialized at run-time can be referenced anywhere. It also relies on a static array, so changes made to permissions will be lost on reboot.

Q3 API automatically loads grants when it detects the q3-access.json file, so most projects will have little else to configure.

Syntax

The JSON object below represents all possible fields.

{
  "fields": ["*"],
  "role": "Developer",
  "coll": "tests",
  "op": "Read",
  "ownership": "Any",
  "documentConditions": [],
  "ownershipAliases": [],
  "ownershipAliasesOnly": false,
  "ownershipAliasesWith": false,
  "ownershipConditions": []
}

Field

The field property determines the attributes within a document a user can access. When left undefined, everything is disallowed. This module interprets fields as globs so that we can define rules and cover datasets. It can support a single rule, an array of rules and conditional rules. For examples, please see below.

Single rule

The field below will only grant access to the foo and bar properties. Everything else will be ignored.

{
  "fields": "{foo,bar}"
}

Array of rules

The field below will not grant access to the foo and bar properties. Everything else will be included. Arrays are best for defining exclusions.

{
  "fields": ["!foo", "!bar"]
}

Conditional rules

The field below will exclude the foo property when the value of bar is greater than 1. The wildcard property can be used if the bar field is nested or repeated throughout the document. An undefined test is assumed to be truthy.

{
  "fields": [
    {
      "glob": "foo",
      "negate": true,
      "wildcard": false,
      "test": ["bar>1"]
    }
  ]
}
4.4.17

1 year ago

4.5.13

1 year ago

4.0.2

1 year ago

4.1.0

1 year ago

4.1.1

1 year ago

3.5.3

2 years ago

3.4.10

2 years ago

3.4.12

2 years ago

3.4.6

2 years ago

3.3.5

2 years ago

2.1.4

2 years ago

3.3.1

2 years ago

3.3.0

2 years ago

2.0.5

2 years ago

2.0.6

2 years ago

2.0.9

2 years ago

2.0.1

2 years ago

1.25.0

2 years ago

1.25.1

2 years ago

3.2.0

2 years ago

3.1.0

2 years ago

3.1.5

2 years ago

2.1.3

2 years ago

2.1.0

2 years ago

1.23.0

2 years ago

1.23.1

2 years ago

1.24.0

2 years ago

1.22.5

3 years ago

1.22.4

3 years ago

1.22.0

3 years ago

1.22.3

3 years ago

1.22.1

3 years ago

1.22.2

3 years ago

1.21.3

3 years ago

1.21.1

3 years ago

1.21.2

3 years ago

1.21.0

3 years ago

1.20.0

3 years ago

1.19.12

3 years ago

1.19.13

3 years ago

1.19.11

3 years ago

1.19.10

3 years ago

1.19.9

3 years ago

1.19.8

3 years ago

1.19.7

3 years ago

1.19.5

3 years ago

1.19.4

3 years ago

1.19.0

3 years ago

1.19.3

3 years ago

1.19.2

3 years ago

1.19.1

3 years ago

1.18.5

3 years ago

1.18.4

3 years ago

1.18.3

3 years ago

1.18.1

3 years ago

1.18.2

3 years ago

1.18.0

3 years ago

1.17.13

3 years ago

1.17.11

3 years ago

1.17.12

3 years ago

1.17.10

3 years ago

1.17.9

3 years ago

1.17.8

3 years ago

1.17.6

3 years ago

1.17.7

3 years ago

1.17.5

3 years ago

1.17.4

3 years ago

1.16.10

3 years ago

1.16.11

3 years ago

1.16.9

3 years ago

1.16.8

3 years ago

1.17.2

3 years ago

1.17.1

3 years ago

1.17.0

3 years ago

1.17.3

3 years ago

1.16.7

3 years ago

1.16.6

3 years ago

1.16.5

3 years ago

1.16.4

3 years ago

1.16.2

3 years ago

1.16.0

3 years ago

1.15.0

3 years ago

1.14.1

3 years ago

1.14.3

3 years ago

1.14.2

3 years ago

1.14.0

3 years ago

1.13.0

3 years ago

1.12.8

3 years ago

1.12.7

3 years ago

1.12.6

3 years ago

1.12.5

3 years ago

1.12.3

3 years ago

1.12.2

3 years ago

1.12.4

3 years ago

1.12.1

3 years ago

1.12.0

3 years ago

1.11.3

3 years ago

1.11.2

3 years ago

1.11.0

3 years ago

1.11.1

3 years ago

1.10.5

3 years ago

1.10.4

3 years ago

1.10.2

3 years ago

1.10.1

3 years ago

1.10.0

3 years ago

1.9.0

3 years ago

1.8.0

3 years ago

1.7.24

3 years ago

1.7.22

3 years ago

1.7.23

3 years ago

1.7.21

3 years ago

1.7.19

3 years ago

1.7.17

3 years ago

1.7.15

3 years ago

1.7.16

3 years ago

1.7.13

3 years ago

1.7.14

3 years ago

1.7.12

3 years ago

1.7.11

3 years ago

1.7.10

3 years ago

1.7.9

3 years ago

1.7.8

3 years ago

1.7.7

3 years ago

1.7.6

3 years ago

1.7.5

3 years ago

1.7.4

3 years ago

1.7.3

3 years ago

1.7.2

3 years ago

1.7.1

3 years ago

1.7.0

3 years ago

1.6.0

3 years ago

1.5.12

3 years ago

1.5.10

3 years ago

1.5.11

3 years ago

1.5.9

3 years ago

1.5.8

3 years ago

1.5.7

3 years ago

1.5.6

3 years ago

1.5.5

3 years ago

1.5.4

3 years ago

1.5.3

3 years ago

1.5.2

3 years ago

1.5.1

3 years ago

1.5.0

3 years ago

1.4.1

4 years ago

1.4.0

4 years ago

1.0.45

4 years ago

1.0.44

4 years ago

1.0.43

4 years ago

1.0.42

4 years ago

1.0.41

4 years ago

1.0.39

4 years ago

1.0.40

4 years ago

1.0.38

4 years ago

1.0.37

4 years ago

1.0.36

4 years ago

1.0.35

4 years ago

1.0.34

4 years ago

1.0.33

4 years ago

1.0.32

4 years ago

1.0.31

4 years ago

1.0.30

4 years ago

1.0.29

4 years ago

1.0.28

4 years ago

1.0.27

4 years ago

1.0.26

4 years ago

1.0.25

4 years ago

1.0.24

4 years ago

1.0.23

4 years ago

1.0.22

4 years ago

1.0.21

4 years ago

1.0.20

4 years ago

1.0.19

4 years ago

1.0.18

4 years ago

1.0.17

4 years ago

1.0.16

4 years ago

1.0.15

4 years ago

1.0.14

4 years ago

1.0.13

4 years ago

1.0.12

4 years ago

1.0.11

4 years ago

1.0.10

4 years ago

1.0.9

4 years ago

1.0.8

4 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago