@esolve/ng-esolve-connect 0.72.0 → 0.73.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/esm2022/index.mjs +4 -2
  2. package/esm2022/lib/competitions/classes/esolve-competition-dates.model.mjs +15 -0
  3. package/esm2022/lib/competitions/classes/esolve-competition-entry-result.model.mjs +9 -0
  4. package/esm2022/lib/competitions/classes/esolve-competition-winner.model.mjs +22 -0
  5. package/esm2022/lib/competitions/classes/esolve-competition.model.mjs +97 -0
  6. package/esm2022/lib/competitions/classes/index.mjs +5 -0
  7. package/esm2022/lib/competitions/index.mjs +7 -0
  8. package/esm2022/lib/competitions/interfaces/esolve-competition-options.interface.mjs +2 -0
  9. package/esm2022/lib/competitions/interfaces/esolve-competition-record.interface.mjs +2 -0
  10. package/esm2022/lib/competitions/interfaces/esolve-competition-winner-record.interface.mjs +2 -0
  11. package/esm2022/lib/competitions/interfaces/index.mjs +4 -0
  12. package/esm2022/lib/competitions/services/esolve-competitions.service.mjs +122 -0
  13. package/esm2022/lib/competitions/services/index.mjs +2 -0
  14. package/esm2022/lib/competitions/types/esolve-competition-entry-response.type.mjs +2 -0
  15. package/esm2022/lib/competitions/types/index.mjs +2 -0
  16. package/esm2022/lib/wallet/esolve-wallet.service.mjs +4 -1
  17. package/fesm2022/esolve-ng-esolve-connect.mjs +261 -1
  18. package/fesm2022/esolve-ng-esolve-connect.mjs.map +1 -1
  19. package/index.d.ts +1 -0
  20. package/lib/competitions/classes/esolve-competition-dates.model.d.ts +19 -0
  21. package/lib/competitions/classes/esolve-competition-entry-result.model.d.ts +6 -0
  22. package/lib/competitions/classes/esolve-competition-winner.model.d.ts +16 -0
  23. package/lib/competitions/classes/esolve-competition.model.d.ts +66 -0
  24. package/lib/competitions/classes/index.d.ts +4 -0
  25. package/lib/competitions/index.d.ts +3 -0
  26. package/lib/competitions/interfaces/esolve-competition-options.interface.d.ts +4 -0
  27. package/lib/competitions/interfaces/esolve-competition-record.interface.d.ts +25 -0
  28. package/lib/competitions/interfaces/esolve-competition-winner-record.interface.d.ts +5 -0
  29. package/lib/competitions/interfaces/index.d.ts +3 -0
  30. package/lib/competitions/services/esolve-competitions.service.d.ts +50 -0
  31. package/lib/competitions/services/index.d.ts +1 -0
  32. package/lib/competitions/types/esolve-competition-entry-response.type.d.ts +2 -0
  33. package/lib/competitions/types/index.d.ts +1 -0
  34. package/package.json +1 -1
package/index.d.ts CHANGED
@@ -31,3 +31,4 @@ export * from './lib/transactions';
31
31
  export * from './lib/device';
32
32
  export * from './lib/wallet';
33
33
  export * from './lib/deliveries';
34
+ export * from './lib/competitions';
@@ -0,0 +1,19 @@
1
+ export declare class EsolveCompetitionDates {
2
+ /**
3
+ * Competition start date
4
+ */
5
+ start: Date;
6
+ /**
7
+ * Competition end date
8
+ */
9
+ end: Date;
10
+ constructor(
11
+ /**
12
+ * Competition start date
13
+ */
14
+ start: Date,
15
+ /**
16
+ * Competition end date
17
+ */
18
+ end: Date);
19
+ }
@@ -0,0 +1,6 @@
1
+ import { EsolveResponseResult } from '../../shared/response';
2
+ import { EsolveCompetitionEntryResponse } from '../types';
3
+ export declare class EsolveCompetitionEntryResult extends EsolveResponseResult {
4
+ id: number;
5
+ constructor(response: EsolveCompetitionEntryResponse);
6
+ }
@@ -0,0 +1,16 @@
1
+ import { EsolveCompetitionWinnerRecord } from '../interfaces';
2
+ export declare class EsolveCompetitionWinner {
3
+ /**
4
+ * eSolve Generated ID
5
+ */
6
+ esolve_id: number;
7
+ /**
8
+ * Competition winner's first name
9
+ */
10
+ first_name: string;
11
+ /**
12
+ * Competition winner's surname
13
+ */
14
+ surname: string;
15
+ constructor(record?: Partial<EsolveCompetitionWinnerRecord>);
16
+ }
@@ -0,0 +1,66 @@
1
+ import { EsolveCompetitionRecord } from '../interfaces';
2
+ import { EsolveCompetitionDates } from './esolve-competition-dates.model';
3
+ import { EsolveCompetitionWinner } from './esolve-competition-winner.model';
4
+ export declare class EsolveCompetition {
5
+ /**
6
+ * eSolve Generated ID
7
+ */
8
+ id: number;
9
+ /**
10
+ * Identifier linking competition to a media article
11
+ */
12
+ identifier: string;
13
+ /**
14
+ * Identifier linking an active competition to a media article
15
+ */
16
+ active_identifier: string;
17
+ /**
18
+ * Identifier linking an expired competition to a media article
19
+ */
20
+ expired_identifier: string;
21
+ /**
22
+ * Identifier linking a finished competition to a media article
23
+ */
24
+ completed_identifier: string;
25
+ /**
26
+ * Competition run interval
27
+ */
28
+ dates: EsolveCompetitionDates;
29
+ /**
30
+ * Competition Description
31
+ */
32
+ description: string;
33
+ /**
34
+ * Caption used by the submit button of the competition form
35
+ */
36
+ button_caption: string;
37
+ /**
38
+ * Competition's terms and conditions article
39
+ */
40
+ terms_and_conditions: string;
41
+ /**
42
+ * Competition featured image url
43
+ */
44
+ image_url: string;
45
+ /**
46
+ * Requires audio submission
47
+ */
48
+ require_audio: boolean;
49
+ /**
50
+ * Requires video submission
51
+ */
52
+ require_video: boolean;
53
+ /**
54
+ * Requires image submission
55
+ */
56
+ require_image: boolean;
57
+ /**
58
+ * Competition requires text submission
59
+ */
60
+ require_text: boolean;
61
+ /**
62
+ * List of competition winners
63
+ */
64
+ winners: EsolveCompetitionWinner[];
65
+ constructor(record?: Partial<EsolveCompetitionRecord>);
66
+ }
@@ -0,0 +1,4 @@
1
+ export * from './esolve-competition-dates.model';
2
+ export * from './esolve-competition-entry-result.model';
3
+ export * from './esolve-competition-winner.model';
4
+ export * from './esolve-competition.model';
@@ -0,0 +1,3 @@
1
+ export * from './classes';
2
+ export * from './interfaces';
3
+ export * from './services';
@@ -0,0 +1,4 @@
1
+ export interface EsolveCompetitionOptions {
2
+ competition_id?: number;
3
+ identifier?: string;
4
+ }
@@ -0,0 +1,25 @@
1
+ import { EsolveCompetitionWinnerRecord } from './esolve-competition-winner-record.interface';
2
+ export interface EsolveCompetitionRecord {
3
+ id: number;
4
+ identifier: string;
5
+ active_identifier: string;
6
+ expired_identifier: string;
7
+ completed_identifier: string;
8
+ from_date: string;
9
+ from_date_timestamp: number;
10
+ to_date: string;
11
+ to_date_timestamp: number;
12
+ description: string;
13
+ button_caption: string;
14
+ terms_and_conditions: string;
15
+ coupon_percentage: string;
16
+ coupon_valid_from_date: string;
17
+ coupon_valid_to_date: string;
18
+ image_url: string;
19
+ image_checksum: string;
20
+ audio_attachment: boolean;
21
+ video_attachment: boolean;
22
+ image_attachment: boolean;
23
+ text: boolean;
24
+ winners: EsolveCompetitionWinnerRecord[];
25
+ }
@@ -0,0 +1,5 @@
1
+ export interface EsolveCompetitionWinnerRecord {
2
+ userid: number;
3
+ firstname: string;
4
+ surname: string;
5
+ }
@@ -0,0 +1,3 @@
1
+ export * from './esolve-competition-options.interface';
2
+ export * from './esolve-competition-record.interface';
3
+ export * from './esolve-competition-winner-record.interface';
@@ -0,0 +1,50 @@
1
+ import { Observable } from 'rxjs';
2
+ import { EsolveCompetitionOptions } from '../interfaces';
3
+ import { EsolveCompetition, EsolveCompetitionEntryResult } from '../classes';
4
+ import * as i0 from "@angular/core";
5
+ export declare class EsolveCompetitionsService {
6
+ private readonly http;
7
+ private readonly config;
8
+ private readonly errorHandler;
9
+ private readonly responseHandler;
10
+ /**
11
+ * Retrieve a competition based on its ID.
12
+ *
13
+ * @param competition_id - number that represents the unique
14
+ * id of a competition.
15
+ *
16
+ * @returns an Observable of type EsolveCompetition
17
+ */
18
+ getCompetition(competition_id: number): Observable<EsolveCompetition>;
19
+ /**
20
+ * Retrieves a competition based on its identifier.
21
+ *
22
+ * @param identifier - string that represents the identifier of the competition.
23
+ *
24
+ * @returns an Observable of type EsolveCompetition.
25
+ */
26
+ getCompetitionFromIdentifier(identifier: string): Observable<EsolveCompetition>;
27
+ /**
28
+ * Retrieve a list of competitions based on the provided options
29
+ *
30
+ * @param options - Optional options for filtering competitions
31
+ *
32
+ * @returns an Observable of type EsolveCompetition[].
33
+ */
34
+ getCompetitions(options?: EsolveCompetitionOptions): Observable<EsolveCompetition[]>;
35
+ /**
36
+ * Submit a competition entry
37
+ *
38
+ * @param competitions_id - eSolve id of competition.
39
+ *
40
+ * @param form_data - competition entry data
41
+ *
42
+ * @returns an Observable of type EsolveCompetitionEntryResult
43
+ */
44
+ setCompetitionEntry(competitions_id: number, form_data: FormData): Observable<EsolveCompetitionEntryResult>;
45
+ private getCompetitionSingle;
46
+ private getCompetitionRecords;
47
+ private processCompetition;
48
+ static ɵfac: i0.ɵɵFactoryDeclaration<EsolveCompetitionsService, never>;
49
+ static ɵprov: i0.ɵɵInjectableDeclaration<EsolveCompetitionsService>;
50
+ }
@@ -0,0 +1 @@
1
+ export * from './esolve-competitions.service';
@@ -0,0 +1,2 @@
1
+ import { EsolvePostResponseItem } from '../../shared/response';
2
+ export type EsolveCompetitionEntryResponse = EsolvePostResponseItem;
@@ -0,0 +1 @@
1
+ export * from './esolve-competition-entry-response.type';
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@esolve/ng-esolve-connect",
3
- "version": "0.72.0",
3
+ "version": "0.73.0",
4
4
  "homepage": "https://www.esolve.co.za/",
5
5
  "description": "An Angular library that speaks to an eSolve instance's API",
6
6
  "peerDependencies": {