@@ -8,13 +8,33 @@ import { ImageEntity } from '../images/image.entity';
88import { MeetupEntity } from '../meetups/entities/meetup.entity' ;
99import { AgendaItemEntity } from '../meetups/entities/agenda-item.entity' ;
1010
11- function buildImage ( filename : string , user : UserEntity ) : ImageEntity {
12- const image = new ImageEntity ( ) ;
11+ type ImageFile = {
12+ data ?: Buffer ;
13+ size ?: number ;
14+ mimetype ?: string ;
15+ } ;
16+
17+ function readImageSync ( filename : string ) : ImageFile {
18+ const image : ImageFile = { } ;
1319 image . data = fs . readFileSync (
1420 path . join ( __dirname , '../../data/images' , filename ) ,
1521 ) ;
1622 image . size = image . data . length ;
1723 image . mimetype = filename . includes ( '.png' ) ? 'image/png' : 'image/jpeg' ;
24+ return image ;
25+ }
26+
27+ const IMAGES = {
28+ MSK_VUEJS_MEETUP : readImageSync ( 'msk-vuejs-meetup.jpeg' ) ,
29+ VUEJS_MOSCOW_MEETUP : readImageSync ( 'vuejs-moscow-meetup.jpeg' ) ,
30+ VUEJS_CONF_US : readImageSync ( 'vuejs-moscow-meetup.jpeg' ) ,
31+ } ;
32+
33+ function buildImage ( imageFile : ImageFile , user : UserEntity ) : ImageEntity {
34+ const image = new ImageEntity ( ) ;
35+ image . data = imageFile . data ;
36+ image . size = imageFile . size ;
37+ image . mimetype = imageFile . mimetype ;
1838 image . user = user ;
1939 return image ;
2040}
@@ -51,7 +71,7 @@ export function getDataToSeed(): AnyEntity[] {
5171 place : 'Москва, офис Voximplant (ул. Мытная 66)' ,
5272 } ) ;
5373 mskVueJsMeetup1 . organizer = userIgorSh ;
54- mskVueJsMeetup1 . image = buildImage ( 'msk-vuejs-meetup.jpeg' , userIgorSh ) ;
74+ mskVueJsMeetup1 . image = buildImage ( IMAGES . MSK_VUEJS_MEETUP , userIgorSh ) ;
5575
5676 mskVueJsMeetup1 . agenda . add (
5777 new AgendaItemEntity ( {
@@ -123,10 +143,7 @@ export function getDataToSeed(): AnyEntity[] {
123143 place : 'Москва, Физтехпарк, офис Acronis' ,
124144 } ) ;
125145 vueMoscowMeetup1 . organizer = userEugeneF ;
126- vueMoscowMeetup1 . image = buildImage (
127- './vuejs-moscow-meetup.jpeg' ,
128- userEugeneF ,
129- ) ;
146+ vueMoscowMeetup1 . image = buildImage ( IMAGES . VUEJS_MOSCOW_MEETUP , userEugeneF ) ;
130147
131148 vueMoscowMeetup1 . agenda . add (
132149 new AgendaItemEntity ( {
@@ -209,7 +226,7 @@ export function getDataToSeed(): AnyEntity[] {
209226 place : 'Москва, Офис компании Mail.Ru Group' ,
210227 } ) ;
211228 vueMoscowMeetup2 . organizer = userEugeneF ;
212- vueMoscowMeetup2 . image = buildImage ( 'vuejs-moscow-meetup.jpeg' , userEugeneF ) ;
229+ vueMoscowMeetup2 . image = buildImage ( IMAGES . VUEJS_MOSCOW_MEETUP , userEugeneF ) ;
213230
214231 vueMoscowMeetup2 . agenda . add (
215232 new AgendaItemEntity ( {
@@ -292,7 +309,7 @@ export function getDataToSeed(): AnyEntity[] {
292309 place : 'Москва, Офис компании Mail.Ru Group' ,
293310 } ) ;
294311 vueMoscowMeetup3 . organizer = userEugeneF ;
295- vueMoscowMeetup3 . image = buildImage ( '/vuejs-moscow-meetup.jpeg' , userEugeneF ) ;
312+ vueMoscowMeetup3 . image = buildImage ( IMAGES . VUEJS_MOSCOW_MEETUP , userEugeneF ) ;
296313
297314 vueMoscowMeetup3 . agenda . add (
298315 new AgendaItemEntity ( {
@@ -364,7 +381,7 @@ export function getDataToSeed(): AnyEntity[] {
364381 description : 'ATX. Code. Vue.\n' + 'https://vueconf.us/' ,
365382 } ) ;
366383 vueConfUs . organizer = userEvanYou ;
367- vueConfUs . image = buildImage ( './vue-conf-us.png' , userEvanYou ) ;
384+ vueConfUs . image = buildImage ( IMAGES . VUEJS_CONF_US , userEvanYou ) ;
368385
369386 vueConfUs . agenda . add (
370387 new AgendaItemEntity ( {
0 commit comments