Remove unused invite and SSH-key user features
Both were dead/incomplete: POST /api/user/key called a nonexistent User.addSSHkey, and the invite flow (POST /api/user/invite, User.invite, User.addByInvite, InviteToken) had no consumer or UI. Drop the routes, the InviteToken model, and the per-backing invite methods. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+1
-24
@@ -61,27 +61,4 @@ class AuthToken extends Token{
|
||||
}
|
||||
AuthToken.register();
|
||||
|
||||
class InviteToken extends Token{
|
||||
static _keyMap = {
|
||||
...super._keyMap,
|
||||
claimed_by: {default:"__NONE__", isRequired: false, type: 'string',},
|
||||
}
|
||||
|
||||
async consume(data){
|
||||
try{
|
||||
if(this.is_valid){
|
||||
data['is_valid'] = false;
|
||||
|
||||
await this.update(data);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
|
||||
}catch(error){
|
||||
throw error;
|
||||
}
|
||||
}
|
||||
}
|
||||
InviteToken.register();
|
||||
|
||||
module.exports = {Token, InviteToken, AuthToken};
|
||||
module.exports = {Token, AuthToken};
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
'use strict';
|
||||
|
||||
const { Client, Attribute, Change } = require('ldapts');
|
||||
const {Token, InviteToken} = require('./token');
|
||||
const {Token} = require('./token');
|
||||
const conf = require('@simpleworkjs/conf').ldap;
|
||||
|
||||
const client = new Client({
|
||||
@@ -141,17 +141,6 @@ User.exists = async function(data){
|
||||
}
|
||||
};
|
||||
|
||||
User.invite = async function(){
|
||||
try{
|
||||
let token = await InviteToken.add({created_by: this.username});
|
||||
|
||||
return token;
|
||||
|
||||
}catch(error){
|
||||
throw error;
|
||||
}
|
||||
};
|
||||
|
||||
User.login = async function(data){
|
||||
try{
|
||||
let user = await this.get(data.username);
|
||||
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
const linuxUser = require('linux-sys-user').promise();
|
||||
const objValidate = require('../utils/object_validate');
|
||||
const {Token, InviteToken} = require('./token');
|
||||
const {Token} = require('./token');
|
||||
const {promisify} = require('util');
|
||||
const pam = require('authenticate-pam');
|
||||
const authenticate = promisify(pam.authenticate);
|
||||
@@ -90,31 +90,6 @@ User.create = async function(data) {
|
||||
}
|
||||
};
|
||||
|
||||
User.addByInvite = async function(data){
|
||||
try{
|
||||
let token = await InviteToken.get(data.token);
|
||||
|
||||
if(!token.is_valid){
|
||||
let error = new Error('Token Invalid');
|
||||
error.name = 'Token Invalid';
|
||||
error.message = `Token is not valid or as allready been used. ${data.token}`;
|
||||
error.status = 401;
|
||||
throw error;
|
||||
}
|
||||
|
||||
let user = await this.add(data);
|
||||
|
||||
if(user){
|
||||
await token.consume({claimed_by: user.username});
|
||||
return user;
|
||||
}
|
||||
|
||||
}catch(error){
|
||||
throw error;
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
User.remove = async function(data){
|
||||
try{
|
||||
return await linuxUser.removeUser(this.username);
|
||||
@@ -133,17 +108,6 @@ User.setPassword = async function(data){
|
||||
}
|
||||
};
|
||||
|
||||
User.invite = async function(){
|
||||
try{
|
||||
let token = await InviteToken.add({created_by: this.username});
|
||||
|
||||
return token;
|
||||
|
||||
}catch(error){
|
||||
throw error;
|
||||
}
|
||||
};
|
||||
|
||||
User.login = async function(data){
|
||||
try{
|
||||
let auth = await authenticate(data.username, data.password);
|
||||
|
||||
Reference in New Issue
Block a user