@yandex-cloud/nodejs-sdk
Version:
Yandex.Cloud NodeJS SDK
766 lines (765 loc) • 33.9 kB
JavaScript
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.UserSpec = exports.ConnectionLimits = exports.Permission = exports.User = exports.permission_PrivilegeToJSON = exports.permission_PrivilegeFromJSON = exports.Permission_Privilege = exports.authPluginToJSON = exports.authPluginFromJSON = exports.AuthPlugin = exports.globalPermissionToJSON = exports.globalPermissionFromJSON = exports.GlobalPermission = exports.protobufPackage = void 0;
/* eslint-disable */
const typeRegistry_1 = require("../../../../../typeRegistry");
const long_1 = __importDefault(require("long"));
const minimal_1 = __importDefault(require("protobufjs/minimal"));
const wrappers_1 = require("../../../../../google/protobuf/wrappers");
exports.protobufPackage = "yandex.cloud.mdb.mysql.v1";
var GlobalPermission;
(function (GlobalPermission) {
GlobalPermission[GlobalPermission["GLOBAL_PERMISSION_UNSPECIFIED"] = 0] = "GLOBAL_PERMISSION_UNSPECIFIED";
/** REPLICATION_CLIENT - Enables use of the `SHOW MASTER STATUS`, `SHOW SLAVE STATUS`, and `SHOW BINARY LOGS` statements. */
GlobalPermission[GlobalPermission["REPLICATION_CLIENT"] = 1] = "REPLICATION_CLIENT";
/**
* REPLICATION_SLAVE - Enables the account to request updates that have been made to databases on the master server,
* using the `SHOW SLAVE HOSTS`, `SHOW RELAYLOG EVENTS` and `SHOW BINLOG EVENTS` statements.
*/
GlobalPermission[GlobalPermission["REPLICATION_SLAVE"] = 2] = "REPLICATION_SLAVE";
/**
* PROCESS - Enables display of information about the the statements currently being performed by sessions (the set of threads executing within the server).
*
* The privilege enables use of `SHOW PROCESSLIST` or `mysqladmin` processlist to see threads belonging to other users.
* You can always see your own threads. The `PROCESS` privilege also enables use of `SHOW ENGINE`.
*/
GlobalPermission[GlobalPermission["PROCESS"] = 3] = "PROCESS";
/** FLUSH_OPTIMIZER_COSTS - Enables use of the `FLUSH OPTIMIZER_COSTS` statement. */
GlobalPermission[GlobalPermission["FLUSH_OPTIMIZER_COSTS"] = 4] = "FLUSH_OPTIMIZER_COSTS";
/**
* SHOW_ROUTINE - Enables a user to access definitions and properties of all stored routines (stored procedures and functions), even those for which the user is not named as the routine DEFINER.
* This access includes:
* The contents of the Information Schema `ROUTINES` table.
* The `SHOW CREATE FUNCTION` and `SHOW CREATE PROCEDURE` statements.
* The `SHOW FUNCTION CODE` and `SHOW PROCEDURE CODE` statements.
* The SHOW `FUNCTION STATUS` and `SHOW PROCEDURE STATUS` statements.
*/
GlobalPermission[GlobalPermission["SHOW_ROUTINE"] = 5] = "SHOW_ROUTINE";
GlobalPermission[GlobalPermission["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(GlobalPermission = exports.GlobalPermission || (exports.GlobalPermission = {}));
function globalPermissionFromJSON(object) {
switch (object) {
case 0:
case "GLOBAL_PERMISSION_UNSPECIFIED":
return GlobalPermission.GLOBAL_PERMISSION_UNSPECIFIED;
case 1:
case "REPLICATION_CLIENT":
return GlobalPermission.REPLICATION_CLIENT;
case 2:
case "REPLICATION_SLAVE":
return GlobalPermission.REPLICATION_SLAVE;
case 3:
case "PROCESS":
return GlobalPermission.PROCESS;
case 4:
case "FLUSH_OPTIMIZER_COSTS":
return GlobalPermission.FLUSH_OPTIMIZER_COSTS;
case 5:
case "SHOW_ROUTINE":
return GlobalPermission.SHOW_ROUTINE;
case -1:
case "UNRECOGNIZED":
default:
return GlobalPermission.UNRECOGNIZED;
}
}
exports.globalPermissionFromJSON = globalPermissionFromJSON;
function globalPermissionToJSON(object) {
switch (object) {
case GlobalPermission.GLOBAL_PERMISSION_UNSPECIFIED:
return "GLOBAL_PERMISSION_UNSPECIFIED";
case GlobalPermission.REPLICATION_CLIENT:
return "REPLICATION_CLIENT";
case GlobalPermission.REPLICATION_SLAVE:
return "REPLICATION_SLAVE";
case GlobalPermission.PROCESS:
return "PROCESS";
case GlobalPermission.FLUSH_OPTIMIZER_COSTS:
return "FLUSH_OPTIMIZER_COSTS";
case GlobalPermission.SHOW_ROUTINE:
return "SHOW_ROUTINE";
default:
return "UNKNOWN";
}
}
exports.globalPermissionToJSON = globalPermissionToJSON;
var AuthPlugin;
(function (AuthPlugin) {
AuthPlugin[AuthPlugin["AUTH_PLUGIN_UNSPECIFIED"] = 0] = "AUTH_PLUGIN_UNSPECIFIED";
/** MYSQL_NATIVE_PASSWORD - Use [Native Pluggable Authentication](https://dev.mysql.com/doc/refman/8.0/en/native-pluggable-authentication.html). */
AuthPlugin[AuthPlugin["MYSQL_NATIVE_PASSWORD"] = 1] = "MYSQL_NATIVE_PASSWORD";
/** CACHING_SHA2_PASSWORD - Use [Caching SHA-2 Pluggable Authentication](https://dev.mysql.com/doc/refman/8.0/en/caching-sha2-pluggable-authentication.html). */
AuthPlugin[AuthPlugin["CACHING_SHA2_PASSWORD"] = 2] = "CACHING_SHA2_PASSWORD";
/** SHA256_PASSWORD - Use [SHA-256 Pluggable Authentication](https://dev.mysql.com/doc/refman/8.0/en/sha256-pluggable-authentication.html). */
AuthPlugin[AuthPlugin["SHA256_PASSWORD"] = 3] = "SHA256_PASSWORD";
AuthPlugin[AuthPlugin["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(AuthPlugin = exports.AuthPlugin || (exports.AuthPlugin = {}));
function authPluginFromJSON(object) {
switch (object) {
case 0:
case "AUTH_PLUGIN_UNSPECIFIED":
return AuthPlugin.AUTH_PLUGIN_UNSPECIFIED;
case 1:
case "MYSQL_NATIVE_PASSWORD":
return AuthPlugin.MYSQL_NATIVE_PASSWORD;
case 2:
case "CACHING_SHA2_PASSWORD":
return AuthPlugin.CACHING_SHA2_PASSWORD;
case 3:
case "SHA256_PASSWORD":
return AuthPlugin.SHA256_PASSWORD;
case -1:
case "UNRECOGNIZED":
default:
return AuthPlugin.UNRECOGNIZED;
}
}
exports.authPluginFromJSON = authPluginFromJSON;
function authPluginToJSON(object) {
switch (object) {
case AuthPlugin.AUTH_PLUGIN_UNSPECIFIED:
return "AUTH_PLUGIN_UNSPECIFIED";
case AuthPlugin.MYSQL_NATIVE_PASSWORD:
return "MYSQL_NATIVE_PASSWORD";
case AuthPlugin.CACHING_SHA2_PASSWORD:
return "CACHING_SHA2_PASSWORD";
case AuthPlugin.SHA256_PASSWORD:
return "SHA256_PASSWORD";
default:
return "UNKNOWN";
}
}
exports.authPluginToJSON = authPluginToJSON;
var Permission_Privilege;
(function (Permission_Privilege) {
Permission_Privilege[Permission_Privilege["PRIVILEGE_UNSPECIFIED"] = 0] = "PRIVILEGE_UNSPECIFIED";
/** ALL_PRIVILEGES - All privileges that can be made available to the user. */
Permission_Privilege[Permission_Privilege["ALL_PRIVILEGES"] = 1] = "ALL_PRIVILEGES";
/** ALTER - Altering tables. */
Permission_Privilege[Permission_Privilege["ALTER"] = 2] = "ALTER";
/** ALTER_ROUTINE - Altering stored routines and functions. */
Permission_Privilege[Permission_Privilege["ALTER_ROUTINE"] = 3] = "ALTER_ROUTINE";
/** CREATE - Creating tables or indexes. */
Permission_Privilege[Permission_Privilege["CREATE"] = 4] = "CREATE";
/** CREATE_ROUTINE - Creating stored routines. */
Permission_Privilege[Permission_Privilege["CREATE_ROUTINE"] = 5] = "CREATE_ROUTINE";
/** CREATE_TEMPORARY_TABLES - Creating temporary tables. */
Permission_Privilege[Permission_Privilege["CREATE_TEMPORARY_TABLES"] = 6] = "CREATE_TEMPORARY_TABLES";
/** CREATE_VIEW - Creating views. */
Permission_Privilege[Permission_Privilege["CREATE_VIEW"] = 7] = "CREATE_VIEW";
/** DELETE - Deleting tables. */
Permission_Privilege[Permission_Privilege["DELETE"] = 8] = "DELETE";
/** DROP - Removing tables or views. */
Permission_Privilege[Permission_Privilege["DROP"] = 9] = "DROP";
/** EVENT - Creating, altering, dropping, or displaying events for the Event Scheduler. */
Permission_Privilege[Permission_Privilege["EVENT"] = 10] = "EVENT";
/** EXECUTE - Executing stored routines. */
Permission_Privilege[Permission_Privilege["EXECUTE"] = 11] = "EXECUTE";
/** INDEX - Creating and removing indexes. */
Permission_Privilege[Permission_Privilege["INDEX"] = 12] = "INDEX";
/** INSERT - Inserting rows into the database. */
Permission_Privilege[Permission_Privilege["INSERT"] = 13] = "INSERT";
/** LOCK_TABLES - Using `LOCK TABLES` statement for tables available with `SELECT` privilege. */
Permission_Privilege[Permission_Privilege["LOCK_TABLES"] = 14] = "LOCK_TABLES";
/**
* SELECT - Selecting rows from tables.
*
* Some `SELECT` statements can be allowed without the `SELECT` privilege. All statements that read column values require the `SELECT` privilege.
*
* See [MySQL documentation](https://dev.mysql.com/doc/refman/8.0/en/privileges-provided.html#priv_select) for details.
*/
Permission_Privilege[Permission_Privilege["SELECT"] = 15] = "SELECT";
/** SHOW_VIEW - Using the `SHOW CREATE VIEW` statement. Also needed for views used with `EXPLAIN`. */
Permission_Privilege[Permission_Privilege["SHOW_VIEW"] = 16] = "SHOW_VIEW";
/** TRIGGER - Creating, removing, executing, or displaying triggers for a table. */
Permission_Privilege[Permission_Privilege["TRIGGER"] = 17] = "TRIGGER";
/** UPDATE - Updating rows in the database. */
Permission_Privilege[Permission_Privilege["UPDATE"] = 18] = "UPDATE";
/** REFERENCES - Creation of a foreign key constraint for the parent table. */
Permission_Privilege[Permission_Privilege["REFERENCES"] = 19] = "REFERENCES";
Permission_Privilege[Permission_Privilege["UNRECOGNIZED"] = -1] = "UNRECOGNIZED";
})(Permission_Privilege = exports.Permission_Privilege || (exports.Permission_Privilege = {}));
function permission_PrivilegeFromJSON(object) {
switch (object) {
case 0:
case "PRIVILEGE_UNSPECIFIED":
return Permission_Privilege.PRIVILEGE_UNSPECIFIED;
case 1:
case "ALL_PRIVILEGES":
return Permission_Privilege.ALL_PRIVILEGES;
case 2:
case "ALTER":
return Permission_Privilege.ALTER;
case 3:
case "ALTER_ROUTINE":
return Permission_Privilege.ALTER_ROUTINE;
case 4:
case "CREATE":
return Permission_Privilege.CREATE;
case 5:
case "CREATE_ROUTINE":
return Permission_Privilege.CREATE_ROUTINE;
case 6:
case "CREATE_TEMPORARY_TABLES":
return Permission_Privilege.CREATE_TEMPORARY_TABLES;
case 7:
case "CREATE_VIEW":
return Permission_Privilege.CREATE_VIEW;
case 8:
case "DELETE":
return Permission_Privilege.DELETE;
case 9:
case "DROP":
return Permission_Privilege.DROP;
case 10:
case "EVENT":
return Permission_Privilege.EVENT;
case 11:
case "EXECUTE":
return Permission_Privilege.EXECUTE;
case 12:
case "INDEX":
return Permission_Privilege.INDEX;
case 13:
case "INSERT":
return Permission_Privilege.INSERT;
case 14:
case "LOCK_TABLES":
return Permission_Privilege.LOCK_TABLES;
case 15:
case "SELECT":
return Permission_Privilege.SELECT;
case 16:
case "SHOW_VIEW":
return Permission_Privilege.SHOW_VIEW;
case 17:
case "TRIGGER":
return Permission_Privilege.TRIGGER;
case 18:
case "UPDATE":
return Permission_Privilege.UPDATE;
case 19:
case "REFERENCES":
return Permission_Privilege.REFERENCES;
case -1:
case "UNRECOGNIZED":
default:
return Permission_Privilege.UNRECOGNIZED;
}
}
exports.permission_PrivilegeFromJSON = permission_PrivilegeFromJSON;
function permission_PrivilegeToJSON(object) {
switch (object) {
case Permission_Privilege.PRIVILEGE_UNSPECIFIED:
return "PRIVILEGE_UNSPECIFIED";
case Permission_Privilege.ALL_PRIVILEGES:
return "ALL_PRIVILEGES";
case Permission_Privilege.ALTER:
return "ALTER";
case Permission_Privilege.ALTER_ROUTINE:
return "ALTER_ROUTINE";
case Permission_Privilege.CREATE:
return "CREATE";
case Permission_Privilege.CREATE_ROUTINE:
return "CREATE_ROUTINE";
case Permission_Privilege.CREATE_TEMPORARY_TABLES:
return "CREATE_TEMPORARY_TABLES";
case Permission_Privilege.CREATE_VIEW:
return "CREATE_VIEW";
case Permission_Privilege.DELETE:
return "DELETE";
case Permission_Privilege.DROP:
return "DROP";
case Permission_Privilege.EVENT:
return "EVENT";
case Permission_Privilege.EXECUTE:
return "EXECUTE";
case Permission_Privilege.INDEX:
return "INDEX";
case Permission_Privilege.INSERT:
return "INSERT";
case Permission_Privilege.LOCK_TABLES:
return "LOCK_TABLES";
case Permission_Privilege.SELECT:
return "SELECT";
case Permission_Privilege.SHOW_VIEW:
return "SHOW_VIEW";
case Permission_Privilege.TRIGGER:
return "TRIGGER";
case Permission_Privilege.UPDATE:
return "UPDATE";
case Permission_Privilege.REFERENCES:
return "REFERENCES";
default:
return "UNKNOWN";
}
}
exports.permission_PrivilegeToJSON = permission_PrivilegeToJSON;
const baseUser = {
$type: "yandex.cloud.mdb.mysql.v1.User",
name: "",
clusterId: "",
globalPermissions: 0,
authenticationPlugin: 0,
};
exports.User = {
$type: "yandex.cloud.mdb.mysql.v1.User",
encode(message, writer = minimal_1.default.Writer.create()) {
if (message.name !== "") {
writer.uint32(10).string(message.name);
}
if (message.clusterId !== "") {
writer.uint32(18).string(message.clusterId);
}
for (const v of message.permissions) {
exports.Permission.encode(v, writer.uint32(26).fork()).ldelim();
}
writer.uint32(34).fork();
for (const v of message.globalPermissions) {
writer.int32(v);
}
writer.ldelim();
if (message.connectionLimits !== undefined) {
exports.ConnectionLimits.encode(message.connectionLimits, writer.uint32(42).fork()).ldelim();
}
if (message.authenticationPlugin !== 0) {
writer.uint32(48).int32(message.authenticationPlugin);
}
return writer;
},
decode(input, length) {
const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = Object.assign({}, baseUser);
message.permissions = [];
message.globalPermissions = [];
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.name = reader.string();
break;
case 2:
message.clusterId = reader.string();
break;
case 3:
message.permissions.push(exports.Permission.decode(reader, reader.uint32()));
break;
case 4:
if ((tag & 7) === 2) {
const end2 = reader.uint32() + reader.pos;
while (reader.pos < end2) {
message.globalPermissions.push(reader.int32());
}
}
else {
message.globalPermissions.push(reader.int32());
}
break;
case 5:
message.connectionLimits = exports.ConnectionLimits.decode(reader, reader.uint32());
break;
case 6:
message.authenticationPlugin = reader.int32();
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
},
fromJSON(object) {
var _a, _b;
const message = Object.assign({}, baseUser);
message.name =
object.name !== undefined && object.name !== null
? String(object.name)
: "";
message.clusterId =
object.clusterId !== undefined && object.clusterId !== null
? String(object.clusterId)
: "";
message.permissions = ((_a = object.permissions) !== null && _a !== void 0 ? _a : []).map((e) => exports.Permission.fromJSON(e));
message.globalPermissions = ((_b = object.globalPermissions) !== null && _b !== void 0 ? _b : []).map((e) => globalPermissionFromJSON(e));
message.connectionLimits =
object.connectionLimits !== undefined && object.connectionLimits !== null
? exports.ConnectionLimits.fromJSON(object.connectionLimits)
: undefined;
message.authenticationPlugin =
object.authenticationPlugin !== undefined &&
object.authenticationPlugin !== null
? authPluginFromJSON(object.authenticationPlugin)
: 0;
return message;
},
toJSON(message) {
const obj = {};
message.name !== undefined && (obj.name = message.name);
message.clusterId !== undefined && (obj.clusterId = message.clusterId);
if (message.permissions) {
obj.permissions = message.permissions.map((e) => e ? exports.Permission.toJSON(e) : undefined);
}
else {
obj.permissions = [];
}
if (message.globalPermissions) {
obj.globalPermissions = message.globalPermissions.map((e) => globalPermissionToJSON(e));
}
else {
obj.globalPermissions = [];
}
message.connectionLimits !== undefined &&
(obj.connectionLimits = message.connectionLimits
? exports.ConnectionLimits.toJSON(message.connectionLimits)
: undefined);
message.authenticationPlugin !== undefined &&
(obj.authenticationPlugin = authPluginToJSON(message.authenticationPlugin));
return obj;
},
fromPartial(object) {
var _a, _b, _c, _d, _e;
const message = Object.assign({}, baseUser);
message.name = (_a = object.name) !== null && _a !== void 0 ? _a : "";
message.clusterId = (_b = object.clusterId) !== null && _b !== void 0 ? _b : "";
message.permissions =
((_c = object.permissions) === null || _c === void 0 ? void 0 : _c.map((e) => exports.Permission.fromPartial(e))) || [];
message.globalPermissions = ((_d = object.globalPermissions) === null || _d === void 0 ? void 0 : _d.map((e) => e)) || [];
message.connectionLimits =
object.connectionLimits !== undefined && object.connectionLimits !== null
? exports.ConnectionLimits.fromPartial(object.connectionLimits)
: undefined;
message.authenticationPlugin = (_e = object.authenticationPlugin) !== null && _e !== void 0 ? _e : 0;
return message;
},
};
typeRegistry_1.messageTypeRegistry.set(exports.User.$type, exports.User);
const basePermission = {
$type: "yandex.cloud.mdb.mysql.v1.Permission",
databaseName: "",
roles: 0,
};
exports.Permission = {
$type: "yandex.cloud.mdb.mysql.v1.Permission",
encode(message, writer = minimal_1.default.Writer.create()) {
if (message.databaseName !== "") {
writer.uint32(10).string(message.databaseName);
}
writer.uint32(18).fork();
for (const v of message.roles) {
writer.int32(v);
}
writer.ldelim();
return writer;
},
decode(input, length) {
const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = Object.assign({}, basePermission);
message.roles = [];
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.databaseName = reader.string();
break;
case 2:
if ((tag & 7) === 2) {
const end2 = reader.uint32() + reader.pos;
while (reader.pos < end2) {
message.roles.push(reader.int32());
}
}
else {
message.roles.push(reader.int32());
}
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
},
fromJSON(object) {
var _a;
const message = Object.assign({}, basePermission);
message.databaseName =
object.databaseName !== undefined && object.databaseName !== null
? String(object.databaseName)
: "";
message.roles = ((_a = object.roles) !== null && _a !== void 0 ? _a : []).map((e) => permission_PrivilegeFromJSON(e));
return message;
},
toJSON(message) {
const obj = {};
message.databaseName !== undefined &&
(obj.databaseName = message.databaseName);
if (message.roles) {
obj.roles = message.roles.map((e) => permission_PrivilegeToJSON(e));
}
else {
obj.roles = [];
}
return obj;
},
fromPartial(object) {
var _a, _b;
const message = Object.assign({}, basePermission);
message.databaseName = (_a = object.databaseName) !== null && _a !== void 0 ? _a : "";
message.roles = ((_b = object.roles) === null || _b === void 0 ? void 0 : _b.map((e) => e)) || [];
return message;
},
};
typeRegistry_1.messageTypeRegistry.set(exports.Permission.$type, exports.Permission);
const baseConnectionLimits = {
$type: "yandex.cloud.mdb.mysql.v1.ConnectionLimits",
};
exports.ConnectionLimits = {
$type: "yandex.cloud.mdb.mysql.v1.ConnectionLimits",
encode(message, writer = minimal_1.default.Writer.create()) {
if (message.maxQuestionsPerHour !== undefined) {
wrappers_1.Int64Value.encode({
$type: "google.protobuf.Int64Value",
value: message.maxQuestionsPerHour,
}, writer.uint32(10).fork()).ldelim();
}
if (message.maxUpdatesPerHour !== undefined) {
wrappers_1.Int64Value.encode({
$type: "google.protobuf.Int64Value",
value: message.maxUpdatesPerHour,
}, writer.uint32(18).fork()).ldelim();
}
if (message.maxConnectionsPerHour !== undefined) {
wrappers_1.Int64Value.encode({
$type: "google.protobuf.Int64Value",
value: message.maxConnectionsPerHour,
}, writer.uint32(26).fork()).ldelim();
}
if (message.maxUserConnections !== undefined) {
wrappers_1.Int64Value.encode({
$type: "google.protobuf.Int64Value",
value: message.maxUserConnections,
}, writer.uint32(34).fork()).ldelim();
}
return writer;
},
decode(input, length) {
const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = Object.assign({}, baseConnectionLimits);
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.maxQuestionsPerHour = wrappers_1.Int64Value.decode(reader, reader.uint32()).value;
break;
case 2:
message.maxUpdatesPerHour = wrappers_1.Int64Value.decode(reader, reader.uint32()).value;
break;
case 3:
message.maxConnectionsPerHour = wrappers_1.Int64Value.decode(reader, reader.uint32()).value;
break;
case 4:
message.maxUserConnections = wrappers_1.Int64Value.decode(reader, reader.uint32()).value;
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
},
fromJSON(object) {
const message = Object.assign({}, baseConnectionLimits);
message.maxQuestionsPerHour =
object.maxQuestionsPerHour !== undefined &&
object.maxQuestionsPerHour !== null
? Number(object.maxQuestionsPerHour)
: undefined;
message.maxUpdatesPerHour =
object.maxUpdatesPerHour !== undefined &&
object.maxUpdatesPerHour !== null
? Number(object.maxUpdatesPerHour)
: undefined;
message.maxConnectionsPerHour =
object.maxConnectionsPerHour !== undefined &&
object.maxConnectionsPerHour !== null
? Number(object.maxConnectionsPerHour)
: undefined;
message.maxUserConnections =
object.maxUserConnections !== undefined &&
object.maxUserConnections !== null
? Number(object.maxUserConnections)
: undefined;
return message;
},
toJSON(message) {
const obj = {};
message.maxQuestionsPerHour !== undefined &&
(obj.maxQuestionsPerHour = message.maxQuestionsPerHour);
message.maxUpdatesPerHour !== undefined &&
(obj.maxUpdatesPerHour = message.maxUpdatesPerHour);
message.maxConnectionsPerHour !== undefined &&
(obj.maxConnectionsPerHour = message.maxConnectionsPerHour);
message.maxUserConnections !== undefined &&
(obj.maxUserConnections = message.maxUserConnections);
return obj;
},
fromPartial(object) {
var _a, _b, _c, _d;
const message = Object.assign({}, baseConnectionLimits);
message.maxQuestionsPerHour = (_a = object.maxQuestionsPerHour) !== null && _a !== void 0 ? _a : undefined;
message.maxUpdatesPerHour = (_b = object.maxUpdatesPerHour) !== null && _b !== void 0 ? _b : undefined;
message.maxConnectionsPerHour = (_c = object.maxConnectionsPerHour) !== null && _c !== void 0 ? _c : undefined;
message.maxUserConnections = (_d = object.maxUserConnections) !== null && _d !== void 0 ? _d : undefined;
return message;
},
};
typeRegistry_1.messageTypeRegistry.set(exports.ConnectionLimits.$type, exports.ConnectionLimits);
const baseUserSpec = {
$type: "yandex.cloud.mdb.mysql.v1.UserSpec",
name: "",
password: "",
globalPermissions: 0,
authenticationPlugin: 0,
};
exports.UserSpec = {
$type: "yandex.cloud.mdb.mysql.v1.UserSpec",
encode(message, writer = minimal_1.default.Writer.create()) {
if (message.name !== "") {
writer.uint32(10).string(message.name);
}
if (message.password !== "") {
writer.uint32(18).string(message.password);
}
for (const v of message.permissions) {
exports.Permission.encode(v, writer.uint32(26).fork()).ldelim();
}
writer.uint32(34).fork();
for (const v of message.globalPermissions) {
writer.int32(v);
}
writer.ldelim();
if (message.connectionLimits !== undefined) {
exports.ConnectionLimits.encode(message.connectionLimits, writer.uint32(42).fork()).ldelim();
}
if (message.authenticationPlugin !== 0) {
writer.uint32(48).int32(message.authenticationPlugin);
}
return writer;
},
decode(input, length) {
const reader = input instanceof minimal_1.default.Reader ? input : new minimal_1.default.Reader(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = Object.assign({}, baseUserSpec);
message.permissions = [];
message.globalPermissions = [];
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.name = reader.string();
break;
case 2:
message.password = reader.string();
break;
case 3:
message.permissions.push(exports.Permission.decode(reader, reader.uint32()));
break;
case 4:
if ((tag & 7) === 2) {
const end2 = reader.uint32() + reader.pos;
while (reader.pos < end2) {
message.globalPermissions.push(reader.int32());
}
}
else {
message.globalPermissions.push(reader.int32());
}
break;
case 5:
message.connectionLimits = exports.ConnectionLimits.decode(reader, reader.uint32());
break;
case 6:
message.authenticationPlugin = reader.int32();
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
},
fromJSON(object) {
var _a, _b;
const message = Object.assign({}, baseUserSpec);
message.name =
object.name !== undefined && object.name !== null
? String(object.name)
: "";
message.password =
object.password !== undefined && object.password !== null
? String(object.password)
: "";
message.permissions = ((_a = object.permissions) !== null && _a !== void 0 ? _a : []).map((e) => exports.Permission.fromJSON(e));
message.globalPermissions = ((_b = object.globalPermissions) !== null && _b !== void 0 ? _b : []).map((e) => globalPermissionFromJSON(e));
message.connectionLimits =
object.connectionLimits !== undefined && object.connectionLimits !== null
? exports.ConnectionLimits.fromJSON(object.connectionLimits)
: undefined;
message.authenticationPlugin =
object.authenticationPlugin !== undefined &&
object.authenticationPlugin !== null
? authPluginFromJSON(object.authenticationPlugin)
: 0;
return message;
},
toJSON(message) {
const obj = {};
message.name !== undefined && (obj.name = message.name);
message.password !== undefined && (obj.password = message.password);
if (message.permissions) {
obj.permissions = message.permissions.map((e) => e ? exports.Permission.toJSON(e) : undefined);
}
else {
obj.permissions = [];
}
if (message.globalPermissions) {
obj.globalPermissions = message.globalPermissions.map((e) => globalPermissionToJSON(e));
}
else {
obj.globalPermissions = [];
}
message.connectionLimits !== undefined &&
(obj.connectionLimits = message.connectionLimits
? exports.ConnectionLimits.toJSON(message.connectionLimits)
: undefined);
message.authenticationPlugin !== undefined &&
(obj.authenticationPlugin = authPluginToJSON(message.authenticationPlugin));
return obj;
},
fromPartial(object) {
var _a, _b, _c, _d, _e;
const message = Object.assign({}, baseUserSpec);
message.name = (_a = object.name) !== null && _a !== void 0 ? _a : "";
message.password = (_b = object.password) !== null && _b !== void 0 ? _b : "";
message.permissions =
((_c = object.permissions) === null || _c === void 0 ? void 0 : _c.map((e) => exports.Permission.fromPartial(e))) || [];
message.globalPermissions = ((_d = object.globalPermissions) === null || _d === void 0 ? void 0 : _d.map((e) => e)) || [];
message.connectionLimits =
object.connectionLimits !== undefined && object.connectionLimits !== null
? exports.ConnectionLimits.fromPartial(object.connectionLimits)
: undefined;
message.authenticationPlugin = (_e = object.authenticationPlugin) !== null && _e !== void 0 ? _e : 0;
return message;
},
};
typeRegistry_1.messageTypeRegistry.set(exports.UserSpec.$type, exports.UserSpec);
if (minimal_1.default.util.Long !== long_1.default) {
minimal_1.default.util.Long = long_1.default;
minimal_1.default.configure();
}