Compare commits

...

3 Commits

Author SHA1 Message Date
Sosthene
32f11a56ef Update package-lock.json 2025-06-11 21:48:48 +02:00
Sosthene
086fa86bbe Getting ProfileCreated and FolderCreated return values 2025-06-11 21:48:34 +02:00
Sosthene
aad1a4bfe2 Add FolderCreated and ProfileCreated models 2025-06-11 21:47:50 +02:00
5 changed files with 1179 additions and 299 deletions

1433
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@ -11,8 +11,8 @@ import UserStore from './sdk/UserStrore';
import Iframe from './sdk/Iframe'
import BlockchainViewer from './components/ProcessesViewer';
import FolderModal from './components/FolderModal';
import type { ProfileData } from './sdk/models/ProfileData'
import type { FolderData } from './sdk/models/FolderData'
import type { ProfileCreated, ProfileData } from './sdk/models/ProfileData'
import type { FolderCreated, FolderData } from './sdk/models/FolderData'
const iframeUrl = 'https://dev3.4nkweb.com'
@ -115,7 +115,7 @@ function App() {
validator: '884cb36a346a79af8697559f16940141f068bdf1656f88fa0df0e9ecd7311fb8:0'
};
MessageBus.getInstance(iframeUrl).createProfile(completeProfileData).then((_profileData: ProfileData) => {
MessageBus.getInstance(iframeUrl).createProfile(completeProfileData).then((_profileCreated: ProfileCreated) => {
MessageBus.getInstance(iframeUrl).getProcesses().then((processes: any) => {
setProcesses(processes);
});
@ -126,7 +126,7 @@ function App() {
// Gestionnaire pour soumettre les données du dossier
const handleFolderSubmit = useCallback((folderData: FolderData) => {
MessageBus.getInstance(iframeUrl).createFolder(folderData).then((_folderData: FolderData) => {
MessageBus.getInstance(iframeUrl).createFolder(folderData).then((_folderCreated: FolderCreated) => {
MessageBus.getInstance(iframeUrl).getProcesses().then((processes: any) => {
setProcesses(processes);
});

View File

@ -1,8 +1,8 @@
import IframeReference from './IframeReference';
import EventBus from './EventBus';
import UserStore from './UserStrore';
import type { ProfileData } from './models/ProfileData';
import type { FolderData } from './models/FolderData';
import type { ProfileCreated, ProfileData } from './models/ProfileData';
import type { FolderCreated, FolderData } from './models/FolderData';
import { v4 as uuidv4 } from 'uuid';
export default class MessageBus {
@ -300,23 +300,22 @@ export default class MessageBus {
});
}
public createProfile(profileData: ProfileData): Promise<ProfileData> {
return new Promise<ProfileData>((resolve: (profileData: ProfileData) => void, reject: (error: string) => void) => {
public createProfile(profileData: ProfileData): Promise<ProfileCreated> {
return new Promise<ProfileCreated>((resolve: (profileCreated: ProfileCreated) => void, reject: (error: string) => void) => {
this.checkToken().then(() => {
const userStore = UserStore.getInstance();
const accessToken = userStore.getAccessToken()!;
const refreshToken = userStore.getRefreshToken()!;
const correlationId = uuidv4();
this.initMessageListener(correlationId);
const unsubscribe = EventBus.getInstance().on('PROFILE_CREATED', (responseId: string, profileData: ProfileData) => {
const unsubscribe = EventBus.getInstance().on('PROFILE_CREATED', (responseId: string, profileCreated: ProfileCreated) => {
if (responseId !== correlationId) {
return;
}
unsubscribe();
this.destroyMessageListener();
resolve(profileData);
resolve(profileCreated);
});
const unsubscribeError = EventBus.getInstance().on('ERROR_PROFILE_CREATED', (responseId: string, error: string) => {
@ -332,14 +331,13 @@ export default class MessageBus {
type: 'CREATE_PROFILE',
profileData,
accessToken,
refreshToken
});
}).catch(console.error);
});
}
public createFolder(folderData: FolderData): Promise<FolderData> {
return new Promise<FolderData>((resolve: (folderData: FolderData) => void, reject: (error: string) => void) => {
public createFolder(folderData: FolderData): Promise<FolderCreated> {
return new Promise<FolderCreated>((resolve: (folderData: FolderCreated) => void, reject: (error: string) => void) => {
this.checkToken().then(() => {
const userStore = UserStore.getInstance();
const accessToken = userStore.getAccessToken()!;
@ -347,13 +345,13 @@ export default class MessageBus {
const correlationId = uuidv4();
this.initMessageListener(correlationId);
const unsubscribe = EventBus.getInstance().on('FOLDER_CREATED', (responseId: string, folderData: FolderData) => {
const unsubscribe = EventBus.getInstance().on('FOLDER_CREATED', (responseId: string, folderCreated: FolderCreated) => {
if (responseId !== correlationId) {
return;
}
unsubscribe();
this.destroyMessageListener();
resolve(folderData);
resolve(folderCreated);
});
const unsubscribeError = EventBus.getInstance().on('ERROR_FOLDER_CREATED', (responseId: string, error: string) => {
@ -497,7 +495,7 @@ export default class MessageBus {
return;
}
EventBus.getInstance().emit('MESSAGE_RECEIVED', message);
EventBus.getInstance().emit('PROFILE_CREATED', correlationId, message.profileData);
EventBus.getInstance().emit('PROFILE_CREATED', correlationId, message.profileCreated);
break;
case 'FOLDER_CREATED': // CREATE_FOLDER
@ -508,6 +506,7 @@ export default class MessageBus {
return;
}
EventBus.getInstance().emit('MESSAGE_RECEIVED', message);
EventBus.getInstance().emit('FOLDER_CREATED', message.folderCreated);
break;
case 'DATA_RETRIEVED': // RETRIEVE_DATA

View File

@ -12,3 +12,9 @@ export interface FolderData {
motes: string[];
stakeholders: string[];
}
export interface FolderCreated {
processId: string,
process: any, // Process
folderData: FolderData,
}

View File

@ -9,3 +9,9 @@ export interface ProfileData {
country: string;
idDocument?: string;
}
export interface ProfileCreated {
processId: string,
process: any, // Actually Process
profileData: ProfileData,
}