I want the following json object to convert into the equivalent generic type in typescript.
This json object has dynamic keys for example applications and permissions can have dynamic keys. The immediate keys inside applications for example application_management, user_management can be dynamic and also inside permissions, create_application, delete_application, update_application and so on can be dynamic as well.
I have tried to do it using interface but didn't able to do it. Could you please help me solve this?
{
"id": 1,
"isSuperAdmin": true,
"firstName": "Oleksii",
"lastName": "",
"email": "[email protected]",
"gender": null,
"dob": null,
"photo": null,
"status": "ACTIVE",
"roles": [
{
"id": 1,
"slug": "Head of Department-(Account Management-Network-P2W North America)"
},
{
"id": 2,
"slug": "Team Lead-(Account Management-Network-P2W North America)"
},
{
"id": 3,
"slug": "Employee-(Account Management-Network-P2W North America)"
}
],
"applications": {
"application_management": {
"id": 41,
"slug": "application_management",
"appName": "Application Management",
"status": "ACTIVE",
"appType": "CODED",
"appUrl": "application-management",
"appIcon": "http://api.chromosome-studio.com/uploads/applications/application.png",
"permissions": {
"delete_application": {
"id": 3,
"action": "Delete Application",
"slug": "delete_application",
"level": "all"
},
"update_application": {
"id": 2,
"action": "Update Application",
"slug": "update_application",
"level": "all"
},
"create_application": {
"id": 1,
"action": "Create Application",
"slug": "create_application",
"level": "all"
}
}
},
"user_management": {
"id": 42,
"slug": "user_management",
"appName": "Application Management",
"status": "ACTIVE",
"appType": "CODED",
"appUrl": "user-management",
"appIcon": "http://api.chromosome-studio.com/uploads/applications/users.png",
"permissions": {
"create_application": {
"id": 4,
"action": "Create Application",
"slug": "create_application",
"level": "all"
}
}
}
}