diff --git a/.gitignore b/.gitignore index 7bbb517..3c11355 100644 --- a/.gitignore +++ b/.gitignore @@ -11,6 +11,8 @@ npm-debug.log* yarn-debug.log* yarn-error.log* pnpm-debug.log* +open-badge +open-badge.pub # environment variables diff --git a/public/open-badges/badges/seed-campaign/badge.png b/public/open-badges/badges/seed-campaign/badge.png new file mode 100644 index 0000000..64068ab Binary files /dev/null and b/public/open-badges/badges/seed-campaign/badge.png differ diff --git a/src/pages/open-badges/badges/seed-campaign/badge.json.ts b/src/pages/open-badges/badges/seed-campaign/badge.json.ts new file mode 100644 index 0000000..3f712fc --- /dev/null +++ b/src/pages/open-badges/badges/seed-campaign/badge.json.ts @@ -0,0 +1,27 @@ +const encodedData = { + type: "BadgeClass", + id: "https://fujocoded.com/open-badges/badges/seed-campaign/badge.json", + name: "FujoCoded LLC Seed Campaign", + description: "This person donated to the FujoCoded LLC Seed Campaign", + image: + "https://fujocoded-git-open-badge-fujowebdev.vercel.app/open-badges/badges/seed-campaign/badge.png", + criteria: { + narrative: "this person gave us money", + }, + issuer: { + id: "https://fujocoded-git-open-badge-fujowebdev.vercel.app/open-badges/issuer.json", + type: "Profile", + name: "FujoCoded LLC", + url: "https://fujocoded.com/", + email: "contacts@fujocoded.com", + verification: { + allowedOrigins: "fujocoded-git-open-badge-fujowebdev.vercel.app", + }, + }, +}; + +export async function GET() { + return new Response(JSON.stringify(encodedData), { + headers: { "Content-Type": "application/ld+json;charset=UTF-8" }, + }); +} diff --git a/src/pages/open-badges/issuer.json.ts b/src/pages/open-badges/issuer.json.ts new file mode 100644 index 0000000..fee15c5 --- /dev/null +++ b/src/pages/open-badges/issuer.json.ts @@ -0,0 +1,18 @@ +const encodedData = { + id: "https://fujocoded.com/", + type: "Profile", + name: "FujoCoded LLC", + url: "https://fujocoded.com/", + email: "contacts@fujocoded.com", + publicKey: + "https://fujocoded-git-open-badge-fujowebdev.vercel.app/open-badges/publicKey.json", + verification: { + allowedOrigins: "fujocoded-git-open-badge-fujowebdev.vercel.app", + }, +}; + +export async function GET() { + return new Response(JSON.stringify(encodedData), { + headers: { "Content-Type": "application/ld+json;charset=UTF-8" }, + }); +} diff --git a/src/pages/open-badges/publicKey.json.ts b/src/pages/open-badges/publicKey.json.ts new file mode 100644 index 0000000..10d73d8 --- /dev/null +++ b/src/pages/open-badges/publicKey.json.ts @@ -0,0 +1,14 @@ +const encodedData = { + "@context": "https://w3id.org/openbadges/v2", + type: "CryptographicKey", + id: "https://fujocoded-git-open-badge-fujowebdev.vercel.app/open-badges/publicKey.json", + owner: + "https://fujocoded-git-open-badge-fujowebdev.vercel.app/open-badges/issuer.json", + publicKeyPem: + "-----BEGIN PUBLIC KEY-----\nssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDX5FGhBULGZ7i9fytUY6MIYjh8AU+Z09+9w91wb7Oi2yG0EsDrGvCPg4IUWXitUU4RG7MSvyF+SJKM5YEcidEUJ9O+YWlwubXFBZo4xZlxfb06tTMti6dOo0jwEqqCmXQeas6jsxJ8JT9/K0UDUxTSj06wzcRZdWbNW5eenwXUCZWo1p743uBJgg9IsdKapv4tUtNqS6czYfTHRwTRR91L9GfmO1/sUiUTa50GWK4nMEyYZKF3VgW6VT3BvGZn53Vr2vW7iBRJ7ZicHSu+/Nj8CB+oeZ3b70Xf/kIpLxmi8EFNR19kv57B3+s+L3c6DFEJmDjWmJy9diP+Vly1rYvnkl6Re4DCHhlhW/Y2xNiiYo3ZnaZxCt7lonGqM5AMTya3tNJr/y2mtZbrucf59ZEbak3oEu2b4unru2P5LwgAE3LkNPvj9oEzPUmP5PKmQhkz87IuM5SbyRu6O9yQ/NZiuduF9pC7hwVDjqQ0iDRQt4MM1F6XOG7YvRcBkmzR1DM=\n-----END PUBLIC KEY-----\n", +}; +export async function GET() { + return new Response(JSON.stringify(encodedData), { + headers: { "Content-Type": "application/ld+json;charset=UTF-8" }, + }); +} diff --git a/src/pages/open-badges/seed-campaign/index.ts b/src/pages/open-badges/seed-campaign/index.ts new file mode 100644 index 0000000..f0a414c --- /dev/null +++ b/src/pages/open-badges/seed-campaign/index.ts @@ -0,0 +1,45 @@ +const encodedData = { + "@context": "https://w3id.org/openbadges/v2", + // id: "https://fujocoded.com/open-badges/seed-campaign", + // id: "https://api.badgr.io/public/assertions/2sfG9ftoTbu8l6rgHyey0g", + id: "https://fujocoded-git-open-badge-fujowebdev.vercel.app/open-badges/seed-campaign", + type: "Assertion", + recipient: { + type: "email", + hashed: true, + identity: + "sha256$ed452930e18c9916b8beee4aa0e1ae6b87f1a2cd56559ad77badf00309dc5aeb", + salt: "ab01f2bfe4a14832956a91ef8cacf064", + }, + issuedOn: new Date(Date.now()).toISOString(), + verification: { + type: "hosted", + }, + badge: { + type: "BadgeClass", + id: "https://fujocoded-git-open-badge-fujowebdev.vercel.app/open-badges/badges/seed-campaign/badge.json", + name: "FujoCoded LLC Seed Campaign", + description: "This person donated to the FujoCoded LLC Seed Campaign", + image: + "https://fujocoded-git-open-badge-fujowebdev.vercel.app/open-badges/badges/seed-campaign/badge.png", + criteria: { + narrative: "this person gave us money", + }, + issuer: { + id: "https://fujocoded.com/", + type: "Profile", + name: "FujoCoded LLC", + url: "https://fujocoded.com/", + email: "contacts@fujocoded.com", + verification: { + allowedOrigins: "fujocoded.com", + }, + }, + }, +}; + +export async function GET() { + return new Response(JSON.stringify(encodedData), { + headers: { "Content-Type": "application/ld+json;charset=UTF-8" }, + }); +}