diff --git a/plugins.json b/plugins.json index a60d08acd..6ac303c35 100644 --- a/plugins.json +++ b/plugins.json @@ -1,5 +1,7 @@ { - "server": [], + "server": [ + "coral-plugin-respect" + ], "client": [ "coral-plugin-respect" ] diff --git a/plugins/coral-plugin-respect/index.js b/plugins/coral-plugin-respect/index.js index e69de29bb..bd87e11d7 100644 --- a/plugins/coral-plugin-respect/index.js +++ b/plugins/coral-plugin-respect/index.js @@ -0,0 +1,5 @@ +const typeDefs = require('./server/typeDefs'); + +module.exports = { + typeDefs +}; \ No newline at end of file diff --git a/plugins/coral-plugin-respect/server/typeDefs.js b/plugins/coral-plugin-respect/server/typeDefs.js new file mode 100644 index 000000000..f7666debf --- /dev/null +++ b/plugins/coral-plugin-respect/server/typeDefs.js @@ -0,0 +1,47 @@ +module.exports = ` + enum ACTION_TYPE { + + # Represents a Respect. + RESPECT + } + + input CreateRespectInput { + + # The item's id for which we are to create a respect. + item_id: ID! + + # The type of the item for which we are to create the respect. + item_type: ACTION_ITEM_TYPE! + } + + # RespectAction is used by users who "respect" a specific entity. + type RespectAction implements Action { + + # The ID of the action. + id: ID! + + # The author of the action. + user: User + + # The time when the Action was updated. + updated_at: Date + + # The time when the Action was created. + created_at: Date + } + + type CreateRespectResponse implements Response { + + # The respect that was created. + respect: RespectAction + + # An array of errors relating to the mutation that occurred. + errors: [UserError] + } + + type RootMutation { + + # Creates a respect on an entity. + createRespect(respect: CreateRespectInput!): CreateRespectResponse + } +`;