agrs-sequelize-sdk 1.3.82 → 1.3.83

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.
@@ -0,0 +1,156 @@
1
+ module.exports = (sequelize, DataTypes) => {
2
+ const FacebookRetryQueue = sequelize.define(
3
+ "FacebookRetryQueue",
4
+ {
5
+ id: {
6
+ type: DataTypes.INTEGER,
7
+ primaryKey: true,
8
+ autoIncrement: true,
9
+ },
10
+ process_id: {
11
+ type: DataTypes.UUID,
12
+ allowNull: false,
13
+ field: "process_id",
14
+ comment: "Process ID from the original campaign creation request",
15
+ },
16
+ feed_campaign_id: {
17
+ type: DataTypes.STRING(255),
18
+ allowNull: true,
19
+ field: "feed_campaign_id",
20
+ comment: "AGRS_CID from the feed campaign",
21
+ },
22
+ feed_provider: {
23
+ type: DataTypes.STRING(100),
24
+ allowNull: false,
25
+ field: "feed_provider",
26
+ },
27
+ country_group: {
28
+ type: DataTypes.JSONB,
29
+ allowNull: false,
30
+ field: "country_group",
31
+ comment: 'Array of country codes, e.g. ["US"] or ["US", "GB"]',
32
+ },
33
+ campaign_name: {
34
+ type: DataTypes.STRING(500),
35
+ allowNull: true,
36
+ field: "campaign_name",
37
+ },
38
+ account_id: {
39
+ type: DataTypes.STRING(100),
40
+ allowNull: true,
41
+ field: "account_id",
42
+ comment: "Facebook ad account ID",
43
+ },
44
+ original_request: {
45
+ type: DataTypes.JSONB,
46
+ allowNull: false,
47
+ field: "original_request",
48
+ comment: "Full campaignData from the original HTTP request",
49
+ },
50
+ facebook_payload: {
51
+ type: DataTypes.JSONB,
52
+ allowNull: false,
53
+ field: "facebook_payload",
54
+ comment:
55
+ "facebookCampaignData passed to createFullCampaignController",
56
+ },
57
+ feed_campaign_result: {
58
+ type: DataTypes.JSONB,
59
+ allowNull: true,
60
+ field: "feed_campaign_result",
61
+ comment:
62
+ "feedCampaign result (AGRS_CID, rac, urlTags, channelId, etc.)",
63
+ },
64
+ last_error: {
65
+ type: DataTypes.TEXT,
66
+ allowNull: true,
67
+ field: "last_error",
68
+ },
69
+ last_error_code: {
70
+ type: DataTypes.INTEGER,
71
+ allowNull: true,
72
+ field: "last_error_code",
73
+ },
74
+ is_transient: {
75
+ type: DataTypes.BOOLEAN,
76
+ allowNull: true,
77
+ field: "is_transient",
78
+ },
79
+ status: {
80
+ type: DataTypes.STRING(50),
81
+ allowNull: false,
82
+ defaultValue: "pending",
83
+ validate: {
84
+ isIn: [
85
+ ["pending", "processing", "completed", "failed", "abandoned"],
86
+ ],
87
+ },
88
+ },
89
+ retry_count: {
90
+ type: DataTypes.INTEGER,
91
+ allowNull: false,
92
+ defaultValue: 0,
93
+ field: "retry_count",
94
+ },
95
+ max_retries: {
96
+ type: DataTypes.INTEGER,
97
+ allowNull: false,
98
+ defaultValue: 5,
99
+ field: "max_retries",
100
+ },
101
+ next_retry_at: {
102
+ type: DataTypes.DATE,
103
+ allowNull: false,
104
+ field: "next_retry_at",
105
+ comment: "When the next retry should be attempted",
106
+ },
107
+ last_attempt_at: {
108
+ type: DataTypes.DATE,
109
+ allowNull: true,
110
+ field: "last_attempt_at",
111
+ },
112
+ completed_at: {
113
+ type: DataTypes.DATE,
114
+ allowNull: true,
115
+ field: "completed_at",
116
+ },
117
+ facebook_campaign_id: {
118
+ type: DataTypes.STRING(255),
119
+ allowNull: true,
120
+ field: "facebook_campaign_id",
121
+ comment: "Facebook campaign ID (populated on success)",
122
+ },
123
+ created_at: {
124
+ type: DataTypes.DATE,
125
+ allowNull: false,
126
+ defaultValue: DataTypes.NOW,
127
+ field: "created_at",
128
+ },
129
+ },
130
+ {
131
+ tableName: "facebook_retry_queue",
132
+ timestamps: false,
133
+ indexes: [
134
+ {
135
+ fields: ["status", "next_retry_at"],
136
+ name: "idx_fb_retry_status_next",
137
+ },
138
+ {
139
+ fields: ["process_id"],
140
+ },
141
+ {
142
+ fields: ["feed_provider"],
143
+ },
144
+ {
145
+ fields: ["created_at"],
146
+ },
147
+ ],
148
+ }
149
+ );
150
+
151
+ FacebookRetryQueue.associate = (models) => {
152
+ // No associations needed
153
+ };
154
+
155
+ return FacebookRetryQueue;
156
+ };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agrs-sequelize-sdk",
3
- "version": "1.3.82",
3
+ "version": "1.3.83",
4
4
  "main": "index.js",
5
5
  "scripts": {
6
6
  "start": "node index.js",