Skip to content
Open
Changes from 1 commit
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
7a0c5d0
Fix Security Issue, Depth limit required to keep secure
yuseok-kim-edushare Feb 14, 2025
6d11d78
Update Version Number 2.3.6.1 -> 2.3.6.2
yuseok-kim-edushare Feb 14, 2025
180549a
🙈 add /bin and /obj to gitignore
yuseok-kim-edushare Mar 13, 2025
db9279b
🔒 add public_key file to simplifying signing
yuseok-kim-edushare Mar 13, 2025
9a5d0ab
♻️ Refactor: HttpWebRequest -> HttpClient and so on
yuseok-kim-edushare Mar 14, 2025
9122804
🛂 Update SSL config
yuseok-kim-edushare Mar 14, 2025
79fc209
♻️ Refactor: CreateSignatur() with using clause to memory managing
yuseok-kim-edushare Mar 14, 2025
3181faf
🛂 Fix GetBytes with encoding methods with null checking
yuseok-kim-edushare Mar 14, 2025
48f26e3
⚡ Improve performance with cached JseonSerializerSetting
yuseok-kim-edushare Mar 14, 2025
e97e85d
♻️ Refactor: improve validateParams() checking logic
yuseok-kim-edushare Mar 14, 2025
05728e1
✏️ Add missing content of 48f26e3d7b9da96329cd39aeec3b586e5dacf280
yuseok-kim-edushare Mar 14, 2025
d6ba9e7
♻️ Update Http Response code and exception handling
yuseok-kim-edushare Mar 14, 2025
597ce21
🔧 Update build target to .net 48
yuseok-kim-edushare Mar 14, 2025
9b02b51
🔧 Fix build configuration
yuseok-kim-edushare Mar 14, 2025
dad2119
🚨 Fix compile error
yuseok-kim-edushare Mar 14, 2025
6d8ab98
Improve Build option with IL-Repack
yuseok-kim-edushare Mar 18, 2025
f9a0870
Update .gitignore
yuseok-kim-edushare Mar 18, 2025
1fc29c6
Update .gitignore
yuseok-kim-edushare Mar 18, 2025
1278153
Use IL-Repack to create single integrated DLL on build
yuseok-kim-edushare Mar 18, 2025
8a1e54d
♻️ Update project and solution to include etc. files folder to see w…
yuseok-kim-edushare Mar 18, 2025
b07ba3b
correct version number suggestion
yuseok-kim-edushare Mar 18, 2025
62cb4ab
Update README.md
yuseok-kim-edushare Mar 18, 2025
8a6b03e
🚨 Fix build error on included SQL query of register_assembly
yuseok-kim-edushare Mar 21, 2025
e6fd71b
✨ Add Re_install script
yuseok-kim-edushare Mar 26, 2025
8b76797
🐛 Fix: Re_install_assembly.sql
yuseok-kim-edushare Apr 23, 2025
1d963e4
Update Install query script for easier install
yuseok-kim-edushare Apr 29, 2025
d58abf0
🐛 Fix Install assembly.sql ' s Dynamic query syntax error
yuseok-kim-edushare May 8, 2025
fda4254
🎇 Improve Install Script and readme
yuseok-kim-edushare Jul 2, 2025
50e7b89
📝 Fix Contributor's link that reflect github recent? Update
yuseok-kim-edushare Jul 2, 2025
da0a0b7
🐛 Fix deploy query fault caused by missing "go"
yuseok-kim-edushare Jul 10, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
✨ Add Re_install script
Cause of IL-repack using
CLR assembly reference list changed
then need to drop and create is needed
  • Loading branch information
yuseok-kim-edushare committed Mar 26, 2025
commit e6fd71b28dc5c2a0bbcc8fbec5a31c84f3cd871d
119 changes: 119 additions & 0 deletions API_Consumer/clr_files/re_install_assembly.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
-- This SQL script is for old version of this API Consumer.
-- It is used to re-install the assembly and stored procedures and functions.
-- It is used to update the assembly to the new version.
-- Cause of change by New version using IL-repack, so we need to re-install the assembly.
/* If this query works, you not need to run this query.
ALTER ASSEMBLY API_Consumer
FROM 'C:\CLR\API_Consumer.dll'
WITH PERMISSION_SET = UNSAFE
*/

-- =============================================
-- Drop all dependent stored procedures and functions
-- =============================================
IF OBJECT_ID('[dbo].[APICaller_WebMethod]') IS NOT NULL DROP PROCEDURE [dbo].[APICaller_WebMethod]
IF OBJECT_ID('[dbo].[APICaller_Web_Extended]') IS NOT NULL DROP PROCEDURE [dbo].[APICaller_Web_Extended]
IF OBJECT_ID('[dbo].[APICaller_GET]') IS NOT NULL DROP PROCEDURE [dbo].[APICaller_GET]
IF OBJECT_ID('[dbo].[APICaller_POST]') IS NOT NULL DROP PROCEDURE [dbo].[APICaller_POST]
IF OBJECT_ID('[dbo].[APICaller_POSTAuth]') IS NOT NULL DROP PROCEDURE [dbo].[APICaller_POSTAuth]
IF OBJECT_ID('[dbo].[APICaller_GETAuth]') IS NOT NULL DROP PROCEDURE [dbo].[APICaller_GETAuth]
IF OBJECT_ID('[dbo].[APICaller_GET_Headers]') IS NOT NULL DROP PROCEDURE [dbo].[APICaller_GET_Headers]
IF OBJECT_ID('[dbo].[APICaller_GET_Headers_BODY]') IS NOT NULL DROP PROCEDURE [dbo].[APICaller_GET_Headers_BODY]
IF OBJECT_ID('[dbo].[APICaller_POST_Headers]') IS NOT NULL DROP PROCEDURE [dbo].[APICaller_POST_Headers]
IF OBJECT_ID('[dbo].[APICaller_POST_JsonBody_Header]') IS NOT NULL DROP PROCEDURE [dbo].[APICaller_POST_JsonBody_Header]
IF OBJECT_ID('[dbo].[APICaller_GET_Extended]') IS NOT NULL DROP PROCEDURE [dbo].[APICaller_GET_Extended]
IF OBJECT_ID('[dbo].[APICaller_POST_Extended]') IS NOT NULL DROP PROCEDURE [dbo].[APICaller_POST_Extended]
IF OBJECT_ID('[dbo].[APICaller_POST_Encoded]') IS NOT NULL DROP PROCEDURE [dbo].[APICaller_POST_Encoded]

IF OBJECT_ID('[dbo].[Create_HMACSHA256]') IS NOT NULL DROP FUNCTION [dbo].[Create_HMACSHA256]
IF OBJECT_ID('[dbo].[GetTimestamp]') IS NOT NULL DROP FUNCTION [dbo].[GetTimestamp]
IF OBJECT_ID('[dbo].[fn_GetBytes]') IS NOT NULL DROP FUNCTION [dbo].[fn_GetBytes]

-- =============================================
-- Drop the assembly
-- =============================================
IF EXISTS (SELECT * FROM sys.assemblies WHERE name = 'API_Consumer')
BEGIN
DROP ASSEMBLY [API_Consumer]
END

-- =============================================
-- Create the assembly with the updated DLL
-- =============================================
CREATE ASSEMBLY [API_Consumer]
AUTHORIZATION dbo
FROM 'C:\CLR\API_Consumer.dll'
WITH PERMISSION_SET = UNSAFE

-- =============================================
-- Recreate the stored procedures and functions
-- =============================================
go
-- Main procedures (current version)
CREATE PROCEDURE [dbo].[APICaller_WebMethod]
@httpMethod NVARCHAR (MAX) NULL, @URL NVARCHAR (MAX) NULL, @JsonBody NVARCHAR (MAX) NULL
AS EXTERNAL NAME [API_Consumer].[StoredProcedures].[APICaller_WebMethod]
go
CREATE PROCEDURE [dbo].[APICaller_Web_Extended]
@httpMethod NVARCHAR (MAX) NULL, @URL NVARCHAR (MAX) NULL, @Headers NVARCHAR (MAX) NULL, @JsonBody NVARCHAR (MAX) NULL
AS EXTERNAL NAME [API_Consumer].[StoredProcedures].[APICaller_Web_Extended]
go
-- Utility functions
CREATE FUNCTION [dbo].[Create_HMACSHA256]
(@message NVARCHAR (MAX) NULL, @SecretKey NVARCHAR (MAX) NULL)
RETURNS NVARCHAR (MAX)
AS EXTERNAL NAME [API_Consumer].[UserDefinedFunctions].[Create_HMACSHA256]
go
CREATE FUNCTION [dbo].[GetTimestamp]()
RETURNS NVARCHAR (MAX)
AS EXTERNAL NAME [API_Consumer].[UserDefinedFunctions].[GetTimestamp]
go
CREATE FUNCTION [dbo].fn_GetBytes
(@value NVARCHAR (MAX) NULL)
RETURNS NVARCHAR (MAX)
AS EXTERNAL NAME [API_Consumer].[UserDefinedFunctions].fn_GetBytes
go
-- Legacy procedures (deprecated but still supported)
CREATE PROCEDURE [dbo].[APICaller_GET]
@URL NVARCHAR (MAX) NULL
AS EXTERNAL NAME [API_Consumer].[StoredProcedures].[APICaller_GET]
go
CREATE PROCEDURE [dbo].[APICaller_POST]
@URL NVARCHAR (MAX) NULL, @JsonBody NVARCHAR (MAX) NULL
AS EXTERNAL NAME [API_Consumer].[StoredProcedures].[APICaller_POST]
go
CREATE PROCEDURE [dbo].[APICaller_POSTAuth]
@URL NVARCHAR (MAX) NULL, @Token NVARCHAR (MAX) NULL, @JsonBody NVARCHAR (MAX) NULL
AS EXTERNAL NAME [API_Consumer].[StoredProcedures].[APICaller_POST_Auth]
go
CREATE PROCEDURE [dbo].[APICaller_GETAuth]
@URL NVARCHAR (MAX) NULL, @Token NVARCHAR (MAX) NULL
AS EXTERNAL NAME [API_Consumer].[StoredProcedures].[APICaller_GET_Auth]
go
CREATE PROCEDURE [dbo].[APICaller_GET_Headers]
@URL NVARCHAR (MAX) NULL, @Headers NVARCHAR (MAX) NULL
AS EXTERNAL NAME [API_Consumer].[StoredProcedures].[APICaller_GET_Headers]
go
CREATE PROCEDURE [dbo].[APICaller_GET_Headers_BODY]
@URL NVARCHAR (MAX) NULL, @JsonBody NVARCHAR (MAX) NULL, @Headers NVARCHAR (MAX) NULL
AS EXTERNAL NAME [API_Consumer].[StoredProcedures].APICaller_GET_JsonBody_Header
go
CREATE PROCEDURE [dbo].[APICaller_POST_Headers]
@URL NVARCHAR (MAX) NULL, @Headers NVARCHAR (MAX) NULL
AS EXTERNAL NAME [API_Consumer].[StoredProcedures].APICaller_POST_Headers
go
CREATE PROCEDURE [dbo].[APICaller_POST_JsonBody_Header]
@URL NVARCHAR (MAX), @Headers NVARCHAR (MAX), @jSON NVARCHAR (MAX)
AS EXTERNAL NAME [API_Consumer].[StoredProcedures].APICaller_POST_JsonBody_Headers
go
CREATE PROCEDURE [dbo].[APICaller_GET_Extended]
@URL NVARCHAR (MAX) NULL, @JsonBody NVARCHAR (MAX) NULL, @Headers NVARCHAR (MAX) NULL
AS EXTERNAL NAME [API_Consumer].[StoredProcedures].[APICaller_GET_Extended]
go
CREATE PROCEDURE [dbo].[APICaller_POST_Extended]
@URL NVARCHAR (MAX) NULL, @Headers NVARCHAR (MAX) NULL, @JsonBody NVARCHAR (MAX) NULL
AS EXTERNAL NAME [API_Consumer].[StoredProcedures].[APICaller_POST_Extended]
go
CREATE PROCEDURE [dbo].APICaller_POST_Encoded
@URL NVARCHAR (MAX) NULL, @Headers NVARCHAR (MAX) NULL, @JsonBody NVARCHAR (MAX) NULL
AS EXTERNAL NAME [API_Consumer].[StoredProcedures].APICaller_POST_Encoded