feat: user org and fix bugs

This commit is contained in:
2024-10-08 03:30:01 +08:00
parent 3c7ef0d6e4
commit 54e3ccb3ff
10 changed files with 422 additions and 113 deletions

View File

@@ -4,7 +4,7 @@ import { app, redis } from '@/app.ts';
import _ from 'lodash';
import { prefixFix } from './util.ts';
import { deleteFiles } from '../file/index.ts';
import { setExpire } from './revoke.ts';
app
.route({
path: 'app',
@@ -23,6 +23,7 @@ app
uid: tokenUser.id,
key: data.key,
},
logging: false,
});
ctx.body = list.map((item) => prefixFix(item, tokenUser.username));
return ctx;
@@ -189,15 +190,7 @@ app
throw new CustomError('app not found');
}
await am.update({ data: { ...am.data, files }, version: app.version });
//
const keys = await redis.keys('user:app:exist:*');
console.log('keys', keys);
const expireKey = 'user:app:exist:' + `${app.key}:${am.user}`;
console.log('expireKey', expireKey);
await redis.set(expireKey, 'v', 'EX', 2);
await new Promise((resolve) => setTimeout(resolve, 2100));
const keys2 = await redis.keys('user:app:exist:*');
console.log('keys2', keys2);
setExpire(app.key, am.user);
ctx.body = 'success';
})
.addTo(app);

View File

@@ -0,0 +1,6 @@
import { redis } from '@/app.ts';
export const setExpire = async (key: string, user: string) => {
const expireKey = 'user:app:exist:' + `${key}:${user}`;
await redis.set(expireKey, 'v', 'EX', 2);
};

View File

@@ -1,6 +1,7 @@
import { CustomError } from '@abearxiong/router';
import { AppModel, AppListModel } from './module/index.ts';
import { app } from '@/app.ts';
import { setExpire } from './revoke.ts';
app
.route({
@@ -68,6 +69,9 @@ app
const newData = { ...app.data, ...data };
const newApp = await app.update({ data: newData, ...rest });
ctx.body = newApp;
if (app.status !== 'running') {
setExpire(newApp.key, app.user);
}
} else {
throw new CustomError('app not found');
}