Skip to content

Commit 2259093

Browse files
Merge pull request #133 from dgraph-io/apoorv/support-multi-tenancy
feat: support multi tenancy
2 parents e1402d8 + b83ef7e commit 2259093

File tree

6 files changed

+93
-2
lines changed

6 files changed

+93
-2
lines changed

generated/api_pb.d.ts

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -444,6 +444,9 @@ export class NQuad extends jspb.Message {
444444
setFacetsList(value: Array<Facet>): void;
445445
addFacets(value?: Facet, index?: number): Facet;
446446

447+
getNamespace(): number;
448+
setNamespace(value: number): void;
449+
447450
serializeBinary(): Uint8Array;
448451
toObject(includeInstance?: boolean): NQuad.AsObject;
449452
static toObject(includeInstance: boolean, msg: NQuad): NQuad.AsObject;
@@ -463,6 +466,7 @@ export namespace NQuad {
463466
label: string,
464467
lang: string,
465468
facetsList: Array<Facet.AsObject>,
469+
namespace: number,
466470
}
467471
}
468472

@@ -632,6 +636,9 @@ export class LoginRequest extends jspb.Message {
632636
getRefreshToken(): string;
633637
setRefreshToken(value: string): void;
634638

639+
getNamespace(): number;
640+
setNamespace(value: number): void;
641+
635642
serializeBinary(): Uint8Array;
636643
toObject(includeInstance?: boolean): LoginRequest.AsObject;
637644
static toObject(includeInstance: boolean, msg: LoginRequest): LoginRequest.AsObject;
@@ -647,6 +654,7 @@ export namespace LoginRequest {
647654
userid: string,
648655
password: string,
649656
refreshToken: string,
657+
namespace: number,
650658
}
651659
}
652660

generated/api_pb.js

Lines changed: 62 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3401,7 +3401,8 @@ proto.api.NQuad.toObject = function(includeInstance, msg) {
34013401
label: jspb.Message.getFieldWithDefault(msg, 5, ""),
34023402
lang: jspb.Message.getFieldWithDefault(msg, 6, ""),
34033403
facetsList: jspb.Message.toObjectList(msg.getFacetsList(),
3404-
proto.api.Facet.toObject, includeInstance)
3404+
proto.api.Facet.toObject, includeInstance),
3405+
namespace: jspb.Message.getFieldWithDefault(msg, 8, 0)
34053406
};
34063407

34073408
if (includeInstance) {
@@ -3468,6 +3469,10 @@ proto.api.NQuad.deserializeBinaryFromReader = function(msg, reader) {
34683469
reader.readMessage(value,proto.api.Facet.deserializeBinaryFromReader);
34693470
msg.addFacets(value);
34703471
break;
3472+
case 8:
3473+
var value = /** @type {number} */ (reader.readUint64());
3474+
msg.setNamespace(value);
3475+
break;
34713476
default:
34723477
reader.skipField();
34733478
break;
@@ -3548,6 +3553,13 @@ proto.api.NQuad.serializeBinaryToWriter = function(message, writer) {
35483553
proto.api.Facet.serializeBinaryToWriter
35493554
);
35503555
}
3556+
f = message.getNamespace();
3557+
if (f !== 0) {
3558+
writer.writeUint64(
3559+
8,
3560+
f
3561+
);
3562+
}
35513563
};
35523564

35533565

@@ -3716,6 +3728,24 @@ proto.api.NQuad.prototype.clearFacetsList = function() {
37163728
};
37173729

37183730

3731+
/**
3732+
* optional uint64 namespace = 8;
3733+
* @return {number}
3734+
*/
3735+
proto.api.NQuad.prototype.getNamespace = function() {
3736+
return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 8, 0));
3737+
};
3738+
3739+
3740+
/**
3741+
* @param {number} value
3742+
* @return {!proto.api.NQuad} returns this
3743+
*/
3744+
proto.api.NQuad.prototype.setNamespace = function(value) {
3745+
return jspb.Message.setProto3IntField(this, 8, value);
3746+
};
3747+
3748+
37193749

37203750
/**
37213751
* Oneof group definitions for this message. Each group defines the field
@@ -4820,7 +4850,8 @@ proto.api.LoginRequest.toObject = function(includeInstance, msg) {
48204850
var f, obj = {
48214851
userid: jspb.Message.getFieldWithDefault(msg, 1, ""),
48224852
password: jspb.Message.getFieldWithDefault(msg, 2, ""),
4823-
refreshToken: jspb.Message.getFieldWithDefault(msg, 3, "")
4853+
refreshToken: jspb.Message.getFieldWithDefault(msg, 3, ""),
4854+
namespace: jspb.Message.getFieldWithDefault(msg, 4, 0)
48244855
};
48254856

48264857
if (includeInstance) {
@@ -4869,6 +4900,10 @@ proto.api.LoginRequest.deserializeBinaryFromReader = function(msg, reader) {
48694900
var value = /** @type {string} */ (reader.readString());
48704901
msg.setRefreshToken(value);
48714902
break;
4903+
case 4:
4904+
var value = /** @type {number} */ (reader.readUint64());
4905+
msg.setNamespace(value);
4906+
break;
48724907
default:
48734908
reader.skipField();
48744909
break;
@@ -4919,6 +4954,13 @@ proto.api.LoginRequest.serializeBinaryToWriter = function(message, writer) {
49194954
f
49204955
);
49214956
}
4957+
f = message.getNamespace();
4958+
if (f !== 0) {
4959+
writer.writeUint64(
4960+
4,
4961+
f
4962+
);
4963+
}
49224964
};
49234965

49244966

@@ -4976,6 +5018,24 @@ proto.api.LoginRequest.prototype.setRefreshToken = function(value) {
49765018
};
49775019

49785020

5021+
/**
5022+
* optional uint64 namespace = 4;
5023+
* @return {number}
5024+
*/
5025+
proto.api.LoginRequest.prototype.getNamespace = function() {
5026+
return /** @type {number} */ (jspb.Message.getFieldWithDefault(this, 4, 0));
5027+
};
5028+
5029+
5030+
/**
5031+
* @param {number} value
5032+
* @return {!proto.api.LoginRequest} returns this
5033+
*/
5034+
proto.api.LoginRequest.prototype.setNamespace = function(value) {
5035+
return jspb.Message.setProto3IntField(this, 4, value);
5036+
};
5037+
5038+
49795039

49805040

49815041

lib/clientStub.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ export declare class DgraphClientStub {
77
private readonly promisified;
88
constructor(addr?: string, credentials?: grpc.ChannelCredentials, options?: object);
99
login(userid?: string, password?: string, refreshJwt?: string, metadata?: grpc.Metadata, options?: grpc.CallOptions): Promise<messages.Jwt>;
10+
loginIntoNamespace(userid?: string, password?: string, namespace?: number, refreshJwt?: string, metadata?: grpc.Metadata, options?: grpc.CallOptions): Promise<messages.Jwt>;
1011
alter(op: messages.Operation, metadata?: grpc.Metadata, options?: grpc.CallOptions): Promise<messages.Payload>;
1112
retryLogin(metadata?: grpc.Metadata, options?: grpc.CallOptions): Promise<messages.Jwt>;
1213
query(req: messages.Request, metadata?: grpc.Metadata, options?: grpc.CallOptions): Promise<messages.Response>;

lib/clientStub.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,13 @@ var DgraphClientStub = (function () {
6464
};
6565
}
6666
DgraphClientStub.prototype.login = function (userid, password, refreshJwt, metadata, options) {
67+
return __awaiter(this, void 0, void 0, function () {
68+
return __generator(this, function (_a) {
69+
return [2, this.loginIntoNamespace(userid, password, 0, refreshJwt, metadata, options)];
70+
});
71+
});
72+
};
73+
DgraphClientStub.prototype.loginIntoNamespace = function (userid, password, namespace, refreshJwt, metadata, options) {
6774
return __awaiter(this, void 0, void 0, function () {
6875
var req, resp, jwtResponse;
6976
return __generator(this, function (_a) {
@@ -73,6 +80,7 @@ var DgraphClientStub = (function () {
7380
if (userid !== undefined) {
7481
req.setUserid(userid);
7582
req.setPassword(password);
83+
req.setNamespace(namespace);
7684
}
7785
else if (refreshJwt !== undefined) {
7886
req.setRefreshToken(refreshJwt);

protos/api.proto

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -157,6 +157,7 @@ message NQuad {
157157
string label = 5;
158158
string lang = 6;
159159
repeated Facet facets = 7;
160+
uint64 namespace = 8;
160161
}
161162

162163
message Value {
@@ -195,6 +196,7 @@ message LoginRequest {
195196
string userid = 1;
196197
string password = 2;
197198
string refresh_token = 3;
199+
uint64 namespace = 4;
198200
}
199201

200202
message Jwt {

src/clientStub.ts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,11 +87,23 @@ export class DgraphClientStub {
8787
refreshJwt?: string,
8888
metadata?: grpc.Metadata,
8989
options?: grpc.CallOptions,
90+
): Promise<messages.Jwt> {
91+
return this.loginIntoNamespace(userid, password, 0, refreshJwt, metadata, options);
92+
}
93+
94+
public async loginIntoNamespace(
95+
userid?: string,
96+
password?: string,
97+
namespace?: number,
98+
refreshJwt?: string,
99+
metadata?: grpc.Metadata,
100+
options?: grpc.CallOptions,
90101
): Promise<messages.Jwt> {
91102
const req = new messages.LoginRequest();
92103
if (userid !== undefined) {
93104
req.setUserid(userid);
94105
req.setPassword(password);
106+
req.setNamespace(namespace);
95107
} else if (refreshJwt !== undefined) {
96108
// Use the caller-supplied refreshJwt
97109
req.setRefreshToken(refreshJwt);

0 commit comments

Comments
 (0)