Source
Модель предназначена для отслеживания источников, через которые пользователи попадают на сервис.
Она может содержать информацию о маркетинговых метках, реферальных источниках, промокодах и другие связанные данные.
Node.JS (sequelize)
const { DataTypes, Sequelize, UUIDV4 } = require('sequelize');
const sequelize = new Sequelize(/* ... */);
const Source = sequelize.define('Source', {
id: {
type: DataTypes.UUID,
defaultValue: UUIDV4,
primaryKey: true
},
name: {
type: DataTypes.STRING, // внутреннее название
allowNull: false
},
tags: DataTypes.ARRAY(DataTypes.STRING), // внутренние теги
description: DataTypes.TEXT, // внутреннее описание
utm: DataTypes.STRING, // [метрика] идентификатор utm-метки
referrers: DataTypes.ARRAY(DataTypes.STRING), // [метрика] массив доменов для referrers
promo: DataTypes.STRING, // [метрика] промокод при регистрации
extra: DataTypes.JSON, // Любые дополнительные данные, связанные с источником
});
Go (GORM)
import (
"github.com/google/uuid"
"gorm.io/gorm"
)
type Source struct {
ID uuid.UUID `gorm:"type:uuid;primary_key;default:uuid_generate_v4()"`
Name string `gorm:"type:string;not null"`
Tags []string `gorm:"type:string[]"`
Description *string `gorm:"type:text"`
Utm *string `gorm:"type:string"`
Referrers []string `gorm:"type:string[]"`
Promo *string `gorm:"type:string"`
Extra *string `gorm:"type:json"`
}
