Skip to content

Commit b1cd054

Browse files
authored
Merge pull request #1129 from imgbot/backup_queue
Backup queue
2 parents 5020c66 + e63879c commit b1cd054

File tree

14 files changed

+138
-33
lines changed

14 files changed

+138
-33
lines changed

Common/KnownGitHubs.cs

+6-1
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public static class KnownGitHubs
2222
// </remarks>
2323
public const string AccessTokensUrlFormat = "https://api.github.com/app/installations/{0}/access_tokens";
2424

25-
public const int SmallestLimitPaidPlan = 5;
25+
public const int SmallestLimitPaidPlan = 1;
2626

2727
// -1 for existing plans that include unlimited private
2828
// -2 for old plans which also have unlimited private, that do not need marketplacesync
@@ -44,6 +44,11 @@ public static readonly ReadOnlyDictionary<int, int> Plans
4444
{ 6921, 50 },
4545
{ 6922, 100 },
4646
{ 6923, 200 },
47+
{ 7386, 1 },
48+
{ 7387, 3 },
49+
{ 7388, 10 },
50+
{ 7389, 25 },
51+
{ 7390, 100 },
4752
});
4853
}
4954
}

Common/Messages/BackupMessage.cs

+11
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
namespace Common.Messages
2+
{
3+
public class BackupMessage
4+
{
5+
public int PlanId { get; set; }
6+
7+
public string SaleType { get; set; }
8+
9+
public int Price { get; set; }
10+
}
11+
}

Common/TableModels/Marketplace.cs

+2
Original file line numberDiff line numberDiff line change
@@ -38,5 +38,7 @@ public Marketplace(int accountId, string accountLogin)
3838
public int? AllowedPrivate { get; set; }
3939

4040
public int? UsedPrivate { get; set; }
41+
42+
public bool? FreeTrial { get; set; }
4143
}
4244
}

CompressImagesFunction/host.json

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
{
22
"version": "2.0",
3-
"functionTimeout": "01:00:00",
3+
"functionTimeout": "02:00:00",
44
"logging": {
55
"fileLoggingMode": "never"
66
},
77
"extensions": {
88
"queues": {
9-
"batchSize": 4
9+
"batchSize": 2
1010
}
1111
}
1212
}

Test/WebHookTests.cs

+37-15
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,8 @@ public async Task GivenCommitToOtherBranch_ShouldReturnOkDoNothing()
3232
out var deleteBranchMessages,
3333
out var installationsTable,
3434
out var marketplaceTable,
35-
out var settingsTable);
35+
out var settingsTable,
36+
out var backupMessages);
3637

3738
// Assert OKObjectResult and Value
3839
var response = (HookResponse)((OkObjectResult)result).Value;
@@ -65,7 +66,8 @@ public async Task GivenCommitToDefaultBranchNoImages_ShouldReturnOkDoNothing()
6566
out var deleteBranchMessages,
6667
out var installationsTable,
6768
out var marketplaceTable,
68-
out var settingsTable);
69+
out var settingsTable,
70+
out var backupMessages);
6971

7072
// Assert OKObjectResult and Value
7173
var response = (HookResponse)((OkObjectResult)result).Value;
@@ -98,7 +100,8 @@ public async Task GivenCommitToImgBotBranchByImgbot_ShouldReturnOkQueueToOpenPr(
98100
out var deleteBranchMessages,
99101
out var installationsTable,
100102
out var marketplaceTable,
101-
out var settingsTable);
103+
out var settingsTable,
104+
out var backupMessages);
102105

103106
// Assert OKObjectResult and Value
104107
var response = (HookResponse)((OkObjectResult)result).Value;
@@ -134,7 +137,8 @@ public async Task GivenCommitToImgBotBranchByOthers_ShouldReturnOkDoNothing()
134137
out var deleteBranchMessages,
135138
out var installationsTable,
136139
out var marketplaceTable,
137-
out var settingsTable);
140+
out var settingsTable,
141+
out var backupMessages);
138142

139143
// Assert OKObjectResult and Value
140144
var response = (HookResponse)((OkObjectResult)result).Value;
@@ -167,7 +171,8 @@ public async Task GivenCommitToDefaultBranchWithImages_ShouldReturnOkQueueToRout
167171
out var deleteBranchMessages,
168172
out var installationsTable,
169173
out var marketplaceTable,
170-
out var settingsTable);
174+
out var settingsTable,
175+
out var backupMessages);
171176

172177
// Assert OKObjectResult and Value
173178
var response = (HookResponse)((OkObjectResult)result).Value;
@@ -224,6 +229,7 @@ void ExtraSetup(
224229
out var installationsTable,
225230
out var marketplaceTable,
226231
out var settingsTable,
232+
out var backupMessages,
227233
ExtraSetup);
228234

229235
// Assert OKObjectResult and Value
@@ -261,7 +267,8 @@ public async Task GivenCommitToDefaultBranchWithConfig_ShouldReturnOkQueueToRout
261267
out var deleteBranchMessages,
262268
out var installationsTable,
263269
out var marketplaceTable,
264-
out var settingsTable);
270+
out var settingsTable,
271+
out var backupMessages);
265272

266273
// Assert OKObjectResult and Value
267274
var response = (HookResponse)((OkObjectResult)result).Value;
@@ -298,7 +305,8 @@ public async Task GivenCommitToDefaultBranchWithImagesUppercaseExtensions_Should
298305
out var deleteBranchMessages,
299306
out var installationsTable,
300307
out var marketplaceTable,
301-
out var settingsTable);
308+
out var settingsTable,
309+
out var backupMessages);
302310

303311
// Assert OKObjectResult and Value
304312
var response = (HookResponse)((OkObjectResult)result).Value;
@@ -335,7 +343,8 @@ public async Task GivenNewInstallationAdded_ShouldReturnOkQueueRouter()
335343
out var deleteBranchMessages,
336344
out var installationsTable,
337345
out var marketplaceTable,
338-
out var settingsTable);
346+
out var settingsTable,
347+
out var backupMessages);
339348

340349
// Assert OKObjectResult and Value
341350
var response = (HookResponse)((OkObjectResult)result).Value;
@@ -372,7 +381,8 @@ public async Task GivenNewInstallationCreated_ShouldReturnOkQueueRouter()
372381
out var deleteBranchMessages,
373382
out var installationsTable,
374383
out var marketplaceTable,
375-
out var settingsTable);
384+
out var settingsTable,
385+
out var backupMessages);
376386

377387
// Assert OKObjectResult and Value
378388
var response = (HookResponse)((OkObjectResult)result).Value;
@@ -428,6 +438,7 @@ void ExtraSetup(
428438
out var installationsTable,
429439
out var marketplaceTable,
430440
out var settingsTable,
441+
out var backupMessages,
431442
ExtraSetup);
432443

433444
// Assert OKObjectResult and Value
@@ -483,6 +494,7 @@ void ExtraSetup(
483494
out var installationsTable,
484495
out var marketplaceTable,
485496
out var settingsTable,
497+
out var backupMessages,
486498
ExtraSetup);
487499

488500
// Assert OKObjectResult and Value
@@ -516,7 +528,8 @@ public async Task GivenMarketplacePurchase_ShouldReturnOkWriteRow()
516528
out var deleteBranchMessages,
517529
out var installationsTable,
518530
out var marketplaceTable,
519-
out var settingsTable);
531+
out var settingsTable,
532+
out var backupMessages);
520533

521534
// Assert OKObjectResult and Value
522535
var response = (HookResponse)((OkObjectResult)result).Value;
@@ -569,6 +582,7 @@ void ExtraSetup(
569582
out var installationsTable,
570583
out var marketplaceTable,
571584
out var settingsTable,
585+
out var backupMessages,
572586
ExtraSetup);
573587

574588
// Assert OKObjectResult and Value
@@ -603,7 +617,8 @@ public async Task GivenMergedImgBotToDefaultBranch_ShouldReturnOkQueueToDeleteBr
603617
out var deleteBranchMessages,
604618
out var installationsTable,
605619
out var marketplaceTable,
606-
out var settingsTable);
620+
out var settingsTable,
621+
out var backupMessages);
607622

608623
// Assert OKObjectResult and Value
609624
var response = (HookResponse)((OkObjectResult)result).Value;
@@ -660,6 +675,7 @@ void ExtraSetup(
660675
out var installationsTable,
661676
out var marketplaceTable,
662677
out var settingsTable,
678+
out var backupMessages,
663679
ExtraSetup);
664680

665681
// Assert OKObjectResult and Value
@@ -697,7 +713,8 @@ public async Task GivenMergedImgBotToOtherBranch_ShouldReturnOkDoNothing()
697713
out var deleteBranchMessages,
698714
out var installationsTable,
699715
out var marketplaceTable,
700-
out var settingsTable);
716+
out var settingsTable,
717+
out var backupMessages);
701718

702719
// Assert OKObjectResult and Value
703720
var response = (HookResponse)((OkObjectResult)result).Value;
@@ -730,7 +747,8 @@ public async Task GivenSquashMergedImgBotToDefaultBranch_ShouldReturnOkQueueToDe
730747
out var deleteBranchMessages,
731748
out var installationsTable,
732749
out var marketplaceTable,
733-
out var settingsTable);
750+
out var settingsTable,
751+
out var backupMessages);
734752

735753
// Assert OKObjectResult and Value
736754
var response = (HookResponse)((OkObjectResult)result).Value;
@@ -767,7 +785,8 @@ public async Task GivenRebaseMergedImgBotToDefaultBranch_ShouldReturnOkQueueToDe
767785
out var deleteBranchMessages,
768786
out var installationsTable,
769787
out var marketplaceTable,
770-
out var settingsTable);
788+
out var settingsTable,
789+
out var backupMessages);
771790

772791
// Assert OKObjectResult and Value
773792
var response = (HookResponse)((OkObjectResult)result).Value;
@@ -802,6 +821,7 @@ private Task<IActionResult> ExecuteHookAsync(
802821
out CloudTable installationsTable,
803822
out CloudTable marketplaceTable,
804823
out CloudTable settingsTable,
824+
out CloudQueue backupMessages,
805825
Action<CloudQueue, CloudQueue, CloudTable, CloudTable, CloudTable> extraSetup = null)
806826
{
807827
var request = Substitute.For<HttpRequestMessage>();
@@ -811,6 +831,8 @@ private Task<IActionResult> ExecuteHookAsync(
811831
installationsTable = Substitute.For<CloudTable>(new Uri("https://myaccount.table.core.windows.net/Tables/installation"));
812832
marketplaceTable = Substitute.For<CloudTable>(new Uri("https://myaccount.table.core.windows.net/Tables/marketplace"));
813833
settingsTable = Substitute.For<CloudTable>(new Uri("https://myaccount.table.core.windows.net/Tables/settings"));
834+
backupMessages = Substitute.For<CloudQueue>(new Uri("https://myaccount.queue.core.windows.net/Queue/backup"));
835+
814836
var logger = Substitute.For<ILogger>();
815837

816838
request.Headers.Add("X-GitHub-Event", new[] { githubEvent });
@@ -819,7 +841,7 @@ private Task<IActionResult> ExecuteHookAsync(
819841
extraSetup?.Invoke(routerMessages, openPrMessages, installationsTable, marketplaceTable, settingsTable);
820842

821843
return WebHook.WebHookFunction.Run(
822-
request, routerMessages, openPrMessages, deleteBranchMessages, installationsTable, marketplaceTable, settingsTable, logger);
844+
request, routerMessages, openPrMessages, deleteBranchMessages, installationsTable, marketplaceTable, settingsTable, backupMessages, logger);
823845
}
824846
}
825847
}

Web/src/app/vue/App.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@
139139
<div class="col-11 col-lg offset-lg-1">
140140
<p>
141141
<img alt src="/images/128x128_circle.png" width="30" />
142-
Imgbot &copy; 2017-2020
142+
Imgbot &copy; 2017-2022
143143
</p>
144144
</div>
145145
<div class="col-11 col-lg">

Web/src/app/vue/components/Installation.vue

+27-7
Original file line numberDiff line numberDiff line change
@@ -77,14 +77,19 @@ export default {
7777
case 6894:
7878
return 'Starter'
7979
case 6919:
80+
case 7386:
8081
return 'Team'
8182
case 6920:
83+
case 7387:
8284
return 'Agency'
8385
case 6921:
86+
case 7388:
8487
return 'Enterprise'
8588
case 6922:
89+
case 7389:
8690
return 'Gold'
8791
case 6923:
92+
case 7390:
8893
return 'Platinium'
8994
9095
}
@@ -98,35 +103,50 @@ export default {
98103
case 6921:
99104
case 6922:
100105
case 6927:
106+
case 7386:
107+
case 7387:
108+
case 7388:
109+
case 7389:
101110
return 'Upgrade plan'
102111
case 1750:
103112
case 2840:
104113
case 2841:
105114
case 6923:
115+
case 7390:
106116
return 'Downgrade plan'
107117
}
108118
},
109119
changePlanLink: function() {
110120
switch (this.installation.planId) {
111121
case 1749:
112122
case 6927:
113-
return `https://github.com/marketplace/imgbot/upgrade/6/${this.installation.accountid}`
123+
return `https://github.com/marketplace/imgbot/upgrade/13/${this.installation.accountid}`
114124
case 1750:
115125
case 2840:
116126
case 2841:
117127
return `https://github.com/marketplace/imgbot/upgrade/12/${this.installation.accountid}`
118128
case 6894:
119-
return `https://github.com/marketplace/imgbot/upgrade/7/${this.installation.accountid}`
129+
return `https://github.com/marketplace/imgbot/upgrade/13/${this.installation.accountid}`
120130
case 6919:
121-
return `https://github.com/marketplace/imgbot/upgrade/8/${this.installation.accountid}`
131+
return `https://github.com/marketplace/imgbot/upgrade/14/${this.installation.accountid}`
122132
case 6920:
123-
return `https://github.com/marketplace/imgbot/upgrade/9/${this.installation.accountid}`
133+
return `https://github.com/marketplace/imgbot/upgrade/15/${this.installation.accountid}`
124134
case 6921:
125-
return `https://github.com/marketplace/imgbot/upgrade/10/${this.installation.accountid}`
135+
return `https://github.com/marketplace/imgbot/upgrade/16/${this.installation.accountid}`
126136
case 6922:
127-
return `https://github.com/marketplace/imgbot/upgrade/11/${this.installation.accountid}`
137+
return `https://github.com/marketplace/imgbot/upgrade/17/${this.installation.accountid}`
128138
case 6923:
129-
return `https://github.com/marketplace/imgbot/upgrade/10/${this.installation.accountid}`
139+
return `https://github.com/marketplace/imgbot/upgrade/16/${this.installation.accountid}`
140+
case 7386:
141+
return `https://github.com/marketplace/imgbot/upgrade/14/${this.installation.accountid}`
142+
case 7387:
143+
return `https://github.com/marketplace/imgbot/upgrade/15/${this.installation.accountid}`
144+
case 7388:
145+
return `https://github.com/marketplace/imgbot/upgrade/16/${this.installation.accountid}`
146+
case 7389:
147+
return `https://github.com/marketplace/imgbot/upgrade/17/${this.installation.accountid}`
148+
case 7390:
149+
return `https://github.com/marketplace/imgbot/upgrade/16/${this.installation.accountid}`
130150
}
131151
},
132152
filteredRepositories: function() {

Web/src/app/vue/components/Repository.vue

+1-1
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ export default {
127127
return 'undefined';
128128
},
129129
addedPlan: function() {
130-
return [ 6894, 6919, 6920, 6921, 6922,6923 ].includes(this.planId);
130+
return [ 6894, 6919, 6920, 6921, 6922,6923,7386,7387,7388,7389,7390 ].includes(this.planId);
131131
}
132132
},
133133
methods: {

Web/src/github-students/index.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -188,7 +188,7 @@ <h3>Policies</h3>
188188
<div class="col-11 col-lg offset-lg-1">
189189
<p>
190190
<img alt="" src="/images/128x128_circle.png" width="30" />
191-
Imgbot &copy; 2017-2019
191+
Imgbot &copy; 2017-2022
192192
</p>
193193
</div>
194194
<div class="col-11 col-lg">

Web/src/index.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -235,7 +235,7 @@ <h3>Policies</h3>
235235
<div class="col-11 col-lg offset-lg-1">
236236
<p>
237237
<img alt="" src="/images/128x128_circle.png" width="30" />
238-
Imgbot &copy; 2017-2019
238+
Imgbot &copy; 2017-2022
239239
</p>
240240
</div>
241241
<div class="col-11 col-lg">

Web/src/info/index.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ <h3>Policies</h3>
121121
<div class="col-11 col-lg offset-lg-1">
122122
<p>
123123
<img alt="" src="/images/128x128_circle.png" width="30" />
124-
Imgbot &copy; 2017-2019
124+
Imgbot &copy; 2017-2022
125125
</p>
126126
</div>
127127
<div class="col-11 col-lg">

Web/src/winning/index.html

+1-1
Original file line numberDiff line numberDiff line change
@@ -178,7 +178,7 @@ <h3>Policies</h3>
178178
<div class="col-11 col-lg offset-lg-1">
179179
<p>
180180
<img alt="" src="/images/128x128_circle.png" width="30" />
181-
Imgbot &copy; 2017-2019
181+
Imgbot &copy; 2017-2022
182182
</p>
183183
</div>
184184
<div class="col-11 col-lg">

0 commit comments

Comments
 (0)