Guest User

Untitled

a guest
Nov 5th, 2017
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.51 KB | None | 0 0
  1. import { Injectable } from '@angular/core';
  2. import { Observable } from 'rxjs';
  3. import * as backand from '@backand/vanilla-sdk';
  4.  
  5. @Injectable()
  6. export class BackandService {
  7. init(config: IBackandConfigOptions | any): void {
  8. backand.init(config);
  9. if (config.observable) {
  10. Object.keys(backand).forEach(key => {
  11. this[key] = Observable.fromPromise(backand[key]);
  12. });
  13. }
  14. else {
  15. Object.keys(backand).forEach(key => {
  16. this[key] = backand[key];
  17. });
  18. }
  19. }
  20. constants: any;
  21. helpers: any;
  22. defaults: any;
  23. object: IBackandObject | any;
  24. file: any;
  25. query: any;
  26. user: any;
  27. offline: any;
  28. bulk: any;
  29. fn: any;
  30. invoke: any;
  31. // auth
  32. useAnonymousAuth (): any {};
  33. signin (username: string, password: string): any {};
  34. signup (firstName: string, lastName: string, email: string, password: string, confirmPassword: string, parameters?: any): any {};
  35. socialSignin (provider: string): any {};
  36. socialSigninWithToken (provider: string, token: string): any {};
  37. socialSignup (provider: string, email: string): any {};
  38. requestResetPassword (username: string): any {};
  39. resetPassword (newPassword: string, resetToken: string): any {};
  40. changePassword (oldPassword: string, newPassword: string): any {};
  41. signout (): any {};
  42. getSocialProviders (): any {};
  43. // socket
  44. on (eventName: string, callback?: (response?: any) => void): void {};
  45.  
  46. }
  47.  
  48. export class Response {
  49. status: number;
  50. statusText: string;
  51. headers: any;
  52. config: any;
  53. data: any;
  54. }
  55.  
  56. export interface IBackandConfigOptions {
  57. appName: string;
  58. anonymousToken: string;
  59. allowUpdatesinOfflineMode?: boolean;
  60. afterExecuteOfflineItem?: Function;
  61. apiUrl?: string;
  62. beforeExecuteOfflineItem?: Function;
  63. isMobile?: boolean;
  64. manageRefreshToken?: boolean;
  65. mobilePlatform?: string;
  66. runOffline?: boolean;
  67. runSigninAfterSignup?: boolean;
  68. runSocket?: boolean;
  69. signUpToken?: string;
  70. storage?: Object;
  71. storagePrefix?: string;
  72. socketUrl?: string;
  73. useAnonymousTokenByDefault?: boolean;
  74. }
  75.  
  76. export interface IBackandObject {
  77. getList(objectName:string, params?: {}): any;
  78. getOne(objectName:string, id:number, params?: {}): any;
  79. create(objectName:string, data:{}, params?: {}): any;
  80. update(objectName:string, id:number, data:{}, params?: {}): any;
  81. remove(objectName:string, id:number): any;
  82. action: IBackandAction;
  83. // TODO ADD ALL OPTIONS //
  84. }
  85.  
  86. export interface IBackandAction {
  87. get(objectName:string, action:string, params?: {}): any;
  88. post(objectName:string, action:string, data: {}, params?: {}): any;
  89. }
Add Comment
Please, Sign In to add comment