From d5088d9e369c524e1c49bcb33eeb5f37f763f43f Mon Sep 17 00:00:00 2001 From: Sosthene Date: Fri, 13 Jun 2025 20:23:57 +0200 Subject: [PATCH] [bug] Fix ProfileData --- src/sdk/models/ProfileData.ts | 37 +++++++++++++++++++++++++++-------- 1 file changed, 29 insertions(+), 8 deletions(-) diff --git a/src/sdk/models/ProfileData.ts b/src/sdk/models/ProfileData.ts index 053d30e..075c3fb 100644 --- a/src/sdk/models/ProfileData.ts +++ b/src/sdk/models/ProfileData.ts @@ -1,4 +1,4 @@ -import type { FileBlob } from "./Data"; +import { isFileBlob, type FileBlob } from "./Data"; import type { RoleDefinition } from "./Roles"; export interface ProfileData { @@ -18,20 +18,36 @@ export function isProfileData(data: any): data is ProfileData{ if (typeof data !== 'object' || data === null) return false; const requiredStringFields = [ - 'folderNumber', 'name', - 'deedType', - 'description', - 'archived_description', - 'status', - 'created_at', - 'updated_at' + 'surname', + 'email', + 'phone', + 'address', + 'postalCode', + 'city', + 'country', ]; for (const field of requiredStringFields) { if (typeof data[field] !== 'string') return false; } + const requiredBooleanFields = [ + 'idCertified', + ]; + + for (const field of requiredBooleanFields) { + if (typeof data[field] !== 'boolean') return false; + } + + const requiredFileFields = [ + 'idDocument', + ]; + + for (const field of requiredFileFields) { + if (!isFileBlob(data[field]) && data[field] !== null) return false; + } + return true; } @@ -64,6 +80,11 @@ export interface ProfileCreated { export function setDefaultProfileRoles(ownerId: string[], validatorId: string): Record { return { + demiurge: { + members: [...ownerId, validatorId], + validation_rules: [], + storages: [] + }, owner: { members: ownerId, validation_rules: [