@@ -52,7 +52,6 @@ export type Options = {
52
52
urlSegmentCharset ?: string ;
53
53
54
54
modelNameMapping ?: Record < string , string > ;
55
- prefix ?: string ;
56
55
} ;
57
56
58
57
type RelationshipInfo = {
@@ -239,14 +238,12 @@ class RequestHandler extends APIHandlerBase {
239
238
private urlPatternMap : Record < UrlPatterns , UrlPattern > ;
240
239
private modelNameMapping : Record < string , string > ;
241
240
private reverseModelNameMapping : Record < string , string > ;
242
- private prefix : string | undefined ;
243
241
244
242
constructor ( private readonly options : Options ) {
245
243
super ( ) ;
246
244
this . idDivider = options . idDivider ?? prismaIdDivider ;
247
245
const segmentCharset = options . urlSegmentCharset ?? 'a-zA-Z0-9-_~ %' ;
248
246
249
- this . prefix = options . prefix ;
250
247
this . modelNameMapping = options . modelNameMapping ?? { } ;
251
248
this . reverseModelNameMapping = Object . fromEntries (
252
249
Object . entries ( this . modelNameMapping ) . map ( ( [ k , v ] ) => [ v , k ] )
@@ -258,7 +255,7 @@ class RequestHandler extends APIHandlerBase {
258
255
const options = { segmentValueCharset : urlSegmentNameCharset } ;
259
256
260
257
const buildPath = ( segments : string [ ] ) => {
261
- return ( this . prefix ?? '' ) + '/' + segments . join ( '/' ) ;
258
+ return '/' + segments . join ( '/' ) ;
262
259
} ;
263
260
264
261
return {
@@ -285,7 +282,6 @@ class RequestHandler extends APIHandlerBase {
285
282
const match = pattern . match ( path ) ;
286
283
if ( match ) {
287
284
match . type = this . modelNameMapping [ match . type ] ?? match . type ;
288
- match . relationship = this . modelNameMapping [ match . relationship ] ?? match . relationship ;
289
285
}
290
286
return match ;
291
287
}
@@ -574,12 +570,11 @@ class RequestHandler extends APIHandlerBase {
574
570
575
571
if ( entity ?. [ relationship ] ) {
576
572
const mappedType = this . reverseModelNameMap ( type ) ;
577
- const mappedRelationship = this . reverseModelNameMap ( relationship ) ;
578
573
return {
579
574
status : 200 ,
580
575
body : await this . serializeItems ( relationInfo . type , entity [ relationship ] , {
581
576
linkers : {
582
- document : new Linker ( ( ) => this . makeLinkUrl ( `/${ mappedType } /${ resourceId } /${ mappedRelationship } ` ) ) ,
577
+ document : new Linker ( ( ) => this . makeLinkUrl ( `/${ mappedType } /${ resourceId } /${ relationship } ` ) ) ,
583
578
paginator,
584
579
} ,
585
580
include,
@@ -627,12 +622,11 @@ class RequestHandler extends APIHandlerBase {
627
622
628
623
const entity : any = await prisma [ type ] . findUnique ( args ) ;
629
624
const mappedType = this . reverseModelNameMap ( type ) ;
630
- const mappedRelationship = this . reverseModelNameMap ( relationship ) ;
631
625
632
626
if ( entity ?. _count ?. [ relationship ] !== undefined ) {
633
627
// build up paginator
634
628
const total = entity ?. _count ?. [ relationship ] as number ;
635
- const url = this . makeNormalizedUrl ( `/${ mappedType } /${ resourceId } /relationships/${ mappedRelationship } ` , query ) ;
629
+ const url = this . makeNormalizedUrl ( `/${ mappedType } /${ resourceId } /relationships/${ relationship } ` , query ) ;
636
630
const { offset, limit } = this . getPagination ( query ) ;
637
631
paginator = this . makePaginator ( url , offset , limit , total ) ;
638
632
}
@@ -641,7 +635,7 @@ class RequestHandler extends APIHandlerBase {
641
635
const serialized : any = await this . serializeItems ( relationInfo . type , entity [ relationship ] , {
642
636
linkers : {
643
637
document : new Linker ( ( ) =>
644
- this . makeLinkUrl ( `/${ mappedType } /${ resourceId } /relationships/${ mappedRelationship } ` )
638
+ this . makeLinkUrl ( `/${ mappedType } /${ resourceId } /relationships/${ relationship } ` )
645
639
) ,
646
640
paginator,
647
641
} ,
@@ -1057,11 +1051,12 @@ class RequestHandler extends APIHandlerBase {
1057
1051
const entity : any = await prisma [ type ] . update ( updateArgs ) ;
1058
1052
1059
1053
const mappedType = this . reverseModelNameMap ( type ) ;
1060
- const mappedRelationship = this . reverseModelNameMap ( relationship ) ;
1061
1054
1062
1055
const serialized : any = await this . serializeItems ( relationInfo . type , entity [ relationship ] , {
1063
1056
linkers : {
1064
- document : new Linker ( ( ) => this . makeLinkUrl ( `/${ mappedType } /${ resourceId } /relationships/${ mappedRelationship } ` ) ) ,
1057
+ document : new Linker ( ( ) =>
1058
+ this . makeLinkUrl ( `/${ mappedType } /${ resourceId } /relationships/${ relationship } ` )
1059
+ ) ,
1065
1060
} ,
1066
1061
onlyIdentifier : true ,
1067
1062
} ) ;
@@ -1197,7 +1192,7 @@ class RequestHandler extends APIHandlerBase {
1197
1192
}
1198
1193
1199
1194
private makeLinkUrl ( path : string ) {
1200
- return `${ this . options . endpoint } ${ this . prefix } ${ path } ` ;
1195
+ return `${ this . options . endpoint } ${ path } ` ;
1201
1196
}
1202
1197
1203
1198
private buildSerializers ( modelMeta : ModelMeta ) {
@@ -1260,7 +1255,6 @@ class RequestHandler extends APIHandlerBase {
1260
1255
const fieldIds = getIdFields ( modelMeta , fieldMeta . type ) ;
1261
1256
if ( fieldIds . length > 0 ) {
1262
1257
const mappedModel = this . reverseModelNameMap ( model ) ;
1263
- const mappedField = this . reverseModelNameMap ( field ) ;
1264
1258
1265
1259
const relator = new Relator (
1266
1260
async ( data ) => {
@@ -1272,7 +1266,7 @@ class RequestHandler extends APIHandlerBase {
1272
1266
linkers : {
1273
1267
related : new Linker ( ( primary ) =>
1274
1268
this . makeLinkUrl (
1275
- `/${ lowerCaseFirst ( mappedModel ) } /${ this . getId ( model , primary , modelMeta ) } /${ mappedField } `
1269
+ `/${ lowerCaseFirst ( model ) } /${ this . getId ( model , primary , modelMeta ) } /${ field } `
1276
1270
)
1277
1271
) ,
1278
1272
relationship : new Linker ( ( primary ) =>
@@ -1281,7 +1275,7 @@ class RequestHandler extends APIHandlerBase {
1281
1275
model ,
1282
1276
primary ,
1283
1277
modelMeta
1284
- ) } /relationships/${ mappedField } `
1278
+ ) } /relationships/${ field } `
1285
1279
)
1286
1280
) ,
1287
1281
} ,
0 commit comments