From 69bcf3c61d921bf6ddd3cfcfeade6634f14de517 Mon Sep 17 00:00:00 2001 From: "Yashmeet ." Date: Thu, 23 Apr 2026 11:31:59 +0530 Subject: [PATCH] Leading application changes to disable upload button when max count of attachments is reached --- cap-notebook/demoapp/db/schema.cds | 3 +++ cap-notebook/demoapp/srv/admin-service.cds | 6 ++++++ 2 files changed, 9 insertions(+) diff --git a/cap-notebook/demoapp/db/schema.cds b/cap-notebook/demoapp/db/schema.cds index c0e1cf84..253e7ca3 100644 --- a/cap-notebook/demoapp/db/schema.cds +++ b/cap-notebook/demoapp/db/schema.cds @@ -16,6 +16,8 @@ stock : Integer; price : Decimal; currency : Currency; image : LargeBinary @Core.MediaType: 'image/png'; +isAttachmentsUploadable : Boolean default true; +isReferencesUploadable : Boolean default true; // top-level chapters composition (root of the nested hierarchy) cHapters : Composition of many Chapters on cHapters.book = $self; @@ -73,6 +75,7 @@ entity Notebooks : managed, cuid { price : Decimal; currency : Currency; image : LargeBinary @Core.MediaType: 'image/png'; + isAttachmentsUploadable : Boolean default true; } entity Pages : cuid, managed { diff --git a/cap-notebook/demoapp/srv/admin-service.cds b/cap-notebook/demoapp/srv/admin-service.cds index a0040481..6ff8ccd2 100644 --- a/cap-notebook/demoapp/srv/admin-service.cds +++ b/cap-notebook/demoapp/srv/admin-service.cds @@ -42,6 +42,9 @@ service AdminService @(requires: ['admin','system-user']) { action openAttachment() returns String; action changelog() returns String; }; + annotate AdminService.Books.attachments with @( + Capabilities: {InsertRestrictions: {Insertable: up_.isAttachmentsUploadable}} + ); entity Books.references as projection on my.Books.references actions { @@ -73,6 +76,9 @@ service AdminService @(requires: ['admin','system-user']) { action openAttachment() returns String; action changelog() returns String; }; + annotate AdminService.Books.references with @( + Capabilities: {InsertRestrictions: {Insertable: up_.isReferencesUploadable}} + ); entity Books.footnotes as projection on my.Books.footnotes actions {