Skip to content

Commit 62e3da1

Browse files
authored
Merge pull request #74 from intersystems-community/master
fix-big-packages
2 parents 0aabaf2 + 1234ef5 commit 62e3da1

File tree

3 files changed

+17
-3
lines changed

3 files changed

+17
-3
lines changed

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
FROM containers.intersystems.com/intersystems/iris-community:2022.2.0.270.0
1+
FROM containers.intersystems.com/intersystems/iris-community:2022.2.0.281.0
22

33
WORKDIR /opt/registry
44

src/cls/ZPM/Package.cls

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
1-
Class ZPM.Package Extends (%Persistent, ZPM.JSON.Adaptor)
1+
Class ZPM.Package Extends (%Persistent, %JSON.Adaptor)
22
{
33

44
Parameter EXTENTQUERYSPEC = "name,version";
55

6+
Parameter %JSONIGNOREINVALIDFIELD As BOOLEAN = 1;
7+
68
Property name As %String(MAXLEN = 50) [ Required ];
79

810
Index Name On name;
@@ -29,7 +31,7 @@ Index Repository On repository;
2931

3032
Property dependencies As array Of %String;
3133

32-
Property package As %Stream.GlobalBinary(%JSONINCLUDE = "INPUTONLY");
34+
Property package As %Stream.GlobalBinary(%JSONINCLUDE = "NONE");
3335

3436
Property size As %Integer(%JSONINCLUDE = "OUTPUTONLY");
3537

@@ -74,6 +76,17 @@ Method sizeGet() As %Integer
7476
return ..package.Size
7577
}
7678

79+
Method packageFromBase64(base64 As %Stream.DynamicBinary) As %Status
80+
{
81+
set sc = $$$OK
82+
Set ..package = ##class(%Stream.GlobalBinary).%New()
83+
while 'base64.AtEnd {
84+
Set tSC = ..package.Write($system.Encryption.Base64Decode(base64.Read(43540, .sc)))
85+
Set:$$$ISERR(tSC) sc = $$$ADDSC(sc,tSC)
86+
}
87+
Quit sc
88+
}
89+
7790
ClassMethod GetPackageHash(pStream As %Stream.Object) As %String
7891
{
7992
If (pStream="") { Return "" }

src/cls/ZPM/Registry.cls

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,7 @@ ClassMethod PublishPackage() As %Status
186186

187187
set package = ##class(ZPM.Package).%New()
188188
$$$ThrowOnError(package.%JSONImport(%request.Content))
189+
$$$ThrowOnError(package.packageFromBase64(%request.Content.%Get("package",,"stream")))
189190
$$$ThrowOnError(package.UpdateDescriptionFromManifest())
190191
do ##class(ZPM.Package).DeleteExistingPackages(package.name, package.version)
191192
$$$ThrowOnError(package.%Save())

0 commit comments

Comments
 (0)