1.5.0 • Published 2 years ago

easy-firebase-functions v1.5.0

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

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",
  },
1.2.0

2 years ago

1.2.18

2 years ago

1.2.8

2 years ago

1.2.7

2 years ago

1.3.5

2 years ago

1.2.6

2 years ago

1.4.3

2 years ago

1.3.4

2 years ago

1.2.5

2 years ago

1.4.2

2 years ago

1.3.3

2 years ago

1.2.4

2 years ago

1.5.0

2 years ago

1.4.1

2 years ago

1.3.2

2 years ago

1.2.3

2 years ago

1.4.0

2 years ago

1.3.1

2 years ago

1.2.2

2 years ago

1.3.0

2 years ago

1.2.1

2 years ago

1.2.9

2 years ago

1.2.12

2 years ago

1.2.13

2 years ago

1.2.10

2 years ago

1.2.11

2 years ago

1.2.16

2 years ago

1.2.17

2 years ago

1.2.14

2 years ago

1.2.15

2 years ago

1.1.1

2 years ago

1.1.0

2 years ago

1.1.6

2 years ago

1.1.5

2 years ago

1.1.4

2 years ago

1.1.3

2 years ago

1.1.2

2 years ago

1.0.1

3 years ago

1.0.0

3 years ago

0.0.5

3 years ago

0.0.4

3 years ago

0.0.3

3 years ago

0.0.2

3 years ago

0.0.1

3 years ago