@sap/cds 9.3.1 → 9.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +63 -3
- package/_i18n/i18n_vi.properties +113 -0
- package/_i18n/messages.properties +106 -17
- package/_i18n/messages_ar.properties +194 -0
- package/_i18n/messages_bg.properties +194 -0
- package/_i18n/messages_cs.properties +194 -0
- package/_i18n/messages_da.properties +194 -0
- package/_i18n/messages_de.properties +194 -0
- package/_i18n/messages_el.properties +194 -0
- package/_i18n/messages_en.properties +194 -0
- package/_i18n/messages_en_US_saptrc.properties +194 -0
- package/_i18n/messages_es.properties +194 -0
- package/_i18n/messages_es_MX.properties +194 -0
- package/_i18n/messages_fi.properties +194 -0
- package/_i18n/messages_fr.properties +194 -0
- package/_i18n/messages_he.properties +194 -0
- package/_i18n/messages_hr.properties +194 -0
- package/_i18n/messages_hu.properties +194 -0
- package/_i18n/messages_it.properties +194 -0
- package/_i18n/messages_ja.properties +194 -0
- package/_i18n/messages_kk.properties +194 -0
- package/_i18n/messages_ko.properties +194 -0
- package/_i18n/messages_ms.properties +194 -0
- package/_i18n/messages_nl.properties +194 -0
- package/_i18n/messages_no.properties +194 -0
- package/_i18n/messages_pl.properties +194 -0
- package/_i18n/messages_pt.properties +194 -0
- package/_i18n/messages_ro.properties +194 -0
- package/_i18n/messages_ru.properties +194 -0
- package/_i18n/messages_sh.properties +194 -0
- package/_i18n/messages_sk.properties +194 -0
- package/_i18n/messages_sl.properties +194 -0
- package/_i18n/messages_sv.properties +194 -0
- package/_i18n/messages_th.properties +194 -0
- package/_i18n/messages_tr.properties +194 -0
- package/_i18n/messages_uk.properties +194 -0
- package/_i18n/messages_vi.properties +194 -0
- package/_i18n/messages_zh_CN.properties +194 -0
- package/_i18n/messages_zh_TW.properties +194 -0
- package/bin/serve.js +9 -1
- package/common.cds +9 -1
- package/lib/compile/cds-compile.js +1 -0
- package/lib/compile/etc/properties.js +1 -0
- package/lib/compile/for/flows.js +70 -4
- package/lib/compile/for/nodejs.js +1 -1
- package/lib/compile/minify.js +84 -56
- package/lib/compile/to/csn.js +2 -0
- package/lib/compile/to/yaml.js +1 -1
- package/lib/env/cds-requires.js +3 -0
- package/lib/i18n/bundles.js +8 -1
- package/lib/i18n/files.js +5 -1
- package/lib/i18n/index.js +1 -5
- package/lib/i18n/localize.js +4 -2
- package/lib/index.js +1 -1
- package/lib/ql/SELECT.js +16 -19
- package/lib/req/validate.js +10 -5
- package/lib/srv/bindings.js +1 -1
- package/lib/srv/cds-serve.js +1 -1
- package/lib/srv/middlewares/auth/ias-auth.js +3 -2
- package/lib/srv/middlewares/auth/jwt-auth.js +3 -2
- package/lib/srv/middlewares/errors.js +2 -1
- package/lib/srv/protocols/hcql.js +8 -6
- package/lib/srv/srv-dispatch.js +4 -8
- package/lib/srv/srv-handlers.js +28 -1
- package/lib/utils/colors.js +54 -49
- package/libx/_runtime/common/generic/flows.js +79 -12
- package/libx/_runtime/common/generic/input.js +12 -2
- package/libx/_runtime/fiori/lean-draft.js +10 -2
- package/libx/_runtime/messaging/common-utils/connections.js +31 -18
- package/libx/_runtime/messaging/enterprise-messaging-utils/registerEndpoints.js +2 -2
- package/libx/_runtime/messaging/redis-messaging.js +1 -1
- package/libx/_runtime/ucl/Service.js +5 -5
- package/libx/http/body-parser.js +10 -1
- package/libx/odata/ODataAdapter.js +10 -7
- package/libx/odata/middleware/error.js +3 -0
- package/libx/odata/parse/afterburner.js +13 -16
- package/libx/odata/parse/multipartToJson.js +3 -1
- package/libx/rest/middleware/parse.js +1 -1
- package/package.json +2 -2
- package/server.js +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,66 @@
|
|
|
4
4
|
- The format is based on [Keep a Changelog](https://keepachangelog.com/).
|
|
5
5
|
- This project adheres to [Semantic Versioning](https://semver.org/).
|
|
6
6
|
|
|
7
|
+
## Version 9.4.3 - 2025-10-10
|
|
8
|
+
|
|
9
|
+
### Fixed
|
|
10
|
+
|
|
11
|
+
- Don't continue validation user input if data type is wrong
|
|
12
|
+
- UI annotation generation for status transition flows for Java
|
|
13
|
+
- Increased minimium version of `@sap/cds-compiler` to 6.3.x
|
|
14
|
+
- Undefined error message for early access checks
|
|
15
|
+
|
|
16
|
+
## Version 9.4.2 - 2025-10-08
|
|
17
|
+
|
|
18
|
+
### Fixed
|
|
19
|
+
|
|
20
|
+
- `DISCARD` as a synonym for `CANCEL`
|
|
21
|
+
- `cds.load()` called twice
|
|
22
|
+
|
|
23
|
+
## Version 9.4.1 - 2025-10-06
|
|
24
|
+
|
|
25
|
+
### Fixed
|
|
26
|
+
|
|
27
|
+
- Default `kind` for unknown required service to `hcql`
|
|
28
|
+
- Consider and allow aliases from nesting during OData query validation
|
|
29
|
+
|
|
30
|
+
## Version 9.4.0 - 2025-09-30
|
|
31
|
+
|
|
32
|
+
### Added
|
|
33
|
+
|
|
34
|
+
- Status Transition Flows (`@flow`; alpha):
|
|
35
|
+
+ Resolve enum references in `@from`/`@to` values
|
|
36
|
+
+ Support for `@to: $flow.previous` (transition to the previous status in a flow)
|
|
37
|
+
+ Use `cds.env.features.flows_history_stack=true` to switch from history (default) to stack-based behavior
|
|
38
|
+
+ Requires adding aspect `sap.common.FlowHistory` to the respective entity
|
|
39
|
+
- `i18n` translations for `@assert` messages
|
|
40
|
+
- `SELECT ... .stream ()` returns the data from the database as a raw stream
|
|
41
|
+
- `cds.validate` treats `@insertonly` elements as immutable
|
|
42
|
+
- Vietnamese translations for texts from `@sap/cds/common`
|
|
43
|
+
- `ias`/`jwt`/`xsuaa`-auth: Add token payload (as `token_payload`) to warning log in case of an invalid token
|
|
44
|
+
+ Note: Some invalid tokens are (for performance reasons) not fully validated and, hence, the payload may not be trusted!
|
|
45
|
+
|
|
46
|
+
### Changed
|
|
47
|
+
|
|
48
|
+
- `SAVE` handlers for drafts are triggered when a draft is activated
|
|
49
|
+
+ Opt-out until cds^10 with `cds.features.compat_save_drafts=true`
|
|
50
|
+
- Improved default error messages for input validation.
|
|
51
|
+
- Renamed error key for validation errors of `@mandatory` from `ASSERT_NOT_NULL` to `ASSERT_MANDATORY`
|
|
52
|
+
+ For i18n message lookup, an automatic fallback is implemented.
|
|
53
|
+
+ Opt-out until cds^10 with `cds.features.compat_assert_not_null=true`
|
|
54
|
+
- Errors are collected for `_initial` (internal!) and `before` phase
|
|
55
|
+
|
|
56
|
+
### Fixed
|
|
57
|
+
|
|
58
|
+
- Duplicate reconnects in AMQP
|
|
59
|
+
- `ASSERT_FORMAT` errors return correct regexp in message
|
|
60
|
+
- Crash by draft validation with (custom) error w/o target
|
|
61
|
+
- Fixed issue where `' $'` in payloads of batch requests would be prefixed with `'/'`
|
|
62
|
+
- Broken link `cds.auth`
|
|
63
|
+
- Persist original error message in draft validation messages
|
|
64
|
+
- Escaping of `\t` and `\f` in edmx during localization
|
|
65
|
+
- Escaping of JSON escape sequences other than `\"` during localization
|
|
66
|
+
|
|
7
67
|
## Version 9.3.1 - 2025-09-03
|
|
8
68
|
|
|
9
69
|
### Fixed
|
|
@@ -39,9 +99,9 @@
|
|
|
39
99
|
```
|
|
40
100
|
- Property `cds.User.authInfo` as generic container for authentication-related information
|
|
41
101
|
+ For `@sap/xssec`-based authentication strategies, `cds.context.user.authInfo` is an instance of `@sap/xssec`'s `SecurityContext`
|
|
42
|
-
- Support for
|
|
102
|
+
- Support for status transition flows (`@flow`; alpha):
|
|
43
103
|
+ Generic handlers for validating entry (`@from`) and exit (`@to`) states
|
|
44
|
-
+ Automatic addition of necessary annotations for Fiori UIs (`@Common.SideEffects` and `@Core.OperationAvailable`) during compile to EDMX with feature flag `cds.features.compile_for_flows
|
|
104
|
+
+ Automatic addition of necessary annotations for Fiori UIs (`@Common.SideEffects` and `@Core.OperationAvailable`) during compile to EDMX with feature flag `cds.features.compile_for_flows=true`
|
|
45
105
|
- Experimental support for consuming remote HCQL services (`cds.requires.<remote>.kind = 'hcql'`)
|
|
46
106
|
- Infrastructure for implementing the tenant mapping notification of Unified Customer Landscape's (UCL) Service Provider Integration Interface (SPII) API
|
|
47
107
|
+ Bootstrap the `UCLService` via `cds.requires.ucl = true` and implement the assign and unassign operations like so:
|
|
@@ -136,7 +196,7 @@
|
|
|
136
196
|
### Changed
|
|
137
197
|
|
|
138
198
|
- Reduced the amount of SELECT nesting the OData adapter does for `$apply` queries.
|
|
139
|
-
- Better error messages for unresolved parent associations in hierarchy requests
|
|
199
|
+
- Better error messages for unresolved parent associations in hierarchy requests.
|
|
140
200
|
- Enabled updated behavior of `draftActivate` to move updates to fields of draft enabled entities with type `cds.LargeBinary` from draft to active table on the database level, with feature flag `cds.env.fiori.move_media_data_in_db`.
|
|
141
201
|
|
|
142
202
|
### Fixed
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
#Text Types
|
|
2
|
+
#
|
|
3
|
+
#XACT: Text with explicit importance for accessibility.
|
|
4
|
+
#XBUT: Button
|
|
5
|
+
#XCKL: Checkbox
|
|
6
|
+
#XFLD: Field label
|
|
7
|
+
#XLNK: Hyperlink
|
|
8
|
+
#XMIT: Menu item (Menu item, either top-level like "File" or lower-level like "Save as...")
|
|
9
|
+
#XMSG: Message
|
|
10
|
+
#XRBL: Radio button
|
|
11
|
+
#XSEL: Selection (Values in a drop-down list, or a status. For example: "In Process", "Shipped" or "Open".)
|
|
12
|
+
#XTIT: Title (or heading) of a non-actionable user interface element like a column, wizard, or screen area.
|
|
13
|
+
#XTOL: Explanatory text for an UI element, such as a tooltip, input help.
|
|
14
|
+
#YINS: Instruction for a user, for example, a permanent text on a screen that introduces a group of fields.
|
|
15
|
+
#----------------------------------------------------------------------------------------------------------------------
|
|
16
|
+
#For text elements that are not supposed to be translated, use the text type NOTR
|
|
17
|
+
#----------------------------------------------------------------------------------------------------------------------
|
|
18
|
+
#Recommended pattern
|
|
19
|
+
#
|
|
20
|
+
#<TextType>:<AdditionalContextInformation>
|
|
21
|
+
#If there is a maximum length restriction, please indicate as shown below.
|
|
22
|
+
#<TextType>,<MaximumLength>:<AdditionalContextInformation>
|
|
23
|
+
#----------------------------------------------------------------------------------------------------------------------
|
|
24
|
+
# This is the resource bundle for foundation
|
|
25
|
+
# __ldi.translation.uuid=dd6c5800-b108-11e8-be90-bd1cf6ac87fb
|
|
26
|
+
#----------------------------------------------------------------------------------------------------------------------
|
|
27
|
+
|
|
28
|
+
#XTIT: Created By (Answer to: "Which user has created a certain entity?")
|
|
29
|
+
CreatedBy=T\u1EA1o b\u1EDFi
|
|
30
|
+
|
|
31
|
+
#XTIT: Created On (Answer to: "When has a certain entity been created?")
|
|
32
|
+
CreatedAt=Ta\u0323o va\u0300o
|
|
33
|
+
|
|
34
|
+
#XTIT: Changed By (Answer to: "Which user has changed a certain entity?")
|
|
35
|
+
ChangedBy=Thay \u0111\u00F4\u0309i b\u01A1\u0309i
|
|
36
|
+
|
|
37
|
+
#XTIT: Changed On (Answer to: "When has a certain entity been changed?")
|
|
38
|
+
ChangedAt=Thay \u0111\u00F4\u0309i va\u0300o nga\u0300y
|
|
39
|
+
|
|
40
|
+
#XTIT: Currency
|
|
41
|
+
Currency=Ti\u00EA\u0300n t\u00EA\u0323
|
|
42
|
+
|
|
43
|
+
#XTIT: Currency Code
|
|
44
|
+
CurrencyCode=Ma\u0303 ti\u00EA\u0300n t\u00EA\u0323
|
|
45
|
+
|
|
46
|
+
#XTIT: Currency Code Description
|
|
47
|
+
CurrencyCode.Description=M\u00E3 ti\u1EC1n t\u1EC7 theo ISO 4217
|
|
48
|
+
|
|
49
|
+
#XTIT: Currency Symbol
|
|
50
|
+
CurrencySymbol=K\u00FD hi\u1EC7u ti\u1EC1n t\u1EC7
|
|
51
|
+
|
|
52
|
+
#XTIT: Currency Minor Unit Fractions (Answer to: "How many fractions has a currency's minor unit?", e.g. "0" or "2")
|
|
53
|
+
CurrencyMinorUnit=Ph\u00E2n s\u1ED1 \u0111\u01A1n v\u1ECB t\u1ED1i thi\u1EC3u c\u1EE7a ti\u1EC1n t\u1EC7
|
|
54
|
+
|
|
55
|
+
#XTIT: Country/Region
|
|
56
|
+
Country=Qu\u00F4\u0301c gia/Vu\u0300ng
|
|
57
|
+
|
|
58
|
+
#XTIT: Country/Region Code
|
|
59
|
+
CountryCode=M\u00E3 qu\u1ED1c gia/vu\u0300ng
|
|
60
|
+
|
|
61
|
+
#XTIT: Country/Region Code Description
|
|
62
|
+
CountryCode.Description=M\u00E3 qu\u1ED1c gia/vu\u0300ng theo ISO 3166-1
|
|
63
|
+
|
|
64
|
+
#XTIT: Language
|
|
65
|
+
Language=Ng\u00F4n ng\u01B0\u0303
|
|
66
|
+
|
|
67
|
+
#XTIT: Language Code
|
|
68
|
+
LanguageCode=Ma\u0303 ng\u00F4n ng\u01B0\u0303
|
|
69
|
+
|
|
70
|
+
#XTIT: Language Code Description
|
|
71
|
+
LanguageCode.Description=M\u00E3 ng\u00F4n ng\u1EEF theo ISO 639-1
|
|
72
|
+
|
|
73
|
+
#XTIT Time zone code
|
|
74
|
+
TimeZoneCode=Ma\u0303 mu\u0301i gi\u01A1\u0300
|
|
75
|
+
|
|
76
|
+
#XTIT: User Identifier
|
|
77
|
+
UserID=ID ng\u01B0\u01A1\u0300i du\u0300ng
|
|
78
|
+
|
|
79
|
+
#XTIT: Any kind of name
|
|
80
|
+
Name=T\u00EAn
|
|
81
|
+
|
|
82
|
+
#XTIT: Any kind of description
|
|
83
|
+
Description=M\u00F4 ta\u0309
|
|
84
|
+
|
|
85
|
+
#XTOL: A user's unique Indentifier
|
|
86
|
+
UserID.Description=ID duy nh\u00E2\u0301t cu\u0309a ng\u01B0\u1EDDi d\u00F9ng
|
|
87
|
+
|
|
88
|
+
#XTIT: Admin data for a draft document
|
|
89
|
+
Draft_DraftAdministrativeData=D\u01B0\u0303 li\u00EA\u0323u qua\u0309n tri\u0323 \u1EDF d\u1EA1ng nh\u00E1p
|
|
90
|
+
|
|
91
|
+
#XTIT: Technical ID of a draft document
|
|
92
|
+
Draft_DraftUUID=B\u1EA3n nh\u00E1p (ID k\u1EF9 thu\u1EADt)
|
|
93
|
+
|
|
94
|
+
#XTIT: Creation time of a draft
|
|
95
|
+
Draft_CreationDateTime=Ng\u00E0y t\u1EA1o b\u1EA3n nh\u00E1p
|
|
96
|
+
|
|
97
|
+
#XTIT: User created the draft
|
|
98
|
+
Draft_CreatedByUser=Ng\u01B0\u1EDDi t\u1EA1o b\u1EA3n nh\u00E1p
|
|
99
|
+
|
|
100
|
+
#XTIT: The current user (me) created the draft
|
|
101
|
+
Draft_DraftIsCreatedByMe=B\u1EA3n nh\u00E1p do t\u00F4i t\u1EA1o
|
|
102
|
+
|
|
103
|
+
#XTIT: Time a draft was last changed on
|
|
104
|
+
Draft_LastChangeDateTime=Ng\u00E0y thay \u0111\u1ED5i l\u1EA7n cu\u1ED1i b\u1EA3n nh\u00E1p
|
|
105
|
+
|
|
106
|
+
#XTIT: User that changed the draft last
|
|
107
|
+
Draft_LastChangedByUser=Ng\u01B0\u1EDDi thay \u0111\u1ED5i l\u1EA7n cu\u1ED1i b\u1EA3n nh\u00E1p
|
|
108
|
+
|
|
109
|
+
#XTIT: User that is working on the draft
|
|
110
|
+
Draft_InProcessByUser=Ng\u01B0\u1EDDi \u0111ang x\u1EED l\u00FD b\u1EA3n nh\u00E1p
|
|
111
|
+
|
|
112
|
+
#XTIT: The current user (me) is working on the draft
|
|
113
|
+
Draft_DraftIsProcessedByMe=B\u1EA3n nh\u00E1p \u0111ang do t\u00F4i x\u1EED l\u00FD
|
|
@@ -1,104 +1,193 @@
|
|
|
1
|
+
# Input Validation
|
|
2
|
+
|
|
3
|
+
#XMSG: Enter a value between 0 and 100. // Implementation still provides 3 values
|
|
4
|
+
ASSERT_RANGE = Enter a value between {1} and {2}.
|
|
5
|
+
#XMSG: Enter a valuematching the pattern /^abc/.
|
|
6
|
+
ASSERT_FORMAT = Enter a value matching the pattern {1}.
|
|
7
|
+
#XMSG: Enter one of the allowed values: High,Medium,Low. // Implementation still provides 2 values
|
|
8
|
+
ASSERT_ENUM = Enter one of the allowed values: {1}.
|
|
9
|
+
#XMSG: Provide the missing value. // Error text displayed on a field, in case a mandatory value is not set.
|
|
10
|
+
ASSERT_MANDATORY = Provide the missing value.
|
|
11
|
+
#XMSG: Target with this key doesn't exist.
|
|
12
|
+
ASSERT_TARGET = Target with this key doesn''t exist.
|
|
13
|
+
|
|
14
|
+
# Aggregating Error
|
|
15
|
+
|
|
16
|
+
#XMSG
|
|
17
|
+
MULTIPLE_ERRORS = Multiple errors occurred, see details below.
|
|
18
|
+
|
|
19
|
+
# Input format
|
|
20
|
+
|
|
21
|
+
#NOTR
|
|
22
|
+
ASSERT_VALID_ELEMENT = Element is not valid
|
|
23
|
+
#NOTR
|
|
24
|
+
ASSERT_DATA_TYPE = Value {0} is not a valid {1}
|
|
25
|
+
#NOTR
|
|
26
|
+
ASSERT_ARRAY = Value must be an array
|
|
27
|
+
|
|
28
|
+
# Status Codes
|
|
29
|
+
|
|
30
|
+
#NOTR
|
|
1
31
|
400 = Bad Request
|
|
32
|
+
#NOTR
|
|
2
33
|
401 = Unauthorized
|
|
34
|
+
#NOTR
|
|
3
35
|
403 = Forbidden
|
|
36
|
+
#NOTR
|
|
4
37
|
404 = Not Found
|
|
38
|
+
#NOTR
|
|
5
39
|
405 = Method Not Allowed
|
|
40
|
+
#NOTR
|
|
6
41
|
406 = Not Acceptable
|
|
42
|
+
#NOTR
|
|
7
43
|
407 = Proxy Authentication Required
|
|
44
|
+
#NOTR
|
|
8
45
|
408 = Request Timeout
|
|
46
|
+
#NOTR
|
|
9
47
|
409 = Conflict
|
|
48
|
+
#NOTR
|
|
10
49
|
410 = Gone
|
|
50
|
+
#NOTR
|
|
11
51
|
411 = Length Required
|
|
52
|
+
#NOTR
|
|
12
53
|
412 = Precondition Failed
|
|
54
|
+
#NOTR
|
|
13
55
|
413 = Payload Too Large
|
|
56
|
+
#NOTR
|
|
14
57
|
414 = URI Too Long
|
|
58
|
+
#NOTR
|
|
15
59
|
415 = Unsupported Media Type
|
|
60
|
+
#NOTR
|
|
16
61
|
416 = Range Not Satisfiable
|
|
62
|
+
#NOTR
|
|
17
63
|
417 = Expectation Failed
|
|
64
|
+
#NOTR
|
|
18
65
|
422 = Unprocessable Content
|
|
66
|
+
#NOTR
|
|
19
67
|
424 = Failed Dependency
|
|
68
|
+
#NOTR
|
|
20
69
|
428 = Precondition Required
|
|
70
|
+
#NOTR
|
|
21
71
|
429 = Too Many Requests
|
|
72
|
+
#NOTR
|
|
22
73
|
431 = Request Header Fields Too Large
|
|
74
|
+
#NOTR
|
|
23
75
|
451 = Unavailable For Legal Reasons
|
|
76
|
+
#NOTR
|
|
24
77
|
500 = Internal Server Error
|
|
78
|
+
#NOTR
|
|
25
79
|
501 = The server does not support the functionality required to fulfill the request
|
|
80
|
+
#NOTR
|
|
26
81
|
502 = Bad Gateway
|
|
82
|
+
#NOTR
|
|
27
83
|
503 = Service Unavailable
|
|
84
|
+
#NOTR
|
|
28
85
|
504 = Gateway Timeout
|
|
29
86
|
|
|
30
|
-
MULTIPLE_ERRORS = Multiple errors occurred, see details below.
|
|
31
|
-
|
|
32
|
-
# -------------------------------------------------------------------------------------------------
|
|
33
|
-
# all texts below are subject to change!
|
|
34
|
-
# -------------------------------------------------------------------------------------------------
|
|
35
|
-
|
|
36
87
|
# fragments
|
|
88
|
+
|
|
89
|
+
#NOTR
|
|
37
90
|
ENTITY = entity
|
|
91
|
+
#NOTR
|
|
38
92
|
TYPE = type
|
|
93
|
+
#NOTR
|
|
39
94
|
FUNCTION = function
|
|
95
|
+
#NOTR
|
|
40
96
|
ACTION = action
|
|
41
97
|
|
|
42
|
-
# assert
|
|
43
|
-
ASSERT_VALID_ELEMENT = Element is not valid
|
|
44
|
-
ASSERT_RANGE = Value {0} is not in specified range [{1}, {2}]
|
|
45
|
-
ASSERT_FORMAT = Value "{0}" is not in specified format "{1}"
|
|
46
|
-
ASSERT_DATA_TYPE = Value {0} is not a valid {1}
|
|
47
|
-
ASSERT_ARRAY = Value must be an array
|
|
48
|
-
ASSERT_ENUM = Value {0} is invalid according to enum declaration {{1}}
|
|
49
|
-
ASSERT_NOT_NULL = Value is required
|
|
50
|
-
ASSERT_TARGET = "Value doesn't exist"
|
|
51
|
-
|
|
52
98
|
# db
|
|
99
|
+
|
|
100
|
+
#NOTR
|
|
53
101
|
NO_DATABASE_CONNECTION = No database connection
|
|
102
|
+
#NOTR
|
|
54
103
|
ENTITY_ALREADY_EXISTS = Entity already exists
|
|
104
|
+
#NOTR
|
|
55
105
|
ENTITY_LOCKED = Entity locked
|
|
106
|
+
#NOTR
|
|
56
107
|
UNIQUE_CONSTRAINT_VIOLATION = Unique constraint violation
|
|
108
|
+
#NOTR
|
|
57
109
|
FK_CONSTRAINT_VIOLATION = Foreign key constraint violation
|
|
58
110
|
|
|
59
111
|
# remote
|
|
112
|
+
|
|
113
|
+
#NOTR
|
|
60
114
|
INVALID_CONTENT_TYPE_ONLY_JSON = Invalid content type. Only "application/json" is supported.
|
|
61
115
|
|
|
62
116
|
# access control
|
|
117
|
+
|
|
118
|
+
#NOTR
|
|
63
119
|
INSERTABLE = insertable
|
|
120
|
+
#NOTR
|
|
64
121
|
READABLE = readable
|
|
122
|
+
#NOTR
|
|
65
123
|
UPDATABLE = updatable
|
|
124
|
+
#NOTR
|
|
66
125
|
DELETABLE = deletable
|
|
126
|
+
#NOTR
|
|
67
127
|
ENTITY_IS_INSERT_ONLY = Entity "{0}" is insert-only
|
|
128
|
+
#NOTR
|
|
68
129
|
ENTITY_IS_READ_ONLY = Entity "{0}" is read-only
|
|
130
|
+
#NOTR
|
|
69
131
|
ENTITY_IS_NOT_CRUD = Entity "{0}" is not {1}
|
|
132
|
+
#NOTR
|
|
70
133
|
ENTITY_IS_NOT_CRUD_VIA_NAVIGATION = Entity "{0}" is not {1} via navigation "{2}"
|
|
134
|
+
#NOTR
|
|
71
135
|
ENTITY_IS_AUTOEXPOSED = Entity "{0}" is not explicitly exposed as part of the service
|
|
136
|
+
#NOTR
|
|
72
137
|
ENTITY_IS_AUTOEXPOSE_READONLY = Entity "{0}" is explicitly exposed as readonly
|
|
138
|
+
#NOTR
|
|
73
139
|
EXPAND_IS_RESTRICTED = Navigation property "{0}" is not allowed for expand operation
|
|
74
140
|
|
|
75
141
|
# rest protocol adapter
|
|
142
|
+
|
|
143
|
+
#NOTR
|
|
76
144
|
INVALID_RESOURCE = "{0}" is not a valid resource
|
|
145
|
+
#NOTR
|
|
77
146
|
INVALID_PARAMETER = "{0}" is not a valid parameter
|
|
147
|
+
#NOTR
|
|
78
148
|
INVALID_PARAMETER_VALUE_TYPE = Parameter value for "{0}" must be of type "{1}"
|
|
149
|
+
#NOTR
|
|
79
150
|
INVALID_OPERATION_FOR_ENTITY = Entity "{0}" has no {1} "{2}"
|
|
151
|
+
#NOTR
|
|
80
152
|
NO_MATCHING_RESOURCE = The server has not found a resource matching the requested URI
|
|
153
|
+
#NOTR
|
|
81
154
|
INVALID_POST = POST is only allowed on resource collections and actions
|
|
155
|
+
#NOTR
|
|
82
156
|
INVALID_PUT = PUT is only allowed on a specific resource
|
|
157
|
+
#NOTR
|
|
83
158
|
INVALID_PATCH = PATCH is only allowed on a specific resource
|
|
159
|
+
#NOTR
|
|
84
160
|
INVALID_DELETE = DELETE is only supported on a specific resource
|
|
161
|
+
#NOTR
|
|
85
162
|
CRUD_VIA_NAVIGATION_NOT_SUPPORTED = CRUD via navigations is not yet supported
|
|
86
163
|
|
|
87
164
|
# OData protocol adapter
|
|
165
|
+
|
|
166
|
+
#NOTR
|
|
88
167
|
BATCH_TOO_MANY_REQ = Batch request contains too many requests
|
|
89
168
|
|
|
90
169
|
# draft
|
|
170
|
+
|
|
171
|
+
#NOTR
|
|
172
|
+
DRAFT_LOCKED_BY_ANOTHER_USER = The entity is locked by user "{0}"
|
|
173
|
+
#NOTR
|
|
91
174
|
DRAFT_ALREADY_EXISTS = A draft for this entity already exists
|
|
175
|
+
#NOTR
|
|
92
176
|
DRAFT_NOT_EXISTING = No draft for this entity exists
|
|
93
|
-
|
|
177
|
+
#NOTR
|
|
94
178
|
DRAFT_MODIFICATION_ONLY_VIA_ROOT = A draft-enabled entity can only be modified via its root entity
|
|
179
|
+
#NOTR
|
|
95
180
|
ACTIVE_MODIFICATION_VIA_DRAFT = Active entities cannot be modified via draft request
|
|
181
|
+
#NOTR
|
|
96
182
|
DRAFT_ACTIVE_DELETE_FORBIDDEN_DRAFT_EXISTS = Entity cannot be deleted because a draft exists
|
|
97
183
|
|
|
98
184
|
# singleton
|
|
185
|
+
|
|
186
|
+
#NOTR
|
|
99
187
|
SINGLETON_NOT_NULLABLE = The singleton entity is not nullable
|
|
100
188
|
|
|
101
189
|
# flows
|
|
190
|
+
|
|
102
191
|
#XMSG: Action "acceptTravel" requires "travelStatus" to be "Open".
|
|
103
192
|
INVALID_FLOW_TRANSITION_SINGLE=Action "{0}" requires "{1}" to be "{2}".
|
|
104
193
|
#XMSG: Action "cancelTravel" requires "travelStatus" to be one of the following values: Open,Accepted.
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
# Input Validation
|
|
2
|
+
|
|
3
|
+
#XMSG: Enter a value between 0 and 100. // Implementation still provides 3 values
|
|
4
|
+
ASSERT_RANGE=\u0623\u062F\u062E\u0644 \u0642\u064A\u0645\u0629 \u0628\u064A\u0646 {1} \u0648{2}.
|
|
5
|
+
#XMSG: Enter a valuematching the pattern /^abc/.
|
|
6
|
+
ASSERT_FORMAT=\u0623\u062F\u062E\u0644 \u0642\u064A\u0645\u0629 \u062A\u062A\u0637\u0627\u0628\u0642 \u0627\u0644\u0646\u0645\u0637 {1}.
|
|
7
|
+
#XMSG: Enter one of the allowed values: High,Medium,Low. // Implementation still provides 2 values
|
|
8
|
+
ASSERT_ENUM=\u0623\u062F\u062E\u0644 \u0642\u064A\u0645\u0629 \u0645\u0646 \u0627\u0644\u0642\u064A\u0645 \u0627\u0644\u0645\u0633\u0645\u0648\u062D \u0628\u0647\u0627: {1}.
|
|
9
|
+
#XMSG: Provide the missing value. // Error text displayed on a field, in case a mandatory value is not set.
|
|
10
|
+
ASSERT_MANDATORY=\u0642\u0645 \u0628\u062A\u0648\u0641\u064A\u0631 \u0627\u0644\u0642\u064A\u0645\u0629 \u0627\u0644\u0645\u0641\u0642\u0648\u062F\u0629.
|
|
11
|
+
#XMSG: Target with this key doesn't exist.
|
|
12
|
+
ASSERT_TARGET=\u0627\u0644\u0647\u062F\u0641 \u0628\u0647\u0630\u0627 \u0627\u0644\u0645\u0641\u062A\u0627\u062D \u063A\u064A\u0631 \u0645\u0648\u062C\u0648\u062F.
|
|
13
|
+
|
|
14
|
+
# Aggregating Error
|
|
15
|
+
|
|
16
|
+
#XMSG
|
|
17
|
+
MULTIPLE_ERRORS=\u062D\u062F\u062B\u062A \u0639\u062F\u0629 \u0623\u062E\u0637\u0627\u0621\u060C \u0627\u0646\u0638\u0631 \u0627\u0644\u062A\u0641\u0627\u0635\u064A\u0644 \u0623\u062F\u0646\u0627\u0647.
|
|
18
|
+
|
|
19
|
+
# Input format
|
|
20
|
+
|
|
21
|
+
#NOTR
|
|
22
|
+
ASSERT_VALID_ELEMENT=Element is not valid
|
|
23
|
+
#NOTR
|
|
24
|
+
ASSERT_DATA_TYPE=Value {0} is not a valid {1}
|
|
25
|
+
#NOTR
|
|
26
|
+
ASSERT_ARRAY=Value must be an array
|
|
27
|
+
|
|
28
|
+
# Status Codes
|
|
29
|
+
|
|
30
|
+
#NOTR
|
|
31
|
+
400=Bad Request
|
|
32
|
+
#NOTR
|
|
33
|
+
401=Unauthorized
|
|
34
|
+
#NOTR
|
|
35
|
+
403=Forbidden
|
|
36
|
+
#NOTR
|
|
37
|
+
404=Not Found
|
|
38
|
+
#NOTR
|
|
39
|
+
405=Method Not Allowed
|
|
40
|
+
#NOTR
|
|
41
|
+
406=Not Acceptable
|
|
42
|
+
#NOTR
|
|
43
|
+
407=Proxy Authentication Required
|
|
44
|
+
#NOTR
|
|
45
|
+
408=Request Timeout
|
|
46
|
+
#NOTR
|
|
47
|
+
409=Conflict
|
|
48
|
+
#NOTR
|
|
49
|
+
410=Gone
|
|
50
|
+
#NOTR
|
|
51
|
+
411=Length Required
|
|
52
|
+
#NOTR
|
|
53
|
+
412=Precondition Failed
|
|
54
|
+
#NOTR
|
|
55
|
+
413=Payload Too Large
|
|
56
|
+
#NOTR
|
|
57
|
+
414=URI Too Long
|
|
58
|
+
#NOTR
|
|
59
|
+
415=Unsupported Media Type
|
|
60
|
+
#NOTR
|
|
61
|
+
416=Range Not Satisfiable
|
|
62
|
+
#NOTR
|
|
63
|
+
417=Expectation Failed
|
|
64
|
+
#NOTR
|
|
65
|
+
422=Unprocessable Content
|
|
66
|
+
#NOTR
|
|
67
|
+
424=Failed Dependency
|
|
68
|
+
#NOTR
|
|
69
|
+
428=Precondition Required
|
|
70
|
+
#NOTR
|
|
71
|
+
429=Too Many Requests
|
|
72
|
+
#NOTR
|
|
73
|
+
431=Request Header Fields Too Large
|
|
74
|
+
#NOTR
|
|
75
|
+
451=Unavailable For Legal Reasons
|
|
76
|
+
#NOTR
|
|
77
|
+
500=Internal Server Error
|
|
78
|
+
#NOTR
|
|
79
|
+
501=The server does not support the functionality required to fulfill the request
|
|
80
|
+
#NOTR
|
|
81
|
+
502=Bad Gateway
|
|
82
|
+
#NOTR
|
|
83
|
+
503=Service Unavailable
|
|
84
|
+
#NOTR
|
|
85
|
+
504=Gateway Timeout
|
|
86
|
+
|
|
87
|
+
# fragments
|
|
88
|
+
|
|
89
|
+
#NOTR
|
|
90
|
+
ENTITY=entity
|
|
91
|
+
#NOTR
|
|
92
|
+
TYPE=type
|
|
93
|
+
#NOTR
|
|
94
|
+
FUNCTION=function
|
|
95
|
+
#NOTR
|
|
96
|
+
ACTION=action
|
|
97
|
+
|
|
98
|
+
# db
|
|
99
|
+
|
|
100
|
+
#NOTR
|
|
101
|
+
NO_DATABASE_CONNECTION=No database connection
|
|
102
|
+
#NOTR
|
|
103
|
+
ENTITY_ALREADY_EXISTS=Entity already exists
|
|
104
|
+
#NOTR
|
|
105
|
+
ENTITY_LOCKED=Entity locked
|
|
106
|
+
#NOTR
|
|
107
|
+
UNIQUE_CONSTRAINT_VIOLATION=Unique constraint violation
|
|
108
|
+
#NOTR
|
|
109
|
+
FK_CONSTRAINT_VIOLATION=Foreign key constraint violation
|
|
110
|
+
|
|
111
|
+
# remote
|
|
112
|
+
|
|
113
|
+
#NOTR
|
|
114
|
+
INVALID_CONTENT_TYPE_ONLY_JSON=Invalid content type. Only "application/json" is supported.
|
|
115
|
+
|
|
116
|
+
# access control
|
|
117
|
+
|
|
118
|
+
#NOTR
|
|
119
|
+
INSERTABLE=insertable
|
|
120
|
+
#NOTR
|
|
121
|
+
READABLE=readable
|
|
122
|
+
#NOTR
|
|
123
|
+
UPDATABLE=updatable
|
|
124
|
+
#NOTR
|
|
125
|
+
DELETABLE=deletable
|
|
126
|
+
#NOTR
|
|
127
|
+
ENTITY_IS_INSERT_ONLY=Entity "{0}" is insert-only
|
|
128
|
+
#NOTR
|
|
129
|
+
ENTITY_IS_READ_ONLY=Entity "{0}" is read-only
|
|
130
|
+
#NOTR
|
|
131
|
+
ENTITY_IS_NOT_CRUD=Entity "{0}" is not {1}
|
|
132
|
+
#NOTR
|
|
133
|
+
ENTITY_IS_NOT_CRUD_VIA_NAVIGATION=Entity "{0}" is not {1} via navigation "{2}"
|
|
134
|
+
#NOTR
|
|
135
|
+
ENTITY_IS_AUTOEXPOSED=Entity "{0}" is not explicitly exposed as part of the service
|
|
136
|
+
#NOTR
|
|
137
|
+
ENTITY_IS_AUTOEXPOSE_READONLY=Entity "{0}" is explicitly exposed as readonly
|
|
138
|
+
#NOTR
|
|
139
|
+
EXPAND_IS_RESTRICTED=Navigation property "{0}" is not allowed for expand operation
|
|
140
|
+
|
|
141
|
+
# rest protocol adapter
|
|
142
|
+
|
|
143
|
+
#NOTR
|
|
144
|
+
INVALID_RESOURCE="{0}" is not a valid resource
|
|
145
|
+
#NOTR
|
|
146
|
+
INVALID_PARAMETER="{0}" is not a valid parameter
|
|
147
|
+
#NOTR
|
|
148
|
+
INVALID_PARAMETER_VALUE_TYPE=Parameter value for "{0}" must be of type "{1}"
|
|
149
|
+
#NOTR
|
|
150
|
+
INVALID_OPERATION_FOR_ENTITY=Entity "{0}" has no {1} "{2}"
|
|
151
|
+
#NOTR
|
|
152
|
+
NO_MATCHING_RESOURCE=The server has not found a resource matching the requested URI
|
|
153
|
+
#NOTR
|
|
154
|
+
INVALID_POST=POST is only allowed on resource collections and actions
|
|
155
|
+
#NOTR
|
|
156
|
+
INVALID_PUT=PUT is only allowed on a specific resource
|
|
157
|
+
#NOTR
|
|
158
|
+
INVALID_PATCH=PATCH is only allowed on a specific resource
|
|
159
|
+
#NOTR
|
|
160
|
+
INVALID_DELETE=DELETE is only supported on a specific resource
|
|
161
|
+
#NOTR
|
|
162
|
+
CRUD_VIA_NAVIGATION_NOT_SUPPORTED=CRUD via navigations is not yet supported
|
|
163
|
+
|
|
164
|
+
# OData protocol adapter
|
|
165
|
+
|
|
166
|
+
#NOTR
|
|
167
|
+
BATCH_TOO_MANY_REQ=Batch request contains too many requests
|
|
168
|
+
|
|
169
|
+
# draft
|
|
170
|
+
|
|
171
|
+
#NOTR
|
|
172
|
+
DRAFT_LOCKED_BY_ANOTHER_USER=The entity is locked by user "{0}"
|
|
173
|
+
#NOTR
|
|
174
|
+
DRAFT_ALREADY_EXISTS=A draft for this entity already exists
|
|
175
|
+
#NOTR
|
|
176
|
+
DRAFT_NOT_EXISTING=No draft for this entity exists
|
|
177
|
+
#NOTR
|
|
178
|
+
DRAFT_MODIFICATION_ONLY_VIA_ROOT=A draft-enabled entity can only be modified via its root entity
|
|
179
|
+
#NOTR
|
|
180
|
+
ACTIVE_MODIFICATION_VIA_DRAFT=Active entities cannot be modified via draft request
|
|
181
|
+
#NOTR
|
|
182
|
+
DRAFT_ACTIVE_DELETE_FORBIDDEN_DRAFT_EXISTS=Entity cannot be deleted because a draft exists
|
|
183
|
+
|
|
184
|
+
# singleton
|
|
185
|
+
|
|
186
|
+
#NOTR
|
|
187
|
+
SINGLETON_NOT_NULLABLE=The singleton entity is not nullable
|
|
188
|
+
|
|
189
|
+
# flows
|
|
190
|
+
|
|
191
|
+
#XMSG: Action "acceptTravel" requires "travelStatus" to be "Open".
|
|
192
|
+
INVALID_FLOW_TRANSITION_SINGLE=\u0627\u0644\u0625\u062C\u0631\u0627\u0621 "{0}" \u064A\u062A\u0637\u0644\u0628 "{1}" \u0644\u064A\u0643\u0648\u0646 "{2}".
|
|
193
|
+
#XMSG: Action "cancelTravel" requires "travelStatus" to be one of the following values: Open,Accepted.
|
|
194
|
+
INVALID_FLOW_TRANSITION_MULTI=\u0627\u0644\u0625\u062C\u0631\u0627\u0621 "{0}" \u064A\u062A\u0637\u0644\u0628 "{1}" \u0644\u064A\u0643\u0648\u0646 \u0625\u062D\u062F\u0649 \u0627\u0644\u0642\u064A\u0645 \u0627\u0644\u062A\u0627\u0644\u064A\u0629: {2}.
|