File tree Expand file tree Collapse file tree 2 files changed +42
-10
lines changed
packages/schema/src/plugins/enhancer/policy Expand file tree Collapse file tree 2 files changed +42
-10
lines changed Original file line number Diff line number Diff line change 8
8
getAttributeArg ,
9
9
getAuthDecl ,
10
10
getDataModelAndTypeDefs ,
11
+ getDataModels ,
11
12
getEntityCheckerFunctionName ,
12
13
getIdFields ,
13
14
getLiteral ,
@@ -537,16 +538,19 @@ export function generateNormalizedAuthRef(
537
538
* Check if the given enum is referenced in the model
538
539
*/
539
540
export function isEnumReferenced ( model : Model , decl : Enum ) : unknown {
540
- return streamAllContents ( model ) . some ( ( node ) => {
541
- if ( isDataModelField ( node ) && node . type . reference ?. ref === decl ) {
542
- // referenced as field type
543
- return true ;
544
- }
545
- if ( isEnumFieldReference ( node ) && node . target . ref ?. $container === decl ) {
546
- // enum field is referenced
547
- return true ;
548
- }
549
- return false ;
541
+ const dataModels = getDataModels ( model ) ;
542
+ return dataModels . some ( ( dm ) => {
543
+ return streamAllContents ( dm ) . some ( ( node ) => {
544
+ if ( isDataModelField ( node ) && node . type . reference ?. ref === decl ) {
545
+ // referenced as field type
546
+ return true ;
547
+ }
548
+ if ( isEnumFieldReference ( node ) && node . target . ref ?. $container === decl ) {
549
+ // enum field is referenced
550
+ return true ;
551
+ }
552
+ return false ;
553
+ } ) ;
550
554
} ) ;
551
555
}
552
556
Original file line number Diff line number Diff line change
1
+ import { loadSchema } from '@zenstackhq/testtools' ;
2
+
3
+ describe ( 'issue 1835' , ( ) => {
4
+ it ( 'regression' , async ( ) => {
5
+ await loadSchema (
6
+ `
7
+ enum Enum {
8
+ SOME_VALUE
9
+ ANOTHER_VALUE
10
+ }
11
+
12
+ model Model {
13
+ id String @id @default(cuid())
14
+ value Enum
15
+ @@ignore
16
+ }
17
+
18
+ model AnotherModel {
19
+ id String @id @default(cuid())
20
+ }
21
+ ` ,
22
+ {
23
+ provider : 'postgresql' ,
24
+ pushDb : false ,
25
+ }
26
+ ) ;
27
+ } ) ;
28
+ } ) ;
You can’t perform that action at this time.
0 commit comments