This repository has been archived by the owner on Dec 14, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 30
/
Copy pathcd-events.js
82 lines (75 loc) · 4.71 KB
/
cd-events.js
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
'use strict';
var ping = require('./ping');
var saveEvent = require('./save-event');
var getEvent = require('./get-event');
var listEvents = require('./list-events');
var deleteEvent = require('./delete-event');
var searchEvents = require('./search-events');
var loadEventApplications = require('./load-event-applications');
var searchApplications = require('./search-applications');
var deleteApplication = require('./delete-application');
var saveApplication = require('./save-application');
var userDojosEvents = require('./user-dojos-events');
var ticketTypes = require('./ticket-types');
var exportGuestList = require('./export-guest-list');
var searchSessions = require('./search-sessions');
var saveSession = require('./save-session');
var bulkApplyApplications = require('./bulk-apply-applications');
var updateApplicationAttendance = require('./update-application-attendance');
var loadApplication = require('./load-application');
var cancelSession = require('./cancel-session');
var loadSession = require('./load-session');
var saveTicket = require('./save-ticket');
var searchTickets = require('./search-tickets');
var validateSessionInvitation = require('./validate-session-invitation');
var loadTicket = require('./load-ticket');
var getSessionsFromEventId = require('./get-sessions-from-event-id');
var isTicketingAdmin = require('./perm/is-ticketing-admin');
module.exports = function () {
var seneca = this;
var plugin = 'cd-events';
seneca.add({role: plugin, cmd: 'ping'}, ping.bind(seneca));
seneca.add({role: plugin, cmd: 'saveEvent'}, saveEvent.bind(seneca));
seneca.add({role: plugin, cmd: 'getEvent'}, getEvent.bind(seneca));
seneca.add({role: plugin, cmd: 'listEvents'}, listEvents.bind(seneca));
seneca.add({role: plugin, cmd: 'deleteEvent'}, deleteEvent.bind(seneca));
seneca.add({role: plugin, cmd: 'searchEvents'}, searchEvents.bind(seneca));
seneca.add({role: plugin, cmd: 'loadEventApplications'}, loadEventApplications.bind(seneca));
seneca.add({role: plugin, cmd: 'searchApplications'}, searchApplications.bind(seneca));
seneca.add({role: plugin, cmd: 'deleteApplication'}, deleteApplication.bind(seneca));
seneca.add({role: plugin, cmd: 'saveApplication'}, saveApplication.bind(seneca));
seneca.add({role: plugin, cmd: 'userDojosEvents'}, userDojosEvents.bind(seneca));
seneca.add({role: plugin, cmd: 'ticketTypes'}, ticketTypes.bind(seneca));
seneca.add({role: plugin, cmd: 'exportGuestList'}, exportGuestList.bind(seneca));
seneca.add({role: plugin, cmd: 'searchSessions'}, searchSessions.bind(seneca));
seneca.add({role: plugin, cmd: 'saveSession'}, saveSession.bind(seneca));
seneca.add({role: plugin, cmd: 'bulkApplyApplications'}, bulkApplyApplications.bind(seneca));
seneca.add({role: plugin, cmd: 'updateApplicationAttendance'}, updateApplicationAttendance.bind(seneca));
seneca.add({role: plugin, cmd: 'loadApplication'}, loadApplication.bind(seneca));
seneca.add({role: plugin, cmd: 'cancelSession'}, cancelSession.bind(seneca));
seneca.add({role: plugin, cmd: 'loadSession'}, loadSession.bind(seneca));
seneca.add({role: plugin, cmd: 'saveTicket'}, saveTicket.bind(seneca));
seneca.add({role: plugin, cmd: 'searchTickets'}, searchTickets.bind(seneca));
seneca.add({role: plugin, cmd: 'validateSessionInvitation'}, validateSessionInvitation.bind(seneca));
seneca.add({role: plugin, cmd: 'loadTicket'}, loadTicket.bind(seneca));
seneca.add({role: plugin, cmd: 'getSessionsFromEventId'}, getSessionsFromEventId.bind(seneca));
// CRUD
seneca.add({role: plugin, entity: 'invite', cmd: 'list'}, require('./entity/invite/list'));
seneca.add({role: plugin, entity: 'event', cmd: 'save'}, require('./entity/event/save'));
seneca.add({role: plugin, entity: 'next-events', cmd: 'list'}, require('./entity/next-events/list'));
// Controllers
seneca.add({role: plugin, ctrl: 'applications', cmd: 'list'}, require('./controllers/application/list'));
seneca.add({role: plugin, ctrl: 'events', cmd: 'updateAddress'}, require('./controllers/event/update-address'));
// PERMS
seneca.add({role: plugin, cmd: 'is_ticketing_admin'}, isTicketingAdmin.bind(seneca));
// TODO : those 2 perms are very alike, need for a factory ?
seneca.add({role: plugin, cmd: 'is_own_application'}, require('./perm/is-own-application'));
seneca.add({role: plugin, cmd: 'is_own_invitation'}, require('./perm/is-own-invitation'));
seneca.add({role: plugin, cmd: 'is_parent_of_applicant'}, require('./perm/is-parent-of-applicant'));
seneca.add({role: plugin, cmd: 'is_parent_of_invited'}, require('./perm/is-parent-of-invited'));
seneca.add({role: plugin, cmd: 'can_order_for'}, require('./perm/can-order-for'));
seneca.add({role: plugin, cmd: 'is_own_order'}, require('./perm/is-own-order'));
return {
name: plugin
};
};