easy-firebase-functions
v1.5.0
Published
```bash npm install easy-firebase-functions ```
Downloads
32
Maintainers
Readme
easy-firebase-functions(server side)
Nakashima Package Manager 略して【npm】で入れます。
npm install easy-firebase-functions
使い方
// js
const { easySetDoc } = require('easy-firebase-functions')
const { easyGetData } = require('easy-firebase-functions')
const { easyGetDoc, easyGetDocs } = require('easy-firebase-functions')
const { easyDelDoc } = require('easy-firebase-functions')
// ts
import { easySetDoc } from 'easy-firebase-functions'
import { easyGetData, easyGetDoc, easyGetDocs } from 'easy-firebase-functions'
import { easyDelDoc } from 'easy-firebase-functions'
// Type
import { EasySetDoc, QueryOption, WhereOption } from 'easy-firebase-functions'
機能
作成したドキュメント(フィールド)に自動追加されます。
{
id: string // document id
created_at: Date
updated_at?: Date // If it was an update
}
登録と更新ができます。 doc に id
を追加すると、ドキュメント ID の指定・id が一致したドキュメントの更新を行えます。
// create
easySetDoc('anime', {
title: 'ナルト',
character: ['ナルト', 'サスケ', 'サクラ']
})
// update or create(add)
easySetDoc('anime/*****/animeDetail', {
title: 'ナルト',
character: ['ナルト', 'サスケ', 'サクラ'],
id: '*****'
})
情報の取得ができます。
// get Collection data as an Array
/** @return {array<T>} */
easyGetData('anime', {
where: [['title', '==', 'ナルト'], ['character', 'array-contains', 'サスケ']],
orderBy: ['created_at']
limit: 99,
})
// get document data as an Object
/** @return {Objrct | undefined} */
easyGetData('anime/hugahuga')
情報の削除
// delete document
easyDelete('anime/hogehoge')
サンプルコード
import * as functions from 'firebase-functions'
import * as admin from 'firebase-admin'
import { easySetDoc, easyGetData, easyDelete } from 'easy-firebase-functions'
admin.initializeApp(functions.config().firebase)
export const funSampleCode = functions
.region('asia-northeast1')
.https.onCall(async (request, response) => {
const getDocId = await easySetDoc('anime', {
title: 'ナルト',
character: ['ナルト', 'サスケ', 'サクラ']
}).catch((e: any) => console.log(e)) // -> Error
console.log(getDocId) // ->skjdbvkjd6svosb3dv5sdvs
const huga = await easyGetData('anime', {
where: [
['title', '==', 'ナルト'],
['character', 'array-contains', 'ナルト']
]
}).catch((e: any) => console.log(e)) // -> Error
console.log(huga) // ->
// [{
// title: 'ナルト',
// character: ['ナルト', 'サスケ', 'サクラ'],
// id: 'skjdbvkjd6svosb3dv5sdvs',
// created_at: Timestamp { _seconds: 1646120963, _nanoseconds: 790000000 }
// }]
await easyDelete('anime/uaIn0lyDOmKYlXyClhyb')
.then((d: string) => console.log(d)) // -> 'ok'
.catch((e: any) => console.log(e)) // -> Error
})
if you cannot use
try update
npm i firebase-admin@latest
npm i firebase-functions@latest
checked↓(not recommended & easyDelete() cannot be used)
"dependencies": {
"easy-firebase-functions": "^1.1.6",
"firebase-admin": "^9.2.0",
"firebase-functions": "^3.16.0",
},
checked↓
"dependencies": {
"easy-firebase-functions": "^1.4.2",
"firebase-admin": "^10.0.2",
"firebase-functions": "^3.18.1",
},