iiammehmetOriginal post
Rank 1: Thread
Hi, what's the alternative way to hide specific keys? I've created a function, but I believe there might be another way to achieve this.
TypeScript
function secureSchema<T extends Record<string, any>>(doc: T): Omit<T, "$permissions" | "$databaseId" | "$collectionId"> { const secureDoc: any = { ...doc };
function removeSecureProps(obj: any) { for (const prop in obj) { if (obj[prop] !== null && typeof obj[prop] === 'object') { removeSecureProps(obj[prop]); } if (prop === '$permissions' prop === '$databaseId' prop === '$collectionId') { delete obj[prop]; } } }
removeSecureProps(secureDoc);
return secureDoc; } //Services async readAll(): Promise<VideoSchemaType[]> { const documents = await database.listDocuments(dbId, videoCollectionId); const data = documents.documents.map((doc: any) => secureSchema(doc)) as VideoSchemaType[]; return data; }Summary
Function `secureSchema` is used to hide specific keys in an object. An alternative way to achieve this without using the `secureSchema` function is by directly removing the desired keys from the object where necessary.