fix toggling of ai instance discord properties
This commit is contained in:
@@ -37,6 +37,14 @@ interface AiInstanceVmV1 {
|
|||||||
messages: ChatMessageVmV1[];
|
messages: ChatMessageVmV1[];
|
||||||
}
|
}
|
||||||
|
|
||||||
|
interface DiscordOnlineVmV1 {
|
||||||
|
online: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
|
interface DiscordReactoToChatVmV1 {
|
||||||
|
reactToChat: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
@Route('api/v1/ai/instances')
|
@Route('api/v1/ai/instances')
|
||||||
@Middlewares(isAuthenticatedMiddleware)
|
@Middlewares(isAuthenticatedMiddleware)
|
||||||
@Tags('ai')
|
@Tags('ai')
|
||||||
@@ -74,24 +82,24 @@ export class AiInstanceController extends Controller {
|
|||||||
@Post('{id}/discord/online')
|
@Post('{id}/discord/online')
|
||||||
@SuccessResponse(200, 'Ok')
|
@SuccessResponse(200, 'Ok')
|
||||||
@Response(404, 'Not found')
|
@Response(404, 'Not found')
|
||||||
async discordOnline(@Path() id: UUID, @Body() body: boolean): Promise<void> {
|
async discordOnline(@Path() id: UUID, @Body() body: DiscordOnlineVmV1): Promise<void> {
|
||||||
const ai = this.service.getInstanceById(id as nodeUUID);
|
const ai = this.service.getInstanceById(id as nodeUUID);
|
||||||
if (!ai) {
|
if (!ai) {
|
||||||
this.setStatus(404);
|
this.setStatus(404);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
await ai.discord.setOnline(body);
|
await ai.discord.setOnline(body.online);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Post('{id}/discord/reactToChat')
|
@Post('{id}/discord/reactToChat')
|
||||||
@SuccessResponse(200, 'Ok')
|
@SuccessResponse(200, 'Ok')
|
||||||
@Response(404, 'Not found')
|
@Response(404, 'Not found')
|
||||||
async discordReactToChat(@Path() id: UUID, @Body() body: boolean): Promise<void> {
|
async discordReactToChat(@Path() id: UUID, @Body() body: DiscordReactoToChatVmV1): Promise<void> {
|
||||||
const ai = this.service.getInstanceById(id as nodeUUID);
|
const ai = this.service.getInstanceById(id as nodeUUID);
|
||||||
if (!ai) {
|
if (!ai) {
|
||||||
this.setStatus(404);
|
this.setStatus(404);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
ai.discord.setReactToChat(body);
|
ai.discord.setReactToChat(body.reactToChat);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -162,6 +162,22 @@ const models: TsoaRoute.Models = {
|
|||||||
"additionalProperties": false,
|
"additionalProperties": false,
|
||||||
},
|
},
|
||||||
// WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa
|
// WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa
|
||||||
|
"DiscordOnlineVmV1": {
|
||||||
|
"dataType": "refObject",
|
||||||
|
"properties": {
|
||||||
|
"online": {"dataType":"boolean","required":true},
|
||||||
|
},
|
||||||
|
"additionalProperties": false,
|
||||||
|
},
|
||||||
|
// WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa
|
||||||
|
"DiscordReactoToChatVmV1": {
|
||||||
|
"dataType": "refObject",
|
||||||
|
"properties": {
|
||||||
|
"reactToChat": {"dataType":"boolean","required":true},
|
||||||
|
},
|
||||||
|
"additionalProperties": false,
|
||||||
|
},
|
||||||
|
// WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa
|
||||||
};
|
};
|
||||||
const templateService = new ExpressTemplateService(models, {"noImplicitAdditionalProperties":"throw-on-extras","bodyCoercion":true});
|
const templateService = new ExpressTemplateService(models, {"noImplicitAdditionalProperties":"throw-on-extras","bodyCoercion":true});
|
||||||
|
|
||||||
@@ -857,7 +873,7 @@ export function RegisterRoutes(app: Router) {
|
|||||||
async function AiInstanceController_discordOnline(request: ExRequest, response: ExResponse, next: any) {
|
async function AiInstanceController_discordOnline(request: ExRequest, response: ExResponse, next: any) {
|
||||||
const args: Record<string, TsoaRoute.ParameterSchema> = {
|
const args: Record<string, TsoaRoute.ParameterSchema> = {
|
||||||
id: {"in":"path","name":"id","required":true,"ref":"UUID"},
|
id: {"in":"path","name":"id","required":true,"ref":"UUID"},
|
||||||
body: {"in":"body","name":"body","required":true,"dataType":"boolean"},
|
body: {"in":"body","name":"body","required":true,"ref":"DiscordOnlineVmV1"},
|
||||||
};
|
};
|
||||||
|
|
||||||
// WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa
|
// WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa
|
||||||
@@ -893,7 +909,7 @@ export function RegisterRoutes(app: Router) {
|
|||||||
async function AiInstanceController_discordReactToChat(request: ExRequest, response: ExResponse, next: any) {
|
async function AiInstanceController_discordReactToChat(request: ExRequest, response: ExResponse, next: any) {
|
||||||
const args: Record<string, TsoaRoute.ParameterSchema> = {
|
const args: Record<string, TsoaRoute.ParameterSchema> = {
|
||||||
id: {"in":"path","name":"id","required":true,"ref":"UUID"},
|
id: {"in":"path","name":"id","required":true,"ref":"UUID"},
|
||||||
body: {"in":"body","name":"body","required":true,"dataType":"boolean"},
|
body: {"in":"body","name":"body","required":true,"ref":"DiscordReactoToChatVmV1"},
|
||||||
};
|
};
|
||||||
|
|
||||||
// WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa
|
// WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/lukeautry/tsoa
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
<script lang="ts">
|
<script lang="ts">
|
||||||
import {Options, Vue} from 'vue-class-component';
|
import {Options, Vue} from 'vue-class-component';
|
||||||
import {Prop} from "vue-property-decorator";
|
import {Prop} from 'vue-property-decorator';
|
||||||
import {getCurrentInstance} from "vue";
|
import {getCurrentInstance} from 'vue';
|
||||||
import {toast} from "vue3-toastify";
|
import {toast} from 'vue3-toastify';
|
||||||
import {AiInstanceVmV1} from 'ai-oas';
|
import {AiInstanceVmV1, DiscordOnlineVmV1, DiscordReactoToChatVmV1} from 'ai-oas';
|
||||||
import {ApiStore} from '@/stores/ApiStore';
|
import {ApiStore} from '@/stores/ApiStore';
|
||||||
|
|
||||||
@Options({
|
@Options({
|
||||||
@@ -23,10 +23,12 @@ export default class Discord extends Vue {
|
|||||||
set online(val: boolean) {
|
set online(val: boolean) {
|
||||||
const oldVal = this.online;
|
const oldVal = this.online;
|
||||||
this.aiInstance.discord.online = val;
|
this.aiInstance.discord.online = val;
|
||||||
this.apiStore.aiApi.discordOnline(this.aiInstance.configuration.id, val).catch(e => {
|
this.apiStore.aiApi
|
||||||
toast.error('Error while set online status: ' + JSON.stringify(e));
|
.discordOnline(this.aiInstance.configuration.id, DiscordOnlineVmV1.fromJson({online: val}))
|
||||||
this.aiInstance.discord.online = oldVal;
|
.catch(e => {
|
||||||
});
|
toast.error('Error while set online status: ' + JSON.stringify(e));
|
||||||
|
this.aiInstance.discord.online = oldVal;
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
get reactToChat(): boolean {
|
get reactToChat(): boolean {
|
||||||
@@ -36,14 +38,16 @@ export default class Discord extends Vue {
|
|||||||
set reactToChat(val: boolean) {
|
set reactToChat(val: boolean) {
|
||||||
const oldVal = this.online;
|
const oldVal = this.online;
|
||||||
this.aiInstance.discord.reactToChat = val;
|
this.aiInstance.discord.reactToChat = val;
|
||||||
this.apiStore.aiApi.discordReactToChat(this.aiInstance.configuration.name, val).catch(e => {
|
this.apiStore.aiApi
|
||||||
toast.error('Error while setting react_to_chat status: ' + JSON.stringify(e));
|
.discordReactToChat(this.aiInstance.configuration.id, DiscordReactoToChatVmV1.fromJson({reactToChat: val}))
|
||||||
this.aiInstance.discord.reactToChat = oldVal;
|
.catch(e => {
|
||||||
});
|
toast.error('Error while setting react_to_chat status: ' + JSON.stringify(e));
|
||||||
|
this.aiInstance.discord.reactToChat = oldVal;
|
||||||
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
get uid(): string {
|
get uid(): string {
|
||||||
return "" + getCurrentInstance()?.uid!;
|
return '' + getCurrentInstance()?.uid!;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|||||||
24
swagger.json
24
swagger.json
@@ -308,6 +308,30 @@
|
|||||||
],
|
],
|
||||||
"type": "object",
|
"type": "object",
|
||||||
"additionalProperties": false
|
"additionalProperties": false
|
||||||
|
},
|
||||||
|
"DiscordOnlineVmV1": {
|
||||||
|
"properties": {
|
||||||
|
"online": {
|
||||||
|
"type": "boolean"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"online"
|
||||||
|
],
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": false
|
||||||
|
},
|
||||||
|
"DiscordReactoToChatVmV1": {
|
||||||
|
"properties": {
|
||||||
|
"reactToChat": {
|
||||||
|
"type": "boolean"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"required": [
|
||||||
|
"reactToChat"
|
||||||
|
],
|
||||||
|
"type": "object",
|
||||||
|
"additionalProperties": false
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"securitySchemes": {}
|
"securitySchemes": {}
|
||||||
|
|||||||
Reference in New Issue
Block a user