Skip to content

Commit 03d88f7

Browse files
committed
Add AWS SQS integration and update NuGet package versions
1 parent c059bab commit 03d88f7

File tree

19 files changed

+249
-440
lines changed

19 files changed

+249
-440
lines changed

Modules/Intent.Modules.Aws.Common/release-notes.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
### Version 1.0.4
22

33
- Improvement: Updated NuGet package versions.
4+
- Fixed: Missing using directives in generated code.
45

56
### Version 1.0.3
67

Modules/Intent.Modules.Aws.Lambda.Functions/Intent.Aws.Lambda.Functions.imodspec

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,12 +69,12 @@
6969
</detect>
7070
</interoperability>
7171
<dependencies>
72+
<dependency id="Intent.Aws.Common" version="1.0.4-pre.1" />
7273
<dependency id="Intent.Common" version="3.9.0" />
7374
<dependency id="Intent.Common.CSharp" version="3.9.6" />
7475
<dependency id="Intent.Common.Types" version="3.4.0" />
7576
<dependency id="Intent.Metadata.WebApi" version="4.7.12" />
7677
<dependency id="Intent.Modelers.Services" version="4.0.2" />
77-
<dependency id="Intent.Aws.Common" version="1.0.3" />
7878
<dependency id="Intent.OutputManager.RoslynWeaver" version="4.5.1" />
7979
</dependencies>
8080
<files>

Modules/Intent.Modules.Aws.Lambda.Functions/Intent.Metadata/Module Builder/Intent.Aws.Lambda.Functions/Elements/NuGet Package/Microsoft.Extensions.Configuration.Json__9gm0lyqm.xml

Lines changed: 22 additions & 224 deletions
Large diffs are not rendered by default.
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<class id="394d825a-331c-487a-9814-443ace1ffb62" type="NuGet Package" typeId="f747cc37-29ee-488a-8dbe-755e856a842d">
33
<name>Microsoft.Extensions.Configuration.UserSecrets</name>
4-
<display>Microsoft.Extensions.Configuration.UserSecrets</display>
4+
<display>Microsoft.Extensions.Configuration.UserSecrets [locked]</display>
55
<isAbstract>false</isAbstract>
66
<sort-children>by-type-then-by-name</sort-children>
77
<genericTypes />
@@ -16,7 +16,7 @@
1616
<definitionPackageId>f2bfb0f7-d304-466f-b923-021d4016b48d</definitionPackageId>
1717
<properties>
1818
<property name="4de9cc21-d4fb-4d52-8dfd-2eb6cf267a9a" display="Friendly Name" isActive="true" />
19-
<property name="67c7c4d8-40ed-48f9-a83c-985eedb32141" display="Locked" value="false" isActive="true" />
19+
<property name="67c7c4d8-40ed-48f9-a83c-985eedb32141" display="Locked" value="true" isActive="true" />
2020
<property name="c166c7cf-45e3-484b-9ec5-f7300951f897" display="Private Assets" value="[]" isActive="true" />
2121
<property name="6bd6430c-8011-435e-bb73-6013477a875d" display="Include Assets" value="[]" isActive="true" />
2222
</properties>
@@ -26,7 +26,7 @@
2626
<childElements>
2727
<childElement id="2370664f-cae9-4575-b7c1-ecf3dd3f154d" type="Package Version" typeId="231f8cf8-517b-4801-9682-991d22f4e662">
2828
<name>8.0.0</name>
29-
<display>8.0.0 ( &gt;= .NETStandard,Version=v2.0 ) [locked]</display>
29+
<display>8.0.0 ( &gt;= .NETStandard,Version=v2.0 )</display>
3030
<isAbstract>false</isAbstract>
3131
<genericTypes />
3232
<isMapped>false</isMapped>
@@ -40,26 +40,25 @@
4040
<definitionPackageId>f2bfb0f7-d304-466f-b923-021d4016b48d</definitionPackageId>
4141
<properties>
4242
<property name="b01cea92-0ca1-4dbe-acab-d0f52b39e003" display="Minimum Target Framework" value=".NETStandard,Version=v2.0" isActive="true" />
43-
<property name="d00692b1-6d17-4f1e-9386-a1d0d3ab7b57" display="Locked" value="true" isActive="true" />
43+
<property name="d00692b1-6d17-4f1e-9386-a1d0d3ab7b57" display="Locked" value="false" isActive="true" />
4444
</properties>
4545
</stereotype>
4646
</stereotypes>
4747
<metadata />
4848
<childElements />
4949
</childElement>
50-
<childElement id="83e92b99-da98-4fbb-b044-d9a5309c9017" type="Package Version" typeId="231f8cf8-517b-4801-9682-991d22f4e662">
51-
<name>9.0.10</name>
52-
<display>9.0.10 ( &gt;= .NETCoreApp,Version=v9.0 )</display>
50+
<childElement id="741b67ae-9a20-420f-80b0-0783cc3a02e3" type="Package Version" typeId="231f8cf8-517b-4801-9682-991d22f4e662">
51+
<name>8.0.0</name>
52+
<display>8.0.0 ( &gt;= .NETCoreApp,Version=v9.0 )</display>
5353
<isAbstract>false</isAbstract>
54-
<sort-children>by-type-then-by-name</sort-children>
5554
<genericTypes />
5655
<isMapped>false</isMapped>
5756
<parentFolderId>394d825a-331c-487a-9814-443ace1ffb62</parentFolderId>
5857
<packageId>4741e086-f1fa-4135-88df-1a329c15a271</packageId>
5958
<packageName>Intent.Aws.Lambda.Functions</packageName>
6059
<stereotypes>
6160
<stereotype stereotypeDefinitionId="7af88c37-ce54-49fc-b577-bde869c23462" name="Package Version Settings">
62-
<addedByDefault>false</addedByDefault>
61+
<addedByDefault>true</addedByDefault>
6362
<definitionPackageName>Intent.ModuleBuilder.CSharp</definitionPackageName>
6463
<definitionPackageId>f2bfb0f7-d304-466f-b923-021d4016b48d</definitionPackageId>
6564
<properties>
@@ -69,78 +68,20 @@
6968
</stereotype>
7069
</stereotypes>
7170
<metadata />
72-
<childElements>
73-
<childElement id="5dd37436-8ef7-4b33-9330-6c7a4da8a7f9" type="NuGet Dependency" typeId="3097322a-a058-4058-beed-4fcd6272f61d">
74-
<name>Microsoft.Extensions.Configuration.Abstractions</name>
75-
<display>Microsoft.Extensions.Configuration.Abstractions (9.0.10)</display>
76-
<isAbstract>false</isAbstract>
77-
<value>9.0.10</value>
78-
<genericTypes />
79-
<isMapped>false</isMapped>
80-
<parentFolderId>83e92b99-da98-4fbb-b044-d9a5309c9017</parentFolderId>
81-
<packageId>4741e086-f1fa-4135-88df-1a329c15a271</packageId>
82-
<packageName>Intent.Aws.Lambda.Functions</packageName>
83-
<stereotypes />
84-
<metadata />
85-
<childElements />
86-
</childElement>
87-
<childElement id="3b73dab7-0f12-4c22-85fb-89d57362ab7f" type="NuGet Dependency" typeId="3097322a-a058-4058-beed-4fcd6272f61d">
88-
<name>Microsoft.Extensions.Configuration.Json</name>
89-
<display>Microsoft.Extensions.Configuration.Json (9.0.10)</display>
90-
<isAbstract>false</isAbstract>
91-
<value>9.0.10</value>
92-
<genericTypes />
93-
<isMapped>false</isMapped>
94-
<parentFolderId>83e92b99-da98-4fbb-b044-d9a5309c9017</parentFolderId>
95-
<packageId>4741e086-f1fa-4135-88df-1a329c15a271</packageId>
96-
<packageName>Intent.Aws.Lambda.Functions</packageName>
97-
<stereotypes />
98-
<metadata />
99-
<childElements />
100-
</childElement>
101-
<childElement id="bdac7c7a-945e-40f2-baef-e0939be7e4ac" type="NuGet Dependency" typeId="3097322a-a058-4058-beed-4fcd6272f61d">
102-
<name>Microsoft.Extensions.FileProviders.Abstractions</name>
103-
<display>Microsoft.Extensions.FileProviders.Abstractions (9.0.10)</display>
104-
<isAbstract>false</isAbstract>
105-
<value>9.0.10</value>
106-
<genericTypes />
107-
<isMapped>false</isMapped>
108-
<parentFolderId>83e92b99-da98-4fbb-b044-d9a5309c9017</parentFolderId>
109-
<packageId>4741e086-f1fa-4135-88df-1a329c15a271</packageId>
110-
<packageName>Intent.Aws.Lambda.Functions</packageName>
111-
<stereotypes />
112-
<metadata />
113-
<childElements />
114-
</childElement>
115-
<childElement id="40ae2458-7993-47e5-b755-02af51bdf691" type="NuGet Dependency" typeId="3097322a-a058-4058-beed-4fcd6272f61d">
116-
<name>Microsoft.Extensions.FileProviders.Physical</name>
117-
<display>Microsoft.Extensions.FileProviders.Physical (9.0.10)</display>
118-
<isAbstract>false</isAbstract>
119-
<value>9.0.10</value>
120-
<genericTypes />
121-
<isMapped>false</isMapped>
122-
<parentFolderId>83e92b99-da98-4fbb-b044-d9a5309c9017</parentFolderId>
123-
<packageId>4741e086-f1fa-4135-88df-1a329c15a271</packageId>
124-
<packageName>Intent.Aws.Lambda.Functions</packageName>
125-
<stereotypes />
126-
<metadata />
127-
<childElements />
128-
</childElement>
129-
</childElements>
71+
<childElements />
13072
</childElement>
131-
<childElement id="08db925a-ad4a-456c-adec-230312db4b7d" type="Package Version" typeId="231f8cf8-517b-4801-9682-991d22f4e662">
132-
<name>9.0.10</name>
133-
<display>9.0.10 ( &gt;= .NETCoreApp,Version=v8.0 )</display>
73+
<childElement id="fa57b20b-ca01-410a-b05a-ad36a312aa04" type="Package Version" typeId="231f8cf8-517b-4801-9682-991d22f4e662">
74+
<name>8.0.0</name>
75+
<display>8.0.0 ( &gt;= .NETCoreApp,Version=v8.0 )</display>
13476
<isAbstract>false</isAbstract>
135-
<sort-children>by-type-then-by-name</sort-children>
13677
<genericTypes />
13778
<isMapped>false</isMapped>
13879
<parentFolderId>394d825a-331c-487a-9814-443ace1ffb62</parentFolderId>
13980
<packageId>4741e086-f1fa-4135-88df-1a329c15a271</packageId>
14081
<packageName>Intent.Aws.Lambda.Functions</packageName>
14182
<stereotypes>
14283
<stereotype stereotypeDefinitionId="7af88c37-ce54-49fc-b577-bde869c23462" name="Package Version Settings">
143-
<addedByDefault>false</addedByDefault>
84+
<addedByDefault>true</addedByDefault>
14485
<definitionPackageName>Intent.ModuleBuilder.CSharp</definitionPackageName>
14586
<definitionPackageId>f2bfb0f7-d304-466f-b923-021d4016b48d</definitionPackageId>
14687
<properties>
@@ -150,64 +91,7 @@
15091
</stereotype>
15192
</stereotypes>
15293
<metadata />
153-
<childElements>
154-
<childElement id="da67bbb6-47b1-47ad-88db-dc69fdc2e5ee" type="NuGet Dependency" typeId="3097322a-a058-4058-beed-4fcd6272f61d">
155-
<name>Microsoft.Extensions.Configuration.Abstractions</name>
156-
<display>Microsoft.Extensions.Configuration.Abstractions (9.0.10)</display>
157-
<isAbstract>false</isAbstract>
158-
<value>9.0.10</value>
159-
<genericTypes />
160-
<isMapped>false</isMapped>
161-
<parentFolderId>08db925a-ad4a-456c-adec-230312db4b7d</parentFolderId>
162-
<packageId>4741e086-f1fa-4135-88df-1a329c15a271</packageId>
163-
<packageName>Intent.Aws.Lambda.Functions</packageName>
164-
<stereotypes />
165-
<metadata />
166-
<childElements />
167-
</childElement>
168-
<childElement id="4f8ded16-eb2e-4204-a5bf-f5f09db44bec" type="NuGet Dependency" typeId="3097322a-a058-4058-beed-4fcd6272f61d">
169-
<name>Microsoft.Extensions.Configuration.Json</name>
170-
<display>Microsoft.Extensions.Configuration.Json (9.0.10)</display>
171-
<isAbstract>false</isAbstract>
172-
<value>9.0.10</value>
173-
<genericTypes />
174-
<isMapped>false</isMapped>
175-
<parentFolderId>08db925a-ad4a-456c-adec-230312db4b7d</parentFolderId>
176-
<packageId>4741e086-f1fa-4135-88df-1a329c15a271</packageId>
177-
<packageName>Intent.Aws.Lambda.Functions</packageName>
178-
<stereotypes />
179-
<metadata />
180-
<childElements />
181-
</childElement>
182-
<childElement id="1f4d5351-4868-44fb-a0ab-d04e5f04aade" type="NuGet Dependency" typeId="3097322a-a058-4058-beed-4fcd6272f61d">
183-
<name>Microsoft.Extensions.FileProviders.Abstractions</name>
184-
<display>Microsoft.Extensions.FileProviders.Abstractions (9.0.10)</display>
185-
<isAbstract>false</isAbstract>
186-
<value>9.0.10</value>
187-
<genericTypes />
188-
<isMapped>false</isMapped>
189-
<parentFolderId>08db925a-ad4a-456c-adec-230312db4b7d</parentFolderId>
190-
<packageId>4741e086-f1fa-4135-88df-1a329c15a271</packageId>
191-
<packageName>Intent.Aws.Lambda.Functions</packageName>
192-
<stereotypes />
193-
<metadata />
194-
<childElements />
195-
</childElement>
196-
<childElement id="acb73732-18e4-4d9c-93ad-1c28f0f86735" type="NuGet Dependency" typeId="3097322a-a058-4058-beed-4fcd6272f61d">
197-
<name>Microsoft.Extensions.FileProviders.Physical</name>
198-
<display>Microsoft.Extensions.FileProviders.Physical (9.0.10)</display>
199-
<isAbstract>false</isAbstract>
200-
<value>9.0.10</value>
201-
<genericTypes />
202-
<isMapped>false</isMapped>
203-
<parentFolderId>08db925a-ad4a-456c-adec-230312db4b7d</parentFolderId>
204-
<packageId>4741e086-f1fa-4135-88df-1a329c15a271</packageId>
205-
<packageName>Intent.Aws.Lambda.Functions</packageName>
206-
<stereotypes />
207-
<metadata />
208-
<childElements />
209-
</childElement>
210-
</childElements>
94+
<childElements />
21195
</childElement>
21296
</childElements>
21397
</class>

Modules/Intent.Modules.Aws.Lambda.Functions/NugetPackages.cs

Lines changed: 5 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -101,40 +101,18 @@ public void RegisterPackages()
101101
NugetRegistry.Register(MicrosoftExtensionsConfigurationJsonPackageName,
102102
(framework) => (framework.Major, framework.Minor) switch
103103
{
104-
( >= 9, >= 0) => new PackageVersion("9.0.10")
105-
.WithNugetDependency("Microsoft.Extensions.Configuration", "9.0.10")
106-
.WithNugetDependency("Microsoft.Extensions.Configuration.Abstractions", "9.0.10")
107-
.WithNugetDependency("Microsoft.Extensions.Configuration.FileExtensions", "9.0.10")
108-
.WithNugetDependency("Microsoft.Extensions.FileProviders.Abstractions", "9.0.10"),
109-
( >= 8, >= 0) => new PackageVersion("9.0.10")
110-
.WithNugetDependency("Microsoft.Extensions.Configuration", "9.0.10")
111-
.WithNugetDependency("Microsoft.Extensions.Configuration.Abstractions", "9.0.10")
112-
.WithNugetDependency("Microsoft.Extensions.Configuration.FileExtensions", "9.0.10")
113-
.WithNugetDependency("Microsoft.Extensions.FileProviders.Abstractions", "9.0.10")
114-
.WithNugetDependency("System.Text.Json", "9.0.10"),
115-
( >= 2, >= 1) => new PackageVersion("9.0.10")
116-
.WithNugetDependency("Microsoft.Extensions.Configuration", "9.0.10")
117-
.WithNugetDependency("Microsoft.Extensions.Configuration.Abstractions", "9.0.10")
118-
.WithNugetDependency("Microsoft.Extensions.Configuration.FileExtensions", "9.0.10")
119-
.WithNugetDependency("Microsoft.Extensions.FileProviders.Abstractions", "9.0.10")
120-
.WithNugetDependency("System.Text.Json", "9.0.10"),
104+
( >= 9, >= 0) => new PackageVersion("8.0.0", locked: true),
105+
( >= 8, >= 0) => new PackageVersion("8.0.0", locked: true),
106+
( >= 2, >= 1) => new PackageVersion("8.0.0", locked: true),
121107
( >= 2, >= 0) => new PackageVersion("8.0.0", locked: true),
122108
_ => throw new Exception($"Unsupported Framework `{framework.Major}` for NuGet package '{MicrosoftExtensionsConfigurationJsonPackageName}'"),
123109
}
124110
);
125111
NugetRegistry.Register(MicrosoftExtensionsConfigurationUserSecretsPackageName,
126112
(framework) => (framework.Major, framework.Minor) switch
127113
{
128-
( >= 9, >= 0) => new PackageVersion("9.0.10")
129-
.WithNugetDependency("Microsoft.Extensions.Configuration.Abstractions", "9.0.10")
130-
.WithNugetDependency("Microsoft.Extensions.Configuration.Json", "9.0.10")
131-
.WithNugetDependency("Microsoft.Extensions.FileProviders.Abstractions", "9.0.10")
132-
.WithNugetDependency("Microsoft.Extensions.FileProviders.Physical", "9.0.10"),
133-
( >= 8, >= 0) => new PackageVersion("9.0.10")
134-
.WithNugetDependency("Microsoft.Extensions.Configuration.Abstractions", "9.0.10")
135-
.WithNugetDependency("Microsoft.Extensions.Configuration.Json", "9.0.10")
136-
.WithNugetDependency("Microsoft.Extensions.FileProviders.Abstractions", "9.0.10")
137-
.WithNugetDependency("Microsoft.Extensions.FileProviders.Physical", "9.0.10"),
114+
( >= 9, >= 0) => new PackageVersion("8.0.0", locked: true),
115+
( >= 8, >= 0) => new PackageVersion("8.0.0", locked: true),
138116
( >= 2, >= 0) => new PackageVersion("8.0.0", locked: true),
139117
_ => throw new Exception($"Unsupported Framework `{framework.Major}` for NuGet package '{MicrosoftExtensionsConfigurationUserSecretsPackageName}'"),
140118
}

Modules/Intent.Modules.Aws.Lambda.Functions/Templates/ExceptionHandlerHelper/ExceptionHandlerHelperTemplatePartial.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,13 @@ public ExceptionHandlerHelperTemplate(IOutputTarget outputTarget, object model =
4141
m.Async();
4242
m.Static();
4343
m.AddParameter("Func<Task<IHttpResult>>", "operation");
44+
m.AddParameter("ILogger", "logger");
4445
m.AddTryBlock(tryBlock => { tryBlock.AddStatement("return await operation();"); });
45-
m.AddCatchBlock("Exception", "ex", catchBlock => { catchBlock.AddStatement("return HandleException(ex);"); });
46+
m.AddCatchBlock("Exception", "ex", catchBlock =>
47+
{
48+
catchBlock.AddStatement(@"logger.LogError(ex, ""Unhandled exception occurred: {Message}"", ex.Message);");
49+
catchBlock.AddStatement("return HandleException(ex);");
50+
});
4651
});
4752

4853
cls.AddMethod("IHttpResult", "HandleException", m =>

Modules/Intent.Modules.Aws.Lambda.Functions/Templates/LambdaFunctionClass/LambdaFunctionClassTemplatePartial.cs

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,9 +47,13 @@ public LambdaFunctionClassTemplate(IOutputTarget outputTarget, ILambdaFunctionCo
4747
.AddUsing("Amazon.Lambda.Annotations")
4848
.AddUsing("Amazon.Lambda.Annotations.APIGateway")
4949
.AddUsing("Amazon.Lambda.Core")
50+
.AddUsing("Microsoft.Extensions.Logging")
5051
.AddClass($"{Model.Name.RemoveSuffix("Service")}Functions", @class =>
5152
{
52-
@class.AddConstructor(ctor => { });
53+
@class.AddConstructor(ctor =>
54+
{
55+
ctor.AddParameter($"ILogger<{@class.Name}>", "logger", p => p.IntroduceReadonlyField());
56+
});
5357
@class.RepresentsModel(Model);
5458

5559
foreach (var functionModel in Model.Endpoints)
@@ -145,6 +149,7 @@ public LambdaFunctionClassTemplate(IOutputTarget outputTarget, ILambdaFunctionCo
145149
.AddArgument(new CSharpLambdaBlock("async ()")
146150
.AddStatements(existingStatements)
147151
)
152+
.AddArgument("_logger")
148153
.WithoutSemicolon()
149154
)
150155
);

Modules/Intent.Modules.Aws.Sqs/Intent.Aws.Sqs.imodspec

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@
7272
<dependency id="Intent.Common" version="3.9.0" />
7373
<dependency id="Intent.Common.CSharp" version="3.8.3" />
7474
<dependency id="Intent.Common.Types" version="3.4.0" />
75+
<dependency id="Intent.Aws.Common" version="1.0.4-pre.1" />
7576
<dependency id="Intent.Eventing.Contracts" version="5.2.0" />
7677
<dependency id="Intent.Modelers.Eventing" version="6.0.2" />
7778
<dependency id="Intent.Modelers.Services" version="4.0.5" />

0 commit comments

Comments
 (0)