@@ -16,6 +16,18 @@ import { serializeUpdateFileMetadataByIdRequestBodyOpField } from '../managers/f
1616import  {  deserializeUpdateFileMetadataByIdRequestBodyOpField  }  from  '../managers/fileMetadata.generated.js' ; 
1717import  {  serializeDeleteFileMetadataByIdScope  }  from  '../managers/fileMetadata.generated.js' ; 
1818import  {  deserializeDeleteFileMetadataByIdScope  }  from  '../managers/fileMetadata.generated.js' ; 
19+ import  {  serializeMetadataTemplate  }  from  '../schemas.generated.js' ; 
20+ import  {  deserializeMetadataTemplate  }  from  '../schemas.generated.js' ; 
21+ import  {  serializeCreateMetadataTemplateRequestBody  }  from  '../managers/metadataTemplates.generated.js' ; 
22+ import  {  deserializeCreateMetadataTemplateRequestBody  }  from  '../managers/metadataTemplates.generated.js' ; 
23+ import  {  serializeCreateMetadataTemplateRequestBodyFieldsField  }  from  '../managers/metadataTemplates.generated.js' ; 
24+ import  {  deserializeCreateMetadataTemplateRequestBodyFieldsField  }  from  '../managers/metadataTemplates.generated.js' ; 
25+ import  {  serializeCreateMetadataTemplateRequestBodyFieldsTypeField  }  from  '../managers/metadataTemplates.generated.js' ; 
26+ import  {  deserializeCreateMetadataTemplateRequestBodyFieldsTypeField  }  from  '../managers/metadataTemplates.generated.js' ; 
27+ import  {  serializeCreateMetadataTemplateRequestBodyFieldsOptionsField  }  from  '../managers/metadataTemplates.generated.js' ; 
28+ import  {  deserializeCreateMetadataTemplateRequestBodyFieldsOptionsField  }  from  '../managers/metadataTemplates.generated.js' ; 
29+ import  {  serializeDeleteMetadataTemplateScope  }  from  '../managers/metadataTemplates.generated.js' ; 
30+ import  {  deserializeDeleteMetadataTemplateScope  }  from  '../managers/metadataTemplates.generated.js' ; 
1931import  {  BoxClient  }  from  '../client.generated.js' ; 
2032import  {  FileFull  }  from  '../schemas.generated.js' ; 
2133import  {  Metadatas  }  from  '../schemas.generated.js' ; 
@@ -26,6 +38,12 @@ import { UpdateFileMetadataByIdScope } from '../managers/fileMetadata.generated.
2638import  {  UpdateFileMetadataByIdRequestBody  }  from  '../managers/fileMetadata.generated.js' ; 
2739import  {  UpdateFileMetadataByIdRequestBodyOpField  }  from  '../managers/fileMetadata.generated.js' ; 
2840import  {  DeleteFileMetadataByIdScope  }  from  '../managers/fileMetadata.generated.js' ; 
41+ import  {  MetadataTemplate  }  from  '../schemas.generated.js' ; 
42+ import  {  CreateMetadataTemplateRequestBody  }  from  '../managers/metadataTemplates.generated.js' ; 
43+ import  {  CreateMetadataTemplateRequestBodyFieldsField  }  from  '../managers/metadataTemplates.generated.js' ; 
44+ import  {  CreateMetadataTemplateRequestBodyFieldsTypeField  }  from  '../managers/metadataTemplates.generated.js' ; 
45+ import  {  CreateMetadataTemplateRequestBodyFieldsOptionsField  }  from  '../managers/metadataTemplates.generated.js' ; 
46+ import  {  DeleteMetadataTemplateScope  }  from  '../managers/metadataTemplates.generated.js' ; 
2947import  {  generateByteStream  }  from  '../internal/utils.js' ; 
3048import  {  getUuid  }  from  '../internal/utils.js' ; 
3149import  {  getDefaultClient  }  from  './commons.generated.js' ; 
@@ -40,7 +58,7 @@ import { sdIsString } from '../serialization/json.js';
4058import  {  sdIsList  }  from  '../serialization/json.js' ; 
4159import  {  sdIsMap  }  from  '../serialization/json.js' ; 
4260export  const  client : any  =  getDefaultClient ( ) ; 
43- test ( 'testFileMetadata ' ,  async  function  testFileMetadata ( ) : Promise < any >  { 
61+ test ( 'testGlobalFileMetadata ' ,  async  function  testGlobalFileMetadata ( ) : Promise < any >  { 
4462  const  file : any  =  await  uploadNewFile ( ) ; 
4563  const  fileMetadata : any  =  await  client . fileMetadata . getFileMetadata ( file . id ) ; 
4664  if  ( ! ( fileMetadata . entries ! . length  ==  0 ) )  { 
@@ -105,4 +123,103 @@ test('testFileMetadata', async function testFileMetadata(): Promise<any> {
105123  } ) . rejects . toThrow ( ) ; 
106124  await  client . files . deleteFileById ( file . id ) ; 
107125} ) ; 
126+ test ( 'testEnterpriseFileMetadata' ,  async  function  testEnterpriseFileMetadata ( ) : Promise < any >  { 
127+   const  file : any  =  await  uploadNewFile ( ) ; 
128+   const  templateKey : any  =  '' . concat ( 'key' ,  getUuid ( ) )  as  string ; 
129+   const  template : any  =  await  client . metadataTemplates . createMetadataTemplate ( { 
130+     scope : 'enterprise' , 
131+     displayName : templateKey , 
132+     templateKey : templateKey , 
133+     fields : [ 
134+       { 
135+         type : 'string'  as  CreateMetadataTemplateRequestBodyFieldsTypeField , 
136+         key : 'name' , 
137+         displayName : 'name' , 
138+       }  satisfies  CreateMetadataTemplateRequestBodyFieldsField , 
139+       { 
140+         type : 'float'  as  CreateMetadataTemplateRequestBodyFieldsTypeField , 
141+         key : 'age' , 
142+         displayName : 'age' , 
143+       }  satisfies  CreateMetadataTemplateRequestBodyFieldsField , 
144+       { 
145+         type : 'date'  as  CreateMetadataTemplateRequestBodyFieldsTypeField , 
146+         key : 'birthDate' , 
147+         displayName : 'birthDate' , 
148+       }  satisfies  CreateMetadataTemplateRequestBodyFieldsField , 
149+       { 
150+         type : 'enum'  as  CreateMetadataTemplateRequestBodyFieldsTypeField , 
151+         key : 'countryCode' , 
152+         displayName : 'countryCode' , 
153+         options : [ 
154+           { 
155+             key : 'US' , 
156+           }  satisfies  CreateMetadataTemplateRequestBodyFieldsOptionsField , 
157+           { 
158+             key : 'CA' , 
159+           }  satisfies  CreateMetadataTemplateRequestBodyFieldsOptionsField , 
160+         ] , 
161+       }  satisfies  CreateMetadataTemplateRequestBodyFieldsField , 
162+       { 
163+         type : 'multiSelect'  as  CreateMetadataTemplateRequestBodyFieldsTypeField , 
164+         key : 'sports' , 
165+         displayName : 'sports' , 
166+         options : [ 
167+           { 
168+             key : 'basketball' , 
169+           }  satisfies  CreateMetadataTemplateRequestBodyFieldsOptionsField , 
170+           { 
171+             key : 'football' , 
172+           }  satisfies  CreateMetadataTemplateRequestBodyFieldsOptionsField , 
173+           { 
174+             key : 'tennis' , 
175+           }  satisfies  CreateMetadataTemplateRequestBodyFieldsOptionsField , 
176+         ] , 
177+       }  satisfies  CreateMetadataTemplateRequestBodyFieldsField , 
178+     ] , 
179+   }  satisfies  CreateMetadataTemplateRequestBody ) ; 
180+   const  createdMetadata : any  =  await  client . fileMetadata . createFileMetadataById ( 
181+     file . id , 
182+     'enterprise'  as  CreateFileMetadataByIdScope , 
183+     templateKey , 
184+     { 
185+       [ 'name' ] : 'John' , 
186+       [ 'age' ] : 23 , 
187+       [ 'birthDate' ] : '2001-01-03T02:20:50.520Z' , 
188+       [ 'countryCode' ] : 'US' , 
189+       [ 'sports' ] : [ 'basketball' ,  'tennis' ] , 
190+     } 
191+   ) ; 
192+   if  ( ! ( ( toString ( createdMetadata . template )  as  string )  ==  templateKey ) )  { 
193+     throw  new  Error ( 'Assertion failed' ) ; 
194+   } 
195+   if  ( ! ( createdMetadata . extraData ! . name  ==  'John' ) )  { 
196+     throw  new  Error ( 'Assertion failed' ) ; 
197+   } 
198+   if  ( ! ( createdMetadata . extraData ! . age  ==  23 ) )  { 
199+     throw  new  Error ( 'Assertion failed' ) ; 
200+   } 
201+   if  ( ! ( createdMetadata . extraData ! . birthDate  ==  '2001-01-03T02:20:50.520Z' ) )  { 
202+     throw  new  Error ( 'Assertion failed' ) ; 
203+   } 
204+   if  ( ! ( createdMetadata . extraData ! . countryCode  ==  'US' ) )  { 
205+     throw  new  Error ( 'Assertion failed' ) ; 
206+   } 
207+   const  sports : any  =  createdMetadata . extraData ! . sports ; 
208+   if  ( ! ( sports [ 0 ]  ==  'basketball' ) )  { 
209+     throw  new  Error ( 'Assertion failed' ) ; 
210+   } 
211+   if  ( ! ( sports [ 1 ]  ==  'tennis' ) )  { 
212+     throw  new  Error ( 'Assertion failed' ) ; 
213+   } 
214+   await  client . fileMetadata . deleteFileMetadataById ( 
215+     file . id , 
216+     'enterprise'  as  DeleteFileMetadataByIdScope , 
217+     templateKey 
218+   ) ; 
219+   await  client . metadataTemplates . deleteMetadataTemplate ( 
220+     'enterprise'  as  DeleteMetadataTemplateScope , 
221+     templateKey 
222+   ) ; 
223+   await  client . files . deleteFileById ( file . id ) ; 
224+ } ) ; 
108225export  { } ; 
0 commit comments