appwrite-ssr
v0.3.0
Published
Create Appwrite apps with your server-side rendering
Downloads
5
Readme
npm i appwrite-ssr
or
yarn add appwrite-ssr
import appwrite from 'appwrite-ssr'
import appwrite from 'appwrite-ssr'
export const myAppwriteInstance = appwriteSSR.setProject({
endPoint: 'https://cloud.appwrite.io/v1',
projectId: 'your-project-id',
hostname: 'your-server-hostname',
apiKey: 'your-api-key',
})
// passing users session
const { Collection } = myAppwriteInstance.setSession('users session here')
//authorizate by passing users cookies
const { Collection } = myAppwriteInstance.setCookie([{ name: '', value: '' }])
//dont authorizate user - use this for signing user into app
const { Collection } = myAppwriteInstance.none()
//act as admin (use your apiKey)
const { Collection } = myAppwriteInstance.setAdmin()
const { account } = myAppwriteInstance.none()
const { sessionLegacyToken, sessionToken } = await account.loginViaEmail('email', 'password')
event.cookies.set(sessionToken.name, sessionToken.value)
import { account } from 'appwrite' // https://www.npmjs.com/package/appwrite
await account.createOAuth2Session(platform, `${location.origin}/auth/oauth2/success`, `${location.origin}/oauth2/failure`)
//the path for this function has to be /auth/oauth2/success (strictly)
const { account } = myAppwriteInstance.none()
const url = 'whole URL'
const { sessionLegacyToken, sessionToken } = await account.oauth2Login(url)
event.cookies.set(sessionToken.name, sessionToken.value)
const { account } = myAppwriteInstance.none()
const { sessionLegacyToken, sessionToken } = await account.logOut()
event.cookies.delete(sessionToken.name)
import type { PageServerLoad } from './$types'
import type { Types } from 'appwrite-ssr'
type GrassDocumentGet = Types.Document<{
grassName: string
grassOptionalDescription: string //optional value with default value
grassEnumValue: null | 'value' | 'value2'
}>
type GrassDocumentCreate = {
grassName: string
grassOptionalDescription?: string
grassEnumValue: null | 'value' | 'value2'
}
// key2 is optional but there is always a default value
const { Collection } = myAppwriteInstance.setCookie(cookies)
const collectionGrass = new Collection<GrassDocumentGet, GrassDocumentCreate>('your-database-id', 'your-collection-id')
const grassQuery = Query<GrassDocumentGet>()
const query = grassQuery.equal('grassName', 'nameOfGrass')
const res = await collectionGrass.getDocument([query])
import appwrite, { permissions, type Types } from 'appwrite-ssr'
const { Bucket } = appwrite
.setProject({
endPoint: 'https://cloud.appwrite.io/v1',
projectId: 'fads',
})
.setCookie(cookies)
const bucketGrass = new Bucket('myBucketId')
return { bucketGrass }
const buckets = setCookie(event.cookies.getAll())
const base64 = ''
const res = bucketGrass.createFile(base64, permissions.owner('myUserId'))
This project is licensed under the MIT