2018-05-16 20:48:38 +02:00
|
|
|
import * as functions from 'firebase-functions';
|
2018-05-22 07:36:00 +02:00
|
|
|
import {
|
|
|
|
isUserAvailable as isUserAvailableHandler,
|
|
|
|
signup as signupHandler,
|
2018-06-03 12:33:51 +02:00
|
|
|
signin as signinHandler,
|
|
|
|
setDependencies as setUserHandlerDependencies
|
2018-05-22 07:36:00 +02:00
|
|
|
} from './userHandlers'
|
2018-04-02 20:23:44 +02:00
|
|
|
|
2018-05-22 07:36:00 +02:00
|
|
|
import {
|
|
|
|
events as eventsHandler,
|
2018-06-03 12:33:51 +02:00
|
|
|
setDependencies as setEventsHandlerDependencies
|
2018-06-03 11:32:05 +02:00
|
|
|
} from './eventHandlers';
|
2018-06-03 12:33:51 +02:00
|
|
|
import {gcal as gcalConfig, projectId} from './config'
|
|
|
|
import UserManager from "./user";
|
|
|
|
import SessionManager from "./session";
|
|
|
|
import Repository from "./repository";
|
|
|
|
import Calendar from "./calendar";
|
2018-06-03 13:43:40 +02:00
|
|
|
import EventManager from "./event";
|
2018-06-03 12:33:51 +02:00
|
|
|
|
2018-05-18 10:35:28 +02:00
|
|
|
const IS_FIREBASE = true;
|
|
|
|
|
2018-06-03 12:33:51 +02:00
|
|
|
const repository = new Repository(projectId)
|
|
|
|
const userManager = new UserManager(repository)
|
|
|
|
const sessionManager = new SessionManager(repository)
|
|
|
|
const calendarManager = new Calendar({
|
|
|
|
repository,
|
|
|
|
gcalConfig: gcalConfig
|
|
|
|
})
|
2018-06-03 13:43:40 +02:00
|
|
|
const eventManager = new EventManager(calendarManager, repository)
|
2018-06-03 12:33:51 +02:00
|
|
|
|
|
|
|
setUserHandlerDependencies({
|
2018-06-03 13:34:41 +02:00
|
|
|
userManager, sessionManager
|
2018-06-03 12:33:51 +02:00
|
|
|
})
|
|
|
|
setEventsHandlerDependencies({
|
2018-06-03 13:43:40 +02:00
|
|
|
sessionManager, calendarManager, eventManager
|
2018-06-03 12:33:51 +02:00
|
|
|
})
|
|
|
|
|
2018-05-18 10:35:28 +02:00
|
|
|
const httpHandler = (func) => {
|
|
|
|
let result = func
|
|
|
|
if (IS_FIREBASE) {
|
|
|
|
result = functions.https.onRequest(func)
|
|
|
|
}
|
|
|
|
return result
|
|
|
|
}
|
|
|
|
|
2018-06-01 13:08:28 +02:00
|
|
|
export const isUserAvailable = httpHandler(isUserAvailableHandler)
|
|
|
|
export const signup = httpHandler(signupHandler)
|
|
|
|
export const signin = httpHandler(signinHandler)
|
|
|
|
export const events = httpHandler(eventsHandler)
|