Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
4 changes: 2 additions & 2 deletions .github/workflows/publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@ jobs:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v4
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2

- name: Use Node.js
uses: actions/setup-node@v4
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: '24.14.1'
registry-url: 'https://registry.npmjs.org'
Expand Down
1 change: 1 addition & 0 deletions .npmrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
min-release-age=7
16 changes: 16 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,21 @@
# Change Log

## 25.0.0

* Breaking: Renamed `AuthMethod` enum to `ProjectAuthMethodId`
* Breaking: Renamed `EmailTemplateType` to `ProjectEmailTemplateId` and `EmailTemplateLocale` to `ProjectEmailTemplateLocale`
* Breaking: Renamed `ServiceId` to `ProjectServiceId`, `ProtocolId` to `ProjectProtocolId`, `Secure` to `ProjectSMTPSecure`, `ProjectPolicy` to `ProjectPolicyId`
* Breaking: Replaced `Scopes` enum with `ProjectKeyScopes` for project key endpoints
* Breaking: Removed `updateDenyCanonicalEmailPolicy`; replaced with `updateDenyAliasedEmailPolicy`, `updateDenyDisposableEmailPolicy`, and `updateDenyFreeEmailPolicy`
* Breaking: Removed `AuthProvider` model; use new `ProjectOAuthProviderId` enum instead
* Added: `Project.get` method to fetch current project details
* Added: `Advisor`, `Presences`, and `Usage` services
* Added: `Insight`, `Presence`, `Report`, `UsageEvent`, and `UsageGauge` models with list variants
* Added: `ProjectAuthMethod`, `ProjectProtocol`, and `ProjectService` models
* Added: `ProjectOAuthProviderId` and `ProjectOAuth2GooglePrompt` enums
* Updated: `Project`, `Database`, and `OAuth2Google` model schemas
* Updated: `X-Appwrite-Response-Format` header to `1.9.5`

## 24.1.0

* Added: Introduced `bigint` create/update APIs for legacy Databases attributes
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# Appwrite Node.js SDK

![License](https://img.shields.io/github/license/appwrite/sdk-for-node.svg?style=flat-square)
![Version](https://img.shields.io/badge/api%20version-1.9.4-blue.svg?style=flat-square)
![Version](https://img.shields.io/badge/api%20version-1.9.5-blue.svg?style=flat-square)
[![Build Status](https://img.shields.io/travis/com/appwrite/sdk-generator?style=flat-square)](https://travis-ci.com/appwrite/sdk-generator)
[![Twitter Account](https://img.shields.io/twitter/follow/appwrite?color=00acee&label=twitter&style=flat-square)](https://twitter.com/appwrite)
[![Discord](https://img.shields.io/discord/564160730845151244?label=discord&style=flat-square)](https://appwrite.io/discord)
Expand Down
14 changes: 14 additions & 0 deletions docs/examples/advisor/delete-report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
```javascript
const sdk = require('node-appwrite');

const client = new sdk.Client()
.setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint
.setProject('<YOUR_PROJECT_ID>') // Your project ID
.setKey('<YOUR_API_KEY>'); // Your secret API key

const advisor = new sdk.Advisor(client);

const result = await advisor.deleteReport({
reportId: '<REPORT_ID>'
});
```
15 changes: 15 additions & 0 deletions docs/examples/advisor/get-insight.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
```javascript
const sdk = require('node-appwrite');

const client = new sdk.Client()
.setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint
.setProject('<YOUR_PROJECT_ID>') // Your project ID
.setSession(''); // The user session to authenticate with

const advisor = new sdk.Advisor(client);

const result = await advisor.getInsight({
reportId: '<REPORT_ID>',
insightId: '<INSIGHT_ID>'
});
```
14 changes: 14 additions & 0 deletions docs/examples/advisor/get-report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
```javascript
const sdk = require('node-appwrite');

const client = new sdk.Client()
.setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint
.setProject('<YOUR_PROJECT_ID>') // Your project ID
.setSession(''); // The user session to authenticate with

const advisor = new sdk.Advisor(client);

const result = await advisor.getReport({
reportId: '<REPORT_ID>'
});
```
16 changes: 16 additions & 0 deletions docs/examples/advisor/list-insights.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
```javascript
const sdk = require('node-appwrite');

const client = new sdk.Client()
.setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint
.setProject('<YOUR_PROJECT_ID>') // Your project ID
.setSession(''); // The user session to authenticate with

const advisor = new sdk.Advisor(client);

const result = await advisor.listInsights({
reportId: '<REPORT_ID>',
queries: [], // optional
total: false // optional
});
```
15 changes: 15 additions & 0 deletions docs/examples/advisor/list-reports.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
```javascript
const sdk = require('node-appwrite');

const client = new sdk.Client()
.setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint
.setProject('<YOUR_PROJECT_ID>') // Your project ID
.setSession(''); // The user session to authenticate with

const advisor = new sdk.Advisor(client);

const result = await advisor.listReports({
queries: [], // optional
total: false // optional
});
```
14 changes: 14 additions & 0 deletions docs/examples/presences/delete.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
```javascript
const sdk = require('node-appwrite');

const client = new sdk.Client()
.setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint
.setProject('<YOUR_PROJECT_ID>') // Your project ID
.setKey('<YOUR_API_KEY>'); // Your secret API key

const presences = new sdk.Presences(client);

const result = await presences.delete({
presenceId: '<PRESENCE_ID>'
});
```
14 changes: 14 additions & 0 deletions docs/examples/presences/get.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
```javascript
const sdk = require('node-appwrite');

const client = new sdk.Client()
.setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint
.setProject('<YOUR_PROJECT_ID>') // Your project ID
.setKey('<YOUR_API_KEY>'); // Your secret API key

const presences = new sdk.Presences(client);

const result = await presences.get({
presenceId: '<PRESENCE_ID>'
});
```
16 changes: 16 additions & 0 deletions docs/examples/presences/list.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
```javascript
const sdk = require('node-appwrite');

const client = new sdk.Client()
.setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint
.setProject('<YOUR_PROJECT_ID>') // Your project ID
.setKey('<YOUR_API_KEY>'); // Your secret API key

const presences = new sdk.Presences(client);

const result = await presences.list({
queries: [], // optional
total: false, // optional
ttl: 0 // optional
});
```
20 changes: 20 additions & 0 deletions docs/examples/presences/update-presence.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
```javascript
const sdk = require('node-appwrite');

const client = new sdk.Client()
.setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint
.setProject('<YOUR_PROJECT_ID>') // Your project ID
.setKey('<YOUR_API_KEY>'); // Your secret API key

const presences = new sdk.Presences(client);

const result = await presences.updatePresence({
presenceId: '<PRESENCE_ID>',
userId: '<USER_ID>',
status: '<STATUS>', // optional
expiresAt: '2020-10-15T06:38:00.000+00:00', // optional
metadata: {}, // optional
permissions: [sdk.Permission.read(sdk.Role.any())], // optional
purge: false // optional
});
```
19 changes: 19 additions & 0 deletions docs/examples/presences/upsert.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
```javascript
const sdk = require('node-appwrite');

const client = new sdk.Client()
.setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint
.setProject('<YOUR_PROJECT_ID>') // Your project ID
.setKey('<YOUR_API_KEY>'); // Your secret API key

const presences = new sdk.Presences(client);

const result = await presences.upsert({
presenceId: '<PRESENCE_ID>',
userId: '<USER_ID>',
status: '<STATUS>',
permissions: [sdk.Permission.read(sdk.Role.any())], // optional
expiresAt: '2020-10-15T06:38:00.000+00:00', // optional
metadata: {} // optional
});
```
2 changes: 1 addition & 1 deletion docs/examples/project/create-ephemeral-key.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ const client = new sdk.Client()
const project = new sdk.Project(client);

const result = await project.createEphemeralKey({
scopes: [sdk.Scopes.ProjectRead],
scopes: [sdk.ProjectKeyScopes.ProjectRead],
duration: 600
});
```
2 changes: 1 addition & 1 deletion docs/examples/project/create-key.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ const project = new sdk.Project(client);
const result = await project.createKey({
keyId: '<KEY_ID>',
name: '<NAME>',
scopes: [sdk.Scopes.ProjectRead],
scopes: [sdk.ProjectKeyScopes.ProjectRead],
expire: '2020-10-15T06:38:00.000+00:00' // optional
});
```
4 changes: 2 additions & 2 deletions docs/examples/project/get-email-template.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ const client = new sdk.Client()
const project = new sdk.Project(client);

const result = await project.getEmailTemplate({
templateId: sdk.EmailTemplateType.Verification,
locale: sdk.EmailTemplateLocale.Af // optional
templateId: sdk.ProjectEmailTemplateId.Verification,
locale: sdk.ProjectEmailTemplateLocale.Af // optional
});
```
2 changes: 1 addition & 1 deletion docs/examples/project/get-o-auth-2-provider.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,6 @@ const client = new sdk.Client()
const project = new sdk.Project(client);

const result = await project.getOAuth2Provider({
providerId: sdk.OAuthProvider.Amazon
providerId: sdk.ProjectOAuthProviderId.Amazon
});
```
2 changes: 1 addition & 1 deletion docs/examples/project/get-policy.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,6 @@ const client = new sdk.Client()
const project = new sdk.Project(client);

const result = await project.getPolicy({
policyId: sdk.ProjectPolicy.PasswordDictionary
policyId: sdk.ProjectPolicyId.PasswordDictionary
});
```
12 changes: 12 additions & 0 deletions docs/examples/project/get.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
```javascript
const sdk = require('node-appwrite');

const client = new sdk.Client()
.setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint
.setProject('<YOUR_PROJECT_ID>') // Your project ID
.setKey('<YOUR_API_KEY>'); // Your secret API key

const project = new sdk.Project(client);

const result = await project.get();
```
2 changes: 1 addition & 1 deletion docs/examples/project/update-auth-method.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ const client = new sdk.Client()
const project = new sdk.Project(client);

const result = await project.updateAuthMethod({
methodId: sdk.AuthMethod.EmailPassword,
methodId: sdk.ProjectAuthMethodId.EmailPassword,
enabled: false
});
```
14 changes: 14 additions & 0 deletions docs/examples/project/update-deny-aliased-email-policy.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
```javascript
const sdk = require('node-appwrite');

const client = new sdk.Client()
.setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint
.setProject('<YOUR_PROJECT_ID>') // Your project ID
.setKey('<YOUR_API_KEY>'); // Your secret API key

const project = new sdk.Project(client);

const result = await project.updateDenyAliasedEmailPolicy({
enabled: false
});
```
14 changes: 14 additions & 0 deletions docs/examples/project/update-deny-disposable-email-policy.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
```javascript
const sdk = require('node-appwrite');

const client = new sdk.Client()
.setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint
.setProject('<YOUR_PROJECT_ID>') // Your project ID
.setKey('<YOUR_API_KEY>'); // Your secret API key

const project = new sdk.Project(client);

const result = await project.updateDenyDisposableEmailPolicy({
enabled: false
});
```
14 changes: 14 additions & 0 deletions docs/examples/project/update-deny-free-email-policy.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
```javascript
const sdk = require('node-appwrite');

const client = new sdk.Client()
.setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint
.setProject('<YOUR_PROJECT_ID>') // Your project ID
.setKey('<YOUR_API_KEY>'); // Your secret API key

const project = new sdk.Project(client);

const result = await project.updateDenyFreeEmailPolicy({
enabled: false
});
```
4 changes: 2 additions & 2 deletions docs/examples/project/update-email-template.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,8 +9,8 @@ const client = new sdk.Client()
const project = new sdk.Project(client);

const result = await project.updateEmailTemplate({
templateId: sdk.EmailTemplateType.Verification,
locale: sdk.EmailTemplateLocale.Af, // optional
templateId: sdk.ProjectEmailTemplateId.Verification,
locale: sdk.ProjectEmailTemplateLocale.Af, // optional
subject: '<SUBJECT>', // optional
message: '<MESSAGE>', // optional
senderName: '<SENDER_NAME>', // optional
Expand Down
2 changes: 1 addition & 1 deletion docs/examples/project/update-key.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ const project = new sdk.Project(client);
const result = await project.updateKey({
keyId: '<KEY_ID>',
name: '<NAME>',
scopes: [sdk.Scopes.ProjectRead],
scopes: [sdk.ProjectKeyScopes.ProjectRead],
expire: '2020-10-15T06:38:00.000+00:00' // optional
});
```
1 change: 1 addition & 0 deletions docs/examples/project/update-o-auth-2-google.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,7 @@ const project = new sdk.Project(client);
const result = await project.updateOAuth2Google({
clientId: '<CLIENT_ID>', // optional
clientSecret: '<CLIENT_SECRET>', // optional
prompt: [sdk.ProjectOAuth2GooglePrompt.None], // optional
enabled: false // optional
});
```
2 changes: 1 addition & 1 deletion docs/examples/project/update-protocol.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ const client = new sdk.Client()
const project = new sdk.Project(client);

const result = await project.updateProtocol({
protocolId: sdk.ProtocolId.Rest,
protocolId: sdk.ProjectProtocolId.Rest,
enabled: false
});
```
2 changes: 1 addition & 1 deletion docs/examples/project/update-service.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ const client = new sdk.Client()
const project = new sdk.Project(client);

const result = await project.updateService({
serviceId: sdk.ServiceId.Account,
serviceId: sdk.ProjectServiceId.Account,
enabled: false
});
```
2 changes: 1 addition & 1 deletion docs/examples/project/update-smtp.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ const result = await project.updateSMTP({
senderName: '<SENDER_NAME>', // optional
replyToEmail: 'email@example.com', // optional
replyToName: '<REPLY_TO_NAME>', // optional
secure: sdk.Secure.Tls, // optional
secure: sdk.ProjectSMTPSecure.Tls, // optional
enabled: false // optional
});
```
15 changes: 15 additions & 0 deletions docs/examples/usage/list-events.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
```javascript
const sdk = require('node-appwrite');

const client = new sdk.Client()
.setEndpoint('https://<REGION>.cloud.appwrite.io/v1') // Your API Endpoint
.setProject('<YOUR_PROJECT_ID>') // Your project ID
.setKey('<YOUR_API_KEY>'); // Your secret API key

const usage = new sdk.Usage(client);

const result = await usage.listEvents({
queries: [], // optional
total: false // optional
});
```
Loading
Loading