Update UserSystem

This commit is contained in:
Josef 2025-11-25 20:06:38 +01:00
parent 48a7f40992
commit 58298ca960
1 changed files with 91 additions and 0 deletions

View File

@ -60,6 +60,23 @@ export class SessionData
renewal:string;
}
export class UserAppData
{
token:string;
appID:string;
}
export class UserSavingAppData extends UserAppData
{
appData:any;
}
export class UserTaskDeletionData extends UserAppData
{
taskID:string;
}
export class UserSystem
{
static productionURL = "https://backend.rokojori.com:1712";
@ -283,4 +300,78 @@ export class UserSystem
return Promise.resolve( MessageTypes.Error !== result.type );
}
protected _getAppsURL( name:string )
{
return this.url + "/apps" + name;
}
async canUseApp( appID:string ):Promise<boolean>
{
let url = this._getAppsURL( "/can-use" );
let input = { token:this.sessionToken, appID: appID };
let result = await Request.post<UserAppData,Message>( url, input );
if ( MessageTypes.Error == result.type )
{
console.log( result );
return Promise.resolve( false );
}
return Promise.resolve( true );
}
async loadAppData<T>( appID:string ):Promise<T>
{
let url = this._getAppsURL( "/load" );
let input = { token:this.sessionToken, appID: appID };
let result = await Request.post<UserAppData,DataMessage<T>>( url, input );
if ( MessageTypes.Error == result.type )
{
console.log( result );
return Promise.resolve( null );
}
return Promise.resolve( result.data );
}
async saveAppData<T>( appID:string, data:T ):Promise<boolean>
{
let url = this._getAppsURL( "/save" );
let input = { token:this.sessionToken, appID: appID, appData:data };
let result = await Request.post<UserSavingAppData,DataMessage<T>>( url, input );
if ( MessageTypes.Error == result.type )
{
console.log( result );
return Promise.resolve( false );
}
return Promise.resolve( true );
}
async deleteAppTask( appID:string, taskID:string ):Promise<boolean>
{
let url = this._getAppsURL( "/delete-task" );
let input = { token:this.sessionToken, appID: appID, taskID:taskID };
let result = await Request.post<UserTaskDeletionData,Message>( url, input );
if ( MessageTypes.Error == result.type )
{
console.log( result );
return Promise.resolve( false );
}
return Promise.resolve( true );
}
}