У меня есть угловое приложение, созданное исключительно для внешнего интерфейса, а Akveo / ngx-admin используется в качестве шаблона для создания внешнего интерфейса.Теперь у меня есть форма с несколькими полями и флажками, и я хочу отправить эти данные формы в облако firestore, но бэкэнд сделан с использованием облачных функций nodejs.Поэтому я хотел бы вызвать функцию внутри nodejs с данными формы в качестве параметра, и эти данные будут добавлены в хранилище.Я новичок в облачной функции Firebase, поэтому мне очень хотелось бы получить объяснение или немного помощи по коду
scheduleclass.component.html
<div class="row">
<div class="col-md-12">
<nb-card>
<nb-card-header>Schedule a Class</nb-card-header>
<nb-card-body>
<form class="form-horizontal">
<div class="form-group row">
<label for="inputEmail3" class="label col-sm-3 form-control-label">Course</label>
<div class="col-sm-6">
<nb-select selected="1">
<nb-option value="1">Choose an option</nb-option>
<nb-option value="2">hjsdjfiu bsifsl nnsflsnf fshls</nb-option>
<nb-option value="3">Option 2</nb-option>
</nb-select>
</div>
</div>
<div class="form-group row">
<label for="inputPassword3" class="label col-sm-3 form-control-label">Client</label>
<div class="col-sm-6">
<nb-select selected="1">
<nb-option value="1">Choose an option</nb-option>
<nb-option value="2">hjsdjfiu bsifsl nnsflsnf fshls</nb-option>
<nb-option value="3">Option 2</nb-option>
</nb-select>
</div>
</div>
<div class="form-group row">
<label for="inputPassword3" class="label col-sm-3 form-control-label">Location</label>
<div class="col-sm-6">
<nb-select selected="1">
<nb-option value="1">Choose an option</nb-option>
<nb-option value="2">hjsdjfiu bsifsl nnsflsnf fshls</nb-option>
<nb-option value="3">Option 2</nb-option>
</nb-select>
</div>
</div>
<div class="form-group row">
<label for="inputPassword3" class="label col-sm-3 form-control-label">Instructor</label>
<div class="col-sm-6">
<nb-select selected="1">
<nb-option value="1">Choose an option</nb-option>
<nb-option value="2">hjsdjfiu bsifsl nnsflsnf fshls</nb-option>
<nb-option value="3">Option 2</nb-option>
</nb-select>
<nb-checkbox style="margin-left: 10px;">Open for Bidding</nb-checkbox>
</div>
</div>
<div class="form-group row">
<label for="inputPassword3" class="label col-sm-3 form-control-label">Class Times</label>
<div class="col-sm-6">
<!-- <input type="text" nbInput fullWidth id="inputPassword3" placeholder="Times">
<nb-select selected="1">
<nb-option value="1">Choose an option</nb-option>
<nb-option value="2">hjsdjfiu bsifsl nnsflsnf fshls</nb-option>
<nb-option value="3">Option 2</nb-option>
</nb-select> -->
<ng2-smart-table [settings]="settings" [source]="source" (deleteConfirm)="onDeleteConfirm($event)">
</ng2-smart-table>
</div>
</div>
<div class="form-group row">
<label for="inputPassword3" class="label col-sm-3 form-control-label">Price</label>
<div class="col-sm-6">
<input type="text" nbInput fullWidth id="inputPassword3" placeholder="Price">
</div>
</div>
<div class="form-group row">
<label for="inputPassword3" class="label col-sm-3 form-control-label">Total Hours</label>
<div class="col-sm-6">
<input type="text" nbInput fullWidth id="inputPassword3" placeholder="Total Hours">
</div>
</div>
<div class="form-group row">
<label for="inputPassword3" class="label col-sm-3 form-control-label">Max Students</label>
<div class="col-sm-6">
<input type="text" nbInput fullWidth id="inputPassword3" placeholder="Max Students">
</div>
</div>
<div class="form-group row">
<label for="inputEmail3" class="label col-sm-3 form-control-label">Listing</label>
<nb-checkbox style="margin-left: 13px;"></nb-checkbox>
</div>
<div class="form-group row">
<label for="inputPassword3" class="label col-sm-3 form-control-label">Close Registration ? Days Before Class Start Date</label>
<div class="col-sm-3">
<input type="text" nbInput fullWidth id="inputPassword3" placeholder="Days">
</div>
</div>
<div class="form-group row">
<label for="inputPassword3" class="label col-sm-3 form-control-label">Assistants</label>
<div class="col-sm-6">
<nb-select selected="1">
<nb-option value="1">Choose an option</nb-option>
<nb-option value="2">hjsdjfiu bsifsl nnsflsnf fshls</nb-option>
<nb-option value="3">Option 2</nb-option>
</nb-select>
</div>
</div>
<div class="form-group row">
<label for="inputPassword3" class="label col-sm-3 form-control-label">Public Notes</label>
<div class="col-sm-6">
<textarea rows="5" nbInput fullWidth shape="round" placeholder="Public Notes"></textarea>
</div>
</div>
<div class="form-group row">
<label for="inputPassword3" class="label col-sm-3 form-control-label">Internal Notes</label>
<div class="col-sm-6">
<textarea rows="5" nbInput fullWidth shape="round" placeholder="internal Notes"></textarea>
</div>
</div>
<div class="form-group row">
<div class="offset-sm-3 col-sm-9">
<button type="submit" nbButton status="danger">Back</button>
<button style="margin-left: 10px;" type="submit" nbButton status="primary">Update Class</button>
</div>
</div>
</form>
</nb-card-body>
</nb-card>
</div>
</div>
index.js файл в приложении nodejs
var admin = require("firebase-admin");
const functions = require('firebase-functions');
var fetch = require("node-fetch");
var serviceAccount = require("../xxxxxxxxxxxxxxxxxxxxxxxxxxxx.json");
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "https://xxxxxxxxxxxxxx.firebaseio.com"
});
const db = admin.firestore();
У меня нет функции записи данных в nodejs, но я хотел бы знать заранее, как я могу вызвать эту функциюот угловой