mirror of
https://github.com/PretendoNetwork/website.git
synced 2026-08-26 10:36:16 -05:00
feat: add PNID deletion button to account page
This commit is contained in:
@@ -50,5 +50,12 @@ module.exports = {
|
||||
secret: jsonConfig.discourse.sso.secret
|
||||
}
|
||||
},
|
||||
email
|
||||
email,
|
||||
grpc: {
|
||||
api: {
|
||||
host: jsonConfig.grpc.api.host,
|
||||
port: jsonConfig.grpc.api.port,
|
||||
api_key: jsonConfig.grpc.api.api_key
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
@@ -4,6 +4,8 @@ const DiscordOauth2 = require('discord-oauth2');
|
||||
const Stripe = require('stripe');
|
||||
const { REST: DiscordRest } = require('@discordjs/rest');
|
||||
const { Routes: DiscordRoutes } = require('discord-api-types/v10');
|
||||
const { createChannel, createClient, Metadata } = require('nice-grpc');
|
||||
const { ApiServiceDefinition } = require('@pretendonetwork/grpc/api/v2/api_service');
|
||||
const requireLoginMiddleware = require('../middleware/require-login');
|
||||
const database = require('../database');
|
||||
const cache = require('../cache');
|
||||
@@ -19,6 +21,9 @@ const stripe = new Stripe(config.stripe.secret_key);
|
||||
const router = new Router();
|
||||
const discordRest = new DiscordRest({ version: '10' }).setToken(config.discord.bot_token);
|
||||
|
||||
const gRPCApiChannel = createChannel(`${config.grpc.account.host}:${config.grpc.account.port}`);
|
||||
const gRPCApiClient = createClient(ApiServiceDefinition, gRPCApiChannel);
|
||||
|
||||
// Create OAuth client
|
||||
const discordOAuth = new DiscordOauth2({
|
||||
clientId: config.discord.client_id,
|
||||
@@ -574,4 +579,27 @@ router.post('/sso/discourse', async (request, response, next) => {
|
||||
}
|
||||
});
|
||||
|
||||
router.post('/delete', requireLoginMiddleware, async (request, response) => {
|
||||
const { pnid } = request;
|
||||
|
||||
try {
|
||||
await gRPCApiClient.deleteAccount({
|
||||
pid: pnid.pid
|
||||
}, {
|
||||
metadata: Metadata({
|
||||
'X-API-Key': config.grpc.api.api_key
|
||||
})
|
||||
});
|
||||
|
||||
response.json({
|
||||
success: true
|
||||
});
|
||||
} catch (error) {
|
||||
response.json({
|
||||
success: false,
|
||||
error
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
module.exports = router;
|
||||
|
||||
Reference in New Issue
Block a user