115 lines
2.8 KiB
TypeScript
115 lines
2.8 KiB
TypeScript
//#region Interfaces
|
|
|
|
import { IServiceProvider } from 'factories'
|
|
import { IAuthorizeService } from 'services/authorize'
|
|
import { ICircleService } from 'services/circles'
|
|
import { ICommentService } from 'services/comments'
|
|
import { ICommonService } from 'services/common'
|
|
import { IImageGalleryService } from 'services/imageGallery'
|
|
import { INotificationService } from 'services/notifications'
|
|
import { IPostService } from 'services/posts'
|
|
import { IUserService } from 'services/users'
|
|
import { IVoteService } from 'services/votes'
|
|
|
|
//#endregion
|
|
|
|
//#region Service implemented classes
|
|
|
|
// - Firebase services
|
|
import { AuthorizeService } from 'firebase/services/authorize'
|
|
import { CircleService } from 'firebase/services/circles'
|
|
import { CommentService } from 'firebase/services/comments'
|
|
import { CommonService } from 'firebase/services/common'
|
|
import { ImageGalleryService } from 'firebase/services/imageGallery'
|
|
import { NotificationService } from 'firebase/services/notifications'
|
|
import { PostService } from 'firebase/services/posts'
|
|
import { UserService } from 'firebase/services/users'
|
|
import { VoteService } from 'firebase/services/votes'
|
|
|
|
//#endregion
|
|
|
|
export class ServiceProvide implements IServiceProvider {
|
|
|
|
/**
|
|
* Create instant for Authorize Service
|
|
*
|
|
* @memberof ServiceProvide
|
|
*/
|
|
createAuthorizeService: () => IAuthorizeService = () => {
|
|
return new AuthorizeService()
|
|
}
|
|
|
|
/**
|
|
* Create instant for Circle Service
|
|
*
|
|
* @memberof ServiceProvide
|
|
*/
|
|
createCircleService: () => ICircleService = () => {
|
|
return new CircleService()
|
|
}
|
|
|
|
/**
|
|
* Create instant for Comment Service
|
|
*
|
|
* @memberof ServiceProvide
|
|
*/
|
|
createCommentService: () => ICommentService = () => {
|
|
return new CommentService()
|
|
}
|
|
|
|
/**
|
|
* Create instant for Common Service
|
|
*
|
|
* @memberof ServiceProvide
|
|
*/
|
|
createCommonService: () => ICommonService = () => {
|
|
return new CommonService()
|
|
}
|
|
|
|
/**
|
|
* Create instant for ImageGallery Service
|
|
*
|
|
* @memberof ServiceProvide
|
|
*/
|
|
createImageGalleryService: () => IImageGalleryService = () => {
|
|
return new ImageGalleryService()
|
|
}
|
|
|
|
/**
|
|
* Create instant for Notification Service
|
|
*
|
|
* @memberof ServiceProvide
|
|
*/
|
|
createNotificationService: () => INotificationService = () => {
|
|
return new NotificationService()
|
|
}
|
|
|
|
/**
|
|
* Create instant for Post Service
|
|
*
|
|
* @memberof ServiceProvide
|
|
*/
|
|
createPostService: () => IPostService = () => {
|
|
return new PostService()
|
|
}
|
|
|
|
/**
|
|
* Create instant for User Service
|
|
*
|
|
* @memberof ServiceProvide
|
|
*/
|
|
createUserService: () => IUserService = () => {
|
|
return new UserService()
|
|
}
|
|
|
|
/**
|
|
* Create instant for Vote Service
|
|
*
|
|
* @memberof ServiceProvide
|
|
*/
|
|
createVoteService: () => IVoteService = () => {
|
|
return new VoteService()
|
|
}
|
|
|
|
}
|