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;
}
TL;DR
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.Recommended threads
- restore paused project not working
https://cloud.appwrite.io/console/project-sfo-69b1b841002ca6a07f14/overview/platforms
- 1.6.2 to 1.7.0
Hi everyone. I am running a self-hosted Appwrite server on version 1.6.2. What is the safest way to migrate to the next version? Should I update directly to...
- Exception: Route not found when calling ...
I have self-hosted v1.8.1 and I am using an Appwrite function with node-appwrite v22. When I call the createVarcharColumn() in my server function I get this exc...