feat: account verification + mail config in admin area
This commit is contained in:
46
server/graph/resolvers/mail.js
Normal file
46
server/graph/resolvers/mail.js
Normal file
@@ -0,0 +1,46 @@
|
||||
const _ = require('lodash')
|
||||
const graphHelper = require('../../helpers/graph')
|
||||
|
||||
/* global WIKI */
|
||||
|
||||
module.exports = {
|
||||
Query: {
|
||||
async mail() { return {} }
|
||||
},
|
||||
Mutation: {
|
||||
async mail() { return {} }
|
||||
},
|
||||
MailQuery: {
|
||||
async config(obj, args, context, info) {
|
||||
return WIKI.config.mail
|
||||
}
|
||||
},
|
||||
MailMutation: {
|
||||
async updateConfig(obj, args, context) {
|
||||
try {
|
||||
WIKI.config.mail = {
|
||||
senderName: args.senderName,
|
||||
senderEmail: args.senderEmail,
|
||||
host: args.host,
|
||||
port: args.port,
|
||||
secure: args.secure,
|
||||
user: args.user,
|
||||
pass: args.pass,
|
||||
useDKIM: args.useDKIM,
|
||||
dkimDomainName: args.dkimDomainName,
|
||||
dkimKeySelector: args.dkimKeySelector,
|
||||
dkimPrivateKey: args.dkimPrivateKey,
|
||||
}
|
||||
await WIKI.configSvc.saveToDb(['mail'])
|
||||
|
||||
WIKI.mail.init()
|
||||
|
||||
return {
|
||||
responseResult: graphHelper.generateSuccess('Mail configuration updated successfully')
|
||||
}
|
||||
} catch (err) {
|
||||
return graphHelper.generateError(err)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
57
server/graph/schemas/mail.graphql
Normal file
57
server/graph/schemas/mail.graphql
Normal file
@@ -0,0 +1,57 @@
|
||||
# ===============================================
|
||||
# MAIL
|
||||
# ===============================================
|
||||
|
||||
extend type Query {
|
||||
mail: MailQuery
|
||||
}
|
||||
|
||||
extend type Mutation {
|
||||
mail: MailMutation
|
||||
}
|
||||
|
||||
# -----------------------------------------------
|
||||
# QUERIES
|
||||
# -----------------------------------------------
|
||||
|
||||
type MailQuery {
|
||||
config: MailConfig @auth(requires: ["manage:system"])
|
||||
}
|
||||
|
||||
# -----------------------------------------------
|
||||
# MUTATIONS
|
||||
# -----------------------------------------------
|
||||
|
||||
type MailMutation {
|
||||
updateConfig(
|
||||
senderName: String!
|
||||
senderEmail: String!
|
||||
host: String!
|
||||
port: Int!
|
||||
secure: Boolean!
|
||||
user: String!
|
||||
pass: String!
|
||||
useDKIM: Boolean!
|
||||
dkimDomainName: String!
|
||||
dkimKeySelector: String!
|
||||
dkimPrivateKey: String!
|
||||
): DefaultResponse @auth(requires: ["manage:system"])
|
||||
}
|
||||
|
||||
# -----------------------------------------------
|
||||
# TYPES
|
||||
# -----------------------------------------------
|
||||
|
||||
type MailConfig {
|
||||
senderName: String!
|
||||
senderEmail: String!
|
||||
host: String!
|
||||
port: Int!
|
||||
secure: Boolean!
|
||||
user: String!
|
||||
pass: String!
|
||||
useDKIM: Boolean!
|
||||
dkimDomainName: String!
|
||||
dkimKeySelector: String!
|
||||
dkimPrivateKey: String!
|
||||
}
|
||||
Reference in New Issue
Block a user