sodas-sdk 1.0.0
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.
- package/README.md +170 -0
- package/dist/SODAS_SDK_CLASS/DCAT/dataService.d.ts +31 -0
- package/dist/SODAS_SDK_CLASS/DCAT/dataset.d.ts +81 -0
- package/dist/SODAS_SDK_CLASS/DCAT/datasetSeries.d.ts +59 -0
- package/dist/SODAS_SDK_CLASS/DCAT/dcatResource.d.ts +138 -0
- package/dist/SODAS_SDK_CLASS/DCAT/distribution.d.ts +109 -0
- package/dist/SODAS_SDK_CLASS/DCAT/versionInfo.d.ts +43 -0
- package/dist/SODAS_SDK_CLASS/PROF/options.d.ts +98 -0
- package/dist/SODAS_SDK_CLASS/PROF/profile.d.ts +74 -0
- package/dist/SODAS_SDK_CLASS/PROF/resourceDescriptor.d.ts +83 -0
- package/dist/SODAS_SDK_CLASS/SODAS/template.d.ts +56 -0
- package/dist/SODAS_SDK_CLASS/SODAS/templateArtifact.d.ts +36 -0
- package/dist/SODAS_SDK_CLASS/SODAS/templateDetail.d.ts +42 -0
- package/dist/SODAS_SDK_CLASS/dcatClass.d.ts +30 -0
- package/dist/SODAS_SDK_CLASS/dictionary/term.d.ts +32 -0
- package/dist/SODAS_SDK_CLASS/dictionary/vocabulary.d.ts +44 -0
- package/dist/SODAS_SDK_CLASS/governanceClass.d.ts +30 -0
- package/dist/SODAS_SDK_CLASS/sodasSDKClass.d.ts +28 -0
- package/dist/SODAS_SDK_FILE/artifactFile.d.ts +8 -0
- package/dist/SODAS_SDK_FILE/dataFile.d.ts +15 -0
- package/dist/SODAS_SDK_FILE/sodasSDKFile.d.ts +25 -0
- package/dist/SODAS_SDK_FILE/thumbnailFile.d.ts +8 -0
- package/dist/__tests__/SODAS_SDK_CLASS/DCAT/dataService/CRUDL.medium.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/DCAT/dataset/CRUDL.medium.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/DCAT/dataset/small.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/DCAT/dataset/updateWithDisribution.medium.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/DCAT/dataset/withDistribution.medium.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/DCAT/datasetSeries/CRUDL.medium.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/DCAT/datasetSeries/small.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/DCAT/datasetSeries/withSeriesMembers.medium.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/DCAT/dcatResource.small.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/DCAT/distribution/CRUDL.medium.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/DCAT/distribution/small.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/DCAT/distribution/withFile.medium.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/DCAT/profile.small.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/DCAT/versionInfo/medium.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/DCAT/withThumbnail.medium.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/PROF/functionality/ai_mappping.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/PROF/functionality/common.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/PROF/functionality/constraint.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/PROF/functionality/example.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/PROF/functionality/mapping.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/PROF/functionality/schema.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/PROF/functionality/schema.utiliity.d.ts +6 -0
- package/dist/__tests__/SODAS_SDK_CLASS/PROF/functionality/specification.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/PROF/functionality/staticOptions.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/PROF/functionality/type.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/PROF/functionality/type.utility.d.ts +8 -0
- package/dist/__tests__/SODAS_SDK_CLASS/PROF/functionality/validation.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/PROF/functionality/vocabulary.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/PROF/profile/CRUD.medium.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/PROF/profile/LIST.big.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/PROF/profile/deleteAssociated.medium.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/PROF/profile/extended.small.test.d.ts +2 -0
- package/dist/__tests__/SODAS_SDK_CLASS/PROF/profile/small.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/PROF/profile/updateWithResourceDescriptor.medium.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/PROF/profile/withResourceDescriptor.medium.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/PROF/resourceDescriptor/CRUD.medium.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/PROF/resourceDescriptor/LIST.big.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/PROF/resourceDescriptor/deleteAssociated.medium.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/PROF/resourceDescriptor/extended.small.test.d.ts +2 -0
- package/dist/__tests__/SODAS_SDK_CLASS/PROF/resourceDescriptor/small.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/PROF/resourceDescriptor/updateWithFileArtifact.medium.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/PROF/resourceDescriptor/updateWithTemplateArtifact.medium.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/PROF/resourceDescriptor/withFileArtifact.CRD.medium.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/PROF/resourceDescriptor/withTemplateArtifact.CRD.medium.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/SODAS/template/CRUD.medium.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/SODAS/template/LIST.big.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/SODAS/template/defaultTemplate.medium.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/SODAS/template/deleteAssociated.medium.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/SODAS/template/small.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/SODAS/template/updateWithDetail.medium.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/SODAS/template/withDetail.medium.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/SODAS/templateArtifact/CRUD.medium.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/SODAS/templateArtifact/LIST.big.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/SODAS/templateArtifact/deleteAssociated.medium.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/SODAS/templateArtifact/small.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/SODAS/templateDetail/CRUD.medium.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/SODAS/templateDetail/LIST.big.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/SODAS/templateDetail/small.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/dictionary/term/LIST.big.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/dictionary/term/duplicate.small.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/dictionary/term/notOriginal.CRUD.medium.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/dictionary/term/original.CRUD.medium.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/dictionary/term/small.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/dictionary/vocabulary/LIST.big.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/dictionary/vocabulary/duplicate.small.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/dictionary/vocabulary/notOriginal.CRUD.medium.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/dictionary/vocabulary/original.CRUD.medium.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_CLASS/dictionary/vocabulary/small.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_FILE/SODAS_SDK_FILE.medium.test.d.ts +1 -0
- package/dist/__tests__/SODAS_SDK_FILE/dataFile_medium.test.d.ts +0 -0
- package/dist/__tests__/core/beforeInitAPI.small.test.d.ts +1 -0
- package/dist/__tests__/core/initAPI.small.test.d.ts +1 -0
- package/dist/__tests__/core/type.small.test.d.ts +1 -0
- package/dist/__tests__/setting/testEnvironmentConfig.d.ts +5 -0
- package/dist/__tests__/setting/testSetting.d.ts +2 -0
- package/dist/__tests__/utility/BOC.d.ts +21 -0
- package/dist/__tests__/utility/dataService.d.ts +14 -0
- package/dist/__tests__/utility/dataset.d.ts +14 -0
- package/dist/__tests__/utility/datasetSeries.d.ts +9 -0
- package/dist/__tests__/utility/distribution.d.ts +5 -0
- package/dist/__tests__/utility/profile.d.ts +12 -0
- package/dist/__tests__/utility/resourceDescriptor.d.ts +15 -0
- package/dist/__tests__/utility/template.d.ts +9 -0
- package/dist/__tests__/utility/templateArtifact.d.ts +11 -0
- package/dist/__tests__/utility/templateDetail.d.ts +8 -0
- package/dist/__tests__/utility/term.d.ts +7 -0
- package/dist/__tests__/utility/testDTO.d.ts +11 -0
- package/dist/__tests__/utility/vocabulary.d.ts +7 -0
- package/dist/core/error.d.ts +85 -0
- package/dist/core/functionalityError.d.ts +67 -0
- package/dist/core/init.d.ts +20 -0
- package/dist/core/type.d.ts +95 -0
- package/dist/core/util.d.ts +58 -0
- package/dist/core/values.d.ts +24 -0
- package/dist/index.browser.js +13845 -0
- package/dist/index.browser.js.map +1 -0
- package/dist/index.d.ts +55 -0
- package/dist/index.legacy.browser.js +13392 -0
- package/dist/index.legacy.browser.js.map +1 -0
- package/dist/index.legacy.node.cjs +18240 -0
- package/dist/index.legacy.node.cjs.map +1 -0
- package/dist/index.node.js +18154 -0
- package/dist/index.node.js.map +1 -0
- package/dist/utility/createDefaultTemplates.d.ts +2 -0
- package/dist/utility/defaultTemplates/constraint.d.ts +14 -0
- package/dist/utility/defaultTemplates/example.d.ts +9 -0
- package/dist/utility/defaultTemplates/mapping.d.ts +9 -0
- package/dist/utility/defaultTemplates/schema.d.ts +28 -0
- package/dist/utility/defaultTemplates/specification.d.ts +8 -0
- package/dist/utility/defaultTemplates/type.d.ts +9 -0
- package/dist/utility/defaultTemplates/validation.d.ts +8 -0
- package/dist/utility/defaultTemplates/vocabulary.d.ts +11 -0
- package/package.json +95 -0
package/README.md
ADDED
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
# 🛠️ SODAS TS SDK
|
|
2
|
+
|
|
3
|
+
dist/index.node.js : for node
|
|
4
|
+
dist/index.browser.js : for browser
|
|
5
|
+
dist/index.legacy.js : for webpack version 4 [ especially for governace portal ]
|
|
6
|
+
|
|
7
|
+
---
|
|
8
|
+
|
|
9
|
+
## 📜 SODAS_SDK_CLASS Policy
|
|
10
|
+
|
|
11
|
+
- 모든 **SODAS_SDK_CLASS**는 해당 클래스와 **DTO 인터페이스**를 가진다.
|
|
12
|
+
- 모든 **SODAS_SDK_CLASS** 인스턴스는 **CRUDL 기능**을 제공하며, 인터페이스는 다음과 같다:
|
|
13
|
+
- createDBRecord
|
|
14
|
+
- getDBRecord
|
|
15
|
+
- updateDBRecord
|
|
16
|
+
- deleteDBRecord
|
|
17
|
+
- listDBRecords
|
|
18
|
+
- **time 필드**는 Backend API와의 통신 시 **ISOFormat**을 사용한다.
|
|
19
|
+
- **createDBRecord** 메서드를 통해서만 **ID와 IRI**가 생성된다.
|
|
20
|
+
- **ID와 IRI**가 이미 존재하는 경우, **createDBRecord** 호출이 불가능하며 **updateDBRecord**만 호출 가능하다.
|
|
21
|
+
- **deleteDBResource** 호출 시 해당 객체는 기본생성인스턴스가 된다.
|
|
22
|
+
- **DCAT_MODEL**의 경우 다음 필드들은 **백엔드 create API** 호출을 통해서만 생성된다:
|
|
23
|
+
- ResourceType, ID, IRI, CreatedAt, DCAT_MODELID (e.g., DatasetID 등)
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
### DCAT_RESOURCE - Thumbnail Policy
|
|
28
|
+
|
|
29
|
+
- 모든 **DCAT Resource CLASS**는 Thumbnail 프로퍼티를 가진다.
|
|
30
|
+
- Thumbnail 프로퍼티는 **SODAS_SDK_FILE** 클래스를 상속받은 **ThumbnailFile** 클래스의 인스턴스이다.
|
|
31
|
+
- 이미 ThumbnailURL이 있는 경우 Thumbnail 필드를 설정하면 ThumbnailURL은 null로 설정된다.
|
|
32
|
+
- Thumbnail은 DCAT_RESOURCE 인스턴스의 createDBRecord 메소드 호출 시 업로드된다. (단, Thumbnail의 업로드가 먼저 호출되므로 DCAT_RESOURCE.createDBRecord에서 에러가 발생할 경우 Thumbnail만 업로드될 가능성이 있다.)
|
|
33
|
+
- 이미 DBRecord가 있으면서 Thumbnail을 설정한 경우에는 DCAT_RESOURCE 인스턴스의 updateDBRecord 메소드 호출 시 기존의 Thumbnail은 제거되고 새로운 Thumbnail을 연결한다.
|
|
34
|
+
- Thumbnail은 DCAT_RESOURCE 인스턴스의 삭제 시 삭제된다.
|
|
35
|
+
- SDK는 Thumbnail File의 생성요청의 책임을, SODAS_PROFILE 백엔드는 생성과 삭제의 책임을 가진다.
|
|
36
|
+
|
|
37
|
+
---
|
|
38
|
+
|
|
39
|
+
### DCAT_RESOURCE - VersionInfo Policy
|
|
40
|
+
|
|
41
|
+
- DCAT_RESOURCE 인스턴스는 createDBRecord/getDBRecord/updateDBRecord/listDBRecords를 통해 관련된 VersionInfo들을 불러온다.
|
|
42
|
+
- createDBRecord/updateDBRecord/deleteDBRecord를 통해 새롭게 버전 정보가 변경돼도 인스턴스 간 VersionInfo는 동기화되지 않는다. 따라서 의식적으로 getDBRecord를 통한 동기화가 필요하다.
|
|
43
|
+
|
|
44
|
+
---
|
|
45
|
+
|
|
46
|
+
### Distribution - UploadingData Policy
|
|
47
|
+
|
|
48
|
+
- 모든 **DCAT Distribution CLASS**는 UploadingData 프로퍼티를 가진다.
|
|
49
|
+
- UploadingData 프로퍼티는 **SODAS_SDK_FILE** 클래스를 상속받은 **DataFile** 클래스의 인스턴스이다.
|
|
50
|
+
- 이미 DownloadURL 있는 경우 UploadingData 필드를 설정하면 DownloadURL은 null로 설정된다.
|
|
51
|
+
- UploadingData는 Distribution 인스턴스의 createDBRecord 메소드 호출 시 업로드된다. (단, Data의 업로드가 먼저 호출되므로 Distribution.createDBRecord에서 에러가 발생할 경우 Data만 업로드될 가능성이 있다.)
|
|
52
|
+
- 이미 DBRecord가 있으면서 UploadingData를 설정한 경우 updateDBRecord 메소드 호출 시 기존의 Object File은 제거되고 새로운 Object File을 DownloadURL과 연결한다.
|
|
53
|
+
- UploadingData의 실제 Object File은 Distribution 인스턴스 삭제 시 삭제된다.
|
|
54
|
+
- SDK는 Object File의 생성 요청의 책임을, SODAS_PROFILE 백엔드는 생성과 삭제의 책임을 가진다.
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
### Dataset - Distribution Policy
|
|
59
|
+
|
|
60
|
+
- Dataset의 메서드로 Dataset Instance와 연관된 Distributions를 만들 수 있다.
|
|
61
|
+
- Dataset.createDBRecord를 통해 연관된 Distribution들의 createDBRecord가 호출되며, 최종적으로 Dataset과 Distribution 모두 ID와 IRI를 가지게 된다.
|
|
62
|
+
- 이 시점에서 Distribution은 IsDistributionOf를 연관된 Dataset의 ID로 가지게 된다.
|
|
63
|
+
- updateDBRecord 호출 시 하위 모든 Distribution의 updateDBRecord도 호출된다.
|
|
64
|
+
- 새롭게 추가된 Distribution은 레코드를 새롭게 만들고, 연결이 끊어진 Distribution은 삭제된다.
|
|
65
|
+
- deleteDBResource 호출 시 Dataset과 연관된 모든 Distribution은 DB에서 삭제되며 인스턴스들은 기본생성인스턴스가 된다.
|
|
66
|
+
|
|
67
|
+
---
|
|
68
|
+
|
|
69
|
+
### DatasetSeries - Dataset Policy
|
|
70
|
+
|
|
71
|
+
- DatasetSeries는 createDBRecord/getDBRecord/updateDBRecord/listDBRecords를 통해 관련된 seriesMembers(Dataset)들을 불러온다.
|
|
72
|
+
- DatasetSeries는 seriesMemberIDs 필드로 Dataset의 순서와 관계를 관리한다.
|
|
73
|
+
- deleteDBRecord 호출 시 DatasetSeries만 DB에서 삭제되며, 관련된 Dataset 인스턴스는 기본생성인스턴스로 초기화된다.
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## 🧪 CRUDL Test Policy
|
|
78
|
+
|
|
79
|
+
### Test Levels
|
|
80
|
+
|
|
81
|
+
- **Small 테스트**: 클래스 자체의 메서드 테스트
|
|
82
|
+
- **Medium 테스트**: SDK와 백엔드의 통합 테스트
|
|
83
|
+
- **Big 테스트**: 사용자 시나리오 엔드투엔드 테스트 (현재는 없음)
|
|
84
|
+
|
|
85
|
+
---
|
|
86
|
+
|
|
87
|
+
### 🟢 1. CREATE
|
|
88
|
+
|
|
89
|
+
#### ✅ 테스트 케이스:
|
|
90
|
+
|
|
91
|
+
- **ForeignKey 필드**를 제외한 모든 필드 중 하나만 null 값으로 설정한 케이스를 테스트한다.
|
|
92
|
+
|
|
93
|
+
#### 📝 테스트 정책:
|
|
94
|
+
|
|
95
|
+
1. DTO를 기반으로 인스턴스를 세팅한다.
|
|
96
|
+
2. **createDBRecord** 호출 후 **ID와 IRI** 생성 여부를 확인한다.
|
|
97
|
+
3. API 결과와 인스턴스를 비교한다.
|
|
98
|
+
4. **ID와 IRI**가 설정된 인스턴스에서 **createDBRecord** 호출 시 에러 발생을 확인한다.
|
|
99
|
+
|
|
100
|
+
---
|
|
101
|
+
|
|
102
|
+
### 🟢 2. GET
|
|
103
|
+
|
|
104
|
+
#### ✅ 테스트 케이스:
|
|
105
|
+
|
|
106
|
+
- **ForeignKey 필드**를 제외한 모든 필드 중 하나만 null 값으로 설정한 케이스를 테스트한다.
|
|
107
|
+
|
|
108
|
+
#### 📝 테스트 정책:
|
|
109
|
+
|
|
110
|
+
1. DTO를 기반으로 인스턴스를 세팅한다.
|
|
111
|
+
2. **createDBRecord**로 인스턴스를 생성한다.
|
|
112
|
+
3. **getDBRecord**로 생성된 인스턴스를 가져온다.
|
|
113
|
+
4. 생성 및 조회된 인스턴스를 비교한다.
|
|
114
|
+
|
|
115
|
+
---
|
|
116
|
+
|
|
117
|
+
### 🟢 3. UPDATE
|
|
118
|
+
|
|
119
|
+
#### ✅ 테스트 케이스:
|
|
120
|
+
|
|
121
|
+
- **ForeignKey 필드**를 제외한 모든 필드 중 하나만 null 값으로 설정한 케이스를 테스트한다.
|
|
122
|
+
|
|
123
|
+
#### 📝 테스트 정책:
|
|
124
|
+
|
|
125
|
+
1. 모든 필드가 채워진 인스턴스를 세팅한다.
|
|
126
|
+
2. **ID와 IRI**가 없는 인스턴스에서 **updateDBRecord** 호출 시 에러 발생을 확인한다.
|
|
127
|
+
3. **createDBRecord**로 인스턴스를 생성한다.
|
|
128
|
+
4. DTO를 기반으로 인스턴스를 재설정한다.
|
|
129
|
+
5. **updateDBRecord**로 인스턴스를 업데이트한다.
|
|
130
|
+
6. API 결과와 인스턴스를 비교한다.
|
|
131
|
+
|
|
132
|
+
---
|
|
133
|
+
|
|
134
|
+
### 🟢 4. DELETE
|
|
135
|
+
|
|
136
|
+
#### ✅ 테스트 케이스:
|
|
137
|
+
|
|
138
|
+
- **모든 필드가 채워진 케이스 하나**로 테스트한다.
|
|
139
|
+
|
|
140
|
+
#### 📝 테스트 정책:
|
|
141
|
+
|
|
142
|
+
1. 모든 필드가 채워진 인스턴스를 세팅한다.
|
|
143
|
+
2. **createDBRecord**로 인스턴스를 생성한다.
|
|
144
|
+
3. 생성된 인스턴스를 복사한다.
|
|
145
|
+
4. **deleteDBRecord**로 인스턴스를 삭제한다.
|
|
146
|
+
5. 삭제된 인스턴스의 모든 필드가 null인지 확인한다.
|
|
147
|
+
6. 복사된 인스턴스에서 **deleteDBRecord** 호출 시 에러 발생을 확인한다.
|
|
148
|
+
|
|
149
|
+
---
|
|
150
|
+
|
|
151
|
+
### 🟢 5. LIST
|
|
152
|
+
|
|
153
|
+
#### ✅ 테스트 케이스:
|
|
154
|
+
|
|
155
|
+
- **모든 필드가 채워진 인스턴스 12개**를 만들고, **페이지 수 5개**로 테스트한다.
|
|
156
|
+
|
|
157
|
+
#### 📝 테스트 정책:
|
|
158
|
+
|
|
159
|
+
1. 지정된 갯수만큼 인스턴스를 생성하고 저장한다.
|
|
160
|
+
2. **listDBRecords**를 ASC 및 DESC 방식으로 호출하고 총 수량과 순서를 비교한다.
|
|
161
|
+
|
|
162
|
+
---
|
|
163
|
+
|
|
164
|
+
## 🧪 SODAS_SDK_FILE Test Policy
|
|
165
|
+
|
|
166
|
+
#### 📝 테스트 정책:
|
|
167
|
+
|
|
168
|
+
1. **SODAS_SDK_FILE.upload()** 호출 후 파일을 업로드한다.
|
|
169
|
+
2. **getDownloadURL()**로 다운로드 URL을 확인하고, 원본 파일과 동일한지 확인한다.
|
|
170
|
+
3. **SODAS_SDK_FILE.remove()** 호출 후 삭제 및 URL 유효성 확인.
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { IDType } from "../../core/type";
|
|
2
|
+
import { DCAT_MODEL_DTO } from "../dcatClass";
|
|
3
|
+
import DCAT_RESOURCE, { DCAT_RESOURCE_DTO } from "./dcatResource";
|
|
4
|
+
export interface DataServiceDTO extends DCAT_RESOURCE_DTO {
|
|
5
|
+
DataServiceID?: string;
|
|
6
|
+
EndpointURL?: string;
|
|
7
|
+
EndpointDescription?: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Represents a Data Service DTO.
|
|
11
|
+
*/
|
|
12
|
+
declare class DataService extends DCAT_RESOURCE {
|
|
13
|
+
private DataServiceID;
|
|
14
|
+
private EndpointURL;
|
|
15
|
+
private EndpointDescription;
|
|
16
|
+
/**
|
|
17
|
+
* Initializes the API URL for DataService.
|
|
18
|
+
*
|
|
19
|
+
* @static
|
|
20
|
+
* @param {string} url - The base URL of the API.
|
|
21
|
+
*/
|
|
22
|
+
static configureAPIURL(url: string): void;
|
|
23
|
+
toDTO(): DataServiceDTO;
|
|
24
|
+
populateFromDTO(dto: DCAT_MODEL_DTO): Promise<void>;
|
|
25
|
+
get dataServiceID(): IDType;
|
|
26
|
+
get endpointURL(): string;
|
|
27
|
+
set endpointURL(value: string);
|
|
28
|
+
get endpointDescription(): string;
|
|
29
|
+
set endpointDescription(value: string);
|
|
30
|
+
}
|
|
31
|
+
export default DataService;
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
import { IDType, PaginatedResponse, SortOrder } from "../../core/type";
|
|
2
|
+
import { DCAT_MODEL_DTO } from "../dcatClass";
|
|
3
|
+
import DCAT_RESOURCE, { DCAT_RESOURCE_DTO } from "./dcatResource";
|
|
4
|
+
import Distribution from "./distribution";
|
|
5
|
+
export interface DatasetDTO extends DCAT_RESOURCE_DTO {
|
|
6
|
+
DatasetID?: string;
|
|
7
|
+
InSeriesID?: string;
|
|
8
|
+
FirstID?: string;
|
|
9
|
+
PreviousID?: string;
|
|
10
|
+
NextID?: string;
|
|
11
|
+
LastID?: string;
|
|
12
|
+
Frequency?: string;
|
|
13
|
+
SpatialResolutionInMeters?: number;
|
|
14
|
+
TemporalResolution?: string;
|
|
15
|
+
Spatial?: string;
|
|
16
|
+
Temporal?: string;
|
|
17
|
+
WasGeneratedBy?: string;
|
|
18
|
+
DistributionIDs?: string[];
|
|
19
|
+
}
|
|
20
|
+
/**
|
|
21
|
+
* Represents a Dataset Data Transfer Object (DTO).
|
|
22
|
+
*/
|
|
23
|
+
declare class Dataset extends DCAT_RESOURCE {
|
|
24
|
+
private DatasetID;
|
|
25
|
+
private InSeriesID;
|
|
26
|
+
private FirstID;
|
|
27
|
+
private PreviousID;
|
|
28
|
+
private NextID;
|
|
29
|
+
private LastID;
|
|
30
|
+
private Frequency;
|
|
31
|
+
private SpatialResolutionInMeters;
|
|
32
|
+
private TemporalResolution;
|
|
33
|
+
private Spatial;
|
|
34
|
+
private Temporal;
|
|
35
|
+
private WasGeneratedBy;
|
|
36
|
+
private DistributionIDs;
|
|
37
|
+
private Distributions;
|
|
38
|
+
/**
|
|
39
|
+
* Initializes or updates the API_URL and LIST_URL for Dataset.
|
|
40
|
+
*
|
|
41
|
+
* @static
|
|
42
|
+
* @param {string} url - The base URL for the dataset API.
|
|
43
|
+
*/
|
|
44
|
+
static configureAPIURL(url: string): void;
|
|
45
|
+
static searchDBRecords(searchKeyword: string, pageNumber?: number, pageSize?: number, sortOrder?: SortOrder): Promise<PaginatedResponse<Dataset>>;
|
|
46
|
+
toDTO(): DatasetDTO;
|
|
47
|
+
populateFromDTO(dto: DCAT_MODEL_DTO): Promise<void>;
|
|
48
|
+
populateDistributionFromDTO(dto: DatasetDTO): Promise<void>;
|
|
49
|
+
createDBRecord(): Promise<void>;
|
|
50
|
+
private deleteNotMaintainedDistributions;
|
|
51
|
+
updateDBRecord(): Promise<void>;
|
|
52
|
+
deleteDBRecord(): Promise<void>;
|
|
53
|
+
get distributions(): Distribution[];
|
|
54
|
+
getDistributionUsingIndex(index: number): Distribution;
|
|
55
|
+
appendDistribution(distribution: Distribution): void;
|
|
56
|
+
/**
|
|
57
|
+
* Creates and adds a new distribution to the dataset.
|
|
58
|
+
* @returns {Distribution} The newly created distribution.
|
|
59
|
+
*/
|
|
60
|
+
createDistribution(): Distribution;
|
|
61
|
+
removeDistributionUsingIndex(index: number): void;
|
|
62
|
+
get datasetID(): IDType;
|
|
63
|
+
get inSeriesID(): IDType;
|
|
64
|
+
get firstID(): IDType;
|
|
65
|
+
get previousID(): IDType;
|
|
66
|
+
get nextID(): IDType;
|
|
67
|
+
get lastID(): IDType;
|
|
68
|
+
get frequency(): string;
|
|
69
|
+
set frequency(value: string);
|
|
70
|
+
get spatialResolutionInMeters(): number;
|
|
71
|
+
set spatialResolutionInMeters(value: number);
|
|
72
|
+
get temporalResolution(): string;
|
|
73
|
+
set temporalResolution(value: string);
|
|
74
|
+
get spatial(): string;
|
|
75
|
+
set spatial(value: string);
|
|
76
|
+
get temporal(): string;
|
|
77
|
+
set temporal(value: string);
|
|
78
|
+
get wasGeneratedBy(): string;
|
|
79
|
+
set wasGeneratedBy(value: string);
|
|
80
|
+
}
|
|
81
|
+
export default Dataset;
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { IDType } from "../../core/type";
|
|
2
|
+
import { DCAT_MODEL_DTO } from "../dcatClass";
|
|
3
|
+
import Dataset from "./dataset";
|
|
4
|
+
import DCAT_RESOURCE, { DCAT_RESOURCE_DTO } from "./dcatResource";
|
|
5
|
+
interface DatasetSeriesDTO extends DCAT_RESOURCE_DTO {
|
|
6
|
+
DatasetSeriesID?: string;
|
|
7
|
+
InSeriesID?: string;
|
|
8
|
+
Frequency?: string;
|
|
9
|
+
SpatialResolutionInMeters?: number;
|
|
10
|
+
TemporalResolution?: string;
|
|
11
|
+
Spatial?: string;
|
|
12
|
+
Temporal?: string;
|
|
13
|
+
WasGeneratedBy?: string;
|
|
14
|
+
SeriesMemberIDs?: string[];
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Represents a series of datasets.
|
|
18
|
+
*/
|
|
19
|
+
declare class DatasetSeries extends DCAT_RESOURCE {
|
|
20
|
+
private DatasetSeriesID;
|
|
21
|
+
private InSeriesID;
|
|
22
|
+
private Frequency;
|
|
23
|
+
private SpatialResolutionInMeters;
|
|
24
|
+
private TemporalResolution;
|
|
25
|
+
private Spatial;
|
|
26
|
+
private Temporal;
|
|
27
|
+
private WasGeneratedBy;
|
|
28
|
+
private SeriesMembers;
|
|
29
|
+
private SeriesMemberIDs;
|
|
30
|
+
/**
|
|
31
|
+
* Initializes or updates the API_URL and LIST_URL for Dataset.
|
|
32
|
+
*
|
|
33
|
+
* @static
|
|
34
|
+
* @param {string} url - The base URL for the dataset API.
|
|
35
|
+
*/
|
|
36
|
+
static configureAPIURL(url: string): void;
|
|
37
|
+
toDTO(): DatasetSeriesDTO;
|
|
38
|
+
populateFromDTO(dto: DCAT_MODEL_DTO): Promise<void>;
|
|
39
|
+
populateSeriesMembersFromDTO(dto: DatasetSeriesDTO): Promise<void>;
|
|
40
|
+
deleteDBRecord(): Promise<void>;
|
|
41
|
+
appendSeriesMember(dataset: Dataset): void;
|
|
42
|
+
switchSeriesMembers(index1: number, index2: number): void;
|
|
43
|
+
get datasetSeriesID(): IDType;
|
|
44
|
+
get seriesMembereIDs(): IDType[];
|
|
45
|
+
get seriesMembers(): Dataset[];
|
|
46
|
+
get frequency(): string;
|
|
47
|
+
set frequency(value: string);
|
|
48
|
+
get spatialResolutionInMeters(): number;
|
|
49
|
+
set spatialResolutionInMeters(value: number);
|
|
50
|
+
get temporalResolution(): string;
|
|
51
|
+
set temporalResolution(value: string);
|
|
52
|
+
get spatial(): string;
|
|
53
|
+
set spatial(value: string);
|
|
54
|
+
get temporal(): string;
|
|
55
|
+
set temporal(value: string);
|
|
56
|
+
get wasGeneratedBy(): string;
|
|
57
|
+
set wasGeneratedBy(value: string);
|
|
58
|
+
}
|
|
59
|
+
export default DatasetSeries;
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
import { InstanceValueType, MultiLanguageField, MultiLanguageKeywords } from "../../core/type";
|
|
2
|
+
import ThumbnailFile from "../../SODAS_SDK_FILE/thumbnailFile";
|
|
3
|
+
import DCAT_MODEL, { DCAT_MODEL_DTO } from "../dcatClass";
|
|
4
|
+
import Profile from "../PROF/profile";
|
|
5
|
+
import VersionInfo, { VersionInfoDTO } from "./versionInfo";
|
|
6
|
+
export interface DCAT_RESOURCE_DTO extends DCAT_MODEL_DTO {
|
|
7
|
+
ResourceType?: string;
|
|
8
|
+
AssetID?: string;
|
|
9
|
+
DatahubID?: string;
|
|
10
|
+
ThumbnailURL?: string;
|
|
11
|
+
AccessRights?: string;
|
|
12
|
+
Status?: string;
|
|
13
|
+
VersionNotes?: string;
|
|
14
|
+
Version?: string;
|
|
15
|
+
IsVersionOf?: string;
|
|
16
|
+
PreviousVersionID?: string;
|
|
17
|
+
NextVersionID?: string;
|
|
18
|
+
ContactPoint?: string;
|
|
19
|
+
KeywordML?: MultiLanguageKeywords;
|
|
20
|
+
LandingPage?: string;
|
|
21
|
+
Theme?: string;
|
|
22
|
+
ConformsTo?: string;
|
|
23
|
+
Creator?: string;
|
|
24
|
+
DescriptionML?: any;
|
|
25
|
+
Identifier?: string;
|
|
26
|
+
IsReferencedBy?: any[];
|
|
27
|
+
Language?: any[];
|
|
28
|
+
License?: string;
|
|
29
|
+
Publisher?: string;
|
|
30
|
+
Rights?: any[];
|
|
31
|
+
TitleML?: MultiLanguageField;
|
|
32
|
+
Type?: string;
|
|
33
|
+
HasPolicy?: any[];
|
|
34
|
+
IssuerID?: string;
|
|
35
|
+
ProfileIRI?: string;
|
|
36
|
+
InstanceValue?: InstanceValueType;
|
|
37
|
+
VersionInfo?: VersionInfoDTO[];
|
|
38
|
+
}
|
|
39
|
+
declare abstract class DCAT_RESOURCE extends DCAT_MODEL {
|
|
40
|
+
protected Thumbnail: ThumbnailFile;
|
|
41
|
+
private ResourceType;
|
|
42
|
+
private AssetID;
|
|
43
|
+
private DatahubID;
|
|
44
|
+
private ThumbnailURL;
|
|
45
|
+
private AccessRights;
|
|
46
|
+
private Status;
|
|
47
|
+
private VersionNotes;
|
|
48
|
+
private Version;
|
|
49
|
+
private IsVersionOf;
|
|
50
|
+
private PreviousVersionID;
|
|
51
|
+
private NextVersionID;
|
|
52
|
+
private ContactPoint;
|
|
53
|
+
private KeywordML;
|
|
54
|
+
private LandingPage;
|
|
55
|
+
private Theme;
|
|
56
|
+
private ConformsTo;
|
|
57
|
+
private Creator;
|
|
58
|
+
private DescriptionML;
|
|
59
|
+
private Identifier;
|
|
60
|
+
private IsReferencedBy;
|
|
61
|
+
private Language;
|
|
62
|
+
private License;
|
|
63
|
+
private Publisher;
|
|
64
|
+
private Rights;
|
|
65
|
+
private TitleML;
|
|
66
|
+
private Type;
|
|
67
|
+
private HasPolicy;
|
|
68
|
+
private IssuerID;
|
|
69
|
+
private ProfileIRI;
|
|
70
|
+
private InstanceValue;
|
|
71
|
+
private VersionInfos;
|
|
72
|
+
toDTO(): DCAT_RESOURCE_DTO;
|
|
73
|
+
populateFromDTO(dto: DCAT_MODEL_DTO): Promise<void>;
|
|
74
|
+
populateVersionInfoFromDTO(dto: DCAT_RESOURCE_DTO): Promise<void>;
|
|
75
|
+
createDBRecord(): Promise<void>;
|
|
76
|
+
updateDBRecord(): Promise<void>;
|
|
77
|
+
setThumbnailForBrowser(file: File): void;
|
|
78
|
+
setThumbnailForNode(thumbnailPath: string): void;
|
|
79
|
+
get versionInfos(): VersionInfo[];
|
|
80
|
+
get isVersionOf(): string;
|
|
81
|
+
get previousVersionID(): string;
|
|
82
|
+
get nextVersionID(): string;
|
|
83
|
+
set previousVersion(previousVersion: DCAT_RESOURCE);
|
|
84
|
+
get resourceType(): string;
|
|
85
|
+
get assetID(): string;
|
|
86
|
+
get datahubID(): string;
|
|
87
|
+
get thumbnailURL(): string;
|
|
88
|
+
get accessRights(): string;
|
|
89
|
+
set accessRights(value: string);
|
|
90
|
+
get status(): string;
|
|
91
|
+
set status(value: string);
|
|
92
|
+
get versionNotes(): string;
|
|
93
|
+
set versionNotes(value: string);
|
|
94
|
+
get version(): string;
|
|
95
|
+
set version(value: string);
|
|
96
|
+
get contactPoint(): string;
|
|
97
|
+
set contactPoint(value: string);
|
|
98
|
+
get landingPage(): string;
|
|
99
|
+
set landingPage(value: string);
|
|
100
|
+
get theme(): string;
|
|
101
|
+
set theme(value: string);
|
|
102
|
+
get conformsTo(): string;
|
|
103
|
+
set conformsTo(value: string);
|
|
104
|
+
get creator(): string;
|
|
105
|
+
set creator(value: string);
|
|
106
|
+
get identifier(): string;
|
|
107
|
+
get language(): any[];
|
|
108
|
+
set language(value: any[]);
|
|
109
|
+
get license(): string;
|
|
110
|
+
set license(value: string);
|
|
111
|
+
get publisher(): string;
|
|
112
|
+
set publisher(value: string);
|
|
113
|
+
get rights(): any[];
|
|
114
|
+
set rights(value: any[]);
|
|
115
|
+
get type(): string;
|
|
116
|
+
set type(value: string);
|
|
117
|
+
get hasPolicy(): any[];
|
|
118
|
+
set hasPolicy(value: any[]);
|
|
119
|
+
get issuerID(): string;
|
|
120
|
+
set issuerID(value: string);
|
|
121
|
+
getDCATProfile(): Promise<Profile | null>;
|
|
122
|
+
setDCATProfile(profile: Profile): void;
|
|
123
|
+
getDATAProfile(): Promise<Profile | null>;
|
|
124
|
+
setDATAProfile(profile: Profile): void;
|
|
125
|
+
setInstanceValue(name: string, value: string): void;
|
|
126
|
+
getInstanceValue(name: string): string | undefined;
|
|
127
|
+
getTitle(languageCode?: string): string;
|
|
128
|
+
setTitle(title: string, languageCode?: string): void;
|
|
129
|
+
removeTitle(languageCode?: string): void;
|
|
130
|
+
getDescription(languageCode?: string): string;
|
|
131
|
+
setDescription(title: string, languageCode?: string): void;
|
|
132
|
+
removeDescription(languageCode?: string): void;
|
|
133
|
+
setKeywords(keywords: string[], languageCode?: string): void;
|
|
134
|
+
addKeyword(keyword: string, languageCode?: string): void;
|
|
135
|
+
removeKeyword(keyword: string, languageCode?: string): void;
|
|
136
|
+
getKeywords(languageCode?: string): string[];
|
|
137
|
+
}
|
|
138
|
+
export default DCAT_RESOURCE;
|
|
@@ -0,0 +1,109 @@
|
|
|
1
|
+
import { IDType, MultiLanguageField } from "../../core/type";
|
|
2
|
+
import DCAT_MODEL, { DCAT_MODEL_DTO } from "../dcatClass";
|
|
3
|
+
export interface DistributionDTO extends DCAT_MODEL_DTO {
|
|
4
|
+
AccessServiceID?: string;
|
|
5
|
+
AccessURL?: string;
|
|
6
|
+
ByteSize?: number;
|
|
7
|
+
CompressFormat?: string;
|
|
8
|
+
DownloadURL?: string;
|
|
9
|
+
MediaType?: string;
|
|
10
|
+
PackageFormat?: string;
|
|
11
|
+
SpatialResolutionInMeters?: number;
|
|
12
|
+
TemporalResolution?: string;
|
|
13
|
+
AccessRights?: string;
|
|
14
|
+
ConformsTo?: string;
|
|
15
|
+
DescriptionML?: MultiLanguageField;
|
|
16
|
+
Format?: string;
|
|
17
|
+
License?: string;
|
|
18
|
+
Rights?: any[];
|
|
19
|
+
TitleML?: MultiLanguageField;
|
|
20
|
+
HasPolicy?: any[];
|
|
21
|
+
Checksum?: string;
|
|
22
|
+
IsDistributionOf?: string;
|
|
23
|
+
}
|
|
24
|
+
declare class Distribution extends DCAT_MODEL {
|
|
25
|
+
static UPLOAD_API_URL: string;
|
|
26
|
+
static DOWNLOAD_API_URL: string;
|
|
27
|
+
private UploadingData;
|
|
28
|
+
private IsDistributionOf;
|
|
29
|
+
private AccessServiceID;
|
|
30
|
+
private AccessURL;
|
|
31
|
+
private ByteSize;
|
|
32
|
+
private CompressFormat;
|
|
33
|
+
private DownloadURL;
|
|
34
|
+
private MediaType;
|
|
35
|
+
private PackageFormat;
|
|
36
|
+
private SpatialResolutionInMeters;
|
|
37
|
+
private TemporalResolution;
|
|
38
|
+
private AccessRights;
|
|
39
|
+
private ConformsTo;
|
|
40
|
+
private DescriptionML;
|
|
41
|
+
private Format;
|
|
42
|
+
private License;
|
|
43
|
+
private Rights;
|
|
44
|
+
private TitleML;
|
|
45
|
+
private HasPolicy;
|
|
46
|
+
private Checksum;
|
|
47
|
+
toDTO(): DistributionDTO;
|
|
48
|
+
populateFromDTO(dto: DCAT_MODEL_DTO): Promise<void>;
|
|
49
|
+
/**
|
|
50
|
+
* Initializes or updates the API URLs for the Distribution class.
|
|
51
|
+
*
|
|
52
|
+
* @static
|
|
53
|
+
* @param {string} url - The base URL for the distribution API.
|
|
54
|
+
*/
|
|
55
|
+
static configureAPIURL(url: string): void;
|
|
56
|
+
static configureBucketName(bucketName: string): void;
|
|
57
|
+
/**
|
|
58
|
+
* Sets file information for a browser environment.
|
|
59
|
+
* @param {File} file - The file object from the browser.
|
|
60
|
+
*/
|
|
61
|
+
setUploadingDataForBrowser(file: File): void;
|
|
62
|
+
/**
|
|
63
|
+
* Sets file information for a Node.js environment.
|
|
64
|
+
* @param {string} filePath - The file path on the server.
|
|
65
|
+
*/
|
|
66
|
+
setUploadingDataForNode(filePath: string): void;
|
|
67
|
+
createDBRecord(): Promise<void>;
|
|
68
|
+
updateDBRecord(): Promise<void>;
|
|
69
|
+
get accessServiceID(): IDType;
|
|
70
|
+
get accessURL(): string;
|
|
71
|
+
set accessURL(value: string);
|
|
72
|
+
get byteSize(): number;
|
|
73
|
+
set byteSize(value: number);
|
|
74
|
+
get downloadURL(): string;
|
|
75
|
+
set downloadURL(value: string);
|
|
76
|
+
get mediaType(): string;
|
|
77
|
+
set mediaType(value: string);
|
|
78
|
+
get packageFormat(): string;
|
|
79
|
+
set packageFormat(value: string);
|
|
80
|
+
get spatialResolutionInMeters(): number;
|
|
81
|
+
set spatialResolutionInMeters(value: number);
|
|
82
|
+
get temporalResolution(): string;
|
|
83
|
+
set temporalResolution(value: string);
|
|
84
|
+
get accessRights(): string;
|
|
85
|
+
set accessRights(value: string);
|
|
86
|
+
get conformsTo(): string;
|
|
87
|
+
set conformsTo(value: string);
|
|
88
|
+
getTitle(languageCode?: string): string;
|
|
89
|
+
setTitle(title: string, languageCode?: string): void;
|
|
90
|
+
removeTitle(languageCode?: string): void;
|
|
91
|
+
getDescription(languageCode?: string): string;
|
|
92
|
+
setDescription(title: string, languageCode?: string): void;
|
|
93
|
+
removeDescription(languageCode?: string): void;
|
|
94
|
+
get format(): string;
|
|
95
|
+
set format(value: string);
|
|
96
|
+
get compressFormat(): string;
|
|
97
|
+
set compressFormat(value: string);
|
|
98
|
+
get license(): string;
|
|
99
|
+
set license(value: string);
|
|
100
|
+
get rights(): any[];
|
|
101
|
+
set rights(value: any[]);
|
|
102
|
+
get hasPolicy(): any[];
|
|
103
|
+
set hasPolicy(value: any[]);
|
|
104
|
+
get checksum(): string;
|
|
105
|
+
set checksum(value: string);
|
|
106
|
+
get isDistributionOf(): IDType;
|
|
107
|
+
set isDistributionOf(value: string);
|
|
108
|
+
}
|
|
109
|
+
export default Distribution;
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
import { IDType, IRIType, MultiLanguageField, MultiLanguageKeywords } from "../../core/type";
|
|
2
|
+
export interface VersionInfoDTO {
|
|
3
|
+
ID?: string;
|
|
4
|
+
TitleML?: MultiLanguageField;
|
|
5
|
+
DescriptionML?: MultiLanguageField;
|
|
6
|
+
IRI?: string;
|
|
7
|
+
KeywordML?: MultiLanguageKeywords;
|
|
8
|
+
ResourceType?: string;
|
|
9
|
+
VersionNotes?: string;
|
|
10
|
+
Version?: string;
|
|
11
|
+
IsVersionOf?: string;
|
|
12
|
+
NextVersionID?: string;
|
|
13
|
+
PreviousVersionID?: string;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Represents version information for a resource.
|
|
17
|
+
*/
|
|
18
|
+
declare class VersionInfo {
|
|
19
|
+
private ID?;
|
|
20
|
+
private TitleML;
|
|
21
|
+
private DescriptionML;
|
|
22
|
+
private IRI;
|
|
23
|
+
private KeywordML;
|
|
24
|
+
private ResourceType;
|
|
25
|
+
private VersionNotes;
|
|
26
|
+
private Version;
|
|
27
|
+
private IsVersionOf?;
|
|
28
|
+
private NextVersionID?;
|
|
29
|
+
private PreviousVersionID?;
|
|
30
|
+
populateFromDTO(dto: VersionInfoDTO): Promise<void>;
|
|
31
|
+
get id(): IDType;
|
|
32
|
+
getTitle(languageCode?: string): string;
|
|
33
|
+
getDescription(languageCode?: string): string;
|
|
34
|
+
get iri(): IRIType;
|
|
35
|
+
getKeywords(languageCode?: string): string[];
|
|
36
|
+
get resourceType(): string;
|
|
37
|
+
get versionNotes(): string;
|
|
38
|
+
get version(): string;
|
|
39
|
+
get isVersionOf(): string;
|
|
40
|
+
get nextVersionID(): string;
|
|
41
|
+
get previousVersionID(): string;
|
|
42
|
+
}
|
|
43
|
+
export default VersionInfo;
|