@tolinax/ayoune-interfaces 2025.16.25 → 2026.2.3

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 (41) hide show
  1. package/README.md +132 -132
  2. package/api/IResponseLocals.d.ts +65 -17
  3. package/data/modelNames.d.ts +1 -0
  4. package/data/modelNames.js +1 -0
  5. package/data/modelsAndRights.js +10 -0
  6. package/interfaces/CostBucketResult.d.ts +40 -0
  7. package/interfaces/IAdvertiserDomainKPI.d.ts +9 -0
  8. package/interfaces/IAdvertiserDomainKPI.js +2 -0
  9. package/interfaces/IGeoIPLocation.d.ts +17 -0
  10. package/interfaces/IGeoIPLocation.js +2 -0
  11. package/interfaces/IGoogleAdsAccount.d.ts +19 -0
  12. package/interfaces/IGoogleAdsAccount.js +2 -0
  13. package/interfaces/IGratifyLoopView.d.ts +8 -0
  14. package/interfaces/IGratifyLoopView.js +2 -0
  15. package/interfaces/IIABCategoryMappings.d.ts +11 -0
  16. package/interfaces/IIABCategoryMappings.js +2 -0
  17. package/interfaces/IIndustryBudget.d.ts +22 -0
  18. package/interfaces/IIndustryBudget.js +2 -0
  19. package/interfaces/IIndustryKPIs.d.ts +20 -0
  20. package/interfaces/IIndustryKPIs.js +2 -0
  21. package/interfaces/IModel.d.ts +3 -0
  22. package/interfaces/IModel.js +2 -0
  23. package/interfaces/IStreamPart.d.ts +0 -0
  24. package/interfaces/IStreamPart.js +1 -0
  25. package/interfaces/IValues.d.ts +3 -0
  26. package/interfaces/IValues.js +2 -0
  27. package/interfaces/IaYOUneAdvertisementLocation.d.ts +12 -0
  28. package/interfaces/IaYOUneAdvertisementLocation.js +2 -0
  29. package/interfaces/IaYOUneDomainMeta.d.ts +6 -0
  30. package/interfaces/IaYOUneDomainMeta.js +2 -0
  31. package/interfaces/IaYOUneKeywordKPIs.d.ts +162 -0
  32. package/interfaces/IaYOUneKeywordKPIs.js +13 -0
  33. package/interfaces/IaYOUneSocialAccounts.d.ts +19 -0
  34. package/interfaces/IaYOUneSocialAccounts.js +2 -0
  35. package/interfaces/index.d.ts +1 -0
  36. package/interfaces/index.js +1 -0
  37. package/interfaces//303/216CostBucketResult.d.ts +40 -0
  38. package/interfaces//303/216CostBucketResult.js +2 -0
  39. package/package.json +107 -107
  40. package/interfaces/ICardReaders.d.ts +0 -11
  41. /package/interfaces/{ICardReaders.js → CostBucketResult.js} +0 -0
package/README.md CHANGED
@@ -1,132 +1,132 @@
1
- # aYOUne Interfaces
2
-
3
- A comprehensive TypeScript interfaces library for the aYOUne platform - a modular business as a Service platform.
4
-
5
- [![npm version](https://badge.fury.io/js/@tolinax%2Fayoune-interfaces.svg)](https://badge.fury.io/js/@tolinax%2Fayoune-interfaces)
6
- [![License: LGPL-3.0](https://img.shields.io/badge/License-LGPL-yellow.svg)](https://opensource.org/license/lgpl-3-0)
7
-
8
- ## Overview
9
-
10
- This library provides TypeScript type definitions and data exports for the aYOUne platform, which includes modules for:
11
-
12
- - **AI** - Artificial Intelligence services
13
- - **CRM** - Customer Relationship Management
14
- - **CMS** - Content Management System
15
- - **Marketing** - Marketing automation and campaigns
16
- - **Automation** - Business process automation
17
- - **PM** - Project Management
18
- - **E-commerce** - Online store management
19
- - And many more specialized modules
20
-
21
- ## Installation
22
-
23
- ```bash
24
- npm install @tolinax/ayoune-interfaces
25
- ```
26
-
27
- ## Usage
28
-
29
- ### Importing Interfaces
30
-
31
- ```typescript
32
- import { IAPI, ITicket, IaYOUneUser } from '@tolinax/ayoune-interfaces';
33
-
34
- // Use interfaces for type safety
35
- const api: IAPI = {
36
- _customerID: "customer123",
37
- _clientID: [],
38
- _subID: [],
39
- _user: "user456",
40
- name: "My API",
41
- callback_url: "https://example.com/callback",
42
- access_token: "token123",
43
- access_token_key: "key456",
44
- active: true,
45
- scopes: [{ key: "read" }],
46
- limit: false,
47
- rateLimit: 1000
48
- };
49
- ```
50
-
51
- ### Importing Data and Enums
52
-
53
- ```typescript
54
- import { aYOUneServices, aYOUneModules, aMN } from '@tolinax/ayoune-interfaces';
55
-
56
- // Access service definitions
57
- console.log(aYOUneServices); // Array of all aYOUne services with hosts
58
-
59
- // Access module definitions
60
- console.log(aYOUneModules); // Array of platform modules
61
-
62
- // Use model names enum
63
- const collectionName = aMN.AIConversations; // "AIConversations"
64
- ```
65
-
66
- ## API Reference
67
-
68
- ### Core Interfaces
69
-
70
- All interfaces extend `IDefaultFields` which provides common MongoDB document fields:
71
-
72
- - `_id`: ObjectId
73
- - `created`: Date
74
- - `updated`: Date
75
- - Other standard database fields
76
-
77
- ### Data Exports
78
-
79
- #### Services (`aYOUneServices`)
80
- Array of service definitions with:
81
- - `label`: Human-readable service name
82
- - `module`: Associated platform module
83
- - `host`: Service hostname
84
-
85
- #### Modules (`aYOUneModules`)
86
- Array of platform modules with:
87
- - `label`: Module display name
88
- - `module`: Module identifier
89
- - `host`: Module hostname
90
-
91
- #### Model Names (`aMN`)
92
- Enum containing all MongoDB collection names used across the platform.
93
-
94
- ## Development
95
-
96
- ### Building
97
-
98
- ```bash
99
- npm run build
100
- ```
101
-
102
- ### Release
103
-
104
- This project uses conventional commits and automated releases:
105
-
106
- ```bash
107
- npm run release
108
- ```
109
-
110
- ## Platform Architecture
111
-
112
- The aYOUne platform consists of multiple specialized services:
113
-
114
- - **Global Services**: Middleware, Datatables, Barcodes, Scripts
115
- - **AI Services**: Text/Image/Video Generation, Text-to-Speech
116
- - **CMS Services**: Media, Content Snippets, Dynamic Content
117
- - **Business Services**: CRM, PM, Marketing, Automation
118
- - **Analytics**: Statistics, Monitoring, Reporting
119
- - **E-commerce**: Sales, Purchase, Accounting
120
-
121
- Each service is independently deployable and communicates through well-defined interfaces provided by this library.
122
-
123
- ## Contributing
124
-
125
- 1. Follow conventional commit format (`feat:`, `fix:`, `docs:`, etc.)
126
- 2. All interfaces should extend `IDefaultFields` when appropriate
127
- 3. Use consistent naming: interfaces start with `I`, data exports use descriptive names
128
- 4. Update CHANGELOG.md entries are generated automatically
129
-
130
- ## License
131
-
132
- LGPL-3.0 © tolinax
1
+ # aYOUne Interfaces
2
+
3
+ A comprehensive TypeScript interfaces library for the aYOUne platform - a modular business as a Service platform.
4
+
5
+ [![npm version](https://badge.fury.io/js/@tolinax%2Fayoune-interfaces.svg)](https://badge.fury.io/js/@tolinax%2Fayoune-interfaces)
6
+ [![License: LGPL-3.0](https://img.shields.io/badge/License-LGPL-yellow.svg)](https://opensource.org/license/lgpl-3-0)
7
+
8
+ ## Overview
9
+
10
+ This library provides TypeScript type definitions and data exports for the aYOUne platform, which includes modules for:
11
+
12
+ - **AI** - Artificial Intelligence services
13
+ - **CRM** - Customer Relationship Management
14
+ - **CMS** - Content Management System
15
+ - **Marketing** - Marketing automation and campaigns
16
+ - **Automation** - Business process automation
17
+ - **PM** - Project Management
18
+ - **E-commerce** - Online store management
19
+ - And many more specialized modules
20
+
21
+ ## Installation
22
+
23
+ ```bash
24
+ npm install @tolinax/ayoune-interfaces
25
+ ```
26
+
27
+ ## Usage
28
+
29
+ ### Importing Interfaces
30
+
31
+ ```typescript
32
+ import { IAPI, ITicket, IaYOUneUser } from '@tolinax/ayoune-interfaces';
33
+
34
+ // Use interfaces for type safety
35
+ const api: IAPI = {
36
+ _customerID: "customer123",
37
+ _clientID: [],
38
+ _subID: [],
39
+ _user: "user456",
40
+ name: "My API",
41
+ callback_url: "https://example.com/callback",
42
+ access_token: "token123",
43
+ access_token_key: "key456",
44
+ active: true,
45
+ scopes: [{ key: "read" }],
46
+ limit: false,
47
+ rateLimit: 1000
48
+ };
49
+ ```
50
+
51
+ ### Importing Data and Enums
52
+
53
+ ```typescript
54
+ import { aYOUneServices, aYOUneModules, aMN } from '@tolinax/ayoune-interfaces';
55
+
56
+ // Access service definitions
57
+ console.log(aYOUneServices); // Array of all aYOUne services with hosts
58
+
59
+ // Access module definitions
60
+ console.log(aYOUneModules); // Array of platform modules
61
+
62
+ // Use model names enum
63
+ const collectionName = aMN.AIConversations; // "AIConversations"
64
+ ```
65
+
66
+ ## API Reference
67
+
68
+ ### Core Interfaces
69
+
70
+ All interfaces extend `IDefaultFields` which provides common MongoDB document fields:
71
+
72
+ - `_id`: ObjectId
73
+ - `created`: Date
74
+ - `updated`: Date
75
+ - Other standard database fields
76
+
77
+ ### Data Exports
78
+
79
+ #### Services (`aYOUneServices`)
80
+ Array of service definitions with:
81
+ - `label`: Human-readable service name
82
+ - `module`: Associated platform module
83
+ - `host`: Service hostname
84
+
85
+ #### Modules (`aYOUneModules`)
86
+ Array of platform modules with:
87
+ - `label`: Module display name
88
+ - `module`: Module identifier
89
+ - `host`: Module hostname
90
+
91
+ #### Model Names (`aMN`)
92
+ Enum containing all MongoDB collection names used across the platform.
93
+
94
+ ## Development
95
+
96
+ ### Building
97
+
98
+ ```bash
99
+ npm run build
100
+ ```
101
+
102
+ ### Release
103
+
104
+ This project uses conventional commits and automated releases:
105
+
106
+ ```bash
107
+ npm run release
108
+ ```
109
+
110
+ ## Platform Architecture
111
+
112
+ The aYOUne platform consists of multiple specialized services:
113
+
114
+ - **Global Services**: Middleware, Datatables, Barcodes, Scripts
115
+ - **AI Services**: Text/Image/Video Generation, Text-to-Speech
116
+ - **CMS Services**: Media, Content Snippets, Dynamic Content
117
+ - **Business Services**: CRM, PM, Marketing, Automation
118
+ - **Analytics**: Statistics, Monitoring, Reporting
119
+ - **E-commerce**: Sales, Purchase, Accounting
120
+
121
+ Each service is independently deployable and communicates through well-defined interfaces provided by this library.
122
+
123
+ ## Contributing
124
+
125
+ 1. Follow conventional commit format (`feat:`, `fix:`, `docs:`, etc.)
126
+ 2. All interfaces should extend `IDefaultFields` when appropriate
127
+ 3. Use consistent naming: interfaces start with `I`, data exports use descriptive names
128
+ 4. Update CHANGELOG.md entries are generated automatically
129
+
130
+ ## License
131
+
132
+ LGPL-3.0 © tolinax
@@ -28,40 +28,88 @@ export interface IResponseCursor {
28
28
  limit: number;
29
29
  [key: string]: any;
30
30
  }
31
+ export interface IResponsePage {
32
+ current?: number;
33
+ total?: number;
34
+ size?: number;
35
+ [key: string]: any;
36
+ }
31
37
  export interface IResponseRateLimit {
32
38
  limit: string;
33
39
  remaining: string;
34
40
  reset: string;
35
41
  resetDate: string;
36
42
  }
37
- export interface IResponseLocals {
43
+ export interface IResponseIdentity {
38
44
  id?: string;
39
45
  ids?: string[];
40
- errors?: any[];
46
+ apiId?: string;
47
+ patId?: string;
48
+ debugId?: string;
49
+ }
50
+ export interface IResponseAuth {
41
51
  user?: IaYOUneUser | IConsumer;
42
52
  _consumer?: IConsumer;
43
- options?: IaYOUneExpressOptions;
44
- middlewareFlow?: string[];
45
- startHrTime?: [number, number];
46
- isValid?: boolean;
47
- type?: string;
53
+ isAPI?: boolean;
54
+ apiObject?: any;
55
+ }
56
+ export interface IResponseRights {
57
+ requiredRights?: string[];
58
+ userRights?: string[];
59
+ customerRights?: string[];
60
+ }
61
+ export interface IResponseQuery {
62
+ query?: any;
63
+ parsedQuery?: any;
64
+ dbQuery?: any;
65
+ fields?: any;
66
+ cursor?: IResponseCursor;
67
+ page?: IResponsePage;
68
+ }
69
+ export type ResponseMode = "default" | "redirect";
70
+ export type ResponseType = "application/json" | "text/csv" | "application/xml" | "text/yaml" | string;
71
+ export interface IResponseConfig {
48
72
  status?: number;
73
+ type?: ResponseType;
74
+ responseData?: any;
75
+ responseMode?: ResponseMode;
76
+ redirectUrl?: string;
77
+ plain?: boolean;
78
+ yaml?: boolean;
79
+ }
80
+ export interface IResponseClient {
49
81
  ip?: string;
50
82
  location?: IResponseLocationInfo;
51
- ayouneParams?: Record<string, string>;
52
- inbound?: IResponseInboundTraffic;
53
83
  device?: IResponseDevice;
54
- responseData?: any;
55
- debugId?: string;
84
+ device_type?: string;
85
+ inbound?: IResponseInboundTraffic;
86
+ }
87
+ export interface IResponseMeta {
88
+ model?: string;
56
89
  module?: string;
57
90
  space?: string;
58
91
  fn?: string;
59
- cursor?: IResponseCursor;
60
- query?: any;
61
- fields?: any;
62
- plain?: boolean;
63
- yaml?: boolean;
64
- rateLimit?: IResponseRateLimit;
92
+ ayouneParams?: Record<string, string>;
93
+ }
94
+ export interface IResponseHypermedia {
95
+ actions?: any[];
65
96
  links?: IAPILink[];
97
+ paths?: string[];
98
+ }
99
+ export interface IResponseAudit {
100
+ audit?: any;
101
+ debug?: boolean;
102
+ errors?: any[];
103
+ middlewareFlow?: string[];
104
+ startHrTime?: [number, number];
105
+ }
106
+ export interface IResponseFieldManagement {
107
+ removedFields?: string[];
108
+ updateMode?: "replace" | "merge" | string;
109
+ }
110
+ export interface IResponseLocals extends IResponseIdentity, IResponseAuth, IResponseRights, IResponseQuery, IResponseConfig, IResponseClient, IResponseMeta, IResponseHypermedia, IResponseAudit, IResponseFieldManagement {
111
+ options?: IaYOUneExpressOptions;
112
+ isValid?: boolean;
113
+ rateLimit?: IResponseRateLimit;
66
114
  [key: string]: any;
67
115
  }
@@ -272,6 +272,7 @@ export declare enum aMN {
272
272
  GlobalSettings = "GlobalSettings",
273
273
  Glossaries = "Glossaries",
274
274
  Goals = "Goals",
275
+ GratifyLoopViews = "GratifyLoopViews",
275
276
  GoodsReceipts = "GoodsReceipts",
276
277
  GoogleAssistantIntents = "GoogleAssistantIntents",
277
278
  HashTags = "HashTags",
@@ -276,6 +276,7 @@ var aMN;
276
276
  aMN["GlobalSettings"] = "GlobalSettings";
277
277
  aMN["Glossaries"] = "Glossaries";
278
278
  aMN["Goals"] = "Goals";
279
+ aMN["GratifyLoopViews"] = "GratifyLoopViews";
279
280
  aMN["GoodsReceipts"] = "GoodsReceipts";
280
281
  aMN["GoogleAssistantIntents"] = "GoogleAssistantIntents";
281
282
  aMN["HashTags"] = "HashTags";
@@ -2950,6 +2950,16 @@ const modelsAndRights = [
2950
2950
  allowDuplicate: true,
2951
2951
  updateBy: "_id",
2952
2952
  },
2953
+ {
2954
+ plural: "GratifyLoopViews",
2955
+ singular: "GratifyLoopView",
2956
+ module: "general",
2957
+ right: "general.gratifyloopviews",
2958
+ readOnly: true,
2959
+ importable: false,
2960
+ allowDuplicate: false,
2961
+ updateBy: "_id",
2962
+ },
2953
2963
  {
2954
2964
  plural: "GoodsReceipts",
2955
2965
  singular: "GoodsReceipt",
@@ -0,0 +1,40 @@
1
+ import { IDefaultFields } from "./IDefaultFields";
2
+ export interface ICostBucketResult extends IDefaultFields {
3
+ lab: boolean;
4
+ environment: "production" | "lab" | "all";
5
+ _customerID: ObjectId;
6
+ _research: ObjectId;
7
+ date?: Date;
8
+ numKeywords?: number;
9
+ bid?: number;
10
+ maxCPC?: number;
11
+ avgCPC?: number;
12
+ minCPC?: number;
13
+ maxCost?: number;
14
+ avgCost?: number;
15
+ minCost?: number;
16
+ maxClicks?: number;
17
+ avgClicks?: number;
18
+ minClicks?: number;
19
+ maxImpressions?: number;
20
+ avgImpressions?: number;
21
+ minImpressions?: number;
22
+ maxConversions?: number;
23
+ avgConversions?: number;
24
+ minConversions?: number;
25
+ maxConversionRate?: number;
26
+ avgConversionRate?: number;
27
+ minConversionRate?: number;
28
+ maxCTR?: number;
29
+ avgCTR?: number;
30
+ minCTR?: number;
31
+ maxCPA?: number;
32
+ avgCPA?: number;
33
+ minCPA?: number;
34
+ maxAds?: number;
35
+ breakPointMin?: number;
36
+ breakPointMax?: number;
37
+ breakPointAvg?: number;
38
+ market?: string;
39
+ category?: string;
40
+ }
@@ -0,0 +1,9 @@
1
+ import { IDefaultFields } from "./IDefaultFields";
2
+ export interface IAdvertiserWeeklyDomainKPI extends IDefaultFields {
3
+ _customerID?: ObjectId;
4
+ domain?: string;
5
+ device?: string;
6
+ iab?: string;
7
+ iabLabel?: string;
8
+ benchmark?: string;
9
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,17 @@
1
+ export interface IGeoIPLocationTracking {
2
+ ip?: string;
3
+ range?: number[];
4
+ country?: string;
5
+ region?: string;
6
+ eu?: string;
7
+ timezone?: string;
8
+ city?: string;
9
+ ll?: number[];
10
+ metro?: number;
11
+ area?: number;
12
+ device?: string;
13
+ query?: string;
14
+ url?: string;
15
+ fingerprint?: string;
16
+ referrer?: string;
17
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,19 @@
1
+ import { IDefaultFields } from "./IDefaultFields";
2
+ export interface IGoogleAdsAccount extends IDefaultFields {
3
+ name: string;
4
+ meta: {
5
+ active: boolean;
6
+ oAuthLink: string;
7
+ keyGenLink: string;
8
+ };
9
+ googleAdsClient: {
10
+ client_id: string;
11
+ client_secret: string;
12
+ developer_token: string;
13
+ };
14
+ customerClient: {
15
+ customer_id: string;
16
+ login_customer_id: string;
17
+ refresh_token: string;
18
+ };
19
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,8 @@
1
+ import { IDefaultFields } from "./IDefaultFields";
2
+ import { IaYOUneTrackingParams } from "./IaYOUneTrackingParams";
3
+ import { IGeoIPLocationTracking } from "./IGeoIPLocationTracking";
4
+ export interface IGratifyLoopView extends IaYOUneTrackingParams, IGeoIPLocationTracking, IDefaultFields {
5
+ fingerprint_view?: string;
6
+ fingerprint?: string;
7
+ fingerprint_raw?: any;
8
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,11 @@
1
+ import { IDefaultFields } from "./IDefaultFields";
2
+ interface Mapping {
3
+ IABCategory: string;
4
+ label: string;
5
+ }
6
+ export interface IIABCategoryMapping extends IDefaultFields {
7
+ _id?: ObjectId;
8
+ _customerID?: ObjectId;
9
+ mappings: Mapping[];
10
+ }
11
+ export {};
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,22 @@
1
+ import { IDefaultFields } from "./IDefaultFields";
2
+ export interface IMarketBudget extends IDefaultFields {
3
+ lab: boolean;
4
+ environment: "production" | "lab" | "all";
5
+ _industry: ObjectId;
6
+ _company: ObjectId;
7
+ date: Date;
8
+ domain?: string;
9
+ host?: string;
10
+ ads: number;
11
+ avgPosition: number;
12
+ avgMonthlySearches: number;
13
+ avgCPC: number;
14
+ impressions: number;
15
+ deliveryRate: number;
16
+ termsCount: number;
17
+ terms: any[];
18
+ budget: number;
19
+ market?: string;
20
+ region?: string;
21
+ device?: string;
22
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,20 @@
1
+ import { IDefaultFields } from "./IDefaultFields";
2
+ export interface IIndustryKPI extends IDefaultFields {
3
+ lab: boolean;
4
+ environment: "production" | "lab" | "all";
5
+ _industry: ObjectId;
6
+ date: Date;
7
+ host?: string;
8
+ ads: number;
9
+ avgPosition: number;
10
+ avgMonthlySearches: number;
11
+ avgCPC: number;
12
+ impressions: number;
13
+ deliveryRate: number;
14
+ termsCount: number;
15
+ terms: any[];
16
+ budget: number;
17
+ market?: string;
18
+ region?: string;
19
+ device?: string;
20
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,3 @@
1
+ export interface IModel<T extends Document> {
2
+ dataTable?(query?: any, options?: any): Promise<any>;
3
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
File without changes
@@ -0,0 +1 @@
1
+ "use strict";
@@ -0,0 +1,3 @@
1
+ export interface ILabels {
2
+ [key: string]: string;
3
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,12 @@
1
+ import { IDefaultFields } from "./IDefaultFields";
2
+ import { IAddress } from "./IAddress";
3
+ export interface IaYOUneAdvertisementLocation extends IDefaultFields {
4
+ _customerID?: ObjectId;
5
+ name?: string;
6
+ note?: string;
7
+ address?: IAddress;
8
+ prioritizeOwnAds?: boolean;
9
+ ratio?: number;
10
+ mediaTypes?: string[];
11
+ locale?: string;
12
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,6 @@
1
+ import { IDefaultFields } from "./IDefaultFields";
2
+ export interface IAdvertiserDomainMeta extends IDefaultFields {
3
+ _customerID?: ObjectId;
4
+ domain?: string;
5
+ category?: string;
6
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -0,0 +1,162 @@
1
+ import { IDefaultFields } from "./IDefaultFields";
2
+ declare enum Environment {
3
+ production = "production",
4
+ lab = "lab",
5
+ all = "all"
6
+ }
7
+ declare enum Device {
8
+ mobile = "mobile",
9
+ desktop = "desktop"
10
+ }
11
+ interface LastChecks {
12
+ mobile?: Date;
13
+ desktop?: Date;
14
+ priceRange?: Date;
15
+ price?: Date;
16
+ trends?: Date;
17
+ keyword_planner?: Date;
18
+ }
19
+ interface Cost {
20
+ createdAt?: Date;
21
+ bid?: number;
22
+ grp?: number;
23
+ cpc?: number;
24
+ cpd?: number;
25
+ cost?: number;
26
+ impressions?: number;
27
+ ctr?: number;
28
+ }
29
+ interface Annotation {
30
+ name?: string;
31
+ concept_group: {
32
+ name?: string;
33
+ type?: string;
34
+ };
35
+ }
36
+ interface MonthlySearch {
37
+ year?: string;
38
+ month?: string;
39
+ monthly_searches?: number;
40
+ }
41
+ interface Related {
42
+ _keyword?: string;
43
+ }
44
+ interface Question {
45
+ _keyword?: string;
46
+ }
47
+ interface Preposition {
48
+ modifier?: string;
49
+ _keyword?: string;
50
+ }
51
+ interface Comparison {
52
+ modifier?: string;
53
+ _keyword?: string;
54
+ }
55
+ interface Alphabetical {
56
+ modifier?: string;
57
+ _keyword?: string;
58
+ }
59
+ interface Translation {
60
+ locale?: string;
61
+ _keyword?: string;
62
+ }
63
+ interface IABCategory {
64
+ _id?: string;
65
+ label?: string;
66
+ parent?: string;
67
+ count?: number;
68
+ }
69
+ export interface IaYOUneKeyword extends IDefaultFields {
70
+ lab?: boolean;
71
+ environment?: Environment;
72
+ keyword: string;
73
+ niceName?: string;
74
+ locale: string;
75
+ last_checks?: LastChecks;
76
+ _lastDevice?: string;
77
+ lastDeviceKind?: Device;
78
+ next_check?: Date;
79
+ needsCheck?: boolean;
80
+ needsManualIndustrySelection?: boolean;
81
+ active?: boolean;
82
+ isQuestion?: boolean;
83
+ isMisspelling?: boolean;
84
+ isMisspellingOf?: string;
85
+ correctSpelling?: string;
86
+ keywordPlanner?: boolean;
87
+ hasAds?: boolean;
88
+ hasAdsOnMobile?: boolean;
89
+ hasAdsOnTablet?: boolean;
90
+ hasAdsOnDesktop?: boolean;
91
+ hasPLA?: boolean;
92
+ hasPLAOnMobile?: boolean;
93
+ hasPLAOnTablet?: boolean;
94
+ hasPLAOnDesktop?: boolean;
95
+ hasSEA?: boolean;
96
+ hasSEAOnMobile?: boolean;
97
+ hasSEAOnTablet?: boolean;
98
+ hasSEAOnDesktop?: boolean;
99
+ hasFlights?: boolean;
100
+ hasFlightsOnMobile?: boolean;
101
+ hasFlightsOnTablet?: boolean;
102
+ hasFlightsOnDesktop?: boolean;
103
+ hasBooking?: boolean;
104
+ hasBookingOnMobile?: boolean;
105
+ hasBookingOnTablet?: boolean;
106
+ hasBookingOnDesktop?: boolean;
107
+ hasKnowledgeGraph?: boolean;
108
+ hasKnowledgeGraphsOnMobile?: boolean;
109
+ hasKnowledgeGraphsOnTablet?: boolean;
110
+ hasKnowledgeGraphOnDesktop?: boolean;
111
+ hasBooks?: boolean;
112
+ hasVideos?: boolean;
113
+ hasCosts?: boolean;
114
+ hasTrends?: boolean;
115
+ avgGrp?: number;
116
+ avgCpc?: number;
117
+ avgCpcGoogle?: number;
118
+ avgCpcIndustry?: number;
119
+ avgCpd?: number;
120
+ avgCpdIndustry?: number;
121
+ avgCost?: number;
122
+ avgCostIndustry?: number;
123
+ avgCtr?: number;
124
+ avgCtrIndustry?: number;
125
+ avgImpressions?: number;
126
+ avgImpressionsIndustry?: number;
127
+ breakPointMin?: number;
128
+ breakPointMax?: number;
129
+ breakPointAvg?: number;
130
+ costs?: Cost[];
131
+ domainAssumptions?: any[];
132
+ domainProves?: any[];
133
+ interest?: number;
134
+ competition?: string;
135
+ competitionIndex?: number;
136
+ participants?: number;
137
+ competitiveness?: number;
138
+ avgMonthlySearches?: number;
139
+ lowTopOfPageBidMicros?: number;
140
+ highTopOfPageBidMicros?: number;
141
+ annotations?: Annotation[];
142
+ monthlySearches?: MonthlySearch[];
143
+ type?: string;
144
+ kind?: string;
145
+ origin?: string;
146
+ industry?: ObjectId;
147
+ subIndustry?: ObjectId;
148
+ related?: Related[];
149
+ synonyms?: Related[];
150
+ questions?: Question[];
151
+ prepositions?: Preposition[];
152
+ comparisons?: Comparison[];
153
+ alphabeticals?: Alphabetical[];
154
+ translations?: Translation[];
155
+ serps?: string[];
156
+ IABCategories?: IABCategory[];
157
+ mainCategory?: string;
158
+ mainCategoryLabel?: string;
159
+ subCategory?: string;
160
+ subCategoryLabel?: string;
161
+ }
162
+ export {};
@@ -0,0 +1,13 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ var Environment;
4
+ (function (Environment) {
5
+ Environment["production"] = "production";
6
+ Environment["lab"] = "lab";
7
+ Environment["all"] = "all";
8
+ })(Environment || (Environment = {}));
9
+ var Device;
10
+ (function (Device) {
11
+ Device["mobile"] = "mobile";
12
+ Device["desktop"] = "desktop";
13
+ })(Device || (Device = {}));
@@ -0,0 +1,19 @@
1
+ import { IDefaultFields } from "./IDefaultFields";
2
+ export interface IaYOUneSocialAccount extends IDefaultFields {
3
+ name: string;
4
+ meta: {
5
+ active: boolean;
6
+ oAuthLink: string;
7
+ keyGenLink: string;
8
+ };
9
+ googleAdsClient: {
10
+ client_id: string;
11
+ client_secret: string;
12
+ developer_token: string;
13
+ };
14
+ customerClient: {
15
+ customer_id: string;
16
+ login_customer_id: string;
17
+ refresh_token: string;
18
+ };
19
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -292,6 +292,7 @@ export * from "./IGlobalKPITemplate";
292
292
  export * from "./IGlobalSetting";
293
293
  export * from "./IGlossary";
294
294
  export * from "./IGoal";
295
+ export * from "./IGratifyLoopView";
295
296
  export * from "./IGoodsReceipt";
296
297
  export * from "./IaYOUneGoogleAdsAccount";
297
298
  export * from "./IGoogleAssistantIntent";
@@ -308,6 +308,7 @@ __exportStar(require("./IGlobalKPITemplate"), exports);
308
308
  __exportStar(require("./IGlobalSetting"), exports);
309
309
  __exportStar(require("./IGlossary"), exports);
310
310
  __exportStar(require("./IGoal"), exports);
311
+ __exportStar(require("./IGratifyLoopView"), exports);
311
312
  __exportStar(require("./IGoodsReceipt"), exports);
312
313
  __exportStar(require("./IaYOUneGoogleAdsAccount"), exports);
313
314
  __exportStar(require("./IGoogleAssistantIntent"), exports);
@@ -0,0 +1,40 @@
1
+ import { IDefaultFields } from "./IDefaultFields";
2
+ export interface ICostBucketResult extends IDefaultFields {
3
+ lab: boolean;
4
+ environment: "production" | "lab" | "all";
5
+ _customerID: ObjectId;
6
+ _research: ObjectId;
7
+ date?: Date;
8
+ numKeywords?: number;
9
+ bid?: number;
10
+ maxCPC?: number;
11
+ avgCPC?: number;
12
+ minCPC?: number;
13
+ maxCost?: number;
14
+ avgCost?: number;
15
+ minCost?: number;
16
+ maxClicks?: number;
17
+ avgClicks?: number;
18
+ minClicks?: number;
19
+ maxImpressions?: number;
20
+ avgImpressions?: number;
21
+ minImpressions?: number;
22
+ maxConversions?: number;
23
+ avgConversions?: number;
24
+ minConversions?: number;
25
+ maxConversionRate?: number;
26
+ avgConversionRate?: number;
27
+ minConversionRate?: number;
28
+ maxCTR?: number;
29
+ avgCTR?: number;
30
+ minCTR?: number;
31
+ maxCPA?: number;
32
+ avgCPA?: number;
33
+ minCPA?: number;
34
+ maxAds?: number;
35
+ breakPointMin?: number;
36
+ breakPointMax?: number;
37
+ breakPointAvg?: number;
38
+ market?: string;
39
+ category?: string;
40
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
package/package.json CHANGED
@@ -1,107 +1,107 @@
1
- {
2
- "name": "@tolinax/ayoune-interfaces",
3
- "version": "2025.16.25",
4
- "description": "Houses TypeScript interfaces for aYOUne",
5
- "main": "dist/index.js",
6
- "types": "dist/index.d.ts",
7
- "scripts": {
8
- "build": "npx tsc",
9
- "copy-package": "cpx package.json dist",
10
- "copy-readme": "cpx README.md dist",
11
- "prerelease": "npm run build",
12
- "release": "release-it --ci",
13
- "postrelease": "npm run release-package",
14
- "prerelease-package": "npm run copy-package && npm run copy-readme",
15
- "release-package": "cd dist && npm publish",
16
- "test": "echo \"Error: no test specified\" && exit 1"
17
- },
18
- "repository": {
19
- "type": "git",
20
- "url": "git+https://github.com/ayoune/ayoune-interfaces.git"
21
- },
22
- "keywords": [
23
- "typescript",
24
- "interfaces"
25
- ],
26
- "author": "tolinax",
27
- "license": "LGPL-3.0",
28
- "bugs": {
29
- "url": "https://github.com/ayoune/ayoune-interfaces/issues"
30
- },
31
- "homepage": "https://github.com/ayoune/ayoune-interfaces#readme",
32
- "release-it": {
33
- "git": {
34
- "changelog": "git log --pretty=format:\"* %s (%h)\" ${from}...${to}",
35
- "requireCleanWorkingDir": false,
36
- "addUntrackedFiles": true,
37
- "commit": true,
38
- "push": true,
39
- "commitMessage": "ci(chore): release v${version}\n\n${changelog}",
40
- "tag": true
41
- },
42
- "npm": {
43
- "publish": false
44
- },
45
- "plugins": {
46
- "@release-it/conventional-changelog": {
47
- "preset": {
48
- "name": "conventionalcommits",
49
- "header": "# Changelog",
50
- "types": [
51
- {
52
- "type": "feat",
53
- "section": "Features"
54
- },
55
- {
56
- "type": "fix",
57
- "section": "Bug Fixes"
58
- },
59
- {
60
- "type": "chore",
61
- "section": "Chores"
62
- },
63
- {
64
- "type": "docs",
65
- "section": "Docs"
66
- },
67
- {
68
- "type": "style",
69
- "section": "Style changes"
70
- },
71
- {
72
- "type": "refactor",
73
- "section": "Refactorings"
74
- },
75
- {
76
- "type": "perf",
77
- "section": "Performance"
78
- },
79
- {
80
- "type": "test",
81
- "section": "Tests"
82
- },
83
- {
84
- "type": "ci",
85
- "section": "Continous Integration"
86
- },
87
- {
88
- "type": "build",
89
- "section": "Build Process"
90
- },
91
- {
92
- "type": "infra",
93
- "section": "Infrastructure"
94
- }
95
- ]
96
- },
97
- "infile": "CHANGELOG.md"
98
- }
99
- }
100
- },
101
- "dependencies": {},
102
- "devDependencies": {
103
- "@release-it/conventional-changelog": "^5.0.0",
104
- "cpx": "^1.5.0",
105
- "typescript": "^5.3.3"
106
- }
107
- }
1
+ {
2
+ "name": "@tolinax/ayoune-interfaces",
3
+ "version": "2026.2.3",
4
+ "description": "Houses TypeScript interfaces for aYOUne",
5
+ "main": "dist/index.js",
6
+ "types": "dist/index.d.ts",
7
+ "scripts": {
8
+ "build": "npx tsc",
9
+ "copy-package": "cpx package.json dist",
10
+ "copy-readme": "cpx README.md dist",
11
+ "prerelease": "npm run build",
12
+ "release": "release-it --ci",
13
+ "postrelease": "npm run release-package",
14
+ "prerelease-package": "npm run copy-package && npm run copy-readme",
15
+ "release-package": "cd dist && npm publish",
16
+ "test": "echo \"Error: no test specified\" && exit 1"
17
+ },
18
+ "repository": {
19
+ "type": "git",
20
+ "url": "git+https://github.com/ayoune/ayoune-interfaces.git"
21
+ },
22
+ "keywords": [
23
+ "typescript",
24
+ "interfaces"
25
+ ],
26
+ "author": "tolinax",
27
+ "license": "LGPL-3.0",
28
+ "bugs": {
29
+ "url": "https://github.com/ayoune/ayoune-interfaces/issues"
30
+ },
31
+ "homepage": "https://github.com/ayoune/ayoune-interfaces#readme",
32
+ "release-it": {
33
+ "git": {
34
+ "changelog": "git log --pretty=format:\"* %s (%h)\" ${from}...${to}",
35
+ "requireCleanWorkingDir": false,
36
+ "addUntrackedFiles": true,
37
+ "commit": true,
38
+ "push": true,
39
+ "commitMessage": "ci(chore): release v${version}\n\n${changelog}",
40
+ "tag": true
41
+ },
42
+ "npm": {
43
+ "publish": false
44
+ },
45
+ "plugins": {
46
+ "@release-it/conventional-changelog": {
47
+ "preset": {
48
+ "name": "conventionalcommits",
49
+ "header": "# Changelog",
50
+ "types": [
51
+ {
52
+ "type": "feat",
53
+ "section": "Features"
54
+ },
55
+ {
56
+ "type": "fix",
57
+ "section": "Bug Fixes"
58
+ },
59
+ {
60
+ "type": "chore",
61
+ "section": "Chores"
62
+ },
63
+ {
64
+ "type": "docs",
65
+ "section": "Docs"
66
+ },
67
+ {
68
+ "type": "style",
69
+ "section": "Style changes"
70
+ },
71
+ {
72
+ "type": "refactor",
73
+ "section": "Refactorings"
74
+ },
75
+ {
76
+ "type": "perf",
77
+ "section": "Performance"
78
+ },
79
+ {
80
+ "type": "test",
81
+ "section": "Tests"
82
+ },
83
+ {
84
+ "type": "ci",
85
+ "section": "Continous Integration"
86
+ },
87
+ {
88
+ "type": "build",
89
+ "section": "Build Process"
90
+ },
91
+ {
92
+ "type": "infra",
93
+ "section": "Infrastructure"
94
+ }
95
+ ]
96
+ },
97
+ "infile": "CHANGELOG.md"
98
+ }
99
+ }
100
+ },
101
+ "dependencies": {},
102
+ "devDependencies": {
103
+ "@release-it/conventional-changelog": "^5.0.0",
104
+ "cpx": "^1.5.0",
105
+ "typescript": "^5.3.3"
106
+ }
107
+ }
@@ -1,11 +0,0 @@
1
- import { IDefaultFields } from "./IDefaultFields";
2
- export interface ICardReader extends IDefaultFields {
3
- _customerID: ObjectId;
4
- _clientID?: ObjectId[];
5
- _subID?: ObjectId[];
6
- name?: string;
7
- provider?: "PayPal" | "Stripe" | "SumUp" | "Mollie";
8
- status?: string;
9
- device?: any;
10
- meta?: any;
11
- }