-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
IBX-8778: Introduce API Platform annotations with schemas
- Loading branch information
Showing
7 changed files
with
778 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,273 @@ | ||
schemas: | ||
Role: | ||
allOf: | ||
- $ref: "#/components/schemas/BaseObject" | ||
- description: This class represents a role. | ||
type: object | ||
required: | ||
- identifier | ||
- Policies | ||
properties: | ||
identifier: | ||
description: Readable string identifier of a role. | ||
type: string | ||
Policies: | ||
description: Returns the list of policies of this role. | ||
type: | ||
$ref: "#/components/schemas/BaseObject" | ||
RoleWrapper: | ||
type: object | ||
required: | ||
- Role | ||
properties: | ||
Role: | ||
$ref: "#/components/schemas/Role" | ||
RoleDraft: | ||
description: This class represents a draft of a role, extends Role. | ||
type: | ||
$ref: "#/components/schemas/Role" | ||
RoleDraftWrapper: | ||
type: object | ||
required: | ||
- Role | ||
properties: | ||
Role: | ||
$ref: "#/components/schemas/RoleDraft" | ||
RoleInput: | ||
description: This class represents a Role input. | ||
type: object | ||
required: | ||
- identifier | ||
properties: | ||
identifier: | ||
type: string | ||
RoleInputWrapper: | ||
type: object | ||
required: | ||
- RoleInput | ||
properties: | ||
RoleInput: | ||
$ref: "#/components/schemas/RoleInput" | ||
RoleList: | ||
allOf: | ||
- $ref: "#/components/schemas/BaseObject" | ||
- description: This class represents a list roles. | ||
type: object | ||
required: | ||
- Role | ||
properties: | ||
Role: | ||
type: array | ||
items: | ||
$ref: "#/components/schemas/Role" | ||
RoleListWrapper: | ||
type: object | ||
required: | ||
- RoleList | ||
properties: | ||
RoleList: | ||
$ref: "#/components/schemas/RoleList" | ||
Policy: | ||
allOf: | ||
- $ref: "#/components/schemas/BaseObject" | ||
- description: This class represents a policy value. | ||
type: object | ||
required: | ||
- id | ||
- module | ||
- function | ||
properties: | ||
id: | ||
description: ID of the policy. | ||
type: integer | ||
module: | ||
description: Name of module, associated with the Policy e.g. content. | ||
type: string | ||
function: | ||
description: Name of the module function Or all functions with '*' e.g. read. | ||
type: string | ||
limitations: | ||
description: Limitations. | ||
type: object | ||
required: | ||
- limitation | ||
properties: | ||
limitation: | ||
type: array | ||
items: | ||
$ref: "#/components/schemas/Limitation" | ||
PolicyWrapper: | ||
type: object | ||
required: | ||
- Policy | ||
properties: | ||
Policy: | ||
$ref: "#/components/schemas/Policy" | ||
Limitation: | ||
description: This class represents a Limitation applied to a policy. | ||
type: object | ||
required: | ||
- _identifier | ||
- values | ||
properties: | ||
_identifier: | ||
description: "Returns the limitation identifier (one of the defined constants) or a custom limitation. Constants: CONTENTTYPE = Class; LANGUAGE = Language; LOCATION = Node; OWNER = Owner; PARENTOWNER = ParentOwner; PARENTCONTENTTYPE = ParentClass; PARENTDEPTH = ParentDepth; SECTION = Section; NEWSECTION = NewSection; SITEACCESS = SiteAccess; STATE = State; NEWSTATE = NewState; SUBTREE = Subtree; USERGROUP = Group; PARENTUSERGROUP = ParentGroup; STATUS = Status." | ||
enum: | ||
- ContentType | ||
- Language | ||
- Location | ||
- Owner | ||
- Parentowner | ||
- ParentContentType | ||
- ParentDepth | ||
- Section | ||
- NewSection | ||
- SiteAccess | ||
- State | ||
- NewState | ||
- Subtree | ||
- UserGroup | ||
- ParentUserGroup | ||
- Status | ||
- Class | ||
xml: | ||
attribute: true | ||
name: identifier | ||
type: string | ||
values: | ||
description: A read-only list of IDs or identifiers for which the limitation should be applied. The value of this property must conform to a hash, which means that it may only consist of array and scalar values, but must not contain objects or resources. | ||
type: object | ||
required: | ||
- $ref | ||
properties: | ||
ref: | ||
type: array | ||
items: | ||
$ref: "#/components/schemas/Ref" | ||
PolicyList: | ||
allOf: | ||
- $ref: "#/components/schemas/BaseObject" | ||
- description: List of policies. | ||
type: object | ||
required: | ||
- Policy | ||
properties: | ||
Policy: | ||
type: array | ||
items: | ||
$ref: "#/components/schemas/Policy" | ||
PolicyListWrapper: | ||
type: object | ||
required: | ||
- PolicyList | ||
properties: | ||
PolicyList: | ||
$ref: "#/components/schemas/PolicyList" | ||
PolicyCreate: | ||
allOf: | ||
- $ref: "#/components/schemas/BaseObject" | ||
- description: This class is used to create a Policy. | ||
type: object | ||
required: | ||
- module | ||
- function | ||
- Limitations | ||
properties: | ||
module: | ||
description: Name of module associated with the Policy. For example, content. | ||
type: string | ||
function: | ||
description: Name of the module function, or all functions with ''*''. For example, read. | ||
type: string | ||
Limitations: | ||
type: array | ||
items: | ||
$ref: "#/components/schemas/Limitation" | ||
PolicyCreateWrapper: | ||
type: object | ||
required: | ||
- PolicyCreate | ||
properties: | ||
PolicyCreate: | ||
$ref: "#/components/schemas/PolicyCreate" | ||
PolicyUpdate: | ||
allOf: | ||
- $ref: "#/components/schemas/BaseObject" | ||
- description: This class is used to update a Policy. | ||
type: object | ||
required: | ||
- Limitations | ||
properties: | ||
Limitations: | ||
type: array | ||
items: | ||
$ref: "#/components/schemas/Limitation" | ||
PolicyUpdateWrapper: | ||
type: object | ||
required: | ||
- PolicyUpdate | ||
properties: | ||
PolicyUpdate: | ||
$ref: "#/components/schemas/PolicyUpdate" | ||
RoleAssignment: | ||
allOf: | ||
- $ref: "#/components/schemas/BaseObject" | ||
- description: This value object represents an assignment of a User or User group to a role including a limitation. | ||
type: object | ||
required: | ||
- Role | ||
properties: | ||
limitation: | ||
description: Returns the limitation of the role assignment. | ||
Role: | ||
description: Returns the role to which the User or User group is assigned to. | ||
type: | ||
$ref: "#/components/schemas/Ref" | ||
RoleAssignmentWrapper: | ||
type: object | ||
required: | ||
- RoleAssignment | ||
properties: | ||
RoleAssignment: | ||
$ref: "#/components/schemas/RoleAssignment" | ||
RoleAssignInput: | ||
description: This class represents a Role assign input. | ||
type: object | ||
required: | ||
- Role | ||
- limitation | ||
properties: | ||
Role: | ||
description: Returns the Role to which the user or user group is assigned to. | ||
type: | ||
$ref: "#/components/schemas/Ref" | ||
limitation: | ||
description: Returns the Limitation of the Role assignment. | ||
type: | ||
$ref: "#/components/schemas/Limitation" | ||
RoleAssignInputWrapper: | ||
type: object | ||
required: | ||
- RoleAssignInput | ||
properties: | ||
RoleAssignInput: | ||
$ref: "#/components/schemas/RoleAssignInput" | ||
RoleAssignmentList: | ||
allOf: | ||
- $ref: "#/components/schemas/BaseObject" | ||
- description: This value object represents a list of assignments of a User or User group to a role including a limitation. | ||
type: object | ||
required: | ||
- RoleAssignment | ||
properties: | ||
RoleAssignment: | ||
type: array | ||
items: | ||
$ref: "#/components/schemas/RoleAssignment" | ||
RoleAssignmentListWrapper: | ||
type: object | ||
required: | ||
- RoleAssignmentList | ||
properties: | ||
RoleAssignmentList: | ||
$ref: "#/components/schemas/RoleAssignmentList" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,52 @@ | ||
schemas: | ||
Session: | ||
allOf: | ||
- $ref: "#/components/schemas/BaseObject" | ||
- description: Value for session. | ||
type: object | ||
required: | ||
- name | ||
- identifier | ||
- csrfToken | ||
- User | ||
properties: | ||
name: | ||
description: Name. | ||
type: string | ||
identifier: | ||
description: Identifier. | ||
type: string | ||
csrfToken: | ||
description: csrfToken. | ||
type: string | ||
User: | ||
description: User. | ||
type: | ||
$ref: "#/components/schemas/BaseObject" | ||
SessionWrapper: | ||
type: object | ||
required: | ||
- Session | ||
properties: | ||
Session: | ||
$ref: "#/components/schemas/Session" | ||
SessionInput: | ||
allOf: | ||
- $ref: "#/components/schemas/BaseObject" | ||
- description: This class represents a session input. | ||
type: object | ||
required: | ||
- login | ||
- password | ||
properties: | ||
login: | ||
type: string | ||
password: | ||
type: string | ||
SessionInputWrapper: | ||
type: object | ||
required: | ||
- SessionInput | ||
properties: | ||
SessionInput: | ||
$ref: "#/components/schemas/SessionInput" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
schemas: | ||
JWT: | ||
description: This class represents the JWT authentication token | ||
type: object | ||
required: | ||
- token | ||
properties: | ||
token: | ||
description: JWT authentication token | ||
type: string | ||
JWTWrapper: | ||
type: object | ||
required: | ||
- JWT | ||
properties: | ||
JWT: | ||
$ref: "#/components/schemas/JWT" | ||
JWTInput: | ||
allOf: | ||
- $ref: "#/components/schemas/BaseObject" | ||
- description: This class represents the input for a JWT authentication token | ||
type: object | ||
required: | ||
- username | ||
- password | ||
properties: | ||
username: | ||
description: User name | ||
type: string | ||
password: | ||
description: User password | ||
type: string | ||
JWTInputWrapper: | ||
type: object | ||
required: | ||
- JWTInput | ||
properties: | ||
JWTInput: | ||
$ref: "#/components/schemas/JWTInput" |
Oops, something went wrong.