From a53194b4a0e487ad5d47daefc2158e1d23f10b4b Mon Sep 17 00:00:00 2001 From: okbel Date: Fri, 23 Mar 2018 15:51:04 -0300 Subject: [PATCH 01/21] Removing styles from sign in --- .../stream/components/SetUsernameDialog.css | 7 -- .../stream/components/SetUsernameDialog.js | 95 +++++++++---------- 2 files changed, 44 insertions(+), 58 deletions(-) diff --git a/plugins/talk-plugin-auth/client/stream/components/SetUsernameDialog.css b/plugins/talk-plugin-auth/client/stream/components/SetUsernameDialog.css index c1947ca7d..856e95642 100644 --- a/plugins/talk-plugin-auth/client/stream/components/SetUsernameDialog.css +++ b/plugins/talk-plugin-auth/client/stream/components/SetUsernameDialog.css @@ -1,10 +1,3 @@ -.dialogusername { - border: none; - box-shadow: 0 9px 46px 8px rgba(0, 0, 0, 0.14), 0 11px 15px -7px rgba(0, 0, 0, 0.12), 0 24px 38px 3px rgba(0, 0, 0, 0.2); - width: 400px; - top: 10px; -} - .yourusername { display: block; } diff --git a/plugins/talk-plugin-auth/client/stream/components/SetUsernameDialog.js b/plugins/talk-plugin-auth/client/stream/components/SetUsernameDialog.js index 0fd742879..9cacc70b8 100644 --- a/plugins/talk-plugin-auth/client/stream/components/SetUsernameDialog.js +++ b/plugins/talk-plugin-auth/client/stream/components/SetUsernameDialog.js @@ -1,12 +1,7 @@ import React from 'react'; import PropTypes from 'prop-types'; import styles from './SetUsernameDialog.css'; -import { - Dialog, - Alert, - TextField, - Button, -} from 'plugin-api/beta/client/components/ui'; +import { Alert, TextField, Button } from 'plugin-api/beta/client/components/ui'; import { FakeComment } from './FakeComment'; import { t } from 'plugin-api/beta/client/services'; @@ -22,52 +17,50 @@ class SetUsernameDialog extends React.Component { const { username, usernameError, errorMessage } = this.props; return ( - -
-
-

- {t('talk-plugin-auth.set_username_dialog.write_your_username')} -

-
-
-

- {t('talk-plugin-auth.set_username_dialog.your_username')} -

- - {errorMessage && {errorMessage}} -
- {usernameError && ( - - {' '} - {t( - 'talk-plugin-auth.set_username_dialog.special_characters' - )}{' '} - - )} -
- - -
-
-
+
+
+

+ {t('talk-plugin-auth.set_username_dialog.write_your_username')} +

-
+
+

+ {t('talk-plugin-auth.set_username_dialog.your_username')} +

+ + {errorMessage && {errorMessage}} +
+ {usernameError && ( + + {' '} + {t( + 'talk-plugin-auth.set_username_dialog.special_characters' + )}{' '} + + )} +
+ + +
+
+
+ ); } } From 2fe17d29e398d674aae45701488ee9f75834270a Mon Sep 17 00:00:00 2001 From: okbel Date: Fri, 23 Mar 2018 16:03:33 -0300 Subject: [PATCH 02/21] Working on containers --- docs/source/_data/introspection.json | 9203 +++++++++++++++++ .../client/login/constants.js | 2 + .../talk-plugin-auth/client/login/reducer.js | 11 + .../stream/components/SetUsernameDialog.css | 7 + .../stream/components/SetUsernameDialog.js | 93 +- 5 files changed, 9273 insertions(+), 43 deletions(-) create mode 100644 docs/source/_data/introspection.json diff --git a/docs/source/_data/introspection.json b/docs/source/_data/introspection.json new file mode 100644 index 000000000..4e5390999 --- /dev/null +++ b/docs/source/_data/introspection.json @@ -0,0 +1,9203 @@ +{ + "__schema": { + "queryType": { + "name": "RootQuery" + }, + "mutationType": { + "name": "RootMutation" + }, + "subscriptionType": { + "name": "Subscription" + }, + "types": [ + { + "kind": "OBJECT", + "name": "RootQuery", + "description": "", + "fields": [ + { + "name": "settings", + "description": "Site wide settings and defaults.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Settings", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "comment", + "description": "Finds a specific comment based on it's id.", + "args": [ + { + "name": "id", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Comment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "assets", + "description": "All assets. Requires the `ADMIN` role.", + "args": [ + { + "name": "query", + "description": "", + "type": { + "kind": "INPUT_OBJECT", + "name": "AssetsQuery", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "AssetConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "asset", + "description": "Find or create an asset by url, or just find with the ID.", + "args": [ + { + "name": "id", + "description": "", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "url", + "description": "", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Asset", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "comments", + "description": "Comments returned based on a query.", + "args": [ + { + "name": "query", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CommentsQuery", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CommentConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commentCount", + "description": "Return the count of comments satisfied by the query. Note that this edge is\nexpensive as it is not batched. Requires the `ADMIN` role.", + "args": [ + { + "name": "query", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CommentCountQuery", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userCount", + "description": "Return the count of users satisfied by the query. Note that this edge is\nexpensive as it is not batched. This field is restricted.", + "args": [ + { + "name": "query", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UserCountQuery", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "me", + "description": "The currently logged in user based on the request. Requires any logged in\nrole.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "User", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "users", + "description": "Users returned based on a query. Requires the `ADMIN` role.", + "args": [ + { + "name": "query", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UsersQuery", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UserConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "a single User by id", + "args": [ + { + "name": "id", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "User", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Settings", + "description": "", + "fields": [ + { + "name": "moderation", + "description": "moderation is the moderation mode for all Asset's on the site.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "MODERATION_MODE", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "requireEmailConfirmation", + "description": "Enables a requirement for email confirmation before a user can login.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "infoBoxEnable", + "description": "infoBoxEnable will enable the Info Box content visible above the question\nbox.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "infoBoxContent", + "description": "infoBoxContent is the content of the Info Box.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "questionBoxEnable", + "description": "questionBoxEnable will enable the Question Box's content to be visible above\nThe comment box.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "questionBoxContent", + "description": "questionBoxContent is the content of the Question Box.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "premodLinksEnable", + "description": "premodLinksEnable will put all comments that contain links into premod.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "questionBoxIcon", + "description": "questionBoxIcon is the icon for the Question Box.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "autoCloseStream", + "description": "autoCloseStream when true will auto close the stream when the `closeTimeout`\namount of seconds have been reached.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "customCssUrl", + "description": "customCssUrl is the URL of the custom CSS used to display on the frontend.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "closedTimeout", + "description": "closedTimeout is the amount of seconds from the created_at timestamp that a\ngiven asset will be considered closed.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "closedMessage", + "description": "closedMessage is the message shown to the user when the given Asset is\nclosed.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "editCommentWindowLength", + "description": "editCommentWindowLength is the length of time (in milliseconds) after a\ncomment is posted that it can still be edited by the author.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "charCountEnable", + "description": "charCountEnable is true when the character count restriction is enabled.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "charCount", + "description": "charCount is the maximum number of characters a comment may be.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "organizationName", + "description": "organizationName is the name of the organization.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "wordlist", + "description": "wordlist will return a given list of words.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Wordlist", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "domains", + "description": "domains will return a given list of domains.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Domains", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "notificationsRequireConfirmation", + "description": "notificationsRequireConfirmation when true indicates that User's must have\ntheir email address confirmed/verified before they can receive\nnotifications.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "MODERATION_MODE", + "description": "The moderation mode of the site.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "PRE", + "description": "Comments posted while in `PRE` mode will be labeled with a `PREMOD`\nstatus and will require a moderator decision before being visible.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "POST", + "description": "Comments posted while in `POST` will be visible immediately.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "Boolean", + "description": "The `Boolean` scalar type represents `true` or `false`.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "String", + "description": "The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "Int", + "description": "The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1. ", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Wordlist", + "description": "Wordlist describes all the available wordlists.", + "fields": [ + { + "name": "banned", + "description": "banned words will by default reject the comment if it is found.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "suspect", + "description": "suspect words will simply flag the comment.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Domains", + "description": "Domains describes all the available lists of domains.", + "fields": [ + { + "name": "whitelist", + "description": "whitelist is the list of domains that the embed is allowed to render on.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "ID", + "description": "The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `\"4\"`) or integer (such as `4`) input value will be accepted as an ID.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Comment", + "description": "", + "fields": [ + { + "name": "parent", + "description": "The parent of the comment (if there is one).", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Comment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "id", + "description": "The ID of the comment.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "body", + "description": "The actual comment data.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "body_history", + "description": "The body history of the comment.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CommentBodyHistory", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tags", + "description": "The tags on the comment", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TagLink", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "The user who authored the comment.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "User", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "replies", + "description": "The replies that were made to the comment.", + "args": [ + { + "name": "query", + "description": "", + "type": { + "kind": "INPUT_OBJECT", + "name": "RepliesQuery", + "ofType": null + }, + "defaultValue": "{sortOrder: ASC, sortBy: CREATED_AT, limit: 3}" + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CommentConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "replyCount", + "description": "replyCount is the number of replies with a depth of 1. Only direct replies\nto this comment are counted.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "actions", + "description": "Actions completed on the parent. Requires the `ADMIN` role.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Action", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "action_summaries", + "description": "Action summaries against a comment.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "ActionSummary", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "asset", + "description": "The asset that a comment was made on.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Asset", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status", + "description": "The current status of a comment.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "COMMENT_STATUS", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "status_history", + "description": "The status history of the comment. Requires the `ADMIN` or `MODERATOR` role.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CommentStatusHistory", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "created_at", + "description": "The time when the comment was created", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updated_at", + "description": "The time when the comment was updated.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "editing", + "description": "describes how the comment can be edited", + "args": [], + "type": { + "kind": "OBJECT", + "name": "EditInfo", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "hasParent", + "description": "Indicates if it has a parent", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "richTextBody", + "description": "", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "toxicity", + "description": "", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Float", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CommentBodyHistory", + "description": "", + "fields": [ + { + "name": "body", + "description": "", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "created_at", + "description": "", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "Date", + "description": "Date represented as an ISO8601 string", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "TagLink", + "description": "TagLink is used to associate a given Tag with a Model via a TagLink.", + "fields": [ + { + "name": "tag", + "description": "The underlying Tag that is either duplicated from the global list or created\nuniquely for this specific model.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Tag", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "assigned_by", + "description": "The user that assigned the tag. This TagLink could have been created by the\nsystem, in which case this will be null. It could also be null if the\ncurrent user is not an Admin/Moderator.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "User", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "created_at", + "description": "The date that the TagLink was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Tag", + "description": "Tag represents the underlying Tag that can be either stored in a global list\nor added uniquely to the entity.", + "fields": [ + { + "name": "name", + "description": "The actual name of the tag entry.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "created_at", + "description": "The time that this Tag was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "User", + "description": "", + "fields": [ + { + "name": "id", + "description": "The ID of the User.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "username", + "description": "Username of a user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "created_at", + "description": "creation date of user", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "action_summaries", + "description": "Action summaries against the user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "ActionSummary", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "actions", + "description": "Actions completed on the parent.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Action", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "role", + "description": "The current roles of the user.", + "args": [], + "type": { + "kind": "ENUM", + "name": "USER_ROLES", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "profiles", + "description": "The current profiles of the user.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "UserProfile", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "email", + "description": "The primary email address of the user. Only accessible to Administrators or\nthe current user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tags", + "description": "The tags on the user.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TagLink", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ignoredUsers", + "description": "ignored users.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "User", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tokens", + "description": "Tokens are the personal access tokens for a given user.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Token", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "comments", + "description": "returns all comments based on a query.", + "args": [ + { + "name": "query", + "description": "", + "type": { + "kind": "INPUT_OBJECT", + "name": "CommentsQuery", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CommentConnection", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reliable", + "description": "reliable is the reference to a given user's Reliability. If the requesting\nuser does not have permission to access the reliability, null will be\nreturned.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Reliability", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "state", + "description": "returns user status", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserState", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "notificationSettings", + "description": "", + "args": [], + "type": { + "kind": "OBJECT", + "name": "NotificationSettings", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "ActionSummary", + "description": "A summary of actions based on the specific grouping of the group_id.", + "fields": [ + { + "name": "count", + "description": "The count of actions with this group.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "current_user", + "description": "The current user's action.", + "args": [], + "type": { + "kind": "INTERFACE", + "name": "Action", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "DefaultActionSummary", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "FlagActionSummary", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DontAgreeActionSummary", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "RespectActionSummary", + "ofType": null + } + ] + }, + { + "kind": "INTERFACE", + "name": "Action", + "description": "An action rendered against a parent entity item.", + "fields": [ + { + "name": "id", + "description": "The ID of the action.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "The author of the action.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "User", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updated_at", + "description": "The time when the Action was updated.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "created_at", + "description": "The time when the Action was created.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "FlagAction", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DontAgreeAction", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "RespectAction", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DefaultAction", + "ofType": null + } + ] + }, + { + "kind": "ENUM", + "name": "USER_ROLES", + "description": "Roles that a user can have, these can be combined.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ADMIN", + "description": "an administrator of the site", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MODERATOR", + "description": "a moderator of the site", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "STAFF", + "description": "a staff of the site", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMMENTER", + "description": "a user without administrative roles.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "UserProfile", + "description": "", + "fields": [ + { + "name": "id", + "description": "The id is an identifier for the user profile (email, facebook id, etc)", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "provider", + "description": "name of the provider attached to the authentication mode", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "DefaultUserProfile", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "LocalUserProfile", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "Token", + "description": "Token is a personal access token associated with a given user.", + "fields": [ + { + "name": "id", + "description": "ID is the unique identifier for the token.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": "Name is the description for the token.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "active", + "description": "Active determines if the token is available to hit the API.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "jwt", + "description": "JWT is the actual token to use for authentication, this is only available\non token creation, otherwise it will be null.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CommentsQuery", + "description": "CommentsQuery allows the ability to query comments by a specific methods.", + "fields": null, + "inputFields": [ + { + "name": "author_id", + "description": "Author of the comments.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "statuses", + "description": "Current status of a comment.\nThis field is restricted.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "COMMENT_STATUS", + "ofType": null + } + } + }, + "defaultValue": "[NONE, ACCEPTED]" + }, + { + "name": "asset_id", + "description": "Asset that a comment is on.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "parent_id", + "description": "The parent of the comment that we want to retrieve.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "action_type", + "description": "Comments returned will only be ones which have at least one action of this\ntype. Requires the `ADMIN` role.", + "type": { + "kind": "ENUM", + "name": "ACTION_TYPE", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "limit", + "description": "Limit the number of results to be returned.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "10" + }, + { + "name": "cursor", + "description": "Skip results from the last created_at timestamp.", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sortOrder", + "description": "Sort the results by from largest first.", + "type": { + "kind": "ENUM", + "name": "SORT_ORDER", + "ofType": null + }, + "defaultValue": "DESC" + }, + { + "name": "sortBy", + "description": "The order to sort the comments by, sorting by default the created at\ntimestamp.", + "type": { + "kind": "ENUM", + "name": "SORT_COMMENTS_BY", + "ofType": null + }, + "defaultValue": "CREATED_AT" + }, + { + "name": "tags", + "description": "Filter by a specific tag name.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "excludeIgnored", + "description": "Exclude comments ignored by the requesting user", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "COMMENT_STATUS", + "description": "The statuses that a comment may have.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "NONE", + "description": "The comment is not PREMOD, but was not applied a moderation status by a\nmoderator.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ACCEPTED", + "description": "The comment has been accepted by a moderator.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REJECTED", + "description": "The comment has been rejected by a moderator.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "PREMOD", + "description": "The comment was created while the asset's premoderation option was on, and\nnew comments that haven't been moderated yet are referred to as\n\"premoderated\" or \"premod\" comments.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SYSTEM_WITHHELD", + "description": "SYSTEM_WITHHELD represents a comment that was withheld by the system because\nit was flagged by an internal process for further review.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ACTION_TYPE", + "description": "", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "FLAG", + "description": "Represents a FlagAction.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DONTAGREE", + "description": "Represents a don't agree action", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RESPECT", + "description": "Represents a Respect.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "Cursor", + "description": "Cursor represents a paginating cursor.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SORT_ORDER", + "description": "Establishes the ordering of the content by their created_at time stamp.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "DESC", + "description": "newest to oldest order.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ASC", + "description": "oldest to newer order.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "SORT_COMMENTS_BY", + "description": "", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "CREATED_AT", + "description": "Comments will be sorted by their created at date.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REPLIES", + "description": "Comments will be sorted by their immediate reply count (replies to the comment\nin question only, not including descendants).", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "RESPECTS", + "description": "Comments will be sorted by their count of respects\non the comment.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CommentConnection", + "description": "CommentConnection represents a paginable subset of a comment list.", + "fields": [ + { + "name": "hasNextPage", + "description": "Indicates that there are more comments after this subset.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startCursor", + "description": "Cursor of first comment in subset.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "endCursor", + "description": "Cursor of last comment in subset.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "Subset of comments.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Comment", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Reliability", + "description": "Reliability defines how a given user should be considered reliable for their\ncomment or flag activity.", + "fields": [ + { + "name": "flagger", + "description": "flagger will be `true` when the flagger is reliable, `false` if not, or\n`null` if the reliability cannot be determined.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commenter", + "description": "Commenter will be `true` when the commenter is reliable, `false` if not, or\n`null` if the reliability cannot be determined.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UserState", + "description": "UserState describes the different permission based details for a user.", + "fields": [ + { + "name": "status", + "description": "status describes the statuses of different aspects of the user's details.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "UserStatus", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UserStatus", + "description": "", + "fields": [ + { + "name": "username", + "description": "username is the status of the username.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UsernameStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "banned", + "description": "banned is the bool that determines if the user is banned or not.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BannedStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "suspension", + "description": "suspension is the date that the user is suspended until.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SuspensionStatus", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UsernameStatus", + "description": "", + "fields": [ + { + "name": "status", + "description": "", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "USER_STATUS_USERNAME", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "history", + "description": "", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "UsernameStatusHistory", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "USER_STATUS_USERNAME", + "description": "USER_STATUS_USERNAME is the different states that a username can be in.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "UNSET", + "description": "UNSET is used when the username can be changed, and does not necessarily\nrequire moderator action to become active. This can be used when the user\nsigns up with a social login and has the option of setting their own\nusername.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SET", + "description": "SET is used when the username has been set for the first time, but cannot\nchange without the username being rejected by a moderator and that moderator\nagreeing that the username should be allowed to change.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "APPROVED", + "description": "APPROVED is used when the username was changed, and subsequently approved by\nsaid moderator.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "REJECTED", + "description": "REJECTED is used when the username was changed, and subsequently rejected by\nsaid moderator.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "CHANGED", + "description": "CHANGED is used after a user has changed their username after it was\nrejected.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UsernameStatusHistory", + "description": "", + "fields": [ + { + "name": "status", + "description": "", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "USER_STATUS_USERNAME", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "assigned_by", + "description": "", + "args": [], + "type": { + "kind": "OBJECT", + "name": "User", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "created_at", + "description": "", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "BannedStatus", + "description": "", + "fields": [ + { + "name": "status", + "description": "", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "history", + "description": "", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "BannedStatusHistory", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "BannedStatusHistory", + "description": "", + "fields": [ + { + "name": "status", + "description": "", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "assigned_by", + "description": "", + "args": [], + "type": { + "kind": "OBJECT", + "name": "User", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "created_at", + "description": "", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SuspensionStatus", + "description": "", + "fields": [ + { + "name": "until", + "description": "", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "history", + "description": "", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "SuspensionStatusHistory", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SuspensionStatusHistory", + "description": "", + "fields": [ + { + "name": "until", + "description": "", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "assigned_by", + "description": "", + "args": [], + "type": { + "kind": "OBJECT", + "name": "User", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "created_at", + "description": "", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "NotificationSettings", + "description": "", + "fields": [ + { + "name": "digestFrequency", + "description": "", + "args": [], + "type": { + "kind": "ENUM", + "name": "DIGEST_FREQUENCY", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "onReply", + "description": "", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "onFeatured", + "description": "", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "onStaffReply", + "description": "", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "DIGEST_FREQUENCY", + "description": "", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "NONE", + "description": "NONE will have the notifications send immediatly rather than bundling\nfor digesting.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "HOURLY", + "description": "HOURLY will queue up the notifications and send them hourly.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "DAILY", + "description": "DAILY will queue up the notifications and send them daily.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "RepliesQuery", + "description": "", + "fields": null, + "inputFields": [ + { + "name": "sortOrder", + "description": "Sort the results by from smallest first.", + "type": { + "kind": "ENUM", + "name": "SORT_ORDER", + "ofType": null + }, + "defaultValue": "ASC" + }, + { + "name": "sortBy", + "description": "The order to sort the comments by, sorting by default the created at\ntimestamp.", + "type": { + "kind": "ENUM", + "name": "SORT_COMMENTS_BY", + "ofType": null + }, + "defaultValue": "CREATED_AT" + }, + { + "name": "limit", + "description": "Limit the number of results to be returned.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "3" + }, + { + "name": "excludeIgnored", + "description": "Exclude comments ignored by the requesting user", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Asset", + "description": "Where comments are made on.", + "fields": [ + { + "name": "id", + "description": "The current ID of the asset.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "title", + "description": "The scraped title of the asset.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "url", + "description": "The URL that the asset is located on.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "comments", + "description": "The comments that are attached to the asset. When `deep` is true, the\ncomments returned will be at all depths.", + "args": [ + { + "name": "query", + "description": "", + "type": { + "kind": "INPUT_OBJECT", + "name": "CommentsQuery", + "ofType": null + }, + "defaultValue": "{statuses: [NONE, ACCEPTED], limit: 10, sortOrder: DESC, sortBy: CREATED_AT}" + }, + { + "name": "deep", + "description": "", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + } + ], + "type": { + "kind": "OBJECT", + "name": "CommentConnection", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "comment", + "description": "A Comment from the Asset by comment's ID", + "args": [ + { + "name": "id", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Comment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commentCount", + "description": "The count of top level comments on the asset.", + "args": [ + { + "name": "tags", + "description": "", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "totalCommentCount", + "description": "The total count of all comments made on the asset.", + "args": [ + { + "name": "tags", + "description": "", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "settings", + "description": "The settings (rectified with the global settings) that should be applied to\nthis asset.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Settings", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "closedAt", + "description": "The date that the asset was closed at.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isClosed", + "description": "True if asset is closed.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "action_summaries", + "description": "Summary of all Actions against all entities associated with the Asset.\n(likes, flags, etc.). Requires the `ADMIN` role.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "AssetActionSummary", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "created_at", + "description": "The date that the asset was created.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "tags", + "description": "The tags on the asset", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "TagLink", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "author", + "description": "The author(s) of the asset.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "AssetActionSummary", + "description": "A summary of actions for a specific action type on an Asset.", + "fields": [ + { + "name": "actionCount", + "description": "Number of actions associated with actionable types on this this Asset.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "actionableItemCount", + "description": "Number of unique actionable types that are referenced by the actions.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "DefaultAssetActionSummary", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "FlagAssetActionSummary", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "RespectAssetActionSummary", + "ofType": null + } + ] + }, + { + "kind": "OBJECT", + "name": "CommentStatusHistory", + "description": "", + "fields": [ + { + "name": "type", + "description": "", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "COMMENT_STATUS", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "created_at", + "description": "", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "assigned_by", + "description": "", + "args": [], + "type": { + "kind": "OBJECT", + "name": "User", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "EditInfo", + "description": "", + "fields": [ + { + "name": "edited", + "description": "", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "editableUntil", + "description": "", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "SCALAR", + "name": "Float", + "description": "The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](http://en.wikipedia.org/wiki/IEEE_floating_point). ", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "AssetsQuery", + "description": "AssetsQuery allows teh ability to query assets by specific fields", + "fields": null, + "inputFields": [ + { + "name": "value", + "description": "a search string to match against titles, authors, urls, etc.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": "\"\"" + }, + { + "name": "limit", + "description": "Limit the number of results to be returned", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "10" + }, + { + "name": "open", + "description": "open filters assets that are open/closed/all. Not providing this parameter\nwill return all the assets, true will return assets that are open, and false\nwill return assets that are closed.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sortOrder", + "description": "sortOrder specifies the order of the sort for the returned Assets.", + "type": { + "kind": "ENUM", + "name": "SORT_ORDER", + "ofType": null + }, + "defaultValue": "DESC" + }, + { + "name": "cursor", + "description": "Skip results from the last created_at timestamp.", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "AssetConnection", + "description": "AssetConnection represents a paginable subset of a asset list.", + "fields": [ + { + "name": "hasNextPage", + "description": "Indicates that there are more assets after this subset.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startCursor", + "description": "Cursor of first asset in subset.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "endCursor", + "description": "Cursor of last asset in subset.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "Subset of assets.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Asset", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CommentCountQuery", + "description": "CommentCountQuery allows the ability to query comment counts by specific\nmethods.", + "fields": null, + "inputFields": [ + { + "name": "statuses", + "description": "Current status of a comment.\nThis field is restricted.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "COMMENT_STATUS", + "ofType": null + } + } + }, + "defaultValue": "[NONE, ACCEPTED]" + }, + { + "name": "asset_id", + "description": "Asset that a comment is on.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "asset_url", + "description": "The URL that the asset is located on.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "parent_id", + "description": "The parent of the comment that we want to retrieve.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "action_type", + "description": "comments returned will only be ones which have at least one action of this\ntype.", + "type": { + "kind": "ENUM", + "name": "ACTION_TYPE", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "author_id", + "description": "author_id allows the querying of comment counts based on the author of the\ncomments.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "tags", + "description": "Filter by a specific tag name.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UserCountQuery", + "description": "UserCountQuery allows the ability to query user counts by specific\nmethods.", + "fields": null, + "inputFields": [ + { + "name": "action_type", + "description": "comments returned will only be ones which have at least one action of this\ntype.", + "type": { + "kind": "ENUM", + "name": "ACTION_TYPE", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "state", + "description": "state queries for a specific subset of users with the given state query.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UserStateInput", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UserStateInput", + "description": "", + "fields": null, + "inputFields": [ + { + "name": "status", + "description": "", + "type": { + "kind": "INPUT_OBJECT", + "name": "UserStatusInput", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UserStatusInput", + "description": "UserStatusInput describes the queryable components of the UserStatus.", + "fields": null, + "inputFields": [ + { + "name": "username", + "description": "username will restrict the returned users to only those with the given\nusername status's. If not provided, no filtering will be performed.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "USER_STATUS_USERNAME", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "banned", + "description": "banned will restrict the returned users to only those that are, or are not\nbanned. If not provided, no filtering will be performed.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "suspended", + "description": "suspended will restrict the returned users to only those that are, or are not\nsuspended. If not provided, no filtering will be performed.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UsersQuery", + "description": "UsersQuery allows the ability to query users by a specific fields.", + "fields": null, + "inputFields": [ + { + "name": "action_type", + "description": "Users returned will only be ones which have at least one action of this.", + "type": { + "kind": "ENUM", + "name": "ACTION_TYPE", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "state", + "description": "state will filter the users to a specific set of users that meet.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UserStateInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "value", + "description": "value is the search string to use to search for a pa", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": "\"\"" + }, + { + "name": "limit", + "description": "Limit the number of results to be returned.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": "10" + }, + { + "name": "cursor", + "description": "Skip results from the last created_at timestamp.", + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "sortOrder", + "description": "Sort the results by created_at.", + "type": { + "kind": "ENUM", + "name": "SORT_ORDER", + "ofType": null + }, + "defaultValue": "DESC" + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UserConnection", + "description": "UserConnection represents a paginable subset of a user list.", + "fields": [ + { + "name": "hasNextPage", + "description": "Indicates that there are more users after this subset.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "startCursor", + "description": "Cursor of first user in subset.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "endCursor", + "description": "Cursor of last user in subset.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Cursor", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "nodes", + "description": "Subset of users.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "User", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "RootMutation", + "description": "", + "fields": [ + { + "name": "createComment", + "description": "Creates a comment on the asset.", + "args": [ + { + "name": "input", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CreateCommentInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CreateCommentResponse", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createFlag", + "description": "Creates a flag on an entity.", + "args": [ + { + "name": "flag", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CreateFlagInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CreateFlagResponse", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createDontAgree", + "description": "Creates a don't agree action on an entity.", + "args": [ + { + "name": "dontagree", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CreateDontAgreeInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CreateDontAgreeResponse", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deleteAction", + "description": "Delete an action based on the action id.", + "args": [ + { + "name": "id", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DeleteActionResponse", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "editComment", + "description": "Edit a comment", + "args": [ + { + "name": "id", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "asset_id", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "edit", + "description": "", + "type": { + "kind": "INPUT_OBJECT", + "name": "EditCommentInput", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "EditCommentResponse", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "suspendUser", + "description": "Sets the suspension status on a given user. Requires the `MODERATOR` role.\nMutation is restricted.", + "args": [ + { + "name": "input", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "SuspendUserInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SuspendUserResponse", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "unsuspendUser", + "description": "Sets the suspension status on a given user. Requires the `MODERATOR` role.\nMutation is restricted.", + "args": [ + { + "name": "input", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UnsuspendUserInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UnsuspendUserResponse", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "banUser", + "description": "Sets the ban status on a given user. Requires the `MODERATOR` role.\nMutation is restricted.", + "args": [ + { + "name": "input", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "BanUserInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "BanUsersResponse", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "unbanUser", + "description": "Sets the ban status on a given user. Requires the `MODERATOR` role.\nMutation is restricted.", + "args": [ + { + "name": "input", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UnbanUserInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UnbanUserResponse", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "approveUsername", + "description": "Sets the username status on a given user to `APPROVED`. Requires the\n`MODERATOR` role. Mutation is restricted.", + "args": [ + { + "name": "id", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SetUsernameStatusResponse", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "rejectUsername", + "description": "Sets the username status on a given user to `REJECTED`. Requires the\n`MODERATOR` role. Mutation is restricted.", + "args": [ + { + "name": "id", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SetUsernameStatusResponse", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "changeUsername", + "description": "Changes the username to the desired username. Mutation is restricted to\nthose users with permission do to so.", + "args": [ + { + "name": "id", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "username", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ChangeUsernameResponse", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "setUsername", + "description": "Sets the username to the desired username if the user has not had a chance\nto set their username. Mutation is restricted to those users with permission\ndo to so that have not done so before.", + "args": [ + { + "name": "id", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "username", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SetUsernameResponse", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "setCommentStatus", + "description": "Sets Comment status. Requires the `ADMIN` role.\nMutation is restricted.", + "args": [ + { + "name": "id", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "status", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "COMMENT_STATUS", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SetCommentStatusResponse", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "addTag", + "description": "Add a tag.", + "args": [ + { + "name": "tag", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ModifyTagInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ModifyTagResponse", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "removeTag", + "description": "Removes a tag.", + "args": [ + { + "name": "tag", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "ModifyTagInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ModifyTagResponse", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "setUserRole", + "description": "Set's a given users role to the one provided. If `null` is passed, the user\nwill not have any role.", + "args": [ + { + "name": "id", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "role", + "description": "", + "type": { + "kind": "ENUM", + "name": "USER_ROLES", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "SetUserRoleResponse", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateAssetSettings", + "description": "Updates settings on a given asset.\nMutation is restricted.", + "args": [ + { + "name": "id", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "input", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "AssetSettingsInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UpdateAssetSettingsResponse", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateAssetStatus", + "description": "Updates the status of an asset allowing you to close/reopen an asset for\ncommenting.\nMutation is restricted.", + "args": [ + { + "name": "id", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "input", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateAssetStatusInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UpdateAssetStatusResponse", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "closeAsset", + "description": "closeAsset will close the asset for commenting based on server time.", + "args": [ + { + "name": "id", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CloseAssetResponse", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateSettings", + "description": "updateSettings will update the global settings.\nMutation is restricted.", + "args": [ + { + "name": "input", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "UpdateSettingsInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UpdateSettingsResponse", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ignoreUser", + "description": "Ignore comments by another user", + "args": [ + { + "name": "id", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "IgnoreUserResponse", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createToken", + "description": "CreateToken will create a token that is attached to the current user.\nMutation is restricted.", + "args": [ + { + "name": "input", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CreateTokenInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CreateTokenResponse", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "revokeToken", + "description": "RevokeToken will revoke an existing token.\nMutation is restricted.", + "args": [ + { + "name": "input", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "RevokeTokenInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "RevokeTokenResponse", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "stopIgnoringUser", + "description": "Stop Ignoring comments by another user.", + "args": [ + { + "name": "id", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "StopIgnoringUserResponse", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "forceScrapeAsset", + "description": "forceScrapeAsset will force scrape the Asset with the given ID.", + "args": [ + { + "name": "id", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "ForceScrapeAssetResponse", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "delUser", + "description": "delUser will delete the user with the specified id.", + "args": [ + { + "name": "id", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DelUserResponse", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "createRespectAction", + "description": "Creates a respect on an entity.", + "args": [ + { + "name": "input", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "CreateRespectActionInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "CreateRespectActionResponse", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deleteRespectAction", + "description": "", + "args": [ + { + "name": "input", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "DeleteRespectActionInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "DeleteRespectActionResponse", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updateNotificationSettings", + "description": "updateNotificationSettings will update the current user's notification\nsettings.", + "args": [ + { + "name": "input", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INPUT_OBJECT", + "name": "NotificationSettingsInput", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UpdateNotificationSettingsResponse", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CreateCommentInput", + "description": "", + "fields": null, + "inputFields": [ + { + "name": "asset_id", + "description": "The asset id", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "parent_id", + "description": "The id of the parent comment", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "body", + "description": "The body of the comment", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "tags", + "description": "Tags", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "richTextBody", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "checkToxicity", + "description": "If true, the mutation will fail when the\nbody contains toxic language.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CreateCommentResponse", + "description": "CreateCommentResponse is returned with the comment that was created and any\nerrors that may have occurred in the attempt to create it.", + "fields": [ + { + "name": "comment", + "description": "The comment that was created.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Comment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "actions", + "description": "Actions that was assigned during creation of the comment.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "Action", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "An array of errors relating to the mutation that occurred.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "UserError", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Response", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INTERFACE", + "name": "Response", + "description": "Response defines what can be expected from any response to a mutation action.", + "fields": [ + { + "name": "errors", + "description": "An array of errors relating to the mutation that occurred.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "UserError", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "CreateCommentResponse", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CreateFlagResponse", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CreateDontAgreeResponse", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DeleteActionResponse", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "EditCommentResponse", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SuspendUserResponse", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UnsuspendUserResponse", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "BanUsersResponse", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UnbanUserResponse", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SetUsernameStatusResponse", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ChangeUsernameResponse", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SetUsernameResponse", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SetCommentStatusResponse", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ModifyTagResponse", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "SetUserRoleResponse", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UpdateAssetSettingsResponse", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UpdateAssetStatusResponse", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CloseAssetResponse", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UpdateSettingsResponse", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "IgnoreUserResponse", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CreateTokenResponse", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "RevokeTokenResponse", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "StopIgnoringUserResponse", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ForceScrapeAssetResponse", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DelUserResponse", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "CreateRespectActionResponse", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "DeleteRespectActionResponse", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "UpdateNotificationSettingsResponse", + "ofType": null + } + ] + }, + { + "kind": "INTERFACE", + "name": "UserError", + "description": "Any error rendered due to the user's input.", + "fields": [ + { + "name": "translation_key", + "description": "Translation key relating to a translatable string containing details to be\ndisplayed to the end user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": null, + "enumValues": null, + "possibleTypes": [ + { + "kind": "OBJECT", + "name": "GenericUserError", + "ofType": null + }, + { + "kind": "OBJECT", + "name": "ValidationUserError", + "ofType": null + } + ] + }, + { + "kind": "INPUT_OBJECT", + "name": "CreateFlagInput", + "description": "", + "fields": null, + "inputFields": [ + { + "name": "item_id", + "description": "The item's id for which we are to create a flag.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "item_type", + "description": "The type of the item for which we are to create the flag.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ACTION_ITEM_TYPE", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "reason", + "description": "The reason for flagging the item.", + "type": { + "kind": "ENUM", + "name": "FLAG_REASON", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "message", + "description": "An optional message sent with the flagging action by the user.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ACTION_ITEM_TYPE", + "description": "Used to represent the item type for an action.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ASSETS", + "description": "The action references a entity of type Asset.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMMENTS", + "description": "The action references a entity of type Comment.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "USERS", + "description": "The action references a entity of type User.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "FLAG_REASON", + "description": "", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "USERNAME_OFFENSIVE", + "description": "The current user thinks that the flagged username is offensive.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "USERNAME_NOLIKE", + "description": "The current user does not like the flagged username.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "USERNAME_IMPERSONATING", + "description": "The current user thinks that the flagged username is being used to\nimpersonate another user.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "USERNAME_SPAM", + "description": "The current user thinks that the flagged username is spam.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "USERNAME_OTHER", + "description": "The current user thinks that the flagged username is wrong for another\nreason.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMMENT_OFFENSIVE", + "description": "The current user thinks that the flagged comment is offensive.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMMENT_SPAM", + "description": "The current user thinks that the flagged comment is spam.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMMENT_OTHER", + "description": "The current user thinks that the flagged comment is wrong for another\nreason.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CreateFlagResponse", + "description": "CreateFlagResponse is the response returned with possibly some errors\nrelating to the creating the flag action attempt and possibly the flag that\nwas created.", + "fields": [ + { + "name": "flag", + "description": "The flag that was created.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "FlagAction", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "An array of errors relating to the mutation that occurred.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "UserError", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Response", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FlagAction", + "description": "A FLAG action that contains flag metadata.", + "fields": [ + { + "name": "id", + "description": "The ID of the Flag Action.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reason", + "description": "The reason for which the Flag Action was created.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "An optional message sent with the flagging action by the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "The user who created the action.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "User", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updated_at", + "description": "The time when the Flag Action was updated.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "created_at", + "description": "The time when the Flag Action was created.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Action", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CreateDontAgreeInput", + "description": "", + "fields": null, + "inputFields": [ + { + "name": "item_id", + "description": "The item's id for which we are to create a don't agree.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "item_type", + "description": "The type of the item for which we are to create the don't agree.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "ACTION_ITEM_TYPE", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "message", + "description": "An optional message sent with the don't agree action by the user.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CreateDontAgreeResponse", + "description": "CreateDontAgreeResponse is the response returned with possibly some errors\nrelating to the creating the don't agree action attempt and possibly the don't agree that\nwas created.", + "fields": [ + { + "name": "dontagree", + "description": "The don't agree that was created.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DontAgreeAction", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "An array of errors relating to the mutation that occurred.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "UserError", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Response", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DontAgreeAction", + "description": "A DONTAGREE action that contains do not agree metadata.", + "fields": [ + { + "name": "id", + "description": "The ID of the DontAgree Action.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "message", + "description": "An optional message sent with the flagging action by the user.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "The user who created the action.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "User", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updated_at", + "description": "The time when the DontAgree Action was updated.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "created_at", + "description": "The time when the DontAgree Action was created.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Action", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeleteActionResponse", + "description": "DeleteActionResponse is the response returned with possibly some errors\nrelating to the delete action attempt.", + "fields": [ + { + "name": "errors", + "description": "An array of errors relating to the mutation that occurred.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "UserError", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Response", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "EditCommentInput", + "description": "", + "fields": null, + "inputFields": [ + { + "name": "body", + "description": "Update body of the comment", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "richTextBody", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "EditCommentResponse", + "description": "EditCommentResponse contains the updated comment and any errors that occurred.", + "fields": [ + { + "name": "comment", + "description": "The edited comment.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Comment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "An array of errors relating to the mutation that occurred.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "UserError", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Response", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "SuspendUserInput", + "description": "", + "fields": null, + "inputFields": [ + { + "name": "id", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "message", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "until", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SuspendUserResponse", + "description": "", + "fields": [ + { + "name": "errors", + "description": "", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "UserError", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Response", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UnsuspendUserInput", + "description": "", + "fields": null, + "inputFields": [ + { + "name": "id", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UnsuspendUserResponse", + "description": "UnsuspendUserResponse is the response returned with possibly some\nerrors relating to the suspend action attempt.", + "fields": [ + { + "name": "errors", + "description": "An array of errors relating to the mutation that occurred.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "UserError", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Response", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "BanUserInput", + "description": "", + "fields": null, + "inputFields": [ + { + "name": "id", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "message", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "BanUsersResponse", + "description": "", + "fields": [ + { + "name": "errors", + "description": "", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "UserError", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Response", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UnbanUserInput", + "description": "", + "fields": null, + "inputFields": [ + { + "name": "id", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UnbanUserResponse", + "description": "", + "fields": [ + { + "name": "errors", + "description": "", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "UserError", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Response", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SetUsernameStatusResponse", + "description": "", + "fields": [ + { + "name": "errors", + "description": "An array of errors relating to the mutation that occurred.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "UserError", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Response", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ChangeUsernameResponse", + "description": "", + "fields": [ + { + "name": "errors", + "description": "An array of errors relating to the mutation that occurred.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "UserError", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Response", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SetUsernameResponse", + "description": "", + "fields": [ + { + "name": "errors", + "description": "An array of errors relating to the mutation that occurred.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "UserError", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Response", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SetCommentStatusResponse", + "description": "SetCommentStatusResponse is the response returned with possibly some errors\nrelating to the delete action attempt.", + "fields": [ + { + "name": "errors", + "description": "An array of errors relating to the mutation that occurred.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "UserError", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Response", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "ModifyTagInput", + "description": "ModifyTagInput is the input used to modify a tag.", + "fields": null, + "inputFields": [ + { + "name": "name", + "description": "name is the actual tag to add to the model.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "id", + "description": "id is the ID of the model in question that we are modifying the tag of.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "item_type", + "description": "item_type is the type of item that we are modifying the tag if.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "TAGGABLE_ITEM_TYPE", + "ofType": null + } + }, + "defaultValue": null + }, + { + "name": "asset_id", + "description": "asset_id is used when the item_type is `COMMENTS`, the is needed to rectify\nThe settings to get the asset specific tags/settings.", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "TAGGABLE_ITEM_TYPE", + "description": "Used to represent the item type for a tag.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "ASSETS", + "description": "The action references a entity of type Asset.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "COMMENTS", + "description": "The action references a entity of type Comment.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "USERS", + "description": "The action references a entity of type User.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ModifyTagResponse", + "description": "Response to the addTag or removeTag mutations.", + "fields": [ + { + "name": "errors", + "description": "An array of errors relating to the mutation that occurred.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "UserError", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Response", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "SetUserRoleResponse", + "description": "", + "fields": [ + { + "name": "errors", + "description": "An array of errors relating to the mutation that occurred.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "UserError", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Response", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "AssetSettingsInput", + "description": "Configurable settings that can be overridden for the Asset. You must specify\nall fields that should be updated.", + "fields": null, + "inputFields": [ + { + "name": "premodLinksEnable", + "description": "premodLinksEnable will put all comments that contain links into premod.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "moderation", + "description": "moderation is the moderation mode for the asset.", + "type": { + "kind": "ENUM", + "name": "MODERATION_MODE", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "questionBoxEnable", + "description": "questionBoxEnable will enable the Question Boxs' content to be visible above\nThe comment box.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "questionBoxContent", + "description": "questionBoxContent is the content of the Question Box.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "questionBoxIcon", + "description": "questionBoxIcon is the icon for the Question Box.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UpdateAssetSettingsResponse", + "description": "UpdateAssetSettingsResponse is the response returned with possibly some errors\nrelating to the update settings attempt.", + "fields": [ + { + "name": "errors", + "description": "An array of errors relating to the mutation that occurred.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "UserError", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Response", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UpdateAssetStatusInput", + "description": "UpdateAssetStatusInput contains the input to change the status of a comment as\nit relates to being open/closed for commenting.", + "fields": null, + "inputFields": [ + { + "name": "closedAt", + "description": "closedAt is the time that the asset will be closed for commenting. If this\nis null or in the future, it will be open for commenting.", + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedMessage", + "description": "closedMessage is the message to be set on the asset when it is closed. If it\nis null, then the message will default to the globally set `closedMessage`.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UpdateAssetStatusResponse", + "description": "UpdateAssetStatusResponse is the response returned with possibly some errors\nrelating to the update status attempt.", + "fields": [ + { + "name": "errors", + "description": "An array of errors relating to the mutation that occurred.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "UserError", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Response", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CloseAssetResponse", + "description": "CloseAssetResponse is the response returned with possibly some errors\nrelating to the update status attempt.", + "fields": [ + { + "name": "errors", + "description": "An array of errors relating to the mutation that occurred.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "UserError", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Response", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UpdateSettingsInput", + "description": "UpdateSettingsInput is the input used to input the global site settings. This\nwill override the existing settings, so all fields must be included.", + "fields": null, + "inputFields": [ + { + "name": "moderation", + "description": "moderation is the moderation mode for all Asset's on the site.", + "type": { + "kind": "ENUM", + "name": "MODERATION_MODE", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "requireEmailConfirmation", + "description": "Enables a requirement for email confirmation before a user can login.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "infoBoxEnable", + "description": "infoBoxEnable will enable the Info Box content visible above the question\nbox.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "infoBoxContent", + "description": "infoBoxContent is the content of the Info Box.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "questionBoxEnable", + "description": "questionBoxEnable will enable the Question Box's content to be visible above\nThe comment box.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "questionBoxContent", + "description": "questionBoxContent is the content of the Question Box.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "premodLinksEnable", + "description": "premodLinksEnable will put all comments that contain links into premod.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "questionBoxIcon", + "description": "questionBoxIcon is the icon for the Question Box.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "autoCloseStream", + "description": "autoCloseStream when true will auto close the stream when the `closeTimeout`\namount of seconds have been reached.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "customCssUrl", + "description": "customCssUrl is the URL of the custom CSS used to display on the frontend.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedTimeout", + "description": "closedTimeout is the amount of seconds from the created_at timestamp that a\ngiven asset will be considered closed.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "closedMessage", + "description": "closedMessage is the message shown to the user when the given Asset is\nclosed.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "charCountEnable", + "description": "charCountEnable is true when the character count restriction is enabled.", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "charCount", + "description": "charCount is the maximum number of characters a comment may be.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "organizationName", + "description": "organizationName is the name of the organization.", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "editCommentWindowLength", + "description": "editCommentWindowLength is the length of time (in milliseconds) after a\ncomment is posted that it can still be edited by the author.", + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "wordlist", + "description": "wordlist allows changing the available wordlists.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UpdateWordlistInput", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "domains", + "description": "domains allows changing the available lists of domains.", + "type": { + "kind": "INPUT_OBJECT", + "name": "UpdateDomainsInput", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UpdateWordlistInput", + "description": "UpdateWordlistInput is the list of words that composes the Wordlist.", + "fields": null, + "inputFields": [ + { + "name": "banned", + "description": "banned words will by default reject the comment if it is found.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + }, + { + "name": "suspect", + "description": "suspect words will simply flag the comment.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "UpdateDomainsInput", + "description": "UpdateDomainsInput describes all the available lists of domains.", + "fields": null, + "inputFields": [ + { + "name": "whitelist", + "description": "whitelist is the list of domains that the embed is allowed to render on.", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UpdateSettingsResponse", + "description": "UpdateSettingsResponse contains any errors that were rendered as a result\nof the mutation.", + "fields": [ + { + "name": "errors", + "description": "An array of errors relating to the mutation that occurred.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "UserError", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Response", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "IgnoreUserResponse", + "description": "Response to ignoreUser mutation", + "fields": [ + { + "name": "errors", + "description": "An array of errors relating to the mutation that occurred.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "UserError", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Response", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CreateTokenInput", + "description": "CreateTokenInput contains the input to create the token.", + "fields": null, + "inputFields": [ + { + "name": "name", + "description": "Name is the description for the token.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CreateTokenResponse", + "description": "CreateTokenResponse contains the errors related to creating a token.", + "fields": [ + { + "name": "token", + "description": "Token is the Token that was created, or null if it failed.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "Token", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "An array of errors relating to the mutation that occurred.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "UserError", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Response", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "RevokeTokenInput", + "description": "RevokeTokenInput contains the input to revoke the token.", + "fields": null, + "inputFields": [ + { + "name": "id", + "description": "ID is the JTI for the token.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "RevokeTokenResponse", + "description": "RevokeTokenResponse contains the errors related to revoking a token.", + "fields": [ + { + "name": "errors", + "description": "An array of errors relating to the mutation that occurred.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "UserError", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Response", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "StopIgnoringUserResponse", + "description": "Response to stopIgnoringUser mutation", + "fields": [ + { + "name": "errors", + "description": "An array of errors relating to the mutation that occurred.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "UserError", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Response", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ForceScrapeAssetResponse", + "description": "", + "fields": [ + { + "name": "errors", + "description": "An array of errors relating to the mutation that occurred.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "UserError", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Response", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DelUserResponse", + "description": "", + "fields": [ + { + "name": "errors", + "description": "An array of errors relating to the mutation that occurred.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "UserError", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Response", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "CreateRespectActionInput", + "description": "", + "fields": null, + "inputFields": [ + { + "name": "item_id", + "description": "The item's id for which we are to create a respect.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CreateRespectActionResponse", + "description": "", + "fields": [ + { + "name": "respect", + "description": "The respect that was created.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "RespectAction", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "errors", + "description": "An array of errors relating to the mutation that occurred.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "UserError", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Response", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "RespectAction", + "description": "RespectAction is used by users who \"respect\" a specific entity.", + "fields": [ + { + "name": "id", + "description": "The ID of the action.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "The author of the action.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "User", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updated_at", + "description": "The time when the Action was updated.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "created_at", + "description": "The time when the Action was created.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "item_id", + "description": "The item's id for which the Action was created.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Action", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "DeleteRespectActionInput", + "description": "", + "fields": null, + "inputFields": [ + { + "name": "id", + "description": "The item's id for which we are deleting a respect.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DeleteRespectActionResponse", + "description": "", + "fields": [ + { + "name": "errors", + "description": "An array of errors relating to the mutation that occurred.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "UserError", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Response", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "INPUT_OBJECT", + "name": "NotificationSettingsInput", + "description": "", + "fields": null, + "inputFields": [ + { + "name": "digestFrequency", + "description": "digestFrequency is the frequency to send notifications.", + "type": { + "kind": "ENUM", + "name": "DIGEST_FREQUENCY", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "onReply", + "description": "", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "onFeatured", + "description": "", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "onStaffReply", + "description": "", + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": null + } + ], + "interfaces": null, + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UpdateNotificationSettingsResponse", + "description": "", + "fields": [ + { + "name": "errors", + "description": "An array of errors relating to the mutation that occurred.", + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "INTERFACE", + "name": "UserError", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Response", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "Subscription", + "description": "", + "fields": [ + { + "name": "commentAdded", + "description": "Get an update whenever a comment was added.\n`asset_id` is required except for users with the `ADMIN` or `MODERATOR` role.\nNon privileged user can only subscribe to 'NONE' and/or 'ACCEPTED' statuses.", + "args": [ + { + "name": "asset_id", + "description": "", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + }, + { + "name": "statuses", + "description": "", + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "COMMENT_STATUS", + "ofType": null + } + } + }, + "defaultValue": "[NONE, ACCEPTED]" + } + ], + "type": { + "kind": "OBJECT", + "name": "Comment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commentEdited", + "description": "Get an update whenever a comment was edited.\n`asset_id` is required except for users with the `ADMIN` or `MODERATOR` role.", + "args": [ + { + "name": "asset_id", + "description": "", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Comment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commentFlagged", + "description": "Get an update whenever a comment was flagged.\nRequires the `ADMIN` or `MODERATOR` role.", + "args": [ + { + "name": "asset_id", + "description": "", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Comment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commentAccepted", + "description": "Get an update whenever a comment has been accepted.\nRequires the `ADMIN` or `MODERATOR` role.", + "args": [ + { + "name": "asset_id", + "description": "", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Comment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commentRejected", + "description": "Get an update whenever a comment has been rejected.\nRequires the `ADMIN` or `MODERATOR` role.", + "args": [ + { + "name": "asset_id", + "description": "", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Comment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commentReset", + "description": "Get an update whenever the status of a comment has been reset.\nRequires the `ADMIN` or `MODERATOR` role.", + "args": [ + { + "name": "asset_id", + "description": "", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "Comment", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userSuspended", + "description": "Get an update whenever a user has been suspended.\n`user_id` must match id of current user except for\nusers with the `ADMIN` or `MODERATOR` role.", + "args": [ + { + "name": "user_id", + "description": "", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "User", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userBanned", + "description": "Get an update whenever a user has been banned.\n`user_id` must match id of current user except for\nusers with the `ADMIN` or `MODERATOR` role.", + "args": [ + { + "name": "user_id", + "description": "", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "User", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "usernameFlagged", + "description": "Get an update whenever a username was flagged.\n`user_id` must match id of current user except for\nusers with the `ADMIN` or `MODERATOR` role.", + "args": [ + { + "name": "user_id", + "description": "", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "User", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "usernameRejected", + "description": "Get an update whenever a username has been rejected.\n`user_id` must match id of current user except for\nusers with the `ADMIN` or `MODERATOR` role.", + "args": [ + { + "name": "user_id", + "description": "", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "User", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "usernameApproved", + "description": "Get an update whenever a username has been approved. `user_id` must match id\nof current user except for users with the `ADMIN` or `MODERATOR` role.", + "args": [ + { + "name": "user_id", + "description": "", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "User", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "usernameChanged", + "description": "Get an update whenever a username has been changed. `user_id` must match id\nof current user except for users with the `ADMIN` or `MODERATOR` role.", + "args": [ + { + "name": "user_id", + "description": "", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "UsernameChangedPayload", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "userCreated", + "description": "Get an update whenever a user is created. Only accessible to users with the\n`ADMIN` or `MODERATOR` roles.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "User", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "respectActionCreated", + "description": "Subscribe to respects.", + "args": [ + { + "name": "asset_id", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "RespectAction", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "respectActionDeleted", + "description": "Subscribe to respect removals.", + "args": [ + { + "name": "asset_id", + "description": "", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "RespectAction", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commentFeatured", + "description": "Subscribe to featured comments.", + "args": [ + { + "name": "asset_id", + "description": "", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CommentFeaturedData", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "commentUnfeatured", + "description": "Subscribe to featured comments.", + "args": [ + { + "name": "asset_id", + "description": "", + "type": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + }, + "defaultValue": null + } + ], + "type": { + "kind": "OBJECT", + "name": "CommentUnfeaturedData", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "UsernameChangedPayload", + "description": "", + "fields": [ + { + "name": "previousUsername", + "description": "", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "", + "args": [], + "type": { + "kind": "OBJECT", + "name": "User", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CommentFeaturedData", + "description": "", + "fields": [ + { + "name": "comment", + "description": "", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Comment", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "User", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "CommentUnfeaturedData", + "description": "", + "fields": [ + { + "name": "comment", + "description": "", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "Comment", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "User", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "__Schema", + "description": "A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.", + "fields": [ + { + "name": "types", + "description": "A list of all types supported by this server.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "queryType", + "description": "The type that query operations will be rooted at.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "mutationType", + "description": "If this server supports mutation, the type that mutation operations will be rooted at.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "subscriptionType", + "description": "If this server support subscription, the type that subscription operations will be rooted at.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "directives", + "description": "A list of all directives supported by this server.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Directive", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "__Type", + "description": "The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name and description, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.", + "fields": [ + { + "name": "kind", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "__TypeKind", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "fields", + "description": null, + "args": [ + { + "name": "includeDeprecated", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Field", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "interfaces", + "description": null, + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "possibleTypes", + "description": null, + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "enumValues", + "description": null, + "args": [ + { + "name": "includeDeprecated", + "description": null, + "type": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + }, + "defaultValue": "false" + } + ], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__EnumValue", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "inputFields", + "description": null, + "args": [], + "type": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__InputValue", + "ofType": null + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ofType", + "description": null, + "args": [], + "type": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "__TypeKind", + "description": "An enum describing what kind of type a given `__Type` is.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "SCALAR", + "description": "Indicates this type is a scalar.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OBJECT", + "description": "Indicates this type is an object. `fields` and `interfaces` are valid fields.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INTERFACE", + "description": "Indicates this type is an interface. `fields` and `possibleTypes` are valid fields.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNION", + "description": "Indicates this type is a union. `possibleTypes` is a valid field.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ENUM", + "description": "Indicates this type is an enum. `enumValues` is a valid field.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INPUT_OBJECT", + "description": "Indicates this type is an input object. `inputFields` is a valid field.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "LIST", + "description": "Indicates this type is a list. `ofType` is a valid field.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "NON_NULL", + "description": "Indicates this type is a non-null. `ofType` is a valid field.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "__Field", + "description": "Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.", + "fields": [ + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "args", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__InputValue", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isDeprecated", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deprecationReason", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "__InputValue", + "description": "Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.", + "fields": [ + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "type", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__Type", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "defaultValue", + "description": "A GraphQL-formatted string representing the default value for this input value.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "__EnumValue", + "description": "One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.", + "fields": [ + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "isDeprecated", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "deprecationReason", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "__Directive", + "description": "A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.\n\nIn some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.", + "fields": [ + { + "name": "name", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "description", + "description": null, + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "locations", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "ENUM", + "name": "__DirectiveLocation", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "args", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "LIST", + "name": null, + "ofType": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "OBJECT", + "name": "__InputValue", + "ofType": null + } + } + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "onOperation", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `locations`." + }, + { + "name": "onFragment", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `locations`." + }, + { + "name": "onField", + "description": null, + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "isDeprecated": true, + "deprecationReason": "Use `locations`." + } + ], + "inputFields": null, + "interfaces": [], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "__DirectiveLocation", + "description": "A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "QUERY", + "description": "Location adjacent to a query operation.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "MUTATION", + "description": "Location adjacent to a mutation operation.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SUBSCRIPTION", + "description": "Location adjacent to a subscription operation.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FIELD", + "description": "Location adjacent to a field.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FRAGMENT_DEFINITION", + "description": "Location adjacent to a fragment definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FRAGMENT_SPREAD", + "description": "Location adjacent to a fragment spread.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INLINE_FRAGMENT", + "description": "Location adjacent to an inline fragment.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SCHEMA", + "description": "Location adjacent to a schema definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "SCALAR", + "description": "Location adjacent to a scalar definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "OBJECT", + "description": "Location adjacent to an object type definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "FIELD_DEFINITION", + "description": "Location adjacent to a field definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ARGUMENT_DEFINITION", + "description": "Location adjacent to an argument definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INTERFACE", + "description": "Location adjacent to an interface definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "UNION", + "description": "Location adjacent to a union definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ENUM", + "description": "Location adjacent to an enum definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "ENUM_VALUE", + "description": "Location adjacent to an enum value definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INPUT_OBJECT", + "description": "Location adjacent to an input object type definition.", + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "INPUT_FIELD_DEFINITION", + "description": "Location adjacent to an input object field definition.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DefaultUserProfile", + "description": "DefaultUserProfile is a fallback if the type of UserProfile can't be\ndetermined (like if it was from a plugin that was removed).", + "fields": [ + { + "name": "id", + "description": "The id is an identifier for the user profile (email, facebook id, etc)", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "provider", + "description": "name of the provider attached to the authentication mode", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "UserProfile", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "LocalUserProfile", + "description": "LocalUserProfile is for a User who has an authentication profile linked to\ntheir email address.", + "fields": [ + { + "name": "id", + "description": "id is the User's email address.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "provider", + "description": "name of the provider attached to the authentication mode, in this case,\n'local'.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "confirmedAt", + "description": "confirmedAt is the Date that the user had their email address confirmed,\nwhich is null if it has not been verified.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "UserProfile", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DefaultAction", + "description": "DefaultAction is the Action provided for undefined types.", + "fields": [ + { + "name": "id", + "description": "The ID of the action.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "ID", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "user", + "description": "The author of the action.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "User", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "updated_at", + "description": "The time when the Action was updated.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "created_at", + "description": "The time when the Action was created.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Date", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "Action", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DefaultActionSummary", + "description": "DefaultActionSummary is the ActionSummary provided for undefined types.", + "fields": [ + { + "name": "count", + "description": "The count of actions with this group.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "current_user", + "description": "The current user's action.", + "args": [], + "type": { + "kind": "INTERFACE", + "name": "Action", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "ActionSummary", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DefaultAssetActionSummary", + "description": "DefaultAssetActionSummary is the AssetActionSummary provided for undefined types.", + "fields": [ + { + "name": "actionCount", + "description": "Number of actions associated with actionable types on this this Asset.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "actionableItemCount", + "description": "Number of unique actionable types that are referenced by the actions.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "AssetActionSummary", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FlagAssetActionSummary", + "description": "A summary of counts related to all the Flags on an Asset.", + "fields": [ + { + "name": "actionCount", + "description": "Number of flags associated with actionable types on this this Asset.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "actionableItemCount", + "description": "Number of unique actionable types that are referenced by the flags.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "AssetActionSummary", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "FlagActionSummary", + "description": "Summary for Flag Action with a a unique reason.", + "fields": [ + { + "name": "count", + "description": "The total count of flags with this reason.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "reason", + "description": "The reason for which the Flag Action was created.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "current_user", + "description": "The flag by the current user against the parent entity with this reason.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "FlagAction", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "ActionSummary", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "DontAgreeActionSummary", + "description": "Summary for Don't Agree Action with a a unique reason.", + "fields": [ + { + "name": "count", + "description": "The total count of flags with this reason.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "current_user", + "description": "The don't agree action by the current user against the parent entity with this reason.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "DontAgreeAction", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "ActionSummary", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "GenericUserError", + "description": "A generic error not related to validation reasons.", + "fields": [ + { + "name": "translation_key", + "description": "Translation key relating to a translatable string containing details to be\ndisplayed to the end user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "UserError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "ValidationUserError", + "description": "A validation error that affects the input.", + "fields": [ + { + "name": "translation_key", + "description": "Translation key relating to a translatable string containing details to be\ndisplayed to the end user.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "field_name", + "description": "The field in question that caused the error.", + "args": [], + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "String", + "ofType": null + } + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "UserError", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "ENUM", + "name": "ASSET_METRICS_SORT", + "description": "", + "fields": null, + "inputFields": null, + "interfaces": null, + "enumValues": [ + { + "name": "RESPECT", + "description": "Represents a RespectAction.", + "isDeprecated": false, + "deprecationReason": null + } + ], + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "RespectActionSummary", + "description": "", + "fields": [ + { + "name": "count", + "description": "The count of actions with this group.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "current_user", + "description": "The current user's action.", + "args": [], + "type": { + "kind": "OBJECT", + "name": "RespectAction", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "ActionSummary", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + }, + { + "kind": "OBJECT", + "name": "RespectAssetActionSummary", + "description": "A summary of counts related to all the Respects on an Asset.", + "fields": [ + { + "name": "actionCount", + "description": "Number of respects associated with actionable types on this this Asset.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + }, + { + "name": "actionableItemCount", + "description": "Number of unique actionable types that are referenced by the respects.", + "args": [], + "type": { + "kind": "SCALAR", + "name": "Int", + "ofType": null + }, + "isDeprecated": false, + "deprecationReason": null + } + ], + "inputFields": null, + "interfaces": [ + { + "kind": "INTERFACE", + "name": "AssetActionSummary", + "ofType": null + } + ], + "enumValues": null, + "possibleTypes": null + } + ], + "directives": [ + { + "name": "skip", + "description": "Directs the executor to skip this field or fragment when the `if` argument is true.", + "locations": [ + "FIELD", + "FRAGMENT_SPREAD", + "INLINE_FRAGMENT" + ], + "args": [ + { + "name": "if", + "description": "Skipped when true.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null + } + ] + }, + { + "name": "include", + "description": "Directs the executor to include this field or fragment only when the `if` argument is true.", + "locations": [ + "FIELD", + "FRAGMENT_SPREAD", + "INLINE_FRAGMENT" + ], + "args": [ + { + "name": "if", + "description": "Included when true.", + "type": { + "kind": "NON_NULL", + "name": null, + "ofType": { + "kind": "SCALAR", + "name": "Boolean", + "ofType": null + } + }, + "defaultValue": null + } + ] + }, + { + "name": "deprecated", + "description": "Marks an element of a GraphQL schema as no longer supported.", + "locations": [ + "FIELD_DEFINITION", + "ENUM_VALUE" + ], + "args": [ + { + "name": "reason", + "description": "Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted in [Markdown](https://daringfireball.net/projects/markdown/).", + "type": { + "kind": "SCALAR", + "name": "String", + "ofType": null + }, + "defaultValue": "\"No longer supported\"" + } + ] + } + ] + } +} \ No newline at end of file diff --git a/plugins/talk-plugin-auth/client/login/constants.js b/plugins/talk-plugin-auth/client/login/constants.js index 3997c11f4..bfac90839 100644 --- a/plugins/talk-plugin-auth/client/login/constants.js +++ b/plugins/talk-plugin-auth/client/login/constants.js @@ -3,3 +3,5 @@ const prefix = 'TALK_AUTH'; export const SET_VIEW = `${prefix}_SET_VIEW`; export const SET_EMAIL = `${prefix}_SET_EMAIL`; export const SET_PASSWORD = `${prefix}_SET_PASSWORD`; +export const ENABLE_SUBMIT = `${prefix}_ENABLE_SUBMIT`; +export const DISABLE_SUBMIT = `${prefix}_DISABLE_SUBMIT`; diff --git a/plugins/talk-plugin-auth/client/login/reducer.js b/plugins/talk-plugin-auth/client/login/reducer.js index 004aff8f8..a8dad11eb 100644 --- a/plugins/talk-plugin-auth/client/login/reducer.js +++ b/plugins/talk-plugin-auth/client/login/reducer.js @@ -5,10 +5,21 @@ const initialState = { view: views.SIGN_IN, email: '', password: '', + enableSubmit: true, }; export default function reducer(state = initialState, action) { switch (action.type) { + case actions.ENABLE_SUBMIT: + return { + ...state, + enableSubmit: true, + }; + case actions.DISABLE_SUBMIT: + return { + ...state, + enableSubmit: false, + }; case actions.SET_VIEW: return { ...state, diff --git a/plugins/talk-plugin-auth/client/stream/components/SetUsernameDialog.css b/plugins/talk-plugin-auth/client/stream/components/SetUsernameDialog.css index 856e95642..c1947ca7d 100644 --- a/plugins/talk-plugin-auth/client/stream/components/SetUsernameDialog.css +++ b/plugins/talk-plugin-auth/client/stream/components/SetUsernameDialog.css @@ -1,3 +1,10 @@ +.dialogusername { + border: none; + box-shadow: 0 9px 46px 8px rgba(0, 0, 0, 0.14), 0 11px 15px -7px rgba(0, 0, 0, 0.12), 0 24px 38px 3px rgba(0, 0, 0, 0.2); + width: 400px; + top: 10px; +} + .yourusername { display: block; } diff --git a/plugins/talk-plugin-auth/client/stream/components/SetUsernameDialog.js b/plugins/talk-plugin-auth/client/stream/components/SetUsernameDialog.js index 9cacc70b8..0fd742879 100644 --- a/plugins/talk-plugin-auth/client/stream/components/SetUsernameDialog.js +++ b/plugins/talk-plugin-auth/client/stream/components/SetUsernameDialog.js @@ -1,7 +1,12 @@ import React from 'react'; import PropTypes from 'prop-types'; import styles from './SetUsernameDialog.css'; -import { Alert, TextField, Button } from 'plugin-api/beta/client/components/ui'; +import { + Dialog, + Alert, + TextField, + Button, +} from 'plugin-api/beta/client/components/ui'; import { FakeComment } from './FakeComment'; import { t } from 'plugin-api/beta/client/services'; @@ -17,50 +22,52 @@ class SetUsernameDialog extends React.Component { const { username, usernameError, errorMessage } = this.props; return ( -
-
-

- {t('talk-plugin-auth.set_username_dialog.write_your_username')} -

-
+
-

- {t('talk-plugin-auth.set_username_dialog.your_username')} -

- - {errorMessage && {errorMessage}} -
- {usernameError && ( - - {' '} - {t( - 'talk-plugin-auth.set_username_dialog.special_characters' - )}{' '} - - )} -
- - -
-
+
+

+ {t('talk-plugin-auth.set_username_dialog.write_your_username')} +

+
+
+

+ {t('talk-plugin-auth.set_username_dialog.your_username')} +

+ + {errorMessage && {errorMessage}} +
+ {usernameError && ( + + {' '} + {t( + 'talk-plugin-auth.set_username_dialog.special_characters' + )}{' '} + + )} +
+ + +
+
+
-
+ ); } } From ab96417d3d5089965994e9be2f3bd870eba8120f Mon Sep 17 00:00:00 2001 From: okbel Date: Fri, 23 Mar 2018 17:27:23 -0300 Subject: [PATCH 03/21] wip --- .../talk-plugin-auth/client/login/actions.js | 8 ++++++++ .../client/login/components/SignUp.js | 14 ++++++++++++++ .../talk-plugin-auth/client/login/constants.js | 4 ++-- .../client/login/containers/SignUp.js | 17 ++++++++++++++++- .../talk-plugin-auth/client/login/reducer.js | 10 +++++----- 5 files changed, 45 insertions(+), 8 deletions(-) diff --git a/plugins/talk-plugin-auth/client/login/actions.js b/plugins/talk-plugin-auth/client/login/actions.js index 593556507..9cfbfb399 100644 --- a/plugins/talk-plugin-auth/client/login/actions.js +++ b/plugins/talk-plugin-auth/client/login/actions.js @@ -14,3 +14,11 @@ export const setPassword = password => ({ type: actions.SET_PASSWORD, password, }); + +export const enableSubmitSignUpForm = () => ({ + type: actions.ENABLE_SUBMIT_SIGNUP_FORM, +}); + +export const disableSubmitSignUpForm = () => ({ + type: actions.DISABLE_SUBMIT_SIGNUP_FORM, +}); diff --git a/plugins/talk-plugin-auth/client/login/components/SignUp.js b/plugins/talk-plugin-auth/client/login/components/SignUp.js index 61c4d0b1d..930d41819 100644 --- a/plugins/talk-plugin-auth/client/login/components/SignUp.js +++ b/plugins/talk-plugin-auth/client/login/components/SignUp.js @@ -1,5 +1,6 @@ import React from 'react'; import PropTypes from 'prop-types'; +import { Slot } from 'plugin-api/beta/client/components'; import { Button, TextField, @@ -42,8 +43,15 @@ class SignUp extends React.Component { errorMessage, requireEmailConfirmation, success, + enableSubmitSignUpForm, + disableSubmitSignUpForm, } = this.props; + const slotPassthrough = { + enableSubmitSignUpForm, + disableSubmitSignUpForm, + }; + return (
@@ -103,6 +111,10 @@ class SignUp extends React.Component { onChange={this.handlePasswordRepeatChange} minLength="8" /> +
@@ -175,6 +176,7 @@ SignUp.propTypes = { success: PropTypes.bool.isRequired, enableSubmitSignUpForm: PropTypes.func.isRequired, disableSubmitSignUpForm: PropTypes.func.isRequired, + submitSignUpForm: PropTypes.bool.isRequired, }; export default SignUp; diff --git a/plugins/talk-plugin-health-report/client/.eslintrc.json b/plugins/talk-plugin-health-report/client/.eslintrc.json new file mode 100644 index 000000000..9fe56bd14 --- /dev/null +++ b/plugins/talk-plugin-health-report/client/.eslintrc.json @@ -0,0 +1,23 @@ +{ + "env": { + "browser": true, + "es6": true, + "mocha": true + }, + "parserOptions": { + "sourceType": "module", + "ecmaFeatures": { + "experimentalObjectRestSpread": true, + "jsx": true + } + }, + "parser": "babel-eslint", + "plugins": [ + "react" + ], + "rules": { + "react/jsx-uses-react": "error", + "react/jsx-uses-vars": "error", + "no-console": ["warn", { "allow": ["warn", "error"] }] + } +} diff --git a/plugins/talk-plugin-health-report/client/components/TermsAndConditionsField.js b/plugins/talk-plugin-health-report/client/components/TermsAndConditionsField.js new file mode 100644 index 000000000..79d079d7f --- /dev/null +++ b/plugins/talk-plugin-health-report/client/components/TermsAndConditionsField.js @@ -0,0 +1,45 @@ +import React from 'react'; +import { Checkbox } from 'plugin-api/beta/client/components/ui'; +import { t } from 'plugin-api/beta/client/services'; + +const TermsLink = () => ( + + {t('talk-plugin-health-report.terms')} + +); + +class TermsAndConditionsField extends React.Component { + state = { checked: false }; + id = 'terms-and-conditions'; + + componentWillMount() { + this.props.disableSubmitSignUpForm(); + } + + onChange = ({ target: { checked } }) => { + if (checked) { + this.setState(() => ({ checked })); + this.props.enableSubmitSignUpForm(); + } else { + this.setState(() => ({ checked })); + this.props.disableSubmitSignUpForm(); + } + }; + + render() { + return ( +
+ + +
+ ); + } +} + +export default TermsAndConditionsField; diff --git a/plugins/talk-plugin-health-report/client/index.js b/plugins/talk-plugin-health-report/client/index.js new file mode 100644 index 000000000..d2aaaa1cb --- /dev/null +++ b/plugins/talk-plugin-health-report/client/index.js @@ -0,0 +1,9 @@ +import TermsAndConditionsField from './components/TermsAndConditionsField'; +import translations from './translations.yml'; + +export default { + slots: { + 'talkPluginAuth-formField': [TermsAndConditionsField], + }, + translations, +}; diff --git a/plugins/talk-plugin-health-report/client/translations.yml b/plugins/talk-plugin-health-report/client/translations.yml new file mode 100644 index 000000000..cfff60419 --- /dev/null +++ b/plugins/talk-plugin-health-report/client/translations.yml @@ -0,0 +1,21 @@ +en: + talk-plugin-health-report: + copy: I agree to the Mozilla {0} and {1}. + terms: Terms of Service + termslink: https://www.mozilla.org/en-US/about/legal/terms/mozilla/ + privacy: https://www.mozilla.org/en-US/privacy/websites/ +es: + talk-plugin-health-report: + copy: Estoy de acuerdo con los {0} de Mozilla y {1}. + terms: https://www.mozilla.org/en-US/about/legal/terms/mozilla/ + privacy: https://www.mozilla.org/en-US/privacy/websites/ +fr: + talk-plugin-health-report: + copy: J'accepte les conditions d'utilisation et la politique de confidentialité de Mozilla. + terms: https://www.mozilla.org/en-US/about/legal/terms/mozilla/ + privacy: https://www.mozilla.org/en-US/privacy/websites/ +de: + talk-plugin-health-report: + copy: J'accepte les conditions d'utilisation et la politique de confidentialité de Mozilla. + terms: https://www.mozilla.org/en-US/about/legal/terms/mozilla/ + privacy: https://www.mozilla.org/en-US/privacy/websites/ \ No newline at end of file diff --git a/plugins/talk-plugin-health-report/index.js b/plugins/talk-plugin-health-report/index.js new file mode 100644 index 000000000..f053ebf79 --- /dev/null +++ b/plugins/talk-plugin-health-report/index.js @@ -0,0 +1 @@ +module.exports = {}; From f8fbedd72776cc375dcc7f4bac52dc39438db063 Mon Sep 17 00:00:00 2001 From: okbel Date: Mon, 26 Mar 2018 12:06:38 -0300 Subject: [PATCH 06/21] Styling and translations --- client/coral-framework/services/i18n.js | 1 + .../components/TermsAndConditionsField.css | 13 +++++++ .../components/TermsAndConditionsField.js | 34 ++++++++++++++-- .../client/translations.yml | 39 +++++++++++++------ 4 files changed, 71 insertions(+), 16 deletions(-) create mode 100644 plugins/talk-plugin-health-report/client/components/TermsAndConditionsField.css diff --git a/client/coral-framework/services/i18n.js b/client/coral-framework/services/i18n.js index 1468f92eb..9c65c9c4e 100644 --- a/client/coral-framework/services/i18n.js +++ b/client/coral-framework/services/i18n.js @@ -136,6 +136,7 @@ export function t(key, ...replacements) { replacements.forEach((str, i) => { translation = translation.replace(new RegExp(`\\{${i}\\}`, 'g'), str); }); + return translation; } else { console.warn(`${lang}.${key} and en.${key} language key not set`); diff --git a/plugins/talk-plugin-health-report/client/components/TermsAndConditionsField.css b/plugins/talk-plugin-health-report/client/components/TermsAndConditionsField.css new file mode 100644 index 000000000..e05170b46 --- /dev/null +++ b/plugins/talk-plugin-health-report/client/components/TermsAndConditionsField.css @@ -0,0 +1,13 @@ +.link { + color: #2c69b6; + cursor: pointer; + margin: 0 3px; + + &:last-child { + margin-right: 0; + } +} + +.fieldContainer { + padding: 5px 0; +} \ No newline at end of file diff --git a/plugins/talk-plugin-health-report/client/components/TermsAndConditionsField.js b/plugins/talk-plugin-health-report/client/components/TermsAndConditionsField.js index 79d079d7f..3fc2f6304 100644 --- a/plugins/talk-plugin-health-report/client/components/TermsAndConditionsField.js +++ b/plugins/talk-plugin-health-report/client/components/TermsAndConditionsField.js @@ -1,13 +1,29 @@ import React from 'react'; import { Checkbox } from 'plugin-api/beta/client/components/ui'; import { t } from 'plugin-api/beta/client/services'; +import styles from './TermsAndConditionsField.css'; +import cn from 'classnames'; const TermsLink = () => ( - + {t('talk-plugin-health-report.terms')} ); +const PrivacyLink = () => ( + + {t('talk-plugin-health-report.privacy-policy')} + +); + class TermsAndConditionsField extends React.Component { state = { checked: false }; id = 'terms-and-conditions'; @@ -28,14 +44,24 @@ class TermsAndConditionsField extends React.Component { render() { return ( -
+
-
); diff --git a/plugins/talk-plugin-health-report/client/translations.yml b/plugins/talk-plugin-health-report/client/translations.yml index cfff60419..66bf7379c 100644 --- a/plugins/talk-plugin-health-report/client/translations.yml +++ b/plugins/talk-plugin-health-report/client/translations.yml @@ -1,21 +1,36 @@ en: talk-plugin-health-report: - copy: I agree to the Mozilla {0} and {1}. + copy: I agree to the Mozilla + and: and terms: Terms of Service - termslink: https://www.mozilla.org/en-US/about/legal/terms/mozilla/ - privacy: https://www.mozilla.org/en-US/privacy/websites/ + privacy-policy: Privacy Policy + from: . + terms-link: https://www.mozilla.org/en-US/about/legal/terms/mozilla/ + privacy-policy-link: https://www.mozilla.org/en-US/privacy/websites/ es: talk-plugin-health-report: - copy: Estoy de acuerdo con los {0} de Mozilla y {1}. - terms: https://www.mozilla.org/en-US/about/legal/terms/mozilla/ - privacy: https://www.mozilla.org/en-US/privacy/websites/ + copy: Estoy de acuerdo con + and: y + terms: los Terminos y Condiciones + privacy-policy: la Política de Privacidad + from: de Mozilla. + terms-link: https://www.mozilla.org/es-ES/about/legal/terms/mozilla/ + privacy-policy-link: https://www.mozilla.org/es-ES/privacy/websites/ fr: talk-plugin-health-report: - copy: J'accepte les conditions d'utilisation et la politique de confidentialité de Mozilla. - terms: https://www.mozilla.org/en-US/about/legal/terms/mozilla/ - privacy: https://www.mozilla.org/en-US/privacy/websites/ + copy: J'accepte + and: et + terms: les conditions d'utilisation + privacy-policy: la politique de confidentialité + from: de Mozilla. + terms-link: https://www.mozilla.org/fr/about/legal/terms/mozilla/ + privacy-policy-link: https://www.mozilla.org/fr/privacy/websites/ de: talk-plugin-health-report: - copy: J'accepte les conditions d'utilisation et la politique de confidentialité de Mozilla. - terms: https://www.mozilla.org/en-US/about/legal/terms/mozilla/ - privacy: https://www.mozilla.org/en-US/privacy/websites/ \ No newline at end of file + copy: Ich stimme + and: und + terms: den Allgemeinen Geschäftsbedingungen + privacy-policy: der Datenschutzrichtlinie + from: von Mozilla zu. + terms-link: https://www.mozilla.org/de/about/legal/terms/mozilla/ + privacy-policy-link: https://www.mozilla.org/de/privacy/websites/ \ No newline at end of file From bad72e0ef49932ec253ba66a02f9e391f1394cd6 Mon Sep 17 00:00:00 2001 From: okbel Date: Wed, 28 Mar 2018 09:27:50 -0300 Subject: [PATCH 07/21] fix install buttons - making the click area bigger --- .../routes/Install/components/Steps/FinalStep.js | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/client/coral-admin/src/routes/Install/components/Steps/FinalStep.js b/client/coral-admin/src/routes/Install/components/Steps/FinalStep.js index 72fd67a34..b0a0c43ef 100644 --- a/client/coral-admin/src/routes/Install/components/Steps/FinalStep.js +++ b/client/coral-admin/src/routes/Install/components/Steps/FinalStep.js @@ -10,12 +10,14 @@ const InitialStep = () => { return (

{t('install.final.description')}

- - + + + + + +
); }; From 217c2f1bfae6a4ca2e4f807da533253654e3e31a Mon Sep 17 00:00:00 2001 From: Kim Gardner Date: Wed, 28 Mar 2018 08:55:55 -0400 Subject: [PATCH 08/21] Add back missing tutorial --- docs/_config.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/_config.yml b/docs/_config.yml index deb14ced4..c61fdeb21 100644 --- a/docs/_config.yml +++ b/docs/_config.yml @@ -154,6 +154,8 @@ sidebar: url: /building-basic-plugin/ - title: Customizing Plugins with Coral UI url: /customizing-plugins-coral-ui/ + - title: When You've Installed Talk + url: /when-youve-installed-talk/ - title: Migrating children: - title: Migrating to v4.0.0 From 0b3b252fc3975cbd05bdfaf80b35159bea1c29da Mon Sep 17 00:00:00 2001 From: okbel Date: Thu, 29 Mar 2018 10:56:18 -0300 Subject: [PATCH 09/21] changes --- .gitignore | 2 +- plugins/talk-plugin-auth-checkbox | 1 + .../talk-plugin-auth/client/login/actions.js | 8 --- .../client/login/constants.js | 2 - .../client/login/containers/SignUp.js | 13 +++- .../talk-plugin-auth/client/login/reducer.js | 11 --- .../client/.eslintrc.json | 23 ------ .../components/TermsAndConditionsField.css | 13 ---- .../components/TermsAndConditionsField.js | 71 ------------------- .../talk-plugin-health-report/client/index.js | 9 --- .../client/translations.yml | 36 ---------- plugins/talk-plugin-health-report/index.js | 1 - 12 files changed, 14 insertions(+), 176 deletions(-) create mode 160000 plugins/talk-plugin-auth-checkbox delete mode 100644 plugins/talk-plugin-health-report/client/.eslintrc.json delete mode 100644 plugins/talk-plugin-health-report/client/components/TermsAndConditionsField.css delete mode 100644 plugins/talk-plugin-health-report/client/components/TermsAndConditionsField.js delete mode 100644 plugins/talk-plugin-health-report/client/index.js delete mode 100644 plugins/talk-plugin-health-report/client/translations.yml delete mode 100644 plugins/talk-plugin-health-report/index.js diff --git a/.gitignore b/.gitignore index fbeb12d8c..5bf0d6527 100644 --- a/.gitignore +++ b/.gitignore @@ -63,7 +63,7 @@ plugins/* !plugins/talk-plugin-viewing-options !plugins/talk-plugin-rich-text !plugins/talk-plugin-rich-text-pell -!plugins/talk-plugin-health-report +!plugins/talk-plugin-auth-checkbox **/node_modules/* yarn-error.log diff --git a/plugins/talk-plugin-auth-checkbox b/plugins/talk-plugin-auth-checkbox new file mode 160000 index 000000000..73cf96e85 --- /dev/null +++ b/plugins/talk-plugin-auth-checkbox @@ -0,0 +1 @@ +Subproject commit 73cf96e8565c6651a10f75f99704db9479bb7d13 diff --git a/plugins/talk-plugin-auth/client/login/actions.js b/plugins/talk-plugin-auth/client/login/actions.js index 9cfbfb399..593556507 100644 --- a/plugins/talk-plugin-auth/client/login/actions.js +++ b/plugins/talk-plugin-auth/client/login/actions.js @@ -14,11 +14,3 @@ export const setPassword = password => ({ type: actions.SET_PASSWORD, password, }); - -export const enableSubmitSignUpForm = () => ({ - type: actions.ENABLE_SUBMIT_SIGNUP_FORM, -}); - -export const disableSubmitSignUpForm = () => ({ - type: actions.DISABLE_SUBMIT_SIGNUP_FORM, -}); diff --git a/plugins/talk-plugin-auth/client/login/constants.js b/plugins/talk-plugin-auth/client/login/constants.js index f44ad5a0f..3997c11f4 100644 --- a/plugins/talk-plugin-auth/client/login/constants.js +++ b/plugins/talk-plugin-auth/client/login/constants.js @@ -3,5 +3,3 @@ const prefix = 'TALK_AUTH'; export const SET_VIEW = `${prefix}_SET_VIEW`; export const SET_EMAIL = `${prefix}_SET_EMAIL`; export const SET_PASSWORD = `${prefix}_SET_PASSWORD`; -export const ENABLE_SUBMIT_SIGNUP_FORM = `${prefix}_ENABLE_SUBMIT_SIGNUP_FORM`; -export const DISABLE_SUBMIT_SIGNUP_FORM = `${prefix}_DISABLE_SUBMIT_SIGNUP_FOR`; diff --git a/plugins/talk-plugin-auth/client/login/containers/SignUp.js b/plugins/talk-plugin-auth/client/login/containers/SignUp.js index 902d35105..7e6face74 100644 --- a/plugins/talk-plugin-auth/client/login/containers/SignUp.js +++ b/plugins/talk-plugin-auth/client/login/containers/SignUp.js @@ -22,8 +22,19 @@ class SignUpContainer extends Component { emailError: null, passwordError: null, passwordRepeatError: null, + hasBlockers: [], }; + indicateBlockerOn = plugin => + this.setState(state => ({ + hasBlockers: state.hasBlockers.concat(plugin), + })); + + indicateBlockerOff = plugin => + this.setState(state => ({ + hasNotifications: state.hasNotifications.filter(i => i !== plugin), + })); + validate = data => { let valid = true; const changes = {}; @@ -54,7 +65,7 @@ class SignUpContainer extends Component { passwordRepeat: this.state.passwordRepeat, }; - if (this.validate(data)) { + if (this.validate(data) && !this.state.hasBlockers.length) { this.props.signUp(data); } }; diff --git a/plugins/talk-plugin-auth/client/login/reducer.js b/plugins/talk-plugin-auth/client/login/reducer.js index 0822d1d06..004aff8f8 100644 --- a/plugins/talk-plugin-auth/client/login/reducer.js +++ b/plugins/talk-plugin-auth/client/login/reducer.js @@ -5,21 +5,10 @@ const initialState = { view: views.SIGN_IN, email: '', password: '', - submitSignUpForm: true, }; export default function reducer(state = initialState, action) { switch (action.type) { - case actions.ENABLE_SUBMIT_SIGNUP_FORM: - return { - ...state, - submitSignUpForm: true, - }; - case actions.DISABLE_SUBMIT_SIGNUP_FORM: - return { - ...state, - submitSignUpForm: false, - }; case actions.SET_VIEW: return { ...state, diff --git a/plugins/talk-plugin-health-report/client/.eslintrc.json b/plugins/talk-plugin-health-report/client/.eslintrc.json deleted file mode 100644 index 9fe56bd14..000000000 --- a/plugins/talk-plugin-health-report/client/.eslintrc.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "env": { - "browser": true, - "es6": true, - "mocha": true - }, - "parserOptions": { - "sourceType": "module", - "ecmaFeatures": { - "experimentalObjectRestSpread": true, - "jsx": true - } - }, - "parser": "babel-eslint", - "plugins": [ - "react" - ], - "rules": { - "react/jsx-uses-react": "error", - "react/jsx-uses-vars": "error", - "no-console": ["warn", { "allow": ["warn", "error"] }] - } -} diff --git a/plugins/talk-plugin-health-report/client/components/TermsAndConditionsField.css b/plugins/talk-plugin-health-report/client/components/TermsAndConditionsField.css deleted file mode 100644 index e05170b46..000000000 --- a/plugins/talk-plugin-health-report/client/components/TermsAndConditionsField.css +++ /dev/null @@ -1,13 +0,0 @@ -.link { - color: #2c69b6; - cursor: pointer; - margin: 0 3px; - - &:last-child { - margin-right: 0; - } -} - -.fieldContainer { - padding: 5px 0; -} \ No newline at end of file diff --git a/plugins/talk-plugin-health-report/client/components/TermsAndConditionsField.js b/plugins/talk-plugin-health-report/client/components/TermsAndConditionsField.js deleted file mode 100644 index 3fc2f6304..000000000 --- a/plugins/talk-plugin-health-report/client/components/TermsAndConditionsField.js +++ /dev/null @@ -1,71 +0,0 @@ -import React from 'react'; -import { Checkbox } from 'plugin-api/beta/client/components/ui'; -import { t } from 'plugin-api/beta/client/services'; -import styles from './TermsAndConditionsField.css'; -import cn from 'classnames'; - -const TermsLink = () => ( - - {t('talk-plugin-health-report.terms')} - -); - -const PrivacyLink = () => ( - - {t('talk-plugin-health-report.privacy-policy')} - -); - -class TermsAndConditionsField extends React.Component { - state = { checked: false }; - id = 'terms-and-conditions'; - - componentWillMount() { - this.props.disableSubmitSignUpForm(); - } - - onChange = ({ target: { checked } }) => { - if (checked) { - this.setState(() => ({ checked })); - this.props.enableSubmitSignUpForm(); - } else { - this.setState(() => ({ checked })); - this.props.disableSubmitSignUpForm(); - } - }; - - render() { - return ( -
- - -
- ); - } -} - -export default TermsAndConditionsField; diff --git a/plugins/talk-plugin-health-report/client/index.js b/plugins/talk-plugin-health-report/client/index.js deleted file mode 100644 index d2aaaa1cb..000000000 --- a/plugins/talk-plugin-health-report/client/index.js +++ /dev/null @@ -1,9 +0,0 @@ -import TermsAndConditionsField from './components/TermsAndConditionsField'; -import translations from './translations.yml'; - -export default { - slots: { - 'talkPluginAuth-formField': [TermsAndConditionsField], - }, - translations, -}; diff --git a/plugins/talk-plugin-health-report/client/translations.yml b/plugins/talk-plugin-health-report/client/translations.yml deleted file mode 100644 index 66bf7379c..000000000 --- a/plugins/talk-plugin-health-report/client/translations.yml +++ /dev/null @@ -1,36 +0,0 @@ -en: - talk-plugin-health-report: - copy: I agree to the Mozilla - and: and - terms: Terms of Service - privacy-policy: Privacy Policy - from: . - terms-link: https://www.mozilla.org/en-US/about/legal/terms/mozilla/ - privacy-policy-link: https://www.mozilla.org/en-US/privacy/websites/ -es: - talk-plugin-health-report: - copy: Estoy de acuerdo con - and: y - terms: los Terminos y Condiciones - privacy-policy: la Política de Privacidad - from: de Mozilla. - terms-link: https://www.mozilla.org/es-ES/about/legal/terms/mozilla/ - privacy-policy-link: https://www.mozilla.org/es-ES/privacy/websites/ -fr: - talk-plugin-health-report: - copy: J'accepte - and: et - terms: les conditions d'utilisation - privacy-policy: la politique de confidentialité - from: de Mozilla. - terms-link: https://www.mozilla.org/fr/about/legal/terms/mozilla/ - privacy-policy-link: https://www.mozilla.org/fr/privacy/websites/ -de: - talk-plugin-health-report: - copy: Ich stimme - and: und - terms: den Allgemeinen Geschäftsbedingungen - privacy-policy: der Datenschutzrichtlinie - from: von Mozilla zu. - terms-link: https://www.mozilla.org/de/about/legal/terms/mozilla/ - privacy-policy-link: https://www.mozilla.org/de/privacy/websites/ \ No newline at end of file diff --git a/plugins/talk-plugin-health-report/index.js b/plugins/talk-plugin-health-report/index.js deleted file mode 100644 index f053ebf79..000000000 --- a/plugins/talk-plugin-health-report/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = {}; From ff9a212cfbf2e53d6efd8784fb053645241e51bb Mon Sep 17 00:00:00 2001 From: okbel Date: Thu, 29 Mar 2018 11:10:22 -0300 Subject: [PATCH 10/21] with hasBlockers --- .../client/login/components/SignUp.js | 18 ++++++++------- .../client/login/containers/SignUp.js | 22 +++++-------------- 2 files changed, 15 insertions(+), 25 deletions(-) diff --git a/plugins/talk-plugin-auth/client/login/components/SignUp.js b/plugins/talk-plugin-auth/client/login/components/SignUp.js index a66e46dee..3dc648de6 100644 --- a/plugins/talk-plugin-auth/client/login/components/SignUp.js +++ b/plugins/talk-plugin-auth/client/login/components/SignUp.js @@ -43,13 +43,15 @@ class SignUp extends React.Component { errorMessage, requireEmailConfirmation, success, - enableSubmitSignUpForm, - disableSubmitSignUpForm, + indicateBlockerOn, + indicateBlockerOff, + hasBlockers, } = this.props; const slotPassthrough = { - enableSubmitSignUpForm, - disableSubmitSignUpForm, + indicateBlockerOn, + indicateBlockerOff, + hasBlockers, }; return ( @@ -122,7 +124,7 @@ class SignUp extends React.Component { id="coralSignUpButton" className={styles.button} full - disabled={!this.props.submitSignUpForm} + disabled={hasBlockers.length} > {t('talk-plugin-auth.login.sign_up')} @@ -174,9 +176,9 @@ SignUp.propTypes = { errorMessage: PropTypes.string, requireEmailConfirmation: PropTypes.bool.isRequired, success: PropTypes.bool.isRequired, - enableSubmitSignUpForm: PropTypes.func.isRequired, - disableSubmitSignUpForm: PropTypes.func.isRequired, - submitSignUpForm: PropTypes.bool.isRequired, + hasBlockers: PropTypes.array.isRequired, + indicateBlockerOn: PropTypes.func.isRequired, + indicateBlockerOff: PropTypes.func.isRequired, }; export default SignUp; diff --git a/plugins/talk-plugin-auth/client/login/containers/SignUp.js b/plugins/talk-plugin-auth/client/login/containers/SignUp.js index 7e6face74..2b2a7d979 100644 --- a/plugins/talk-plugin-auth/client/login/containers/SignUp.js +++ b/plugins/talk-plugin-auth/client/login/containers/SignUp.js @@ -5,13 +5,7 @@ import { compose } from 'recompose'; import SignUp from '../components/SignUp'; import { bindActionCreators } from 'redux'; import * as views from '../enums/views'; -import { - setView, - setEmail, - setPassword, - enableSubmitSignUpForm, - disableSubmitSignUpForm, -} from '../actions'; +import { setView, setEmail, setPassword } from '../actions'; import { t } from 'plugin-api/beta/client/services'; class SignUpContainer extends Component { @@ -32,7 +26,7 @@ class SignUpContainer extends Component { indicateBlockerOff = plugin => this.setState(state => ({ - hasNotifications: state.hasNotifications.filter(i => i !== plugin), + hasBlockers: state.hasBlockers.filter(i => i !== plugin), })); validate = data => { @@ -93,9 +87,9 @@ class SignUpContainer extends Component { render() { return ( ({ email: state.email, password: state.password, - submitSignUpForm: state.submitSignUpForm, }); const mapDispatchToProps = dispatch => @@ -150,8 +140,6 @@ const mapDispatchToProps = dispatch => setView, setEmail, setPassword, - enableSubmitSignUpForm, - disableSubmitSignUpForm, }, dispatch ); From c5dc8454a2700c64557a4c6b1f375de8d2e2ef5c Mon Sep 17 00:00:00 2001 From: okbel Date: Thu, 29 Mar 2018 11:15:34 -0300 Subject: [PATCH 11/21] Ignoring --- .gitignore | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitignore b/.gitignore index 5bf0d6527..7c0007dc9 100644 --- a/.gitignore +++ b/.gitignore @@ -63,7 +63,6 @@ plugins/* !plugins/talk-plugin-viewing-options !plugins/talk-plugin-rich-text !plugins/talk-plugin-rich-text-pell -!plugins/talk-plugin-auth-checkbox **/node_modules/* yarn-error.log From 94dbfd68027240284e4ba50c1a8c1f870bb14f81 Mon Sep 17 00:00:00 2001 From: okbel Date: Thu, 29 Mar 2018 11:15:48 -0300 Subject: [PATCH 12/21] re entering --- .gitignore | 1 + 1 file changed, 1 insertion(+) diff --git a/.gitignore b/.gitignore index 7c0007dc9..5bf0d6527 100644 --- a/.gitignore +++ b/.gitignore @@ -63,6 +63,7 @@ plugins/* !plugins/talk-plugin-viewing-options !plugins/talk-plugin-rich-text !plugins/talk-plugin-rich-text-pell +!plugins/talk-plugin-auth-checkbox **/node_modules/* yarn-error.log From bfea8b00e157511920474d27c3005ff471c02569 Mon Sep 17 00:00:00 2001 From: okbel Date: Thu, 29 Mar 2018 11:18:29 -0300 Subject: [PATCH 13/21] adding it back --- plugins/talk-plugin-auth-checkbox | 1 - plugins/talk-plugin-auth-checkbox/README.md | 1 + .../client/.eslintrc.json | 23 ++++++ .../components/TermsAndConditionsField.css | 13 ++++ .../components/TermsAndConditionsField.js | 73 +++++++++++++++++++ .../talk-plugin-auth-checkbox/client/index.js | 9 +++ .../client/translations.yml | 36 +++++++++ plugins/talk-plugin-auth-checkbox/index.js | 1 + 8 files changed, 156 insertions(+), 1 deletion(-) delete mode 160000 plugins/talk-plugin-auth-checkbox create mode 100644 plugins/talk-plugin-auth-checkbox/README.md create mode 100644 plugins/talk-plugin-auth-checkbox/client/.eslintrc.json create mode 100644 plugins/talk-plugin-auth-checkbox/client/components/TermsAndConditionsField.css create mode 100644 plugins/talk-plugin-auth-checkbox/client/components/TermsAndConditionsField.js create mode 100644 plugins/talk-plugin-auth-checkbox/client/index.js create mode 100644 plugins/talk-plugin-auth-checkbox/client/translations.yml create mode 100644 plugins/talk-plugin-auth-checkbox/index.js diff --git a/plugins/talk-plugin-auth-checkbox b/plugins/talk-plugin-auth-checkbox deleted file mode 160000 index 73cf96e85..000000000 --- a/plugins/talk-plugin-auth-checkbox +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 73cf96e8565c6651a10f75f99704db9479bb7d13 diff --git a/plugins/talk-plugin-auth-checkbox/README.md b/plugins/talk-plugin-auth-checkbox/README.md new file mode 100644 index 000000000..9b70bde6c --- /dev/null +++ b/plugins/talk-plugin-auth-checkbox/README.md @@ -0,0 +1 @@ +# talk-plugin-auth-checkbox diff --git a/plugins/talk-plugin-auth-checkbox/client/.eslintrc.json b/plugins/talk-plugin-auth-checkbox/client/.eslintrc.json new file mode 100644 index 000000000..9fe56bd14 --- /dev/null +++ b/plugins/talk-plugin-auth-checkbox/client/.eslintrc.json @@ -0,0 +1,23 @@ +{ + "env": { + "browser": true, + "es6": true, + "mocha": true + }, + "parserOptions": { + "sourceType": "module", + "ecmaFeatures": { + "experimentalObjectRestSpread": true, + "jsx": true + } + }, + "parser": "babel-eslint", + "plugins": [ + "react" + ], + "rules": { + "react/jsx-uses-react": "error", + "react/jsx-uses-vars": "error", + "no-console": ["warn", { "allow": ["warn", "error"] }] + } +} diff --git a/plugins/talk-plugin-auth-checkbox/client/components/TermsAndConditionsField.css b/plugins/talk-plugin-auth-checkbox/client/components/TermsAndConditionsField.css new file mode 100644 index 000000000..e05170b46 --- /dev/null +++ b/plugins/talk-plugin-auth-checkbox/client/components/TermsAndConditionsField.css @@ -0,0 +1,13 @@ +.link { + color: #2c69b6; + cursor: pointer; + margin: 0 3px; + + &:last-child { + margin-right: 0; + } +} + +.fieldContainer { + padding: 5px 0; +} \ No newline at end of file diff --git a/plugins/talk-plugin-auth-checkbox/client/components/TermsAndConditionsField.js b/plugins/talk-plugin-auth-checkbox/client/components/TermsAndConditionsField.js new file mode 100644 index 000000000..25f97dc09 --- /dev/null +++ b/plugins/talk-plugin-auth-checkbox/client/components/TermsAndConditionsField.js @@ -0,0 +1,73 @@ +import React from 'react'; +import { Checkbox } from 'plugin-api/beta/client/components/ui'; +import { t } from 'plugin-api/beta/client/services'; +import styles from './TermsAndConditionsField.css'; +import cn from 'classnames'; + +const pluginName = 'talk-plugin-auth-checkbox'; + +const TermsLink = () => ( + + {t('talk-plugin-health-report.terms')} + +); + +const PrivacyLink = () => ( + + {t('talk-plugin-health-report.privacy-policy')} + +); + +class TermsAndConditionsField extends React.Component { + state = { checked: false }; + id = 'terms-and-conditions'; + + componentWillMount() { + this.props.indicateBlockerOn(pluginName); + } + + onChange = ({ target: { checked } }) => { + if (checked) { + this.setState(() => ({ checked })); + this.props.indicateBlockerOff(pluginName); + } else { + this.setState(() => ({ checked })); + this.props.indicateBlockerOn(pluginName); + } + }; + + render() { + return ( +
+ + +
+ ); + } +} + +export default TermsAndConditionsField; diff --git a/plugins/talk-plugin-auth-checkbox/client/index.js b/plugins/talk-plugin-auth-checkbox/client/index.js new file mode 100644 index 000000000..d2aaaa1cb --- /dev/null +++ b/plugins/talk-plugin-auth-checkbox/client/index.js @@ -0,0 +1,9 @@ +import TermsAndConditionsField from './components/TermsAndConditionsField'; +import translations from './translations.yml'; + +export default { + slots: { + 'talkPluginAuth-formField': [TermsAndConditionsField], + }, + translations, +}; diff --git a/plugins/talk-plugin-auth-checkbox/client/translations.yml b/plugins/talk-plugin-auth-checkbox/client/translations.yml new file mode 100644 index 000000000..66bf7379c --- /dev/null +++ b/plugins/talk-plugin-auth-checkbox/client/translations.yml @@ -0,0 +1,36 @@ +en: + talk-plugin-health-report: + copy: I agree to the Mozilla + and: and + terms: Terms of Service + privacy-policy: Privacy Policy + from: . + terms-link: https://www.mozilla.org/en-US/about/legal/terms/mozilla/ + privacy-policy-link: https://www.mozilla.org/en-US/privacy/websites/ +es: + talk-plugin-health-report: + copy: Estoy de acuerdo con + and: y + terms: los Terminos y Condiciones + privacy-policy: la Política de Privacidad + from: de Mozilla. + terms-link: https://www.mozilla.org/es-ES/about/legal/terms/mozilla/ + privacy-policy-link: https://www.mozilla.org/es-ES/privacy/websites/ +fr: + talk-plugin-health-report: + copy: J'accepte + and: et + terms: les conditions d'utilisation + privacy-policy: la politique de confidentialité + from: de Mozilla. + terms-link: https://www.mozilla.org/fr/about/legal/terms/mozilla/ + privacy-policy-link: https://www.mozilla.org/fr/privacy/websites/ +de: + talk-plugin-health-report: + copy: Ich stimme + and: und + terms: den Allgemeinen Geschäftsbedingungen + privacy-policy: der Datenschutzrichtlinie + from: von Mozilla zu. + terms-link: https://www.mozilla.org/de/about/legal/terms/mozilla/ + privacy-policy-link: https://www.mozilla.org/de/privacy/websites/ \ No newline at end of file diff --git a/plugins/talk-plugin-auth-checkbox/index.js b/plugins/talk-plugin-auth-checkbox/index.js new file mode 100644 index 000000000..f053ebf79 --- /dev/null +++ b/plugins/talk-plugin-auth-checkbox/index.js @@ -0,0 +1 @@ +module.exports = {}; From 8d147c9e7b406d1932ae96b01fb83206ebb451a8 Mon Sep 17 00:00:00 2001 From: okbel Date: Thu, 29 Mar 2018 13:27:35 -0300 Subject: [PATCH 14/21] Styling --- .../client/components/TermsAndConditionsField.css | 7 ++++++- .../client/components/TermsAndConditionsField.js | 10 ++++++++-- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/plugins/talk-plugin-auth-checkbox/client/components/TermsAndConditionsField.css b/plugins/talk-plugin-auth-checkbox/client/components/TermsAndConditionsField.css index e05170b46..c11f408a3 100644 --- a/plugins/talk-plugin-auth-checkbox/client/components/TermsAndConditionsField.css +++ b/plugins/talk-plugin-auth-checkbox/client/components/TermsAndConditionsField.css @@ -9,5 +9,10 @@ } .fieldContainer { - padding: 5px 0; + padding: 10px 0; + display: flex; +} + +.textLabel { + padding-left: 10px; } \ No newline at end of file diff --git a/plugins/talk-plugin-auth-checkbox/client/components/TermsAndConditionsField.js b/plugins/talk-plugin-auth-checkbox/client/components/TermsAndConditionsField.js index 25f97dc09..dec0d86ce 100644 --- a/plugins/talk-plugin-auth-checkbox/client/components/TermsAndConditionsField.js +++ b/plugins/talk-plugin-auth-checkbox/client/components/TermsAndConditionsField.js @@ -58,13 +58,19 @@ class TermsAndConditionsField extends React.Component { onChange={this.onChange} id={this.id} /> -
); } From 761e372016e26c53d31023a27df368e9e41e9ec8 Mon Sep 17 00:00:00 2001 From: Chi Vinh Le Date: Thu, 29 Mar 2018 22:47:27 +0200 Subject: [PATCH 15/21] Give descriptive key for slot elements and use it instead of talkPluginName --- .gitignore | 1 + .../src/containers/ExtendableTabPanel.js | 9 +- client/coral-framework/services/plugins.js | 23 +- docs/source/_data/introspection.json | 9203 ----------------- .../components/TermsAndConditionsField.js | 11 +- .../client/login/components/SignUp.js | 29 +- .../client/login/containers/SignUp.js | 16 +- .../client/components/Settings.js | 6 +- .../client/containers/Settings.js | 8 +- 9 files changed, 59 insertions(+), 9247 deletions(-) delete mode 100644 docs/source/_data/introspection.json diff --git a/.gitignore b/.gitignore index 2c8dc71ca..a660453ea 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ npm-debug.log* dump.rdb client/coral-framework/graphql/introspection.json +docs/source/_data/introspection.json .env *.cfg diff --git a/client/coral-embed-stream/src/containers/ExtendableTabPanel.js b/client/coral-embed-stream/src/containers/ExtendableTabPanel.js index 678981a8e..c2935b152 100644 --- a/client/coral-embed-stream/src/containers/ExtendableTabPanel.js +++ b/client/coral-embed-stream/src/containers/ExtendableTabPanel.js @@ -35,12 +35,9 @@ class ExtendableTabPanelContainer extends React.Component { createPluginTabFactory = (props = this.props) => el => { return ( - + {React.cloneElement(el, { - active: props.activeTab === el.type.talkPluginName, + active: props.activeTab === el.key, })} ); @@ -59,7 +56,7 @@ class ExtendableTabPanelContainer extends React.Component { createPluginTabPane(el) { return ( - + {el} ); diff --git a/client/coral-framework/services/plugins.js b/client/coral-framework/services/plugins.js index bb16fc5e7..a25e27b76 100644 --- a/client/coral-framework/services/plugins.js +++ b/client/coral-framework/services/plugins.js @@ -173,11 +173,30 @@ class PluginsService { ); } + /** + * This adds a consistent keying for the slot elements. + * It uses the plugin name as the key. If the same plugin inserts + * multiple elements it will append `.${noOfOccurence}` to the + * key starting with the second element. + */ + const getKey = (() => { + const map = {}; + return component => { + if (map[component.talkPluginName] === undefined) { + map[component.talkPluginName] = 0; + } else { + map[component.talkPluginName]++; + } + const i = map[component.talkPluginName]; + return `${component.talkPluginName}${i > 0 ? `.${i}` : ''}`; + }; + })(); + return (size > 0 ? slots.slice(0, size) : slots) - .map((component, i) => ({ + .map(component => ({ component, disabled: isDisabled(component), - key: i, + key: getKey(component), })) .filter(o => !o.disabled) .map(({ component, key }) => diff --git a/docs/source/_data/introspection.json b/docs/source/_data/introspection.json deleted file mode 100644 index 4e5390999..000000000 --- a/docs/source/_data/introspection.json +++ /dev/null @@ -1,9203 +0,0 @@ -{ - "__schema": { - "queryType": { - "name": "RootQuery" - }, - "mutationType": { - "name": "RootMutation" - }, - "subscriptionType": { - "name": "Subscription" - }, - "types": [ - { - "kind": "OBJECT", - "name": "RootQuery", - "description": "", - "fields": [ - { - "name": "settings", - "description": "Site wide settings and defaults.", - "args": [], - "type": { - "kind": "OBJECT", - "name": "Settings", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "comment", - "description": "Finds a specific comment based on it's id.", - "args": [ - { - "name": "id", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Comment", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "assets", - "description": "All assets. Requires the `ADMIN` role.", - "args": [ - { - "name": "query", - "description": "", - "type": { - "kind": "INPUT_OBJECT", - "name": "AssetsQuery", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "AssetConnection", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "asset", - "description": "Find or create an asset by url, or just find with the ID.", - "args": [ - { - "name": "id", - "description": "", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "url", - "description": "", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Asset", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "comments", - "description": "Comments returned based on a query.", - "args": [ - { - "name": "query", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "CommentsQuery", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "CommentConnection", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "commentCount", - "description": "Return the count of comments satisfied by the query. Note that this edge is\nexpensive as it is not batched. Requires the `ADMIN` role.", - "args": [ - { - "name": "query", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "CommentCountQuery", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userCount", - "description": "Return the count of users satisfied by the query. Note that this edge is\nexpensive as it is not batched. This field is restricted.", - "args": [ - { - "name": "query", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "UserCountQuery", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "me", - "description": "The currently logged in user based on the request. Requires any logged in\nrole.", - "args": [], - "type": { - "kind": "OBJECT", - "name": "User", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "users", - "description": "Users returned based on a query. Requires the `ADMIN` role.", - "args": [ - { - "name": "query", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "UsersQuery", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "UserConnection", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "user", - "description": "a single User by id", - "args": [ - { - "name": "id", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "User", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Settings", - "description": "", - "fields": [ - { - "name": "moderation", - "description": "moderation is the moderation mode for all Asset's on the site.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "MODERATION_MODE", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "requireEmailConfirmation", - "description": "Enables a requirement for email confirmation before a user can login.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "infoBoxEnable", - "description": "infoBoxEnable will enable the Info Box content visible above the question\nbox.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "infoBoxContent", - "description": "infoBoxContent is the content of the Info Box.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "questionBoxEnable", - "description": "questionBoxEnable will enable the Question Box's content to be visible above\nThe comment box.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "questionBoxContent", - "description": "questionBoxContent is the content of the Question Box.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "premodLinksEnable", - "description": "premodLinksEnable will put all comments that contain links into premod.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "questionBoxIcon", - "description": "questionBoxIcon is the icon for the Question Box.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "autoCloseStream", - "description": "autoCloseStream when true will auto close the stream when the `closeTimeout`\namount of seconds have been reached.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "customCssUrl", - "description": "customCssUrl is the URL of the custom CSS used to display on the frontend.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "closedTimeout", - "description": "closedTimeout is the amount of seconds from the created_at timestamp that a\ngiven asset will be considered closed.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "closedMessage", - "description": "closedMessage is the message shown to the user when the given Asset is\nclosed.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "editCommentWindowLength", - "description": "editCommentWindowLength is the length of time (in milliseconds) after a\ncomment is posted that it can still be edited by the author.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "charCountEnable", - "description": "charCountEnable is true when the character count restriction is enabled.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "charCount", - "description": "charCount is the maximum number of characters a comment may be.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "organizationName", - "description": "organizationName is the name of the organization.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "wordlist", - "description": "wordlist will return a given list of words.", - "args": [], - "type": { - "kind": "OBJECT", - "name": "Wordlist", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "domains", - "description": "domains will return a given list of domains.", - "args": [], - "type": { - "kind": "OBJECT", - "name": "Domains", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "notificationsRequireConfirmation", - "description": "notificationsRequireConfirmation when true indicates that User's must have\ntheir email address confirmed/verified before they can receive\nnotifications.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "MODERATION_MODE", - "description": "The moderation mode of the site.", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "PRE", - "description": "Comments posted while in `PRE` mode will be labeled with a `PREMOD`\nstatus and will require a moderator decision before being visible.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "POST", - "description": "Comments posted while in `POST` will be visible immediately.", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "SCALAR", - "name": "Boolean", - "description": "The `Boolean` scalar type represents `true` or `false`.", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "SCALAR", - "name": "String", - "description": "The `String` scalar type represents textual data, represented as UTF-8 character sequences. The String type is most often used by GraphQL to represent free-form human-readable text.", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "SCALAR", - "name": "Int", - "description": "The `Int` scalar type represents non-fractional signed whole numeric values. Int can represent values between -(2^31) and 2^31 - 1. ", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Wordlist", - "description": "Wordlist describes all the available wordlists.", - "fields": [ - { - "name": "banned", - "description": "banned words will by default reject the comment if it is found.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "suspect", - "description": "suspect words will simply flag the comment.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Domains", - "description": "Domains describes all the available lists of domains.", - "fields": [ - { - "name": "whitelist", - "description": "whitelist is the list of domains that the embed is allowed to render on.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "SCALAR", - "name": "ID", - "description": "The `ID` scalar type represents a unique identifier, often used to refetch an object or as key for a cache. The ID type appears in a JSON response as a String; however, it is not intended to be human-readable. When expected as an input type, any string (such as `\"4\"`) or integer (such as `4`) input value will be accepted as an ID.", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Comment", - "description": "", - "fields": [ - { - "name": "parent", - "description": "The parent of the comment (if there is one).", - "args": [], - "type": { - "kind": "OBJECT", - "name": "Comment", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "id", - "description": "The ID of the comment.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "body", - "description": "The actual comment data.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "body_history", - "description": "The body history of the comment.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "CommentBodyHistory", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "tags", - "description": "The tags on the comment", - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "TagLink", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "user", - "description": "The user who authored the comment.", - "args": [], - "type": { - "kind": "OBJECT", - "name": "User", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "replies", - "description": "The replies that were made to the comment.", - "args": [ - { - "name": "query", - "description": "", - "type": { - "kind": "INPUT_OBJECT", - "name": "RepliesQuery", - "ofType": null - }, - "defaultValue": "{sortOrder: ASC, sortBy: CREATED_AT, limit: 3}" - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "CommentConnection", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "replyCount", - "description": "replyCount is the number of replies with a depth of 1. Only direct replies\nto this comment are counted.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "actions", - "description": "Actions completed on the parent. Requires the `ADMIN` role.", - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "Action", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "action_summaries", - "description": "Action summaries against a comment.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "ActionSummary", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "asset", - "description": "The asset that a comment was made on.", - "args": [], - "type": { - "kind": "OBJECT", - "name": "Asset", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "status", - "description": "The current status of a comment.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "COMMENT_STATUS", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "status_history", - "description": "The status history of the comment. Requires the `ADMIN` or `MODERATOR` role.", - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "CommentStatusHistory", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "created_at", - "description": "The time when the comment was created", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Date", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updated_at", - "description": "The time when the comment was updated.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Date", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "editing", - "description": "describes how the comment can be edited", - "args": [], - "type": { - "kind": "OBJECT", - "name": "EditInfo", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "hasParent", - "description": "Indicates if it has a parent", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "richTextBody", - "description": "", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "toxicity", - "description": "", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Float", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "CommentBodyHistory", - "description": "", - "fields": [ - { - "name": "body", - "description": "", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "created_at", - "description": "", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Date", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "SCALAR", - "name": "Date", - "description": "Date represented as an ISO8601 string", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "TagLink", - "description": "TagLink is used to associate a given Tag with a Model via a TagLink.", - "fields": [ - { - "name": "tag", - "description": "The underlying Tag that is either duplicated from the global list or created\nuniquely for this specific model.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Tag", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "assigned_by", - "description": "The user that assigned the tag. This TagLink could have been created by the\nsystem, in which case this will be null. It could also be null if the\ncurrent user is not an Admin/Moderator.", - "args": [], - "type": { - "kind": "OBJECT", - "name": "User", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "created_at", - "description": "The date that the TagLink was created.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Date", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Tag", - "description": "Tag represents the underlying Tag that can be either stored in a global list\nor added uniquely to the entity.", - "fields": [ - { - "name": "name", - "description": "The actual name of the tag entry.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "created_at", - "description": "The time that this Tag was created.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Date", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "User", - "description": "", - "fields": [ - { - "name": "id", - "description": "The ID of the User.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "username", - "description": "Username of a user.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "created_at", - "description": "creation date of user", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Date", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "action_summaries", - "description": "Action summaries against the user.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "ActionSummary", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "actions", - "description": "Actions completed on the parent.", - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "Action", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "role", - "description": "The current roles of the user.", - "args": [], - "type": { - "kind": "ENUM", - "name": "USER_ROLES", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "profiles", - "description": "The current profiles of the user.", - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "UserProfile", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "email", - "description": "The primary email address of the user. Only accessible to Administrators or\nthe current user.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "tags", - "description": "The tags on the user.", - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "TagLink", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "ignoredUsers", - "description": "ignored users.", - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "User", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "tokens", - "description": "Tokens are the personal access tokens for a given user.", - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Token", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "comments", - "description": "returns all comments based on a query.", - "args": [ - { - "name": "query", - "description": "", - "type": { - "kind": "INPUT_OBJECT", - "name": "CommentsQuery", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "CommentConnection", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "reliable", - "description": "reliable is the reference to a given user's Reliability. If the requesting\nuser does not have permission to access the reliability, null will be\nreturned.", - "args": [], - "type": { - "kind": "OBJECT", - "name": "Reliability", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "state", - "description": "returns user status", - "args": [], - "type": { - "kind": "OBJECT", - "name": "UserState", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "notificationSettings", - "description": "", - "args": [], - "type": { - "kind": "OBJECT", - "name": "NotificationSettings", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INTERFACE", - "name": "ActionSummary", - "description": "A summary of actions based on the specific grouping of the group_id.", - "fields": [ - { - "name": "count", - "description": "The count of actions with this group.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "current_user", - "description": "The current user's action.", - "args": [], - "type": { - "kind": "INTERFACE", - "name": "Action", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": null, - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "DefaultActionSummary", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "FlagActionSummary", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "DontAgreeActionSummary", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "RespectActionSummary", - "ofType": null - } - ] - }, - { - "kind": "INTERFACE", - "name": "Action", - "description": "An action rendered against a parent entity item.", - "fields": [ - { - "name": "id", - "description": "The ID of the action.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "user", - "description": "The author of the action.", - "args": [], - "type": { - "kind": "OBJECT", - "name": "User", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updated_at", - "description": "The time when the Action was updated.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Date", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "created_at", - "description": "The time when the Action was created.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Date", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": null, - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "FlagAction", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "DontAgreeAction", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "RespectAction", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "DefaultAction", - "ofType": null - } - ] - }, - { - "kind": "ENUM", - "name": "USER_ROLES", - "description": "Roles that a user can have, these can be combined.", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "ADMIN", - "description": "an administrator of the site", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "MODERATOR", - "description": "a moderator of the site", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "STAFF", - "description": "a staff of the site", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "COMMENTER", - "description": "a user without administrative roles.", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "INTERFACE", - "name": "UserProfile", - "description": "", - "fields": [ - { - "name": "id", - "description": "The id is an identifier for the user profile (email, facebook id, etc)", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "provider", - "description": "name of the provider attached to the authentication mode", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": null, - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "DefaultUserProfile", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "LocalUserProfile", - "ofType": null - } - ] - }, - { - "kind": "OBJECT", - "name": "Token", - "description": "Token is a personal access token associated with a given user.", - "fields": [ - { - "name": "id", - "description": "ID is the unique identifier for the token.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "name", - "description": "Name is the description for the token.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "active", - "description": "Active determines if the token is available to hit the API.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "jwt", - "description": "JWT is the actual token to use for authentication, this is only available\non token creation, otherwise it will be null.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "CommentsQuery", - "description": "CommentsQuery allows the ability to query comments by a specific methods.", - "fields": null, - "inputFields": [ - { - "name": "author_id", - "description": "Author of the comments.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "statuses", - "description": "Current status of a comment.\nThis field is restricted.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "COMMENT_STATUS", - "ofType": null - } - } - }, - "defaultValue": "[NONE, ACCEPTED]" - }, - { - "name": "asset_id", - "description": "Asset that a comment is on.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "parent_id", - "description": "The parent of the comment that we want to retrieve.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "action_type", - "description": "Comments returned will only be ones which have at least one action of this\ntype. Requires the `ADMIN` role.", - "type": { - "kind": "ENUM", - "name": "ACTION_TYPE", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "limit", - "description": "Limit the number of results to be returned.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": "10" - }, - { - "name": "cursor", - "description": "Skip results from the last created_at timestamp.", - "type": { - "kind": "SCALAR", - "name": "Cursor", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "sortOrder", - "description": "Sort the results by from largest first.", - "type": { - "kind": "ENUM", - "name": "SORT_ORDER", - "ofType": null - }, - "defaultValue": "DESC" - }, - { - "name": "sortBy", - "description": "The order to sort the comments by, sorting by default the created at\ntimestamp.", - "type": { - "kind": "ENUM", - "name": "SORT_COMMENTS_BY", - "ofType": null - }, - "defaultValue": "CREATED_AT" - }, - { - "name": "tags", - "description": "Filter by a specific tag name.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "excludeIgnored", - "description": "Exclude comments ignored by the requesting user", - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "COMMENT_STATUS", - "description": "The statuses that a comment may have.", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "NONE", - "description": "The comment is not PREMOD, but was not applied a moderation status by a\nmoderator.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "ACCEPTED", - "description": "The comment has been accepted by a moderator.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "REJECTED", - "description": "The comment has been rejected by a moderator.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "PREMOD", - "description": "The comment was created while the asset's premoderation option was on, and\nnew comments that haven't been moderated yet are referred to as\n\"premoderated\" or \"premod\" comments.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "SYSTEM_WITHHELD", - "description": "SYSTEM_WITHHELD represents a comment that was withheld by the system because\nit was flagged by an internal process for further review.", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "ACTION_TYPE", - "description": "", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "FLAG", - "description": "Represents a FlagAction.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "DONTAGREE", - "description": "Represents a don't agree action", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "RESPECT", - "description": "Represents a Respect.", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "SCALAR", - "name": "Cursor", - "description": "Cursor represents a paginating cursor.", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "SORT_ORDER", - "description": "Establishes the ordering of the content by their created_at time stamp.", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "DESC", - "description": "newest to oldest order.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "ASC", - "description": "oldest to newer order.", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "SORT_COMMENTS_BY", - "description": "", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "CREATED_AT", - "description": "Comments will be sorted by their created at date.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "REPLIES", - "description": "Comments will be sorted by their immediate reply count (replies to the comment\nin question only, not including descendants).", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "RESPECTS", - "description": "Comments will be sorted by their count of respects\non the comment.", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "CommentConnection", - "description": "CommentConnection represents a paginable subset of a comment list.", - "fields": [ - { - "name": "hasNextPage", - "description": "Indicates that there are more comments after this subset.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "startCursor", - "description": "Cursor of first comment in subset.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Cursor", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "endCursor", - "description": "Cursor of last comment in subset.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Cursor", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "nodes", - "description": "Subset of comments.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Comment", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Reliability", - "description": "Reliability defines how a given user should be considered reliable for their\ncomment or flag activity.", - "fields": [ - { - "name": "flagger", - "description": "flagger will be `true` when the flagger is reliable, `false` if not, or\n`null` if the reliability cannot be determined.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "commenter", - "description": "Commenter will be `true` when the commenter is reliable, `false` if not, or\n`null` if the reliability cannot be determined.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "UserState", - "description": "UserState describes the different permission based details for a user.", - "fields": [ - { - "name": "status", - "description": "status describes the statuses of different aspects of the user's details.", - "args": [], - "type": { - "kind": "OBJECT", - "name": "UserStatus", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "UserStatus", - "description": "", - "fields": [ - { - "name": "username", - "description": "username is the status of the username.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "UsernameStatus", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "banned", - "description": "banned is the bool that determines if the user is banned or not.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "BannedStatus", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "suspension", - "description": "suspension is the date that the user is suspended until.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "SuspensionStatus", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "UsernameStatus", - "description": "", - "fields": [ - { - "name": "status", - "description": "", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "USER_STATUS_USERNAME", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "history", - "description": "", - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "UsernameStatusHistory", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "USER_STATUS_USERNAME", - "description": "USER_STATUS_USERNAME is the different states that a username can be in.", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "UNSET", - "description": "UNSET is used when the username can be changed, and does not necessarily\nrequire moderator action to become active. This can be used when the user\nsigns up with a social login and has the option of setting their own\nusername.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "SET", - "description": "SET is used when the username has been set for the first time, but cannot\nchange without the username being rejected by a moderator and that moderator\nagreeing that the username should be allowed to change.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "APPROVED", - "description": "APPROVED is used when the username was changed, and subsequently approved by\nsaid moderator.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "REJECTED", - "description": "REJECTED is used when the username was changed, and subsequently rejected by\nsaid moderator.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "CHANGED", - "description": "CHANGED is used after a user has changed their username after it was\nrejected.", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "UsernameStatusHistory", - "description": "", - "fields": [ - { - "name": "status", - "description": "", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "USER_STATUS_USERNAME", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "assigned_by", - "description": "", - "args": [], - "type": { - "kind": "OBJECT", - "name": "User", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "created_at", - "description": "", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Date", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "BannedStatus", - "description": "", - "fields": [ - { - "name": "status", - "description": "", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "history", - "description": "", - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "BannedStatusHistory", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "BannedStatusHistory", - "description": "", - "fields": [ - { - "name": "status", - "description": "", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "assigned_by", - "description": "", - "args": [], - "type": { - "kind": "OBJECT", - "name": "User", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "created_at", - "description": "", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Date", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "SuspensionStatus", - "description": "", - "fields": [ - { - "name": "until", - "description": "", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Date", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "history", - "description": "", - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "SuspensionStatusHistory", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "SuspensionStatusHistory", - "description": "", - "fields": [ - { - "name": "until", - "description": "", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Date", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "assigned_by", - "description": "", - "args": [], - "type": { - "kind": "OBJECT", - "name": "User", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "created_at", - "description": "", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Date", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "NotificationSettings", - "description": "", - "fields": [ - { - "name": "digestFrequency", - "description": "", - "args": [], - "type": { - "kind": "ENUM", - "name": "DIGEST_FREQUENCY", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "onReply", - "description": "", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "onFeatured", - "description": "", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "onStaffReply", - "description": "", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "DIGEST_FREQUENCY", - "description": "", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "NONE", - "description": "NONE will have the notifications send immediatly rather than bundling\nfor digesting.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "HOURLY", - "description": "HOURLY will queue up the notifications and send them hourly.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "DAILY", - "description": "DAILY will queue up the notifications and send them daily.", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "RepliesQuery", - "description": "", - "fields": null, - "inputFields": [ - { - "name": "sortOrder", - "description": "Sort the results by from smallest first.", - "type": { - "kind": "ENUM", - "name": "SORT_ORDER", - "ofType": null - }, - "defaultValue": "ASC" - }, - { - "name": "sortBy", - "description": "The order to sort the comments by, sorting by default the created at\ntimestamp.", - "type": { - "kind": "ENUM", - "name": "SORT_COMMENTS_BY", - "ofType": null - }, - "defaultValue": "CREATED_AT" - }, - { - "name": "limit", - "description": "Limit the number of results to be returned.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": "3" - }, - { - "name": "excludeIgnored", - "description": "Exclude comments ignored by the requesting user", - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Asset", - "description": "Where comments are made on.", - "fields": [ - { - "name": "id", - "description": "The current ID of the asset.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "title", - "description": "The scraped title of the asset.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "url", - "description": "The URL that the asset is located on.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "comments", - "description": "The comments that are attached to the asset. When `deep` is true, the\ncomments returned will be at all depths.", - "args": [ - { - "name": "query", - "description": "", - "type": { - "kind": "INPUT_OBJECT", - "name": "CommentsQuery", - "ofType": null - }, - "defaultValue": "{statuses: [NONE, ACCEPTED], limit: 10, sortOrder: DESC, sortBy: CREATED_AT}" - }, - { - "name": "deep", - "description": "", - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": "false" - } - ], - "type": { - "kind": "OBJECT", - "name": "CommentConnection", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "comment", - "description": "A Comment from the Asset by comment's ID", - "args": [ - { - "name": "id", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Comment", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "commentCount", - "description": "The count of top level comments on the asset.", - "args": [ - { - "name": "tags", - "description": "", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "totalCommentCount", - "description": "The total count of all comments made on the asset.", - "args": [ - { - "name": "tags", - "description": "", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "settings", - "description": "The settings (rectified with the global settings) that should be applied to\nthis asset.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Settings", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "closedAt", - "description": "The date that the asset was closed at.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Date", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "isClosed", - "description": "True if asset is closed.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "action_summaries", - "description": "Summary of all Actions against all entities associated with the Asset.\n(likes, flags, etc.). Requires the `ADMIN` role.", - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "AssetActionSummary", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "created_at", - "description": "The date that the asset was created.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Date", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "tags", - "description": "The tags on the asset", - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "TagLink", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "author", - "description": "The author(s) of the asset.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INTERFACE", - "name": "AssetActionSummary", - "description": "A summary of actions for a specific action type on an Asset.", - "fields": [ - { - "name": "actionCount", - "description": "Number of actions associated with actionable types on this this Asset.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "actionableItemCount", - "description": "Number of unique actionable types that are referenced by the actions.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": null, - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "DefaultAssetActionSummary", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "FlagAssetActionSummary", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "RespectAssetActionSummary", - "ofType": null - } - ] - }, - { - "kind": "OBJECT", - "name": "CommentStatusHistory", - "description": "", - "fields": [ - { - "name": "type", - "description": "", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "COMMENT_STATUS", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "created_at", - "description": "", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Date", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "assigned_by", - "description": "", - "args": [], - "type": { - "kind": "OBJECT", - "name": "User", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "EditInfo", - "description": "", - "fields": [ - { - "name": "edited", - "description": "", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "editableUntil", - "description": "", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Date", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "SCALAR", - "name": "Float", - "description": "The `Float` scalar type represents signed double-precision fractional values as specified by [IEEE 754](http://en.wikipedia.org/wiki/IEEE_floating_point). ", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "AssetsQuery", - "description": "AssetsQuery allows teh ability to query assets by specific fields", - "fields": null, - "inputFields": [ - { - "name": "value", - "description": "a search string to match against titles, authors, urls, etc.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": "\"\"" - }, - { - "name": "limit", - "description": "Limit the number of results to be returned", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": "10" - }, - { - "name": "open", - "description": "open filters assets that are open/closed/all. Not providing this parameter\nwill return all the assets, true will return assets that are open, and false\nwill return assets that are closed.", - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "sortOrder", - "description": "sortOrder specifies the order of the sort for the returned Assets.", - "type": { - "kind": "ENUM", - "name": "SORT_ORDER", - "ofType": null - }, - "defaultValue": "DESC" - }, - { - "name": "cursor", - "description": "Skip results from the last created_at timestamp.", - "type": { - "kind": "SCALAR", - "name": "Cursor", - "ofType": null - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "AssetConnection", - "description": "AssetConnection represents a paginable subset of a asset list.", - "fields": [ - { - "name": "hasNextPage", - "description": "Indicates that there are more assets after this subset.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "startCursor", - "description": "Cursor of first asset in subset.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Cursor", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "endCursor", - "description": "Cursor of last asset in subset.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Cursor", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "nodes", - "description": "Subset of assets.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Asset", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "CommentCountQuery", - "description": "CommentCountQuery allows the ability to query comment counts by specific\nmethods.", - "fields": null, - "inputFields": [ - { - "name": "statuses", - "description": "Current status of a comment.\nThis field is restricted.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "COMMENT_STATUS", - "ofType": null - } - } - }, - "defaultValue": "[NONE, ACCEPTED]" - }, - { - "name": "asset_id", - "description": "Asset that a comment is on.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "asset_url", - "description": "The URL that the asset is located on.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "parent_id", - "description": "The parent of the comment that we want to retrieve.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "action_type", - "description": "comments returned will only be ones which have at least one action of this\ntype.", - "type": { - "kind": "ENUM", - "name": "ACTION_TYPE", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "author_id", - "description": "author_id allows the querying of comment counts based on the author of the\ncomments.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "tags", - "description": "Filter by a specific tag name.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "UserCountQuery", - "description": "UserCountQuery allows the ability to query user counts by specific\nmethods.", - "fields": null, - "inputFields": [ - { - "name": "action_type", - "description": "comments returned will only be ones which have at least one action of this\ntype.", - "type": { - "kind": "ENUM", - "name": "ACTION_TYPE", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "state", - "description": "state queries for a specific subset of users with the given state query.", - "type": { - "kind": "INPUT_OBJECT", - "name": "UserStateInput", - "ofType": null - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "UserStateInput", - "description": "", - "fields": null, - "inputFields": [ - { - "name": "status", - "description": "", - "type": { - "kind": "INPUT_OBJECT", - "name": "UserStatusInput", - "ofType": null - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "UserStatusInput", - "description": "UserStatusInput describes the queryable components of the UserStatus.", - "fields": null, - "inputFields": [ - { - "name": "username", - "description": "username will restrict the returned users to only those with the given\nusername status's. If not provided, no filtering will be performed.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "USER_STATUS_USERNAME", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "banned", - "description": "banned will restrict the returned users to only those that are, or are not\nbanned. If not provided, no filtering will be performed.", - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "suspended", - "description": "suspended will restrict the returned users to only those that are, or are not\nsuspended. If not provided, no filtering will be performed.", - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "UsersQuery", - "description": "UsersQuery allows the ability to query users by a specific fields.", - "fields": null, - "inputFields": [ - { - "name": "action_type", - "description": "Users returned will only be ones which have at least one action of this.", - "type": { - "kind": "ENUM", - "name": "ACTION_TYPE", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "state", - "description": "state will filter the users to a specific set of users that meet.", - "type": { - "kind": "INPUT_OBJECT", - "name": "UserStateInput", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "value", - "description": "value is the search string to use to search for a pa", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": "\"\"" - }, - { - "name": "limit", - "description": "Limit the number of results to be returned.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": "10" - }, - { - "name": "cursor", - "description": "Skip results from the last created_at timestamp.", - "type": { - "kind": "SCALAR", - "name": "Cursor", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "sortOrder", - "description": "Sort the results by created_at.", - "type": { - "kind": "ENUM", - "name": "SORT_ORDER", - "ofType": null - }, - "defaultValue": "DESC" - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "UserConnection", - "description": "UserConnection represents a paginable subset of a user list.", - "fields": [ - { - "name": "hasNextPage", - "description": "Indicates that there are more users after this subset.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "startCursor", - "description": "Cursor of first user in subset.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Cursor", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "endCursor", - "description": "Cursor of last user in subset.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Cursor", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "nodes", - "description": "Subset of users.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "User", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "RootMutation", - "description": "", - "fields": [ - { - "name": "createComment", - "description": "Creates a comment on the asset.", - "args": [ - { - "name": "input", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "CreateCommentInput", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "CreateCommentResponse", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createFlag", - "description": "Creates a flag on an entity.", - "args": [ - { - "name": "flag", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "CreateFlagInput", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "CreateFlagResponse", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createDontAgree", - "description": "Creates a don't agree action on an entity.", - "args": [ - { - "name": "dontagree", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "CreateDontAgreeInput", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "CreateDontAgreeResponse", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deleteAction", - "description": "Delete an action based on the action id.", - "args": [ - { - "name": "id", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "DeleteActionResponse", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "editComment", - "description": "Edit a comment", - "args": [ - { - "name": "id", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "asset_id", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "edit", - "description": "", - "type": { - "kind": "INPUT_OBJECT", - "name": "EditCommentInput", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "EditCommentResponse", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "suspendUser", - "description": "Sets the suspension status on a given user. Requires the `MODERATOR` role.\nMutation is restricted.", - "args": [ - { - "name": "input", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "SuspendUserInput", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "SuspendUserResponse", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "unsuspendUser", - "description": "Sets the suspension status on a given user. Requires the `MODERATOR` role.\nMutation is restricted.", - "args": [ - { - "name": "input", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "UnsuspendUserInput", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "UnsuspendUserResponse", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "banUser", - "description": "Sets the ban status on a given user. Requires the `MODERATOR` role.\nMutation is restricted.", - "args": [ - { - "name": "input", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "BanUserInput", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "BanUsersResponse", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "unbanUser", - "description": "Sets the ban status on a given user. Requires the `MODERATOR` role.\nMutation is restricted.", - "args": [ - { - "name": "input", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "UnbanUserInput", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "UnbanUserResponse", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "approveUsername", - "description": "Sets the username status on a given user to `APPROVED`. Requires the\n`MODERATOR` role. Mutation is restricted.", - "args": [ - { - "name": "id", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "SetUsernameStatusResponse", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "rejectUsername", - "description": "Sets the username status on a given user to `REJECTED`. Requires the\n`MODERATOR` role. Mutation is restricted.", - "args": [ - { - "name": "id", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "SetUsernameStatusResponse", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "changeUsername", - "description": "Changes the username to the desired username. Mutation is restricted to\nthose users with permission do to so.", - "args": [ - { - "name": "id", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "username", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "ChangeUsernameResponse", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "setUsername", - "description": "Sets the username to the desired username if the user has not had a chance\nto set their username. Mutation is restricted to those users with permission\ndo to so that have not done so before.", - "args": [ - { - "name": "id", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "username", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "SetUsernameResponse", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "setCommentStatus", - "description": "Sets Comment status. Requires the `ADMIN` role.\nMutation is restricted.", - "args": [ - { - "name": "id", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "status", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "COMMENT_STATUS", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "SetCommentStatusResponse", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "addTag", - "description": "Add a tag.", - "args": [ - { - "name": "tag", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "ModifyTagInput", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "ModifyTagResponse", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "removeTag", - "description": "Removes a tag.", - "args": [ - { - "name": "tag", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "ModifyTagInput", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "ModifyTagResponse", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "setUserRole", - "description": "Set's a given users role to the one provided. If `null` is passed, the user\nwill not have any role.", - "args": [ - { - "name": "id", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "role", - "description": "", - "type": { - "kind": "ENUM", - "name": "USER_ROLES", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "SetUserRoleResponse", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updateAssetSettings", - "description": "Updates settings on a given asset.\nMutation is restricted.", - "args": [ - { - "name": "id", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "input", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "AssetSettingsInput", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "UpdateAssetSettingsResponse", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updateAssetStatus", - "description": "Updates the status of an asset allowing you to close/reopen an asset for\ncommenting.\nMutation is restricted.", - "args": [ - { - "name": "id", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "input", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "UpdateAssetStatusInput", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "UpdateAssetStatusResponse", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "closeAsset", - "description": "closeAsset will close the asset for commenting based on server time.", - "args": [ - { - "name": "id", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "CloseAssetResponse", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updateSettings", - "description": "updateSettings will update the global settings.\nMutation is restricted.", - "args": [ - { - "name": "input", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "UpdateSettingsInput", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "UpdateSettingsResponse", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "ignoreUser", - "description": "Ignore comments by another user", - "args": [ - { - "name": "id", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "IgnoreUserResponse", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createToken", - "description": "CreateToken will create a token that is attached to the current user.\nMutation is restricted.", - "args": [ - { - "name": "input", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "CreateTokenInput", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "CreateTokenResponse", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "revokeToken", - "description": "RevokeToken will revoke an existing token.\nMutation is restricted.", - "args": [ - { - "name": "input", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "RevokeTokenInput", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "RevokeTokenResponse", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "stopIgnoringUser", - "description": "Stop Ignoring comments by another user.", - "args": [ - { - "name": "id", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "StopIgnoringUserResponse", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "forceScrapeAsset", - "description": "forceScrapeAsset will force scrape the Asset with the given ID.", - "args": [ - { - "name": "id", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "ForceScrapeAssetResponse", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "delUser", - "description": "delUser will delete the user with the specified id.", - "args": [ - { - "name": "id", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "DelUserResponse", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "createRespectAction", - "description": "Creates a respect on an entity.", - "args": [ - { - "name": "input", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "CreateRespectActionInput", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "CreateRespectActionResponse", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deleteRespectAction", - "description": "", - "args": [ - { - "name": "input", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "DeleteRespectActionInput", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "DeleteRespectActionResponse", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updateNotificationSettings", - "description": "updateNotificationSettings will update the current user's notification\nsettings.", - "args": [ - { - "name": "input", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INPUT_OBJECT", - "name": "NotificationSettingsInput", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "UpdateNotificationSettingsResponse", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "CreateCommentInput", - "description": "", - "fields": null, - "inputFields": [ - { - "name": "asset_id", - "description": "The asset id", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "parent_id", - "description": "The id of the parent comment", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "body", - "description": "The body of the comment", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "tags", - "description": "Tags", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "richTextBody", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "checkToxicity", - "description": "If true, the mutation will fail when the\nbody contains toxic language.", - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "CreateCommentResponse", - "description": "CreateCommentResponse is returned with the comment that was created and any\nerrors that may have occurred in the attempt to create it.", - "fields": [ - { - "name": "comment", - "description": "The comment that was created.", - "args": [], - "type": { - "kind": "OBJECT", - "name": "Comment", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "actions", - "description": "Actions that was assigned during creation of the comment.", - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "Action", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "errors", - "description": "An array of errors relating to the mutation that occurred.", - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "UserError", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Response", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INTERFACE", - "name": "Response", - "description": "Response defines what can be expected from any response to a mutation action.", - "fields": [ - { - "name": "errors", - "description": "An array of errors relating to the mutation that occurred.", - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "UserError", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": null, - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "CreateCommentResponse", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "CreateFlagResponse", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "CreateDontAgreeResponse", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "DeleteActionResponse", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "EditCommentResponse", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "SuspendUserResponse", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "UnsuspendUserResponse", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "BanUsersResponse", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "UnbanUserResponse", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "SetUsernameStatusResponse", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "ChangeUsernameResponse", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "SetUsernameResponse", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "SetCommentStatusResponse", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "ModifyTagResponse", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "SetUserRoleResponse", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "UpdateAssetSettingsResponse", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "UpdateAssetStatusResponse", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "CloseAssetResponse", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "UpdateSettingsResponse", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "IgnoreUserResponse", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "CreateTokenResponse", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "RevokeTokenResponse", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "StopIgnoringUserResponse", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "ForceScrapeAssetResponse", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "DelUserResponse", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "CreateRespectActionResponse", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "DeleteRespectActionResponse", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "UpdateNotificationSettingsResponse", - "ofType": null - } - ] - }, - { - "kind": "INTERFACE", - "name": "UserError", - "description": "Any error rendered due to the user's input.", - "fields": [ - { - "name": "translation_key", - "description": "Translation key relating to a translatable string containing details to be\ndisplayed to the end user.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": null, - "enumValues": null, - "possibleTypes": [ - { - "kind": "OBJECT", - "name": "GenericUserError", - "ofType": null - }, - { - "kind": "OBJECT", - "name": "ValidationUserError", - "ofType": null - } - ] - }, - { - "kind": "INPUT_OBJECT", - "name": "CreateFlagInput", - "description": "", - "fields": null, - "inputFields": [ - { - "name": "item_id", - "description": "The item's id for which we are to create a flag.", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "item_type", - "description": "The type of the item for which we are to create the flag.", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "ACTION_ITEM_TYPE", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "reason", - "description": "The reason for flagging the item.", - "type": { - "kind": "ENUM", - "name": "FLAG_REASON", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "message", - "description": "An optional message sent with the flagging action by the user.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "ACTION_ITEM_TYPE", - "description": "Used to represent the item type for an action.", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "ASSETS", - "description": "The action references a entity of type Asset.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "COMMENTS", - "description": "The action references a entity of type Comment.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "USERS", - "description": "The action references a entity of type User.", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "FLAG_REASON", - "description": "", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "USERNAME_OFFENSIVE", - "description": "The current user thinks that the flagged username is offensive.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "USERNAME_NOLIKE", - "description": "The current user does not like the flagged username.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "USERNAME_IMPERSONATING", - "description": "The current user thinks that the flagged username is being used to\nimpersonate another user.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "USERNAME_SPAM", - "description": "The current user thinks that the flagged username is spam.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "USERNAME_OTHER", - "description": "The current user thinks that the flagged username is wrong for another\nreason.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "COMMENT_OFFENSIVE", - "description": "The current user thinks that the flagged comment is offensive.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "COMMENT_SPAM", - "description": "The current user thinks that the flagged comment is spam.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "COMMENT_OTHER", - "description": "The current user thinks that the flagged comment is wrong for another\nreason.", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "CreateFlagResponse", - "description": "CreateFlagResponse is the response returned with possibly some errors\nrelating to the creating the flag action attempt and possibly the flag that\nwas created.", - "fields": [ - { - "name": "flag", - "description": "The flag that was created.", - "args": [], - "type": { - "kind": "OBJECT", - "name": "FlagAction", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "errors", - "description": "An array of errors relating to the mutation that occurred.", - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "UserError", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Response", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "FlagAction", - "description": "A FLAG action that contains flag metadata.", - "fields": [ - { - "name": "id", - "description": "The ID of the Flag Action.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "reason", - "description": "The reason for which the Flag Action was created.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "message", - "description": "An optional message sent with the flagging action by the user.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "user", - "description": "The user who created the action.", - "args": [], - "type": { - "kind": "OBJECT", - "name": "User", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updated_at", - "description": "The time when the Flag Action was updated.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Date", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "created_at", - "description": "The time when the Flag Action was created.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Date", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Action", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "CreateDontAgreeInput", - "description": "", - "fields": null, - "inputFields": [ - { - "name": "item_id", - "description": "The item's id for which we are to create a don't agree.", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "item_type", - "description": "The type of the item for which we are to create the don't agree.", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "ACTION_ITEM_TYPE", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "message", - "description": "An optional message sent with the don't agree action by the user.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "CreateDontAgreeResponse", - "description": "CreateDontAgreeResponse is the response returned with possibly some errors\nrelating to the creating the don't agree action attempt and possibly the don't agree that\nwas created.", - "fields": [ - { - "name": "dontagree", - "description": "The don't agree that was created.", - "args": [], - "type": { - "kind": "OBJECT", - "name": "DontAgreeAction", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "errors", - "description": "An array of errors relating to the mutation that occurred.", - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "UserError", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Response", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "DontAgreeAction", - "description": "A DONTAGREE action that contains do not agree metadata.", - "fields": [ - { - "name": "id", - "description": "The ID of the DontAgree Action.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "message", - "description": "An optional message sent with the flagging action by the user.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "user", - "description": "The user who created the action.", - "args": [], - "type": { - "kind": "OBJECT", - "name": "User", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updated_at", - "description": "The time when the DontAgree Action was updated.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Date", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "created_at", - "description": "The time when the DontAgree Action was created.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Date", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Action", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "DeleteActionResponse", - "description": "DeleteActionResponse is the response returned with possibly some errors\nrelating to the delete action attempt.", - "fields": [ - { - "name": "errors", - "description": "An array of errors relating to the mutation that occurred.", - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "UserError", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Response", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "EditCommentInput", - "description": "", - "fields": null, - "inputFields": [ - { - "name": "body", - "description": "Update body of the comment", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "richTextBody", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "EditCommentResponse", - "description": "EditCommentResponse contains the updated comment and any errors that occurred.", - "fields": [ - { - "name": "comment", - "description": "The edited comment.", - "args": [], - "type": { - "kind": "OBJECT", - "name": "Comment", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "errors", - "description": "An array of errors relating to the mutation that occurred.", - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "UserError", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Response", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "SuspendUserInput", - "description": "", - "fields": null, - "inputFields": [ - { - "name": "id", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "message", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "until", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Date", - "ofType": null - } - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "SuspendUserResponse", - "description": "", - "fields": [ - { - "name": "errors", - "description": "", - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "UserError", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Response", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "UnsuspendUserInput", - "description": "", - "fields": null, - "inputFields": [ - { - "name": "id", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "UnsuspendUserResponse", - "description": "UnsuspendUserResponse is the response returned with possibly some\nerrors relating to the suspend action attempt.", - "fields": [ - { - "name": "errors", - "description": "An array of errors relating to the mutation that occurred.", - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "UserError", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Response", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "BanUserInput", - "description": "", - "fields": null, - "inputFields": [ - { - "name": "id", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "message", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "BanUsersResponse", - "description": "", - "fields": [ - { - "name": "errors", - "description": "", - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "UserError", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Response", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "UnbanUserInput", - "description": "", - "fields": null, - "inputFields": [ - { - "name": "id", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "UnbanUserResponse", - "description": "", - "fields": [ - { - "name": "errors", - "description": "", - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "UserError", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Response", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "SetUsernameStatusResponse", - "description": "", - "fields": [ - { - "name": "errors", - "description": "An array of errors relating to the mutation that occurred.", - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "UserError", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Response", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "ChangeUsernameResponse", - "description": "", - "fields": [ - { - "name": "errors", - "description": "An array of errors relating to the mutation that occurred.", - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "UserError", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Response", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "SetUsernameResponse", - "description": "", - "fields": [ - { - "name": "errors", - "description": "An array of errors relating to the mutation that occurred.", - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "UserError", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Response", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "SetCommentStatusResponse", - "description": "SetCommentStatusResponse is the response returned with possibly some errors\nrelating to the delete action attempt.", - "fields": [ - { - "name": "errors", - "description": "An array of errors relating to the mutation that occurred.", - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "UserError", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Response", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "ModifyTagInput", - "description": "ModifyTagInput is the input used to modify a tag.", - "fields": null, - "inputFields": [ - { - "name": "name", - "description": "name is the actual tag to add to the model.", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "id", - "description": "id is the ID of the model in question that we are modifying the tag of.", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "item_type", - "description": "item_type is the type of item that we are modifying the tag if.", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "TAGGABLE_ITEM_TYPE", - "ofType": null - } - }, - "defaultValue": null - }, - { - "name": "asset_id", - "description": "asset_id is used when the item_type is `COMMENTS`, the is needed to rectify\nThe settings to get the asset specific tags/settings.", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "TAGGABLE_ITEM_TYPE", - "description": "Used to represent the item type for a tag.", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "ASSETS", - "description": "The action references a entity of type Asset.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "COMMENTS", - "description": "The action references a entity of type Comment.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "USERS", - "description": "The action references a entity of type User.", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "ModifyTagResponse", - "description": "Response to the addTag or removeTag mutations.", - "fields": [ - { - "name": "errors", - "description": "An array of errors relating to the mutation that occurred.", - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "UserError", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Response", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "SetUserRoleResponse", - "description": "", - "fields": [ - { - "name": "errors", - "description": "An array of errors relating to the mutation that occurred.", - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "UserError", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Response", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "AssetSettingsInput", - "description": "Configurable settings that can be overridden for the Asset. You must specify\nall fields that should be updated.", - "fields": null, - "inputFields": [ - { - "name": "premodLinksEnable", - "description": "premodLinksEnable will put all comments that contain links into premod.", - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "moderation", - "description": "moderation is the moderation mode for the asset.", - "type": { - "kind": "ENUM", - "name": "MODERATION_MODE", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "questionBoxEnable", - "description": "questionBoxEnable will enable the Question Boxs' content to be visible above\nThe comment box.", - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "questionBoxContent", - "description": "questionBoxContent is the content of the Question Box.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "questionBoxIcon", - "description": "questionBoxIcon is the icon for the Question Box.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "UpdateAssetSettingsResponse", - "description": "UpdateAssetSettingsResponse is the response returned with possibly some errors\nrelating to the update settings attempt.", - "fields": [ - { - "name": "errors", - "description": "An array of errors relating to the mutation that occurred.", - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "UserError", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Response", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "UpdateAssetStatusInput", - "description": "UpdateAssetStatusInput contains the input to change the status of a comment as\nit relates to being open/closed for commenting.", - "fields": null, - "inputFields": [ - { - "name": "closedAt", - "description": "closedAt is the time that the asset will be closed for commenting. If this\nis null or in the future, it will be open for commenting.", - "type": { - "kind": "SCALAR", - "name": "Date", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "closedMessage", - "description": "closedMessage is the message to be set on the asset when it is closed. If it\nis null, then the message will default to the globally set `closedMessage`.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "UpdateAssetStatusResponse", - "description": "UpdateAssetStatusResponse is the response returned with possibly some errors\nrelating to the update status attempt.", - "fields": [ - { - "name": "errors", - "description": "An array of errors relating to the mutation that occurred.", - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "UserError", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Response", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "CloseAssetResponse", - "description": "CloseAssetResponse is the response returned with possibly some errors\nrelating to the update status attempt.", - "fields": [ - { - "name": "errors", - "description": "An array of errors relating to the mutation that occurred.", - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "UserError", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Response", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "UpdateSettingsInput", - "description": "UpdateSettingsInput is the input used to input the global site settings. This\nwill override the existing settings, so all fields must be included.", - "fields": null, - "inputFields": [ - { - "name": "moderation", - "description": "moderation is the moderation mode for all Asset's on the site.", - "type": { - "kind": "ENUM", - "name": "MODERATION_MODE", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "requireEmailConfirmation", - "description": "Enables a requirement for email confirmation before a user can login.", - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "infoBoxEnable", - "description": "infoBoxEnable will enable the Info Box content visible above the question\nbox.", - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "infoBoxContent", - "description": "infoBoxContent is the content of the Info Box.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "questionBoxEnable", - "description": "questionBoxEnable will enable the Question Box's content to be visible above\nThe comment box.", - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "questionBoxContent", - "description": "questionBoxContent is the content of the Question Box.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "premodLinksEnable", - "description": "premodLinksEnable will put all comments that contain links into premod.", - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "questionBoxIcon", - "description": "questionBoxIcon is the icon for the Question Box.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "autoCloseStream", - "description": "autoCloseStream when true will auto close the stream when the `closeTimeout`\namount of seconds have been reached.", - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "customCssUrl", - "description": "customCssUrl is the URL of the custom CSS used to display on the frontend.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "closedTimeout", - "description": "closedTimeout is the amount of seconds from the created_at timestamp that a\ngiven asset will be considered closed.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "closedMessage", - "description": "closedMessage is the message shown to the user when the given Asset is\nclosed.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "charCountEnable", - "description": "charCountEnable is true when the character count restriction is enabled.", - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "charCount", - "description": "charCount is the maximum number of characters a comment may be.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "organizationName", - "description": "organizationName is the name of the organization.", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "editCommentWindowLength", - "description": "editCommentWindowLength is the length of time (in milliseconds) after a\ncomment is posted that it can still be edited by the author.", - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "wordlist", - "description": "wordlist allows changing the available wordlists.", - "type": { - "kind": "INPUT_OBJECT", - "name": "UpdateWordlistInput", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "domains", - "description": "domains allows changing the available lists of domains.", - "type": { - "kind": "INPUT_OBJECT", - "name": "UpdateDomainsInput", - "ofType": null - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "UpdateWordlistInput", - "description": "UpdateWordlistInput is the list of words that composes the Wordlist.", - "fields": null, - "inputFields": [ - { - "name": "banned", - "description": "banned words will by default reject the comment if it is found.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - }, - { - "name": "suspect", - "description": "suspect words will simply flag the comment.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "UpdateDomainsInput", - "description": "UpdateDomainsInput describes all the available lists of domains.", - "fields": null, - "inputFields": [ - { - "name": "whitelist", - "description": "whitelist is the list of domains that the embed is allowed to render on.", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - } - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "UpdateSettingsResponse", - "description": "UpdateSettingsResponse contains any errors that were rendered as a result\nof the mutation.", - "fields": [ - { - "name": "errors", - "description": "An array of errors relating to the mutation that occurred.", - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "UserError", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Response", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "IgnoreUserResponse", - "description": "Response to ignoreUser mutation", - "fields": [ - { - "name": "errors", - "description": "An array of errors relating to the mutation that occurred.", - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "UserError", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Response", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "CreateTokenInput", - "description": "CreateTokenInput contains the input to create the token.", - "fields": null, - "inputFields": [ - { - "name": "name", - "description": "Name is the description for the token.", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "CreateTokenResponse", - "description": "CreateTokenResponse contains the errors related to creating a token.", - "fields": [ - { - "name": "token", - "description": "Token is the Token that was created, or null if it failed.", - "args": [], - "type": { - "kind": "OBJECT", - "name": "Token", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "errors", - "description": "An array of errors relating to the mutation that occurred.", - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "UserError", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Response", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "RevokeTokenInput", - "description": "RevokeTokenInput contains the input to revoke the token.", - "fields": null, - "inputFields": [ - { - "name": "id", - "description": "ID is the JTI for the token.", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "RevokeTokenResponse", - "description": "RevokeTokenResponse contains the errors related to revoking a token.", - "fields": [ - { - "name": "errors", - "description": "An array of errors relating to the mutation that occurred.", - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "UserError", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Response", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "StopIgnoringUserResponse", - "description": "Response to stopIgnoringUser mutation", - "fields": [ - { - "name": "errors", - "description": "An array of errors relating to the mutation that occurred.", - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "UserError", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Response", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "ForceScrapeAssetResponse", - "description": "", - "fields": [ - { - "name": "errors", - "description": "An array of errors relating to the mutation that occurred.", - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "UserError", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Response", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "DelUserResponse", - "description": "", - "fields": [ - { - "name": "errors", - "description": "An array of errors relating to the mutation that occurred.", - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "UserError", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Response", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "CreateRespectActionInput", - "description": "", - "fields": null, - "inputFields": [ - { - "name": "item_id", - "description": "The item's id for which we are to create a respect.", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "CreateRespectActionResponse", - "description": "", - "fields": [ - { - "name": "respect", - "description": "The respect that was created.", - "args": [], - "type": { - "kind": "OBJECT", - "name": "RespectAction", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "errors", - "description": "An array of errors relating to the mutation that occurred.", - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "UserError", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Response", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "RespectAction", - "description": "RespectAction is used by users who \"respect\" a specific entity.", - "fields": [ - { - "name": "id", - "description": "The ID of the action.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "user", - "description": "The author of the action.", - "args": [], - "type": { - "kind": "OBJECT", - "name": "User", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updated_at", - "description": "The time when the Action was updated.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Date", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "created_at", - "description": "The time when the Action was created.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Date", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "item_id", - "description": "The item's id for which the Action was created.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Action", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "DeleteRespectActionInput", - "description": "", - "fields": null, - "inputFields": [ - { - "name": "id", - "description": "The item's id for which we are deleting a respect.", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "DeleteRespectActionResponse", - "description": "", - "fields": [ - { - "name": "errors", - "description": "An array of errors relating to the mutation that occurred.", - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "UserError", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Response", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "INPUT_OBJECT", - "name": "NotificationSettingsInput", - "description": "", - "fields": null, - "inputFields": [ - { - "name": "digestFrequency", - "description": "digestFrequency is the frequency to send notifications.", - "type": { - "kind": "ENUM", - "name": "DIGEST_FREQUENCY", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "onReply", - "description": "", - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "onFeatured", - "description": "", - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "onStaffReply", - "description": "", - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": null - } - ], - "interfaces": null, - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "UpdateNotificationSettingsResponse", - "description": "", - "fields": [ - { - "name": "errors", - "description": "An array of errors relating to the mutation that occurred.", - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "INTERFACE", - "name": "UserError", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Response", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "Subscription", - "description": "", - "fields": [ - { - "name": "commentAdded", - "description": "Get an update whenever a comment was added.\n`asset_id` is required except for users with the `ADMIN` or `MODERATOR` role.\nNon privileged user can only subscribe to 'NONE' and/or 'ACCEPTED' statuses.", - "args": [ - { - "name": "asset_id", - "description": "", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - }, - { - "name": "statuses", - "description": "", - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "COMMENT_STATUS", - "ofType": null - } - } - }, - "defaultValue": "[NONE, ACCEPTED]" - } - ], - "type": { - "kind": "OBJECT", - "name": "Comment", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "commentEdited", - "description": "Get an update whenever a comment was edited.\n`asset_id` is required except for users with the `ADMIN` or `MODERATOR` role.", - "args": [ - { - "name": "asset_id", - "description": "", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Comment", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "commentFlagged", - "description": "Get an update whenever a comment was flagged.\nRequires the `ADMIN` or `MODERATOR` role.", - "args": [ - { - "name": "asset_id", - "description": "", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Comment", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "commentAccepted", - "description": "Get an update whenever a comment has been accepted.\nRequires the `ADMIN` or `MODERATOR` role.", - "args": [ - { - "name": "asset_id", - "description": "", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Comment", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "commentRejected", - "description": "Get an update whenever a comment has been rejected.\nRequires the `ADMIN` or `MODERATOR` role.", - "args": [ - { - "name": "asset_id", - "description": "", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Comment", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "commentReset", - "description": "Get an update whenever the status of a comment has been reset.\nRequires the `ADMIN` or `MODERATOR` role.", - "args": [ - { - "name": "asset_id", - "description": "", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "Comment", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userSuspended", - "description": "Get an update whenever a user has been suspended.\n`user_id` must match id of current user except for\nusers with the `ADMIN` or `MODERATOR` role.", - "args": [ - { - "name": "user_id", - "description": "", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "User", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userBanned", - "description": "Get an update whenever a user has been banned.\n`user_id` must match id of current user except for\nusers with the `ADMIN` or `MODERATOR` role.", - "args": [ - { - "name": "user_id", - "description": "", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "User", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "usernameFlagged", - "description": "Get an update whenever a username was flagged.\n`user_id` must match id of current user except for\nusers with the `ADMIN` or `MODERATOR` role.", - "args": [ - { - "name": "user_id", - "description": "", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "User", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "usernameRejected", - "description": "Get an update whenever a username has been rejected.\n`user_id` must match id of current user except for\nusers with the `ADMIN` or `MODERATOR` role.", - "args": [ - { - "name": "user_id", - "description": "", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "User", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "usernameApproved", - "description": "Get an update whenever a username has been approved. `user_id` must match id\nof current user except for users with the `ADMIN` or `MODERATOR` role.", - "args": [ - { - "name": "user_id", - "description": "", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "User", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "usernameChanged", - "description": "Get an update whenever a username has been changed. `user_id` must match id\nof current user except for users with the `ADMIN` or `MODERATOR` role.", - "args": [ - { - "name": "user_id", - "description": "", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "UsernameChangedPayload", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "userCreated", - "description": "Get an update whenever a user is created. Only accessible to users with the\n`ADMIN` or `MODERATOR` roles.", - "args": [], - "type": { - "kind": "OBJECT", - "name": "User", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "respectActionCreated", - "description": "Subscribe to respects.", - "args": [ - { - "name": "asset_id", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "RespectAction", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "respectActionDeleted", - "description": "Subscribe to respect removals.", - "args": [ - { - "name": "asset_id", - "description": "", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "RespectAction", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "commentFeatured", - "description": "Subscribe to featured comments.", - "args": [ - { - "name": "asset_id", - "description": "", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "CommentFeaturedData", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "commentUnfeatured", - "description": "Subscribe to featured comments.", - "args": [ - { - "name": "asset_id", - "description": "", - "type": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - }, - "defaultValue": null - } - ], - "type": { - "kind": "OBJECT", - "name": "CommentUnfeaturedData", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "UsernameChangedPayload", - "description": "", - "fields": [ - { - "name": "previousUsername", - "description": "", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "user", - "description": "", - "args": [], - "type": { - "kind": "OBJECT", - "name": "User", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "CommentFeaturedData", - "description": "", - "fields": [ - { - "name": "comment", - "description": "", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Comment", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "user", - "description": "", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "User", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "CommentUnfeaturedData", - "description": "", - "fields": [ - { - "name": "comment", - "description": "", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "Comment", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "user", - "description": "", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "User", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "__Schema", - "description": "A GraphQL Schema defines the capabilities of a GraphQL server. It exposes all available types and directives on the server, as well as the entry points for query, mutation, and subscription operations.", - "fields": [ - { - "name": "types", - "description": "A list of all types supported by this server.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "__Type", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "queryType", - "description": "The type that query operations will be rooted at.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "__Type", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "mutationType", - "description": "If this server supports mutation, the type that mutation operations will be rooted at.", - "args": [], - "type": { - "kind": "OBJECT", - "name": "__Type", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "subscriptionType", - "description": "If this server support subscription, the type that subscription operations will be rooted at.", - "args": [], - "type": { - "kind": "OBJECT", - "name": "__Type", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "directives", - "description": "A list of all directives supported by this server.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "__Directive", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "__Type", - "description": "The fundamental unit of any GraphQL Schema is the type. There are many kinds of types in GraphQL as represented by the `__TypeKind` enum.\n\nDepending on the kind of a type, certain fields describe information about that type. Scalar types provide no information beyond a name and description, while Enum types provide their values. Object and Interface types provide the fields they describe. Abstract types, Union and Interface, provide the Object types possible at runtime. List and NonNull types compose other types.", - "fields": [ - { - "name": "kind", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "__TypeKind", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "name", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "description", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "fields", - "description": null, - "args": [ - { - "name": "includeDeprecated", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": "false" - } - ], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "__Field", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "interfaces", - "description": null, - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "__Type", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "possibleTypes", - "description": null, - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "__Type", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "enumValues", - "description": null, - "args": [ - { - "name": "includeDeprecated", - "description": null, - "type": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - }, - "defaultValue": "false" - } - ], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "__EnumValue", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "inputFields", - "description": null, - "args": [], - "type": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "__InputValue", - "ofType": null - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "ofType", - "description": null, - "args": [], - "type": { - "kind": "OBJECT", - "name": "__Type", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "__TypeKind", - "description": "An enum describing what kind of type a given `__Type` is.", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "SCALAR", - "description": "Indicates this type is a scalar.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "OBJECT", - "description": "Indicates this type is an object. `fields` and `interfaces` are valid fields.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "INTERFACE", - "description": "Indicates this type is an interface. `fields` and `possibleTypes` are valid fields.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "UNION", - "description": "Indicates this type is a union. `possibleTypes` is a valid field.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "ENUM", - "description": "Indicates this type is an enum. `enumValues` is a valid field.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "INPUT_OBJECT", - "description": "Indicates this type is an input object. `inputFields` is a valid field.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "LIST", - "description": "Indicates this type is a list. `ofType` is a valid field.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "NON_NULL", - "description": "Indicates this type is a non-null. `ofType` is a valid field.", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "__Field", - "description": "Object and Interface types are described by a list of Fields, each of which has a name, potentially a list of arguments, and a return type.", - "fields": [ - { - "name": "name", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "description", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "args", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "__InputValue", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "type", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "__Type", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "isDeprecated", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deprecationReason", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "__InputValue", - "description": "Arguments provided to Fields or Directives and the input fields of an InputObject are represented as Input Values which describe their type and optionally a default value.", - "fields": [ - { - "name": "name", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "description", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "type", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "__Type", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "defaultValue", - "description": "A GraphQL-formatted string representing the default value for this input value.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "__EnumValue", - "description": "One possible value for a given Enum. Enum values are unique values, not a placeholder for a string or numeric value. However an Enum value is returned in a JSON response as a string.", - "fields": [ - { - "name": "name", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "description", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "isDeprecated", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "deprecationReason", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "__Directive", - "description": "A Directive provides a way to describe alternate runtime execution and type validation behavior in a GraphQL document.\n\nIn some cases, you need to provide options to alter GraphQL's execution behavior in ways field arguments will not suffice, such as conditionally including or skipping a field. Directives provide this by describing additional information to the executor.", - "fields": [ - { - "name": "name", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "description", - "description": null, - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "locations", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "ENUM", - "name": "__DirectiveLocation", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "args", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "LIST", - "name": null, - "ofType": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "OBJECT", - "name": "__InputValue", - "ofType": null - } - } - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "onOperation", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "isDeprecated": true, - "deprecationReason": "Use `locations`." - }, - { - "name": "onFragment", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "isDeprecated": true, - "deprecationReason": "Use `locations`." - }, - { - "name": "onField", - "description": null, - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "isDeprecated": true, - "deprecationReason": "Use `locations`." - } - ], - "inputFields": null, - "interfaces": [], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "__DirectiveLocation", - "description": "A Directive can be adjacent to many parts of the GraphQL language, a __DirectiveLocation describes one such possible adjacencies.", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "QUERY", - "description": "Location adjacent to a query operation.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "MUTATION", - "description": "Location adjacent to a mutation operation.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "SUBSCRIPTION", - "description": "Location adjacent to a subscription operation.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "FIELD", - "description": "Location adjacent to a field.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "FRAGMENT_DEFINITION", - "description": "Location adjacent to a fragment definition.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "FRAGMENT_SPREAD", - "description": "Location adjacent to a fragment spread.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "INLINE_FRAGMENT", - "description": "Location adjacent to an inline fragment.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "SCHEMA", - "description": "Location adjacent to a schema definition.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "SCALAR", - "description": "Location adjacent to a scalar definition.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "OBJECT", - "description": "Location adjacent to an object type definition.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "FIELD_DEFINITION", - "description": "Location adjacent to a field definition.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "ARGUMENT_DEFINITION", - "description": "Location adjacent to an argument definition.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "INTERFACE", - "description": "Location adjacent to an interface definition.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "UNION", - "description": "Location adjacent to a union definition.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "ENUM", - "description": "Location adjacent to an enum definition.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "ENUM_VALUE", - "description": "Location adjacent to an enum value definition.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "INPUT_OBJECT", - "description": "Location adjacent to an input object type definition.", - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "INPUT_FIELD_DEFINITION", - "description": "Location adjacent to an input object field definition.", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "DefaultUserProfile", - "description": "DefaultUserProfile is a fallback if the type of UserProfile can't be\ndetermined (like if it was from a plugin that was removed).", - "fields": [ - { - "name": "id", - "description": "The id is an identifier for the user profile (email, facebook id, etc)", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "provider", - "description": "name of the provider attached to the authentication mode", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "UserProfile", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "LocalUserProfile", - "description": "LocalUserProfile is for a User who has an authentication profile linked to\ntheir email address.", - "fields": [ - { - "name": "id", - "description": "id is the User's email address.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "provider", - "description": "name of the provider attached to the authentication mode, in this case,\n'local'.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "confirmedAt", - "description": "confirmedAt is the Date that the user had their email address confirmed,\nwhich is null if it has not been verified.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Date", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "UserProfile", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "DefaultAction", - "description": "DefaultAction is the Action provided for undefined types.", - "fields": [ - { - "name": "id", - "description": "The ID of the action.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "ID", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "user", - "description": "The author of the action.", - "args": [], - "type": { - "kind": "OBJECT", - "name": "User", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "updated_at", - "description": "The time when the Action was updated.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Date", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "created_at", - "description": "The time when the Action was created.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Date", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "Action", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "DefaultActionSummary", - "description": "DefaultActionSummary is the ActionSummary provided for undefined types.", - "fields": [ - { - "name": "count", - "description": "The count of actions with this group.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "current_user", - "description": "The current user's action.", - "args": [], - "type": { - "kind": "INTERFACE", - "name": "Action", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "ActionSummary", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "DefaultAssetActionSummary", - "description": "DefaultAssetActionSummary is the AssetActionSummary provided for undefined types.", - "fields": [ - { - "name": "actionCount", - "description": "Number of actions associated with actionable types on this this Asset.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "actionableItemCount", - "description": "Number of unique actionable types that are referenced by the actions.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "AssetActionSummary", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "FlagAssetActionSummary", - "description": "A summary of counts related to all the Flags on an Asset.", - "fields": [ - { - "name": "actionCount", - "description": "Number of flags associated with actionable types on this this Asset.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "actionableItemCount", - "description": "Number of unique actionable types that are referenced by the flags.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "AssetActionSummary", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "FlagActionSummary", - "description": "Summary for Flag Action with a a unique reason.", - "fields": [ - { - "name": "count", - "description": "The total count of flags with this reason.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "reason", - "description": "The reason for which the Flag Action was created.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "current_user", - "description": "The flag by the current user against the parent entity with this reason.", - "args": [], - "type": { - "kind": "OBJECT", - "name": "FlagAction", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "ActionSummary", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "DontAgreeActionSummary", - "description": "Summary for Don't Agree Action with a a unique reason.", - "fields": [ - { - "name": "count", - "description": "The total count of flags with this reason.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "current_user", - "description": "The don't agree action by the current user against the parent entity with this reason.", - "args": [], - "type": { - "kind": "OBJECT", - "name": "DontAgreeAction", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "ActionSummary", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "GenericUserError", - "description": "A generic error not related to validation reasons.", - "fields": [ - { - "name": "translation_key", - "description": "Translation key relating to a translatable string containing details to be\ndisplayed to the end user.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "UserError", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "ValidationUserError", - "description": "A validation error that affects the input.", - "fields": [ - { - "name": "translation_key", - "description": "Translation key relating to a translatable string containing details to be\ndisplayed to the end user.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "field_name", - "description": "The field in question that caused the error.", - "args": [], - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "String", - "ofType": null - } - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "UserError", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "ENUM", - "name": "ASSET_METRICS_SORT", - "description": "", - "fields": null, - "inputFields": null, - "interfaces": null, - "enumValues": [ - { - "name": "RESPECT", - "description": "Represents a RespectAction.", - "isDeprecated": false, - "deprecationReason": null - } - ], - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "RespectActionSummary", - "description": "", - "fields": [ - { - "name": "count", - "description": "The count of actions with this group.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "current_user", - "description": "The current user's action.", - "args": [], - "type": { - "kind": "OBJECT", - "name": "RespectAction", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "ActionSummary", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - }, - { - "kind": "OBJECT", - "name": "RespectAssetActionSummary", - "description": "A summary of counts related to all the Respects on an Asset.", - "fields": [ - { - "name": "actionCount", - "description": "Number of respects associated with actionable types on this this Asset.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - }, - { - "name": "actionableItemCount", - "description": "Number of unique actionable types that are referenced by the respects.", - "args": [], - "type": { - "kind": "SCALAR", - "name": "Int", - "ofType": null - }, - "isDeprecated": false, - "deprecationReason": null - } - ], - "inputFields": null, - "interfaces": [ - { - "kind": "INTERFACE", - "name": "AssetActionSummary", - "ofType": null - } - ], - "enumValues": null, - "possibleTypes": null - } - ], - "directives": [ - { - "name": "skip", - "description": "Directs the executor to skip this field or fragment when the `if` argument is true.", - "locations": [ - "FIELD", - "FRAGMENT_SPREAD", - "INLINE_FRAGMENT" - ], - "args": [ - { - "name": "if", - "description": "Skipped when true.", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "defaultValue": null - } - ] - }, - { - "name": "include", - "description": "Directs the executor to include this field or fragment only when the `if` argument is true.", - "locations": [ - "FIELD", - "FRAGMENT_SPREAD", - "INLINE_FRAGMENT" - ], - "args": [ - { - "name": "if", - "description": "Included when true.", - "type": { - "kind": "NON_NULL", - "name": null, - "ofType": { - "kind": "SCALAR", - "name": "Boolean", - "ofType": null - } - }, - "defaultValue": null - } - ] - }, - { - "name": "deprecated", - "description": "Marks an element of a GraphQL schema as no longer supported.", - "locations": [ - "FIELD_DEFINITION", - "ENUM_VALUE" - ], - "args": [ - { - "name": "reason", - "description": "Explains why this element was deprecated, usually also including a suggestion for how to access supported similar data. Formatted in [Markdown](https://daringfireball.net/projects/markdown/).", - "type": { - "kind": "SCALAR", - "name": "String", - "ofType": null - }, - "defaultValue": "\"No longer supported\"" - } - ] - } - ] - } -} \ No newline at end of file diff --git a/plugins/talk-plugin-auth-checkbox/client/components/TermsAndConditionsField.js b/plugins/talk-plugin-auth-checkbox/client/components/TermsAndConditionsField.js index 25f97dc09..aa9acb780 100644 --- a/plugins/talk-plugin-auth-checkbox/client/components/TermsAndConditionsField.js +++ b/plugins/talk-plugin-auth-checkbox/client/components/TermsAndConditionsField.js @@ -4,8 +4,6 @@ import { t } from 'plugin-api/beta/client/services'; import styles from './TermsAndConditionsField.css'; import cn from 'classnames'; -const pluginName = 'talk-plugin-auth-checkbox'; - const TermsLink = () => ( { + this.setState({ checked }); if (checked) { - this.setState(() => ({ checked })); - this.props.indicateBlockerOff(pluginName); + this.props.indicateBlockerResolved(); } else { - this.setState(() => ({ checked })); - this.props.indicateBlockerOn(pluginName); + this.props.indicateBlocker(); } }; diff --git a/plugins/talk-plugin-auth/client/login/components/SignUp.js b/plugins/talk-plugin-auth/client/login/components/SignUp.js index 3dc648de6..dfc2ced1e 100644 --- a/plugins/talk-plugin-auth/client/login/components/SignUp.js +++ b/plugins/talk-plugin-auth/client/login/components/SignUp.js @@ -29,6 +29,15 @@ class SignUp extends React.Component { this.props.onSubmit(); }; + childFactory = el => { + const key = el.key; + const props = { + indicateBlocker: () => this.props.indicateBlocker(key), + indicateBlockerResolved: () => this.props.indicateBlockerResolved(key), + }; + return React.cloneElement(el, props); + }; + render() { const { username, @@ -43,17 +52,9 @@ class SignUp extends React.Component { errorMessage, requireEmailConfirmation, success, - indicateBlockerOn, - indicateBlockerOff, - hasBlockers, + blocked, } = this.props; - const slotPassthrough = { - indicateBlockerOn, - indicateBlockerOff, - hasBlockers, - }; - return (
@@ -115,7 +116,7 @@ class SignUp extends React.Component { />
@@ -176,9 +177,9 @@ SignUp.propTypes = { errorMessage: PropTypes.string, requireEmailConfirmation: PropTypes.bool.isRequired, success: PropTypes.bool.isRequired, - hasBlockers: PropTypes.array.isRequired, - indicateBlockerOn: PropTypes.func.isRequired, - indicateBlockerOff: PropTypes.func.isRequired, + blocked: PropTypes.bool.isRequired, + indicateBlocker: PropTypes.func.isRequired, + indicateBlockerResolved: PropTypes.func.isRequired, }; export default SignUp; diff --git a/plugins/talk-plugin-auth/client/login/containers/SignUp.js b/plugins/talk-plugin-auth/client/login/containers/SignUp.js index 2b2a7d979..6b6116968 100644 --- a/plugins/talk-plugin-auth/client/login/containers/SignUp.js +++ b/plugins/talk-plugin-auth/client/login/containers/SignUp.js @@ -16,17 +16,17 @@ class SignUpContainer extends Component { emailError: null, passwordError: null, passwordRepeatError: null, - hasBlockers: [], + blockers: [], }; - indicateBlockerOn = plugin => + indicateBlocker = key => this.setState(state => ({ - hasBlockers: state.hasBlockers.concat(plugin), + blockers: state.blockers.concat(key), })); - indicateBlockerOff = plugin => + indicateBlockerResolved = key => this.setState(state => ({ - hasBlockers: state.hasBlockers.filter(i => i !== plugin), + blockers: state.blockers.filter(i => i !== key), })); validate = data => { @@ -87,9 +87,9 @@ class SignUpContainer extends Component { render() { return ( { - const pluginName = el.type.talkPluginName; + const key = el.key; const props = { - indicateOn: () => this.props.indicateOn(pluginName), - indicateOff: () => this.props.indicateOff(pluginName), + indicateOn: () => this.props.indicateOn(key), + indicateOff: () => this.props.indicateOff(key), }; return React.cloneElement(el, props); }; diff --git a/plugins/talk-plugin-notifications/client/containers/Settings.js b/plugins/talk-plugin-notifications/client/containers/Settings.js index 5862650ec..a3d9c12e0 100644 --- a/plugins/talk-plugin-notifications/client/containers/Settings.js +++ b/plugins/talk-plugin-notifications/client/containers/Settings.js @@ -20,14 +20,14 @@ class SettingsContainer extends React.Component { turnOffInput: {}, }; - indicateOn = plugin => + indicateOn = key => this.setState(state => ({ - hasNotifications: state.hasNotifications.concat(plugin), + hasNotifications: state.hasNotifications.concat(key), })); - indicateOff = plugin => + indicateOff = key => this.setState(state => ({ - hasNotifications: state.hasNotifications.filter(i => i !== plugin), + hasNotifications: state.hasNotifications.filter(i => i !== key), })); setTurnOffInputFragment = fragment => From f32c9fa6b1fcbbd8f08ec8ec24f2a89ae8f95945 Mon Sep 17 00:00:00 2001 From: Chi Vinh Le Date: Thu, 29 Mar 2018 22:51:40 +0200 Subject: [PATCH 16/21] Remaining rename --- plugins/talk-plugin-auth/client/login/containers/SignUp.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/talk-plugin-auth/client/login/containers/SignUp.js b/plugins/talk-plugin-auth/client/login/containers/SignUp.js index 6b6116968..f7fc6f2d2 100644 --- a/plugins/talk-plugin-auth/client/login/containers/SignUp.js +++ b/plugins/talk-plugin-auth/client/login/containers/SignUp.js @@ -59,7 +59,7 @@ class SignUpContainer extends Component { passwordRepeat: this.state.passwordRepeat, }; - if (this.validate(data) && !this.state.hasBlockers.length) { + if (this.validate(data) && !this.state.blockers.length) { this.props.signUp(data); } }; From ec117a67aa2527ab6756f3f5519dbb17ea4818b5 Mon Sep 17 00:00:00 2001 From: okbel Date: Fri, 30 Mar 2018 10:35:49 -0300 Subject: [PATCH 17/21] renaming --- .../components/TermsAndConditionsField.js | 20 +++++++++---------- .../client/translations.yml | 8 ++++---- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/plugins/talk-plugin-auth-checkbox/client/components/TermsAndConditionsField.js b/plugins/talk-plugin-auth-checkbox/client/components/TermsAndConditionsField.js index dec0d86ce..ddec0609d 100644 --- a/plugins/talk-plugin-auth-checkbox/client/components/TermsAndConditionsField.js +++ b/plugins/talk-plugin-auth-checkbox/client/components/TermsAndConditionsField.js @@ -9,20 +9,20 @@ const pluginName = 'talk-plugin-auth-checkbox'; const TermsLink = () => ( - {t('talk-plugin-health-report.terms')} + {t('talk-plugin-auth-checkbox.terms')} ); const PrivacyLink = () => ( - {t('talk-plugin-health-report.privacy-policy')} + {t('talk-plugin-auth-checkbox.privacy-policy')} ); @@ -49,12 +49,12 @@ class TermsAndConditionsField extends React.Component {
@@ -62,14 +62,14 @@ class TermsAndConditionsField extends React.Component { id={this.id} className={cn( styles.textLabel, - 'talk-plugin-health-report-text-label' + 'talk-plugin-auth-checkbox-text-label' )} > - {t('talk-plugin-health-report.copy')} + {t('talk-plugin-auth-checkbox.copy')} - {t('talk-plugin-health-report.and')} + {t('talk-plugin-auth-checkbox.and')} - {t('talk-plugin-health-report.from')} + {t('talk-plugin-auth-checkbox.from')}
); diff --git a/plugins/talk-plugin-auth-checkbox/client/translations.yml b/plugins/talk-plugin-auth-checkbox/client/translations.yml index 66bf7379c..ae50146d9 100644 --- a/plugins/talk-plugin-auth-checkbox/client/translations.yml +++ b/plugins/talk-plugin-auth-checkbox/client/translations.yml @@ -1,5 +1,5 @@ en: - talk-plugin-health-report: + talk-plugin-auth-checkbox: copy: I agree to the Mozilla and: and terms: Terms of Service @@ -8,7 +8,7 @@ en: terms-link: https://www.mozilla.org/en-US/about/legal/terms/mozilla/ privacy-policy-link: https://www.mozilla.org/en-US/privacy/websites/ es: - talk-plugin-health-report: + talk-plugin-auth-checkbox: copy: Estoy de acuerdo con and: y terms: los Terminos y Condiciones @@ -17,7 +17,7 @@ es: terms-link: https://www.mozilla.org/es-ES/about/legal/terms/mozilla/ privacy-policy-link: https://www.mozilla.org/es-ES/privacy/websites/ fr: - talk-plugin-health-report: + talk-plugin-auth-checkbox: copy: J'accepte and: et terms: les conditions d'utilisation @@ -26,7 +26,7 @@ fr: terms-link: https://www.mozilla.org/fr/about/legal/terms/mozilla/ privacy-policy-link: https://www.mozilla.org/fr/privacy/websites/ de: - talk-plugin-health-report: + talk-plugin-auth-checkbox: copy: Ich stimme and: und terms: den Allgemeinen Geschäftsbedingungen From 9cc089b3b2777247eb7ad3ca2efff5dfd47459c7 Mon Sep 17 00:00:00 2001 From: okbel Date: Fri, 30 Mar 2018 10:37:42 -0300 Subject: [PATCH 18/21] renaming slot :D --- plugins/talk-plugin-auth-checkbox/client/index.js | 2 +- plugins/talk-plugin-auth/client/login/components/SignUp.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/plugins/talk-plugin-auth-checkbox/client/index.js b/plugins/talk-plugin-auth-checkbox/client/index.js index d2aaaa1cb..9a30686c6 100644 --- a/plugins/talk-plugin-auth-checkbox/client/index.js +++ b/plugins/talk-plugin-auth-checkbox/client/index.js @@ -3,7 +3,7 @@ import translations from './translations.yml'; export default { slots: { - 'talkPluginAuth-formField': [TermsAndConditionsField], + 'talkPluginAuth.formField': [TermsAndConditionsField], }, translations, }; diff --git a/plugins/talk-plugin-auth/client/login/components/SignUp.js b/plugins/talk-plugin-auth/client/login/components/SignUp.js index dfc2ced1e..cc49e7391 100644 --- a/plugins/talk-plugin-auth/client/login/components/SignUp.js +++ b/plugins/talk-plugin-auth/client/login/components/SignUp.js @@ -115,7 +115,7 @@ class SignUp extends React.Component { minLength="8" />
From 681f9ecf5a31656ebd2c98f820ee3a0b3e7aa369 Mon Sep 17 00:00:00 2001 From: okbel Date: Fri, 30 Mar 2018 14:39:16 -0300 Subject: [PATCH 19/21] Removing plugin --- .gitignore | 1 - 1 file changed, 1 deletion(-) diff --git a/.gitignore b/.gitignore index a660453ea..1235e0db0 100644 --- a/.gitignore +++ b/.gitignore @@ -67,7 +67,6 @@ plugins/* !plugins/talk-plugin-upvote !plugins/talk-plugin-viewing-options !plugins/talk-plugin-rich-text -!plugins/talk-plugin-auth-checkbox **/node_modules/* yarn-error.log From 24c1abaa06063c0fe7074a623b04def6caafa12f Mon Sep 17 00:00:00 2001 From: okbel Date: Fri, 30 Mar 2018 16:05:25 -0300 Subject: [PATCH 20/21] Removing plugin --- plugins/talk-plugin-auth-checkbox/README.md | 1 - .../client/.eslintrc.json | 23 ------ .../components/TermsAndConditionsField.css | 18 ----- .../components/TermsAndConditionsField.js | 76 ------------------- .../talk-plugin-auth-checkbox/client/index.js | 9 --- .../client/translations.yml | 36 --------- plugins/talk-plugin-auth-checkbox/index.js | 1 - 7 files changed, 164 deletions(-) delete mode 100644 plugins/talk-plugin-auth-checkbox/README.md delete mode 100644 plugins/talk-plugin-auth-checkbox/client/.eslintrc.json delete mode 100644 plugins/talk-plugin-auth-checkbox/client/components/TermsAndConditionsField.css delete mode 100644 plugins/talk-plugin-auth-checkbox/client/components/TermsAndConditionsField.js delete mode 100644 plugins/talk-plugin-auth-checkbox/client/index.js delete mode 100644 plugins/talk-plugin-auth-checkbox/client/translations.yml delete mode 100644 plugins/talk-plugin-auth-checkbox/index.js diff --git a/plugins/talk-plugin-auth-checkbox/README.md b/plugins/talk-plugin-auth-checkbox/README.md deleted file mode 100644 index 9b70bde6c..000000000 --- a/plugins/talk-plugin-auth-checkbox/README.md +++ /dev/null @@ -1 +0,0 @@ -# talk-plugin-auth-checkbox diff --git a/plugins/talk-plugin-auth-checkbox/client/.eslintrc.json b/plugins/talk-plugin-auth-checkbox/client/.eslintrc.json deleted file mode 100644 index 9fe56bd14..000000000 --- a/plugins/talk-plugin-auth-checkbox/client/.eslintrc.json +++ /dev/null @@ -1,23 +0,0 @@ -{ - "env": { - "browser": true, - "es6": true, - "mocha": true - }, - "parserOptions": { - "sourceType": "module", - "ecmaFeatures": { - "experimentalObjectRestSpread": true, - "jsx": true - } - }, - "parser": "babel-eslint", - "plugins": [ - "react" - ], - "rules": { - "react/jsx-uses-react": "error", - "react/jsx-uses-vars": "error", - "no-console": ["warn", { "allow": ["warn", "error"] }] - } -} diff --git a/plugins/talk-plugin-auth-checkbox/client/components/TermsAndConditionsField.css b/plugins/talk-plugin-auth-checkbox/client/components/TermsAndConditionsField.css deleted file mode 100644 index c11f408a3..000000000 --- a/plugins/talk-plugin-auth-checkbox/client/components/TermsAndConditionsField.css +++ /dev/null @@ -1,18 +0,0 @@ -.link { - color: #2c69b6; - cursor: pointer; - margin: 0 3px; - - &:last-child { - margin-right: 0; - } -} - -.fieldContainer { - padding: 10px 0; - display: flex; -} - -.textLabel { - padding-left: 10px; -} \ No newline at end of file diff --git a/plugins/talk-plugin-auth-checkbox/client/components/TermsAndConditionsField.js b/plugins/talk-plugin-auth-checkbox/client/components/TermsAndConditionsField.js deleted file mode 100644 index f16a675b7..000000000 --- a/plugins/talk-plugin-auth-checkbox/client/components/TermsAndConditionsField.js +++ /dev/null @@ -1,76 +0,0 @@ -import React from 'react'; -import { Checkbox } from 'plugin-api/beta/client/components/ui'; -import { t } from 'plugin-api/beta/client/services'; -import styles from './TermsAndConditionsField.css'; -import cn from 'classnames'; - -const TermsLink = () => ( - - {t('talk-plugin-auth-checkbox.terms')} - -); - -const PrivacyLink = () => ( - - {t('talk-plugin-auth-checkbox.privacy-policy')} - -); - -class TermsAndConditionsField extends React.Component { - state = { checked: false }; - id = 'terms-and-conditions'; - - componentWillMount() { - this.props.indicateBlocker(); - } - - onChange = ({ target: { checked } }) => { - this.setState({ checked }); - if (checked) { - this.props.indicateBlockerResolved(); - } else { - this.props.indicateBlocker(); - } - }; - - render() { - return ( -
- -
- {t('talk-plugin-auth-checkbox.copy')} - - {t('talk-plugin-auth-checkbox.and')} - - {t('talk-plugin-auth-checkbox.from')} -
-
- ); - } -} - -export default TermsAndConditionsField; diff --git a/plugins/talk-plugin-auth-checkbox/client/index.js b/plugins/talk-plugin-auth-checkbox/client/index.js deleted file mode 100644 index 9a30686c6..000000000 --- a/plugins/talk-plugin-auth-checkbox/client/index.js +++ /dev/null @@ -1,9 +0,0 @@ -import TermsAndConditionsField from './components/TermsAndConditionsField'; -import translations from './translations.yml'; - -export default { - slots: { - 'talkPluginAuth.formField': [TermsAndConditionsField], - }, - translations, -}; diff --git a/plugins/talk-plugin-auth-checkbox/client/translations.yml b/plugins/talk-plugin-auth-checkbox/client/translations.yml deleted file mode 100644 index ae50146d9..000000000 --- a/plugins/talk-plugin-auth-checkbox/client/translations.yml +++ /dev/null @@ -1,36 +0,0 @@ -en: - talk-plugin-auth-checkbox: - copy: I agree to the Mozilla - and: and - terms: Terms of Service - privacy-policy: Privacy Policy - from: . - terms-link: https://www.mozilla.org/en-US/about/legal/terms/mozilla/ - privacy-policy-link: https://www.mozilla.org/en-US/privacy/websites/ -es: - talk-plugin-auth-checkbox: - copy: Estoy de acuerdo con - and: y - terms: los Terminos y Condiciones - privacy-policy: la Política de Privacidad - from: de Mozilla. - terms-link: https://www.mozilla.org/es-ES/about/legal/terms/mozilla/ - privacy-policy-link: https://www.mozilla.org/es-ES/privacy/websites/ -fr: - talk-plugin-auth-checkbox: - copy: J'accepte - and: et - terms: les conditions d'utilisation - privacy-policy: la politique de confidentialité - from: de Mozilla. - terms-link: https://www.mozilla.org/fr/about/legal/terms/mozilla/ - privacy-policy-link: https://www.mozilla.org/fr/privacy/websites/ -de: - talk-plugin-auth-checkbox: - copy: Ich stimme - and: und - terms: den Allgemeinen Geschäftsbedingungen - privacy-policy: der Datenschutzrichtlinie - from: von Mozilla zu. - terms-link: https://www.mozilla.org/de/about/legal/terms/mozilla/ - privacy-policy-link: https://www.mozilla.org/de/privacy/websites/ \ No newline at end of file diff --git a/plugins/talk-plugin-auth-checkbox/index.js b/plugins/talk-plugin-auth-checkbox/index.js deleted file mode 100644 index f053ebf79..000000000 --- a/plugins/talk-plugin-auth-checkbox/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = {}; From 3da201c22df47d8e017d65128f19554d46331f2e Mon Sep 17 00:00:00 2001 From: Wyatt Johnson Date: Mon, 2 Apr 2018 12:25:18 -0600 Subject: [PATCH 21/21] allow plugin code from clients to be parsed by webpack --- webpack.config.js | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) diff --git a/webpack.config.js b/webpack.config.js index d6f216d02..c6b3a770f 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -22,6 +22,7 @@ require('dotenv').config(); const { plugins, pluginsPath, PluginManager } = require('./plugins'); const manager = new PluginManager(plugins); const targetPlugins = manager.section('targets').plugins; +const clientPlugins = manager.section('client').plugins; debug(`Using ${pluginsPath} as the plugin configuration path`); @@ -51,6 +52,19 @@ const TALK_WEBPACK_SOURCE_MAP = _.get( const devtool = TALK_WEBPACK_SOURCE_MAP === 'none' ? false : TALK_WEBPACK_SOURCE_MAP; +// Exclude everything from node_modules except for those that may be in a +// plugin folder inside the node_modules folder. +const exclude = { + and: [ + // Exclude everything inside node_modules.. + /node_modules/, + // But not those that contain plugins. + { + not: clientPlugins.map(({ name }) => new RegExp(`node_modules\/${name}`)), + }, + ], +}; + //============================================================================== // Base Webpack Config //============================================================================== @@ -73,7 +87,7 @@ const config = { }, { loader: 'babel-loader', - exclude: /node_modules/, + exclude, test: /\.js$/, query: { cacheDirectory: true, @@ -82,11 +96,11 @@ const config = { { loader: 'hjson-loader', test: /\.(json|yml)$/, - exclude: /node_modules/, + exclude, }, { loader: 'yaml-loader', - exclude: /node_modules/, + exclude, test: /\.yml$/, }, { @@ -118,7 +132,7 @@ const config = { }, { test: /\.(graphql|gql)$/, - exclude: /node_modules/, + exclude, loader: 'graphql-tag/loader', }, ],