Skip to content
This repository has been archived by the owner on Jan 21, 2022. It is now read-only.

Commit

Permalink
Merge pull request #11 from clerkinc/yourtallness/export_resource_types
Browse files Browse the repository at this point in the history
fix: export resource types so that IDEs can pick up the definitions
refactor: restructure resource definitions add test coverage for sub-apis
  • Loading branch information
yourtallness authored Feb 22, 2021
2 parents 07c51a1 + d52f226 commit 56ef34e
Show file tree
Hide file tree
Showing 80 changed files with 1,666 additions and 1,366 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -218,7 +218,7 @@ clerk.smsMessages

### Examples

You also consult the [examples folder](https://github.com/clerkinc/clerk-sdk-node/tree/main/src/examples) for further hints on usage.
You also consult the [examples folder](https://github.com/clerkinc/clerk-sdk-node/tree/main/examples) for further hints on usage.

### Client operations

Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,7 +1,8 @@
{
"name": "clerk-sdk-node-express-example",
"type": "module",
"dependencies": {
"@clerk/clerk-sdk-node": "file:../../../",
"@clerk/clerk-sdk-node": "latest",
"dotenv": "^8.2.0",
"express": "^4.17.1"
}
Expand Down
File renamed without changes.
6 changes: 4 additions & 2 deletions src/examples/express/yarn.lock → examples/express/yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@
# yarn lockfile v1


"@clerk/clerk-sdk-node@file:../../..":
version "0.0.2"
"@clerk/clerk-sdk-node@latest":
version "0.0.5"
resolved "https://registry.yarnpkg.com/@clerk/clerk-sdk-node/-/clerk-sdk-node-0.0.5.tgz#86bfdb32a1530df896425d77f88b641fd45cd474"
integrity sha512-g9CoBKoLD8lOB8xw9QlvYaTHkICe50gIMNoWUxErZqul4GryA5Fz29fA+qX2/EyJIW70ZbZ6pdbm1x/HIQRTxw==
dependencies:
"@types/cookies" "^0.7.6"
cookies "^0.8.0"
Expand Down
3 changes: 3 additions & 0 deletions examples/next/.env.local.sample
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
CLERK_API_KEY=test_foo
CLERK_API_URL=https://api.clerk.dev
CLERK_LOGGING=false
File renamed without changes.
File renamed without changes.
4 changes: 2 additions & 2 deletions src/examples/next/package.json → examples/next/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@
"start": "next start"
},
"dependencies": {
"@clerk/clerk-sdk-node": "file:../../../",
"@clerk/clerk-sdk-node": "latest",
"next": "10.0.5",
"react": "17.0.1",
"react-dom": "17.0.1"
}
}
}
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes.
File renamed without changes
File renamed without changes.
6 changes: 4 additions & 2 deletions src/examples/next/yarn.lock → examples/next/yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -90,8 +90,10 @@
lodash "^4.17.13"
to-fast-properties "^2.0.0"

"@clerk/clerk-sdk-node@file:../../..":
version "0.0.2"
"@clerk/clerk-sdk-node@latest":
version "0.0.5"
resolved "https://registry.yarnpkg.com/@clerk/clerk-sdk-node/-/clerk-sdk-node-0.0.5.tgz#86bfdb32a1530df896425d77f88b641fd45cd474"
integrity sha512-g9CoBKoLD8lOB8xw9QlvYaTHkICe50gIMNoWUxErZqul4GryA5Fz29fA+qX2/EyJIW70ZbZ6pdbm1x/HIQRTxw==
dependencies:
"@types/cookies" "^0.7.6"
cookies "^0.8.0"
Expand Down
File renamed without changes.
13 changes: 13 additions & 0 deletions examples/node/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"name": "clerk-sdk-node-examples",
"license": "MIT",
"type": "module",
"dependencies": {
"@clerk/clerk-sdk-node": "latest",
"dotenv": "^8.2.0",
"log-that-http": "^1.0.1"
},
"devDependencies": {
"@types/react-dom": "^17.0.1"
}
}
46 changes: 46 additions & 0 deletions examples/node/src/clients.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
// Usage:
// From examples/node, transpile files by running `tsc`
// To run:
// node --require dotenv/config dist/clients.js

import { Clerk, setClerkServerApiUrl, clients } from '@clerk/clerk-sdk-node';

const serverApiUrl = process.env.CLERK_API_URL || '';
const clientId = process.env.CLIENT_ID || '';
const sessionToken = process.env.SESSION_TOKEN || '';

setClerkServerApiUrl(serverApiUrl);

console.log('Get client list');
let clientList = await clients.getClientList();
console.log(clientList);

console.log('Get single client');
let client = await clients.getClient(clientId);
console.log(client);

try {
console.log('Verify client');
let verifiedClient = await clients.verifyClient(sessionToken);
console.log(verifiedClient);
} catch (error) {
console.log(error);
}

try {
console.log('Get single client for invalid clientId');
let invalidClient = await clients.getClient('foobar');
console.log(invalidClient);
} catch (error) {
console.log(error);
}

try {
console.log('Get client list with invalid API key');
const apiKey = 'snafu';
const clerk2 = new Clerk({ apiKey, serverApiUrl });
let invalidClients = await clerk2.clients.getClientList();
console.log(invalidClients);
} catch (error) {
console.log(error);
}
31 changes: 31 additions & 0 deletions examples/node/src/emails.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
// Usage:
// From examples/node, transpile files by running `tsc`
// To run:
// node --require dotenv/config dist/emails.js

import { setClerkServerApiUrl, emails } from '@clerk/clerk-sdk-node';

const serverApiUrl = process.env.CLERK_API_URL || '';

setClerkServerApiUrl(serverApiUrl);

console.log('Create email');

const emailAddressId = process.env.EMAIL_ADDRESS_ID || '';
const fromEmailName = 'sales';
const subject = 'Amazing offer!';
const body =
'Click <a href="https://www.thisiswhyimbroke.com/">here</a> to find out more!';

try {
let email = await emails.createEmail({
emailAddressId,
fromEmailName,
subject,
body,
});

console.log(email);
} catch (error) {
console.log(error);
}
47 changes: 47 additions & 0 deletions examples/node/src/sessions.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@
// Usage:
// From examples/node, transpile files by running `tsc`
// To run:
// node --require dotenv/config dist/sessions.js

import { setClerkServerApiUrl, sessions } from '@clerk/clerk-sdk-node';

const serverApiUrl = process.env.CLERK_API_URL || '';
const clientId = process.env.CLIENT_ID || '';
const userId = process.env.USER_ID || '';
const sessionId = process.env.SESSION_ID || '';
const sessionIdtoRevoke = process.env.SESSION_ID_TO_REVOKE || '';
const sessionToken = process.env.SESSION_TOKEN || '';

setClerkServerApiUrl(serverApiUrl);

console.log('Get session list');
let sessionList = await sessions.getSessionList();
console.log(sessionList);

console.log('Get session list filtered by userId');
let filteredSessions1 = await sessions.getSessionList({ userId });
console.log(filteredSessions1);

console.log('Get session list filtered by clientId');
let filteredSessions2 = await sessions.getSessionList({ clientId });
console.log(filteredSessions2);

console.log('Get single session');
let session = await sessions.getSession(sessionId);
console.log(session);

try {
console.log('Revoke session');
let revokedSession = await sessions.revokeSession(sessionIdtoRevoke);
console.log(revokedSession);
} catch (error) {
console.log(error);
}

try {
console.log('Verify session');
let verifiedSession = await sessions.verifySession(sessionId, sessionToken);
console.log(verifiedSession);
} catch (error) {
console.log(error);
}
25 changes: 25 additions & 0 deletions examples/node/src/smsMessages.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
// Usage:
// From examples/node, transpile files by running `tsc`
// To run:
// node --require dotenv/config dist/sms_messages.js

import { smsMessages, setClerkServerApiUrl } from '@clerk/clerk-sdk-node';

const serverApiUrl = process.env.CLERK_API_URL || '';
const phoneNumberId = process.env.PHONE_NUMBER_ID || '';

setClerkServerApiUrl(serverApiUrl);

try {
console.log('Create SMS message');
const message = "I'd buy that for a dollar";

let smsMessage = await smsMessages.createSMSMessage({
message,
phoneNumberId,
});

console.log(smsMessage);
} catch (error) {
console.log(error);
}
44 changes: 44 additions & 0 deletions examples/node/src/users.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
// Usage:
// From examples/node, transpile files by running `tsc`
// To run:
// node --require dotenv/config dist/users.js

import { setClerkServerApiUrl, users } from '@clerk/clerk-sdk-node';

const serverApiUrl = process.env.CLERK_API_URL || '';
const userId = process.env.USER_ID || '';
const userIdToDelete = process.env.USER_ID_TO_DELETE || '';

setClerkServerApiUrl(serverApiUrl);

console.log('Get user list');
let userList = await users.getUserList();
console.log(userList);

console.log('Get single user');
let user = await users.getUser(userId);
console.log(user);

try {
console.log('Update user');

let updatedUser = await users.updateUser(userId, {
firstName: 'Kyle',
lastName: 'Reese',
});

// let updatedUser = await users.updateUser(userId, { firstName: 'John', lastName: 'Connor' });
// let updatedUser = await users.updateUser(userId, { firstName: 'Peter', lastName: 'Silberman' });

console.log(updatedUser);
} catch (error) {
console.log(error);
}

try {
console.log('Delete user');
let deletedUser = await users.deleteUser(userIdToDelete);
console.log(deletedUser);
} catch (error) {
console.log(error);
}
23 changes: 23 additions & 0 deletions examples/node/tsconfig.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
{
"compilerOptions": {
"module": "esnext",
"esModuleInterop": true,
"strict": true,
"rootDir": "./src",
"outDir": "./dist",
"noImplicitAny": true,
"removeComments": true,
"preserveConstEnums": true,
"sourceMap": false,
"declaration": false,
"moduleResolution": "node",
"target": "es2017",
"skipLibCheck": true
},
"include": [
"src/**/*"
],
"exclude": [
"node_modules"
]
}
31 changes: 29 additions & 2 deletions src/examples/node/yarn.lock → examples/node/yarn.lock
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@
# yarn lockfile v1


"@clerk/clerk-sdk-node@file:../../..":
version "0.0.0"
"@clerk/clerk-sdk-node@latest":
version "0.0.5"
resolved "https://registry.yarnpkg.com/@clerk/clerk-sdk-node/-/clerk-sdk-node-0.0.5.tgz#86bfdb32a1530df896425d77f88b641fd45cd474"
integrity sha512-g9CoBKoLD8lOB8xw9QlvYaTHkICe50gIMNoWUxErZqul4GryA5Fz29fA+qX2/EyJIW70ZbZ6pdbm1x/HIQRTxw==
dependencies:
"@types/cookies" "^0.7.6"
cookies "^0.8.0"
Expand Down Expand Up @@ -103,6 +105,11 @@
resolved "https://registry.yarnpkg.com/@types/node/-/node-14.14.22.tgz#0d29f382472c4ccf3bd96ff0ce47daf5b7b84b18"
integrity sha512-g+f/qj/cNcqKkc3tFqlXOYjrmZA+jNBiDzbP3kH+B+otKFqAdPgVTGP1IeKRdMml/aE69as5S4FqtxAbl+LaMw==

"@types/prop-types@*":
version "15.7.3"
resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.3.tgz#2ab0d5da2e5815f94b0b9d4b95d1e5f243ab2ca7"
integrity sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw==

"@types/qs@*":
version "6.9.5"
resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.5.tgz#434711bdd49eb5ee69d90c1d67c354a9a8ecb18b"
Expand All @@ -113,6 +120,21 @@
resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.3.tgz#7ee330ba7caafb98090bece86a5ee44115904c2c"
integrity sha512-ewFXqrQHlFsgc09MK5jP5iR7vumV/BYayNC6PgJO2LPe8vrnNFyjQjSppfEngITi0qvfKtzFvgKymGheFM9UOA==

"@types/react-dom@^17.0.1":
version "17.0.1"
resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-17.0.1.tgz#d92d77d020bfb083e07cc8e0ac9f933599a4d56a"
integrity sha512-yIVyopxQb8IDZ7SOHeTovurFq+fXiPICa+GV3gp0Xedsl+MwQlMLKmvrnEjFbQxjliH5YVAEWFh975eVNmKj7Q==
dependencies:
"@types/react" "*"

"@types/react@*":
version "17.0.2"
resolved "https://registry.yarnpkg.com/@types/react/-/react-17.0.2.tgz#3de24c4efef902dd9795a49c75f760cbe4f7a5a8"
integrity sha512-Xt40xQsrkdvjn1EyWe1Bc0dJLcil/9x2vAuW7ya+PuQip4UYUaXyhzWmAbwRsdMgwOFHpfp7/FFZebDU6Y8VHA==
dependencies:
"@types/prop-types" "*"
csstype "^3.0.2"

"@types/responselike@*", "@types/responselike@^1.0.0":
version "1.0.0"
resolved "https://registry.yarnpkg.com/@types/responselike/-/responselike-1.0.0.tgz#251f4fe7d154d2bad125abe1b429b23afd262e29"
Expand Down Expand Up @@ -161,6 +183,11 @@ cookies@^0.8.0:
depd "~2.0.0"
keygrip "~1.1.0"

csstype@^3.0.2:
version "3.0.6"
resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.6.tgz#865d0b5833d7d8d40f4e5b8a6d76aea3de4725ef"
integrity sha512-+ZAmfyWMT7TiIlzdqJgjMb7S4f1beorDbWbsocyK4RaiqA5RTX3K14bnBWmmA9QEM0gRdsjyyrEmcyga8Zsxmw==

decompress-response@^6.0.0:
version "6.0.0"
resolved "https://registry.yarnpkg.com/decompress-response/-/decompress-response-6.0.0.tgz#ca387612ddb7e104bd16d85aab00d5ecf09c66fc"
Expand Down
5 changes: 3 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,10 @@
"@size-limit/preset-small-lib": "^4.9.1",
"@types/express": "^4.17.11",
"@types/jest": "^26.0.20",
"express": "^4.17.1",
"husky": "^4.3.7",
"jest": "^26.6.3",
"next": "^10.0.5",
"next": "^10.0.7",
"nock": "^13.0.7",
"size-limit": "^4.9.1",
"ts-jest": "^26.5.0",
"tsdx": "^0.14.1",
Expand All @@ -58,6 +58,7 @@
},
"dependencies": {
"@types/cookies": "^0.7.6",
"camelcase-keys": "^6.2.2",
"cookies": "^0.8.0",
"got": "^11.8.1",
"snakecase-keys": "^3.2.1"
Expand Down
Loading

0 comments on commit 56ef34e

Please sign in to comment.