add first forge actor
This commit is contained in:
parent
09e677c722
commit
fd91f3aa80
5 changed files with 101 additions and 0 deletions
|
@ -0,0 +1,14 @@
|
|||
(ns org.domaindrivenarchitecture.fed-poc.forge
|
||||
(:require [clojure.spec.alpha :as s]
|
||||
[orchestra.core :refer [defn-spec]]
|
||||
[org.domaindrivenarchitecture.fed-poc.spec-helper :as sh]
|
||||
[org.domaindrivenarchitecture.fed-poc.owl :as owl]
|
||||
[org.domaindrivenarchitecture.fed-poc.xsd :as xsd]
|
||||
[org.domaindrivenarchitecture.fed-poc.activitystreams2 :as as]))
|
||||
|
||||
;https://forgefed.org/ns#Repository
|
||||
;TODO: definition in progress
|
||||
(s/def ::Repository
|
||||
(s/and
|
||||
::as/Object
|
||||
(sh/map-spec (s/keys :opt []))))
|
|
@ -0,0 +1,7 @@
|
|||
(ns org.domaindrivenarchitecture.fed-poc.security
|
||||
(:require [clojure.spec.alpha :as s]
|
||||
[orchestra.core :refer [defn-spec]]
|
||||
[org.domaindrivenarchitecture.fed-poc.spec-helper :as sh]
|
||||
[org.domaindrivenarchitecture.fed-poc.owl :as owl]
|
||||
[org.domaindrivenarchitecture.fed-poc.xsd :as xsd]))
|
||||
|
51
src/main/resources/security.json
Normal file
51
src/main/resources/security.json
Normal file
|
@ -0,0 +1,51 @@
|
|||
{
|
||||
"@context": {
|
||||
"id": "@id",
|
||||
"type": "@type",
|
||||
|
||||
"dc": "http://purl.org/dc/terms/",
|
||||
"sec": "https://w3id.org/security#",
|
||||
"xsd": "http://www.w3.org/2001/XMLSchema#",
|
||||
|
||||
"EcdsaKoblitzSignature2016": "sec:EcdsaKoblitzSignature2016",
|
||||
"Ed25519Signature2018": "sec:Ed25519Signature2018",
|
||||
"EncryptedMessage": "sec:EncryptedMessage",
|
||||
"GraphSignature2012": "sec:GraphSignature2012",
|
||||
"LinkedDataSignature2015": "sec:LinkedDataSignature2015",
|
||||
"LinkedDataSignature2016": "sec:LinkedDataSignature2016",
|
||||
"CryptographicKey": "sec:Key",
|
||||
|
||||
"authenticationTag": "sec:authenticationTag",
|
||||
"canonicalizationAlgorithm": "sec:canonicalizationAlgorithm",
|
||||
"cipherAlgorithm": "sec:cipherAlgorithm",
|
||||
"cipherData": "sec:cipherData",
|
||||
"cipherKey": "sec:cipherKey",
|
||||
"created": {"@id": "dc:created", "@type": "xsd:dateTime"},
|
||||
"creator": {"@id": "dc:creator", "@type": "@id"},
|
||||
"digestAlgorithm": "sec:digestAlgorithm",
|
||||
"digestValue": "sec:digestValue",
|
||||
"domain": "sec:domain",
|
||||
"encryptionKey": "sec:encryptionKey",
|
||||
"expiration": {"@id": "sec:expiration", "@type": "xsd:dateTime"},
|
||||
"expires": {"@id": "sec:expiration", "@type": "xsd:dateTime"},
|
||||
"initializationVector": "sec:initializationVector",
|
||||
"iterationCount": "sec:iterationCount",
|
||||
"nonce": "sec:nonce",
|
||||
"normalizationAlgorithm": "sec:normalizationAlgorithm",
|
||||
"owner": {"@id": "sec:owner", "@type": "@id"},
|
||||
"password": "sec:password",
|
||||
"privateKey": {"@id": "sec:privateKey", "@type": "@id"},
|
||||
"privateKeyPem": "sec:privateKeyPem",
|
||||
"publicKey": {"@id": "sec:publicKey", "@type": "@id"},
|
||||
"publicKeyBase58": "sec:publicKeyBase58",
|
||||
"publicKeyPem": "sec:publicKeyPem",
|
||||
"publicKeyWif": "sec:publicKeyWif",
|
||||
"publicKeyService": {"@id": "sec:publicKeyService", "@type": "@id"},
|
||||
"revoked": {"@id": "sec:revoked", "@type": "xsd:dateTime"},
|
||||
"salt": "sec:salt",
|
||||
"signature": "sec:signature",
|
||||
"signatureAlgorithm": "sec:signingAlgorithm",
|
||||
"signatureValue": "sec:signatureValue"
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
(ns org.domaindrivenarchitecture.fed-poc.forge-test
|
||||
(:require
|
||||
[clojure.test :refer [deftest is are testing run-tests]]
|
||||
[clojure.spec.alpha :as s]
|
||||
[org.domaindrivenarchitecture.fed-poc.security :as sec]
|
||||
[org.domaindrivenarchitecture.fed-poc.activitystreams2 :as as]
|
||||
[org.domaindrivenarchitecture.fed-poc.forge :as sut]))
|
||||
|
||||
(deftest Repository-test
|
||||
(is (s/valid? ::sut/Repository
|
||||
{::as/id "https://dev.example/aviva/treesim",
|
||||
::as/type "Repository",
|
||||
:sec/publicKey {::sec/id "https://dev.example/aviva/treesim#main-key",
|
||||
::sec/owner "https://dev.example/aviva/treesim",
|
||||
::sec/publicKeyPem "-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhki....."},
|
||||
::sut/inbox "https://dev.example/aviva/treesim/inbox",
|
||||
::sut/outbox "https://dev.example/aviva/treesim/outbox",
|
||||
::sut/followers "https://dev.example/aviva/treesim/followers",
|
||||
::sut/team "https://dev.example/aviva/treesim/team",
|
||||
::sut/name "Tree Growth 3D Simulation",
|
||||
::sut/summary "<p>Tree growth 3D simulator for my nature exploration game</p>"})))
|
|
@ -0,0 +1,8 @@
|
|||
(ns org.domaindrivenarchitecture.fed-poc.security-test
|
||||
(:require
|
||||
[clojure.test :refer [deftest is are testing run-tests]]
|
||||
[clojure.spec.alpha :as s]
|
||||
[org.domaindrivenarchitecture.fed-poc.security :as sut]))
|
||||
|
||||
(deftest Repository-test
|
||||
(is true))
|
Loading…
Reference in a new issue