-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathapi_v1.php
More file actions
2400 lines (2027 loc) · 153 KB
/
api_v1.php
File metadata and controls
2400 lines (2027 loc) · 153 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
<?php
/*
|--------------------------------------------------------------------------
| Application Routes
|--------------------------------------------------------------------------
|
| Here is where you can register all of the routes for an application.
| It's a breeze. Simply tell Laravel the URIs it should respond to
| and give it the controller to call when that URI is requested.
|
*/
use Illuminate\Support\Facades\Config;
use Illuminate\Support\Facades\Route;
use libs\utils\CacheRegions;
//OAuth2 Protected API
// audit log
Route::group(['prefix' => 'audit-logs'], function () {
Route::get('', ['middleware' => 'auth.user', 'uses' => 'OAuth2AuditLogController@getAll']);
});
// members
Route::group(['prefix' => 'members'], function () {
Route::get('', 'OAuth2MembersApiController@getAll');
Route::group(['prefix' => 'me'], function () {
// get my member info
Route::get('', 'OAuth2MembersApiController@getMyMember');
Route::put('', 'OAuth2MembersApiController@updateMyMember');
// my affiliations
Route::group(['prefix' => 'affiliations'], function () {
Route::get('', ['uses' => 'OAuth2MembersApiController@getMyMemberAffiliations']);
Route::post('', ['uses' => 'OAuth2MembersApiController@addMyAffiliation']);
Route::group(['prefix' => '{affiliation_id}'], function () {
Route::put('', ['uses' => 'OAuth2MembersApiController@updateMyAffiliation']);
Route::delete('', ['uses' => 'OAuth2MembersApiController@deleteMyAffiliation']);
});
});
Route::group(['prefix' => 'membership'], function () {
Route::put('foundation', ['uses' => 'OAuth2MembersApiController@signFoundationMembership']);
Route::put('community', ['uses' => 'OAuth2MembersApiController@signCommunityMembership']);
Route::put('individual', ['uses' => 'OAuth2MembersApiController@signIndividualMembership']);
Route::delete('resign', ['uses' => 'OAuth2MembersApiController@resignMembership']);
});
});
Route::group(['prefix' => '{member_id}'], function () {
Route::group(['prefix' => 'affiliations'], function () {
Route::get('', ['middleware' => 'auth.user', 'uses' => 'OAuth2MembersApiController@getMemberAffiliations']);
Route::post('', ['middleware' => 'auth.user', 'uses' => 'OAuth2MembersApiController@addAffiliation']);
Route::group(['prefix' => '{affiliation_id}'], function () {
Route::put('', ['middleware' => 'auth.user', 'uses' => 'OAuth2MembersApiController@updateAffiliation']);
Route::delete('', ['middleware' => 'auth.user', 'uses' => 'OAuth2MembersApiController@deleteAffiliation']);
});
});
Route::group(array('prefix' => 'rsvp'), function () {
Route::group(['prefix' => '{rsvp_id}'], function () {
Route::delete('', ['middleware' => 'auth.user', 'uses' => 'OAuth2MembersApiController@deleteRSVP']);
});
});
});
});
// tags
Route::group(['prefix' => 'tags'], function () {
Route::get('', 'OAuth2TagsApiController@getAll');
Route::post('', ['middleware' => 'auth.user', 'uses' => 'OAuth2TagsApiController@addTag']);
Route::group(['prefix' => '{id}'], function () {
Route::get('', 'OAuth2TagsApiController@getTag');
Route::put('', ['middleware' => 'auth.user', 'uses' => 'OAuth2TagsApiController@updateTag']);
Route::delete('', ['middleware' => 'auth.user', 'uses' => 'OAuth2TagsApiController@deleteTag']);
});
});
// companies
Route::group(['prefix' => 'companies'], function () {
Route::get('', 'OAuth2CompaniesApiController@getAllCompanies');
Route::post('', ['middleware' => 'auth.user', 'uses' => 'OAuth2CompaniesApiController@add']);
Route::group(['prefix' => '{id}'], function () {
Route::get('', ['uses' => 'OAuth2CompaniesApiController@get']);
Route::put('', ['middleware' => 'auth.user', 'uses' => 'OAuth2CompaniesApiController@update']);
Route::delete('', ['middleware' => 'auth.user', 'uses' => 'OAuth2CompaniesApiController@delete']);
Route::group(['prefix' => 'logo'], function () {
Route::post('', ['middleware' => 'auth.user', 'uses' => 'OAuth2CompaniesApiController@addCompanyLogo']);
Route::delete('', ['middleware' => 'auth.user', 'uses' => 'OAuth2CompaniesApiController@deleteCompanyLogo']);
Route::group(['prefix' => 'big'], function () {
Route::post('', ['middleware' => 'auth.user', 'uses' => 'OAuth2CompaniesApiController@addCompanyBigLogo']);
Route::delete('', ['middleware' => 'auth.user', 'uses' => 'OAuth2CompaniesApiController@deleteCompanyBigLogo']);
});
});
});
});
// sponsored projects
Route::group(['prefix' => 'sponsored-projects'], function () {
Route::get('', 'OAuth2SponsoredProjectApiController@getAll');
Route::post('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SponsoredProjectApiController@add']);
Route::group(['prefix' => '{id}'], function () {
Route::get('', ['uses' => 'OAuth2SponsoredProjectApiController@get']);
Route::put('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SponsoredProjectApiController@update']);
Route::delete('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SponsoredProjectApiController@delete']);
Route::group(['prefix' => 'sponsorship-types'], function () {
Route::get('', 'OAuth2SponsoredProjectApiController@getAllSponsorshipTypes');
Route::post('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SponsoredProjectApiController@addSponsorshipType']);
Route::group(['prefix' => '{sponsorship_type_id}'], function () {
Route::get('', ['uses' => 'OAuth2SponsoredProjectApiController@getSponsorshipType']);
Route::put('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SponsoredProjectApiController@updateSponsorshipType']);
Route::delete('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SponsoredProjectApiController@deleteSponsorshipType']);
Route::group(['prefix' => 'supporting-companies'], function () {
Route::get('', ['uses' => 'OAuth2SponsoredProjectApiController@getSupportingCompanies']);
Route::post('', ['uses' => 'OAuth2SponsoredProjectApiController@addSupportingCompanies']);
Route::group(['prefix' => '{company_id}'], function () {
Route::get('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SponsoredProjectApiController@getSupportingCompany']);
Route::put('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SponsoredProjectApiController@updateSupportingCompanies']);
Route::delete('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SponsoredProjectApiController@deleteSupportingCompanies']);
});
});
});
});
Route::group(['prefix' => 'logo'], function () {
Route::post('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SponsoredProjectApiController@addSponsoredProjectLogo']);
Route::delete('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SponsoredProjectApiController@deleteSponsoredProjectLogo']);
});
Route::group(['prefix' => 'subprojects'], function () {
Route::get('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SponsoredProjectApiController@getSubprojects']);
});
});
});
// organizations
Route::group(['prefix' => 'organizations'], function () {
Route::get('', 'OAuth2OrganizationsApiController@getAll');
Route::post('', 'OAuth2OrganizationsApiController@add');
});
// groups
Route::group(['prefix' => 'groups'], function () {
Route::get('', 'OAuth2GroupsApiController@getAll');
});
// summit-media-file-types
Route::group(['prefix' => 'summit-media-file-types'], function () {
Route::get('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitMediaFileTypeApiController@getAll']);
Route::post('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitMediaFileTypeApiController@add']);
Route::group(['prefix' => '{id}'], function () {
Route::get('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitMediaFileTypeApiController@get']);
Route::put('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitMediaFileTypeApiController@update']);
Route::delete('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitMediaFileTypeApiController@delete']);
});
});
// summits
Route::group(array('prefix' => 'summits'), function () {
Route::get('', ['uses' => 'OAuth2SummitApiController@getSummits']);
Route::group(['prefix' => 'all'], function () {
Route::get('', 'OAuth2SummitApiController@getAllSummits');
Route::group(['prefix' => '{id}'], function () {
Route::get('', 'OAuth2SummitApiController@getAllSummitByIdOrSlug');
Route::group(['prefix' => 'registration-stats'], function () {
Route::get('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitApiController@getAllSummitByIdOrSlugRegistrationStats']);
Route::get('check-ins', ['middleware' => 'auth.user', 'uses' =>'OAuth2SummitApiController@getAttendeesCheckinsOverTimeStats']);
Route::get('purchased-tickets', ['middleware' => 'auth.user', 'uses' =>'OAuth2SummitApiController@getPurchasedTicketsOverTimeStats']);
});
});
Route::group(['prefix' => 'locations'], function () {
// GET /api/v1/summits/all/locations/bookable-rooms/all/reservations/{id}
Route::get('bookable-rooms/all/reservations/{id}', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitLocationsApiController@getReservationById']);
});
Route::group(['prefix' => 'registration-invitations'], function () {
Route::group(['prefix' => '{token}'], function () {
Route::get('', ['uses' => 'OAuth2SummitRegistrationInvitationApiController@getInvitationByToken']);
});
});
Route::group(['prefix' => 'orders'], function () {
Route::get('me', 'OAuth2SummitOrdersApiController@getAllMyOrders');
Route::group(['prefix' => 'all'], function () {
Route::group(['prefix' => 'tickets'], function () {
Route::group(['prefix' => '{ticket_id}'], function () {
Route::put('', 'OAuth2SummitOrdersApiController@updateMyTicketById');
Route::get('pdf', 'OAuth2SummitOrdersApiController@getMyTicketPDFById');
});
Route::group(['prefix' => 'me'], function () {
Route::get('', 'OAuth2SummitTicketApiController@getAllMyTickets');
});
});
});
Route::group(['prefix' => '{order_id}'], function () {
Route::group(['prefix' => 'refund'], function () {
Route::delete('', 'OAuth2SummitOrdersApiController@requestRefundMyOrder');
});
Route::put('resend', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitOrdersApiController@reSendOrderEmail']);
Route::get('', 'OAuth2SummitOrdersApiController@getMyOrderById');
Route::put('', 'OAuth2SummitOrdersApiController@updateMyOrder');
Route::group(['prefix' => 'tickets'], function () {
Route::get('', 'OAuth2SummitOrdersApiController@getMyTicketsByOrderId');
Route::group(['prefix' => '{ticket_id}'], function () {
Route::get('', 'OAuth2SummitOrdersApiController@getMyTicketById');
Route::get('pdf', 'OAuth2SummitOrdersApiController@getTicketPDFByOrderId');
Route::group(['prefix' => 'refund'], function () {
Route::delete('', 'OAuth2SummitOrdersApiController@requestRefundMyTicket');
Route::delete('cancel', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitOrdersApiController@cancelRefundRequestTicket']);
});
Route::group(['prefix' => 'attendee'], function () {
Route::put('', 'OAuth2SummitOrdersApiController@assignAttendee');
Route::put('reinvite', 'OAuth2SummitOrdersApiController@reInviteAttendee');
Route::delete('', 'OAuth2SummitOrdersApiController@removeAttendee');
});
});
});
});
});
});
Route::post('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitApiController@addSummit']);
Route::group(['prefix' => '{id}'], function () {
Route::group(['prefix' => 'signs'], function () {
Route::get('', 'OAuth2SummitSignApiController@getAllBySummit');
Route::post('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitSignApiController@add']);
Route::group(['prefix' => '{sign_id}'], function () {
Route::get('', 'OAuth2SummitSignApiController@get');
Route::put('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitSignApiController@update']);
});
});
Route::group(['prefix' => 'metrics'], function () {
Route::put('enter', 'OAuth2SummitMetricsApiController@enter');
Route::post('leave', 'OAuth2SummitMetricsApiController@leave');
// on site
Route::group(['prefix' => 'onsite'], function () {
Route::get('enter', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitMetricsApiController@checkOnSiteEnter']);
Route::put('enter', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitMetricsApiController@onSiteEnter']);
Route::post('leave', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitMetricsApiController@onSiteLeave']);
});
});
Route::put('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitApiController@updateSummit']);
Route::group(['prefix' => 'logo'], function () {
Route::post('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitApiController@addSummitLogo']);
Route::delete('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitApiController@deleteSummitLogo']);
Route::post('secondary', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitApiController@addSummitSecondaryLogo']);
Route::delete('secondary', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitApiController@deleteSummitSecondaryLogo']);
});
Route::delete('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitApiController@deleteSummit']);
Route::get('', ['middleware' =>
sprintf('cache:%s,%s,id',
Config::get('cache_api_response.get_summit_response_lifetime', 1200),
CacheRegions::CacheRegionSummits,
),
'uses' => 'OAuth2SummitApiController@getSummit'])->where('id', 'current|[0-9]+');
// selection plan extra questions ( by summit )
Route::group(['prefix' => 'selection-plan-extra-questions'], function () {
Route::post('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitSelectionPlansApiController@addExtraQuestion']);
Route::get('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitSelectionPlansApiController@getExtraQuestions']);
Route::get('metadata', ['uses' => 'OAuth2SummitSelectionPlansApiController@getExtraQuestionsMetadata']);
Route::group(['prefix' => '{question_id}'], function () {
Route::delete('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitSelectionPlansApiController@deleteExtraQuestion']);
Route::put('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitSelectionPlansApiController@updateExtraQuestion']);
Route::get('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitSelectionPlansApiController@getExtraQuestion']);
Route::group(['prefix' => 'values'], function () {
Route::post('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitSelectionPlansApiController@addExtraQuestionValue']);
Route::group(['prefix' => '{value_id}'], function () {
Route::put('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitSelectionPlansApiController@updateExtraQuestionValue']);
Route::delete('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitSelectionPlansApiController@deleteExtraQuestionValue']);
});
});
});
});
// selection plans
Route::group(['prefix' => 'selection-plans'], function () {
Route::get('', ['uses' => 'OAuth2SummitSelectionPlansApiController@getAll']);
Route::get('me', 'OAuth2SummitSelectionPlansApiController@getMySelectionPlans');
Route::post('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitSelectionPlansApiController@addSelectionPlan']);
Route::group(['prefix' => '{selection_plan_id}'], function () {
Route::put('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitSelectionPlansApiController@updateSelectionPlan']);
Route::get('', ['uses' => 'OAuth2SummitSelectionPlansApiController@getSelectionPlan']);
Route::delete('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitSelectionPlansApiController@deleteSelectionPlan']);
Route::group(['prefix' => 'track-groups'], function () {
Route::put('{track_group_id}', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitSelectionPlansApiController@addTrackGroupToSelectionPlan']);
Route::delete('{track_group_id}', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitSelectionPlansApiController@deleteTrackGroupToSelectionPlan']);
});
// extra questions ( by selection plan)
Route::group(['prefix' => 'extra-questions'], function () {
Route::get('', ['uses' => 'OAuth2SummitSelectionPlansApiController@getExtraQuestionsBySelectionPlan']);
Route::post('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitSelectionPlansApiController@addExtraQuestionAndAssign']);
Route::get('metadata', ['uses' => 'OAuth2SummitSelectionPlansApiController@getExtraQuestionsMetadataBySelectionPlan']);
Route::group(['prefix' => '{question_id}'], function () {
Route::get('', ['uses' => 'OAuth2SummitSelectionPlansApiController@getExtraQuestionBySelectionPlan']);
Route::put('', ['uses' => 'OAuth2SummitSelectionPlansApiController@updateExtraQuestionBySelectionPlan']);
Route::post('', ['uses' => 'OAuth2SummitSelectionPlansApiController@assignExtraQuestion']);
// un-assign question from selection plan
Route::delete('', ['uses' => 'OAuth2SummitSelectionPlansApiController@removeExtraQuestion']);
Route::group(['prefix' => 'values'], function () {
Route::post('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitSelectionPlansApiController@addExtraQuestionValueBySelectionPlan']);
Route::group(['prefix' => '{value_id}'], function () {
Route::put('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitSelectionPlansApiController@updateExtraQuestionValueBySelectionPlan']);
Route::delete('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitSelectionPlansApiController@deleteExtraQuestionValueBySelectionPlan']);
});
});
});
});
// event types
Route::group(['prefix' => 'event-types'], function () {
Route::group(['prefix' => '{event_type_id}'], function () {
Route::put('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitSelectionPlansApiController@attachEventType']);
Route::delete('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitSelectionPlansApiController@detachEventType']);
});
});
// allowed members
Route::group(['prefix' => 'allowed-members'], function () {
Route::get('', ['uses' => 'OAuth2SummitSelectionPlansApiController@getAllowedMembers']);
Route::post('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitSelectionPlansApiController@addAllowedMember']);
Route::group(['prefix' => '{allowed_member_id}'], function () {
Route::delete('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitSelectionPlansApiController@removeAllowedMember']);
});
Route::post('csv', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitSelectionPlansApiController@importAllowedMembers']);
});
// presentations
Route::group(['prefix' => 'presentations'], function () {
Route::get('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitSelectionPlansApiController@getSelectionPlanPresentations']);
Route::get('csv', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitSelectionPlansApiController@getSelectionPlanPresentationsCSV']);
Route::group(['prefix' => 'all'], function () {
// category-change-requests
Route::group(['prefix' => 'category-change-requests'], function () {
Route::get('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitSelectionPlansApiController@getAllPresentationCategoryChangeRequest']);
});
});
Route::group(['prefix' => '{presentation_id}'], function () {
Route::get('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitSelectionPlansApiController@getSelectionPlanPresentation']);
Route::put('view', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitSelectionPlansApiController@markPresentationAsViewed']);
Route::group(['prefix' => 'comments'], function () {
Route::post('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitSelectionPlansApiController@addCommentToPresentation']);
});
// category-change-requests
Route::group(['prefix' => 'category-change-requests'], function () {
Route::post('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitSelectionPlansApiController@createPresentationCategoryChangeRequest']);
Route::group(['prefix' => '{category_change_request_id}'], function () {
Route::put('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitSelectionPlansApiController@resolvePresentationCategoryChangeRequest']);
});
});
// presentation actions
Route::group(['prefix' => 'actions'], function () {
Route::group(['prefix' => '{action_type_id}'], function () {
Route::put('complete', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitPresentationActionApiController@complete']);
Route::delete('incomplete', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitPresentationActionApiController@uncomplete']);
});
});
// track chair rating
Route::group(['prefix' => 'track-chair-scores'], function () {
Route::post('{score_type_id}', ['middleware' => 'auth.user', 'uses' => 'OAuth2PresentationApiController@addTrackChairScore']);
Route::delete('{score_type_id}', ['middleware' => 'auth.user', 'uses' => 'OAuth2PresentationApiController@removeTrackChairScore']);
});
});
});
// allowed presentation action types
Route::group(['prefix' => 'allowed-presentation-action-types'], function () {
Route::get('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitSelectionPlansApiController@getAllowedPresentationActionTypes']);
Route::group(['prefix' => '{type_id}'], function () {
Route::get('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitSelectionPlansApiController@getAllowedPresentationActionType']);
Route::post('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitSelectionPlansApiController@addAllowedPresentationActionType']);
Route::put('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitSelectionPlansApiController@updateAllowedPresentationActionType']);
Route::delete('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitSelectionPlansApiController@removeAllowedPresentationActionType']);
});
});
// selection lists ( track chairs )
Route::group(['prefix' => 'tracks'], function () {
Route::group(['prefix' => '{track_id}'], function () {
Route::group(['prefix' => 'selection-lists'], function () {
Route::group(['prefix' => 'team'], function () {
Route::get('', [
'middleware' => 'auth.user',
'uses' => 'OAuth2SummitSelectedPresentationListApiController@getTeamSelectionList'
]);
Route::post('', [
'middleware' => 'auth.user',
'uses' => 'OAuth2SummitSelectedPresentationListApiController@createTeamSelectionList'
]);
});
Route::group(['prefix' => 'individual'], function () {
Route::group(['prefix' => 'owner'], function () {
Route::group(['prefix' => 'me'], function () {
Route::post('', [
'middleware' => 'auth.user',
'uses' => 'OAuth2SummitSelectedPresentationListApiController@createIndividualSelectionList'
]);
});
Route::group(['prefix' => '{owner_id}'], function () {
Route::get('', [
'middleware' => 'auth.user',
'uses' => 'OAuth2SummitSelectedPresentationListApiController@getIndividualSelectionList'
]);
});
});
});
Route::group(['prefix' => 'individual'], function () {
Route::group(['prefix' => 'presentation-selections'], function () {
Route::group(['prefix' => '{collection}'], function () {
Route::group(['prefix' => 'presentations'], function () {
Route::group(['prefix' => '{presentation_id}'], function () {
Route::post('', [
'middleware' => 'auth.user',
'uses' => 'OAuth2SummitSelectedPresentationListApiController@assignPresentationToMyIndividualList'
]);
Route::delete('', [
'middleware' => 'auth.user',
'uses' => 'OAuth2SummitSelectedPresentationListApiController@removePresentationFromMyIndividualList'
]);
});
});
});
});
});
Route::group(['prefix' => '{list_id}'], function () {
Route::put('reorder', [
'middleware' => 'auth.user',
'uses' => 'OAuth2SummitSelectedPresentationListApiController@reorderSelectionList'
]);
});
});
});
});
// track chair rating types and score types crud
Route::group(['prefix' => 'track-chair-rating-types'], function () {
Route::get('', ['uses' => 'OAuth2SummitTrackChairRatingTypesApiController@getTrackChairRatingTypes']);
Route::post('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitTrackChairRatingTypesApiController@addTrackChairRatingType']);
Route::group(['prefix' => '{type_id}'], function () {
Route::get('', ['uses' => 'OAuth2SummitTrackChairRatingTypesApiController@getTrackChairRatingType']);
Route::put('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitTrackChairRatingTypesApiController@updateTrackChairRatingType']);
Route::delete('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitTrackChairRatingTypesApiController@deleteTrackChairRatingType']);
Route::group(['prefix' => 'score-types'], function () {
Route::get('', ['uses' => 'OAuth2SummitTrackChairScoreTypesApiController@getTrackChairScoreTypes']);
Route::post('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitTrackChairScoreTypesApiController@addTrackChairScoreType']);
Route::group(['prefix' => '{score_type_id}'], function () {
Route::get('', ['uses' => 'OAuth2SummitTrackChairScoreTypesApiController@getTrackChairScoreType']);
Route::put('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitTrackChairScoreTypesApiController@updateTrackChairScoreType']);
Route::delete('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitTrackChairScoreTypesApiController@deleteTrackChairScoreType']);
});
});
});
});
});
});
// RSVP templates
Route::group(['prefix' => 'rsvp-templates'], function () {
Route::get('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitRSVPTemplatesApiController@getAllBySummit']);
Route::group(['prefix' => 'questions'], function () {
Route::get('metadata', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitRSVPTemplatesApiController@getRSVPTemplateQuestionsMetadata']);
});
Route::post('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitRSVPTemplatesApiController@addRSVPTemplate']);
Route::group(['prefix' => '{template_id}'], function () {
Route::get('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitRSVPTemplatesApiController@getRSVPTemplate']);
Route::put('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitRSVPTemplatesApiController@updateRSVPTemplate']);
Route::delete('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitRSVPTemplatesApiController@deleteRSVPTemplate']);
Route::group(['prefix' => 'questions'], function () {
Route::post('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitRSVPTemplatesApiController@addRSVPTemplateQuestion']);
Route::group(['prefix' => '{question_id}'], function () {
Route::put('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitRSVPTemplatesApiController@updateRSVPTemplateQuestion']);
Route::get('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitRSVPTemplatesApiController@getRSVPTemplateQuestion']);
Route::delete('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitRSVPTemplatesApiController@deleteRSVPTemplateQuestion']);
// multi values questions
Route::group(['prefix' => 'values'], function () {
Route::post('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitRSVPTemplatesApiController@addRSVPTemplateQuestionValue']);
Route::group(['prefix' => '{value_id}'], function () {
Route::get('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitRSVPTemplatesApiController@getRSVPTemplateQuestionValue']);
Route::put('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitRSVPTemplatesApiController@updateRSVPTemplateQuestionValue']);
Route::delete('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitRSVPTemplatesApiController@deleteRSVPTemplateQuestionValue']);
});
});
});
});
});
});
// notifications
Route::group(['prefix' => 'notifications'], function () {
Route::get('sent', 'OAuth2SummitNotificationsApiController@getAllApprovedByUser');
Route::get('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitNotificationsApiController@getAll']);
Route::get('csv', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitNotificationsApiController@getAllCSV']);
Route::post('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitNotificationsApiController@addPushNotification']);
Route::group(['prefix' => '{notification_id}'], function () {
Route::get('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitNotificationsApiController@getById']);
Route::put('approve', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitNotificationsApiController@approveNotification']);
Route::delete('approve', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitNotificationsApiController@unApproveNotification']);
Route::delete('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitNotificationsApiController@deleteNotification']);
});
});
// submitters
Route::group(['prefix' => 'submitters'], function () {
Route::get('', 'OAuth2SummitSubmittersApiController@getAllBySummit');
Route::get('csv', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitSubmittersApiController@getAllBySummitCSV']);
Route::group(['prefix' => 'all'], function () {
Route::put('send', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitSubmittersApiController@send']);
});
});
// speakers
Route::group(['prefix' => 'speakers'], function () {
Route::post('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitSpeakersApiController@addSpeakerBySummit']);
Route::get('', 'OAuth2SummitSpeakersApiController@getSpeakers');
Route::get('csv', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitSpeakersApiController@getSpeakersCSV']);
Route::get('on-schedule', 'OAuth2SummitSpeakersApiController@getSpeakersOnSchedule');
Route::get('me', 'OAuth2SummitSpeakersApiController@getMySummitSpeaker');
Route::group(['prefix' => 'all'], function () {
Route::put('send', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitSpeakersApiController@send']);
});
Route::group(['prefix' => '{speaker_id}'], function () {
Route::get('', ['middleware' =>
sprintf('cache:%s,%s,speaker_id',
3600,
CacheRegions::CacheRegionSpeakers,
),
'uses' => 'OAuth2SummitSpeakersApiController@getSummitSpeaker'])->where('speaker_id', 'me|[0-9]+');
Route::put('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitSpeakersApiController@updateSpeakerBySummit'])->where('speaker_id', 'me|[0-9]+');
});
});
// speakers assistance
Route::group(['prefix' => 'speakers-assistances'], function () {
Route::get('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitSpeakersAssistanceApiController@getBySummit']);
Route::get('csv', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitSpeakersAssistanceApiController@getBySummitCSV']);
Route::post('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitSpeakersAssistanceApiController@addSpeakerSummitAssistance']);
Route::group(['prefix' => '{assistance_id}'], function () {
Route::get('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitSpeakersAssistanceApiController@getSpeakerSummitAssistanceBySummit']);
Route::delete('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitSpeakersAssistanceApiController@deleteSpeakerSummitAssistance']);
Route::put('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitSpeakersAssistanceApiController@updateSpeakerSummitAssistance']);
// @deprecated
// Route::post('mail', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitSpeakersAssistanceApiController@sendSpeakerSummitAssistanceAnnouncementMail']);
});
});
// events
Route::group(array('prefix' => 'events'), function () {
Route::get('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitEventsApiController@getEvents']);
Route::group(['prefix' => 'csv'], function () {
Route::get('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitEventsApiController@getEventsCSV']);
Route::post('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitEventsApiController@importEventData']);
});
// bulk actions
Route::delete('/publish', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitEventsApiController@unPublishEvents']);
Route::put('/publish', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitEventsApiController@updateAndPublishEvents']);
Route::put('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitEventsApiController@updateEvents']);
Route::group(array('prefix' => 'unpublished'), function () {
Route::get('', 'OAuth2SummitEventsApiController@getUnpublishedEvents');
//Route::get('{event_id}', 'OAuth2SummitEventsApiController@getUnpublisedEvent');
});
Route::group(array('prefix' => 'published'), function () {
Route::get('', 'OAuth2SummitEventsApiController@getScheduledEvents');
Route::get('/empty-spots', 'OAuth2SummitEventsApiController@getScheduleEmptySpots');
});
Route::post('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitEventsApiController@addEvent']);
Route::group(['prefix' => '{event_id}'], function () {
Route::group(['prefix' => 'rsvps'], function () {
Route::get('', ['middleware' => 'auth.user', 'uses' => 'OAuth2RSVPApiController@getAllByEventId']);
Route::put('resend', ['middleware' => 'auth.user', 'uses' => 'OAuth2RSVPApiController@resend']);
Route::get('csv', ['middleware' => 'auth.user', 'uses' => 'OAuth2RSVPApiController@getAllByEventIdCSV']);
Route::post('', ['middleware' => 'auth.user', 'uses' => 'OAuth2RSVPApiController@add']);
Route::group(['prefix' => '{rsvp_id}'], function () {
Route::get('', ['middleware' => 'auth.user', 'uses' => 'OAuth2RSVPApiController@getById']);
Route::delete('', ['middleware' => 'auth.user', 'uses' => 'OAuth2RSVPApiController@delete']);
Route::put('', ['middleware' => 'auth.user', 'uses' => 'OAuth2RSVPApiController@update']);
});
});
Route::post('rsvp', 'OAuth2RSVPApiController@rsvp');
Route::delete('unrsvp', 'OAuth2RSVPApiController@unrsvp');
Route::post('/clone', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitEventsApiController@cloneEvent']);
Route::get('', 'OAuth2SummitEventsApiController@getEvent');
Route::group(['prefix' => 'published'], function () {
Route::get('', ['middleware' =>
sprintf('cache:%s,%s,event_id',
Config::get('cache_api_response.get_published_event_response_lifetime', 600),
CacheRegions::CacheRegionEvents,
),
'uses' => 'OAuth2SummitEventsApiController@getScheduledEvent']);
Route::get('tokens', 'OAuth2SummitEventsApiController@getScheduledEventJWT');
Route::get('streaming-info', 'OAuth2SummitEventsApiController@getScheduledEventStreamingInfo');
Route::post('mail', 'OAuth2SummitEventsApiController@shareScheduledEventByEmail');
// media uploads
Route::group(['prefix' => 'media-uploads'], function () {
Route::get('', 'OAuth2PresentationApiController@getPresentationMediaUploads');
});
});
Route::put('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitEventsApiController@updateEvent']);
Route::put('live-info', ['uses' => 'OAuth2SummitEventsApiController@updateEventLiveInfo']);
Route::delete('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitEventsApiController@deleteEvent']);
Route::put('/publish', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitEventsApiController@publishEvent']);
Route::delete('/publish', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitEventsApiController@unPublishEvent']);
Route::post('/attachment', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitEventsApiController@addEventAttachment']);
Route::group(['prefix' => 'feedback'], function () {
Route::get('', 'OAuth2SummitEventsApiController@getEventFeedback');
Route::get('csv', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitEventsApiController@getEventFeedbackCSV']);
Route::group(['prefix' => '{feedback_id}'], function () {
Route::delete('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitEventsApiController@deleteEventFeedback']);
});
});
Route::group(['prefix' => 'image'], function () {
Route::post('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitEventsApiController@addEventImage']);
Route::delete('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitEventsApiController@deleteEventImage']);
});
Route::group(['prefix' => 'type'], function () {
Route::group(['prefix' => '{type_id}'], function () {
Route::put('upgrade', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitEventsApiController@upgradeEvent']);
});
});
Route::group(['prefix' => 'overflow'], function () {
Route::put('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitEventsApiController@setOverflow']);
Route::delete('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitEventsApiController@clearOverflow']);
});
Route::group(['prefix' => 'rsvp-invitations'], function () {
Route::get('', ['middleware' => 'auth.user', 'uses' => 'OAuth2RSVPInvitationApiController@getAllByEventId']);
Route::post('invite', ['middleware' => 'auth.user', 'uses' => 'OAuth2RSVPInvitationApiController@inviteAttendeesBulk']);
Route::group(['prefix' => 'csv'], function () {
Route::get('', ['middleware' => 'auth.user', 'uses' => 'OAuth2RSVPInvitationApiController@getAllByEventIdCSV']);
// import from csv
Route::post('', ['middleware' => 'auth.user', 'uses' => 'OAuth2RSVPInvitationApiController@ingestInvitations']);
});
Route::put('send', ['middleware' => 'auth.user', 'uses' => 'OAuth2RSVPInvitationApiController@send']);
Route::post("", ['middleware' => 'auth.user', 'uses' => 'OAuth2RSVPInvitationApiController@addInvitation']);
Route::group(['prefix' => 'all'], function () {
Route::delete("", ['middleware' => 'auth.user', 'uses' => 'OAuth2RSVPInvitationApiController@deleteAll']);
});
Route::group(['prefix' => '{invitation_id}'], function () {
Route::delete("", ['middleware' => 'auth.user', 'uses' => 'OAuth2RSVPInvitationApiController@delete']);
});
});
});
});
// schedule settings
Route::group(array('prefix' => 'schedule-settings'), function () {
Route::get('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitScheduleSettingsApiController@getAllBySummit']);
Route::get('metadata', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitScheduleSettingsApiController@getMetadata']);
Route::post('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitScheduleSettingsApiController@add']);
Route::post('seed', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitScheduleSettingsApiController@seedDefaults']);
Route::group(['prefix' => '{config_id}'], function () {
Route::group(['prefix' => 'filters'], function () {
Route::post('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitScheduleSettingsApiController@addFilter']);
Route::group(['prefix' => '{filter_id}'], function () {
Route::put('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitScheduleSettingsApiController@updateFilter']);
});
});
Route::get('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitScheduleSettingsApiController@get']);
Route::put('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitScheduleSettingsApiController@update']);
Route::delete('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitScheduleSettingsApiController@delete']);
});
});
// presentations
Route::group(['prefix' => 'presentations'], function () {
Route::get('', ['uses' => 'OAuth2SummitEventsApiController@getAllPresentations']);
Route::group(['prefix' => 'voteable'], function () {
Route::get('', ['uses' => 'OAuth2SummitEventsApiController@getAllVoteablePresentations']);
Route::group(['prefix' => '{presentation_id}'], function () {
Route::get('', ['uses' => 'OAuth2SummitEventsApiController@getVoteablePresentation']);
});
});
// opened without role CFP - valid selection plan on CFP status
Route::post('', 'OAuth2PresentationApiController@submitPresentation');
// import from mux
Route::post('all/import/mux', 'OAuth2PresentationApiController@importAssetsFromMUX');
Route::group(['prefix' => '{presentation_id}'], function () {
// opened without role CFP - valid selection plan on CFP status
Route::get('', 'OAuth2PresentationApiController@getPresentationSubmission');
Route::put('', 'OAuth2PresentationApiController@updatePresentationSubmission');
Route::put('completed', 'OAuth2PresentationApiController@completePresentationSubmission');
Route::delete('', 'OAuth2PresentationApiController@deletePresentation');
// videos
Route::group(['prefix' => 'videos'], function () {
Route::get('', 'OAuth2PresentationApiController@getPresentationVideos');
Route::post('', ['middleware' => 'auth.user', 'uses' => 'OAuth2PresentationApiController@addVideo']);
Route::group(['prefix' => '{video_id}'], function () {
Route::get('', 'OAuth2PresentationApiController@getPresentationVideo');
Route::put('', ['middleware' => 'auth.user', 'uses' => 'OAuth2PresentationApiController@updateVideo']);
Route::delete('', ['middleware' => 'auth.user', 'uses' => 'OAuth2PresentationApiController@deleteVideo']);
});
});
// extra-questions
Route::group(['prefix' => 'extra-questions'], function () {
Route::get('', ['middleware' => 'auth.user', 'uses' => 'OAuth2PresentationApiController@getPresentationsExtraQuestions']);
});
// slides
Route::group(['prefix' => 'slides'], function () {
Route::get('', 'OAuth2PresentationApiController@getPresentationSlides');
Route::post('', 'OAuth2PresentationApiController@addPresentationSlide');
Route::group(['prefix' => '{slide_id}'], function () {
Route::get('', 'OAuth2PresentationApiController@getPresentationSlide');
Route::put('', 'OAuth2PresentationApiController@updatePresentationSlide');
Route::delete('', ['middleware' => 'auth.user', 'uses' => 'OAuth2PresentationApiController@deletePresentationSlide']);
});
});
// links
Route::group(['prefix' => 'links'], function () {
Route::get('', 'OAuth2PresentationApiController@getPresentationLinks');
Route::post('', ['middleware' => 'auth.user', 'uses' => 'OAuth2PresentationApiController@addPresentationLink']);
Route::group(['prefix' => '{link_id}'], function () {
Route::get('', 'OAuth2PresentationApiController@getPresentationLink');
Route::put('', ['middleware' => 'auth.user', 'uses' => 'OAuth2PresentationApiController@updatePresentationLink']);
Route::delete('', ['middleware' => 'auth.user', 'uses' => 'OAuth2PresentationApiController@deletePresentationLink']);
});
});
// media uploads
Route::group(['prefix' => 'media-uploads'], function () {
Route::get('', 'OAuth2PresentationApiController@getPresentationMediaUploads');
Route::post('', 'OAuth2PresentationApiController@addPresentationMediaUpload');
Route::group(['prefix' => '{media_upload_id}'], function () {
Route::get('', 'OAuth2PresentationApiController@getPresentationMediaUpload');
Route::put('', 'OAuth2PresentationApiController@updatePresentationMediaUpload');
Route::delete('', 'OAuth2PresentationApiController@deletePresentationMediaUpload');
});
});
// attendees votes
Route::group(['prefix' => 'attendee-votes'], function () {
Route::get('', ['uses' => 'OAuth2PresentationApiController@getAttendeeVotes']);
Route::post('', ['uses' => 'OAuth2PresentationApiController@castAttendeeVote']);
Route::delete('', ['uses' => 'OAuth2PresentationApiController@unCastAttendeeVote']);
});
Route::group(['prefix' => 'comments'], function () {
Route::get('', ['middleware' => 'auth.user', 'uses' => 'OAuth2PresentationApiController@getComments']);
Route::post('', ['middleware' => 'auth.user', 'uses' => 'OAuth2PresentationApiController@addComment']);
Route::group(['prefix' => '{comment_id}'], function () {
Route::get('', ['middleware' => 'auth.user', 'uses' => 'OAuth2PresentationApiController@getComment']);
Route::delete('', ['middleware' => 'auth.user', 'uses' => 'OAuth2PresentationApiController@deleteComment']);
Route::put('', ['middleware' => 'auth.user', 'uses' => 'OAuth2PresentationApiController@updateComment']);
});
});
// speakers
Route::group(['prefix' => 'speakers'], function () {
Route::group(['prefix' => '{speaker_id}'], function () {
Route::post('', ['middleware' => 'auth.user', 'uses' => 'OAuth2PresentationApiController@addSpeaker2Presentation']);
Route::put('', ['middleware' => 'auth.user', 'uses' => 'OAuth2PresentationApiController@updateSpeakerInPresentation']);
Route::delete('', ['middleware' => 'auth.user', 'uses' => 'OAuth2PresentationApiController@removeSpeakerFromPresentation']);
});
});
});
});
// locations
Route::group(['prefix' => 'locations'], function () {
Route::get('', 'OAuth2SummitLocationsApiController@getLocations');
Route::post('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitLocationsApiController@addLocation']);
Route::get('metadata', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitLocationsApiController@getMetadata']);
Route::group(['prefix' => 'bookable-rooms'], function () {
// GET /api/v1/summits/{id}/locations/bookable-rooms
Route::get('', 'OAuth2SummitLocationsApiController@getBookableVenueRooms');
Route::group(['prefix' => 'all'], function () {
Route::group(['prefix' => 'reservations'], function () {
// GET /api/v1/summits/{id}/locations/bookable-rooms/all/reservations
Route::get('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitLocationsApiController@getAllReservationsBySummit']);
// GET /api/v1/summits/{id}/locations/bookable-rooms/all/reservations/csv
Route::get('csv', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitLocationsApiController@getAllReservationsBySummitCSV']);
// GET /api/v1/summits/{id}/locations/bookable-rooms/all/reservations/me
Route::get('me', 'OAuth2SummitLocationsApiController@getMyBookableVenueRoomReservations');
Route::group(['prefix' => '{reservation_id}'], function () {
// DELETE /api/v1/summits/{id}/locations/bookable-rooms/all/reservations/{reservation_id}
Route::delete('', 'OAuth2SummitLocationsApiController@cancelMyBookableVenueRoomReservation');
});
});
});
Route::group(['prefix' => '{room_id}'], function () {
// GET /api/v1/summits/{id}/locations/bookable-rooms/{room_id}
Route::get('', 'OAuth2SummitLocationsApiController@getBookableVenueRoom');
// GET /api/v1/summits/{id}/locations/bookable-rooms/{room_id}/availability/{day}
Route::get('availability/{day}', 'OAuth2SummitLocationsApiController@getBookableVenueRoomAvailability');
Route::group(['prefix' => 'reservations'], function () {
// POST /api/v1/summits/{id}/locations/bookable-rooms/{room_id}/reservations
Route::post('', 'OAuth2SummitLocationsApiController@createBookableVenueRoomReservation');
// POST /api/v1/summits/{id}/locations/bookable-rooms/{room_id}/reservations/offline
Route::post('offline', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitLocationsApiController@createOfflineBookableVenueRoomReservation']);
Route::group(['prefix' => '{reservation_id}'], function () {
// PUT /api/v1/summits/{id}/bookable-rooms/{room_id}/reservations/{reservation_id}
Route::put('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitLocationsApiController@updateBookableVenueRoomReservation']);
// GET /api/v1/summits/{id}/bookable-rooms/{room_id}/reservations/{reservation_id}
Route::get('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitLocationsApiController@getBookableVenueRoomReservation']);
// DELETE /api/v1/summits/{id}/bookable-rooms/{room_id}/reservations/{reservation_id}/refund
Route::delete('refund', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitLocationsApiController@refundBookableVenueRoomReservation']);
// DELETE /api/v1/summits/{id}/bookable-rooms/{room_id}/reservations/{reservation_id}/cancel
Route::delete('cancel', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitLocationsApiController@cancelBookableVenueRoomReservation']);
});
});
});
});
// venues
Route::group(['prefix' => 'venues'], function () {
Route::get('', 'OAuth2SummitLocationsApiController@getVenues');
Route::post('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitLocationsApiController@addVenue']);
Route::group(['prefix' => 'all'], function () {
Route::group(['prefix' => 'rooms'], function () {
Route::get('', 'OAuth2SummitLocationsApiController@getAllVenuesRooms');
});
Route::group(['prefix' => 'bookable-rooms'], function () {
Route::get('', 'OAuth2SummitLocationsApiController@getBookableVenueRooms');
});
});
Route::group(['prefix' => '{venue_id}'], function () {
Route::put('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitLocationsApiController@updateVenue']);
Route::group(['prefix' => 'rooms'], function () {
Route::post('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitLocationsApiController@addVenueRoom']);
Route::group(['prefix' => '{room_id}'], function () {
Route::get('', 'OAuth2SummitLocationsApiController@getVenueRoom');
Route::put('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitLocationsApiController@updateVenueRoom']);
Route::delete('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitLocationsApiController@deleteVenueRoom']);
Route::group(['prefix' => 'image'], function () {
Route::post('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitLocationsApiController@addVenueRoomImage']);
Route::delete('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitLocationsApiController@removeVenueRoomImage']);
});
});
});
// bookable-rooms
Route::group(['prefix' => 'bookable-rooms'], function () {
// POST /api/v1/summits/{id}/locations/venues/{venue_id}/bookable-rooms
Route::post('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitLocationsApiController@addVenueBookableRoom']);
Route::group(['prefix' => '{room_id}'], function () {
// GET /api/v1/summits/{id}/locations/venues/{venue_id}/bookable-rooms/{room_id}
Route::get('', 'OAuth2SummitLocationsApiController@getBookableVenueRoomByVenue');
// PUT /api/v1/summits/{id}/locations/venues/{venue_id}/bookable-rooms/{room_id}
Route::put('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitLocationsApiController@updateVenueBookableRoom']);
// DELETE /api/v1/summits/{id}/locations/venues/{venue_id}/bookable-rooms/{room_id}
Route::delete('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitLocationsApiController@deleteVenueBookableRoom']);
// attributes
Route::group(['prefix' => 'attributes'], function () {
Route::group(['prefix' => '{attribute_id}'], function () {
// PUT /api/v1/summits/{id}/locations/venues/{venue_id}/bookable-rooms/{room_id}/attributes/{attribute_id}
Route::put('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitLocationsApiController@addVenueBookableRoomAttribute']);
// DELETE /api/v1/summits/{id}/locations/venues/{venue_id}/bookable-rooms/{room_id}/attributes/{attribute_id}
Route::delete('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitLocationsApiController@deleteVenueBookableRoomAttribute']);
});
});
});
});
Route::group(['prefix' => 'floors'], function () {
Route::post('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitLocationsApiController@addVenueFloor']);
Route::group(['prefix' => '{floor_id}'], function () {
Route::get('', 'OAuth2SummitLocationsApiController@getVenueFloor');
Route::put('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitLocationsApiController@updateVenueFloor']);
Route::delete('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitLocationsApiController@deleteVenueFloor']);
Route::group(['prefix' => 'image'], function () {
Route::post('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitLocationsApiController@addVenueFloorImage']);
Route::delete('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitLocationsApiController@removeVenueFloorImage']);
});
Route::group(['prefix' => 'rooms'], function () {
Route::post('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitLocationsApiController@addVenueFloorRoom']);
Route::group(['prefix' => '{room_id}'], function () {
Route::get('', 'OAuth2SummitLocationsApiController@getVenueFloorRoom');
Route::put('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitLocationsApiController@updateVenueFloorRoom']);
});
});
Route::group(['prefix' => 'bookable-rooms'], function () {
Route::post('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitLocationsApiController@addVenueFloorBookableRoom']);
Route::group(['prefix' => '{room_id}'], function () {
Route::get('', 'OAuth2SummitLocationsApiController@getVenueFloorBookableRoom');
Route::put('', ['middleware' => 'auth.user', 'uses' => 'OAuth2SummitLocationsApiController@updateVenueFloorBookableRoom']);
});
});
});
});